summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/accessibility/squeekboard/default.nix6
-rw-r--r--pkgs/applications/audio/aacgain/default.nix5
-rw-r--r--pkgs/applications/audio/adlplug/default.nix90
-rw-r--r--pkgs/applications/audio/audacity/default.nix7
-rw-r--r--pkgs/applications/audio/bchoppr/default.nix4
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix6
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix75
-rw-r--r--pkgs/applications/audio/cdparanoia/default.nix13
-rw-r--r--pkgs/applications/audio/chuck/default.nix4
-rw-r--r--pkgs/applications/audio/crip/default.nix5
-rw-r--r--pkgs/applications/audio/dirt/default.nix3
-rw-r--r--pkgs/applications/audio/easyeffects/default.nix107
-rw-r--r--pkgs/applications/audio/freac/default.nix4
-rw-r--r--pkgs/applications/audio/gbsplay/default.nix30
-rw-r--r--pkgs/applications/audio/gmu/default.nix5
-rw-r--r--pkgs/applications/audio/helvum/default.nix6
-rw-r--r--pkgs/applications/audio/hqplayer-desktop/default.nix17
-rw-r--r--pkgs/applications/audio/jack-rack/default.nix5
-rw-r--r--pkgs/applications/audio/jackmeter/default.nix5
-rw-r--r--pkgs/applications/audio/lsp-plugins/default.nix13
-rw-r--r--pkgs/applications/audio/mikmod/default.nix5
-rw-r--r--pkgs/applications/audio/mixxx/default.nix132
-rw-r--r--pkgs/applications/audio/mousai/default.nix13
-rw-r--r--pkgs/applications/audio/mp3gain/default.nix7
-rw-r--r--pkgs/applications/audio/mp3info/default.nix5
-rw-r--r--pkgs/applications/audio/mpg123/default.nix5
-rw-r--r--pkgs/applications/audio/munt/default.nix53
-rw-r--r--pkgs/applications/audio/noisetorch/default.nix29
-rw-r--r--pkgs/applications/audio/noisetorch/version.patch37
-rw-r--r--pkgs/applications/audio/nootka/default.nix5
-rw-r--r--pkgs/applications/audio/openmpt123/default.nix15
-rw-r--r--pkgs/applications/audio/opus-tools/default.nix6
-rw-r--r--pkgs/applications/audio/pianoteq/default.nix200
-rw-r--r--pkgs/applications/audio/picard/default.nix2
-rw-r--r--pkgs/applications/audio/plexamp/default.nix6
-rw-r--r--pkgs/applications/audio/praat/default.nix30
-rw-r--r--pkgs/applications/audio/pt2-clone/default.nix4
-rw-r--r--pkgs/applications/audio/ptcollab/default.nix12
-rw-r--r--pkgs/applications/audio/pulseeffects/default.nix127
-rw-r--r--pkgs/applications/audio/qmmp/default.nix5
-rw-r--r--pkgs/applications/audio/reaper/default.nix9
-rw-r--r--pkgs/applications/audio/rhythmbox/default.nix26
-rw-r--r--pkgs/applications/audio/scream/default.nix7
-rw-r--r--pkgs/applications/audio/shortwave/default.nix14
-rw-r--r--pkgs/applications/audio/sidplayfp/default.nix11
-rw-r--r--pkgs/applications/audio/songrec/default.nix4
-rw-r--r--pkgs/applications/audio/spotify-tui/default.nix6
-rw-r--r--pkgs/applications/audio/spotify/default.nix8
-rw-r--r--pkgs/applications/audio/tonelib-gfx/default.nix60
-rw-r--r--pkgs/applications/audio/tonelib-jam/default.nix60
-rw-r--r--pkgs/applications/audio/tonelib-zoom/default.nix48
-rw-r--r--pkgs/applications/audio/tony/default.nix5
-rw-r--r--pkgs/applications/audio/transcode/default.nix5
-rw-r--r--pkgs/applications/audio/uade123/default.nix75
-rw-r--r--pkgs/applications/audio/whipper/default.nix10
-rw-r--r--pkgs/applications/audio/xmp/default.nix5
-rw-r--r--pkgs/applications/audio/zita-ajbridge/default.nix5
-rw-r--r--pkgs/applications/audio/zita-at1/default.nix5
-rw-r--r--pkgs/applications/backup/restique/default.nix41
-rw-r--r--pkgs/applications/backup/vorta/default.nix73
-rw-r--r--pkgs/applications/blockchains/alfis/default.nix41
-rw-r--r--pkgs/applications/blockchains/bisq-desktop/default.nix99
-rw-r--r--pkgs/applications/blockchains/bitcoin.nix32
-rw-r--r--pkgs/applications/blockchains/btcpayserver/default.nix4
-rw-r--r--pkgs/applications/blockchains/charge-lnd/default.nix4
-rw-r--r--pkgs/applications/blockchains/chia/default.nix16
-rw-r--r--pkgs/applications/blockchains/chia/dependencies.patch13
-rw-r--r--pkgs/applications/blockchains/electrs.nix6
-rw-r--r--pkgs/applications/blockchains/elements.nix86
-rw-r--r--pkgs/applications/blockchains/ergo/default.nix4
-rw-r--r--pkgs/applications/blockchains/ethabi/default.nix1
-rw-r--r--pkgs/applications/blockchains/faraday/default.nix8
-rw-r--r--pkgs/applications/blockchains/go-ethereum.nix7
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/lightning-loop/default.nix27
-rw-r--r--pkgs/applications/blockchains/lightning-pool/default.nix27
-rw-r--r--pkgs/applications/blockchains/lightwalletd/default.nix37
-rw-r--r--pkgs/applications/blockchains/lnd.nix6
-rw-r--r--pkgs/applications/blockchains/monero-gui/default.nix15
-rw-r--r--pkgs/applications/blockchains/monero/default.nix16
-rw-r--r--pkgs/applications/blockchains/nano-wallet/default.nix1
-rw-r--r--pkgs/applications/blockchains/nbxplorer/default.nix4
-rw-r--r--pkgs/applications/blockchains/nbxplorer/deps.nix16
-rw-r--r--pkgs/applications/blockchains/oxen/default.nix67
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--pkgs/applications/blockchains/trezor-suite/default.nix8
-rw-r--r--pkgs/applications/blockchains/zcash/default.nix6
-rw-r--r--pkgs/applications/editors/apostrophe/default.nix8
-rw-r--r--pkgs/applications/editors/cudatext/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/deps.json24
-rw-r--r--pkgs/applications/editors/emacs/27.nix7
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix17
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix159
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix4
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix3
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix2
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/org-generated.nix12
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json5128
-rw-r--r--pkgs/applications/editors/emacs/generic.nix14
-rw-r--r--pkgs/applications/editors/ghostwriter/default.nix22
-rw-r--r--pkgs/applications/editors/gophernotes/default.nix6
-rw-r--r--pkgs/applications/editors/greenfoot/default.nix4
-rw-r--r--pkgs/applications/editors/helix/default.nix25
-rw-r--r--pkgs/applications/editors/jetbrains/common.nix24
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix42
-rwxr-xr-xpkgs/applications/editors/jetbrains/update.pl11
-rw-r--r--pkgs/applications/editors/jupyter-kernels/octave/default.nix60
-rw-r--r--pkgs/applications/editors/jupyter-kernels/octave/kernel.nix30
-rw-r--r--pkgs/applications/editors/lighttable/default.nix2
-rw-r--r--pkgs/applications/editors/nano/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/default.nix8
-rw-r--r--pkgs/applications/editors/neovim/neovide/Cargo.lock3292
-rw-r--r--pkgs/applications/editors/neovim/neovide/default.nix72
-rw-r--r--pkgs/applications/editors/neovim/neovide/skia-externals.json8
-rw-r--r--pkgs/applications/editors/neovim/wrapper.nix1
-rw-r--r--pkgs/applications/editors/oed/default.nix23
-rw-r--r--pkgs/applications/editors/poke/default.nix4
-rw-r--r--pkgs/applications/editors/quartus-prime/default.nix107
-rw-r--r--pkgs/applications/editors/quartus-prime/quartus.nix97
-rw-r--r--pkgs/applications/editors/spacevim/default.nix26
-rw-r--r--pkgs/applications/editors/sublime/3/common.nix2
-rw-r--r--pkgs/applications/editors/sublime/4/common.nix2
-rw-r--r--pkgs/applications/editors/sublime/4/packages.nix12
-rw-r--r--pkgs/applications/editors/texmacs/default.nix4
-rw-r--r--pkgs/applications/editors/tiled/default.nix4
-rw-r--r--pkgs/applications/editors/vim/configurable.nix3
-rw-r--r--pkgs/applications/editors/vim/default.nix2
-rw-r--r--pkgs/applications/editors/vscode/generic.nix9
-rwxr-xr-xpkgs/applications/editors/vscode/update-vscode.sh28
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix17
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix10
-rw-r--r--pkgs/applications/gis/grass/default.nix2
-rw-r--r--pkgs/applications/gis/qgis/unwrapped.nix6
-rw-r--r--pkgs/applications/graphics/ImageMagick/6.x.nix9
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix11
-rw-r--r--pkgs/applications/graphics/avocode/default.nix4
-rw-r--r--pkgs/applications/graphics/cq-editor/default.nix6
-rw-r--r--pkgs/applications/graphics/cq-editor/spyder4.patch58
-rw-r--r--pkgs/applications/graphics/darktable/default.nix8
-rw-r--r--pkgs/applications/graphics/digikam/default.nix4
-rw-r--r--pkgs/applications/graphics/drawio/default.nix2
-rw-r--r--pkgs/applications/graphics/fig2dev/default.nix10
-rw-r--r--pkgs/applications/graphics/hugin/default.nix2
-rw-r--r--pkgs/applications/graphics/imagej/default.nix110
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix10
-rw-r--r--pkgs/applications/graphics/inkscape/extensions.nix3
-rw-r--r--pkgs/applications/graphics/inkscape/extensions/applytransforms/default.nix42
-rw-r--r--pkgs/applications/graphics/inkscape/with-extensions.nix10
-rw-r--r--pkgs/applications/graphics/krita/default.nix12
-rw-r--r--pkgs/applications/graphics/megapixels/default.nix4
-rw-r--r--pkgs/applications/graphics/openimageio/2.x.nix4
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix4
-rw-r--r--pkgs/applications/graphics/qiv/default.nix1
-rw-r--r--pkgs/applications/graphics/rapid-photo-downloader/default.nix2
-rw-r--r--pkgs/applications/graphics/swingsane/default.nix2
-rw-r--r--pkgs/applications/graphics/veusz/default.nix71
-rw-r--r--pkgs/applications/graphics/xfractint/default.nix1
-rw-r--r--pkgs/applications/kde/kmail.nix115
-rw-r--r--pkgs/applications/kde/spectacle.nix20
-rw-r--r--pkgs/applications/logging/humioctl/default.nix4
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix13
-rw-r--r--pkgs/applications/misc/anup/default.nix27
-rw-r--r--pkgs/applications/misc/archivy/default.nix9
-rw-r--r--pkgs/applications/misc/blender/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/cheat/default.nix4
-rw-r--r--pkgs/applications/misc/cherrytree/default.nix55
-rw-r--r--pkgs/applications/misc/cherrytree/subprocess.patch14
-rw-r--r--pkgs/applications/misc/cobalt/default.nix25
-rw-r--r--pkgs/applications/misc/cura/default.nix6
-rw-r--r--pkgs/applications/misc/curaengine/default.nix4
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix6
-rw-r--r--pkgs/applications/misc/devilspie2/default.nix4
-rw-r--r--pkgs/applications/misc/diffpdf/default.nix1
-rw-r--r--pkgs/applications/misc/dmenu/wayland.nix15
-rw-r--r--pkgs/applications/misc/dnd-tools/default.nix28
-rw-r--r--pkgs/applications/misc/dockbarx/default.nix4
-rw-r--r--pkgs/applications/misc/dstask/default.nix2
-rw-r--r--pkgs/applications/misc/electron-cash/default.nix6
-rw-r--r--pkgs/applications/misc/electrum/default.nix6
-rw-r--r--pkgs/applications/misc/expenses/default.nix8
-rw-r--r--pkgs/applications/misc/flavours/default.nix20
-rw-r--r--pkgs/applications/misc/free42/default.nix4
-rw-r--r--pkgs/applications/misc/freeplane/default.nix3
-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/gcal/default.nix4
-rw-r--r--pkgs/applications/misc/gcalcli/default.nix3
-rw-r--r--pkgs/applications/misc/getxbook/default.nix1
-rw-r--r--pkgs/applications/misc/gmnitohtml/default.nix46
-rw-r--r--pkgs/applications/misc/go-jira/default.nix6
-rw-r--r--pkgs/applications/misc/golden-cheetah/default.nix20
-rw-r--r--pkgs/applications/misc/gopacked/default.nix3
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/gummi/default.nix1
-rw-r--r--pkgs/applications/misc/gxkb/default.nix4
-rw-r--r--pkgs/applications/misc/houdini/default.nix6
-rw-r--r--pkgs/applications/misc/houdini/runtime.nix30
-rw-r--r--pkgs/applications/misc/hubstaff/default.nix21
-rw-r--r--pkgs/applications/misc/hubstaff/revision.json5
-rwxr-xr-xpkgs/applications/misc/hubstaff/update.sh18
-rw-r--r--pkgs/applications/misc/hugo/default.nix6
-rw-r--r--pkgs/applications/misc/ipmiview/default.nix20
-rw-r--r--pkgs/applications/misc/jiten/default.nix36
-rw-r--r--pkgs/applications/misc/jquake/default.nix67
-rw-r--r--pkgs/applications/misc/kanboard/default.nix4
-rw-r--r--pkgs/applications/misc/kanjidraw/default.nix47
-rw-r--r--pkgs/applications/misc/keepassx/community.nix9
-rw-r--r--pkgs/applications/misc/khal/default.nix30
-rw-r--r--pkgs/applications/misc/khal/skip-broken-test.patch33
-rw-r--r--pkgs/applications/misc/kile-wl/default.nix22
-rw-r--r--pkgs/applications/misc/kile-wl/update-Cargo-lock.diff153
-rw-r--r--pkgs/applications/misc/kiln/default.nix30
-rw-r--r--pkgs/applications/misc/kjv/default.nix44
-rw-r--r--pkgs/applications/misc/koreader/default.nix19
-rw-r--r--pkgs/applications/misc/kupfer/default.nix4
-rw-r--r--pkgs/applications/misc/logseq/default.nix4
-rw-r--r--pkgs/applications/misc/lutris/default.nix17
-rw-r--r--pkgs/applications/misc/makeself/default.nix9
-rw-r--r--pkgs/applications/misc/mako/default.nix4
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix3
-rw-r--r--pkgs/applications/misc/metadata-cleaner/default.nix4
-rw-r--r--pkgs/applications/misc/moonlight-qt/default.nix4
-rw-r--r--pkgs/applications/misc/neo4j-desktop/default.nix33
-rw-r--r--pkgs/applications/misc/notify-osd-customizable/default.nix4
-rw-r--r--pkgs/applications/misc/notify-osd/default.nix4
-rw-r--r--pkgs/applications/misc/nwg-menu/default.nix48
-rw-r--r--pkgs/applications/misc/nwg-panel/default.nix57
-rw-r--r--pkgs/applications/misc/nwg-wrapper/default.nix41
-rw-r--r--pkgs/applications/misc/octoprint/default.nix19
-rw-r--r--pkgs/applications/misc/openring/default.nix6
-rw-r--r--pkgs/applications/misc/opentx/default.nix4
-rw-r--r--pkgs/applications/misc/osm2xmap/default.nix2
-rw-r--r--pkgs/applications/misc/otpclient/default.nix36
-rw-r--r--pkgs/applications/misc/pastel/default.nix6
-rw-r--r--pkgs/applications/misc/pdfarranger/default.nix2
-rw-r--r--pkgs/applications/misc/pdfdiff/default.nix4
-rw-r--r--pkgs/applications/misc/phoc/default.nix4
-rw-r--r--pkgs/applications/misc/pinfo/default.nix45
-rw-r--r--pkgs/applications/misc/plank/default.nix4
-rw-r--r--pkgs/applications/misc/polybar/default.nix147
-rw-r--r--pkgs/applications/misc/printrun/default.nix12
-rw-r--r--pkgs/applications/misc/privacyidea/default.nix73
-rw-r--r--pkgs/applications/misc/reddsaver/default.nix8
-rw-r--r--pkgs/applications/misc/robo3t/default.nix31
-rw-r--r--pkgs/applications/misc/robomongo/default.nix77
-rw-r--r--pkgs/applications/misc/rofi/default.nix2
-rw-r--r--pkgs/applications/misc/scli/default.nix26
-rw-r--r--pkgs/applications/misc/seatd/default.nix40
-rw-r--r--pkgs/applications/misc/sfm/default.nix8
-rw-r--r--pkgs/applications/misc/sigal/default.nix1
-rw-r--r--pkgs/applications/misc/skytemple/default.nix12
-rw-r--r--pkgs/applications/misc/slides/default.nix34
-rw-r--r--pkgs/applications/misc/solaar/default.nix4
-rw-r--r--pkgs/applications/misc/spicetify-cli/default.nix4
-rw-r--r--pkgs/applications/misc/subsurface/default.nix10
-rw-r--r--pkgs/applications/misc/survex/default.nix79
-rw-r--r--pkgs/applications/misc/termdown/default.nix4
-rw-r--r--pkgs/applications/misc/thinking-rock/default.nix7
-rw-r--r--pkgs/applications/misc/ticker/default.nix6
-rw-r--r--pkgs/applications/misc/tpmmanager/default.nix1
-rw-r--r--pkgs/applications/misc/tut/default.nix6
-rw-r--r--pkgs/applications/misc/ulauncher/default.nix2
-rw-r--r--pkgs/applications/misc/urlscan/default.nix4
-rw-r--r--pkgs/applications/misc/usb-reset/default.nix41
-rw-r--r--pkgs/applications/misc/usql/default.nix56
-rw-r--r--pkgs/applications/misc/variety/default.nix4
-rw-r--r--pkgs/applications/misc/veracrypt/default.nix40
-rw-r--r--pkgs/applications/misc/veracrypt/fix-paths.patch22
-rw-r--r--pkgs/applications/misc/vifm/default.nix1
-rw-r--r--pkgs/applications/misc/visidata/default.nix77
-rw-r--r--pkgs/applications/misc/vul/default.nix24
-rw-r--r--pkgs/applications/misc/wofi-emoji/default.nix54
-rw-r--r--pkgs/applications/misc/xplr/default.nix6
-rw-r--r--pkgs/applications/misc/xsuspender/default.nix4
-rw-r--r--pkgs/applications/misc/yokadi/default.nix4
-rw-r--r--pkgs/applications/misc/zola/default.nix25
-rw-r--r--pkgs/applications/networking/3proxy/default.nix4
-rw-r--r--pkgs/applications/networking/appgate-sdp/default.nix123
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix3
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix4
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/get-commit-message.py4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json40
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/mozilla.ascbin6109 -> 0 bytes
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix778
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/update.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix22
-rw-r--r--pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx90.patch (renamed from pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx84.patch)15
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix9
-rw-r--r--pkgs/applications/networking/browsers/firefox/update.nix16
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix16
-rw-r--r--pkgs/applications/networking/browsers/icecat-bin/default.nix129
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/midori/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/vieb/default.nix7
-rw-r--r--pkgs/applications/networking/browsers/vieb/package.json17
-rw-r--r--pkgs/applications/networking/browsers/vieb/yarn.lock1366
-rw-r--r--pkgs/applications/networking/browsers/vieb/yarn.nix816
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/yandex-browser/default.nix135
-rw-r--r--pkgs/applications/networking/charles/default.nix15
-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.nix13
-rw-r--r--pkgs/applications/networking/cluster/bosh-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/fluxctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/fn-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix13
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix4
-rw-r--r--pkgs/applications/networking/cluster/helmfile/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helmsman/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix16
-rw-r--r--pkgs/applications/networking/cluster/k0sctl/default.nix25
-rw-r--r--pkgs/applications/networking/cluster/k3s/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch41
-rw-r--r--pkgs/applications/networking/cluster/k9s/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kfctl/default.nix32
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix15
-rw-r--r--pkgs/applications/networking/cluster/kube3d/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubeconform/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubelogin-oidc/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeone/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/linkerd/default.nix84
-rw-r--r--pkgs/applications/networking/cluster/luigi/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/nomad/1.0.nix4
-rw-r--r--pkgs/applications/networking/cluster/nomad/1.1.nix4
-rw-r--r--pkgs/applications/networking/cluster/octant/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/octant/desktop.nix6
-rwxr-xr-xpkgs/applications/networking/cluster/octant/update.sh2
-rw-r--r--pkgs/applications/networking/cluster/stern/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/tanka/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/tektoncd-cli/default.nix13
-rw-r--r--pkgs/applications/networking/cluster/temporal/default.nix43
-rw-r--r--pkgs/applications/networking/cluster/terraform-docs/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json46
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix144
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/tfswitch/default.nix32
-rw-r--r--pkgs/applications/networking/cluster/waypoint/default.nix6
-rw-r--r--pkgs/applications/networking/dnscontrol/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/gnome-feeds/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/newsboat/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/default.nix21
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch2
-rw-r--r--pkgs/applications/networking/flexget/default.nix15
-rw-r--r--pkgs/applications/networking/giara/default.nix2
-rw-r--r--pkgs/applications/networking/hyprspace/default.nix6
-rw-r--r--pkgs/applications/networking/ids/snort/default.nix4
-rw-r--r--pkgs/applications/networking/ids/suricata/default.nix4
-rw-r--r--pkgs/applications/networking/ids/zeek/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/bluejeans/default.nix16
-rwxr-xr-xpkgs/applications/networking/instant-messengers/bluejeans/update.sh12
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/dino/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/base.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix4
-rwxr-xr-xpkgs/applications/networking/instant-messengers/discord/update-discord.sh36
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json8
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix488
-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/go-neb/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/go-neb/go-mod.patch50
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/kaidan/default.nix62
-rw-r--r--pkgs/applications/networking/instant-messengers/kdeltachat/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/mirage/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/neochat/default.nix48
-rw-r--r--pkgs/applications/networking/instant-messengers/oysttyer/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-mm-sms/default.nix30
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix89
-rw-r--r--pkgs/applications/networking/instant-messengers/quaternion/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix52
-rw-r--r--pkgs/applications/networking/instant-messengers/teams/default.nix26
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/server.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix36
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix43
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix22
-rwxr-xr-xpkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py77
-rw-r--r--pkgs/applications/networking/instant-messengers/tensor/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/vk-cli/default.nix55
-rw-r--r--pkgs/applications/networking/instant-messengers/wire-desktop/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix4
-rw-r--r--pkgs/applications/networking/ipfs/default.nix4
-rw-r--r--pkgs/applications/networking/irc/convos/default.nix4
-rw-r--r--pkgs/applications/networking/irc/kirc/default.nix44
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix10
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix26
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/default.nix6
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix31
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix2
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix26
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix4
-rw-r--r--pkgs/applications/networking/juju/default.nix25
-rw-r--r--pkgs/applications/networking/maestral-qt/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/default.nix29
-rw-r--r--pkgs/applications/networking/mailreaders/electron-mail/default.nix33
-rw-r--r--pkgs/applications/networking/mailreaders/mailcheck/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/mailspring/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/sylpheed/default.nix13
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix530
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix8
-rw-r--r--pkgs/applications/networking/mullvad-vpn/default.nix4
-rw-r--r--pkgs/applications/networking/mumble/default.nix2
-rw-r--r--pkgs/applications/networking/newsreaders/pan/default.nix42
-rw-r--r--pkgs/applications/networking/newsreaders/pan/move-out-of-extern-c.diff1113
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix6
-rw-r--r--pkgs/applications/networking/owncloud-client/default.nix12
-rw-r--r--pkgs/applications/networking/p2p/zeronet/default.nix2
-rw-r--r--pkgs/applications/networking/pcloud/default.nix6
-rw-r--r--pkgs/applications/networking/powerdns-admin/default.nix22
-rw-r--r--pkgs/applications/networking/remote/aws-workspaces/default.nix6
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/sources.nix11
-rw-r--r--pkgs/applications/networking/remote/putty/default.nix4
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix4
-rw-r--r--pkgs/applications/networking/remote/vmware-horizon-client/default.nix8
-rw-r--r--pkgs/applications/networking/remote/wayvnc/default.nix4
-rw-r--r--pkgs/applications/networking/rofi-vpn/default.nix40
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix17
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--pkgs/applications/networking/shellhub-agent/default.nix6
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/networking/sync/acd_cli/default.nix4
-rw-r--r--pkgs/applications/networking/sync/onedrive/default.nix28
-rw-r--r--pkgs/applications/networking/sync/unison/default.nix12
-rw-r--r--pkgs/applications/networking/syncthing-gtk/default.nix4
-rw-r--r--pkgs/applications/networking/syncthing/default.nix6
-rw-r--r--pkgs/applications/networking/termius/default.nix11
-rw-r--r--pkgs/applications/networking/testssl/default.nix6
-rw-r--r--pkgs/applications/office/abiword/default.nix2
-rw-r--r--pkgs/applications/office/espanso/default.nix8
-rw-r--r--pkgs/applications/office/fava/default.nix4
-rw-r--r--pkgs/applications/office/gnumeric/default.nix4
-rw-r--r--pkgs/applications/office/ledger-autosync/default.nix36
-rw-r--r--pkgs/applications/office/ledger-autosync/fix-ofxparse-dependency.patch13
-rw-r--r--pkgs/applications/office/notes-up/default.nix23
-rw-r--r--pkgs/applications/office/paperless/default.nix2
-rw-r--r--pkgs/applications/office/paperwork/paperwork-gtk.nix2
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/pyspread/default.nix2
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/softmaker/generic.nix2
-rw-r--r--pkgs/applications/office/super-productivity/default.nix4
-rw-r--r--pkgs/applications/office/timedoctor/default.nix123
-rw-r--r--pkgs/applications/office/trilium/default.nix6
-rw-r--r--pkgs/applications/office/tryton/default.nix2
-rw-r--r--pkgs/applications/office/watson/default.nix19
-rw-r--r--pkgs/applications/printing/pappl/default.nix4
-rw-r--r--pkgs/applications/radio/gnuradio/3.8.nix5
-rw-r--r--pkgs/applications/radio/gnuradio/default.nix28
-rw-r--r--pkgs/applications/radio/soapyairspy/default.nix9
-rw-r--r--pkgs/applications/radio/soapysdr/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/phd2/default.nix28
-rw-r--r--pkgs/applications/science/astronomy/siril/default.nix17
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/xplanet/default.nix4
-rw-r--r--pkgs/applications/science/biology/bcftools/default.nix4
-rw-r--r--pkgs/applications/science/biology/truvari/default.nix9
-rw-r--r--pkgs/applications/science/chemistry/cp2k/default.nix117
-rw-r--r--pkgs/applications/science/chemistry/dkh/default.nix32
-rw-r--r--pkgs/applications/science/chemistry/element/default.nix22
-rw-r--r--pkgs/applications/science/chemistry/gwyddion/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/octopus/default.nix15
-rw-r--r--pkgs/applications/science/electronics/diylc/default.nix12
-rw-r--r--pkgs/applications/science/electronics/fritzing/default.nix73
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/electronics/kicad/base.nix12
-rw-r--r--pkgs/applications/science/electronics/kicad/versions.nix16
-rw-r--r--pkgs/applications/science/electronics/nanovna-saver/default.nix36
-rw-r--r--pkgs/applications/science/electronics/openhantek6022/default.nix8
-rw-r--r--pkgs/applications/science/geometry/tetgen/default.nix1
-rw-r--r--pkgs/applications/science/logic/cedille/default.nix5
-rw-r--r--pkgs/applications/science/logic/coq/default.nix7
-rw-r--r--pkgs/applications/science/logic/elan/default.nix6
-rw-r--r--pkgs/applications/science/logic/eprover/default.nix4
-rw-r--r--pkgs/applications/science/logic/gappa/default.nix6
-rw-r--r--pkgs/applications/science/logic/hol/default.nix2
-rw-r--r--pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--pkgs/applications/science/logic/leo3/binary.nix15
-rw-r--r--pkgs/applications/science/logic/potassco/clingcon.nix1
-rw-r--r--pkgs/applications/science/logic/potassco/clingo.nix1
-rw-r--r--pkgs/applications/science/logic/satallax/default.nix1
-rw-r--r--pkgs/applications/science/logic/tlaplus/toolbox.nix14
-rw-r--r--pkgs/applications/science/logic/verifast/default.nix2
-rw-r--r--pkgs/applications/science/logic/why3/default.nix17
-rw-r--r--pkgs/applications/science/logic/workcraft/default.nix3
-rw-r--r--pkgs/applications/science/logic/z3/tptp.nix1
-rw-r--r--pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix4
-rw-r--r--pkgs/applications/science/math/4ti2/default.nix38
-rw-r--r--pkgs/applications/science/math/caffe/default.nix2
-rw-r--r--pkgs/applications/science/math/engauge-digitizer/default.nix60
-rw-r--r--pkgs/applications/science/math/eukleides/default.nix26
-rw-r--r--pkgs/applications/science/math/eukleides/gs-allowpstransparency.patch10
-rw-r--r--pkgs/applications/science/math/getdp/default.nix10
-rw-r--r--pkgs/applications/science/math/gfan/default.nix1
-rw-r--r--pkgs/applications/science/math/glsurf/default.nix32
-rw-r--r--pkgs/applications/science/math/gurobi/default.nix27
-rw-r--r--pkgs/applications/science/math/mathematica/l10ns.nix4
-rw-r--r--pkgs/applications/science/math/nauty/default.nix1
-rw-r--r--pkgs/applications/science/math/pcalc/default.nix24
-rw-r--r--pkgs/applications/science/math/polymake/default.nix1
-rw-r--r--pkgs/applications/science/math/programmer-calculator/default.nix34
-rw-r--r--pkgs/applications/science/math/pynac/default.nix48
-rw-r--r--pkgs/applications/science/math/qalculate-gtk/default.nix4
-rw-r--r--pkgs/applications/science/math/ratpoints/default.nix1
-rw-r--r--pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch13
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix63
-rw-r--r--pkgs/applications/science/misc/golly/beta.nix1
-rw-r--r--pkgs/applications/science/misc/golly/default.nix1
-rw-r--r--pkgs/applications/science/misc/root/5.nix29
-rw-r--r--pkgs/applications/science/misc/root/default.nix76
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix7
-rw-r--r--pkgs/applications/science/networking/sumo/default.nix6
-rw-r--r--pkgs/applications/science/physics/MCFM/default.nix33
-rw-r--r--pkgs/applications/science/programming/fdr/default.nix2
-rw-r--r--pkgs/applications/science/robotics/emuflight-configurator/default.nix50
-rw-r--r--pkgs/applications/science/robotics/mavproxy/default.nix4
-rw-r--r--pkgs/applications/search/grepm/default.nix2
-rw-r--r--pkgs/applications/system/glances/default.nix9
-rw-r--r--pkgs/applications/system/monitor/default.nix4
-rw-r--r--pkgs/applications/system/qjournalctl/default.nix44
-rw-r--r--pkgs/applications/terminal-emulators/contour/default.nix27
-rw-r--r--pkgs/applications/terminal-emulators/foot/default.nix35
-rw-r--r--pkgs/applications/terminal-emulators/guake/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/sakura/default.nix33
-rw-r--r--pkgs/applications/terminal-emulators/xterm/default.nix11
-rw-r--r--pkgs/applications/version-management/gerrit/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/bit/default.nix4
-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.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/ghr/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-branchless/default.nix49
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cola/default.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-sync/default.nix12
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-vendor/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitstatus/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitui/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/glab/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/lefthook/default.nix4
-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.json14
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix2
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile2
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock13
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix17
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile46
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock241
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix292
-rw-r--r--pkgs/applications/version-management/gitlab/yarnPkgs.nix640
-rw-r--r--pkgs/applications/version-management/gitolite/default.nix4
-rw-r--r--pkgs/applications/version-management/mercurial/4.9.nix18
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix232
-rw-r--r--pkgs/applications/version-management/monotone-viz/default.nix1
-rw-r--r--pkgs/applications/version-management/nbstripout/default.nix1
-rw-r--r--pkgs/applications/version-management/pijul/default.nix8
-rw-r--r--pkgs/applications/version-management/rcs/default.nix56
-rw-r--r--pkgs/applications/version-management/rcs/disable-t810.patch10
-rw-r--r--pkgs/applications/version-management/srcml/default.nix4
-rw-r--r--pkgs/applications/version-management/tortoisehg/default.nix33
-rw-r--r--pkgs/applications/video/ccextractor/default.nix4
-rw-r--r--pkgs/applications/video/flowblade/default.nix45
-rw-r--r--pkgs/applications/video/freetube/default.nix4
-rw-r--r--pkgs/applications/video/imagination/default.nix45
-rw-r--r--pkgs/applications/video/kazam/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/a4ksubtitles/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/certifi/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/chardet/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/idna/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/jellyfin/default.nix15
-rw-r--r--pkgs/applications/video/kodi-packages/netflix/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/pvr-hdhomerun/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/requests/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/six/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/urllib3/default.nix4
-rw-r--r--pkgs/applications/video/kodi-packages/websocket/default.nix27
-rw-r--r--pkgs/applications/video/kodi-packages/youtube/default.nix4
-rw-r--r--pkgs/applications/video/makemkv/default.nix2
-rw-r--r--pkgs/applications/video/mplayer/default.nix1
-rw-r--r--pkgs/applications/video/natron/default.nix6
-rw-r--r--pkgs/applications/video/obs-studio/default.nix10
-rw-r--r--pkgs/applications/video/obs-studio/plugins/default.nix10
-rw-r--r--pkgs/applications/video/obs-studio/plugins/fix-search-path.patch (renamed from pkgs/applications/video/obs-studio/fix-search-path.patch)0
-rw-r--r--pkgs/applications/video/obs-studio/plugins/hardcode-ndi-path.patch (renamed from pkgs/applications/video/obs-studio/hardcode-ndi-path.patch)0
-rw-r--r--pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix29
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix (renamed from pkgs/applications/video/obs-studio/obs-gstreamer.nix)12
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-move-transition-use-FindLibobs.cmake.patch (renamed from pkgs/applications/video/obs-studio/rename-obs-move-transition-cmake.patch)6
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix (renamed from pkgs/applications/video/obs-studio/obs-move-transition.nix)18
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix (renamed from pkgs/applications/video/obs-studio/obs-multi-rtmp.nix)12
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-ndi.nix (renamed from pkgs/applications/video/obs-studio/obs-ndi.nix)7
-rw-r--r--pkgs/applications/video/obs-studio/plugins/wlrobs.nix26
-rw-r--r--pkgs/applications/video/obs-studio/v4l2sink.nix57
-rw-r--r--pkgs/applications/video/obs-studio/wlrobs.nix42
-rw-r--r--pkgs/applications/video/obs-studio/wrapper.nix21
-rw-r--r--pkgs/applications/video/olive-editor/default.nix4
-rw-r--r--pkgs/applications/video/plex-mpv-shim/default.nix4
-rw-r--r--pkgs/applications/video/pyca/default.nix4
-rw-r--r--pkgs/applications/video/streamlink/default.nix2
-rw-r--r--pkgs/applications/video/subtitleeditor/default.nix8
-rw-r--r--pkgs/applications/video/vdr/plugins.nix22
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--pkgs/applications/video/wf-recorder/default.nix9
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix157
-rw-r--r--pkgs/applications/virtualization/charliecloud/default.nix4
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix17
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker-compose/default.nix8
-rw-r--r--pkgs/applications/virtualization/docker-slim/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/default.nix41
-rw-r--r--pkgs/applications/virtualization/lima/default.nix53
-rw-r--r--pkgs/applications/virtualization/looking-glass-client/0001-client-all-fix-more-maybe-uninitialized-when-O3-is-i.patch45
-rw-r--r--pkgs/applications/virtualization/looking-glass-client/default.nix52
-rw-r--r--pkgs/applications/virtualization/open-vm-tools/default.nix53
-rw-r--r--pkgs/applications/virtualization/podman/default.nix12
-rw-r--r--pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch23
-rw-r--r--pkgs/applications/virtualization/podman/wrapper.nix8
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix12
-rw-r--r--pkgs/applications/virtualization/runc/default.nix11
-rw-r--r--pkgs/applications/virtualization/singularity/default.nix4
-rw-r--r--pkgs/applications/virtualization/tini/default.nix5
-rw-r--r--pkgs/applications/virtualization/xhyve/default.nix6
-rw-r--r--pkgs/applications/window-managers/afterstep/default.nix14
-rw-r--r--pkgs/applications/window-managers/bspwm/default.nix2
-rw-r--r--pkgs/applications/window-managers/cage/default.nix10
-rw-r--r--pkgs/applications/window-managers/cage/wlroots-0_14.patch36
-rw-r--r--pkgs/applications/window-managers/cagebreak/default.nix10
-rw-r--r--pkgs/applications/window-managers/dwm/default.nix2
-rw-r--r--pkgs/applications/window-managers/hikari/default.nix6
-rw-r--r--pkgs/applications/window-managers/i3/balance-workspace.nix4
-rw-r--r--pkgs/applications/window-managers/i3/lock-color.nix4
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix6
-rw-r--r--pkgs/applications/window-managers/i3/workstyle.nix8
-rw-r--r--pkgs/applications/window-managers/labwc/default.nix21
-rw-r--r--pkgs/applications/window-managers/leftwm/default.nix21
-rw-r--r--pkgs/applications/window-managers/openbox/default.nix2
-rw-r--r--pkgs/applications/window-managers/phosh/default.nix32
-rw-r--r--pkgs/applications/window-managers/qtile/default.nix2
-rw-r--r--pkgs/applications/window-managers/river/default.nix8
-rw-r--r--pkgs/applications/window-managers/sway/bg.nix3
-rw-r--r--pkgs/applications/window-managers/sway/default.nix10
-rw-r--r--pkgs/applications/window-managers/sway/idle.nix4
-rw-r--r--pkgs/applications/window-managers/sway/lock.nix4
-rw-r--r--pkgs/applications/window-managers/tinywl/default.nix28
-rw-r--r--pkgs/applications/window-managers/wayfire/default.nix15
-rw-r--r--pkgs/applications/window-managers/weston/default.nix6
-rw-r--r--pkgs/applications/window-managers/wio/default.nix6
-rw-r--r--pkgs/applications/window-managers/wmii-hg/default.nix1
676 files changed, 14839 insertions, 11951 deletions
diff --git a/pkgs/applications/accessibility/squeekboard/default.nix b/pkgs/applications/accessibility/squeekboard/default.nix
index 71a0823f78d..cca36c38e77 100644
--- a/pkgs/applications/accessibility/squeekboard/default.nix
+++ b/pkgs/applications/accessibility/squeekboard/default.nix
@@ -18,14 +18,14 @@
 
 stdenv.mkDerivation rec {
   pname = "squeekboard";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchFromGitLab {
     domain = "source.puri.sm";
     owner = "Librem5";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xyd6ickbaqvrr8a7ak6j1ziqjk05jlnganjrdv43p74nnjyqr8y";
+    sha256 = "1ayap40pgzcpmfydk5pbf3gwhh26m3cmbk6lyly4jihr9qw7dgb0";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
       cat Cargo.toml.in Cargo.deps > Cargo.toml
     '';
     name = "${pname}-${version}";
-    sha256 = "096skk7vmr93axcf0qj7kyr8hm1faj0nkmd349g8mnzwd68a9npz";
+    sha256 = "0148ynzmapxfrlccikf20ikmi0ssbkn9fl5wi6nh6azflv50pzzn";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/aacgain/default.nix b/pkgs/applications/audio/aacgain/default.nix
index 0f9b511d455..517a53a5fec 100644
--- a/pkgs/applications/audio/aacgain/default.nix
+++ b/pkgs/applications/audio/aacgain/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitLab, fetchpatch }:
 
-stdenv.mkDerivation {
-  name = "aacgain-1.9.0";
+stdenv.mkDerivation rec {
+  pname = "aacgain";
+  version = "1.9.0";
 
   src = fetchFromGitLab {
     owner = "mulx";
diff --git a/pkgs/applications/audio/adlplug/default.nix b/pkgs/applications/audio/adlplug/default.nix
index 9b0fe1d80ff..a501cd0a1d8 100644
--- a/pkgs/applications/audio/adlplug/default.nix
+++ b/pkgs/applications/audio/adlplug/default.nix
@@ -1,19 +1,48 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libjack2, alsa-lib
-, freetype, libX11, libXrandr, libXinerama, libXext, libXcursor
-, fetchpatch, fmt
-, adlplugChip ? "-DADLplug_CHIP=OPL3"
-, pname ? "ADLplug" }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, pkg-config
+, fmt
+, liblo
+, alsa-lib
+, freetype
+, libX11
+, libXrandr
+, libXinerama
+, libXext
+, libXcursor
+, libobjc
+, Cocoa
+, CoreServices
+, WebKit
+, DiscRecording
 
+  # Enabling JACK requires a JACK server at runtime, no fallback mechanism
+, withJack ? false, jack
+
+, type ? "ADL"
+}:
+
+assert lib.assertOneOf "type" type [ "ADL" "OPN" ];
+let
+  chip = {
+    ADL = "OPL3";
+    OPN = "OPN2";
+  }.${type};
+  mainProgram = "${type}plug";
+in
 stdenv.mkDerivation rec {
-  inherit pname;
+  pname = "${lib.strings.toLower type}plug";
   version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "jpcima";
     repo = "ADLplug";
     rev = "v${version}";
-    sha256 = "0mqx4bzri8s880v7jwd24nb93m5i3aklqld0b3h0hjnz0lh2qz0f";
     fetchSubmodules = true;
+    sha256 = "0mqx4bzri8s880v7jwd24nb93m5i3aklqld0b3h0hjnz0lh2qz0f";
   };
 
   patches = [
@@ -25,19 +54,52 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  cmakeFlags = [ adlplugChip "-DADLplug_USE_SYSTEM_FMT=ON" ];
+  cmakeFlags = [
+    "-DADLplug_CHIP=${chip}"
+    "-DADLplug_USE_SYSTEM_FMT=ON"
+    "-DADLplug_Jack=${if withJack then "ON" else "OFF"}"
+  ];
+
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin (toString [
+    "-isystem ${CoreServices}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers"
+  ]);
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
 
   buildInputs = [
-    libjack2 alsa-lib freetype libX11 libXrandr libXinerama libXext
+    fmt
+    liblo
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    alsa-lib
+    freetype
+    libX11
+    libXrandr
+    libXinerama
+    libXext
     libXcursor
-  ];
-  nativeBuildInputs = [ cmake pkg-config fmt ];
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    libobjc
+    Cocoa
+    CoreServices
+    WebKit
+    DiscRecording
+  ] ++ lib.optional withJack jack;
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir $out/Applications
+    mv $out/bin/${mainProgram}.app $out/Applications/
+    ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin}/${mainProgram}
+  '';
 
   meta = with lib; {
-    description = "OPL3 and OPN2 FM Chip Synthesizer";
+    inherit mainProgram;
+    description = "${chip} FM Chip Synthesizer";
     homepage = src.meta.homepage;
     license = licenses.boost;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ OPNA2608 ];
   };
 }
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 354bc0ebd76..73a0cebd36b 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -62,6 +62,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "audacity";
+  # nixpkgs-update: no auto update
+  # Humans too! Let's wait to see how the situation with
+  # https://github.com/audacity/audacity/issues/1213 develops before
+  # pulling any updates that are subject to this privacy policy. We
+  # may wish to switch to a fork, but at the time of writing
+  # (2021-07-05) it's too early to tell how well any of the forks will
+  # be maintained.
   version = "3.0.2";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/audio/bchoppr/default.nix b/pkgs/applications/audio/bchoppr/default.nix
index 91d5d3c216d..ec09e62b094 100644
--- a/pkgs/applications/audio/bchoppr/default.nix
+++ b/pkgs/applications/audio/bchoppr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bchoppr";
-  version = "1.10.6";
+  version = "1.10.8";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = version;
-    sha256 = "sha256-iCDAIV2p1OkZxOMo8A6zBrOGd49FXAGqLZWk0Kbvgec=";
+    sha256 = "sha256-F2J9TBONluhBuoEnpff3tLZEHFDbmllILqbZvu+PGGI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
index b041d7e1910..6b272a408ab 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
   ldLibraryPath = lib.strings.makeLibraryPath buildInputs;
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     cp -r opt/bitwig-studio $out/libexec
     ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio
@@ -41,6 +43,8 @@ stdenv.mkDerivation rec {
     substitute usr/share/applications/bitwig-studio.desktop \
       $out/share/applications/bitwig-studio.desktop \
       --replace /usr/bin/bitwig-studio $out/bin/bitwig-studio
+
+      runHook postInstall
   '';
 
   postFixup = ''
@@ -57,7 +61,7 @@ stdenv.mkDerivation rec {
       wrapProgram $f \
         "''${gappsWrapperArgs[@]}" \
         --prefix PATH : "${binPath}" \
-        --prefix LD_LIBRARY_PATH : "${ldLibraryPath}"
+        --suffix LD_LIBRARY_PATH : "${ldLibraryPath}"
     done
 
   '';
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
new file mode 100644
index 00000000000..b6dea53012d
--- /dev/null
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
@@ -0,0 +1,75 @@
+{ stdenv, fetchurl, alsa-lib, cairo, dpkg, freetype
+, gdk-pixbuf, glib, gtk3, lib, xorg
+, libglvnd, libjack2, ffmpeg
+, libxkbcommon, xdg-utils, zlib, pulseaudio
+, wrapGAppsHook, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "bitwig-studio";
+  version = "4.0";
+
+  src = fetchurl {
+    url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
+    sha256 = "38381c1a382abd9543931f34d5ae1789c31ec1217a1c852b5c5c442ccaf97063";
+  };
+
+  nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
+
+  unpackCmd = ''
+    mkdir -p root
+    dpkg-deb -x $curSrc root
+  '';
+
+  dontBuild = true;
+  dontWrapGApps = true; # we only want $gappsWrapperArgs here
+
+  buildInputs = with xorg; [
+    alsa-lib cairo freetype gdk-pixbuf glib gtk3 libxcb xcbutil xcbutilwm zlib libXtst libxkbcommon pulseaudio libjack2 libX11 libglvnd libXcursor stdenv.cc.cc.lib
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp -r opt/bitwig-studio $out/libexec
+    ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio
+    cp -r usr/share $out/share
+    substitute usr/share/applications/com.bitwig.BitwigStudio.desktop \
+      $out/share/applications/com.bitwig.BitwigStudio.desktop \
+      --replace /usr/bin/bitwig-studio $out/bin/bitwig-studio
+
+      runHook postInstall
+  '';
+
+  postFixup = ''
+    # patchelf fails to set rpath on BitwigStudioEngine, so we use
+    # the LD_LIBRARY_PATH way
+
+    find $out -type f -executable \
+      -not -name '*.so.*' \
+      -not -name '*.so' \
+      -not -name '*.jar' \
+      -not -path '*/resources/*' | \
+    while IFS= read -r f ; do
+      patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $f
+      wrapProgram $f \
+        "''${gappsWrapperArgs[@]}" \
+        --prefix PATH : "${lib.makeBinPath [ xdg-utils ffmpeg ]}" \
+        --suffix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath buildInputs}"
+    done
+
+  '';
+
+  meta = with lib; {
+    description = "A digital audio workstation";
+    longDescription = ''
+      Bitwig Studio is a multi-platform music-creation system for
+      production, performance and DJing, with a focus on flexible
+      editing tools and a super-fast workflow.
+    '';
+    homepage = "https://www.bitwig.com/";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ bfortz michalrus mrVanDalo ];
+  };
+}
diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix
index 29359b097d2..36686655f36 100644
--- a/pkgs/applications/audio/cdparanoia/default.nix
+++ b/pkgs/applications/audio/cdparanoia/default.nix
@@ -1,10 +1,11 @@
-{ lib, stdenv, fetchurl, autoreconfHook, gnu-config, IOKit, Carbon }:
+{ lib, stdenv, fetchurl, gnu-config, IOKit, Carbon }:
 
 stdenv.mkDerivation rec {
-  name = "cdparanoia-III-10.2";
+  pname = "cdparanoia-III";
+  version = "10.2";
 
   src = fetchurl {
-    url = "http://downloads.xiph.org/releases/cdparanoia/${name}.src.tgz";
+    url = "https://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-${version}.src.tgz";
     sha256 = "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80";
   };
 
@@ -20,8 +21,6 @@ stdenv.mkDerivation rec {
     ] ++ lib.optional stdenv.hostPlatform.isMusl ./utils.patch
     ++ [./fix_private_keyword.patch];
 
-  nativeBuildInputs = lib.optional stdenv.isAarch64 autoreconfHook;
-
   propagatedBuildInputs = lib.optionals stdenv.isDarwin [
     Carbon
     IOKit
@@ -29,7 +28,9 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  preConfigure = "unset CC" + lib.optionalString stdenv.isAarch64 '';
+  preConfigure = ''
+    unset CC
+  '' + lib.optionalString (!stdenv.hostPlatform.isx86) ''
     cp ${gnu-config}/config.sub configure.sub
     cp ${gnu-config}/config.guess configure.guess
   '';
diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix
index e051d8585b5..a6509256881 100644
--- a/pkgs/applications/audio/chuck/default.nix
+++ b/pkgs/applications/audio/chuck/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.0.1";
+  version = "1.4.1.0";
   pname = "chuck";
 
   src = fetchurl {
     url = "http://chuck.cs.princeton.edu/release/files/chuck-${version}.tgz";
-    sha256 = "1m0fhndbqaf0lii1asyc50c66bv55ib6mbnm8fzk5qc5ncs0r8hi";
+    sha256 = "sha256-dL+ZrVFeMRPFW4MxUpNvrQKjzwBqVBBf8Rd3xHMZSSg=";
   };
 
   nativeBuildInputs = [ flex bison which ];
diff --git a/pkgs/applications/audio/crip/default.nix b/pkgs/applications/audio/crip/default.nix
index c61f838bc3a..d635dce83f4 100644
--- a/pkgs/applications/audio/crip/default.nix
+++ b/pkgs/applications/audio/crip/default.nix
@@ -19,9 +19,10 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "crip-3.9";
+  pname = "crip";
+  version = "3.9";
   src = fetchurl {
-    url = "http://bach.dynet.com/crip/src/${name}.tar.gz";
+    url = "http://bach.dynet.com/${pname}/src/${pname}-${version}.tar.gz";
     sha256 = "0pk9152wll6fmkj1pki3fz3ijlf06jyk32v31yarwvdkwrk7s9xz";
   };
 
diff --git a/pkgs/applications/audio/dirt/default.nix b/pkgs/applications/audio/dirt/default.nix
index 333c1d08b3a..a456d62e6f6 100644
--- a/pkgs/applications/audio/dirt/default.nix
+++ b/pkgs/applications/audio/dirt/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, libsndfile, libsamplerate, liblo, libjack2 }:
 
 stdenv.mkDerivation {
-  name = "dirt-2018-01-01";
+  pname = "dirt";
+  version = "unstable-2018-01-01";
   src = fetchFromGitHub {
     repo = "Dirt";
     owner = "tidalcycles";
diff --git a/pkgs/applications/audio/easyeffects/default.nix b/pkgs/applications/audio/easyeffects/default.nix
new file mode 100644
index 00000000000..ee4d16d6b36
--- /dev/null
+++ b/pkgs/applications/audio/easyeffects/default.nix
@@ -0,0 +1,107 @@
+{ lib
+, stdenv
+, desktop-file-utils
+, fetchFromGitHub
+, calf
+, fftwFloat
+, glib
+, glibmm
+, gtk4
+, gtkmm4
+, itstool
+, libbs2b
+, libebur128
+, libsamplerate
+, libsndfile
+, lilv
+, lsp-plugins
+, lv2
+, meson
+, ninja
+, nlohmann_json
+, pipewire
+, pkg-config
+, python3
+, rnnoise
+, rubberband
+, speexdsp
+, wrapGAppsHook
+, zam-plugins
+, zita-convolver
+}:
+
+stdenv.mkDerivation rec {
+  pname = "easyeffects";
+  version = "6.0.0";
+
+  src = fetchFromGitHub {
+    owner = "wwmm";
+    repo = "easyeffects";
+    rev = "v${version}";
+    hash = "sha256:1m3jamnhgpx3z51nfc8xg7adhf5x7dirvw0wf129hzxx4fjl7rch";
+  };
+
+  nativeBuildInputs = [
+    desktop-file-utils
+    itstool
+    meson
+    ninja
+    pkg-config
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    fftwFloat
+    glib
+    glibmm
+    gtk4
+    gtkmm4
+    libbs2b
+    libebur128
+    libsamplerate
+    libsndfile
+    lilv
+    lv2
+    nlohmann_json
+    pipewire
+    rnnoise
+    rubberband
+    speexdsp
+    zita-convolver
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
+
+  preFixup =
+    let
+      lv2Plugins = [
+        calf # limiter, compressor exciter, bass enhancer and others
+        lsp-plugins # delay
+      ];
+      ladspaPlugins = [
+        rubberband # pitch shifting
+        zam-plugins # maximizer
+      ];
+    in
+    ''
+      gappsWrapperArgs+=(
+        --set LV2_PATH "${lib.makeSearchPath "lib/lv2" lv2Plugins}"
+        --set LADSPA_PATH "${lib.makeSearchPath "lib/ladspa" ladspaPlugins}"
+      )
+    '';
+
+  separateDebugInfo = true;
+
+  meta = with lib; {
+    description = "Audio effects for PipeWire applications.";
+    homepage = "https://github.com/wwmm/easyeffects";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.linux;
+    badPlatforms = [ "aarch64-linux" ];
+  };
+}
diff --git a/pkgs/applications/audio/freac/default.nix b/pkgs/applications/audio/freac/default.nix
index c906f62894d..89c4847eded 100644
--- a/pkgs/applications/audio/freac/default.nix
+++ b/pkgs/applications/audio/freac/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "freac";
-  version = "1.1.4";
+  version = "1.1.5";
 
   src = fetchFromGitHub {
     owner = "enzo1982";
     repo = "freac";
     rev = "v${version}";
-    sha256 = "sha256-JwZJOV4mxNKqhhdlfFcX06NwBxmbye2mgMfdM//bHYI=";
+    sha256 = "sha256-cRmN9D/+FLiXqZW/PYhw61EoZuL3y61YtQ/ZNjnhfmY=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/gbsplay/default.nix b/pkgs/applications/audio/gbsplay/default.nix
index 7cee125f6e7..3d280ca72ab 100644
--- a/pkgs/applications/audio/gbsplay/default.nix
+++ b/pkgs/applications/audio/gbsplay/default.nix
@@ -1,28 +1,32 @@
-{ lib, stdenv, fetchFromGitHub, libpulseaudio }:
+{ lib, stdenv, fetchFromGitHub, installShellFiles, libpulseaudio, nas }:
 
-stdenv.mkDerivation {
-  name = "gbsplay-2016-12-17";
+stdenv.mkDerivation rec {
+  pname = "gbsplay";
+  version = "0.0.94";
 
   src = fetchFromGitHub {
     owner = "mmitch";
     repo = "gbsplay";
-    rev = "2c4486e17fd4f4cdea8c3fd79ae898c892616b70";
-    sha256 = "1214j67sr87zfhvym41cw2g823fmqh4hr451r7y1s9ql3jpjqhpz";
+    rev = version;
+    sha256 = "VpaXbjotmc/Ref1geiKkBX9UhbPxfAGkFAdKVxP8Uxo=";
   };
 
-  buildInputs = [ libpulseaudio ];
+  configureFlags = [
+    "--without-test" # See mmitch/gbsplay#62
+    "--without-contrib"
+  ];
 
-  configureFlags =
-   [ "--without-test" "--without-contrib" "--disable-devdsp"
-     "--enable-pulse" "--disable-alsa" "--disable-midi"
-     "--disable-nas" "--disable-dsound" "--disable-i18n" ];
+  nativeBuildInputs = [ installShellFiles ];
+  buildInputs = [ libpulseaudio nas ];
 
-  makeFlags = [ "tests=" ];
+  postInstall = ''
+    installShellCompletion --bash --name gbsplay contrib/gbsplay.bashcompletion
+  '';
 
   meta = with lib; {
-    description = "gameboy sound player";
+    description = "Gameboy sound player";
     license = licenses.gpl1;
-    platforms = ["i686-linux" "x86_64-linux"];
+    platforms = [ "i686-linux" "x86_64-linux" ];
     maintainers = with maintainers; [ dasuxullebt ];
   };
 }
diff --git a/pkgs/applications/audio/gmu/default.nix b/pkgs/applications/audio/gmu/default.nix
index 3e2087162f5..b2b9f5e3475 100644
--- a/pkgs/applications/audio/gmu/default.nix
+++ b/pkgs/applications/audio/gmu/default.nix
@@ -5,10 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gmu-0.10.1";
+  pname = "gmu";
+  version = "0.10.1";
 
   src = fetchurl {
-    url = "http://wejp.k.vu/files/${name}.tar.gz";
+    url = "https://wej.k.vu/files/${pname}-${version}.tar.gz";
     sha256 = "03x0mc0xw2if0bpf0a15yprcyx1xccki039zvl2099dagwk6xskv";
   };
 
diff --git a/pkgs/applications/audio/helvum/default.nix b/pkgs/applications/audio/helvum/default.nix
index 1ecf9c56e86..cc98e9fb359 100644
--- a/pkgs/applications/audio/helvum/default.nix
+++ b/pkgs/applications/audio/helvum/default.nix
@@ -13,17 +13,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "helvum";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "ryuukyu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-sQ4epL3QNOLHuR/dr/amHgiaxV/1SWeb3eijnjAAR3w=";
+    sha256 = "sha256-ZnpdGXK8N8c/s4qC2NXcn0Pdqrqr47iOWvVwXD9pn1A=";
   };
 
-  cargoSha256 = "sha256-uNTSU06Fz/ud04K40e98rb7o/uAht0DsiJOXeHX72vw=";
+  cargoSha256 = "sha256-2v2L20rUWftXdhhuE3wiRrDIuSg6VFxfpWYMRaMUyTU=";
 
   nativeBuildInputs = [ clang copyDesktopItems pkg-config ];
   buildInputs = [ glib gtk4 pipewire ];
diff --git a/pkgs/applications/audio/hqplayer-desktop/default.nix b/pkgs/applications/audio/hqplayer-desktop/default.nix
index af1818fe718..2551c610c57 100644
--- a/pkgs/applications/audio/hqplayer-desktop/default.nix
+++ b/pkgs/applications/audio/hqplayer-desktop/default.nix
@@ -17,11 +17,13 @@
 
 mkDerivation rec {
   pname = "hqplayer-desktop";
-  version = "4.12.0-34";
+  version = "4.12.1-35";
 
   src = fetchurl {
+    # FIXME: use the fc34 sources when we get glibc 2.33 in nixpkgs
+    # c.f. https://github.com/NixOS/nixpkgs/pull/111616
     url = "https://www.signalyst.eu/bins/hqplayer/fc33/hqplayer4desktop-${version}.fc33.x86_64.rpm";
-    sha256 = "sha256-9kLKmi5lNtnRm9b4HnO01cO/C+Sg0DcKD64N5WBbYOE=";
+    sha256 = "sha256-DLnZNX+uAan9dhPLMvINeXsIn3Yv2CgsvyTcX0hbEK8=";
   };
 
   unpackPhase = ''
@@ -47,6 +49,8 @@ mkDerivation rec {
   dontBuild = true;
 
   installPhase = ''
+    runHook preInstall
+
     # main executable
     mkdir -p $out/bin
     cp ./usr/bin/* $out/bin
@@ -62,16 +66,16 @@ mkDerivation rec {
     # pixmaps
     mkdir -p $out/share/pixmaps
     cp ./usr/share/pixmaps/* $out/share/pixmaps
+
+    runHook postInstall
   '';
 
   postInstall = ''
     for desktopFile in $out/share/applications/*; do
       substituteInPlace "$desktopFile" \
-        --replace '/usr/bin/' '$out/bin/' \
-        --replace '/usr/share/doc/' '$out/share/doc/'
+        --replace /usr/bin/ $out/bin/ \
+        --replace /usr/share/doc/ $out/share/doc/
     done
-
-    gunzip $out/share/doc/${pname}/*.gz
   '';
 
   postFixup = ''
@@ -81,7 +85,6 @@ mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.signalyst.com/custom.html";
     description = "High-end upsampling multichannel software HD-audio player";
-    changelog = "https://www.signalyst.eu/bins/${pname}/fc33/hqplayer4desktop-${version}fc33.x86_64.changes";
     license = licenses.unfree;
     maintainers = with maintainers; [ lovesegfault ];
   };
diff --git a/pkgs/applications/audio/jack-rack/default.nix b/pkgs/applications/audio/jack-rack/default.nix
index 520b55e96da..25ee53d3f43 100644
--- a/pkgs/applications/audio/jack-rack/default.nix
+++ b/pkgs/applications/audio/jack-rack/default.nix
@@ -1,8 +1,9 @@
 { lib, stdenv, fetchurl, pkg-config, libjack2, ladspaH, gtk2, alsa-lib, libxml2, lrdf }:
 stdenv.mkDerivation rec {
-  name = "jack-rack-1.4.7";
+  pname = "jack-rack";
+  version = "1.4.7";
   src = fetchurl {
-    url = "mirror://sourceforge/jack-rack/${name}.tar.bz2";
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
     sha256 = "1lmibx9gicagcpcisacj6qhq6i08lkl5x8szysjqvbgpxl9qg045";
   };
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/audio/jackmeter/default.nix b/pkgs/applications/audio/jackmeter/default.nix
index 2b4d413526a..95fc88a8696 100644
--- a/pkgs/applications/audio/jackmeter/default.nix
+++ b/pkgs/applications/audio/jackmeter/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libjack2, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "jackmeter-0.4";
+  pname = "jackmeter";
+  version = "0.4";
 
   src = fetchurl {
-    url = "https://www.aelius.com/njh/jackmeter/${name}.tar.gz";
+    url = "https://www.aelius.com/njh/${pname}/${pname}-${version}.tar.gz";
     sha256 = "1cnvgx3jv0yvxlqy0l9k285zgvazmh5k8m4l7lxckjfm5bn6hm1r";
   };
 
diff --git a/pkgs/applications/audio/lsp-plugins/default.nix b/pkgs/applications/audio/lsp-plugins/default.nix
index e3f92d2da74..2bf47786ef5 100644
--- a/pkgs/applications/audio/lsp-plugins/default.nix
+++ b/pkgs/applications/audio/lsp-plugins/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lsp-plugins";
-  version = "1.1.26";
+  version = "1.1.30";
 
   src = fetchFromGitHub {
     owner = "sadko4u";
     repo = pname;
-    rev = "${pname}-${version}";
-    sha256 = "1apw8zh3a3il4smkjji6bih4vbsymj0hjs10fgkrd4nazqkjvgyd";
+    rev = version;
+    sha256 = "0g0nx05dyjwz2149v3pj6sa9divr26jyqvg2kk1qk48s2n4najkz";
   };
 
   nativeBuildInputs = [ pkg-config php makeWrapper ];
@@ -36,6 +36,8 @@ stdenv.mkDerivation rec {
 
   buildFlags = [ "release" ];
 
+  enableParallelBuilding = true;
+
   meta = with lib;
     { description = "Collection of open-source audio plugins";
       longDescription = ''
@@ -84,6 +86,8 @@ stdenv.mkDerivation rec {
         - Compressor MidSide - Kompressor MidSide
         - Compressor Mono - Kompressor Mono
         - Compressor Stereo - Kompressor Stereo
+        - Artistic Delay Mono - Künstlerische Verzögerung
+        - Artistic Delay Stereo - Künstlerische Verzögerung
         - Latency Meter - Latenzmessgerät
         - Loudness Compensator Mono - Lautstärke Kompensator Mono
         - Loudness Compensator Stereo - Lautstärke Kompensator Stereo
@@ -99,6 +103,9 @@ stdenv.mkDerivation rec {
         - Multiband Compressor MidSide x8 - Multi-band Kompressor MidSide x8
         - Multiband Compressor Mono x8 - Multi-band Kompressor Mono x8
         - Multiband Compressor Stereo x8 - Multi-band Kompressor Stereo x8
+        - Oscilloscope x1 - Oscilloscope x1
+        - Oscilloscope x2 - Oscilloscope x2
+        - Oscilloscope x4 - Oscilloscope x4
         - Oscillator Mono - Oszillator Mono
         - Parametric Equalizer x16 LeftRight - Parametrischer Entzerrer x16 LeftRight
         - Parametric Equalizer x16 MidSide - Parametrischer Entzerrer x16 MidSide
diff --git a/pkgs/applications/audio/mikmod/default.nix b/pkgs/applications/audio/mikmod/default.nix
index 4d39616c99d..4cc0fec2e2f 100644
--- a/pkgs/applications/audio/mikmod/default.nix
+++ b/pkgs/applications/audio/mikmod/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libmikmod, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "mikmod-3.2.8";
+  pname = "mikmod";
+  version = "3.2.8";
 
   src = fetchurl {
-    url = "mirror://sourceforge/mikmod/${name}.tar.gz";
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
     sha256 = "1k54p8pn3jinha0f2i23ad15pf1pamibzcxjrbzjbklpcz1ipc6v";
   };
 
diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix
index 7af4b585adf..6f0d34b870a 100644
--- a/pkgs/applications/audio/mixxx/default.nix
+++ b/pkgs/applications/audio/mixxx/default.nix
@@ -1,49 +1,117 @@
-{ lib, mkDerivation, fetchurl, fetchFromGitHub, chromaprint
-, fftw, flac, faad2, glibcLocales, mp4v2
-, libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis
-, libGLU, libxcb, lilv, lv2, opusfile
-, pkg-config, portaudio, portmidi, protobuf, qtbase, qtscript, qtsvg
-, qtx11extras, rubberband, sconsPackages, sqlite, taglib, upower, vamp-plugin-sdk
+{ lib
+, mkDerivation
+, fetchurl
+, fetchFromGitHub
+, chromaprint
+, cmake
+, faad2
+, ffmpeg
+, fftw
+, flac
+, glibcLocales
+, hidapi
+, lame
+, libebur128
+, libGLU
+, libid3tag
+, libkeyfinder
+, libmad
+, libmodplug
+, libopus
+, libsecret
+, libshout
+, libsndfile
+, libusb1
+, libvorbis
+, libxcb
+, lilv
+, lv2
+, mp4v2
+, opusfile
+, pcre
+, pkg-config
+, portaudio
+, portmidi
+, protobuf
+, qtbase
+, qtkeychain
+, qtscript
+, qtsvg
+, qtx11extras
+, rubberband
+, serd
+, sord
+, soundtouch
+, sratom
+, sqlite
+, taglib
+, upower
+, vamp-plugin-sdk
+, wavpack
 }:
 
-let
-  # Because libshout 2.4.2 and newer seem to break streaming in mixxx, build it
-  # with 2.4.1 instead.
-  libshout241 = libshout.overrideAttrs (o: rec {
-    name = "libshout-2.4.1";
-    src = fetchurl {
-      url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz";
-      sha256 = "0kgjpf8jkgyclw11nilxi8vyjk4s8878x23qyxnvybbgqbgbib7k";
-    };
-  });
-in
 mkDerivation rec {
   pname = "mixxx";
-  version = "2.2.4";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "mixxxdj";
     repo = "mixxx";
-    rev = "release-${version}";
-    sha256 = "1dj9li8av9b2kbm76jvvbdmihy1pyrw0s4xd7dd524wfhwr1llxr";
+    rev = version;
+    sha256 = "18sx4l3zzbn5142xfv5bp0crdd615a5728fkprqacnx3zpa144x6";
   };
 
-  nativeBuildInputs = [ sconsPackages.scons_3_1_2 ];
+  nativeBuildInputs = [ cmake pkg-config ];
+
   buildInputs = [
-    chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout241 libsndfile
-    libusb1 libvorbis libxcb libGLU lilv lv2 opusfile pkg-config portaudio portmidi protobuf qtbase qtscript qtsvg
-    qtx11extras rubberband sqlite taglib upower vamp-plugin-sdk
+    chromaprint
+    faad2
+    ffmpeg
+    fftw
+    flac
+    glibcLocales
+    hidapi
+    lame
+    libebur128
+    libGLU
+    libid3tag
+    libkeyfinder
+    libmad
+    libmodplug
+    libopus
+    libsecret
+    libshout
+    libsndfile
+    libusb1
+    libvorbis
+    libxcb
+    lilv
+    lv2
+    mp4v2
+    opusfile
+    pcre
+    portaudio
+    portmidi
+    protobuf
+    qtbase
+    qtkeychain
+    qtscript
+    qtsvg
+    qtx11extras
+    rubberband
+    serd
+    sord
+    soundtouch
+    sratom
+    sqlite
+    taglib
+    upower
+    vamp-plugin-sdk
+    wavpack
   ];
 
   enableParallelBuilding = true;
 
-  sconsFlags = [
-    "build=release"
-    "qtdir=${qtbase}"
-    "faad=1"
-    "opus=1"
-  ];
-
   qtWrapperArgs = [
     "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive"
   ];
@@ -52,7 +120,7 @@ mkDerivation rec {
     homepage = "https://mixxx.org";
     description = "Digital DJ mixing software";
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.goibhniu maintainers.bfortz ];
+    maintainers = with maintainers; [ goibhniu bfortz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/mousai/default.nix b/pkgs/applications/audio/mousai/default.nix
index 2f45a3fea92..9044d201c45 100644
--- a/pkgs/applications/audio/mousai/default.nix
+++ b/pkgs/applications/audio/mousai/default.nix
@@ -1,7 +1,6 @@
 { lib
 , python3
 , fetchFromGitHub
-, fetchpatch
 , appstream-glib
 , desktop-file-utils
 , gettext
@@ -19,7 +18,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "mousai";
-  version = "0.4.1";
+  version = "0.4.2";
 
   format = "other";
 
@@ -27,17 +26,9 @@ python3.pkgs.buildPythonApplication rec {
     owner = "SeaDve";
     repo = "Mousai";
     rev = "v${version}";
-    sha256 = "sha256-AfR5n1dIm9X5OoPiikQEhHBFQq0rmQH4h7cCJ2yXoXI=";
+    sha256 = "sha256-zH++GGFIz3oxkKOYB4zhY6yL3vENEXxtrv8mZZ+41kU=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-ABI-breakage-from-libadwaita.patch";
-      url = "https://github.com/SeaDve/Mousai/commit/e3db2d9d1949300f49399209b56d667746e539df.patch";
-      sha256 = "078kvmyhw4jd1m2npai0yl00lwh47jys2n03pkgxp6jf873y83vs";
-    })
-  ];
-
   postPatch = ''
     patchShebangs build-aux/meson
   '';
diff --git a/pkgs/applications/audio/mp3gain/default.nix b/pkgs/applications/audio/mp3gain/default.nix
index bf0a347d14b..ba2a757e090 100644
--- a/pkgs/applications/audio/mp3gain/default.nix
+++ b/pkgs/applications/audio/mp3gain/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, fetchpatch, unzip, mpg123 }:
 
-stdenv.mkDerivation {
-  name = "mp3gain-1.6.2";
+stdenv.mkDerivation rec {
+  pname = "mp3gain";
+  version = "1.6.2";
   src = fetchurl {
-    url = "mirror://sourceforge/mp3gain/mp3gain-1_6_2-src.zip";
+    url = "mirror://sourceforge/${pname}/${pname}-${lib.replaceStrings ["."] ["_"] version}-src.zip";
     sha256 = "0varr6y7k8zarr56b42r0ad9g3brhn5vv3xjg1c0v19jxwr4gh2w";
   };
 
diff --git a/pkgs/applications/audio/mp3info/default.nix b/pkgs/applications/audio/mp3info/default.nix
index d67b4da5eb2..86c1f87f522 100644
--- a/pkgs/applications/audio/mp3info/default.nix
+++ b/pkgs/applications/audio/mp3info/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, ncurses, pkg-config, gtk2 }:
 
 stdenv.mkDerivation rec {
-  name = "mp3info-0.8.5a";
+  pname = "mp3info";
+  version = "0.8.5a";
 
   src = fetchurl {
-    url = "ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/mp3info/${name}.tgz";
+    url = "ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/${pname}/${pname}-${version}.tgz";
     sha256 = "042f1czcs9n2sbqvg4rsvfwlqib2gk976mfa2kxlfjghx5laqf04";
   };
 
diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix
index 8f9489befc5..44788467d8f 100644
--- a/pkgs/applications/audio/mpg123/default.nix
+++ b/pkgs/applications/audio/mpg123/default.nix
@@ -7,10 +7,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mpg123-1.26.5";
+  pname = "mpg123";
+  version = "1.26.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
     sha256 = "sha256-UCqX4Nk1vn432YczgCHY8wG641wohPKoPVnEtSRm7wY=";
   };
 
diff --git a/pkgs/applications/audio/munt/default.nix b/pkgs/applications/audio/munt/default.nix
index 773a9178c0b..191612700f4 100644
--- a/pkgs/applications/audio/munt/default.nix
+++ b/pkgs/applications/audio/munt/default.nix
@@ -1,38 +1,51 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, alsa-lib, makeDesktopItem, libjack2 }:
+{ lib
+, mkDerivation
+, stdenv
+, fetchFromGitHub
+, makeDesktopItem
+, cmake
+, pkg-config
+, qtbase
+, glib
+, alsa-lib
+, withJack ? stdenv.hostPlatform.isUnix, jack
+}:
 
 let
-  desktopItem = makeDesktopItem rec {
-    name = "Munt";
-    exec = "mt32emu-qt";
-    desktopName = name;
-    genericName = "Munt synthesiser";
-    categories = "Audio;AudioVideo;";
-  };
-in mkDerivation rec {
-  version = "2.4.1";
+  mainProgram = "mt32emu-qt";
+in
+mkDerivation rec {
   pname = "munt";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = with lib.versions; "libmt32emu_${major version}_${minor version}_${patch version}";
-    sha256 = "0bszhkbz24hhx32f973l6h5lkyn4lxhqrckiwmv765d1sba8n5bk";
+    rev = "munt_${lib.replaceChars [ "." ] [ "_" ] version}";
+    sha256 = "1lknq2a72gv1ddhzr7f967wpa12lh805jj4gjacdnamgrc1h22yn";
   };
 
-  postInstall = ''
-    ln -s ${desktopItem}/share/applications $out/share
-  '';
-
   dontFixCmake = true;
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qtbase alsa-lib libjack2 ];
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ qtbase glib ]
+    ++ lib.optional stdenv.hostPlatform.isLinux alsa-lib
+    ++ lib.optional withJack jack;
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir $out/Applications
+    mv $out/bin/${mainProgram}.app $out/Applications/
+    wrapQtApp $out/Applications/${mainProgram}.app/Contents/MacOS/${mainProgram}
+    ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin}/${mainProgram}
+  '';
 
   meta = with lib; {
+    inherit mainProgram;
     description = "Multi-platform software synthesiser emulating Roland MT-32, CM-32L, CM-64 and LAPC-I devices";
     homepage = "http://munt.sourceforge.net/";
     license = with licenses; [ lgpl21 gpl3 ];
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ OPNA2608 ];
   };
 }
diff --git a/pkgs/applications/audio/noisetorch/default.nix b/pkgs/applications/audio/noisetorch/default.nix
index 6f63bf542f4..05e17bf7c98 100644
--- a/pkgs/applications/audio/noisetorch/default.nix
+++ b/pkgs/applications/audio/noisetorch/default.nix
@@ -1,42 +1,35 @@
-{ lib, buildGoModule, fetchFromGitHub, rnnoise-plugin }:
+{ lib, buildGoModule, fetchFromGitHub, copyDesktopItems }:
 
 buildGoModule rec {
   pname = "NoiseTorch";
-  version = "0.10.1";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "lawl";
     repo = "NoiseTorch";
     rev = version;
-    sha256 = "1a4g112h83m55pga8kq2a1wzxpycj59v4bygyjfyi1s09q1y97qg";
+    sha256 = "0rjs6hbi7dvd179lzjmvqy4rv4pbc9amgzb8jfky4yc0zh8xf5z5";
   };
 
-  patches = [
-    # Get version from environment instead of git tags
-    ./version.patch
-  ];
-
   vendorSha256 = null;
 
   doCheck = false;
 
-  subPackages = [ "." ];
+  ldflags = [ "-X main.version=${version}"  "-X main.distribution=nix" ];
 
-  buildInputs = [ rnnoise-plugin ];
+  subPackages = [ "." ];
 
-  postPatch = "substituteInPlace main.go --replace 'librnnoise_ladspa/bin/ladspa/librnnoise_ladspa.so' '$RNNOISE_LADSPA_PLUGIN'";
+  nativeBuildInputs = [ copyDesktopItems ];
 
   preBuild = ''
-    export RNNOISE_LADSPA_PLUGIN="${rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so";
-    go generate;
+    make -C c/ladspa/
+    go generate
     rm  ./scripts/*
   '';
 
   postInstall = ''
-    mkdir -p $out/share/icons/hicolor/256x256/apps/
-    cp assets/icon/noisetorch.png $out/share/icons/hicolor/256x256/apps/
-    mkdir -p $out/share/applications/
-    cp assets/noisetorch.desktop $out/share/applications/
+    install -D ./assets/icon/noisetorch.png $out/share/icons/hicolor/256x256/apps/noisetorch.png
+    copyDesktopItems assets/noisetorch.desktop $out/share/applications/
   '';
 
   meta = with lib; {
@@ -44,6 +37,6 @@ buildGoModule rec {
     homepage = "https://github.com/lawl/NoiseTorch";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ panaeon ];
+    maintainers = with maintainers; [ panaeon legendofmiracles ];
   };
 }
diff --git a/pkgs/applications/audio/noisetorch/version.patch b/pkgs/applications/audio/noisetorch/version.patch
deleted file mode 100644
index 20c51863744..00000000000
--- a/pkgs/applications/audio/noisetorch/version.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/scripts/embedversion.go b/scripts/embedversion.go
-index ce0a756..60e7a5e 100644
---- a/scripts/embedversion.go
-+++ b/scripts/embedversion.go
-@@ -1,24 +1,18 @@
- package main
- 
- import (
--	"os"
--	"os/exec"
--	"strings"
-+        "os"
-+        "strings"
- )
- 
- func main() {
--	cmd := exec.Command("git", "describe", "--tags")
--	ret, err := cmd.Output()
- 
--	if err != nil {
--		panic("Couldn't read git tags to embed version number")
--	}
--	version := strings.TrimSpace(string(ret))
-+        version := strings.TrimSpace(string(os.Getenv("version")))
- 
--	out, _ := os.Create("version.go")
--	defer out.Close()
-+        out, _ := os.Create("version.go")
-+        defer out.Close()
- 
--	out.Write([]byte("package main\n\n//THIS FILE IS AUTOMATICALLY GENERATED BY `go generate` DO NOT EDIT!\n\nvar version=\""))
--	out.Write([]byte(version))
--	out.Write([]byte("\"\n"))
-+        out.Write([]byte("package main\n\n//THIS FILE IS AUTOMATICALLY GENERATED BY `go generate` DO NOT EDIT!\n\nvar version=\""))
-+        out.Write([]byte(version))
-+        out.Write([]byte("\"\n"))
- }
diff --git a/pkgs/applications/audio/nootka/default.nix b/pkgs/applications/audio/nootka/default.nix
index 8b2284f9b30..59d58df8c8d 100644
--- a/pkgs/applications/audio/nootka/default.nix
+++ b/pkgs/applications/audio/nootka/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nootka-1.4.7";
+  pname = "nootka";
+  version = "1.4.7";
 
   src = fetchurl {
-    url = "mirror://sourceforge/nootka/${name}-source.tar.bz2";
+    url = "mirror://sourceforge/nootka/${pname}-${version}-source.tar.bz2";
     sha256 = "1y9wlwri74v2z9dwbcfjs7xri54yra24vpwq19xi2lfv1nbs518x";
   };
 
diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix
index a5ea91141c3..3bfb1a5a4da 100644
--- a/pkgs/applications/audio/openmpt123/default.nix
+++ b/pkgs/applications/audio/openmpt123/default.nix
@@ -1,19 +1,16 @@
 { config, lib, stdenv, fetchurl, zlib, pkg-config, mpg123, libogg, libvorbis, portaudio, libsndfile, flac
 , usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
 
-let
-  version = "0.5.8";
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "openmpt123";
-  inherit version;
+  version = "0.5.10";
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "sha256-KeLCEXS3P2fyul7naAjWLxgrEw5PcE7i2a6Cg5gtis0=";
+    sha256 = "sha256-Waj6KNi432nLf6WXK9+TEIHatOHhFWxpoaU7ZcK+n/o=";
   };
 
   enableParallelBuilding = true;
-  doCheck = true;
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ zlib mpg123 libogg libvorbis portaudio libsndfile flac ]
@@ -21,11 +18,13 @@ in stdenv.mkDerivation {
 
   configureFlags = lib.optional (!usePulseAudio) "--without-pulseaudio";
 
+  doCheck = true;
+
   meta = with lib; {
     description = "A cross-platform command-line based module file player";
     homepage = "https://lib.openmpt.org/libopenmpt/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/opus-tools/default.nix b/pkgs/applications/audio/opus-tools/default.nix
index 8ca75eecde1..6c602ef1d03 100644
--- a/pkgs/applications/audio/opus-tools/default.nix
+++ b/pkgs/applications/audio/opus-tools/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, libogg, libao, pkg-config, flac, opusfile, libopusenc}:
 
 stdenv.mkDerivation rec {
-  name = "opus-tools-0.2";
+  pname = "opus-tools";
+  version = "0.2";
+
   src = fetchurl {
-    url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
+    url = "https://downloads.xiph.org/releases/opus/${pname}-${version}.tar.gz";
     sha256 = "11pzl27s4vcz4m18ch72nivbhww2zmzn56wspb7rll1y1nq6rrdl";
   };
 
diff --git a/pkgs/applications/audio/pianoteq/default.nix b/pkgs/applications/audio/pianoteq/default.nix
new file mode 100644
index 00000000000..9c258f69f66
--- /dev/null
+++ b/pkgs/applications/audio/pianoteq/default.nix
@@ -0,0 +1,200 @@
+{ lib, stdenv, curl, gnugrep, jq, xorg, alsa-lib, freetype, p7zip, autoPatchelfHook, writeShellScript, zlib, libjack2, makeWrapper }:
+let
+  versionForFile = v: builtins.replaceStrings ["."] [""] v;
+
+  mkPianoteq = { name, src, version, archdir, ... }:
+    stdenv.mkDerivation rec {
+      inherit src version;
+
+      pname = "pianoteq-${name}";
+
+      unpackPhase = ''
+        ${p7zip}/bin/7z x $src
+      '';
+
+      nativeBuildInputs = [
+        autoPatchelfHook
+        makeWrapper
+      ];
+
+      buildInputs = [
+        stdenv.cc.cc.lib
+        xorg.libX11      # libX11.so.6
+        xorg.libXext     # libXext.so.6
+        alsa-lib          # libasound.so.2
+        freetype         # libfreetype.so.6
+      ];
+
+      installPhase = ''
+        mkdir -p $out/bin
+        mv -t $out/bin Pianoteq*/${archdir}/*
+        for f in $out/bin/Pianoteq*; do
+          if [ -x "$f" ] && [ -f "$f" ]; then
+            wrapProgram "$f" --prefix LD_LIBRARY_PATH : ${
+              lib.makeLibraryPath (buildInputs ++ [
+                xorg.libXcursor
+                xorg.libXinerama
+                xorg.libXrandr
+                libjack2
+                zlib
+              ])
+            }
+          fi
+        done
+      '';
+
+      meta = with lib; {
+        homepage = "https://www.modartt.com/pianoteq";
+        description = "Software synthesizer that features real-time MIDI-control of digital physically modeled pianos and related instruments";
+        license = licenses.unfree;
+        platforms = [ "x86_64-linux" ]; # TODO extract binary according to each platform?
+        maintainers = [ maintainers.mausch ];
+      };
+    };
+
+  fetchWithCurlScript = { name, sha256, script, impureEnvVars ? [] }:
+    stdenv.mkDerivation {
+      inherit name;
+      builder = writeShellScript "builder.sh" ''
+        source $stdenv/setup
+
+        curlVersion=$(${curl}/bin/curl -V | head -1 | cut -d' ' -f2)
+
+        # Curl flags to handle redirects, not use EPSV, handle cookies for
+        # servers to need them during redirects, and work on SSL without a
+        # certificate (this isn't a security problem because we check the
+        # cryptographic hash of the output anyway).
+        curl=(
+            ${curl}/bin/curl
+            --location
+            --max-redirs 20
+            --retry 3
+            --disable-epsv
+            --cookie-jar cookies
+            --insecure
+            --user-agent "curl/$curlVersion Nixpkgs/${lib.trivial.release}"
+            $NIX_CURL_FLAGS
+        )
+
+        ${script}
+
+      '';
+      nativeBuildInputs = [ curl ];
+      outputHashAlgo = "sha256";
+      outputHash = sha256;
+
+      impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ impureEnvVars ++ [
+        # This variable allows the user to pass additional options to curl
+        "NIX_CURL_FLAGS"
+      ];
+    };
+
+  fetchPianoteqTrial = { name, sha256 }:
+    fetchWithCurlScript {
+      inherit name sha256;
+      script = ''
+          "''${curl[@]}" --silent --request POST \
+            --cookie cookies \
+            --header "modartt-json: request" \
+            --header "origin: https://www.modartt.com" \
+            --header "content-type: application/json; charset=UTF-8" \
+            --header "accept: application/json, text/javascript, */*" \
+            --data-raw '{"file": "${name}", "get": "url"}' \
+            https://www.modartt.com/json/download -o /dev/null
+          json=$(
+            "''${curl[@]}" --silent --request POST \
+            --cookie cookies \
+            --header "modartt-json: request" \
+            --header "origin: https://www.modartt.com" \
+            --header "content-type: application/json; charset=UTF-8" \
+            --header "accept: application/json, text/javascript, */*" \
+            --data-raw '{"file": "${name}", "get": "url"}' \
+            https://www.modartt.com/json/download
+          )
+          url=$(echo $json | ${jq}/bin/jq -r .url)
+          "''${curl[@]}" --progress-bar --cookie cookies -o $out "$url"
+      '';
+    };
+
+  fetchPianoteqWithLogin = { name, sha256 }:
+    fetchWithCurlScript {
+      inherit name sha256;
+
+      impureEnvVars = [ "NIX_MODARTT_USERNAME" "NIX_MODARTT_PASSWORD" ];
+
+      script = ''
+        if [ -z "''${NIX_MODARTT_USERNAME}" -o -z "''${NIX_MODARTT_PASSWORD}" ]; then
+          echo "Error: Downloading a personal Pianoteq instance requires the nix building process (nix-daemon in multi user mode) to have the NIX_MODARTT_USERNAME and NIX_MODARTT_PASSWORD env vars set." >&2
+          exit 1
+        fi
+
+        "''${curl[@]}" -s -o /dev/null "https://www.modartt.com/user_area"
+
+        ${jq}/bin/jq -n "{connect: 1, login: \"''${NIX_MODARTT_USERNAME}\", password: \"''${NIX_MODARTT_PASSWORD}\"}" > login.json
+
+        "''${curl[@]}" --silent --request POST \
+          --cookie cookies \
+          --referer "https://www.modartt.com/user_area" \
+          --header "modartt-json: request" \
+          --header "origin: https://www.modartt.com" \
+          --header "content-type: application/json; charset=UTF-8" \
+          --header "accept: application/json, text/javascript, */*" \
+          --data @login.json \
+          https://www.modartt.com/json/session
+
+        json=$(
+          "''${curl[@]}" --silent --request POST \
+          --cookie cookies \
+          --header "modartt-json: request" \
+          --header "origin: https://www.modartt.com" \
+          --header "content-type: application/json; charset=UTF-8" \
+          --header "accept: application/json, text/javascript, */*" \
+          --data-raw '{"file": "${name}", "get": "url"}' \
+          https://www.modartt.com/json/download
+        )
+        url=$(echo $json | ${jq}/bin/jq -r .url)
+
+        "''${curl[@]}" --progress-bar --cookie cookies -o $out "$url"
+      '';
+    };
+
+in {
+  # TODO currently can't install more than one because `lame` clashes
+  stage-trial = mkPianoteq rec {
+    name = "stage-trial";
+    version = "7.4.1";
+    archdir = "x86-64bit";
+    src = fetchPianoteqTrial {
+      name = "pianoteq_stage_linux_trial_v${versionForFile version}.7z";
+      sha256 = "14mbaz6i1rxqayrjjkck9yx8iijkm4q1qz29ymkd7sz2gpk7fcpa";
+    };
+  };
+  standard-trial = mkPianoteq rec {
+    name = "standard-trial";
+    version = "7.4.1";
+    archdir = "x86-64bit";
+    src = fetchPianoteqTrial {
+      name = "pianoteq_linux_trial_v${versionForFile version}.7z";
+      sha256 = "01xh4n0h7dd3xqhm0bx0a62mqmfvxvmr5cm5r2g249c9wqg5i32a";
+    };
+  };
+  stage-6 = mkPianoteq rec {
+    name = "stage-6";
+    version = "6.7.3";
+    archdir = "amd64";
+    src = fetchPianoteqWithLogin {
+      name = "pianoteq_stage_linux_v${versionForFile version}.7z";
+      sha256 = "0jy0hkdynhwv0zhrqkby0hdphgmcc09wxmy74rhg9afm1pzl91jy";
+    };
+  };
+  stage-7 = mkPianoteq rec {
+    name = "stage-7";
+    version = "7.3.0";
+    archdir = "x86-64bit";
+    src = fetchPianoteqWithLogin {
+      name = "pianoteq_stage_linux_v${versionForFile version}.7z";
+      sha256 = "05w7sv9v38r6ljz9xai816w5z2qqwx88hcfjm241fvgbs54125hx";
+    };
+  };
+  # TODO other paid binaries, I don't own that so I don't know their hash.
+}
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index 49aa0ba4714..dc030cc708b 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -40,7 +40,7 @@ pythonPackages.buildPythonApplication rec {
 
   propagatedBuildInputs = with pythonPackages; [
     chromaprint
-    dateutil
+    python-dateutil
     discid
     fasteners
     mutagen
diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix
index a7289cc35c8..9921c1b7e88 100644
--- a/pkgs/applications/audio/plexamp/default.nix
+++ b/pkgs/applications/audio/plexamp/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "plexamp";
-  version = "3.4.7";
+  version = "3.5.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
     name="${pname}-${version}.AppImage";
-    sha512 = "+jmx4X9KiK1Tv2Cjb/445MY9G2b7pLdKxFtBFMaQwRhqTItA33MfHqKBwmytmbEhxhy0LDTU2woJvEMPQCmnvg==";
+    sha512 = "NjhrtGQsIbNDmGPEDmEbaHSfvUTFb1e7yPorF/BzWTfwVoFZEJiNzP/1k+zTJ4Yfd4mG0W0GYx0jh8m/micWIg==";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -34,7 +34,7 @@ in appimageTools.wrapType2 {
   meta = with lib; {
     description = "A beautiful Plex music player for audiophiles, curators, and hipsters";
     homepage = "https://plexamp.com/";
-    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/29";
+    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/30";
     license = licenses.unfree;
     maintainers = with maintainers; [ killercup synthetica ];
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
index 239b62a4026..66a14fa05b2 100644
--- a/pkgs/applications/audio/praat/default.nix
+++ b/pkgs/applications/audio/praat/default.nix
@@ -1,30 +1,34 @@
-{ lib, stdenv, fetchurl, alsa-lib, gtk2, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, wrapGAppsHook, alsa-lib, gtk3, libpulseaudio }:
 
 stdenv.mkDerivation rec {
   pname = "praat";
-  version = "6.0.43";
+  version = "6.1.50";
 
-  src = fetchurl {
-    url = "https://github.com/praat/praat/archive/v${version}.tar.gz";
-    sha256 = "1l13bvnl7sv8v6s5z63201bhzavnj6bnqcj446akippsam13z4sf";
+  src = fetchFromGitHub {
+    owner = "praat";
+    repo = "praat";
+    rev = "v${version}";
+    sha256 = "11cw4292pml71hdnfy8y91blwyh45dyam1ywr09355zk44c5njpq";
   };
 
   configurePhase = ''
-    cp makefiles/makefile.defs.linux.alsa makefile.defs
+    cp makefiles/makefile.defs.linux.pulse makefile.defs
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp praat $out/bin
+    install -Dt $out/bin praat
   '';
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ alsa-lib gtk2 ];
+  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
+  buildInputs = [ alsa-lib gtk3 libpulseaudio ];
 
-  meta = {
+  enableParallelBuilding = true;
+
+  meta = with lib; {
     description = "Doing phonetics by computer";
     homepage = "https://www.fon.hum.uva.nl/praat/";
-    license = lib.licenses.gpl2Plus; # Has some 3rd-party code in it though
-    platforms = lib.platforms.linux;
+    license = licenses.gpl2Plus; # Has some 3rd-party code in it though
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix
index 22b2a355b5e..9092ae0b91f 100644
--- a/pkgs/applications/audio/pt2-clone/default.nix
+++ b/pkgs/applications/audio/pt2-clone/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pt2-clone";
-  version = "1.29";
+  version = "1.31";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "pt2-clone";
     rev = "v${version}";
-    sha256 = "sha256-xnw4UL30nUv/Ru6x/7d05gC0X9nREMdXO9QWBjVoIvo=";
+    sha256 = "sha256-hIm9HWKBTFmxU9jI41PfScZIHpZOZpjvV2jgaMX/KSg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/audio/ptcollab/default.nix b/pkgs/applications/audio/ptcollab/default.nix
index f5752dd96f4..c5b9f2b804e 100644
--- a/pkgs/applications/audio/ptcollab/default.nix
+++ b/pkgs/applications/audio/ptcollab/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , nix-update-script
 , qmake
+, pkg-config
 , qtbase
 , qtmultimedia
 , libvorbis
@@ -12,21 +13,16 @@
 
 mkDerivation rec {
   pname = "ptcollab";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "yuxshao";
     repo = "ptcollab";
     rev = "v${version}";
-    sha256 = "1yfnf47saxxj17x0vyxihr343kp7gz3fashzky79j80sqlm6ng85";
+    sha256 = "sha256-98v9it9M5FXCsOpWvO10uKYmEH15v1FEH1hH73XHa7w=";
   };
 
-  postPatch = ''
-    substituteInPlace src/editor.pro \
-      --replace '/usr/include/rtmidi' '${rtmidi}/include/rtmidi'
-  '';
-
-  nativeBuildInputs = [ qmake ];
+  nativeBuildInputs = [ qmake pkg-config ];
 
   buildInputs = [ qtbase qtmultimedia libvorbis rtmidi ];
 
diff --git a/pkgs/applications/audio/pulseeffects/default.nix b/pkgs/applications/audio/pulseeffects/default.nix
deleted file mode 100644
index 7a7c7175a45..00000000000
--- a/pkgs/applications/audio/pulseeffects/default.nix
+++ /dev/null
@@ -1,127 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, fetchpatch
-, meson
-, ninja
-, pkg-config
-, itstool
-, python3
-, libxml2
-, desktop-file-utils
-, wrapGAppsHook
-, gst_all_1
-, pipewire
-, 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 = "5.0.3";
-
-  src = fetchFromGitHub {
-    owner = "wwmm";
-    repo = "pulseeffects";
-    rev = "v${version}";
-    sha256 = "1dicvq17vajk3vr4g1y80599ahkw0dp5ynlany1cfljfjz40s8sx";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    libxml2
-    itstool
-    python3
-    desktop-file-utils
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    pipewire
-    glib
-    glibmm
-    gtk3
-    gtkmm3
-    gst_all_1.gstreamer
-    gst_all_1.gst-plugins-base # gst-fft
-    gst_all_1.gst-plugins-good # spectrum plugin
-    gst_all_1.gst-plugins-bad
-    lilv lv2 serd sord sratom
-    libbs2b
-    libebur128
-    libsamplerate
-    libsndfile
-    rnnoise
-    boost
-    dbus
-    fftwFloat
-    zita-convolver
-  ];
-
-  patches = [
-    (fetchpatch {
-      # Fix build failure.
-      # https://github.com/wwmm/pulseeffects/pull/934
-      url = "https://github.com/wwmm/pulseeffects/commit/ab7354a6850d23840b4c9af212dbebf4f31a562f.patch";
-      sha256 = "1hd05xn6sp0xs632mqgwk19hl40kh2f69mx5mgzahysrj057w22c";
-    })
-  ];
-
-  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";
-
-  separateDebugInfo = true;
-
-  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/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 25d7857c353..460b97479c6 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -29,10 +29,11 @@
 # handle that.
 
 mkDerivation rec {
-  name = "qmmp-1.4.4";
+  pname = "qmmp";
+  version = "1.4.4";
 
   src = fetchurl {
-    url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
+    url = "https://qmmp.ylsoftware.com/files/${pname}-${version}.tar.bz2";
     sha256 = "sha256-sZRZVhCf2ceETuV4AULA0kVkuIMn3C+aYdKThqvPnVQ=";
   };
 
diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix
index 705685811ff..773560c83ca 100644
--- a/pkgs/applications/audio/reaper/default.nix
+++ b/pkgs/applications/audio/reaper/default.nix
@@ -17,11 +17,12 @@
 
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "6.28";
+  version = "6.29";
 
   src = fetchurl {
-    url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
-    hash = "sha256-38HSjR+rQWPzMOjq1abLn/MP3DCz5YzBg0v2kBsQmR4=";
+    url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${stdenv.targetPlatform.qemuArch}.tar.xz";
+    hash = if stdenv.isx86_64 then "sha256-DOul6J2Y7szy4+Q4SeO0uG6PSuU+MELE7ky8W3mSpTQ="
+                              else "sha256-67iTi6bFlbQtyCjnPIjK8K/3aV+zaCsWBRCWmgYonM4=";
   };
 
   nativeBuildInputs = [
@@ -74,7 +75,7 @@ stdenv.mkDerivation rec {
     description = "Digital audio workstation";
     homepage = "https://www.reaper.fm/";
     license = licenses.unfree;
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ jfrankenau ilian ];
   };
 }
diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix
index 65499f58630..9e338e19813 100644
--- a/pkgs/applications/audio/rhythmbox/default.nix
+++ b/pkgs/applications/audio/rhythmbox/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config
+{ lib, stdenv, fetchurl, pkg-config, fetchFromGitLab
 , python3
 , perl
 , perlPackages
@@ -6,6 +6,7 @@
 , intltool
 , libpeas
 , libsoup
+, libdmapsharing
 , gnome
 , totem-pl-parser
 , tdb
@@ -18,6 +19,25 @@
 let
   pname = "rhythmbox";
   version = "3.4.4";
+
+  # The API version of libdmapsharing required by rhythmbox 3.4.4 is 3.0.
+
+  # This PR would solve the issue:
+  # https://gitlab.gnome.org/GNOME/rhythmbox/-/merge_requests/12
+  # Unfortunately applying this patch produces a rhythmbox which
+  # cannot fetch data from DAAP shares.
+
+  libdmapsharing_3 = libdmapsharing.overrideAttrs (old: rec {
+    version = "2.9.41";
+    src = fetchFromGitLab {
+      domain = "gitlab.gnome.org";
+      owner = "GNOME";
+      repo = old.pname;
+      rev = "${lib.toUpper old.pname}_${lib.replaceStrings ["."] ["_"] version}";
+      sha256 = "05kvrzf0cp3mskdy6iv7zqq24qdczl800q2dn1h4bk3d9wchgm4p";
+    };
+  });
+
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -46,8 +66,12 @@ in stdenv.mkDerivation rec {
 
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
+
+    libdmapsharing_3 # necessary for daap support
   ] ++ gst_plugins;
 
+  configureFlags = [ "--enable-daap" ];
+
   enableParallelBuilding = true;
 
   passthru = {
diff --git a/pkgs/applications/audio/scream/default.nix b/pkgs/applications/audio/scream/default.nix
index fb0ba9408d9..c9eef3ff540 100644
--- a/pkgs/applications/audio/scream/default.nix
+++ b/pkgs/applications/audio/scream/default.nix
@@ -1,26 +1,29 @@
 { stdenv, lib, config, fetchFromGitHub, cmake, pkg-config
 , alsaSupport ? stdenv.isLinux, alsa-lib
 , pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio
+, jackSupport ? false, libjack2
 }:
 
 stdenv.mkDerivation rec {
   pname = "scream";
-  version = "3.6";
+  version = "3.7";
 
   src = fetchFromGitHub {
     owner = "duncanthrax";
     repo = pname;
     rev = version;
-    sha256 = "01k2zhfb781gfj3apmcjqbm5m05m6pvnh7fb5k81zwvqibai000v";
+    sha256 = "0d9abrw62cd08lcg4il415b7ap89iggbljvbl5jqv2y23il0pvyz";
   };
 
   buildInputs = lib.optional pulseSupport libpulseaudio
+    ++ lib.optional jackSupport libjack2
     ++ lib.optional alsaSupport alsa-lib;
   nativeBuildInputs = [ cmake pkg-config ];
 
   cmakeFlags = [
     "-DPULSEAUDIO_ENABLE=${if pulseSupport then "ON" else "OFF"}"
     "-DALSA_ENABLE=${if alsaSupport then "ON" else "OFF"}"
+    "-DJACK_ENABLE=${if jackSupport then "ON" else "OFF"}"
   ];
 
   cmakeDir = "../Receivers/unix";
diff --git a/pkgs/applications/audio/shortwave/default.nix b/pkgs/applications/audio/shortwave/default.nix
index 36ee6c12eef..0f4ffa14228 100644
--- a/pkgs/applications/audio/shortwave/default.nix
+++ b/pkgs/applications/audio/shortwave/default.nix
@@ -8,8 +8,8 @@
 , gitMinimal
 , glib
 , gst_all_1
-, gtk3
-, libhandy_0
+, gtk4
+, libadwaita
 , meson
 , ninja
 , openssl
@@ -22,20 +22,20 @@
 
 stdenv.mkDerivation rec {
   pname = "shortwave";
-  version = "1.1.1";
+  version = "2.0.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "Shortwave";
     rev = version;
-    sha256 = "1vlhp2ss06j41simjrrjg38alp85jddhqyvccy6bhfzm0gzynwld";
+    sha256 = "sha256-25qPb7qlqCwYJzl4qZxAZYx5asxSlXBlc/0dGyBdk1o=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-0+KEbjTLecL0u/3S9FWf2r2h9ZrgcRTY163kS3NKJqA=";
+    hash = "sha256-00dQXcSNmdZb2nSLG3q7jm4sugF9XR4LbH0OmcuHVxA=";
   };
 
   nativeBuildInputs = [
@@ -57,8 +57,8 @@ stdenv.mkDerivation rec {
     dbus
     gdk-pixbuf
     glib
-    gtk3
-    libhandy_0
+    gtk4
+    libadwaita
     openssl
     sqlite
   ] ++ (with gst_all_1; [
diff --git a/pkgs/applications/audio/sidplayfp/default.nix b/pkgs/applications/audio/sidplayfp/default.nix
index 4f7e43ca004..b27593626ef 100644
--- a/pkgs/applications/audio/sidplayfp/default.nix
+++ b/pkgs/applications/audio/sidplayfp/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, nix-update-script
 , autoreconfHook
 , perl
 , pkg-config
@@ -15,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sidplayfp";
-  version = "2.1.1";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "libsidplayfp";
     repo = "sidplayfp";
     rev = "v${version}";
-    sha256 = "0s3xmg3yzfqbsnlh2y46w7b5jim5zq7mshs6hx03q8wdr75cvwh4";
+    sha256 = "sha256-hN7225lhuYyo4wPDiiEc9FaPg90pZ13mLw93V8tb/P0=";
   };
 
   nativeBuildInputs = [ autoreconfHook perl pkg-config ];
@@ -37,6 +38,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "A SID player using libsidplayfp";
     homepage = "https://github.com/libsidplayfp/sidplayfp";
diff --git a/pkgs/applications/audio/songrec/default.nix b/pkgs/applications/audio/songrec/default.nix
index 2928771b3ec..ccedb4c069e 100644
--- a/pkgs/applications/audio/songrec/default.nix
+++ b/pkgs/applications/audio/songrec/default.nix
@@ -25,6 +25,10 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = [ alsa-lib gtk3 openssl ffmpeg ];
 
+  postInstall = ''
+    mv packaging/rootfs/usr/share $out/share
+  '';
+
   meta = with lib; {
     description = "An open-source Shazam client for Linux, written in Rust";
     homepage = "https://github.com/marin-m/SongRec";
diff --git a/pkgs/applications/audio/spotify-tui/default.nix b/pkgs/applications/audio/spotify-tui/default.nix
index 86873802bfa..783c15674a2 100644
--- a/pkgs/applications/audio/spotify-tui/default.nix
+++ b/pkgs/applications/audio/spotify-tui/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "spotify-tui";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "Rigellute";
     repo = "spotify-tui";
     rev = "v${version}";
-    sha256 = "082y5m2vglzx9kdc2088zynz0njcnljnb0y170igmlsxq9wkrgg2";
+    sha256 = "1vi6b22ygi6nwydjwqirph9k18akbw81m3bci134nrbnrb30glla";
   };
 
-  cargoSha256 = "1khn6fx13qlfpqwnw7ysgan5h4nrg2qnzn2p74vn7jic3mqc3sax";
+  cargoSha256 = "1l91xcgr3hcjaphns1hs0i8w1ynxqwx7rbgpl0i5xnyrkw0gn9lj";
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config python3 ];
   buildInputs = [ ]
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index db0f69c80ab..d81ab4b3ac7 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, squashfsTools, xorg, alsa-lib, makeWrapper, openssl, freetype
+{ fetchurl, lib, stdenv, squashfsTools, xorg, alsa-lib, makeWrapper, wrapGAppsHook, openssl, freetype
 , glib, pango, cairo, atk, gdk-pixbuf, gtk3, cups, nspr, nss, libpng, libnotify
 , libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg, curl, zlib, gnome
 , at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa, libxkbcommon
@@ -82,7 +82,7 @@ stdenv.mkDerivation {
     sha512 = "dabb55d2ba41f977b6d3f03bfcf147d11785136dd1277efc62011c8371ef25cc04531266bd16608639b9b6a500c1a18a45f44ba7a43e17ab5ac139e36eff7149";
   };
 
-  nativeBuildInputs = [ makeWrapper squashfsTools ];
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook squashfsTools ];
 
   dontStrip = true;
   dontPatchELF = true;
@@ -109,6 +109,9 @@ stdenv.mkDerivation {
     runHook postUnpack
   '';
 
+  # Prevent double wrapping
+  dontWrapGApps = true;
+
   installPhase =
     ''
       runHook preInstall
@@ -138,6 +141,7 @@ stdenv.mkDerivation {
 
       librarypath="${lib.makeLibraryPath deps}:$libdir"
       wrapProgram $out/share/spotify/spotify \
+        ''${gappsWrapperArgs[@]} \
         --prefix LD_LIBRARY_PATH : "$librarypath" \
         --prefix PATH : "${gnome.zenity}/bin"
 
diff --git a/pkgs/applications/audio/tonelib-gfx/default.nix b/pkgs/applications/audio/tonelib-gfx/default.nix
new file mode 100644
index 00000000000..137014508a3
--- /dev/null
+++ b/pkgs/applications/audio/tonelib-gfx/default.nix
@@ -0,0 +1,60 @@
+{ stdenv
+, dpkg
+, lib
+, autoPatchelfHook
+, fetchurl
+, gtk3
+, glib
+, desktop-file-utils
+, alsa-lib
+, libjack2
+, harfbuzz
+, fribidi
+, pango
+, freetype
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tonelib-gfx";
+  version = "4.6.6";
+
+  src = fetchurl {
+    url = "https://www.tonelib.net/download/0509/ToneLib-GFX-amd64.deb";
+    sha256 = "sha256-wdX3SQSr0IZHsTUl+1Y0iETme3gTyryexhZ/9XHkGeo=";
+  };
+
+  buildInputs = [
+    dpkg
+    gtk3
+    glib
+    desktop-file-utils
+    alsa-lib
+    libjack2
+    harfbuzz
+    fribidi
+    pango
+    freetype
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  unpackPhase = ''
+    mkdir -p $TMP/ $out/
+    dpkg -x $src $TMP
+  '';
+
+  installPhase = ''
+    cp -R $TMP/usr/* $out/
+    mv $out/bin/ToneLib-GFX $out/bin/tonelib-gfx
+  '';
+
+  meta = with lib; {
+    description = "Tonelib GFX is an amp and effects modeling software for electric guitar and bass.";
+    homepage = "https://tonelib.net/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/tonelib-jam/default.nix b/pkgs/applications/audio/tonelib-jam/default.nix
new file mode 100644
index 00000000000..c58023d6a4b
--- /dev/null
+++ b/pkgs/applications/audio/tonelib-jam/default.nix
@@ -0,0 +1,60 @@
+{ stdenv
+, dpkg
+, lib
+, autoPatchelfHook
+, fetchurl
+, gtk3
+, glib
+, desktop-file-utils
+, alsa-lib
+, libjack2
+, harfbuzz
+, fribidi
+, pango
+, freetype
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tonelib-jam";
+  version = "4.6.6";
+
+  src = fetchurl {
+    url = "https://www.tonelib.net/download/0509/ToneLib-Jam-amd64.deb";
+    sha256 = "sha256-cizIQgO35CQSLme/LKQqP+WzB/jCTk+fS5Z+EtF7wnQ=";
+  };
+
+  buildInputs = [
+    dpkg
+    gtk3
+    glib
+    desktop-file-utils
+    alsa-lib
+    libjack2
+    harfbuzz
+    fribidi
+    pango
+    freetype
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  unpackPhase = ''
+    mkdir -p $TMP/ $out/
+    dpkg -x $src $TMP
+  '';
+
+  installPhase = ''
+    cp -R $TMP/usr/* $out/
+    mv $out/bin/ToneLib-Jam $out/bin/tonelib-jam
+  '';
+
+  meta = with lib; {
+    description = "ToneLib Jam – the learning and practice software for guitar players";
+    homepage = "https://tonelib.net/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/tonelib-zoom/default.nix b/pkgs/applications/audio/tonelib-zoom/default.nix
new file mode 100644
index 00000000000..94ef3037a7c
--- /dev/null
+++ b/pkgs/applications/audio/tonelib-zoom/default.nix
@@ -0,0 +1,48 @@
+{ stdenv
+, dpkg
+, lib
+, autoPatchelfHook
+, fetchurl
+, webkitgtk
+, libjack2
+, alsa-lib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tonelib-zoom";
+  version = "4.3.1";
+
+  src = fetchurl {
+    url = "https://www.tonelib.net/download/0129/ToneLib-Zoom-amd64.deb";
+    sha256 = "sha256-4q2vM0/q7o/FracnO2xxnr27opqfVQoN7fsqTD9Tr/c=";
+  };
+
+  buildInputs = [
+    dpkg
+    webkitgtk
+    libjack2
+    alsa-lib
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  unpackPhase = ''
+    mkdir -p $TMP/ $out/
+    dpkg -x $src $TMP
+  '';
+
+  installPhase = ''
+    cp -R $TMP/usr/* $out/
+    mv $out/bin/ToneLib-Zoom $out/bin/tonelib-zoom
+  '';
+
+  meta = with lib; {
+    description = "ToneLib Zoom – change and save all the settings in your Zoom(r) guitar pedal";
+    homepage = "https://tonelib.net/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/tony/default.nix b/pkgs/applications/audio/tony/default.nix
index aa18a5e397e..15c973a46fc 100644
--- a/pkgs/applications/audio/tony/default.nix
+++ b/pkgs/applications/audio/tony/default.nix
@@ -5,10 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tony-2.1.1";
+  pname = "tony";
+  version = "2.1.1";
 
   src = fetchurl {
-    url = "https://code.soundsoftware.ac.uk/attachments/download/2616/${name}.tar.gz";
+    url = "https://code.soundsoftware.ac.uk/attachments/download/2616/${pname}-${version}.tar.gz";
     sha256 = "03g2bmlj08lmgvh54dyd635xccjn730g4wwlhpvsw04bffz8b7fp";
   };
 
diff --git a/pkgs/applications/audio/transcode/default.nix b/pkgs/applications/audio/transcode/default.nix
index ff10ff13e19..7a7ec1e4188 100644
--- a/pkgs/applications/audio/transcode/default.nix
+++ b/pkgs/applications/audio/transcode/default.nix
@@ -2,9 +2,10 @@
 , lzo, libdvdread, pkg-config, x264, libmpeg2, xvidcore }:
 
 stdenv.mkDerivation rec {
-  name = "transcode-1.1.7";
+  pname = "transcode";
+  version = "1.1.7";
   src = fetchurl {
-    url = "https://bitbucket.org/france/transcode-tcforge/downloads/${name}.tar.bz2";
+    url = "https://bitbucket.org/france/transcode-tcforge/downloads/${pname}-${version}.tar.bz2";
     sha256 = "1e4e72d8e0dd62a80b8dd90699f5ca64c9b0cb37a5c9325c184166a9654f0a92";
   };
 
diff --git a/pkgs/applications/audio/uade123/default.nix b/pkgs/applications/audio/uade123/default.nix
index 271f9f912ea..8191fd381a4 100644
--- a/pkgs/applications/audio/uade123/default.nix
+++ b/pkgs/applications/audio/uade123/default.nix
@@ -1,25 +1,74 @@
-{ lib, stdenv, fetchurl, which, libao, pkg-config }:
+{ lib
+, stdenv
+, fetchFromGitLab
+, pkg-config
+, which
+, makeWrapper
+, libao
+, libbencodetools
+, sox
+, lame
+, flac
+, vorbis-tools
+}:
 
-let
-  version = "2.13";
-in stdenv.mkDerivation {
+stdenv.mkDerivation {
   pname = "uade123";
-  inherit version;
-  src = fetchurl {
-    url = "http://zakalwe.fi/uade/uade2/uade-${version}.tar.bz2";
-    sha256 = "04nn5li7xy4g5ysyjjngmv5d3ibxppkbb86m10vrvadzxdd4w69v";
+  version = "unstable-2021-05-21";
+
+  src = fetchFromGitLab {
+    owner = "uade-music-player";
+    repo = "uade";
+    rev = "7169a46e777d19957cd7ff8ac31843203e725ddc";
+    sha256 = "1dm7c924fy79y3wkb0qi71m1k6yw1x6j3whw7d0w4ka9hv6za03b";
   };
-  nativeBuildInputs = [ pkg-config which ];
-  buildInputs = [ libao ];
+
+  postPatch = ''
+    patchShebangs .
+    substituteInPlace src/frontends/mod2ogg/mod2ogg2.sh.in \
+      --replace '-e stat' '-n stat' \
+      --replace '/usr/local' "$out"
+  '';
+
+  nativeBuildInputs = [
+    pkg-config
+    which
+    makeWrapper
+  ];
+
+  buildInputs = [
+    libao
+    libbencodetools
+    sox
+    lame
+    flac
+    vorbis-tools
+  ];
+
+  configureFlags = [
+    "--bencode-tools-prefix=${libbencodetools}"
+  ];
 
   enableParallelBuilding = true;
+
   hardeningDisable = [ "format" ];
 
+  postInstall = ''
+    wrapProgram $out/bin/mod2ogg2.sh \
+      --prefix PATH : $out/bin:${lib.makeBinPath [ sox lame flac vorbis-tools ]}
+    # This is an old script, don't break expectations by renaming it
+    ln -s $out/bin/mod2ogg2{.sh,}
+  '';
+
   meta = with lib; {
     description = "Plays old Amiga tunes through UAE emulation and cloned m68k-assembler Eagleplayer API";
-    homepage = "http://zakalwe.fi/uade/";
-    license = licenses.gpl2;
-    maintainers = [ ];
+    homepage = "https://zakalwe.fi/uade/";
+    # It's a mix of licenses. "GPL", Public Domain, "LGPL", GPL2+, BSD, LGPL21+ and source code with unknown licenses. E.g.
+    # - hippel-coso player is "[not] under any Open Source certified license"
+    # - infogrames player is disassembled from Andi Silvas player, unknown license
+    # Let's make it easy and flag the whole package as unfree.
+    license = licenses.unfree;
+    maintainers = with maintainers; [ OPNA2608 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix
index e96a6bfef20..d66c161664f 100644
--- a/pkgs/applications/audio/whipper/default.nix
+++ b/pkgs/applications/audio/whipper/default.nix
@@ -1,6 +1,7 @@
 { lib
 , python3
 , fetchFromGitHub
+, fetchpatch
 , libcdio-paranoia
 , cdrdao
 , libsndfile
@@ -22,6 +23,15 @@ in python3.pkgs.buildPythonApplication rec {
     sha256 = "00cq03cy5dyghmibsdsq5sdqv3bzkzhshsng74bpnb5lasxp3ia5";
   };
 
+  patches = [
+    (fetchpatch {
+      # Use custom YAML subclass to be compatible with ruamel_yaml>=0.17
+      # https://github.com/whipper-team/whipper/pull/543
+      url = "https://github.com/whipper-team/whipper/commit/3ce5964dfe8be1e625c3e3b091360dd0bc34a384.patch";
+      sha256 = "0n9dmib884y8syvypsg88j0h71iy42n1qsrh0am8pwna63sl15ah";
+    })
+  ];
+
   nativeBuildInputs = with python3.pkgs; [
     setuptools-scm
     docutils
diff --git a/pkgs/applications/audio/xmp/default.nix b/pkgs/applications/audio/xmp/default.nix
index 6158f33713a..5f99555d376 100644
--- a/pkgs/applications/audio/xmp/default.nix
+++ b/pkgs/applications/audio/xmp/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, pkg-config, alsa-lib, libxmp }:
 
 stdenv.mkDerivation rec {
-  name = "xmp-4.1.0";
+  pname = "xmp";
+  version = "4.1.0";
 
   meta = with lib; {
     description = "Extended module player";
@@ -11,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   src = fetchurl {
-    url = "mirror://sourceforge/xmp/xmp/${name}.tar.gz";
+    url = "mirror://sourceforge/${pname}/${pname}/${pname}-${version}.tar.gz";
     sha256 = "17i8fc7x7yn3z1x963xp9iv108gxfakxmdgmpv3mlm438w3n3g8x";
   };
 
diff --git a/pkgs/applications/audio/zita-ajbridge/default.nix b/pkgs/applications/audio/zita-ajbridge/default.nix
index db6fc7d3381..873a294540d 100644
--- a/pkgs/applications/audio/zita-ajbridge/default.nix
+++ b/pkgs/applications/audio/zita-ajbridge/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, alsa-lib, libjack2, zita-alsa-pcmi, zita-resampler }:
 
 stdenv.mkDerivation rec {
-  name = "zita-ajbridge-0.8.4";
+  pname = "zita-ajbridge";
+  version = "0.8.4";
 
   src = fetchurl {
-    url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
+    url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
     sha256 = "0g5v0l0zmqh049mhv62n8s5bpm0yrlby7mkxxhs5qwadp8v4w9mw";
   };
 
diff --git a/pkgs/applications/audio/zita-at1/default.nix b/pkgs/applications/audio/zita-at1/default.nix
index 7a66ed42b05..8a629e145c4 100644
--- a/pkgs/applications/audio/zita-at1/default.nix
+++ b/pkgs/applications/audio/zita-at1/default.nix
@@ -4,10 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "zita-at1-0.6.2";
+  pname = "zita-at1";
+  version = "0.6.2";
 
   src = fetchurl {
-    url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
+    url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
     sha256 = "0mxfn61zvhlq3r1mqipyqzjbanrfdkk8x4nxbz8nlbdk0bf3vfqr";
   };
 
diff --git a/pkgs/applications/backup/restique/default.nix b/pkgs/applications/backup/restique/default.nix
new file mode 100644
index 00000000000..744379f213d
--- /dev/null
+++ b/pkgs/applications/backup/restique/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, mkDerivation
+, fetchFromGitea
+, cmake
+, libsecret
+, qtkeychain
+, restic
+}:
+
+mkDerivation rec {
+  pname = "restique";
+  version = "unstable-2021-05-03";
+
+  src = fetchFromGitea {
+    domain = "git.srcbox.net";
+    owner = "stefan";
+    repo = "restique";
+    rev = "f83ea63c2e2f2a41e845f54c7fe2c391a528a121";
+    sha256 = "0j1qihv7hd90xkfm4ksv74q6m7cq781fbdnc3l4spcd7h2p8lh0z";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    libsecret
+    qtkeychain
+  ];
+
+  qtWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ restic ])
+  ];
+
+  meta = with lib; {
+    description = "Restic GUI for Desktop/Laptop Backups";
+    homepage = "https://git.srcbox.net/stefan/restique";
+    license = with licenses; [ gpl3Plus cc-by-sa-40 cc0 ];
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/applications/backup/vorta/default.nix b/pkgs/applications/backup/vorta/default.nix
index 4cb21e5267d..dc02e65bb7b 100644
--- a/pkgs/applications/backup/vorta/default.nix
+++ b/pkgs/applications/backup/vorta/default.nix
@@ -1,34 +1,50 @@
 { lib
-, python3
+, python3Packages
 , fetchFromGitHub
 , wrapQtAppsHook
 , borgbackup
+, qt5
 }:
 
-python3.pkgs.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "vorta";
-  version = "0.7.6";
+  version = "0.7.7";
 
   src = fetchFromGitHub {
     owner = "borgbase";
     repo = "vorta";
     rev = "v${version}";
-    sha256 = "sha256-bzhabRVgl1eLTS4KtFkn4xw2KDTZJyFU6zCJdHW5IGE=";
+    sha256 = "sha256-AH9CvoWAaNLPLC+NL+VXtYq9CNCMt0AFtC1ZGXSlcHQ=";
   };
 
-  postPatch = ''
-    sed -i -e '/setuptools_git/d' -e '/pytest-runner/d' setup.cfg
-  '';
-
   nativeBuildInputs = [ wrapQtAppsHook ];
 
-  propagatedBuildInputs = with python3.pkgs; [
-    paramiko peewee pyqt5 python-dateutil APScheduler psutil qdarkstyle
-    secretstorage appdirs setuptools
+  propagatedBuildInputs = with python3Packages; [
+    paramiko
+    peewee
+    pyqt5
+    python-dateutil
+    APScheduler
+    psutil
+    qdarkstyle
+    secretstorage
+    appdirs
+    setuptools
   ];
 
-  # QT setup in tests broken.
-  doCheck = false;
+  postPatch = ''
+    substituteInPlace setup.cfg \
+    --replace setuptools_git "" \
+    --replace pytest-runner ""
+
+    substituteInPlace src/vorta/assets/metadata/com.borgbase.Vorta.desktop \
+    --replace Exec=vorta "Exec=$out/bin/vorta" \
+    --replace com.borgbase.Vorta "com.borgbase.Vorta-symbolic"
+  '';
+
+  postInstall = ''
+    install -Dm644 src/vorta/assets/metadata/com.borgbase.Vorta.desktop $out/share/applications/com.borgbase.Vorta.desktop
+  '';
 
   preFixup = ''
     makeWrapperArgs+=(
@@ -37,6 +53,37 @@ python3.pkgs.buildPythonApplication rec {
     )
   '';
 
+  checkInputs = with python3Packages; [
+    pytest-qt
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+    # For tests/test_misc.py::test_autostart
+    mkdir -p $HOME/.config/autostart
+    export QT_PLUGIN_PATH="${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}"
+    export QT_QPA_PLATFORM=offscreen
+  '';
+
+  disabledTestPaths = [
+    "tests/test_archives.py"
+    "tests/test_borg.py"
+    "tests/test_lock.py"
+    "tests/test_notifications.py"
+  ];
+
+  disabledTests = [
+    "diff_archives_dict_issue-Users"
+    "diff_archives-test"
+    "test_repo_unlink"
+    "test_repo_add_success"
+    "test_ssh_dialog"
+    "test_create"
+    "test_scheduler_create_backup"
+  ];
+
   meta = with lib; {
     license = licenses.gpl3Only;
     homepage = "https://vorta.borgbase.com/";
diff --git a/pkgs/applications/blockchains/alfis/default.nix b/pkgs/applications/blockchains/alfis/default.nix
new file mode 100644
index 00000000000..7a808d2c72e
--- /dev/null
+++ b/pkgs/applications/blockchains/alfis/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, lib, fetchFromGitHub, rustPlatform, pkg-config
+, withGui ? true, webkitgtk, Cocoa, WebKit
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "alfis";
+  version = "0.6.5";
+
+  src = fetchFromGitHub {
+    owner = "Revertron";
+    repo = "Alfis";
+    rev = "v${version}";
+    sha256 = "1g95yvkvlj78bqrk3p2xbhrmg1hrlgbyr1a4s7vg45y60zys2c2j";
+  };
+
+  cargoSha256 = "1n7kb1lyghpkgdgd58pw8ldvfps30rnv5niwx35pkdg74h59hqgj";
+
+  cargoBuildFlags = [ "--no-default-features" ]
+    ++ lib.optional withGui "--features webgui";
+
+  cargoTestFlags = [ "--no-default-features" ]
+    ++ lib.optional withGui "--features webgui";
+
+  checkFlags = [
+    # these want internet access, disable them
+    "--skip=dns::client::tests::test_tcp_client"
+    "--skip=dns::client::tests::test_udp_client"
+  ];
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = lib.optional (withGui && stdenv.isLinux) webkitgtk
+    ++ lib.optionals (withGui && stdenv.isDarwin) [ Cocoa WebKit ];
+
+  meta = with lib; {
+    description = "Alternative Free Identity System";
+    homepage = "https://alfis.name";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ misuzu ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/blockchains/bisq-desktop/default.nix b/pkgs/applications/blockchains/bisq-desktop/default.nix
new file mode 100644
index 00000000000..ffc19765d4f
--- /dev/null
+++ b/pkgs/applications/blockchains/bisq-desktop/default.nix
@@ -0,0 +1,99 @@
+{ stdenv
+, lib
+, makeWrapper
+, fetchurl
+, makeDesktopItem
+, copyDesktopItems
+, imagemagick
+, openjdk11
+, dpkg
+, writeScript
+, coreutils
+, bash
+, tor
+, psmisc
+}:
+let
+  bisq-launcher = writeScript "bisq-launcher" ''
+    #! ${bash}/bin/bash
+
+    # Setup a temporary Tor instance
+    TMPDIR=$(${coreutils}/bin/mktemp -d)
+    CONTROLPORT=$(${coreutils}/bin/shuf -i 9100-9499 -n 1)
+    SOCKSPORT=$(${coreutils}/bin/shuf -i 9500-9999 -n 1)
+    ${coreutils}/bin/head -c 1024 < /dev/urandom > $TMPDIR/cookie
+
+    ${tor}/bin/tor --SocksPort $SOCKSPORT --ControlPort $CONTROLPORT \
+      --ControlPortWriteToFile $TMPDIR/port --CookieAuthFile $TMPDIR/cookie \
+      --CookieAuthentication 1 >$TMPDIR/tor.log --RunAsDaemon 1
+
+    torpid=$(${psmisc}/bin/fuser $CONTROLPORT/tcp)
+
+    echo Temp directory: $TMPDIR
+    echo Tor PID: $torpid
+    echo Tor control port: $CONTROLPORT
+    echo Tor SOCKS port: $SOCKSPORT
+    echo Tor log: $TMPDIR/tor.log
+    echo Bisq log file: $TMPDIR/bisq.log
+
+    JAVA_TOOL_OPTIONS="-XX:MaxRAM=4g" bisq-desktop-wrapped \
+      --torControlCookieFile=$TMPDIR/cookie \
+      --torControlUseSafeCookieAuth \
+      --torControlPort $CONTROLPORT "$@" > $TMPDIR/bisq.log
+
+    echo Bisq exited. Killing Tor...
+    kill $torpid
+  '';
+in
+stdenv.mkDerivation rec {
+  version = "1.7.0";
+  pname = "bisq-desktop";
+  nativeBuildInputs = [ makeWrapper copyDesktopItems dpkg ];
+
+  src = fetchurl {
+    url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
+    sha256 = "0crry5k7crmrqn14wxiyrnhk09ac8a9ksqrwwky7jsnyah0bx5k4";
+  };
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Bisq";
+      exec = "bisq-desktop";
+      icon = "bisq";
+      desktopName = "Bisq";
+      genericName = "Decentralized bitcoin exchange";
+      categories = "Network;Utility;";
+    })
+  ];
+
+  unpackPhase = ''
+    dpkg -x $src .
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib $out/bin
+    cp opt/bisq/lib/app/desktop-${version}-all.jar $out/lib
+
+    makeWrapper ${openjdk11}/bin/java $out/bin/bisq-desktop-wrapped \
+      --add-flags "-jar $out/lib/desktop-${version}-all.jar bisq.desktop.app.BisqAppMain"
+
+    makeWrapper ${bisq-launcher} $out/bin/bisq-desktop \
+      --prefix PATH : $out/bin
+
+    copyDesktopItems
+
+    for n in 16 24 32 48 64 96 128 256; do
+      size=$n"x"$n
+      ${imagemagick}/bin/convert opt/bisq/lib/Bisq.png -resize $size bisq.png
+      install -Dm644 -t $out/share/icons/hicolor/$size/apps bisq.png
+    done;
+  '';
+
+  meta = with lib; {
+    description = "A decentralized bitcoin exchange network";
+    homepage = "https://bisq.network";
+    license = licenses.mit;
+    maintainers = with maintainers; [ juaningan emmanuelrosa ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/blockchains/bitcoin.nix b/pkgs/applications/blockchains/bitcoin.nix
index 162a5ddee1a..00727d294df 100644
--- a/pkgs/applications/blockchains/bitcoin.nix
+++ b/pkgs/applications/blockchains/bitcoin.nix
@@ -1,21 +1,22 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
-, pkg-config
 , autoreconfHook
-, db48
-, sqlite
+, pkg-config
+, util-linux
+, hexdump
+, wrapQtAppsHook ? null
 , boost
+, libevent
+, miniupnpc
 , zeromq
-, hexdump
 , zlib
-, miniupnpc
+, db48
+, sqlite
+, qrencode
 , qtbase ? null
 , qttools ? null
-, wrapQtAppsHook ? null
-, util-linux
 , python3
-, qrencode
-, libevent
 , nixosTests
 , withGui
 , withWallet ? true
@@ -43,13 +44,14 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs =
-    [ pkg-config autoreconfHook ]
-    ++ optional stdenv.isDarwin hexdump
-    ++ optional withGui wrapQtAppsHook;
-  buildInputs = [ boost zlib zeromq miniupnpc libevent ]
+    [ autoreconfHook pkg-config ]
     ++ optionals stdenv.isLinux [ util-linux ]
+    ++ optionals stdenv.isDarwin [ hexdump ]
+    ++ optionals withGui [ wrapQtAppsHook ];
+
+  buildInputs = [ boost libevent miniupnpc zeromq zlib ]
     ++ optionals withWallet [ db48 sqlite ]
-    ++ optionals withGui [ qtbase qttools qrencode ];
+    ++ optionals withGui [ qrencode qtbase qttools ];
 
   postInstall = optional withGui ''
     install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop
diff --git a/pkgs/applications/blockchains/btcpayserver/default.nix b/pkgs/applications/blockchains/btcpayserver/default.nix
index 7b6e3918da5..d942ac768a8 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.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cCm4CZdVtjO2nj69CgRCrcwO0lAbiQVD6KocOj4CSdY=";
+    sha256 = "sha256-A9XIKCw1dL4vUQYSu6WdmpR82dAbtKVTyjllquyRGgs=";
   };
 
   nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
diff --git a/pkgs/applications/blockchains/charge-lnd/default.nix b/pkgs/applications/blockchains/charge-lnd/default.nix
index 3707b0741b6..b2d28ed8942 100644
--- a/pkgs/applications/blockchains/charge-lnd/default.nix
+++ b/pkgs/applications/blockchains/charge-lnd/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "charge-lnd";
-  version = "0.1.2";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "accumulator";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1m1ic69aj2vlnjlp4ckan8n67r01nfysvq4w6nny32wjkr0zvphr";
+    sha256 = "087y60hpld17bg2ya5nlh4m4sam4s6mx8vrqhm48idj1rmlcpfws";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/blockchains/chia/default.nix b/pkgs/applications/blockchains/chia/default.nix
index 7b85a242eff..f6ec6a0ec69 100644
--- a/pkgs/applications/blockchains/chia/default.nix
+++ b/pkgs/applications/blockchains/chia/default.nix
@@ -6,18 +6,16 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "chia";
-  version = "1.1.7";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "Chia-Network";
     repo = "chia-blockchain";
     rev = version;
-    sha256 = "05hcckkv3vhz172w9kp5lh4srakizx1l383dijs50vgx2bj30m8v";
+    sha256 = "sha256-ZYncyaX9gqBhDKiC87A2xI7VeU0zGsmm3Sx45lwgnrg=";
   };
 
   patches = [
-    # tweak version requirements to what's available in Nixpkgs
-    ./dependencies.patch
     # Allow later websockets release, https://github.com/Chia-Network/chia-blockchain/pull/6304
     (fetchpatch {
       name = "later-websockets.patch";
@@ -66,6 +64,16 @@ python3Packages.buildPythonApplication rec {
     "test_spend_zero_coin"
   ];
 
+  postPatch = ''
+    # tweak version requirements to what's available in Nixpkgs
+    substituteInPlace setup.py \
+      --replace "aiohttp==3.7.4" "aiohttp>=3.7.4" \
+      --replace "sortedcontainers==2.3.0" "sortedcontainers>=2.3.0" \
+      --replace "click==7.1.2" "click>=7.1.2" \
+      --replace "clvm_rs==0.1.8" "clvm_rs>=0.1.8" \
+      --replace "clvm==0.9.7" "clvm>=0.9.7" \
+  '';
+
   preCheck = ''
     export HOME=`mktemp -d`
   '';
diff --git a/pkgs/applications/blockchains/chia/dependencies.patch b/pkgs/applications/blockchains/chia/dependencies.patch
deleted file mode 100644
index d9575d1d392..00000000000
--- a/pkgs/applications/blockchains/chia/dependencies.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index c5cf95db..b783a9e6 100644
---- a/setup.py
-+++ b/setup.py
-@@ -8,7 +8,7 @@ dependencies = [
-     "clvm==0.9.6",
-     "clvm_rs==0.1.7",
-     "clvm_tools==0.4.3",
--    "aiohttp==3.7.4",  # HTTP server for full node rpc
-+    "aiohttp==3.7.4.post0",  # HTTP server for full node rpc
-     "aiosqlite==0.17.0",  # asyncio wrapper for sqlite, to store blocks
-     "bitstring==3.1.7",  # Binary data management library
-     "colorlog==5.0.1",  # Adds color to logs
diff --git a/pkgs/applications/blockchains/electrs.nix b/pkgs/applications/blockchains/electrs.nix
index af0346196a3..cf2f4d3d47e 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.9";
+  version = "0.8.10";
 
   src = fetchFromGitHub {
     owner = "romanz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "01fli2k5yh4iwlds97p5c36q19s3zxrqhkzp9dsjbgsf7sv35r3y";
+    sha256 = "0q7mvpflnzzm88jbsdxgvhk9jr5mvn23hhj2iwy2grnfngxsmz3y";
   };
 
   # needed for librocksdb-sys
   nativeBuildInputs = [ llvmPackages.clang ];
   LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
 
-  cargoSha256 = "1rqpadlr9r4z2z825li6vi5a21hivc3bsn5ibxshrdrwiycyyxz8";
+  cargoSha256 = "0i8npa840g4kz50n6x40z22x9apq8snw6xgjz4vn2kh67xc4c738";
 
   meta = with lib; {
     description = "An efficient re-implementation of Electrum Server in Rust";
diff --git a/pkgs/applications/blockchains/elements.nix b/pkgs/applications/blockchains/elements.nix
new file mode 100644
index 00000000000..c44f2078dae
--- /dev/null
+++ b/pkgs/applications/blockchains/elements.nix
@@ -0,0 +1,86 @@
+{ lib
+, stdenv
+, fetchurl
+, autoreconfHook
+, pkg-config
+, util-linux
+, hexdump
+, wrapQtAppsHook ? null
+, boost
+, libevent
+, miniupnpc
+, zeromq
+, zlib
+, db48
+, sqlite
+, qrencode
+, qtbase ? null
+, qttools ? null
+, python3
+, openssl
+, withGui
+, withWallet ? true
+}:
+
+with lib;
+stdenv.mkDerivation rec {
+  pname = if withGui then "elements" else "elementsd";
+  version = "0.18.1.12";
+
+  src = fetchurl {
+    url = "https://github.com/ElementsProject/elements/archive/elements-${version}.tar.gz";
+    sha256 = "84a51013596b09c62913649ac90373622185f779446ee7e65b4b258a2876609f";
+  };
+
+  nativeBuildInputs =
+    [ autoreconfHook pkg-config ]
+    ++ optionals stdenv.isLinux [ util-linux ]
+    ++ optionals stdenv.isDarwin [ hexdump ]
+    ++ optionals withGui [ wrapQtAppsHook ];
+
+  buildInputs = [ boost libevent miniupnpc zeromq zlib openssl ]
+    ++ optionals withWallet [ db48 sqlite ]
+    ++ optionals withGui [ qrencode qtbase qttools ];
+
+  configureFlags = [
+    "--with-boost-libdir=${boost.out}/lib"
+    "--disable-bench"
+  ] ++ optionals (!doCheck) [
+    "--disable-tests"
+    "--disable-gui-tests"
+  ] ++ optionals (!withWallet) [
+    "--disable-wallet"
+  ] ++ optionals withGui [
+    "--with-gui=qt5"
+    "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+  ];
+
+  checkInputs = [ python3 ];
+
+  doCheck = true;
+
+  checkFlags =
+    [ "LC_ALL=C.UTF-8" ]
+    # QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI.
+    # See also https://github.com/NixOS/nixpkgs/issues/24256
+    ++ optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Open Source implementation of advanced blockchain features extending the Bitcoin protocol";
+    longDescription= ''
+      The Elements blockchain platform is a collection of feature experiments and extensions to the
+      Bitcoin protocol. This platform enables anyone to build their own businesses or networks
+      pegged to Bitcoin as a sidechain or run as a standalone blockchain with arbitrary asset
+      tokens.
+    '';
+    homepage = "https://www.github.com/ElementsProject/elements";
+    maintainers = with maintainers; [ prusnak ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+    # Qt GUI is currently broken in upstream
+    # No rule to make target 'qt/res/rendered_icons/about.png', needed by 'qt/qrc_bitcoin.cpp'.
+    broken = withGui;
+  };
+}
diff --git a/pkgs/applications/blockchains/ergo/default.nix b/pkgs/applications/blockchains/ergo/default.nix
index 4f61be7dcee..8b8ff3f48ba 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 = "4.0.11";
+  version = "4.0.12";
 
   src = fetchurl {
     url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
-    sha256 = "sha256-GzpYwytkWZBEIVmsOmK5RTJ7lPUfDeC1204FbK4O+XQ=";
+    sha256 = "sha256-cIMaCouzuI7UQ6UY4caGcTzA+Xp7vLdoOwIfGG+ahsU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/blockchains/ethabi/default.nix b/pkgs/applications/blockchains/ethabi/default.nix
index e2598ba22db..49f34a68bba 100644
--- a/pkgs/applications/blockchains/ethabi/default.nix
+++ b/pkgs/applications/blockchains/ethabi/default.nix
@@ -22,6 +22,5 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/rust-ethereum/ethabi";
     maintainers = [ maintainers.dbrock ];
     license = licenses.asl20;
-    inherit version;
   };
 }
diff --git a/pkgs/applications/blockchains/faraday/default.nix b/pkgs/applications/blockchains/faraday/default.nix
index 90d76e29b6b..76e91f2bbe5 100644
--- a/pkgs/applications/blockchains/faraday/default.nix
+++ b/pkgs/applications/blockchains/faraday/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "faraday";
-  version = "0.2.3-alpha";
+  version = "0.2.5-alpha";
 
   src = fetchFromGitHub {
     owner = "lightninglabs";
     repo = "faraday";
     rev = "v${version}";
-    sha256 = "16cqaslsbwda23b5n0sfppybd3ma4ch545100ydxrwac4zhrq4kq";
+    sha256 = "16mz333a6awii6g46gr597j31jmgws4285s693q0b87fl1ggj2zz";
   };
 
-  vendorSha256 = "1hh99nfprlmhkc36arg3w1kxby59i2l7n258cp40niv7bjn37hrq";
+  vendorSha256 = "1nclmvypxp5436q6qaagp1k5bfmaia7hsykw47va0pijlsvsbmck";
 
   subPackages = [ "cmd/frcli" "cmd/faraday" ];
 
@@ -22,6 +22,6 @@ buildGoModule rec {
     description = "LND Channel Management Tools";
     homepage = "https://github.com/lightninglabs/faraday";
     license = licenses.mit;
-    maintainers = with maintainers; [ proofofkeags ];
+    maintainers = with maintainers; [ proofofkeags prusnak ];
   };
 }
diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum.nix
index 4310f809bac..05bc2b824fc 100644
--- a/pkgs/applications/blockchains/go-ethereum.nix
+++ b/pkgs/applications/blockchains/go-ethereum.nix
@@ -4,21 +4,22 @@ let
   # A list of binaries to put into separate outputs
   bins = [
     "geth"
+    "clef"
   ];
 
 in buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.10.3";
+  version = "1.10.4";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-85aUR7MvaPeRilC+4oj6XW2IEUvxRUsVz63tQ/Jc7xw=";
+    sha256 = "sha256-DRlIiO3iXUsQnmOf5T9uk3560tVbS+Hrs8QtVkmllAI=";
   };
 
   runVend = true;
-  vendorSha256 = "sha256-8zhVQ8FUdzog7h9RBfuq8uBp0zjulXbDOLAPljp4deA=";
+  vendorSha256 = "sha256-a/vY9iyqSM9QPs7lGFF6E7e2cMjIerVkNf5KwiWdyr0=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 298ae39716b..1c6c41a0e72 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.26.1";
+  version = "2.30.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    sha256 = "0zbzqq3c0q45dz4vvgfbvqcgda7413mnwixi7yi78qb9mp8zxkhy";
+    sha256 = "0xh28m3slzg6bp0fm183m62ydzqkvj384j4dwsfalgz4ndwvy595";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/lightning-loop/default.nix b/pkgs/applications/blockchains/lightning-loop/default.nix
new file mode 100644
index 00000000000..851a1b1d040
--- /dev/null
+++ b/pkgs/applications/blockchains/lightning-loop/default.nix
@@ -0,0 +1,27 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "lightning-loop";
+  version = "0.14.1-beta";
+
+  src = fetchFromGitHub {
+    owner = "lightninglabs";
+    repo = "loop";
+    rev = "v${version}";
+    sha256 = "0fnbf0cryrw9yk3z1g7innv1rxxk7h2lhfakdj994l5a0pgzghmy";
+  };
+
+  vendorSha256 = "1i7mmf4ab4a6h08df6zlyjdnmvn44i2y3fc05hq6g1ln1bzdrz40";
+
+  subPackages = [ "cmd/loop" "cmd/loopd" ];
+
+  meta = with lib; {
+    description = "Lightning Loop Client";
+    homepage = "https://github.com/lightninglabs/loop";
+    license = licenses.mit;
+    maintainers = with maintainers; [ proofofkeags prusnak ];
+  };
+}
diff --git a/pkgs/applications/blockchains/lightning-pool/default.nix b/pkgs/applications/blockchains/lightning-pool/default.nix
new file mode 100644
index 00000000000..978509cc237
--- /dev/null
+++ b/pkgs/applications/blockchains/lightning-pool/default.nix
@@ -0,0 +1,27 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "lightning-pool";
+  version = "0.5.0-alpha";
+
+  src = fetchFromGitHub {
+    owner = "lightninglabs";
+    repo = "pool";
+    rev = "v${version}";
+    sha256 = "0i8qkxnrx3a89aw3v0mx7przlldl8kc0ng6g1m435366y6nzdarb";
+  };
+
+  vendorSha256 = "04v2788w8l734n5xz6fwjbwkqlbk8q77nwncjpn7890mw75yd3rn";
+
+  subPackages = [ "cmd/pool" "cmd/poold" ];
+
+  meta = with lib; {
+    description = "Lightning Pool Client";
+    homepage = "https://github.com/lightninglabs/pool";
+    license = licenses.mit;
+    maintainers = with maintainers; [ proofofkeags prusnak ];
+  };
+}
diff --git a/pkgs/applications/blockchains/lightwalletd/default.nix b/pkgs/applications/blockchains/lightwalletd/default.nix
new file mode 100644
index 00000000000..0c95dde0f15
--- /dev/null
+++ b/pkgs/applications/blockchains/lightwalletd/default.nix
@@ -0,0 +1,37 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "lightwalletd";
+  version = "0.4.7";
+
+  src = fetchFromGitHub {
+    owner = "zcash";
+    repo  = "lightwalletd";
+    rev = "v${version}";
+    sha256 = "0dwam3fhc4caga7kjg6cc06sz47g4ii7n3sa4j2ac4aiy21hsbjk";
+  };
+
+  vendorSha256 = null;
+
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/zcash/lightwalletd/common.Version=v${version}"
+    "-X github.com/zcash/lightwalletd/common.GitCommit=v${version}"
+    "-X github.com/zcash/lightwalletd/common.BuildDate=1970-01-01"
+    "-X github.com/zcash/lightwalletd/common.BuildUser=nixbld"
+  ];
+
+  postFixup = ''
+    shopt -s extglob
+    cd $out/bin
+    rm !(lightwalletd)
+  '';
+
+  meta = with lib; {
+    description = "A backend service that provides a bandwidth-efficient interface to the Zcash blockchain";
+    homepage = "https://github.com/zcash/lightwalletd";
+    maintainers = with maintainers; [ centromere ];
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/blockchains/lnd.nix b/pkgs/applications/blockchains/lnd.nix
index 147d826dfa6..e8c6d14b3db 100644
--- a/pkgs/applications/blockchains/lnd.nix
+++ b/pkgs/applications/blockchains/lnd.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "lnd";
-  version = "0.12.1-beta";
+  version = "0.13.0-beta";
 
   src = fetchFromGitHub {
     owner = "lightningnetwork";
     repo = "lnd";
     rev = "v${version}";
-    sha256 = "0ly6909cg0qzdsp9idp1g7zqd6liw7f142d7n7vga64s1ksvv6lx";
+    sha256 = "0fwidjkfzzd7k891x5z7jrx2arl0kwj6vm9z2acsyy7riv4zfjbq";
   };
 
-  vendorSha256 = "00q8dydskzg4rhxnnpzpbmmvc3q4wzm8z3dps2bv0nx3fk0fmrl3";
+  vendorSha256 = "19myr9f5zh05y6lagd9pra60y8df7pz837310cbpq9a6zzwpdxk2";
 
   subPackages = ["cmd/lncli" "cmd/lnd"];
 
diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix
index 59e09939e80..d7a27dd4bcc 100644
--- a/pkgs/applications/blockchains/monero-gui/default.nix
+++ b/pkgs/applications/blockchains/monero-gui/default.nix
@@ -9,14 +9,9 @@
 , boost, libunwind, libsodium, pcsclite
 , randomx, zeromq, libgcrypt, libgpgerror
 , hidapi, rapidjson, quirc
-, trezorSupport ? true
-,   libusb1
-,   protobuf
-,   python3
+, trezorSupport ? true, libusb1, protobuf, python3
 }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   pname = "monero-gui";
   version = "0.17.2.2";
@@ -30,7 +25,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake pkg-config wrapQtAppsHook
-    (getDev qttools)
+    (lib.getDev qttools)
   ];
 
   buildInputs = [
@@ -41,8 +36,8 @@ stdenv.mkDerivation rec {
     randomx libgcrypt libgpgerror
     boost libunwind libsodium pcsclite
     zeromq hidapi rapidjson quirc
-  ] ++ optionals trezorSupport [ libusb1 protobuf python3 ]
-    ++ optionals stdenv.isDarwin [ qtmacextras ];
+  ] ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ]
+    ++ lib.optionals stdenv.isDarwin [ qtmacextras ];
 
   postUnpack = ''
     # copy monero sources here
@@ -98,7 +93,7 @@ stdenv.mkDerivation rec {
     done;
   '';
 
-  meta = {
+  meta = with lib; {
     description  = "Private, secure, untraceable currency";
     homepage     = "https://getmonero.org/";
     license      = licenses.bsd3;
diff --git a/pkgs/applications/blockchains/monero/default.nix b/pkgs/applications/blockchains/monero/default.nix
index 2a12bfe872b..7dd2e569021 100644
--- a/pkgs/applications/blockchains/monero/default.nix
+++ b/pkgs/applications/blockchains/monero/default.nix
@@ -4,17 +4,9 @@
 , zeromq, pcsclite, readline, libsodium, hidapi
 , randomx, rapidjson
 , CoreData, IOKit, PCSC
-, trezorSupport ? true
-,   libusb1  ? null
-,   protobuf ? null
-,   python3  ? null
+, trezorSupport ? true, libusb1, protobuf, python3
 }:
 
-with lib;
-
-assert stdenv.isDarwin -> IOKit != null;
-assert trezorSupport -> all (x: x!=null) [ libusb1 protobuf python3 ];
-
 stdenv.mkDerivation rec {
   pname = "monero";
   version = "0.17.2.0";
@@ -45,8 +37,8 @@ stdenv.mkDerivation rec {
     zeromq pcsclite readline
     libsodium hidapi randomx rapidjson
     protobuf
-  ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ]
-    ++ optionals trezorSupport [ libusb1 protobuf python3 ];
+  ] ++ lib.optionals stdenv.isDarwin [ IOKit CoreData PCSC ]
+    ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
 
   cmakeFlags = [
     "-DCMAKE_BUILD_TYPE=Release"
@@ -54,7 +46,7 @@ stdenv.mkDerivation rec {
     "-DBUILD_GUI_DEPS=ON"
     "-DReadline_ROOT_DIR=${readline.dev}"
     "-DRandomX_ROOT_DIR=${randomx}"
-  ] ++ optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
+  ] ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
 
   outputs = [ "out" "source" ];
 
diff --git a/pkgs/applications/blockchains/nano-wallet/default.nix b/pkgs/applications/blockchains/nano-wallet/default.nix
index 0e39587fabb..8e8d3da92be 100644
--- a/pkgs/applications/blockchains/nano-wallet/default.nix
+++ b/pkgs/applications/blockchains/nano-wallet/default.nix
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    inherit version;
     description = "Wallet for Nano cryptocurrency";
     homepage = "https://nano.org/en/wallet/";
     license = lib.licenses.bsd2;
diff --git a/pkgs/applications/blockchains/nbxplorer/default.nix b/pkgs/applications/blockchains/nbxplorer/default.nix
index 7e279b22696..40deef62c2c 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.51";
+  version = "2.1.52";
 
   src = fetchFromGitHub {
     owner = "dgarage";
     repo = "NBXplorer";
     rev = "v${version}";
-    sha256 = "sha256-tvuuoDZCSDFa8gAVyH+EP1DLtdPfbkr+w5lSxZkzZXg=";
+    sha256 = "sha256-+BP71TQ8BTGZ/SbS7CrI4D7hcQaVLt+hCpInbOdU5GY=";
   };
 
   nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
diff --git a/pkgs/applications/blockchains/nbxplorer/deps.nix b/pkgs/applications/blockchains/nbxplorer/deps.nix
index de75ad228d3..b7b01b14bff 100644
--- a/pkgs/applications/blockchains/nbxplorer/deps.nix
+++ b/pkgs/applications/blockchains/nbxplorer/deps.nix
@@ -181,23 +181,23 @@
   })
   (fetchNuGet {
     name = "NBitcoin.Altcoins";
-    version = "2.0.31";
-    sha256 = "13gcfsxpfq8slmsvgzf6iv581x7n535zq0p9c88bqs5p88r6lygm";
+    version = "2.0.33";
+    sha256 = "12r4w89247xzrl2g01iv13kg1wl7gzfz1zikimx6dyhr4iipbmgf";
   })
   (fetchNuGet {
     name = "NBitcoin.TestFramework";
-    version = "2.0.22";
-    sha256 = "1zwhjy6xppl01jhkgl7lqjsmi8crny4qq22ml20cz8l437j1zi4n";
+    version = "2.0.23";
+    sha256 = "03jw3gay7brm7s7jwn4zbk1n1sq7gck523cx3ckx87v3wi2062lx";
   })
   (fetchNuGet {
     name = "NBitcoin";
-    version = "5.0.76";
-    sha256 = "0q3ilmsrw9ip1s38qmfs4qi02xvccmy1naafffn5yxj08q0n1p79";
+    version = "5.0.78";
+    sha256 = "1mfn045l489bm2xgjhvddhfy4xxcy42q6jhq4nyd6fnxg4scxyg9";
   })
   (fetchNuGet {
     name = "NBitcoin";
-    version = "5.0.77";
-    sha256 = "0ykz4ii6lh6gdlz6z264wnib5pfnmq9q617qqbg0f04mq654jygb";
+    version = "5.0.81";
+    sha256 = "1fba94kc8yzykb1m5lvpx1hm63mpycpww9cz5zfp85phs1spdn8x";
   })
   (fetchNuGet {
     name = "NETStandard.Library";
diff --git a/pkgs/applications/blockchains/oxen/default.nix b/pkgs/applications/blockchains/oxen/default.nix
new file mode 100644
index 00000000000..6fd91495b47
--- /dev/null
+++ b/pkgs/applications/blockchains/oxen/default.nix
@@ -0,0 +1,67 @@
+{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch
+, cmake, pkg-config
+, boost, openssl, unbound
+, pcsclite, readline, libsodium, hidapi
+, rapidjson
+, curl, sqlite
+, trezorSupport ? true
+, libusb1
+, protobuf
+, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "oxen";
+  version = "9.1.3";
+
+  src = fetchFromGitHub {
+    owner = "oxen-io";
+    repo = "oxen-core";
+    rev = "v${version}";
+    sha256 = "11g3wqn0syk47yfcsdql5737kpad8skwdxhifn2yaz9zy8n3xqqb";
+    fetchSubmodules = true;
+  };
+
+  # Required for static linking, the only supported install path
+  lbzmqsrc = fetchurl {
+    url = "https://github.com/zeromq/libzmq/releases/download/v4.3.3/zeromq-4.3.3.tar.gz";
+    sha512 = "4c18d784085179c5b1fcb753a93813095a12c8d34970f2e1bfca6499be6c9d67769c71c68b7ca54ff181b20390043170e89733c22f76ff1ea46494814f7095b1";
+  };
+
+  postPatch = ''
+    # remove vendored libraries
+    rm -r external/rapidjson
+    sed -i s,/lib/,/lib64/, external/loki-mq/cmake/local-libzmq//LocalLibzmq.cmake
+  '';
+
+  postInstall = ''
+    rm -R $out/lib $out/include
+  '';
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [
+    boost openssl unbound
+    pcsclite readline
+    libsodium hidapi rapidjson
+    protobuf curl sqlite
+  ] ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    # "-DUSE_DEVICE_TREZOR=ON"
+    # "-DBUILD_GUI_DEPS=ON"
+    "-DReadline_ROOT_DIR=${readline.dev}"
+    # It build with shared libs but doesn't install them. Fail.
+    # "-DBUILD_SHARED_LIBS=ON"
+    "-DLIBZMQ_TARBALL_URL=${lbzmqsrc}"
+  ] ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
+
+  meta = with lib; {
+    description = "Private cryptocurrency based on Monero";
+    homepage    = "https://oxen.io/";
+    license     = licenses.bsd3;
+    platforms   = platforms.all;
+    maintainers = [ maintainers.viric ];
+  };
+}
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index 105686777db..a1f0b17b202 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.9.3";
+  version = "0.9.8";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "polkadot";
     rev = "v${version}";
-    sha256 = "sha256-BxBrgcAJm6KM6ha494xlwiLYOSAr71gDFgqlH5RPqMM=";
+    sha256 = "sha256-5PNogoahAZUjIlQsVXwm7j5OmP3/uEEdV0vrIDXXBx8=";
   };
 
-  cargoSha256 = "131fkdazcspblzblmd9nhkymwn7qh6lhaqvi1jqnsq4951l9f4ms";
+  cargoSha256 = "0iikys90flzmnnb6l2wzag8mp91p6z9y7rjzym2sd6m7xhgbc1x6";
 
   nativeBuildInputs = [ clang ];
 
diff --git a/pkgs/applications/blockchains/trezor-suite/default.nix b/pkgs/applications/blockchains/trezor-suite/default.nix
index bd9e26ae73a..8d2da4c3665 100644
--- a/pkgs/applications/blockchains/trezor-suite/default.nix
+++ b/pkgs/applications/blockchains/trezor-suite/default.nix
@@ -8,7 +8,7 @@
 
 let
   pname = "trezor-suite";
-  version = "21.6.1";
+  version = "21.7.1";
   name = "${pname}-${version}";
 
   suffix = {
@@ -20,8 +20,8 @@ let
     url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage";
     # sha512 hashes are obtained from latest-linux-arm64.yml and latest-linux.yml
     sha512 = {
-      aarch64-linux = "sha512-IxWiOJEk2PHdKf4QPHH9Y5rdyhKF3aQCHJe1crS4sYrE+4BLj3rFwRPIIGhJLqzqPyW24Hw/A4lnRnDd/UpsNA==";
-      x86_64-linux  = "sha512-pSJ+4y9v1ltXun3F4UyQoSTJdaFSelIHx49DBbd180MSbpETecVa7OFadKjlSUKD1sknNXG9MDb2hv7SRNdDYw==";
+      aarch64-linux = "sha512-GEu1Zx3IQws8wsVsZUaIKvC0kTe8l/BBPSdu5q44tDpszmPugz8G/8FDAO/Ra50dzyiHhRheybZPuf2BBGGb7A==";
+      x86_64-linux  = "sha512-ghPbQa/MstzfUOWve1KNwB1t9dxK0+eYunBSoShWKpb85hgK69+ncTmhY8HejT28OkjFnGk6h4PWbrnQetj8MA==";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
@@ -46,7 +46,7 @@ appimageTools.wrapType2 rec {
     install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png
     install -m 444 -D ${appimageContents}/resources/images/icons/512x512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
     substituteInPlace $out/share/applications/${pname}.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
+      --replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
 
     # symlink system binaries instead bundled ones
     mkdir -p $out/share/${pname}/resources/bin/{bridge,tor}
diff --git a/pkgs/applications/blockchains/zcash/default.nix b/pkgs/applications/blockchains/zcash/default.nix
index a899071fe58..298b678a316 100644
--- a/pkgs/applications/blockchains/zcash/default.nix
+++ b/pkgs/applications/blockchains/zcash/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
   pname = "zcash";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo  = "zcash";
     rev = "v${version}";
-    sha256 = "19vhblyqkaf1lapx8s4v88xjpslqmrd1jnar46rschzcz0mm9sq4";
+    sha256 = "0nhrjizx518khrl8aygag6a1ianzzqpchasggi963f807kv7ipb7";
   };
 
-  cargoSha256 = "1yiy1506ijndxb9bx79p7fkfvw1c5zdsljil4m55xz1mv8dzhbgm";
+  cargoSha256 = "101j8cn2lg3l1gn53yg3svzwx783z331g9kzn9ici4azindyx903";
 
   nativeBuildInputs = [ autoreconfHook cargo hexdump makeWrapper pkg-config ];
   buildInputs = [ boost174 libevent libsodium utf8cpp ]
diff --git a/pkgs/applications/editors/apostrophe/default.nix b/pkgs/applications/editors/apostrophe/default.nix
index 851c3ea1c2f..df0be4ccfbe 100644
--- a/pkgs/applications/editors/apostrophe/default.nix
+++ b/pkgs/applications/editors/apostrophe/default.nix
@@ -2,7 +2,7 @@
 , wrapGAppsHook, pkg-config, desktop-file-utils
 , appstream-glib, pythonPackages, glib, gobject-introspection
 , gtk3, webkitgtk, glib-networking, gnome, gspell, texlive
-, shared-mime-info, libhandy
+, shared-mime-info, libhandy, fira
 }:
 
 let
@@ -31,6 +31,12 @@ in stdenv.mkDerivation rec {
     glib-networking libhandy ];
 
   postPatch = ''
+    substituteInPlace data/media/css/web/base.css                                        \
+      --replace 'url("/app/share/fonts/FiraSans-Regular.ttf") format("ttf")'             \
+                'url("${fira}/share/fonts/opentype/FiraSans-Regular.otf") format("otf")' \
+      --replace 'url("/app/share/fonts/FiraMono-Regular.ttf") format("ttf")'             \
+                'url("${fira}/share/fonts/opentype/FiraMono-Regular.otf") format("otf")'
+
     patchShebangs --build build-aux/meson_post_install.py
   '';
 
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index f6e6283338d..bab29597c76 100644
--- a/pkgs/applications/editors/cudatext/default.nix
+++ b/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.133.5";
+  version = "1.137.2";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    sha256 = "sha256-0QWYitlOS3x7BQpFTYDAjIgkw83IkRFfA/slyEvQUnw=";
+    sha256 = "sha256-OiLYXx1sBkEJpMPTa/45QPHLtmeI6ZLles7GfjEBGtQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index 7866f2dd272..8ca09925058 100644
--- a/pkgs/applications/editors/cudatext/deps.json
+++ b/pkgs/applications/editors/cudatext/deps.json
@@ -6,33 +6,33 @@
   },
   "ATBinHex-Lazarus": {
     "owner": "Alexey-T",
-    "rev": "2021.02.13",
-    "sha256": "1p2r2q1al6rcsdbbg8ilm4xn6w48bj348khxdmpak7vfwx9741h8"
+    "rev": "2021.07.02",
+    "sha256": "sha256-XSt2XfHMiF/ZIf07M65u+k5FjacyToL0rWbpcflKcuY="
   },
   "ATFlatControls": {
     "owner": "Alexey-T",
-    "rev": "2021.05.16",
-    "sha256": "sha256-oQW0M8Sx1bC+keOWivXwlD5SDKJuO5Sk/3HiO9HvJtY="
+    "rev": "2021.07.09",
+    "sha256": "sha256-hVoHH29JLPy3qq73e5EV4bxERcizocO4RBgvqD+VhWo="
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "2021.05.31",
-    "sha256": "sha256-4B6/I0CH9gfslwUbCTTI4kycgTHUjLGtVrCctfO6gRo="
+    "rev": "0cf6e09f673beb3a25d6957c97eeeee37024617b",
+    "sha256": "sha256-oqxzORNva7tZXNlI/mSe722p6Tbkf7Ie6GPL3TxjV98="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
-    "rev": "2021.05.03",
-    "sha256": "sha256-zns83XA2SslHRGqa3iro0phIBlz5/neJ34TTYAKhX5Q="
+    "rev": "2021.07.09",
+    "sha256": "sha256-w5f1s8yjkYfDqAcKISRgJd3fe+f2NyO3ZtFLLfiBm2Q="
   },
   "EControl": {
     "owner": "Alexey-T",
-    "rev": "2021.05.27",
-    "sha256": "sha256-D0UBK69V28Izs9FgevtvX6vyDU7KpfIGJqcqpWaxU9E="
+    "rev": "2021.07.02",
+    "sha256": "sha256-PndvBiqdqw681AC6q33UWdzUvcYHxj1WuYsVFi2HK7c="
   },
   "ATSynEdit_Ex": {
     "owner": "Alexey-T",
-    "rev": "2021.05.27",
-    "sha256": "sha256-1zhSB6bgeW5G6RAZvhznNTpRk0uEDZnLXsk+cgElKLw="
+    "rev": "2021.07.09",
+    "sha256": "sha256-QCG9i26m3v9J4uO1I1BiDwBerH4iX1rAJuNqx+gHLnA="
   },
   "Python-for-Lazarus": {
     "owner": "Alexey-T",
diff --git a/pkgs/applications/editors/emacs/27.nix b/pkgs/applications/editors/emacs/27.nix
index b629c2d2120..e0e41a78b9c 100644
--- a/pkgs/applications/editors/emacs/27.nix
+++ b/pkgs/applications/editors/emacs/27.nix
@@ -1,7 +1,12 @@
 import ./generic.nix (rec {
   version = "27.2";
   sha256 = "sha256-tKfMTnjmPzeGJOCRkhW5EK9bsqCvyBn60pgnLp9Awbk=";
-  patches = [
+  patches = fetchpatch: [
     ./tramp-detect-wrapped-gvfsd.patch
+    (fetchpatch {
+      name = "fix-aarch64-darwin-triplet.patch";
+      url = "https://git.savannah.gnu.org/cgit/emacs.git/patch/?id=a88f63500e475f842e5fbdd9abba4ce122cdb082";
+      sha256 = "sha256-RF9b5PojFUAjh2TDUW4+HaWveV30Spy1iAXhaWf1ZVg=";
+    })
   ];
 })
diff --git a/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix
new file mode 100644
index 00000000000..f3adf4b9ea7
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix
@@ -0,0 +1,17 @@
+{ lib, trivialBuild, fetchurl }:
+
+trivialBuild rec {
+  pname = "ebuild-mode";
+  version = "1.52";
+
+  src = fetchurl {
+    url = "https://dev.gentoo.org/~ulm/emacs/${pname}-${version}.tar.xz";
+    sha256 = "10nikbbwh612qlnms2i31963a0h3ccyg85vrxlizdpsqs4cjpg6h";
+  };
+
+  meta = with lib; {
+    description = "Major modes for Gentoo package files";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ qyliss ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index 946cef998c1..10a4a2cab5e 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -125,20 +125,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    aggressive-indent = callPackage ({ cl-lib ? null
-                                     , elpaBuild
-                                     , emacs
-                                     , fetchurl
-                                     , lib }:
+    aggressive-indent = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "aggressive-indent";
         ename = "aggressive-indent";
-        version = "1.8.3";
+        version = "1.10.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/aggressive-indent-1.8.3.el";
-          sha256 = "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj";
+          url = "https://elpa.gnu.org/packages/aggressive-indent-1.10.0.tar";
+          sha256 = "166jk1z0vw481lfi3gbg7f9vsgwfv8fiyxpkfphgvgcmf5phv4q1";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/aggressive-indent.html";
           license = lib.licenses.free;
@@ -640,10 +636,10 @@
       elpaBuild {
         pname = "consult";
         ename = "consult";
-        version = "0.8";
+        version = "0.9";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/consult-0.8.tar";
-          sha256 = "0vkq8dsj6k3gsdhiyg6ccv49fqgjw6f0db4wjsvm5zbkadjvlm86";
+          url = "https://elpa.gnu.org/packages/consult-0.9.tar";
+          sha256 = "1n3bnvgj92fjd9dai9f95wvyfb20yhaw7b722lkqjg42i10jqzfn";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -670,10 +666,10 @@
       elpaBuild {
         pname = "corfu";
         ename = "corfu";
-        version = "0.8";
+        version = "0.10";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/corfu-0.8.tar";
-          sha256 = "1qrrky1g4k5vw56435dgkwnmnri7i51gkydd76as3l0ixm4pnp05";
+          url = "https://elpa.gnu.org/packages/corfu-0.10.tar";
+          sha256 = "0sqr4cld84vgfnf0fjgvbbix1p23s0n2xsszfap6d8a2xzzpp044";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -775,10 +771,10 @@
       elpaBuild {
         pname = "dash";
         ename = "dash";
-        version = "2.18.1";
+        version = "2.19.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/dash-2.18.1.tar";
-          sha256 = "17mrvmrfh5c3kri4r3gf1c3gz4i5vl9ac60grpx4103b56y4cgra";
+          url = "https://elpa.gnu.org/packages/dash-2.19.0.tar";
+          sha256 = "0qszjs60xxqjiqf5f2bgmnbx5jiqii4ghcydwg500za0n2j0f5sx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -835,10 +831,10 @@
       elpaBuild {
         pname = "devdocs";
         ename = "devdocs";
-        version = "0.1";
+        version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/devdocs-0.1.tar";
-          sha256 = "1ps2jpp1ckq9839l63p6npqrf85b8zb5akwvjvv7fkm8nvspdkil";
+          url = "https://elpa.gnu.org/packages/devdocs-0.2.tar";
+          sha256 = "1npc7yra7pvf86ahmz1h7hnjxrz15ar1vjcalg4ilizypycpgrwj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1015,10 +1011,10 @@
       elpaBuild {
         pname = "ebdb";
         ename = "ebdb";
-        version = "0.6.23";
+        version = "0.7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-0.6.23.tar";
-          sha256 = "0j3jvy9s606qjqcmcjzgck3dp8bhpgly2g00wnswzcgk4makdzld";
+          url = "https://elpa.gnu.org/packages/ebdb-0.7.tar";
+          sha256 = "0q4ywgh87d6hjac3031s21w91gld2hh7s8nbva94dnzwn6y9d0v1";
         };
         packageRequires = [ cl-lib emacs seq ];
         meta = {
@@ -1075,10 +1071,10 @@
       elpaBuild {
         pname = "eev";
         ename = "eev";
-        version = "20210607";
+        version = "20210710";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eev-20210607.tar";
-          sha256 = "0avd58m8630s4d3ys9g84csscdmf2y1swwwkgzjkrrq8q0j5yd3l";
+          url = "https://elpa.gnu.org/packages/eev-20210710.tar";
+          sha256 = "19k5yncyjg7afvkx54k9mplm86jyr3svjjyprrj1frdi219i5piw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1198,10 +1194,10 @@
       elpaBuild {
         pname = "emms";
         ename = "emms";
-        version = "7.2";
+        version = "7.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/emms-7.2.tar";
-          sha256 = "11vqqh9rnzibsfw7wx62rgzl8i8ldpf0hv1sj43nhl5c6dlc8d5z";
+          url = "https://elpa.gnu.org/packages/emms-7.5.tar";
+          sha256 = "0d7nsx2idzbp6d5im5rrsnwppbr2cimvxgx31bhwsm2aq3ya5v2j";
         };
         packageRequires = [ cl-lib nadvice seq ];
         meta = {
@@ -1867,10 +1863,10 @@
       elpaBuild {
         pname = "ivy-posframe";
         ename = "ivy-posframe";
-        version = "0.6.0";
+        version = "0.6.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.0.tar";
-          sha256 = "07dzglrcdl54lkznyphw97xwd9bcwzdcgzkav0vqfk7f5cwh1wkf";
+          url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.1.tar";
+          sha256 = "1nay2sfbwm2fkp3f1y89innd9h6j3q70q9y4yddrwa69cxlj9m23";
         };
         packageRequires = [ emacs ivy posframe ];
         meta = {
@@ -2017,10 +2013,10 @@
       elpaBuild {
         pname = "leaf";
         ename = "leaf";
-        version = "4.4.8";
+        version = "4.5.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/leaf-4.4.8.tar";
-          sha256 = "0h0ksmgrhn29ci6z8y54dbbzcqlvfs1ra0kmf226gz0dqzk45vb3";
+          url = "https://elpa.gnu.org/packages/leaf-4.5.2.tar";
+          sha256 = "0i90shhhkpdcwmfi8zv0008qgmg4g3cqd2yvpycfv9n2axvhag54";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2152,10 +2148,10 @@
       elpaBuild {
         pname = "marginalia";
         ename = "marginalia";
-        version = "0.6";
+        version = "0.7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/marginalia-0.6.tar";
-          sha256 = "05pwaz9643shxnv63l6r9m2c0qf1nc1hy6jiqw01bkvvgg8g4jag";
+          url = "https://elpa.gnu.org/packages/marginalia-0.7.tar";
+          sha256 = "1nz55nx6xp72nahs4g6asl5y5yrlnlnza58bjrlwwzmwsf7daz18";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2321,10 +2317,10 @@
       elpaBuild {
         pname = "modus-themes";
         ename = "modus-themes";
-        version = "1.4.0";
+        version = "1.5.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/modus-themes-1.4.0.tar";
-          sha256 = "0ssckl06jk08vaq4g7sxpzvc3ybm339fzbn9qw21w82v1l60rzpm";
+          url = "https://elpa.gnu.org/packages/modus-themes-1.5.0.tar";
+          sha256 = "0y5a7g66iiai20fvc6qff3ki792bzca87zxbmxl8hpks4a6znc80";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2829,10 +2825,10 @@
       elpaBuild {
         pname = "posframe";
         ename = "posframe";
-        version = "1.0.3";
+        version = "1.0.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/posframe-1.0.3.tar";
-          sha256 = "0c3lnrydsysv8j25brgc0cckf1hz54yhkginncmw81y1ia43rqmx";
+          url = "https://elpa.gnu.org/packages/posframe-1.0.4.tar";
+          sha256 = "0i2pw90gw9zb22gj8yyvcp3b2k1bxxhbjj0idvr5iz1vd9023bc6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2889,10 +2885,10 @@
       elpaBuild {
         pname = "pyim";
         ename = "pyim";
-        version = "3.7.9";
+        version = "3.9.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/pyim-3.7.9.tar";
-          sha256 = "00ff1izdwcy53dcwpdn18wwndnw2jsw4bhg8gkqaa60xm468xzkl";
+          url = "https://elpa.gnu.org/packages/pyim-3.9.2.tar";
+          sha256 = "18m5wni1zns8fad2ll9flbfgxfy14gi03apnycajdbqxsqfp65j9";
         };
         packageRequires = [ async emacs xr ];
         meta = {
@@ -3355,10 +3351,10 @@
       elpaBuild {
         pname = "setup";
         ename = "setup";
-        version = "0.2.0";
+        version = "0.2.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/setup-0.2.0.tar";
-          sha256 = "1xhjkyksilw1vbx12a4yz4bpj0dhl3m02yi8d9nyd19z098cfa9y";
+          url = "https://elpa.gnu.org/packages/setup-0.2.1.tar";
+          sha256 = "15paand086g33w2vb6jkyxd3i2pmpp84f31y3j5v8w9ia68pjzms";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3430,10 +3426,10 @@
       elpaBuild {
         pname = "slime-volleyball";
         ename = "slime-volleyball";
-        version = "1.1.7";
+        version = "1.2.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/slime-volleyball-1.1.7.tar";
-          sha256 = "0dl1x0ghfwg4vv2asz3g4plghjxpzd56fyw09vsa3s3k9xsmy3yy";
+          url = "https://elpa.gnu.org/packages/slime-volleyball-1.2.0.tar";
+          sha256 = "07xavg6xq5ckrfy5sk5k5ldb46m5w8nw1r1k006ck8f23ajaw5z2";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -3561,16 +3557,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    spinner = callPackage ({ elpaBuild, fetchurl, lib }:
+    spinner = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "spinner";
         ename = "spinner";
-        version = "1.7.3";
+        version = "1.7.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/spinner-1.7.3.el";
-          sha256 = "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd";
+          url = "https://elpa.gnu.org/packages/spinner-1.7.4.tar";
+          sha256 = "140kss25ijbwf8hzflbjz67ry76w2cyrh02axk95n6qcxv7jr7pv";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/spinner.html";
           license = lib.licenses.free;
@@ -3595,10 +3591,10 @@
       elpaBuild {
         pname = "sql-indent";
         ename = "sql-indent";
-        version = "1.5";
+        version = "1.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/sql-indent-1.5.tar";
-          sha256 = "07k5rn9hbxppnka7nq0a3a6zyqqa1hp8j6qrb344js6zyak0cb63";
+          url = "https://elpa.gnu.org/packages/sql-indent-1.6.tar";
+          sha256 = "000pimlg0k4mrv2wpqq8w8l51wpr1lzlaq6ai8iaximm2a92ap5b";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -3610,10 +3606,10 @@
       elpaBuild {
         pname = "ssh-deploy";
         ename = "ssh-deploy";
-        version = "3.1.12";
+        version = "3.1.13";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ssh-deploy-3.1.12.tar";
-          sha256 = "0fz49l63jfw9zy459f07bq2irdb8ispnx8m2c3wxwiim9yw5xnjg";
+          url = "https://elpa.gnu.org/packages/ssh-deploy-3.1.13.tar";
+          sha256 = "006jr8yc5qvxdfk0pn40604a2b7a1ah6l6hi6rhxm3p5b08d9i5w";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3779,10 +3775,10 @@
       elpaBuild {
         pname = "tramp";
         ename = "tramp";
-        version = "2.5.0.5";
+        version = "2.5.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/tramp-2.5.0.5.tar";
-          sha256 = "1dclxffynfacvwi2scpda35sxjb42603yyf2p0477qa9b0i4xha0";
+          url = "https://elpa.gnu.org/packages/tramp-2.5.1.tar";
+          sha256 = "1r7wifhzy2ipdlc4fqnx6549fnx45ggz57wh0cp7s6y25761si7q";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3824,10 +3820,10 @@
       elpaBuild {
         pname = "transient";
         ename = "transient";
-        version = "0.3.4";
+        version = "0.3.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/transient-0.3.4.tar";
-          sha256 = "1m71w52cr8f9wm6lybfa003w408lkrl6q9whs53hpp3pl5phhfvb";
+          url = "https://elpa.gnu.org/packages/transient-0.3.6.tar";
+          sha256 = "11n2551kvfjrqyk0x78bz6pirnfs126cbchiv1pchqwyk8z8c9ks";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3949,6 +3945,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    vc-hgcmd = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "vc-hgcmd";
+        ename = "vc-hgcmd";
+        version = "1.14";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/vc-hgcmd-1.14.tar";
+          sha256 = "0pg6fg0znsmky3iwdpxn2sx5bbn72kw83s077000ilawi6zqwc2d";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/vc-hgcmd.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     vcard = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "vcard";
@@ -4015,10 +4026,10 @@
       elpaBuild {
         pname = "vertico";
         ename = "vertico";
-        version = "0.11";
+        version = "0.12";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vertico-0.11.tar";
-          sha256 = "0hzwddkac85i449173az8crlksj9ivrqf969r81kbr45ksgr1ij6";
+          url = "https://elpa.gnu.org/packages/vertico-0.12.tar";
+          sha256 = "14qlc438bysg23wfj04zpvpraqzzi4jlz3r11vc56vd0k2hfmvmn";
         };
         packageRequires = [ emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
index 02a9a6e6562..69db13fec19 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
@@ -21,7 +21,7 @@ formats commits for you.
 
 */
 
-{ lib, stdenv, texinfo, writeText }:
+{ lib, stdenv, texinfo, writeText, gcc }:
 
 self: let
 
@@ -32,7 +32,7 @@ self: let
   };
 
   elpaBuild = import ../../../../build-support/emacs/elpa.nix {
-    inherit lib stdenv texinfo writeText;
+    inherit lib stdenv texinfo writeText gcc;
     inherit (self) emacs;
   };
 
diff --git a/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix b/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix
index 2ddafc4796c..8ecce11a742 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix
@@ -67,8 +67,7 @@ in {
         lib.nameValuePair ename (
           self.callPackage ({ melpaBuild, fetchurl, ... }@pkgargs:
           melpaBuild {
-            inherit pname;
-            ename = ename;
+            inherit pname ename commit;
             version = if isNull version then "" else
               lib.concatStringsSep "." (map toString version);
             # TODO: Broken should not result in src being null (hack to avoid eval errors)
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index 7ccd96a9ca0..b2a66c92aea 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -199,6 +199,8 @@
 
   # Packages made the classical callPackage way
 
+  ebuild-mode = callPackage ./ebuild-mode { };
+
   emacspeak = callPackage ./emacspeak { };
 
   ess-R-object-popup = callPackage ./ess-R-object-popup { };
diff --git a/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
index b70032982c0..5d043f9de9a 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
@@ -4,10 +4,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "20210607";
+        version = "20210712";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-20210607.tar";
-          sha256 = "178z9bnzcdaymnwxf0kkw1yzlzkj5dmdjjwdklc9qb9iv6rckfji";
+          url = "https://orgmode.org/elpa/org-20210712.tar";
+          sha256 = "0xdxzfk7hvsmlyivn61ivci6hy2alxg2ysdm5xad4xxz337jrj7x";
         };
         packageRequires = [];
         meta = {
@@ -19,10 +19,10 @@
       elpaBuild {
         pname = "org-plus-contrib";
         ename = "org-plus-contrib";
-        version = "20210607";
+        version = "20210712";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-plus-contrib-20210607.tar";
-          sha256 = "03liivgfcmp0lh6p57bh2gyn85n3sc4p91y374kq8kzc7fzrgzyr";
+          url = "https://orgmode.org/elpa/org-plus-contrib-20210712.tar";
+          sha256 = "1cdpwsfjmjplyik1r9kl4lvd5lm52zrixlfg2ml1mhh28s680k0q";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
index 1429040e415..5581a52fed4 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -25,26 +25,26 @@
  },
  {
   "ename": "0x0",
-  "commit": "a48b10b770038efc606fbbbedf79178d3b05186c",
-  "sha256": "1nkc5hfz77s37a1rp8m69f7zbk05jc1y1fcj0b46h9khyz6zbm01",
-  "fetcher": "git",
-  "url": "https://git.sr.ht/~zge/nullpointer-emacs",
+  "commit": "f725830dd12dcf466b7b1efe54b9eb3b55e5f959",
+  "sha256": "0s8q6wzzbqlpxsf9757r44lf8i8h72x4j020wmv4hvbxdvprqxq4",
+  "fetcher": "gitlab",
+  "repo": "willvaughn/emacs-0x0",
   "unstable": {
    "version": [
-    20210512,
-    1001
+    20210701,
+    839
    ],
-   "commit": "655846fd3ce772950d30167b4b9be6ce64502ae7",
-   "sha256": "0y4v72pmjjly2kxrrwks2z35qbc76109pnqpj637fpjr190c468l"
+   "commit": "63cd5eccc85e527f28e1acc89502a53245000428",
+   "sha256": "1cd0drlhi0lf1vmarcfl3vc7ldkymaj50dhqb1ajm7r0s5ps3asb"
   },
   "stable": {
    "version": [
     0,
     4,
-    2
+    3
    ],
-   "commit": "655846fd3ce772950d30167b4b9be6ce64502ae7",
-   "sha256": "0y4v72pmjjly2kxrrwks2z35qbc76109pnqpj637fpjr190c468l"
+   "commit": "ab3e213607e6349aecc0063332972ac40506edd9",
+   "sha256": "1aywyarjl8fghy5py05rd64sidhkla0xzks1596p1gwpk5pm7n0n"
   }
  },
  {
@@ -122,6 +122,21 @@
   }
  },
  {
+  "ename": "750words",
+  "commit": "bee7108d3b0f4861ec23ab7a87ddd5fbf17952c7",
+  "sha256": "0j63ry8x617xdrffiwkwdngp6y3rik0nq2w61yf6sa097fmzpl2p",
+  "fetcher": "github",
+  "repo": "zzamboni/750words-client",
+  "unstable": {
+   "version": [
+    20210701,
+    1950
+   ],
+   "commit": "0fed7621c04debad64ea6455455494d4e6eb03fa",
+   "sha256": "1qglbfdc6526aqsba93ngw1a6hp19lqx1wlxzzy9yvggbb02mii2"
+  }
+ },
+ {
   "ename": "@",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "0da0xqk8fhz8aij3zmpp4bz3plpvfq2riyy17i7ny4ralxb3g08z",
@@ -741,10 +756,10 @@
  },
  {
   "ename": "ac-html",
-  "commit": "3416586d4d782cdd61a56159c5f80a0ca9b3ddf4",
-  "sha256": "1vidmvylwwvraf8k63dvxv47ism49n6pp0f38l5rl4iaznhkdr84",
+  "commit": "28430d3db6e21cec8b138ef09320aeed711e58f9",
+  "sha256": "1fhrvww7sds90b4ka16sp79pjbjwrrl6ycp65pfc4b2cg1bq1w7m",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/ac-html",
+  "repo": "victorteokw/ac-html",
   "unstable": {
    "version": [
     20151005,
@@ -1029,8 +1044,8 @@
     "auto-complete",
     "yasnippet"
    ],
-   "commit": "9770c95bf2df93d9cb0f200723b03b3d9a480640",
-   "sha256": "188z1i209z61nwfcgffgp90rdcsnl75izxpqv4x1vbaay5fvg33f"
+   "commit": "8a0dc9888de87ea3aace06628bff52ed32f3ca2b",
+   "sha256": "1xcsm72by6jiqr9y9fyk70nshsj5dj494faz9734m67fmxq45pfj"
   },
   "stable": {
    "version": [
@@ -1055,8 +1070,8 @@
   "repo": "xcwen/ac-php",
   "unstable": {
    "version": [
-    20210218,
-    559
+    20210617,
+    949
    ],
    "deps": [
     "dash",
@@ -1066,8 +1081,8 @@
     "s",
     "xcscope"
    ],
-   "commit": "9770c95bf2df93d9cb0f200723b03b3d9a480640",
-   "sha256": "188z1i209z61nwfcgffgp90rdcsnl75izxpqv4x1vbaay5fvg33f"
+   "commit": "8a0dc9888de87ea3aace06628bff52ed32f3ca2b",
+   "sha256": "1xcsm72by6jiqr9y9fyk70nshsj5dj494faz9734m67fmxq45pfj"
   },
   "stable": {
    "version": [
@@ -1133,8 +1148,8 @@
     "auto-complete",
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -1507,14 +1522,14 @@
   "repo": "mrkkrp/ace-popup-menu",
   "unstable": {
    "version": [
-    20210318,
-    1748
+    20210608,
+    839
    ],
    "deps": [
     "avy-menu"
    ],
-   "commit": "9a2056c53faba0bd7b7f44fb3faabf4d34b8497f",
-   "sha256": "0i7a708y9x4xdny3ccqwngn4la5vg0539c7qk87d163gl61mbk7k"
+   "commit": "594a305704be8ca0ef79a12b787bdb59bc6077c0",
+   "sha256": "1ykpb4l29iw5bxmip9cn6irgiak2hwb79kg1k5m32wc9p6b4kbjf"
   },
   "stable": {
    "version": [
@@ -1585,8 +1600,8 @@
   "repo": "chumpage/ack-menu",
   "unstable": {
    "version": [
-    20150504,
-    2022
+    20130107,
+    640
    ],
    "deps": [
     "mag-menu"
@@ -1929,30 +1944,28 @@
   "repo": "agda/agda",
   "unstable": {
    "version": [
-    20210505,
-    1142
+    20210619,
+    545
    ],
    "deps": [
     "annotation",
     "eri"
    ],
-   "commit": "044843c5281a7bdb9479317793a75c8c0fcfadd9",
-   "sha256": "04lirb2p1h46c1l84ysdnr2jxvzsdw1zv6jhm7h8ybgzmaa65b6m"
+   "commit": "3543ef3df19228012a1ac5be766cc38fd2f65f6a",
+   "sha256": "0wlqrl8ikqc7q61i2qzmwp6h0mrv9kn5229pbsrb1ris7gxgi13b"
   },
   "stable": {
    "version": [
     2,
     6,
-    1,
-    3,
-    20210605
+    2
    ],
    "deps": [
     "annotation",
     "eri"
    ],
-   "commit": "ab805592a0ae7066fbd5fa5f47e933194fce878f",
-   "sha256": "19ld12x4is0nx52i05zv20js0zysx3bljbdn2nr65vy11dq2cyyp"
+   "commit": "246a229faea2ef2fa53caf491ff8a2d72dd7510c",
+   "sha256": "1ccmryw6vs8d87d5zmjl0kr2kvyd1zxl73344fa7yzqgg2kw1da6"
   }
  },
  {
@@ -1981,23 +1994,20 @@
   "repo": "Malabarba/aggressive-indent-mode",
   "unstable": {
    "version": [
-    20200824,
-    2352
+    20210701,
+    2224
    ],
-   "commit": "b0ec0047aaae071ad1647159613166a253410a63",
-   "sha256": "0rz010ypy1rg8v6na05zs942ikzqg1l32inzpzqg2q2rnfa3wkx1"
+   "commit": "cb416faf61c46977c06cf9d99525b04dc109a33c",
+   "sha256": "1mlvdxs4jbxxfj57h2hc6yapgz4zzqj80k4psds116kpp0y2r5ja"
   },
   "stable": {
    "version": [
     1,
-    9,
+    10,
     0
    ],
-   "deps": [
-    "cl-lib"
-   ],
-   "commit": "d6778ae89cd2d40949aa076a43e327f7acff59c3",
-   "sha256": "0xya19w1bwpqrrqvmms0lfhqb168iv7j6kvnn49zbynnf9dhgr9w"
+   "commit": "cb416faf61c46977c06cf9d99525b04dc109a33c",
+   "sha256": "1mlvdxs4jbxxfj57h2hc6yapgz4zzqj80k4psds116kpp0y2r5ja"
   }
  },
  {
@@ -2270,11 +2280,11 @@
   "repo": "jgkamat/alda-mode",
   "unstable": {
    "version": [
-    20180608,
-    605
+    20210705,
+    654
    ],
-   "commit": "1692b9003d2c3de403251ec452c6ce43ec819c84",
-   "sha256": "0kz0b2c1np088wbmnlvznizsv8nwiidgs67cn4dz46k66g9yg3g5"
+   "commit": "4de011d572e958a377fb16daae05a1b411f0c8ad",
+   "sha256": "1x4apig2hrvvy6pjciklmz5afpq5l4rmfjahc2wvyzs79abh0icx"
   },
   "stable": {
    "version": [
@@ -2323,16 +2333,20 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "df5664e71c1026af4aaf69e6b227d427a728e7c6",
-   "sha256": "1czy3sbwm6lfrgdbj0y12q4n70w6zg8g3y27iz1zr4y20hhcp2zk"
+   "commit": "3fad996473200fa07b0381cd66179089d10fcc6f",
+   "sha256": "0qj4cjra1kyiw8h2qm024wgy9fy3xjwik7sr1mfkhk1gbndl8m3w"
   },
   "stable": {
    "version": [
     1,
-    0
+    2,
+    1
+   ],
+   "deps": [
+    "flycheck"
    ],
-   "commit": "55fc849cdb7a05bbaab6f9359386d8830bdcfb87",
-   "sha256": "0v5jfmqcvridh8z7y8i5hklybfxicgmbnambi21ml34px3p9fldc"
+   "commit": "7b7041fd58c2b1893e4b65b18045880ecc7a1c73",
+   "sha256": "1lvhzi6fxnmpcr7xac6ri3904cqbp016ivziih3nfchdzznmzljj"
   }
  },
  {
@@ -2427,11 +2441,11 @@
   "repo": "domtronn/all-the-icons.el",
   "unstable": {
    "version": [
-    20210603,
-    1604
+    20210703,
+    2203
    ],
-   "commit": "facbde4a7be292bf9490932cbe403b443273f45d",
-   "sha256": "0lwgvgnqf7vihglm0c5bwsxbl4x7f641289cji5s7jwy2dbsqk7g"
+   "commit": "9d97c074b08000eacefc03ebc5dadbdc33888cc2",
+   "sha256": "06ya21isl47cfs4fsl8k3qzh7d27gss0snxv7mmv8a0c7rgjyx7j"
   },
   "stable": {
    "version": [
@@ -2451,14 +2465,25 @@
   "repo": "wyuenho/all-the-icons-dired",
   "unstable": {
    "version": [
-    20210422,
-    921
+    20210614,
+    1350
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "a294f45ec2c338e1255ae2dd98b19f3f143204e6",
-   "sha256": "1m3gqsgybx57qhdlswbn92cnsz9w10sqfzs2lnja63hzwzwxjg92"
+   "commit": "a758766878b6e8b9eaaf41d68599a2df99e37f48",
+   "sha256": "1shla7nyhml9m3g81p6yy8k4pdq289gb42900xzfp7zl4qvnm2vy"
+  },
+  "stable": {
+   "version": [
+    2,
+    0
+   ],
+   "deps": [
+    "all-the-icons"
+   ],
+   "commit": "a758766878b6e8b9eaaf41d68599a2df99e37f48",
+   "sha256": "1shla7nyhml9m3g81p6yy8k4pdq289gb42900xzfp7zl4qvnm2vy"
   }
  },
  {
@@ -2494,8 +2519,8 @@
    "deps": [
     "all-the-icons"
    ],
-   "commit": "5a984b4d7f811e2ad08fdc461a1e89205804b7bd",
-   "sha256": "05bglgqc4q5p9zr6ylllg16crpxcnb6p51xkk5v1nljgi3n9786l"
+   "commit": "f304d283cbb815cd28b86c1cbe74b706c0678e25",
+   "sha256": "1afjcv94p8za3ri9c324j1wdg4klpcaippby3r1avwnjy5l9qpav"
   },
   "stable": {
    "version": [
@@ -2550,28 +2575,28 @@
   "repo": "seagle0128/all-the-icons-ivy-rich",
   "unstable": {
    "version": [
-    20210605,
-    1700
+    20210626,
+    1956
    ],
    "deps": [
     "all-the-icons",
     "ivy-rich"
    ],
-   "commit": "e0eba9cb8f8c85c0b63434f6117f9fa232d8a890",
-   "sha256": "05a53s7v1vy688gwnn01p3flqlhznp2m0k1mg8ax4hjygyc05l8q"
+   "commit": "78ee2fb4eb43c970e12a91949f7efd26ca1834d5",
+   "sha256": "04pgr5xjk84kksck7f1y9gpvxxnsy803zq252hg1pzg1pl6bx3ga"
   },
   "stable": {
    "version": [
     1,
-    5,
-    1
+    6,
+    2
    ],
    "deps": [
     "all-the-icons",
     "ivy-rich"
    ],
-   "commit": "0138c7e7f3b7a6c09665e45a6dd2168359efd47c",
-   "sha256": "0nbbkasbklxf62rx9mc5w37r014vdbbg3vm5dy03hxzvq3y1yrpn"
+   "commit": "07b8c5271719afa6a4c598c2a19f4a096ca6efe8",
+   "sha256": "1blr46w08s9f3wrcarqds09is9akdsq8faghshby5fnk9s5srkq3"
   }
  },
  {
@@ -2624,8 +2649,8 @@
     20200723,
     1037
    ],
-   "commit": "b36c2b2bccc628da1579016381d5c3195c9e12b2",
-   "sha256": "19nqpg91in65gj59zndhncx6c1005k0wh05rprv1z6465j5gd40g"
+   "commit": "4aba676d49b0705cb4431b7e7c733ef8eac7d5aa",
+   "sha256": "1z5b5ivn81hmvndd7ari07kj1bsp9ziyxcrgf7xq21g1dfsbq8cs"
   },
   "stable": {
    "version": [
@@ -3150,11 +3175,11 @@
   "repo": "bastibe/annotate.el",
   "unstable": {
    "version": [
-    20210519,
-    1401
+    20210620,
+    751
    ],
-   "commit": "b22f594f3b813b12e442860344d2feb39d944b53",
-   "sha256": "1911j82vw8pp58byc41v2fhbjvr3l9rdjqa46gs757xssh0g8jal"
+   "commit": "9aba6305fef54f32b085a56ce2b843b3d8194ac2",
+   "sha256": "1n2pgvc4fw8r22ck2r3jmkrrh1vlwv1r35ljy5g3b95zjh11w7g4"
   },
   "stable": {
    "version": [
@@ -3192,19 +3217,17 @@
     20200914,
     644
    ],
-   "commit": "044843c5281a7bdb9479317793a75c8c0fcfadd9",
-   "sha256": "04lirb2p1h46c1l84ysdnr2jxvzsdw1zv6jhm7h8ybgzmaa65b6m"
+   "commit": "3543ef3df19228012a1ac5be766cc38fd2f65f6a",
+   "sha256": "0wlqrl8ikqc7q61i2qzmwp6h0mrv9kn5229pbsrb1ris7gxgi13b"
   },
   "stable": {
    "version": [
     2,
     6,
-    1,
-    3,
-    20210605
+    2
    ],
-   "commit": "ab805592a0ae7066fbd5fa5f47e933194fce878f",
-   "sha256": "19ld12x4is0nx52i05zv20js0zysx3bljbdn2nr65vy11dq2cyyp"
+   "commit": "246a229faea2ef2fa53caf491ff8a2d72dd7510c",
+   "sha256": "1ccmryw6vs8d87d5zmjl0kr2kvyd1zxl73344fa7yzqgg2kw1da6"
   }
  },
  {
@@ -3648,8 +3671,8 @@
     20210223,
     1539
    ],
-   "commit": "a45c426b7e4a450faea004ef5b842fd37e17a7c6",
-   "sha256": "1f7bvcv4qqqa5bsfrcs69yc1phgnyrh5mbnb2hhgq72z8ymmrn7q"
+   "commit": "267a1453f58a6a6577a1d5752c876fdaa2896a6d",
+   "sha256": "0l5nfj5wz9cjpl9906w8q3p6ciwr6imf4nqh8i2s4dzip4n9w6nl"
   },
   "stable": {
    "version": [
@@ -4079,7 +4102,7 @@
   "unstable": {
    "version": [
     20210501,
-    1527
+    1536
    ],
    "commit": "9a8cd0c3d5c120bfa03187c54dba6e33f6e3ca19",
    "sha256": "1s2gdilaf38m2dg6nm4kcz5n4n455a9127pl4cbz9lg7mp3l2pg5"
@@ -4168,8 +4191,8 @@
     20201026,
     339
    ],
-   "commit": "449596a61f551ba5f8f3ff731984316e3b99faba",
-   "sha256": "0r21mxadvx4scnmx76kqnqmnvw9mx1394dvs34i5mr02nal3vhsg"
+   "commit": "375488bed4f279cf56a5c60ff236b320d3bfa169",
+   "sha256": "1kms5dkxz5ppf2iw95p4mvnkssp2iwp483mn4x0xvv53lglnjlxw"
   },
   "stable": {
    "version": [
@@ -4192,8 +4215,8 @@
     20200810,
     845
    ],
-   "commit": "79adac0149bb6083ad3a327c6bbdf56537282ee9",
-   "sha256": "1kd9fk1f3aaw0ikkbf9n6w5b2sy7v0xzsch688h8ac9rp6s2yws8"
+   "commit": "67b67de68f3d878f98c96ea7e340344aed6e6e46",
+   "sha256": "0qg04bn50s2chnwk7krdfkhq6y944fbgbwxs507qgmg4n0iyzkln"
   },
   "stable": {
    "version": [
@@ -4475,8 +4498,8 @@
     "keytar",
     "s"
    ],
-   "commit": "9ecdd6226b50a1a04675b65589e6cc36fd3aea2c",
-   "sha256": "04vr0i4y9i96vm1pliac8snnvlwqzafy7xrq39wpvhvd99qr4845"
+   "commit": "ab6f89a412ae47d257352b26f9667c3c062a7328",
+   "sha256": "1ha0v6np9qwg7lqcj0srq0qljs6yx2rgdj0dzwk74mqlk1xb5lzv"
   },
   "stable": {
    "version": [
@@ -4517,30 +4540,6 @@
   }
  },
  {
-  "ename": "auth-source-pass",
-  "commit": "6e63342b442794ead4d8bed803b0924d9cd26dc4",
-  "sha256": "10l3kbffy08fh0krwvh4gn75k37criv2ma5hgkadvq1s2p5ps8r6",
-  "fetcher": "github",
-  "repo": "DamienCassou/auth-source-pass",
-  "unstable": {
-   "version": [
-    20210210,
-    1908
-   ],
-   "commit": "fa8b964494c1ef42035fad340ff5f29fcdbed21c",
-   "sha256": "0fn30iy1jy0kh09652a0fn7zg93cf3xvs2bz28lml7knj2hbqi2r"
-  },
-  "stable": {
-   "version": [
-    5,
-    0,
-    0
-   ],
-   "commit": "df074612114c3cc2fa1c3023f26ff182f9b1190a",
-   "sha256": "0qnqqdpbfr06nqw4hq7c1s7yh7zyrv4gqjj06v70cavjml7pagp6"
-  }
- },
- {
   "ename": "auth-source-xoauth2",
   "commit": "8ba0273c8aa2a50b9dc9b8312b860d94dfd808d5",
   "sha256": "0g06240ix4gzw3fb74jcadiq7nissi20i1vsbzhkx35j10mv7wn3",
@@ -4605,14 +4604,14 @@
   "repo": "emacscollective/auto-compile",
   "unstable": {
    "version": [
-    20210518,
-    1020
+    20210615,
+    1457
    ],
    "deps": [
     "packed"
    ],
-   "commit": "3af0b02393ca4f207f1e454161f7bd8a747f3051",
-   "sha256": "1h2iv14ppj5pqbnb7z7xvw1jm3cmis10jpqnd6miax1s6jlm8z0r"
+   "commit": "0f3afc6b057f9c9a3b60966f36e34cb46008cf61",
+   "sha256": "0grb9y7v7ibbcjv1yhssnavz43cij16ys5c68my8mv12wg5ld86z"
   },
   "stable": {
    "version": [
@@ -4964,19 +4963,25 @@
   "repo": "jcs-elpa/auto-highlight-symbol",
   "unstable": {
    "version": [
-    20210108,
-    1841
+    20210715,
+    1416
+   ],
+   "deps": [
+    "ht"
    ],
-   "commit": "5ad84d0a12b175360b18504cd04e6bf7ab1cf5c8",
-   "sha256": "0dpsqzl6nn08kg9d42a6zpk7jq6621c0hzf28c1ary4vzcwm4j9v"
+   "commit": "3425ee2eac724d1d64170a8b9d23afc18f8951a9",
+   "sha256": "08m6wyfvy6i99q25nk6b7d1bvlfalvdlafh7ajglj6fnpdjmnk0h"
   },
   "stable": {
    "version": [
     1,
-    59
+    61
+   ],
+   "deps": [
+    "ht"
    ],
-   "commit": "0982390f19fee3c05856b9e4e40056dce4c4020d",
-   "sha256": "1vvk0vp61y63rjhfxk5ajs0m4p36pvbwb97sw66zdlrq5h33lmv9"
+   "commit": "ca285d84e4a22514adaff2f0ba39657e296f4fff",
+   "sha256": "0lkdx247isrjsn8v51dqmxv6xcg4shqbnz5jxmw05isvhvm9k3xb"
   }
  },
  {
@@ -5111,11 +5116,11 @@
   "repo": "jcs-elpa/auto-rename-tag",
   "unstable": {
    "version": [
-    20210418,
-    1758
+    20210629,
+    1537
    ],
-   "commit": "8dbf13b344f6d5eba5c4876b18905d30b3118bb9",
-   "sha256": "1nlwg78d60w6xjpqhrc49nxxvjaxj07wb036rb5jsng9yb6r94m9"
+   "commit": "9511446c4359100d0b6433579e663852bf8f36ef",
+   "sha256": "0gkkgkqvs7sq5s43srzzi8s5xm4pj53x9lifg79cad15a6i9a8sc"
   },
   "stable": {
    "version": [
@@ -5313,20 +5318,17 @@
  },
  {
   "ename": "autocrypt",
-  "commit": "c5aac210984709f020f96f3ca166185900accddf",
-  "sha256": "1y5p5n2p2qk638i1as3wbfz82r08jv4q91470xz9r1gkdnn1xyx8",
+  "commit": "982788433004ba644a372c50130613e3c56bba10",
+  "sha256": "0ngdxqski3q4mqsrw8h07mkm58kwrvpxvclgyhq2jypvcvlb7abg",
   "fetcher": "git",
-  "url": "https://git.sr.ht/~zge/autocrypt",
+  "url": "https://git.sr.ht/~pkal/autocrypt",
   "unstable": {
    "version": [
-    20210412,
-    1127
-   ],
-   "deps": [
-    "cl-generic"
+    20210709,
+    1230
    ],
-   "commit": "5b55f8d37545e9c441788627c17e350d7edf4055",
-   "sha256": "0b06xnjkgwjpxl96mdi674pmvdaiwncifi1a30wxhl1dwr7kr084"
+   "commit": "32786dc552569c7cc9970628f580b0b7b8e0b03d",
+   "sha256": "0vs8kwgxvmbr1yy1f8jvxpixy4jfxpdk17mq0gfvlcmnqb560gdr"
   }
  },
  {
@@ -5530,8 +5532,8 @@
     "avy",
     "embark"
    ],
-   "commit": "ef609bf15368a68c4eb3c46fd8cc1bb623b6b83e",
-   "sha256": "0ddh7zqgaq07534l6m3wjvbcj23a01h3x7scd4pl5rj6wyxqwv76"
+   "commit": "acbe1cba548832d295449da348719f69b9685c6f",
+   "sha256": "0c1zqfrn2va2m9z6rw3i2h6dwm2vc0asbha4d9r0gss4b7519pf2"
   },
   "stable": {
    "version": [
@@ -5741,11 +5743,11 @@
   "url": "https://bitbucket.org/pdo/axiom-environment",
   "unstable": {
    "version": [
-    20210312,
-    2248
+    20210714,
+    1912
    ],
-   "commit": "ac8228a702290732ba12c5d13b38576a57afb0d6",
-   "sha256": "1nrlgrckvh2fiwis9bmr95h2bpxfkz1nknxdz61380f2caqwwhw7"
+   "commit": "7d72e6319b98b334f74b78f3d4151e92fb7dcbad",
+   "sha256": "1hwcndb1x3i51l0kvzk4mj6sil8h10mxmazic9zvwjhia9qz9hz3"
   }
  },
  {
@@ -5771,19 +5773,19 @@
   "repo": "juergenhoetzel/babel",
   "unstable": {
    "version": [
-    20210520,
-    501
+    20210612,
+    640
    ],
-   "commit": "1f68c175e8a3223f37858167239051e9ab9e540c",
-   "sha256": "1b13pfxabfcl8p3j6bw6c5m2njzignab4p6fzxfmfpsvrq5yjzfz"
+   "commit": "946e69c61188bc41793402ac48466d8967ddb43d",
+   "sha256": "0drqcvkak677r2bc8jr0bp0qv3x2iw5cvlma6ir2blgm1d3q2bg3"
   },
   "stable": {
    "version": [
     1,
-    4
+    7
    ],
-   "commit": "65b55ad89017c9b3a1c8c241ac4b4541eabdaf5f",
-   "sha256": "0px1xggk6qyrwkma1p3d7b4z2id2gbrsxkliw3nwc1q4zndg1zr7"
+   "commit": "a6028ec6780f22b5b15c4458d968f7b49be3974b",
+   "sha256": "1vbhmrgcbrqj079g40w43xya4yc38ddhfn6wrd75s77qzmhrczll"
   }
  },
  {
@@ -6092,11 +6094,11 @@
   "repo": "belak/base16-emacs",
   "unstable": {
    "version": [
-    20210506,
-    1530
+    20210710,
+    1645
    ],
-   "commit": "59692942f34b9be0447a7766ad03115d04e79874",
-   "sha256": "1la7671sz666in8zx35j517sbj2y4jyasnj0x9yxh5n4g5qdrnbp"
+   "commit": "7f1db3df9bb6f4a3c9f4d3c10b9a6cf231752547",
+   "sha256": "0ycxj4lmmkbpmb8yizys25rdh0zrmw4sbgj19wb6zp2d30xk32qf"
   },
   "stable": {
    "version": [
@@ -6115,11 +6117,11 @@
   "repo": "szermatt/emacs-bash-completion",
   "unstable": {
    "version": [
-    20201011,
-    916
+    20210615,
+    1601
    ],
-   "commit": "65e54c6f9c0ffebf94f7c505694bd249b9b53d32",
-   "sha256": "0aj110pmx6f11flmyk8ryj4mghjay2wbix945wisrlydlnl9jmmc"
+   "commit": "d9c97b741db389ceb127b0f0180b2087cb24d0ef",
+   "sha256": "15m7gbwq1lmca2rlfb2ik86ibmvjnj58yajbp5d23xn03qqd6x6c"
   },
   "stable": {
    "version": [
@@ -6310,11 +6312,11 @@
   "repo": "bazelbuild/emacs-bazel-mode",
   "unstable": {
    "version": [
-    20210605,
-    906
+    20210715,
+    2325
    ],
-   "commit": "667554f76696a3cbb50c4c01b121c1aef882195a",
-   "sha256": "169x8d52hkb30w2c4ww7lpipdin5406nm2i95fbbxs1sz1068b8r"
+   "commit": "3b0a3a2200cd93497563812d4026c4d67b13e91a",
+   "sha256": "0pgn1j6fpj2qjns2zvzaswk5l65mkd6sxs08l6z0q2926gb7dpx9"
   }
  },
  {
@@ -6774,11 +6776,11 @@
   "repo": "gilbertw1/better-jumper",
   "unstable": {
    "version": [
-    20210110,
-    1317
+    20210713,
+    1426
    ],
-   "commit": "411ecdf6e7a3e1b4ced7605070d2309e5fc46556",
-   "sha256": "03jgfrpjlvn7fkv9grcqayphz2bjjkfh4rd6k1s7vmdpd3hm0xpb"
+   "commit": "7f328a886ba4dd01993d269eee01c8ee3d0ddf52",
+   "sha256": "1xfap2db1ncfdnv8d3vdn8gxgkzamz8vz9jsyn0jiminhy0hb2na"
   }
  },
  {
@@ -6789,11 +6791,11 @@
   "repo": "jcs-elpa/better-scroll",
   "unstable": {
    "version": [
-    20201013,
-    1355
+    20210715,
+    1004
    ],
-   "commit": "eaa8dae6f048fcff773f3cca2e3113c52ad0463f",
-   "sha256": "0r8g5gc454mnk6jbmdx56dfjkw57003c677csb30pf15fxnxp2r4"
+   "commit": "eb389204f9dadd8a040a78e79a17732daca7e253",
+   "sha256": "1m3v51hnhrfxpqqalkx26d1x6v109w83w7h5mwfa64hmgpax9r7i"
   },
   "stable": {
    "version": [
@@ -6987,8 +6989,8 @@
     "a",
     "pdf-tools"
    ],
-   "commit": "246120647e28a27506ca0894ba98e371086881fd",
-   "sha256": "15gqzj4h0w33w38i8ihl74iy7aqxlds97gm93r72z69pm2l1d7dm"
+   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
+   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
   }
  },
  {
@@ -7036,14 +7038,14 @@
   "repo": "bdarcus/bibtex-actions",
   "unstable": {
    "version": [
-    20210607,
-    1230
+    20210714,
+    1030
    ],
    "deps": [
     "bibtex-completion"
    ],
-   "commit": "07a3c64b12673b722a21c932eb85c595dea0c863",
-   "sha256": "0afnb0aa3msnvg2p4pjdcliccsfhaa7pp7bx76h3sfvv4648kki5"
+   "commit": "f5b73bce4fcc31d55044d17949569b35dc50283b",
+   "sha256": "06wv37ck15i4m90lwksyc4zq9pwx4ljr90g8yqjmmracpgbm967y"
   },
   "stable": {
    "version": [
@@ -7119,11 +7121,11 @@
   "repo": "tarsius/bicycle",
   "unstable": {
    "version": [
-    20201028,
-    1854
+    20210615,
+    1459
    ],
-   "commit": "e3fbc0737bb5f891e4d57d048bbc1fe17401f17f",
-   "sha256": "1jgrnd3yxaqgd3rxls41xxzfaq9hkmjk9wbdg06ak9h5xw4fi17j"
+   "commit": "2f0d6fbe0e363a0ed1f878316d1c0d7c1d6e1082",
+   "sha256": "1zlbz5kkqz4r3a2d5y563s1isbs1328kjjrfmn69gwd6w2zi5pii"
   },
   "stable": {
    "version": [
@@ -7490,8 +7492,8 @@
     20200404,
     1550
    ],
-   "commit": "d99ab1aad84e4bd2bd4a499877764c213cce50ff",
-   "sha256": "0ay49ars61vr43n4bd3k4n1w89ilmw7d8s53ifixgw0vvjkz74z1"
+   "commit": "8f7cd388abccdf25baeca99c07ef2dfe264e8f2f",
+   "sha256": "16c4scmc7csb34c237m04fc2w252lvqiwjcz65bjmf077g1ipd7q"
   },
   "stable": {
    "version": [
@@ -7883,8 +7885,8 @@
   "repo": "boogie-org/boogie-friends",
   "unstable": {
    "version": [
-    20210323,
-    1836
+    20210703,
+    238
    ],
    "deps": [
     "cl-lib",
@@ -7893,8 +7895,8 @@
     "flycheck",
     "yasnippet"
    ],
-   "commit": "bc5572f796bc3ecafadadcbd93de73052304c856",
-   "sha256": "0x1lw3cx9vx0l9xr9683p2385msny8dkp2w5l6kfa8imbyclpkp2"
+   "commit": "1e3b6a8aee9fa7c113468838c5b647080caf3703",
+   "sha256": "1h3j7a1y5p90dd1vj4kyngj5xvbr2z4dkzkq74s85bqf61j66yw2"
   }
  },
  {
@@ -7963,15 +7965,15 @@
   "repo": "emacscollective/borg",
   "unstable": {
    "version": [
-    20210530,
-    1158
+    20210618,
+    2112
    ],
    "deps": [
     "epkg",
     "magit"
    ],
-   "commit": "e2263534e16ed8bbc935ee466f6ad2acbe9c603e",
-   "sha256": "169sdgi476hnxxv0s9qfi8cply9q7gb8i1hli4i74ynlrhc9wfq7"
+   "commit": "6ea061f30065493e206132ff3f7a2d8febb859d0",
+   "sha256": "0m7c512r789pbx2qgzx1zgbr2w4y6ma8l7zhvslji57hzhcvj10y"
   },
   "stable": {
    "version": [
@@ -8570,16 +8572,16 @@
   "repo": "countvajhula/buffer-ring",
   "unstable": {
    "version": [
-    20210529,
-    2059
+    20210707,
+    1745
    ],
    "deps": [
     "dynaring",
     "ht",
     "s"
    ],
-   "commit": "30572b4d8fff519c4996078a5ad743583fb22b0e",
-   "sha256": "1xg6kbjj4fccsr5awnh3ba9x33qznnala3kmnfwpmj94rd72whiy"
+   "commit": "25c44a39742b21122e1e2adf1f6c5828148cd3ee",
+   "sha256": "130304bmlz46z6g56bsr745zfb8mxw5kzkslb8vdz7hvcp75wfc4"
   },
   "stable": {
    "version": [
@@ -8678,8 +8680,8 @@
     20200924,
     345
    ],
-   "commit": "2b12ed29cbcd733ad21d91475d1fcbd4092c604e",
-   "sha256": "1x9vayhq5cpqglkz4bzd9iaa1p0j0qsvh5pr6vkqi2z1nrjcwi8g"
+   "commit": "a14568210e212a4dfb93898218c4df58ff204089",
+   "sha256": "0b7lc14sn88r3wf8yqnx41wr704fm8kd6nxbd4874jaw01yp8x63"
   },
   "stable": {
    "version": [
@@ -8699,18 +8701,17 @@
   "repo": "alphapapa/bufler.el",
   "unstable": {
    "version": [
-    20201226,
-    2149
+    20210716,
+    1006
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "f",
     "magit-section",
     "pretty-hydra"
    ],
-   "commit": "097f4349920215bdd829fceabc1afdbba172c32a",
-   "sha256": "1a4y3p7cwygw09b9f9j9m821aiyjiji55mrm83pvv0xzc9rhwd3h"
+   "commit": "d466eac6c4b2ee25c765e7f31e44beb38dd44e4b",
+   "sha256": "00gyqpm0g437z71vbfd4kmih23vh6909dvygng133vxzly9k4f24"
   },
   "stable": {
    "version": [
@@ -8925,14 +8926,14 @@
   "repo": "alphapapa/burly.el",
   "unstable": {
    "version": [
-    20201211,
-    58
+    20210709,
+    415
    ],
    "deps": [
     "map"
    ],
-   "commit": "291c2b34eee255f64c0fd889b67dc11a3b69ef12",
-   "sha256": "0a9k47xn9fhhw6rl73gri2ykzag5c68drfc7c4r0f1nqp61smkkv"
+   "commit": "a67a026db0937b26c0b7a2fcf81bf44498ad2dd1",
+   "sha256": "0xck02i9l0yw7yzy6sgzg17k2hyqaj9lvafp7r229xzw8rdzl8cr"
   },
   "stable": {
    "version": [
@@ -9202,11 +9203,11 @@
   "repo": "lassik/emacs-c-eval",
   "unstable": {
    "version": [
-    20210603,
-    1716
+    20210611,
+    705
    ],
-   "commit": "f79be8354a3c01fddbf38b731aa8934421cef22f",
-   "sha256": "1qpi5j2h9q4khp3kbk4ybsg4mp2cp5kws5fz7bjpxz4iz0s8mbx7"
+   "commit": "fd129bfcb75475ac6820cc33862bd8efb8097fae",
+   "sha256": "1xfgjc0j8ck03278n014mvf768m68knyawrc3lmybr2gj04b4cz9"
   }
  },
  {
@@ -9426,20 +9427,20 @@
   "repo": "unhammer/calendar-norway.el",
   "unstable": {
    "version": [
-    20180906,
-    1502
+    20210608,
+    1136
    ],
-   "commit": "8d1fda8268caa74ba5e712c7675ed3c34e46e2d4",
-   "sha256": "011c8pz1g805a7c3djai39yasd2idfp4c2dcrvf7kbls27ayrl6d"
+   "commit": "4dd8c38ef30ad45931c8ae7bcdfd720c3fcffffc",
+   "sha256": "02xf57dincpn7km1f3c9dnq2qv6lk07m9z5hilm3nnns0wwzqdyw"
   },
   "stable": {
    "version": [
     0,
     9,
-    4
+    5
    ],
-   "commit": "8d1fda8268caa74ba5e712c7675ed3c34e46e2d4",
-   "sha256": "011c8pz1g805a7c3djai39yasd2idfp4c2dcrvf7kbls27ayrl6d"
+   "commit": "4dd8c38ef30ad45931c8ae7bcdfd720c3fcffffc",
+   "sha256": "02xf57dincpn7km1f3c9dnq2qv6lk07m9z5hilm3nnns0wwzqdyw"
   }
  },
  {
@@ -9615,7 +9616,7 @@
   "unstable": {
    "version": [
     20210311,
-    831
+    830
    ],
    "deps": [
     "anaconda-mode",
@@ -9785,14 +9786,14 @@
   "repo": "kwrooijen/cargo.el",
   "unstable": {
    "version": [
-    20210422,
-    657
+    20210615,
+    1543
    ],
    "deps": [
     "markdown-mode"
    ],
-   "commit": "0174599fd1c1b429042c7ca67c3d45f07441a43d",
-   "sha256": "0qm6cgzsr86s1rcvqpv8x5b3r1v7nq7z8il8ci4vlw9hk0wg65a2"
+   "commit": "1dd9771853b4327ed161232b65520c13ffe3c0c6",
+   "sha256": "12pwlww471s6n4vy367m3z8gscxpapi7q6sz5siyis9vjwz3ql2y"
   },
   "stable": {
    "version": [
@@ -9894,8 +9895,8 @@
   "repo": "cask/cask",
   "unstable": {
    "version": [
-    20210528,
-    1605
+    20210621,
+    1830
    ],
    "deps": [
     "ansi",
@@ -9906,8 +9907,8 @@
     "s",
     "shut-up"
    ],
-   "commit": "daee4bec9c7d96a165366f7edeaa4616837bf432",
-   "sha256": "062hsgb4315wvydygvygjywi4wp8xri3h0gj4n5dmy884578hhjl"
+   "commit": "9fbc15dfe8b0739082e7bbff65f226dfe74ac9dd",
+   "sha256": "16pc37b6qaaar8gb4b6rzx7bwdj1lamg34a0nlqw6bkp0wzv1d4v"
   },
   "stable": {
    "version": [
@@ -10165,11 +10166,11 @@
   "repo": "cdominik/cdlatex",
   "unstable": {
    "version": [
-    20201016,
-    1659
+    20210621,
+    654
    ],
-   "commit": "adf96bab0bbf28f65c882c0874f1c14fdb216bd8",
-   "sha256": "010sljis51q31l2irhmr4k3i80f6vnzxf8k09p6k7b91jcby3nf5"
+   "commit": "614a8d94f67cdc1eeef8371f7b6b90aef8a78158",
+   "sha256": "1i9la8rh1sgvnk1kwd180x3daaglh3xzlbbfirnjsiqn3yyl9flk"
   },
   "stable": {
    "version": [
@@ -10423,17 +10424,17 @@
     20171115,
     2108
    ],
-   "commit": "35b67c8380bb284c9c59914d967ee157a62311b8",
-   "sha256": "1579n0m13l7ghw5g4b0iffrcvgsh5pk3abk29rrskq736i0h007s"
+   "commit": "d87317f360d64b5f68809a564d03436d2b07e96a",
+   "sha256": "1g2q4fg95wpg1d77zrk80923553w2sgsby3ylrrq92y11ks4yiq5"
   },
   "stable": {
    "version": [
     3,
-    17,
+    18,
     0
    ],
-   "commit": "68302fb6a977b11238c91ad9a2b5cb52e6294561",
-   "sha256": "0y8knkrxhj8w2pvz3wjf36q4lpcbv89h2ha8ha1248mfgqmh3wjr"
+   "commit": "b2e902351f51f30b46836494ae9cc1b38b3c6cf5",
+   "sha256": "1lm791bv829p4yjy95lw673g1l9cihg0akan6qxyjg7x219l7dgy"
   }
  },
  {
@@ -10542,16 +10543,16 @@
   "repo": "Alexander-Miller/cfrs",
   "unstable": {
    "version": [
-    20210529,
-    1123
+    20210609,
+    1805
    ],
    "deps": [
     "dash",
     "posframe",
     "s"
    ],
-   "commit": "e16a01012545d378150432fa10684a2a7d1cc2d1",
-   "sha256": "1pj0l0jqgx3bixklllppgm6pwyfd0dc1ik5cs9x1azb1qdgf8kjs"
+   "commit": "2cb7f1cbf9292b0efe167ef372cfb5a7600564eb",
+   "sha256": "1y75mijqchkzhq185961clyl2idj22kz0a1gp69y29qhhfvs43yk"
   },
   "stable": {
    "version": [
@@ -10874,6 +10875,21 @@
   }
  },
  {
+  "ename": "chemtable",
+  "commit": "5ffceb52fe572dec4203b6cb8f48da23a698cc06",
+  "sha256": "1s1fscgp6b8haq30fxvbxrczgzzs2sh3ggq6ib3ydyxa1vp6aggp",
+  "fetcher": "github",
+  "repo": "sergiruiztrepat/chemtable",
+  "unstable": {
+   "version": [
+    20210713,
+    1551
+   ],
+   "commit": "05fc1449db497e715b33b8e08359fa17c3148c7b",
+   "sha256": "16sdhias8ws93lhfhbf5hm05gff1r3imphk7gdziy51xfgyml619"
+  }
+ },
+ {
   "ename": "cherry-blossom-theme",
   "commit": "401ae22f11f7ee808eb696a4c1f869cd824702c0",
   "sha256": "1i3kafj3m7iij5mr0vhg45zdnkl9pg9ndrq0b0i3k3mw7d5siq7w",
@@ -11055,30 +11071,30 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20210603,
-    1656
+    20210707,
+    2147
    ],
    "deps": [
     "dash",
     "seq",
     "ts"
    ],
-   "commit": "5c5b7fc5e72e2322af2cac14745c7adaab1d56cf",
-   "sha256": "104n79hj8649h90g8kh3i4rfyk1alq0skpjv8jjpbz0cybhp7n53"
+   "commit": "524ba9592fc7095209e380392915b376f75bec00",
+   "sha256": "07fclq7dllz4nsrx51j4vrds1ciylxhkp9g945vc7xk6bi8syl4d"
   },
   "stable": {
    "version": [
     0,
-    8,
-    1
+    9,
+    0
    ],
    "deps": [
     "dash",
     "seq",
     "ts"
    ],
-   "commit": "e9164ecca1e2f43676e5a071aca7644177866deb",
-   "sha256": "0fp0p1sv7jpam2vbgkv2yg7lsdlxa02213ka06cn8rb54lw7k702"
+   "commit": "73e6d98612187aa64f4adacd26e058349cf131c6",
+   "sha256": "156hj3sxjcfpwimnrykh4n3krkbzas9jg8m6xzy42rnzhx28ja6k"
   }
  },
  {
@@ -11121,26 +11137,26 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20210603,
-    1656
+    20210617,
+    1707
    ],
    "deps": [
     "chronometrist"
    ],
-   "commit": "5c5b7fc5e72e2322af2cac14745c7adaab1d56cf",
-   "sha256": "104n79hj8649h90g8kh3i4rfyk1alq0skpjv8jjpbz0cybhp7n53"
+   "commit": "524ba9592fc7095209e380392915b376f75bec00",
+   "sha256": "07fclq7dllz4nsrx51j4vrds1ciylxhkp9g945vc7xk6bi8syl4d"
   },
   "stable": {
    "version": [
     0,
-    8,
-    1
+    9,
+    0
    ],
    "deps": [
     "chronometrist"
    ],
-   "commit": "e9164ecca1e2f43676e5a071aca7644177866deb",
-   "sha256": "0fp0p1sv7jpam2vbgkv2yg7lsdlxa02213ka06cn8rb54lw7k702"
+   "commit": "73e6d98612187aa64f4adacd26e058349cf131c6",
+   "sha256": "156hj3sxjcfpwimnrykh4n3krkbzas9jg8m6xzy42rnzhx28ja6k"
   }
  },
  {
@@ -11199,8 +11215,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20210524,
-    832
+    20210706,
+    1151
    ],
    "deps": [
     "clojure-mode",
@@ -11211,8 +11227,8 @@
     "sesman",
     "spinner"
    ],
-   "commit": "8f51546c0efb36226c4bae7d65465b0e0aa8c06f",
-   "sha256": "0bn1k34a0dr85c0jj3cb3w8afbhb5iy7whdddkfpa5fkrhc77acf"
+   "commit": "fe8cf244fd3426261f9f630c981a6296afd433a4",
+   "sha256": "02xj7g6jnwd9vjr8jipqvwy89zadkzsak08pq8418hz2af26bvaf"
   },
   "stable": {
    "version": [
@@ -11397,20 +11413,20 @@
  },
  {
   "ename": "circe",
-  "commit": "a2b295656d53fddc76cacc86b239e5648e49e3a4",
-  "sha256": "1f54d8490gfx0r0cdvgmcjdxqpni43msy0k2mgqd1qz88a4b5l07",
+  "commit": "8229522ba39b4b542421664ad3fef76439fbbfc9",
+  "sha256": "0wzpx6qpl89zixbsqyfgmda35qbjpqyq60xm61qjzi36hf9f9wcb",
   "fetcher": "github",
-  "repo": "jorgenschaefer/circe",
+  "repo": "emacs-circe/circe",
   "unstable": {
    "version": [
-    20210601,
-    801
+    20210713,
+    1609
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "c0b2f997b3b73640d635ee84627bb8cf36c9adfe",
-   "sha256": "1kjfch0fhq67iivad56s071c8qlsssdsdg83h5v9iz2x4jipm0wa"
+   "commit": "07d6d82cba864b1e38d3bd46654f2e1928a997c2",
+   "sha256": "04h60s6ig43sj144s7dlip1saf9kdwvzlfys8qwwx48003rbs0dp"
   },
   "stable": {
    "version": [
@@ -11481,8 +11497,8 @@
   "repo": "andras-simonyi/citeproc-el",
   "unstable": {
    "version": [
-    20201031,
-    1642
+    20210709,
+    602
    ],
    "deps": [
     "dash",
@@ -11492,8 +11508,8 @@
     "s",
     "string-inflection"
    ],
-   "commit": "0857973409e3ef2ef0238714f2ef7ff724230d1c",
-   "sha256": "1vi62fzl3bcn24j7pvb39jdf1njrdvdvwz88qlz6l0ijaxhrv0vp"
+   "commit": "dc118772ad4585c0511f4f8f25c81faf69952038",
+   "sha256": "0v8z6fhrsi9kszqcbrm1ggvin0jff744byaiw06d3id1hc428iq5"
   },
   "stable": {
    "version": [
@@ -11552,56 +11568,50 @@
   }
  },
  {
-  "ename": "cl-format",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "09jwy0fgaz2f04dvcdns6w859s6izvrkp8ib4lws3x8kx8z918fy",
+  "ename": "citre",
+  "commit": "a11fd12ba99427246c17c178ef9277fc2d2e2eed",
+  "sha256": "0nbyb0n0f1f11lnyv9wxy2d1vmz5vg5w18dln2vlwcjh2a6n3jz9",
   "fetcher": "github",
-  "repo": "alvinfrancis/cl-format",
+  "repo": "universal-ctags/citre",
   "unstable": {
    "version": [
-    20160413,
-    45
+    20210716,
+    403
    ],
-   "commit": "4380cb8009c47cc6d9098b383082b93b1aefa460",
-   "sha256": "108s96viral3s62a77jfgvjam08hdk97frfmxjg3xpp2ifccjs7h"
+   "commit": "813e8c32a41f84ff099feddb5a4d5a51c5c200b5",
+   "sha256": "02482ln1458hb6z1x89b7294q4bwwdqi08h6m0mmvgd3vz2nwmqs"
   },
   "stable": {
    "version": [
+    0,
     1,
-    1
+    0
    ],
-   "commit": "4380cb8009c47cc6d9098b383082b93b1aefa460",
-   "sha256": "108s96viral3s62a77jfgvjam08hdk97frfmxjg3xpp2ifccjs7h"
+   "commit": "dcb5ec12d077c9a8f1c165a0868f98098494f78c",
+   "sha256": "1mf0d9avyhz83kb5fz2flwwn1knrbgrs0245q0layda9bya5i5yk"
   }
  },
  {
-  "ename": "cl-lib-highlight",
-  "commit": "696c79669478b0d1c9769cc6f0fe581ee056cf32",
-  "sha256": "13qdrvpxq928p27b1xdcbsscyhqk042rwfa17037gp9h02fd42j8",
+  "ename": "cl-format",
+  "commit": "855ea20024b606314f8590129259747cac0bcc97",
+  "sha256": "09jwy0fgaz2f04dvcdns6w859s6izvrkp8ib4lws3x8kx8z918fy",
   "fetcher": "github",
-  "repo": "skeeto/cl-lib-highlight",
+  "repo": "alvinfrancis/cl-format",
   "unstable": {
    "version": [
-    20200210,
-    1951
-   ],
-   "deps": [
-    "cl-lib"
+    20160413,
+    45
    ],
-   "commit": "72afc4dd0107c357543244d09903767f49651c5c",
-   "sha256": "1ndjjdada219fgs68np4r7vg50s2h6060wd6wf0x3pnj8b0ca5wm"
+   "commit": "4380cb8009c47cc6d9098b383082b93b1aefa460",
+   "sha256": "108s96viral3s62a77jfgvjam08hdk97frfmxjg3xpp2ifccjs7h"
   },
   "stable": {
    "version": [
     1,
-    0,
-    0
-   ],
-   "deps": [
-    "cl-lib"
+    1
    ],
-   "commit": "c117451df8455769701af6c8e92a8fb29c05e1fa",
-   "sha256": "12vgi5dicx3lxzngjcg9g3nflrhfy9wdw6ldm72zarp1h96jy5cw"
+   "commit": "4380cb8009c47cc6d9098b383082b93b1aefa460",
+   "sha256": "108s96viral3s62a77jfgvjam08hdk97frfmxjg3xpp2ifccjs7h"
   }
  },
  {
@@ -11629,26 +11639,26 @@
  },
  {
   "ename": "clang-capf",
-  "commit": "c47e1fd9d5a4b85f08676742a9b36b74a2ac8fb6",
-  "sha256": "11qfh8c2kjcy715yyp0sywla74z92qn5j1z9wp4fv5p45w6b6112",
+  "commit": "982788433004ba644a372c50130613e3c56bba10",
+  "sha256": "0xng53wrvmmcl3pq1ap9ddnqrfwmhqwcwli7xnf7a5dqlx6dxj7h",
   "fetcher": "git",
-  "url": "https://git.sr.ht/~zge/clang-capf",
+  "url": "https://git.sr.ht/~pkal/clang-capf",
   "unstable": {
    "version": [
-    20201205,
-    1229
+    20210707,
+    1127
    ],
-   "commit": "6d0fcae75044d930e989903673b6ab22d0401418",
-   "sha256": "12kcb26vk0x20nkwsqw7fk2mlzd64dbh02wz7bpdr3r74iygsapf"
+   "commit": "258863d5cd77d2c9d07cc5dfa41b20db22a178f7",
+   "sha256": "1zg192hy2mf6r6fiy2ahkprxjnb79lh9n6wv6nvxqnc5cq0969i4"
   },
   "stable": {
    "version": [
     1,
     2,
-    0
+    1
    ],
-   "commit": "630ab057ed614d142ac08bb3a44a869a81cb591a",
-   "sha256": "0xrxk4b903ayymrngf2swk8d7ic8np1dy8zp9hg3wjlibsmagak0"
+   "commit": "e422f339395aac6d023954880d19bc76a0d1072d",
+   "sha256": "1gdd674m1vbl8acwsgx6qfmx1gr7h8a6yadzp1jjaandpmc9jlrf"
   }
  },
  {
@@ -11925,8 +11935,8 @@
   "repo": "clojure-emacs/clj-refactor.el",
   "unstable": {
    "version": [
-    20210518,
-    1305
+    20210628,
+    1154
    ],
    "deps": [
     "cider",
@@ -11939,8 +11949,8 @@
     "seq",
     "yasnippet"
    ],
-   "commit": "ae2f6344eaf66c872ebc4a87a389f34434ad7a3d",
-   "sha256": "064pnj9wyhfx02cczmp9ah00ng5v9ps7mhn6mbs6vldv9cfrsvr7"
+   "commit": "466822ff6f9da584f7cf72c868017b8840574dbd",
+   "sha256": "1jvmqb4sj3www6fq8srq13yjixp4ixx5i6b0xhiv2bi6r41m3ina"
   },
   "stable": {
    "version": [
@@ -12187,11 +12197,11 @@
   "repo": "clojure-emacs/clojure-mode",
   "unstable": {
    "version": [
-    20210505,
-    712
+    20210706,
+    1318
    ],
-   "commit": "33f267ac182afe8fa82cc321e9f515c0397e35f6",
-   "sha256": "1v5gqpkw63h4h1c5kyw8dwg08famp89vbgi789yb32md5819l52s"
+   "commit": "3e426b3a479f479963f2c7d1147cc826ed1a0ee1",
+   "sha256": "16smnr1hlbv347wnzhncasz5ihy0sb4fcpx5dw9v8az5r3q8xpak"
   },
   "stable": {
    "version": [
@@ -12217,8 +12227,8 @@
    "deps": [
     "clojure-mode"
    ],
-   "commit": "33f267ac182afe8fa82cc321e9f515c0397e35f6",
-   "sha256": "1v5gqpkw63h4h1c5kyw8dwg08famp89vbgi789yb32md5819l52s"
+   "commit": "3e426b3a479f479963f2c7d1147cc826ed1a0ee1",
+   "sha256": "16smnr1hlbv347wnzhncasz5ihy0sb4fcpx5dw9v8az5r3q8xpak"
   },
   "stable": {
    "version": [
@@ -12337,26 +12347,26 @@
   "repo": "emacscollective/closql",
   "unstable": {
    "version": [
-    20210530,
-    1136
+    20210616,
+    1951
    ],
    "deps": [
     "emacsql-sqlite"
    ],
-   "commit": "1b0e5bfef95de49bf669c54a15571386f10f4705",
-   "sha256": "01l4w3wc7rm7mca8pbkyz0yrks4z8i00ppy5c4bmrnn6akf7h9ih"
+   "commit": "e2687e7ff958a19e6e5d6552c4e0b7b33c424bab",
+   "sha256": "1ghqxnn39i032ibm5sbnv67r2dd2hgfnfpqbmb8wzg9wc6smnacq"
   },
   "stable": {
    "version": [
     1,
     0,
-    5
+    6
    ],
    "deps": [
     "emacsql-sqlite"
    ],
-   "commit": "1b0e5bfef95de49bf669c54a15571386f10f4705",
-   "sha256": "01l4w3wc7rm7mca8pbkyz0yrks4z8i00ppy5c4bmrnn6akf7h9ih"
+   "commit": "e2687e7ff958a19e6e5d6552c4e0b7b33c424bab",
+   "sha256": "1ghqxnn39i032ibm5sbnv67r2dd2hgfnfpqbmb8wzg9wc6smnacq"
   }
  },
  {
@@ -12483,8 +12493,8 @@
   "repo": "atilaneves/cmake-ide",
   "unstable": {
    "version": [
-    20210603,
-    1522
+    20210610,
+    1525
    ],
    "deps": [
     "cl-lib",
@@ -12492,8 +12502,8 @@
     "s",
     "seq"
    ],
-   "commit": "9b1100bd8d65b961b7478f9c011f0f6eb8cfcdd9",
-   "sha256": "1lr9cz856hqb3qz5fq6qqc2a55mfgdrh451np5m2bf2ljw0d67nh"
+   "commit": "28dc4ab5bd01d99553901b4efeb7234280928b18",
+   "sha256": "01xpknvj5mm2d3z6xzaw6cyb26hrzhvs44763ajvgw9l43mviwy3"
   },
   "stable": {
    "version": [
@@ -12520,17 +12530,17 @@
     20210104,
     1831
    ],
-   "commit": "05d8a586fa4eb6256b8b80a0f7f084e8c5d3c8e6",
-   "sha256": "11vxpkf8y9n0kxyfgkbyrq76b0g4xjl2rriyj2d59s3xlx27gqjp"
+   "commit": "4e17e90988e9f23dece4c04f574d456309d7a50c",
+   "sha256": "1gqbgs8zxn9dcpxmbykz0mrqy6p229b0pdz3hnk0kncqkk004lx1"
   },
   "stable": {
    "version": [
     3,
-    20,
-    3
+    21,
+    0
    ],
-   "commit": "13d112ea03f2b068da1f7ac3239a42a6cff94eda",
-   "sha256": "1rn9gzjcg1km9pbyipkfgzq8jvsmwwa2zkmra5yksfwq2094apnh"
+   "commit": "ff7a2e37bfff23ce1751a93b3eba179fbf32a9b6",
+   "sha256": "061cjj5mni91p6b0mpp6a2zrkrmw1hc3l4cci6lcqbx733y192fq"
   }
  },
  {
@@ -12682,11 +12692,11 @@
   "repo": "astoff/code-cells.el",
   "unstable": {
    "version": [
-    20210529,
-    1452
+    20210612,
+    755
    ],
-   "commit": "2e40770d7963dcbb52ac45dcd83c0537fda5e188",
-   "sha256": "1m6csmg7y99ihw6nhknnr6wqamf5y5j931gfbsrhbar2hh8wjx5m"
+   "commit": "1bd650391a6fe84eb267f2534a0750ea1b5549f4",
+   "sha256": "0r0gp0i0mkfw035qrhpbjw3vdlyiffc5b9zmsmq93wcqvn459154"
   }
  },
  {
@@ -13154,8 +13164,8 @@
    "deps": [
     "s"
    ],
-   "commit": "61244e12594f117ffac047454311212604399d52",
-   "sha256": "104iq411nwnv3dnm5x9myn4vf36yg3v46jcag9ln0cj0kypmjdrv"
+   "commit": "e91006ba4a77b8ea8c4fe4085ba5676c97cf0315",
+   "sha256": "0icjcmfmwdwas59425baf2s3zw2iblidx6v3jy6k53y1ac5qn7iy"
   },
   "stable": {
    "version": [
@@ -13387,20 +13397,20 @@
   "repo": "pzel/commentary-theme",
   "unstable": {
    "version": [
-    20181213,
-    1045
+    20210714,
+    1757
    ],
-   "commit": "dede0f8ecb72156fa6ae81198ea570ead02997ff",
-   "sha256": "1ykicd6yp495s7795mlfwd54lp0427j8mw6ajbqsw2c2w0f7jcjr"
+   "commit": "a73e1256f667065933e96bd6032c463cb115201d",
+   "sha256": "0dwd42afh4brcwz1jahxmn8l3aj6dmplidqv4x55z3di1spdjs98"
   },
   "stable": {
    "version": [
     0,
     4,
-    0
+    1
    ],
-   "commit": "9a825ae98166c9dbbf106e7be62ee69dd9f0342f",
-   "sha256": "1x30iyvvxggbh7xvp8lwpirvpqijchqf2fdaw4xrlbw5vajlaxcx"
+   "commit": "a73e1256f667065933e96bd6032c463cb115201d",
+   "sha256": "0dwd42afh4brcwz1jahxmn8l3aj6dmplidqv4x55z3di1spdjs98"
   }
  },
  {
@@ -13489,11 +13499,11 @@
   "repo": "company-mode/company-mode",
   "unstable": {
    "version": [
-    20210606,
-    135
+    20210709,
+    1110
    ],
-   "commit": "e0f8c9ad754bdc2c02318f4baf433886c7aa83e3",
-   "sha256": "1wqwcggjzmqihdgs3bm23fbv2cxpbh9cjvnzgdj01vbgh4ccqkfh"
+   "commit": "d77184094b9a45b204813d824918e1ec2aac8504",
+   "sha256": "09f59ipp6c2b1xpnmk82ygxcfkfhh36h4g1c07dmxf7m3z1hwlgi"
   },
   "stable": {
    "version": [
@@ -13631,8 +13641,8 @@
     "axiom-environment",
     "company"
    ],
-   "commit": "ac8228a702290732ba12c5d13b38576a57afb0d6",
-   "sha256": "1nrlgrckvh2fiwis9bmr95h2bpxfkz1nknxdz61380f2caqwwhw7"
+   "commit": "7d72e6319b98b334f74b78f3d4151e92fb7dcbad",
+   "sha256": "1hwcndb1x3i51l0kvzk4mj6sil8h10mxmazic9zvwjhia9qz9hz3"
   }
  },
  {
@@ -13663,8 +13673,8 @@
   "repo": "sebastiencs/company-box",
   "unstable": {
    "version": [
-    20210330,
-    1155
+    20210712,
+    843
    ],
    "deps": [
     "company",
@@ -13672,8 +13682,8 @@
     "dash-functional",
     "frame-local"
    ],
-   "commit": "aa5f09a5492344e3cc831f0f169a6a8345dec358",
-   "sha256": "15wbhf04qj8wplf03hbwixhwbrw3r3vb2ih2lvxjhgpg0lq1gjz5"
+   "commit": "156f65cfbf690ed84e0e84f90277d665d873ff24",
+   "sha256": "1lafm8kpn0i688gk53711mazksy96c7fmr8qhjmdxpxwdk56jcy2"
   }
  },
  {
@@ -13734,8 +13744,8 @@
   "repo": "cpitclaudel/company-coq",
   "unstable": {
    "version": [
-    20210420,
-    215
+    20210708,
+    2357
    ],
    "deps": [
     "cl-lib",
@@ -13744,8 +13754,8 @@
     "dash",
     "yasnippet"
    ],
-   "commit": "6a23da61e4008f54cf1b713f8b8bffd37887e172",
-   "sha256": "15rd9ga4ydhl6ljzdg26a3kcaqlhaygp67507wrrf8j3801ivks4"
+   "commit": "382db93374380e5db56f02934ee32bbe39159019",
+   "sha256": "1vlbw54a02qy77ad2qgd6sy7y3b6x1y1nm3bjxcd7f67hnncjg0p"
   },
   "stable": {
    "version": [
@@ -13772,26 +13782,26 @@
   "repo": "redguardtoo/company-ctags",
   "unstable": {
    "version": [
-    20210528,
-    1311
+    20210629,
+    1038
    ],
    "deps": [
     "company"
    ],
-   "commit": "26f0a906a646b4885984e068a2046c3a1d0578eb",
-   "sha256": "0ix5zjwfjj4cbx61qy9d0rfbsmk5kgvm9r2v2r76qa39wx3dys82"
+   "commit": "cf7bfdbfedc8ca4ee134c8d66e70eb6035185174",
+   "sha256": "0ysf3gd3fk74j203y2zg3rq41jx42wgk1y1fn2g5giawazi7ym2x"
   },
   "stable": {
    "version": [
     0,
     0,
-    5
+    6
    ],
    "deps": [
     "company"
    ],
-   "commit": "26f0a906a646b4885984e068a2046c3a1d0578eb",
-   "sha256": "0ix5zjwfjj4cbx61qy9d0rfbsmk5kgvm9r2v2r76qa39wx3dys82"
+   "commit": "cf7bfdbfedc8ca4ee134c8d66e70eb6035185174",
+   "sha256": "0ysf3gd3fk74j203y2zg3rq41jx42wgk1y1fn2g5giawazi7ym2x"
   }
  },
  {
@@ -14010,16 +14020,16 @@
   "repo": "jcs-elpa/company-fuzzy",
   "unstable": {
    "version": [
-    20210329,
-    1543
+    20210716,
+    926
    ],
    "deps": [
     "company",
     "ht",
     "s"
    ],
-   "commit": "a90e45ee69bac18205418aea68d981c12835eb81",
-   "sha256": "0rm2nw5h74qhc5sqrwgw7l94x32kp35fw3xdpfpglr6bmqyqjbmz"
+   "commit": "b4fd1c8d128ae345176f713dad2c04944a9cf27c",
+   "sha256": "1fhkc49xp4yfqry6a0w7bsz80c7v5kc60jzd3ran0yjr9q9yzx8i"
   },
   "stable": {
    "version": [
@@ -14531,15 +14541,15 @@
   "repo": "xenodium/company-org-block",
   "unstable": {
    "version": [
-    20210607,
-    1202
+    20210623,
+    731
    ],
    "deps": [
     "company",
     "org"
    ],
-   "commit": "e2742dea77b356ee11a1200263d48eed79f5fe43",
-   "sha256": "194kjkpaca7k60hxs96mah416fdn5mfbsa4wgrpc3cprlrbyp8jr"
+   "commit": "4fd9a9c673225196e211bb3ced411d0ef9ff2f88",
+   "sha256": "1nsgkamrq54vm88imdyhl4326fxl9hvkfp0prckgjcg2r37pkxar"
   }
  },
  {
@@ -14558,8 +14568,8 @@
     "cl-lib",
     "company"
    ],
-   "commit": "9770c95bf2df93d9cb0f200723b03b3d9a480640",
-   "sha256": "188z1i209z61nwfcgffgp90rdcsnl75izxpqv4x1vbaay5fvg33f"
+   "commit": "8a0dc9888de87ea3aace06628bff52ed32f3ca2b",
+   "sha256": "1xcsm72by6jiqr9y9fyk70nshsj5dj494faz9734m67fmxq45pfj"
   },
   "stable": {
    "version": [
@@ -14591,8 +14601,8 @@
     "company",
     "phpactor"
    ],
-   "commit": "debf66848c6099415c731b179dcd47e96db3b50b",
-   "sha256": "0i5g4gh5i5y8wsrqw89lwi2s2sn67pvvj2y6p7lnyv0i201v5bs8"
+   "commit": "272217fbb6b7e7f70615fc518d77c6d75f33a44f",
+   "sha256": "0hm96i9vdbkcq6mypjpl94dn3gzyk23iql5zzy2d221vmjhqvn7d"
   },
   "stable": {
    "version": [
@@ -14806,15 +14816,15 @@
   "repo": "jcs-elpa/company-quickhelp-terminal",
   "unstable": {
    "version": [
-    20200904,
-    305
+    20210715,
+    1010
    ],
    "deps": [
     "company-quickhelp",
     "popup"
    ],
-   "commit": "c2e077e8d32610f80a506c410ab51a4ba747a47f",
-   "sha256": "014gk5ara9xh218wm2ygh2nilyp3s1rbg6y5y2z2ki460biwi166"
+   "commit": "2e82273e206f78f015e67f799f51e3f3458d6d94",
+   "sha256": "0miylw8lhs4jgfa47mis6k68jm69jwbmpgms0dl9rnjgpmyvr133"
   },
   "stable": {
    "version": [
@@ -14920,8 +14930,8 @@
     "company",
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -14986,8 +14996,8 @@
     "company",
     "solidity-mode"
    ],
-   "commit": "383ac144727c716c65989c079ae76127e25144c3",
-   "sha256": "1q4b8623mygzp3qwy5bmb3hipzjfri9007x0ilq3i7k5bs34jz9r"
+   "commit": "5f6ef3156fadae5af6f381d674d20535529a20e4",
+   "sha256": "02rmc7naspjfl757k7zdfg9xd6nvfpsiqfcxkj6ywc7mnndpq2c0"
   },
   "stable": {
    "version": [
@@ -15703,19 +15713,19 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20210606,
-    1237
+    20210716,
+    1219
    ],
-   "commit": "ae905501bcdb8fdda0d10a0846d575fd2a38e6d7",
-   "sha256": "1jz4j27irxknfbcxsn8phhhaiwyc2z9gnyrj03ah1v57i0i9g79c"
+   "commit": "5fb6248c8e12630ce1247985c67ea28ae4077e4f",
+   "sha256": "1cgk144alm3pbig9acm62q3r7479x69ig76q3z6agamdvf91ay29"
   },
   "stable": {
    "version": [
     0,
-    8
+    9
    ],
-   "commit": "e538f168d9d16c926d92c19d6131298962b778a9",
-   "sha256": "1460818fb6y086vgn1mzmrwhpa5jswlwi4v71zr86cg6y7yg4248"
+   "commit": "ee58941308d83a717728f056ea753e80f68cfbc0",
+   "sha256": "0iy6lrqbpi4lv7141rdawpn278rxinfxspwb81n04azyxrk28vlw"
   }
  },
  {
@@ -15789,29 +15799,29 @@
   "repo": "gagbo/consult-lsp",
   "unstable": {
    "version": [
-    20210428,
-    1515
+    20210630,
+    1151
    ],
    "deps": [
     "consult",
     "f",
     "lsp-mode"
    ],
-   "commit": "12989949cc21a1173206f688d56a1e798073a4c3",
-   "sha256": "0g3bpi53x6gr9631kzidbv4596bvdbxlr8y84ln40iwx5j8w6s7p"
+   "commit": "e8a50f2c94f40c86934ca2eaff007f9c00586272",
+   "sha256": "1xkkybfdzr1xqhvc2bamp253icm75dz7bkdz6bv8xj8688p8vrm9"
   },
   "stable": {
    "version": [
     0,
-    2
+    4
    ],
    "deps": [
     "consult",
     "f",
     "lsp-mode"
    ],
-   "commit": "c4c0426b58946578ac1806a60258d2b275d5b524",
-   "sha256": "11lrnv5ssiwwdvdib05nz070yc3w9lfcqikgnl3bq8gbcrm9zjf4"
+   "commit": "e4a0b9403477fe90741ac84d0d2ac3729122b363",
+   "sha256": "00rrc17axn7pmvzy1q95nf0w036cx7fhxwhimamh9cmijkdsf5w5"
   }
  },
  {
@@ -15822,27 +15832,27 @@
   "url": "https://codeberg.org/jao/consult-notmuch.git",
   "unstable": {
    "version": [
-    20210519,
-    57
+    20210701,
+    422
    ],
    "deps": [
     "consult",
     "notmuch"
    ],
-   "commit": "71aa3b8ee6cd3cd07313b74353ac29fdfde0e7b0",
-   "sha256": "1wfghhyv89fcnjznvjwriwdpksr3yijr5lg0xihc7vssz05c7qpr"
+   "commit": "9e65c421cf54ca12234acad727818fa0fe60fa3e",
+   "sha256": "19flyh3v1xm2zswzjkvjbijvpbq5r8isafza4fd0yicvqbjyklhx"
   },
   "stable": {
    "version": [
     0,
-    2
+    3
    ],
    "deps": [
     "consult",
     "notmuch"
    ],
-   "commit": "5cc6684f6e9cbeb23a06280a1cc9332658d37514",
-   "sha256": "1s1imciy8yb3kkgbdsqsvlv0j40sm94lvv9z5kq58w6n9c2dmb48"
+   "commit": "9e65c421cf54ca12234acad727818fa0fe60fa3e",
+   "sha256": "19flyh3v1xm2zswzjkvjbijvpbq5r8isafza4fd0yicvqbjyklhx"
   }
  },
  {
@@ -15853,14 +15863,14 @@
   "url": "https://codeberg.org/jao/consult-recoll.git",
   "unstable": {
    "version": [
-    20210411,
-    1300
+    20210620,
+    1955
    ],
    "deps": [
     "consult"
    ],
-   "commit": "9038cfa4222f428e28bdafa0aeb57362104a873d",
-   "sha256": "0sqwczfvplmlwkjmpd3l8i6gjsfw180kafyvkzdkdig4cwa39yks"
+   "commit": "7b54edb8ac011015ccb43c9d6193e455b4405425",
+   "sha256": "1qz0r36nv5d52g9i4g9lcrp9gh1kf16q8lgjwgxxqi0qrq2h99z0"
   }
  },
  {
@@ -15871,15 +15881,15 @@
   "url": "https://codeberg.org/jao/espotify",
   "unstable": {
    "version": [
-    20210605,
-    1502
+    20210620,
+    1953
    ],
    "deps": [
     "consult",
     "espotify"
    ],
-   "commit": "3d62a3319ab03a810030058d3fb368b28dfd82d5",
-   "sha256": "0hj3nczmqmgiwsvh664rs34j63wl325x6nar21p1a84h5ximpkxq"
+   "commit": "5bf63dacc5df8a74860e80dabd16afce68a24a36",
+   "sha256": "1vxg86wv6f96bva0d1xxhisk525chwhdl4nq77xhriflq65mcmi3"
   }
  },
  {
@@ -16202,8 +16212,8 @@
     "ivy",
     "swiper"
    ],
-   "commit": "040d458bce4a88f37359192061bcea5ebe87007c",
-   "sha256": "0lgpawrsvihksm9cx462qa1hsmxhhv1qp0h1f9m4wn1jrcrq7r24"
+   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
+   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
   },
   "stable": {
    "version": [
@@ -16397,14 +16407,14 @@
   "repo": "redguardtoo/counsel-etags",
   "unstable": {
    "version": [
-    20210410,
-    1256
+    20210608,
+    206
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "5d7ee6776ed5c314472e2af2797ebfdc725e6a70",
-   "sha256": "116yylad46sjfvadpl3lj3sb17ariswyp6k1ihh8ba5jn9f9hl5h"
+   "commit": "2c1f2161d36f70e0034e29abecfcb8878b30b6ac",
+   "sha256": "1hcsz773i67i82crzczm4csjkl9qj430m73lpvqkh7if543bs030"
   },
   "stable": {
    "version": [
@@ -16735,15 +16745,15 @@
   "repo": "mnewt/counsel-web",
   "unstable": {
    "version": [
-    20200313,
-    5
+    20210609,
+    2156
    ],
    "deps": [
     "counsel",
     "request"
    ],
-   "commit": "35c648b4cdd9f266ab54512a0fec2a3ca55d5bc6",
-   "sha256": "128vl9a5w8v2xzfi5xn9cqshxmcfq2pcmnkkqcxfmi401m2lm0bx"
+   "commit": "1359b3b204fcdac7a3d6664c7d540a88b5acecfd",
+   "sha256": "1y5dnhsx5q8jvrr5hjr8cp53nvdq25c9q9im61ym75nccl9lwp4v"
   }
  },
  {
@@ -17067,8 +17077,8 @@
     20210601,
     1327
    ],
-   "commit": "771a405e262c98b802e2c5302306aed802d8233e",
-   "sha256": "0kcv3jjygjvz75irjdddgakw8b0ckm5gqasrb2341zgqms7l9rfr"
+   "commit": "b2c24f42f2fae63433787150f77b397d69ce0e5b",
+   "sha256": "1c0smqhc87fzg7db20k92k938p8dkqiig59krwylkqgagsi7hbg4"
   },
   "stable": {
    "version": [
@@ -17223,11 +17233,11 @@
   "repo": "emacs-pe/crontab-mode",
   "unstable": {
    "version": [
-    20200330,
-    920
+    20210715,
+    133
    ],
-   "commit": "9625228cbfce29ac3b443c6eff893ff828268f7d",
-   "sha256": "01s32ivn1fdqq99ms3s6a73hrqdc2r5khrg4jv3sniviql2k3i31"
+   "commit": "7412f3df0958812bfcacd5875a409fa795fa8ecc",
+   "sha256": "0jfdak85r9j0qlbzc53mkbfqqgqs9ghg0x6fhlv8i22873y650gm"
   }
  },
  {
@@ -17238,11 +17248,11 @@
   "repo": "Boruch-Baum/emacs-crossword",
   "unstable": {
    "version": [
-    20210216,
-    1703
+    20210614,
+    633
    ],
-   "commit": "cb2e2a435ea9f4fa8c7517b4909af8b62bca8a3e",
-   "sha256": "18dk9623ff2kxfhbdnh4l68n5dfxqgrm6ilmv85dfj685kahd0d3"
+   "commit": "a8594b6e13f5e276aa9bc810ac74a8032bb1f678",
+   "sha256": "1in8y4fg79v0lx5k0bfhazppkhmb8x9xb0wrjpv3p877vy3687i9"
   },
   "stable": {
    "version": [
@@ -17372,16 +17382,16 @@
   "repo": "emacs-csharp/csharp-mode",
   "unstable": {
    "version": [
-    20210328,
-    2004
+    20210624,
+    1320
    ],
    "deps": [
     "tree-sitter",
     "tree-sitter-indent",
     "tree-sitter-langs"
    ],
-   "commit": "33e3042535e70a284389f8da1c495958fed8a826",
-   "sha256": "009qizx0cc97if0bdxrmw3l1slddwwhb21fq6npchg7dwswpnai4"
+   "commit": "093f0f21a9d04d79a380de145cbc42693ef8c76f",
+   "sha256": "1150s8zz9z6pmr9m8jny7g8qrhxdnpbk4nzrlyddhaf9hkw9nfi9"
   },
   "stable": {
    "version": [
@@ -18050,17 +18060,17 @@
     20190111,
     2150
    ],
-   "commit": "7b018126aefb100a4f00aeba121688e8a168ee22",
-   "sha256": "0wxjnxic06kkdjlsd0r0afpms26rhdyskv2f4nj7gabiz1m341gm"
+   "commit": "5bf5aa63d6b6742144071a2af896067c21b3752a",
+   "sha256": "1nnyca4bagdbpmzy64pqy95vxbj3dx7lfbapvs120zbpxj193p7a"
   },
   "stable": {
    "version": [
     0,
     29,
-    23
+    24
    ],
-   "commit": "17670781083e3ccfedb1af4adcec614d4599eef9",
-   "sha256": "1yri0ay0p3p80h9ypq692470y1b99y4hk468zqlmfzb87yv8vv7j"
+   "commit": "3a34c5fb48ee86be9d0a819fee1ff3cb3efd1a1e",
+   "sha256": "0jsbmgqxhyjsrjc2h6lw4yqjjqaiqmgz4yjg580j76q8zk9vkjyb"
   }
  },
  {
@@ -18258,8 +18268,8 @@
   "repo": "emacs-lsp/dap-mode",
   "unstable": {
    "version": [
-    20210519,
-    1554
+    20210711,
+    1427
    ],
    "deps": [
     "bui",
@@ -18271,8 +18281,8 @@
     "posframe",
     "s"
    ],
-   "commit": "cc395e066755c7513d4862f5639f3d162b3bd30f",
-   "sha256": "0nmpldvkhgi668zpn5wym6rfvsdnib9ny2snzwsrrfgqa70lmky6"
+   "commit": "685168efc72e61bca2a248155bace7ec633269a5",
+   "sha256": "1mwy92rj9jj4ziflhzpy774vrp5m7zwzy2x1iyj33mn2rmykwl2w"
   },
   "stable": {
    "version": [
@@ -18525,20 +18535,20 @@
   "repo": "magnars/dash.el",
   "unstable": {
    "version": [
-    20210602,
-    1928
+    20210708,
+    2009
    ],
-   "commit": "aab346ed9d8f0f7ea033029c9688810353052e7e",
-   "sha256": "0vq8sgbil17llimaar4j5ar07g17q8ir3a7hfpmv9572ah1zqpw9"
+   "commit": "2675596b9ac1c4b9d47b93e227f06f8ec6755ec6",
+   "sha256": "0wycrcl79mv253vzf2y92qz9i52mi5xa82f9i4rgnqa02f2m633h"
   },
   "stable": {
    "version": [
     2,
-    18,
-    1
+    19,
+    0
    ],
-   "commit": "1a53e13d7964c84cf756ead353eb6dc094b65fd5",
-   "sha256": "1cvfd36vv0wqb16bnqqxh99hy2yks0j2i4l8qjkg3bxjgk7ldmva"
+   "commit": "2675596b9ac1c4b9d47b93e227f06f8ec6755ec6",
+   "sha256": "0wycrcl79mv253vzf2y92qz9i52mi5xa82f9i4rgnqa02f2m633h"
   }
  },
  {
@@ -18604,20 +18614,20 @@
    "deps": [
     "dash"
    ],
-   "commit": "aab346ed9d8f0f7ea033029c9688810353052e7e",
-   "sha256": "0vq8sgbil17llimaar4j5ar07g17q8ir3a7hfpmv9572ah1zqpw9"
+   "commit": "2675596b9ac1c4b9d47b93e227f06f8ec6755ec6",
+   "sha256": "0wycrcl79mv253vzf2y92qz9i52mi5xa82f9i4rgnqa02f2m633h"
   },
   "stable": {
    "version": [
     2,
-    18,
-    1
+    19,
+    0
    ],
    "deps": [
     "dash"
    ],
-   "commit": "1a53e13d7964c84cf756ead353eb6dc094b65fd5",
-   "sha256": "1cvfd36vv0wqb16bnqqxh99hy2yks0j2i4l8qjkg3bxjgk7ldmva"
+   "commit": "2675596b9ac1c4b9d47b93e227f06f8ec6755ec6",
+   "sha256": "0wycrcl79mv253vzf2y92qz9i52mi5xa82f9i4rgnqa02f2m633h"
   }
  },
  {
@@ -18628,14 +18638,11 @@
   "repo": "emacs-dashboard/emacs-dashboard",
   "unstable": {
    "version": [
-    20210427,
-    705
-   ],
-   "deps": [
-    "page-break-lines"
+    20210714,
+    305
    ],
-   "commit": "9983aa0838ce5a2219ef4b674e6b37de41b5b585",
-   "sha256": "1mi1jn5gknvs7xjgj2v4dcq7z1a7xknksgfqi66bby7cl6cr3hqd"
+   "commit": "09932ef488b47c6b645a081fee4a82be437f98d8",
+   "sha256": "1kfsc5f37i4k4j8rqmi70cd6yvwxhhq2q513gby8qj2bqsgiwkhb"
   },
   "stable": {
    "version": [
@@ -18685,8 +18692,8 @@
     "f",
     "s"
    ],
-   "commit": "91b3c79aa3af3842f1477825f967370414dc77b2",
-   "sha256": "0q456m64wkbwxc99bwr8b3n7z2f2qkrbcdij0kji35rg89rxbgph"
+   "commit": "947c8c99e9abb38852d895f8792258783e3c4e1d",
+   "sha256": "1iwm1kzjbvfamdzz79bkyq848z3wgr3cf2692dmfah58gy5wkb0z"
   },
   "stable": {
    "version": [
@@ -19272,8 +19279,8 @@
     "s",
     "wiki-summary"
    ],
-   "commit": "8df0505babf930bafe3fd28d472cc325637f886b",
-   "sha256": "1czdnvwf2z0za296sn392w52hb2akw2sh27f3b7nw0987iz9qa0s"
+   "commit": "1861c57e67315bcb1ff88f37184cf7e2d6167642",
+   "sha256": "104dfryn6ql2a4l7nd9x0984qpyxhn6kv0432h1lha5adb8g1h10"
   },
   "stable": {
    "version": [
@@ -19358,11 +19365,11 @@
   "repo": "jrblevin/deft",
   "unstable": {
    "version": [
-    20210101,
-    1519
+    20210707,
+    1633
    ],
-   "commit": "c4af44827f4257e7619e63abfd22094a29a9ab52",
-   "sha256": "0xphl5r8q884ml6clrfrzaiqznfrrpsvysakigjqpgazic5d60g2"
+   "commit": "28be94d89bff2e1c7edef7244d7c5ba0636b1296",
+   "sha256": "074d8apvfp9na14q080w14i9ixbswvp7akjyv8gmxmy5im4gm0y3"
   },
   "stable": {
    "version": [
@@ -19635,11 +19642,11 @@
   "repo": "astoff/devdocs.el",
   "unstable": {
    "version": [
-    20210606,
-    933
+    20210625,
+    1617
    ],
-   "commit": "07fc164a680d02de2a7af983adb5e726cbfd7fc0",
-   "sha256": "1ldd4h9r7wiqgynxwlqf6hg5m2whzaczlhxmbch7i60rd72wwvrj"
+   "commit": "f7c57d1878d78f076e2a2ef1c97129dc8aa4da15",
+   "sha256": "0fgyv5g23by8gddaai6q7dwv0f87fam91avpd0fx8klckyz3i5ww"
   }
  },
  {
@@ -19650,11 +19657,11 @@
   "repo": "blahgeek/emacs-devdocs-browser",
   "unstable": {
    "version": [
-    20210601,
-    1447
+    20210703,
+    306
    ],
-   "commit": "d3702670eb361715e41440eb699523b3f4c60bee",
-   "sha256": "1mv0d67y6m1wi779lc0mnpylqiw3cnaj0rkj199fxh91nkc6vk27"
+   "commit": "f8572f208d58b2122df63ffef87fdd5112d83233",
+   "sha256": "10ywfkkczi6hzcz4hnjqxr77708hi22hgrvrykmwrh4lsfxl0iyq"
   }
  },
  {
@@ -19759,10 +19766,10 @@
  },
  {
   "ename": "dictcc",
-  "commit": "5e867df96915a0c4f22fdccd4e2096878895bda6",
-  "sha256": "0x1y742hb3dm7xmh5810dlqki38kybw68rmg9adcchm2rn86jqlm",
+  "commit": "cdc15fbd060183e2b06f0c776075beddf7433f39",
+  "sha256": "023r50vwc3bbbyfmn05lyfpq78cmjr076i2rjd064izbrybififp",
   "fetcher": "github",
-  "repo": "cqql/dictcc.el",
+  "repo": "martenlienen/dictcc.el",
   "unstable": {
    "version": [
     20200421,
@@ -19867,14 +19874,14 @@
   "repo": "dgutov/diff-hl",
   "unstable": {
    "version": [
-    20210523,
-    11
+    20210615,
+    1539
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "d4340608c2d6d8b81aad8e690d0265799aba16f3",
-   "sha256": "1haqmaaj6ajqqfdni6gn3nmqaif8jqrpdnr84m3zjddsdw5zlcsk"
+   "commit": "d225def4a473a16ac994124e063695ef9cef3308",
+   "sha256": "1wizqf5qj0bxx9b5d0j726in1alqv0wy508y5ivaw7hcyggkg9i7"
   },
   "stable": {
    "version": [
@@ -19931,14 +19938,14 @@
   "repo": "ShuguangSun/diffpdf.el",
   "unstable": {
    "version": [
-    20210307,
-    932
+    20210626,
+    1447
    ],
    "deps": [
     "transient"
    ],
-   "commit": "96861493f95fe88118942bbe64954142250d6c24",
-   "sha256": "13dda1883pkji4nf44mx9xiys6rgirw12si9fnazsviiqycjaf1b"
+   "commit": "a5b203b549e373cb9b0ef3f00c0010bd34dd644a",
+   "sha256": "0bd09ljvlzffb02fgcvjjvysrj762a1wfvad0ywph4722dvnjfn0"
   },
   "stable": {
    "version": [
@@ -19963,8 +19970,8 @@
     20141014,
     2357
    ],
-   "commit": "e0aacd8b3d9f886f27222c1397f0655e849e0af7",
-   "sha256": "14ccak3cmv36pd085188lypal9gd3flyikcrxn0wi6hn60w2dgvr"
+   "commit": "53f2d001bd3a5cb80c6ada16b4e570afd1989a09",
+   "sha256": "0ivy5ydww69gnxws6y37hgvyyvs9gssvdljzs1h13pcycm05hdxb"
   }
  },
  {
@@ -20100,11 +20107,11 @@
   "repo": "tarsius/dim-autoload",
   "unstable": {
    "version": [
-    20200103,
-    1239
+    20210615,
+    1502
    ],
-   "commit": "c8dc02259d6c1aa25fb58742ae8b181f83b39a13",
-   "sha256": "0k9m57zrdpabb6b34j9xy3cmcpzni89wq71pzzwgdi47p1n4r4vd"
+   "commit": "77b6a5814ffb49e33679fd67b53b9f05042b6ebc",
+   "sha256": "1a1xhmsm1c4k3mkbbhzd7fmb8q60fhs0lrf39m261180kz0wnhrq"
   },
   "stable": {
    "version": [
@@ -20130,8 +20137,20 @@
    "deps": [
     "dylan"
    ],
-   "commit": "040c8ebc884305fd4ff980d21c68946fa74b095a",
-   "sha256": "1f99wn0lgknvnplp7nk2lylf17yak2hw53n9a0vkxng01xhf50d2"
+   "commit": "d85409dc3cba57a390ca85da95822f8078ecbfa2",
+   "sha256": "1cm4l2ycaw47mfgc6ms021zxkas1jajgwpnykqlkcwcbakbczxjl"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "dylan"
+   ],
+   "commit": "d85409dc3cba57a390ca85da95822f8078ecbfa2",
+   "sha256": "1cm4l2ycaw47mfgc6ms021zxkas1jajgwpnykqlkcwcbakbczxjl"
   }
  },
  {
@@ -20165,11 +20184,11 @@
   "repo": "jcs-elpa/diminish-buffer",
   "unstable": {
    "version": [
-    20201206,
-    1238
+    20210715,
+    1026
    ],
-   "commit": "387858aaa23d5d1145c98dfa70bbd39bb8c3fa5f",
-   "sha256": "13a3jkc5yf1m2gqabvfxfzxgblyhyni9f2clqx9i0pvr9dvvb9r8"
+   "commit": "fcc43f38431d4b16b2fd8d15e799488a7fb60966",
+   "sha256": "1r5a98viw7j2nfmhgf5v9whkya3h9s392drz764a9ivj2znc0qg5"
   },
   "stable": {
    "version": [
@@ -20286,20 +20305,20 @@
   "repo": "HKey/dired-atool",
   "unstable": {
    "version": [
-    20181228,
-    1422
+    20210706,
+    1456
    ],
-   "commit": "52ce4ac88fa39a0ebdf732435fd831ea9a8d0764",
-   "sha256": "00br8f8rw0rrzmi3nvacwn14d122jw243z1izlsm8h8q95hh8f6l"
+   "commit": "c01e0a79c952a29db17c262c9ce8a90632b04b3a",
+   "sha256": "1r44s3f29p70li6k6646xcby3ypz1ljgd4j1fhdd0x4d7a09zl0v"
   },
   "stable": {
    "version": [
     1,
-    2,
+    3,
     0
    ],
-   "commit": "09dbb769fe02f546da470369a12468ab4a0cceb2",
-   "sha256": "0j2dz4vy4i22185hhlwg2kprpis97xb12qvfdhvdcnz2vwy61sxa"
+   "commit": "c01e0a79c952a29db17c262c9ce8a90632b04b3a",
+   "sha256": "1r44s3f29p70li6k6646xcby3ypz1ljgd4j1fhdd0x4d7a09zl0v"
   }
  },
  {
@@ -20866,14 +20885,14 @@
   "repo": "jojojames/dired-sidebar",
   "unstable": {
    "version": [
-    20210411,
-    2315
+    20210608,
+    2340
    ],
    "deps": [
     "dired-subtree"
    ],
-   "commit": "79d8187da373b573a2d5385ca868553bb73e0005",
-   "sha256": "0b1f6ddhn8z4q790d370zhyqrn4mlqk7i6901sld52m14zigd72j"
+   "commit": "6be2dad2782e28dae2f50c0cbfd82042b2b6ba8d",
+   "sha256": "1lqnd64ga7g8dzzgfn2bw00y65hlvlgxnj3bk7j6qr5wzkz6qp52"
   },
   "stable": {
    "version": [
@@ -21017,14 +21036,14 @@
   "repo": "Boruch-Baum/emacs-diredc",
   "unstable": {
    "version": [
-    20210603,
-    2349
+    20210613,
+    1423
    ],
    "deps": [
     "key-assist"
    ],
-   "commit": "43159042ca788be74c387cc59ba3fffc57079993",
-   "sha256": "01r6sk2zlj3mf39vczaybhpzzmv379vvi85mc4gygif24m102sg3"
+   "commit": "5e13b7c088e2554b2aa406581520d53902c74016",
+   "sha256": "06vy5wgrv0sjdnsx31jg1c12wwzxpkgb2xz1djzi5pbhakidspv3"
   },
   "stable": {
    "version": [
@@ -21069,8 +21088,8 @@
     20160529,
     2017
    ],
-   "commit": "c08e163d9d6c62f7b07e94d54c96c2e364e67e0e",
-   "sha256": "1h2hnm8r3anfbk5x7d2dnv38bdllsbwaam6ivpbgzn12r23wrsr2"
+   "commit": "ad328a15c5deffc1021af9b3f19a745dcd8f4415",
+   "sha256": "1s6gwn3ksvk2wyslv7kwn0da3xgw1ayx6yaddhbxz0kg6ps2ran2"
   },
   "stable": {
    "version": [
@@ -21864,8 +21883,8 @@
   "repo": "Silex/docker.el",
   "unstable": {
    "version": [
-    20210516,
-    1958
+    20210624,
+    1359
    ],
    "deps": [
     "dash",
@@ -21875,8 +21894,8 @@
     "tablist",
     "transient"
    ],
-   "commit": "bc2dc09edea167d4fdf022aa263bad71932bb0c4",
-   "sha256": "009qxd0q77pzq2xvm060zswy0amga9cdcc1h3zf2mhn2cw64ydic"
+   "commit": "9bcefbe54dbed4d364286fe65a87872e763ff7dc",
+   "sha256": "184dsvaa60b4j6w8s6146x81l5d2a6hkxjqp69gwiixpyjyvcj6n"
   },
   "stable": {
    "version": [
@@ -22076,8 +22095,8 @@
    "deps": [
     "s"
    ],
-   "commit": "f6dcb378bb69c23d58978d5bc1e37c4ae160d278",
-   "sha256": "055b24cskxp0wy74synnnsmfnzbavmazyackq0qfnfbkqryrzfml"
+   "commit": "5b80126a71662a4bcd3dff7cfbcf70954610092e",
+   "sha256": "0ywm29gfqfb8dhv3mwwb8fx1vl363gkhba9vdkx0w3r2wvh17l80"
   },
   "stable": {
    "version": [
@@ -22219,30 +22238,30 @@
   "repo": "seagle0128/doom-modeline",
   "unstable": {
    "version": [
-    20210606,
-    1532
+    20210706,
+    604
    ],
    "deps": [
     "all-the-icons",
     "dash",
     "shrink-path"
    ],
-   "commit": "1660910b758251608c17e1a0e27ff862e345daab",
-   "sha256": "1apbh9kp1qk3klx65imbhmxxnf8ax0hzzcdwj4n6qpm7s6bk1gc3"
+   "commit": "06606e0b8b3c19fbe56e25702e2a664deec593c3",
+   "sha256": "0akyzih955j2ijnrvfnajwpml5xb3v9pg9wbn4z8nkcw33hvxgk9"
   },
   "stable": {
    "version": [
     3,
-    1,
-    1
+    2,
+    0
    ],
    "deps": [
     "all-the-icons",
     "dash",
     "shrink-path"
    ],
-   "commit": "5cb0ff7a3878b218486fe7ef9b3c83cb226dd03e",
-   "sha256": "1dkgh87sv25mdlzdfihp6gp0asvwplx9yrn7nfsqzsfc3kpajkck"
+   "commit": "d514f43679513819b37333a64a44523f239150b6",
+   "sha256": "1gfkaxga919a1a19dhpbby95l8dixb1278g5d7iadjf2i3j0p3l0"
   }
  },
  {
@@ -22272,14 +22291,14 @@
   "repo": "hlissner/emacs-doom-themes",
   "unstable": {
    "version": [
-    20210604,
-    1922
+    20210714,
+    1511
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b2c0ea0f0778a6ea85b87e1b87916572e98e1fe7",
-   "sha256": "1rjhmjsszms4rlqq368f717ds4kmdjblkgd2ww830d7sy5h5rb6n"
+   "commit": "b7995ac041f8dadb021cd2445e85d29c9bf718ae",
+   "sha256": "09hhplhb0832ja9nnsq3d4p6g0fdw2sp9kl2y4n2kk6zq909ar54"
   },
   "stable": {
    "version": [
@@ -22523,11 +22542,11 @@
   "repo": "dracula/emacs",
   "unstable": {
    "version": [
-    20210518,
-    657
+    20210627,
+    1011
    ],
-   "commit": "aa72f3d5c4d49cc0fb581d2f4eac528cf0278a11",
-   "sha256": "1ay4i606rjcr55ky54sxyvh6ac4s4ilr1i3pykvavdgmrzy3ij89"
+   "commit": "99ef8ef438e8e11a4486a20c353508b5e20d010e",
+   "sha256": "0hrqbggmfizl7wcwjcnpgs7ykns6iqwai51mqv61k7m2m37slf6k"
   },
   "stable": {
    "version": [
@@ -22883,16 +22902,16 @@
   "repo": "jacktasia/dumb-jump",
   "unstable": {
    "version": [
-    20210303,
-    1714
+    20210622,
+    1720
    ],
    "deps": [
     "dash",
     "popup",
     "s"
    ],
-   "commit": "8f70acbe164553b225476fed55019ecddcf0bbd6",
-   "sha256": "08g417yf4byhhldvcbkmhrlm7iaylkv0cbcg1c701dyfngxn01y2"
+   "commit": "542e72d3feba986a12119f6def515ef1347cb4ca",
+   "sha256": "1x0g1n9x7qsiwqq8432li6yiww2kvdbk2wkqs3glw97grzrz89gc"
   },
   "stable": {
    "version": [
@@ -22933,20 +22952,20 @@
   "repo": "ocaml/dune",
   "unstable": {
    "version": [
-    20210213,
-    757
+    20210715,
+    548
    ],
-   "commit": "ac3a66e0f7d3577b27cc5d5f2399163bfbe11828",
-   "sha256": "1grll7h2hv906bik224qn9fldmq4lhnlfcif1lg4grr3f4nhl1wc"
+   "commit": "48bd29decb847bd9357aceeca9ad1c916f199913",
+   "sha256": "02fy271d8s77l2g4rykgpnqvy4sq2ri88xz97ink00r1r12cdvk9"
   },
   "stable": {
    "version": [
     2,
-    8,
-    5
+    9,
+    0
    ],
-   "commit": "e84ba5230f6afacb12f022937138a752f1c301b6",
-   "sha256": "0a1jj6njzsfjgklsirs6a79079wg4jhy6n888vg3dgp44awwq5jn"
+   "commit": "641a95d2254ca7c51c97f07f2eed85b7a95db954",
+   "sha256": "01np4jy0f3czkpzkl38k9b4lsh41qk52ldaqxl98mgigyzhx4w0b"
   }
  },
  {
@@ -23058,11 +23077,20 @@
   "repo": "dylan-lang/dylan-emacs-support",
   "unstable": {
    "version": [
-    20210329,
-    604
+    20210613,
+    1431
+   ],
+   "commit": "d85409dc3cba57a390ca85da95822f8078ecbfa2",
+   "sha256": "1cm4l2ycaw47mfgc6ms021zxkas1jajgwpnykqlkcwcbakbczxjl"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
    ],
-   "commit": "040c8ebc884305fd4ff980d21c68946fa74b095a",
-   "sha256": "1f99wn0lgknvnplp7nk2lylf17yak2hw53n9a0vkxng01xhf50d2"
+   "commit": "d85409dc3cba57a390ca85da95822f8078ecbfa2",
+   "sha256": "1cm4l2ycaw47mfgc6ms021zxkas1jajgwpnykqlkcwcbakbczxjl"
   }
  },
  {
@@ -23185,14 +23213,14 @@
   "repo": "ahyatt/emacs-dyncloze",
   "unstable": {
    "version": [
-    20210405,
-    212
+    20210712,
+    145
    ],
    "deps": [
     "dash"
    ],
-   "commit": "38aac1a38017a707b4c539a7932cc8f6cd8f1a77",
-   "sha256": "05i0a1680a79xvawa93iip10ln6bkrnvzqh3a2lica4hfx0hsi0x"
+   "commit": "aafc5adc25c7f714b619109bccf92e475d6c84ef",
+   "sha256": "0l3y8xvjy0f2wacnh03i8ny06apcgyzvippsm8k80qhzjc8dxs2i"
   }
  },
  {
@@ -23449,8 +23477,8 @@
     20201112,
     820
    ],
-   "commit": "5f3cfac22a7e2508be47079860ab573f397c3cfa",
-   "sha256": "1p7x7wvzc1sragxpb7b6qnb9fv193mm3ydwf1kwi6rgnz29zql58"
+   "commit": "527df13dcfb11f7a059ca9e8e4d31ab79423d896",
+   "sha256": "0ylmd42z0lczliafwhw0ga80y7j1njdypzmfkmnblhlxyiwjxwxk"
   },
   "stable": {
    "version": [
@@ -24329,8 +24357,8 @@
   "repo": "sebastiw/edts",
   "unstable": {
    "version": [
-    20201110,
-    1827
+    20210630,
+    1626
    ],
    "deps": [
     "auto-complete",
@@ -24341,8 +24369,8 @@
     "popup",
     "s"
    ],
-   "commit": "648e8ac632bee8eaa92fc4e09a674ae453bae0a9",
-   "sha256": "1z7abw4s3k8ynx9i25blp0i51is0wdpsipx79l4wkpazhpsx8gb6"
+   "commit": "5564f5292eba339afa7760af9467c896ccd708da",
+   "sha256": "0dkpijsfprlckaggnzmarrbny2qn02927s0fh94dql2gqkvfxhd0"
   },
   "stable": {
    "version": [
@@ -24505,8 +24533,8 @@
     20200107,
     2333
    ],
-   "commit": "df4e47f7c8adfe90d9bf408459772a6cb4e71b70",
-   "sha256": "1n0dcrhwpl24whxzwhxf7qjlqlllzl5aahdq8h2zdgb6xz912k64"
+   "commit": "54fc2af0efdbb9e000667749bcfc9fda659304cf",
+   "sha256": "032iacivlg86fi3kwgsh0dsggx7kp8l9yvngb4ih7ilfd33mzrza"
   },
   "stable": {
    "version": [
@@ -24526,8 +24554,8 @@
   "repo": "joaotavora/eglot",
   "unstable": {
    "version": [
-    20210526,
-    1751
+    20210611,
+    2249
    ],
    "deps": [
     "eldoc",
@@ -24536,8 +24564,8 @@
     "project",
     "xref"
    ],
-   "commit": "e498cb171bb07ec36880a2494aafc8acb1cc34ca",
-   "sha256": "1q2rg6kk16h0wv70p2x1rg5cjmn0w0gc3phriwdd7iwn842dsrb7"
+   "commit": "5cc8df63d86a6c43134dd6e4e3ae26cfae14e66a",
+   "sha256": "0whplm1858d3mv4af6qk0jr5dk9ym1yzp4zsslrrfpyi54vy96yx"
   },
   "stable": {
    "version": [
@@ -24863,11 +24891,11 @@
   "repo": "dimitri/el-get",
   "unstable": {
    "version": [
-    20210606,
-    911
+    20210613,
+    1418
    ],
-   "commit": "52df810e538243d07f2a317ad36e351b440a75e0",
-   "sha256": "0s9107bss982v4njwkfyi4gismg402xcrqkq9c2hrwhyr6pny4w0"
+   "commit": "463f5e985fc53300f87ab7eb054d1738fc6ac93b",
+   "sha256": "122xbfag9ykvcwq549r3aglrdip1nk68abgqlzhm5mqfpqi0l8a8"
   },
   "stable": {
    "version": [
@@ -25170,8 +25198,8 @@
     20210524,
     1611
    ],
-   "commit": "afe8f31e2b9f78d13b22a695b7cf9c373656b85e",
-   "sha256": "09yk4xvsdd5mvrzx4kdfyi2bkbdykjg80hcxvjamh967s6vinzjb"
+   "commit": "64545671174f9ae307c0bd0aa9f1304d04236421",
+   "sha256": "10hjqva6xpilnsfsi8z7w3mjmii4hzf53cmccv1w3076ccvcpq62"
   }
  },
  {
@@ -25216,20 +25244,20 @@
   "repo": "doublep/eldev",
   "unstable": {
    "version": [
-    20210530,
-    1641
+    20210711,
+    1204
    ],
-   "commit": "e9af76aa8fd9ce5b7010b7322a73341828cfe690",
-   "sha256": "1wryp568bl5p0s78va2pgh9aiskhphmva20zmk1jg0qjxim58grv"
+   "commit": "f9d034ff330d657fa3cbbb1df3a582cd417da78a",
+   "sha256": "13pd4kwak8fvzbmj8lcasxpi6m8i1cffrs6hg1wnd1j6w68jl4yg"
   },
   "stable": {
    "version": [
     0,
     9,
-    1
+    2
    ],
-   "commit": "70167056fd81e8477b0a5508cf7e28d7a48a2367",
-   "sha256": "1jfj4f5w20qd12k6ygv0jazn2x9pxjrmqmlmibppc4ybrhhgmg0s"
+   "commit": "2b6513ac12bfc73dd954effc68734bc84607b31c",
+   "sha256": "1agg69ji032k9a1r23cdcgb0ihmcxxlbjgsqx647igv3mw7r6ff0"
   }
  },
  {
@@ -25240,11 +25268,11 @@
   "repo": "casouri/eldoc-box",
   "unstable": {
    "version": [
-    20210402,
-    2039
+    20210608,
+    2202
    ],
-   "commit": "f66f8d0641a0025d65da1ec21141ea594d6883da",
-   "sha256": "1y9ns6kmhgzi176z251cymplqc9bdk0axhhcvh4mn21vi5igz4pz"
+   "commit": "13d207d40863a041b84c34f075668c7931db5a78",
+   "sha256": "1cvwp01w0adgxwlsispmir4wgs73cl62n5rh7ri6rw6g4fribq1m"
   },
   "stable": {
    "version": [
@@ -25302,15 +25330,15 @@
   "repo": "stardiviner/eldoc-overlay",
   "unstable": {
    "version": [
-    20200715,
-    1214
+    20210630,
+    1345
    ],
    "deps": [
     "inline-docs",
     "quick-peek"
    ],
-   "commit": "563ca285a510d1cbd5129cc3a8f8a3cdded065de",
-   "sha256": "1llh93rlvzsl9m2f7gprb5rbbf2ghysyn1balb8clb64hq98gjyb"
+   "commit": "3edbfb23836bdef253f4a5fd125952e55877d2b2",
+   "sha256": "1r2fjdra4bav16c108jzzjd2qhng7493i7l7znbasialf40j3cbs"
   }
  },
  {
@@ -25412,11 +25440,11 @@
   "repo": "xwl/electric-spacing",
   "unstable": {
    "version": [
-    20210430,
-    1714
+    20210625,
+    1722
    ],
-   "commit": "800e09af7b0cd5d78d22f857dbce10fb080637df",
-   "sha256": "0ykndvbbx8rvaxppmkngyrzp1x6fghj9xv55i847kpzx1c6gs4fc"
+   "commit": "1be87078a689d967cb2d6654659fb49427926d62",
+   "sha256": "06iws70cc58xs79wlv9wgqk6vk9grvv1jhcngjjwg0pdn080rksz"
   }
  },
  {
@@ -25531,6 +25559,44 @@
   }
  },
  {
+  "ename": "elfeed-autotag",
+  "commit": "11425f3533d452f1f7f412b1dbe617be9dcbf225",
+  "sha256": "0p6avgi7pclcf1ml0k3lzwd92plgz28d8q82675gyjs8gfwkn5m7",
+  "fetcher": "github",
+  "repo": "paulelms/elfeed-autotag",
+  "unstable": {
+   "version": [
+    20210607,
+    637
+   ],
+   "deps": [
+    "dash",
+    "elfeed",
+    "elfeed-protocol",
+    "org",
+    "s"
+   ],
+   "commit": "bc62c37fb79b720ff8b6d67f04f2268841306dcd",
+   "sha256": "0vmvl3c465i2gkm9079hj7l3qxna37q3rrs498r8dby11c0dgcax"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    2
+   ],
+   "deps": [
+    "dash",
+    "elfeed",
+    "elfeed-protocol",
+    "org",
+    "s"
+   ],
+   "commit": "bc62c37fb79b720ff8b6d67f04f2268841306dcd",
+   "sha256": "0vmvl3c465i2gkm9079hj7l3qxna37q3rrs498r8dby11c0dgcax"
+  }
+ },
+ {
   "ename": "elfeed-dashboard",
   "commit": "339127464845e86419c6a88004fc16b60d675f57",
   "sha256": "1ykg8gcsl7gf1w2xvd1wm088fw1l1mbsamx7drrvkdnpwxx6xiga",
@@ -25907,15 +25973,15 @@
   "repo": "Wilfred/elisp-refs",
   "unstable": {
    "version": [
-    20200815,
-    2357
+    20210615,
+    1624
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "b3634a4567c655a1cda51b217629849cba0ac6a7",
-   "sha256": "1zy629gavyrwx5gmpz7l1a86hbrxjrfqik398v3ja8vg8bj9d6nq"
+   "commit": "fdde21e34b1272783d566d8230b5ed2dc4749048",
+   "sha256": "15g3xp3w8lrshjf812c8v50y396zx7107fcyc59kljhsc257j62y"
   },
   "stable": {
    "version": [
@@ -26131,15 +26197,15 @@
   "repo": "Silex/elmacro",
   "unstable": {
    "version": [
-    20200905,
-    2130
+    20210716,
+    639
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "4888d1baa8b943adf0bab94419357c55b7e6e697",
-   "sha256": "0g1iavy7f0n14c34b808kv5sf3imvc9aqv5814r231i6qjck5vj4"
+   "commit": "d2e05012cee4f54fab6d8d8d6aced6e5eeef4f31",
+   "sha256": "1mmhgl85880bhhwibf9ksifghdc7w22vrhpg8y8rvpjh91fdg0lz"
   },
   "stable": {
    "version": [
@@ -26213,21 +26279,11 @@
   "repo": "jcaw/elnode",
   "unstable": {
    "version": [
-    20190702,
-    1509
-   ],
-   "deps": [
-    "creole",
-    "dash",
-    "db",
-    "fakir",
-    "kv",
-    "noflet",
-    "s",
-    "web"
+    20190608,
+    1623
    ],
-   "commit": "29ef0f51a65a24fca7fdcdb4140d2e4556e4bb29",
-   "sha256": "1bks7aakhvdab56gbsa44ca9kbilajisdd9bns485d9wr62d2lgj"
+   "commit": "305c532b6e59f58c4afcfb76466dbfbdc4e58b9c",
+   "sha256": "1214216wrdhfw3lbf59vnddk28hi4g3s1ksdi5walksihd3gh7my"
   }
  },
  {
@@ -26361,11 +26417,11 @@
   "repo": "redguardtoo/elpa-mirror",
   "unstable": {
    "version": [
-    20210509,
-    439
+    20210614,
+    302
    ],
-   "commit": "193dd942cd74f71d94067f48249427676ba7dec8",
-   "sha256": "0hwsy780x1kw1c9k1xrbrbip6l62fa41czal0nnqr9li0brig7d7"
+   "commit": "18209f7f4602e48204992e38c5d265eb1a68320a",
+   "sha256": "0507bydbplh515jm1y8w9fpv3mljxkj797ssackadx484n3v0yvv"
   },
   "stable": {
    "version": [
@@ -26385,11 +26441,11 @@
   "url": "https://thelambdalab.xyz/git/elpher.git",
   "unstable": {
    "version": [
-    20200919,
-    1025
+    20210716,
+    1445
    ],
-   "commit": "3561c2815bc6bc896fc7a6da8f094edca48c55b8",
-   "sha256": "0vy1ak5gphnih90c1n7js91p0fdyccdqqbagdjqdfbpbir41gba5"
+   "commit": "7e0919bd74952fb229862f1280e01817721b7fc2",
+   "sha256": "13fjp20hf4jv3325ipnjrzqvxa122sfhs44dgsr52g9mkhhc6kbm"
   },
   "stable": {
    "version": [
@@ -26424,8 +26480,8 @@
   "repo": "jorgenschaefer/elpy",
   "unstable": {
    "version": [
-    20210328,
-    1852
+    20210630,
+    2317
    ],
    "deps": [
     "company",
@@ -26434,8 +26490,8 @@
     "s",
     "yasnippet"
    ],
-   "commit": "2203597e1254eba345d6873daa40c7b9d144931c",
-   "sha256": "0rzqmcbrq7xdk748cwy5ikzbg7f13g57jf7rhxyfy6j5pwn8q7k7"
+   "commit": "4248dccef31e260813d93cafd083bfcd71efc92a",
+   "sha256": "16pkbg1fwsn0haz2x0ky9pmpgxj9syszsm5g58jra5r0dhyv99vz"
   },
   "stable": {
    "version": [
@@ -26737,11 +26793,11 @@
   "repo": "emacscollective/elx",
   "unstable": {
    "version": [
-    20210504,
-    1306
+    20210615,
+    1503
    ],
-   "commit": "53d257db92fb72ade8ea1b91dc6839c21563119e",
-   "sha256": "1qccz8z0410xhygrfy62h1j3553avdcb7m61ps6b6y74nz615l1r"
+   "commit": "ef6dfa8e598b2761d0a481526e98e254123a20f6",
+   "sha256": "0p7c2mnwz85klliy1af96knkdja6q9k9j11r0hfka7g4fak0qi6d"
   },
   "stable": {
    "version": [
@@ -26818,11 +26874,11 @@
   "repo": "skeeto/emacsql",
   "unstable": {
    "version": [
-    20200714,
-    28
+    20210615,
+    1539
    ],
-   "commit": "6d8cd9366284b5a27268ff4b783e2c34573d5b60",
-   "sha256": "04l1rzsmy9131h42y1v6vsfbby7v1gldwd5g600mqfjbbwcnbgsk"
+   "commit": "9dca5996168c4963eb67e61c7f17fdcb8228e314",
+   "sha256": "1gjwll970avjv0ah4m8w56ybi4l4bc4n8p29wq77za56m0g6jzrg"
   },
   "stable": {
    "version": [
@@ -26848,8 +26904,8 @@
    "deps": [
     "emacsql"
    ],
-   "commit": "6d8cd9366284b5a27268ff4b783e2c34573d5b60",
-   "sha256": "04l1rzsmy9131h42y1v6vsfbby7v1gldwd5g600mqfjbbwcnbgsk"
+   "commit": "9dca5996168c4963eb67e61c7f17fdcb8228e314",
+   "sha256": "1gjwll970avjv0ah4m8w56ybi4l4bc4n8p29wq77za56m0g6jzrg"
   },
   "stable": {
    "version": [
@@ -26878,8 +26934,8 @@
    "deps": [
     "emacsql"
    ],
-   "commit": "6d8cd9366284b5a27268ff4b783e2c34573d5b60",
-   "sha256": "04l1rzsmy9131h42y1v6vsfbby7v1gldwd5g600mqfjbbwcnbgsk"
+   "commit": "9dca5996168c4963eb67e61c7f17fdcb8228e314",
+   "sha256": "1gjwll970avjv0ah4m8w56ybi4l4bc4n8p29wq77za56m0g6jzrg"
   },
   "stable": {
    "version": [
@@ -26908,8 +26964,8 @@
    "deps": [
     "emacsql"
    ],
-   "commit": "6d8cd9366284b5a27268ff4b783e2c34573d5b60",
-   "sha256": "04l1rzsmy9131h42y1v6vsfbby7v1gldwd5g600mqfjbbwcnbgsk"
+   "commit": "9dca5996168c4963eb67e61c7f17fdcb8228e314",
+   "sha256": "1gjwll970avjv0ah4m8w56ybi4l4bc4n8p29wq77za56m0g6jzrg"
   },
   "stable": {
    "version": [
@@ -27058,11 +27114,11 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20210607,
-    1506
+    20210615,
+    1833
    ],
-   "commit": "ef609bf15368a68c4eb3c46fd8cc1bb623b6b83e",
-   "sha256": "0ddh7zqgaq07534l6m3wjvbcj23a01h3x7scd4pl5rj6wyxqwv76"
+   "commit": "acbe1cba548832d295449da348719f69b9685c6f",
+   "sha256": "0c1zqfrn2va2m9z6rw3i2h6dwm2vc0asbha4d9r0gss4b7519pf2"
   },
   "stable": {
    "version": [
@@ -27088,8 +27144,8 @@
     "consult",
     "embark"
    ],
-   "commit": "ef609bf15368a68c4eb3c46fd8cc1bb623b6b83e",
-   "sha256": "0ddh7zqgaq07534l6m3wjvbcj23a01h3x7scd4pl5rj6wyxqwv76"
+   "commit": "acbe1cba548832d295449da348719f69b9685c6f",
+   "sha256": "0c1zqfrn2va2m9z6rw3i2h6dwm2vc0asbha4d9r0gss4b7519pf2"
   },
   "stable": {
    "version": [
@@ -27256,29 +27312,29 @@
   "url": "https://git.savannah.gnu.org/git/emms.git",
   "unstable": {
    "version": [
-    20210607,
-    1450
+    20210619,
+    1246
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "c360a8934c1e07ddab4e12d28800d362d254ccbd",
-   "sha256": "02aikwki7932dldhnsq8ndca59spbc4g2kjfal3sw16lklfw0sfa"
+   "commit": "6e0aaaf4c5598826b24c3079b80bf8af000a77c6",
+   "sha256": "016y0w1gy8z1gdri54njas20l3kw99jg5bjyrmcbmgzjmb1jq0y8"
   },
   "stable": {
    "version": [
     7,
-    2
+    5
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "b0173b6b4c5b66a4706cb82c9b50a179bf159a0f",
-   "sha256": "1scppj8wkiml4dgsg4540hdd8mv9ghcp2r17b647az0ccxwp73qm"
+   "commit": "144c49ac2931b6e57e265cc6139b7c9718f1297e",
+   "sha256": "0j9qh781zr348qx49zvr59rdpmh4204fqx9sm3mfh3kg6kbc7v8x"
   }
  },
  {
@@ -27549,8 +27605,8 @@
     "emojify",
     "request"
    ],
-   "commit": "d512c2babb412820945444c6daf309b470e2eb12",
-   "sha256": "1llqn6ik0dnrpmvdxcgiyadbffjlbxqv6i7bxh2rnqiy4fhk9s1n"
+   "commit": "f05ab06436e13b3578f3d4d183fcb1bc3a4eeab1",
+   "sha256": "01dnab8mqz03rdd3xcb48csx56cv2ik07sykyqscbiib5vcw5k5k"
   },
   "stable": {
    "version": [
@@ -27698,8 +27754,8 @@
   "repo": "rejeep/enclose.el",
   "unstable": {
    "version": [
-    20121008,
-    1614
+    20120618,
+    2019
    ],
    "commit": "2747653e84af39017f503064bc66ed1812a77259",
    "sha256": "0dz5xm05d7irh1j8iy08jk521p19cjai1kw68z2nngnyf1az7cim"
@@ -27839,7 +27895,7 @@
   "unstable": {
    "version": [
     20130407,
-    1348
+    1236
    ],
    "commit": "7fd2f48ef4ff32c8f013c634ea2dd6b1d1409f80",
    "sha256": "0v5p97dvzrk3j59yjc6iny71j3fdw9bb8737wnnzm098ff42dfmd"
@@ -28006,26 +28062,26 @@
   "repo": "emacscollective/epkg",
   "unstable": {
    "version": [
-    20210530,
-    1147
+    20210616,
+    2229
    ],
    "deps": [
     "closql"
    ],
-   "commit": "8ee60b65bff02ef606d489b83e2def9922e9623d",
-   "sha256": "03zsysj78w43q902wi9dhck64q9va247avr6fhdw8ynf2lvb78d3"
+   "commit": "44b7b2519f84056ee94a6c4ce21fce146532174c",
+   "sha256": "0z9sz9ydfjzhawh4qip41h3vid1lslaf0h14hkjz9kx8fkrzib8a"
   },
   "stable": {
    "version": [
     3,
     3,
-    0
+    1
    ],
    "deps": [
     "closql"
    ],
-   "commit": "8ee60b65bff02ef606d489b83e2def9922e9623d",
-   "sha256": "03zsysj78w43q902wi9dhck64q9va247avr6fhdw8ynf2lvb78d3"
+   "commit": "44b7b2519f84056ee94a6c4ce21fce146532174c",
+   "sha256": "0z9sz9ydfjzhawh4qip41h3vid1lslaf0h14hkjz9kx8fkrzib8a"
   }
  },
  {
@@ -28158,10 +28214,10 @@
  },
  {
   "ename": "eradio",
-  "commit": "533c3f130d94335bf18907fefe2b5f1e047cdfbe",
-  "sha256": "0dxlsikgz1fbsypxxzczp6m4bbqh4kqv0f7w058z2sgzplybq3m4",
+  "commit": "99f67df1d87ecd1bb54b85fa1711dfba90dd00dc",
+  "sha256": "1w6igfsb8l4i2nq1h528wys61gwh784xzm99bw25rrjj17jdyxsn",
   "fetcher": "github",
-  "repo": "fossegrim/eradio",
+  "repo": "olavfosse/eradio",
   "unstable": {
    "version": [
     20210327,
@@ -28277,11 +28333,11 @@
   "repo": "alexmurray/erc-matterircd",
   "unstable": {
    "version": [
-    20201029,
-    2321
+    20210701,
+    32
    ],
-   "commit": "d46f55909f1c229fd84f409ef992a7a463719893",
-   "sha256": "19vwpl40nw3jgfmiwl1y4yna0ygjyzlqf5gs85g63f61d89gjlrs"
+   "commit": "6e9698310f5df5193bccb334839bca29e4bbfe30",
+   "sha256": "0cwq1ljgb0ga1b8f8gks9c4y8rqjfawpr4l0fi0p3y674a76z33f"
   }
  },
  {
@@ -28643,19 +28699,17 @@
     20200914,
     644
    ],
-   "commit": "044843c5281a7bdb9479317793a75c8c0fcfadd9",
-   "sha256": "04lirb2p1h46c1l84ysdnr2jxvzsdw1zv6jhm7h8ybgzmaa65b6m"
+   "commit": "3543ef3df19228012a1ac5be766cc38fd2f65f6a",
+   "sha256": "0wlqrl8ikqc7q61i2qzmwp6h0mrv9kn5229pbsrb1ris7gxgi13b"
   },
   "stable": {
    "version": [
     2,
     6,
-    1,
-    3,
-    20210605
+    2
    ],
-   "commit": "ab805592a0ae7066fbd5fa5f47e933194fce878f",
-   "sha256": "19ld12x4is0nx52i05zv20js0zysx3bljbdn2nr65vy11dq2cyyp"
+   "commit": "246a229faea2ef2fa53caf491ff8a2d72dd7510c",
+   "sha256": "1ccmryw6vs8d87d5zmjl0kr2kvyd1zxl73344fa7yzqgg2kw1da6"
   }
  },
  {
@@ -28669,17 +28723,17 @@
     20210315,
     1640
    ],
-   "commit": "a8969ec16a91c0e1ac56a438d81069d288662518",
-   "sha256": "0wp6sf8rw73waws47av68d4sdd28qix74n53c4fpdc4c2xq3j3h6"
+   "commit": "81c6d94625a04f6550e77a068489ca6378cabfee",
+   "sha256": "1kkjyradh316xcqsh9pn4l1nvz1krn8cm3zch0vfp47dkkg54w1y"
   },
   "stable": {
    "version": [
     24,
     0,
-    2
+    3
    ],
-   "commit": "82f97b9d3d639ed87175aeed75747eb6594170ab",
-   "sha256": "065kc9p30jam23grpm7dwxjf76n6g1hzdrq9q1irr3qmw1rr0240"
+   "commit": "0a887ba078f6faadea128b51a98e928dcb0e79a4",
+   "sha256": "0hirfg5y53gj5smf2rqxiadj02ad761hgq3yqcz4j1ldnm50hlr9"
   }
  },
  {
@@ -28890,8 +28944,8 @@
   "repo": "dakrone/es-mode",
   "unstable": {
    "version": [
-    20201125,
-    2059
+    20201112,
+    2317
    ],
    "deps": [
     "cl-lib",
@@ -29418,8 +29472,8 @@
     20210405,
     1808
    ],
-   "commit": "3d62a3319ab03a810030058d3fb368b28dfd82d5",
-   "sha256": "0hj3nczmqmgiwsvh664rs34j63wl325x6nar21p1a84h5ximpkxq"
+   "commit": "5bf63dacc5df8a74860e80dabd16afce68a24a36",
+   "sha256": "1vxg86wv6f96bva0d1xxhisk525chwhdl4nq77xhriflq65mcmi3"
   }
  },
  {
@@ -29531,11 +29585,11 @@
   "repo": "emacs-ess/ESS",
   "unstable": {
    "version": [
-    20210520,
-    2146
+    20210707,
+    917
    ],
-   "commit": "f62f460e3c55e5e7ad5941225e7884b0e1656131",
-   "sha256": "0i5i59pbga10s4yml5vi4fbbxmaqgf8fx4caj3mfgd8dkrkxblgp"
+   "commit": "4fefd0feaae688e28d6a0c36c9eaa219c448903f",
+   "sha256": "0m9w0l6x67s5mx76ixgh42abblzi8jbp9xpps4flv08jhz1lkc5i"
   },
   "stable": {
    "version": [
@@ -30126,15 +30180,15 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20210527,
-    2107
+    20210715,
+    1839
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "ad47644eea5e351269f5bead18e713768d96f207",
-   "sha256": "1bcdrvrrjq9r75cfrxziq84slrjm8gbbhbm72hqjfzka6zcnr39g"
+   "commit": "070abb16620653fb343980fb85a13c4d55e1070b",
+   "sha256": "0pcr471snnmhycvvgczs1gbil45w6lf1bdmg7w19vh2a0dq4pqi9"
   },
   "stable": {
    "version": [
@@ -30328,28 +30382,28 @@
   "repo": "emacs-evil/evil-collection",
   "unstable": {
    "version": [
-    20210607,
-    1954
+    20210715,
+    1552
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "86b02f84a8df0ddd6216cb85d49bedd6ee2ab747",
-   "sha256": "0vh0wdzz9idfinbfd3mynlp88lgq5j9wk8c3pc5a1is6g3jpj938"
+   "commit": "3bd5e90accbb3a12d924bb7b4220221493675591",
+   "sha256": "1nikhz4l01zi884dwyjfsaralc1pd6y70fvd36i4qn477xinsvk4"
   },
   "stable": {
    "version": [
     0,
     0,
-    5
+    6
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "a615e4a7f642e0c3acd8628111624355380aa18f",
-   "sha256": "0dxrwcf5dnww0a9mvwjkcgm8ry3y282v9l85jh0645zk71nz1in3"
+   "commit": "d97e0ff4afa67bd19443245d4f663de29b043a6b",
+   "sha256": "0ssb3n1i67b6zp2j8djaalkr33x4c7zalw6vl6p5kqxkh8vy8cdf"
   }
  },
  {
@@ -30894,26 +30948,26 @@
   "repo": "redguardtoo/evil-matchit",
   "unstable": {
    "version": [
-    20210325,
-    123
+    20210609,
+    1311
    ],
    "deps": [
     "evil"
    ],
-   "commit": "8c8c94bea899718f393ad041202a355e6f24ea19",
-   "sha256": "0vygxkvri6363wi3byjd2r23bjyvjkfy58n2kshslaq18z5vylzl"
+   "commit": "d7ad7f712b98aa64b7cc4fb16354b32666739c77",
+   "sha256": "1x7wpq0lgkp016yik6sc7b2abhixgcwk0mxx29dyycsjjkdlhp3a"
   },
   "stable": {
    "version": [
     2,
     3,
-    11
+    12
    ],
    "deps": [
     "evil"
    ],
-   "commit": "a0c5bd1fe89119b94ffb0a266d2969434e7ec4c1",
-   "sha256": "1990g1b6v0i7jaiv35bdssdn601rjifzg4fy9s3sxk0drqm1xiss"
+   "commit": "9cd0ddaacb3476221d37344715c759ed3cb538d7",
+   "sha256": "0l4ash907d91vccqdxjz1v5spd8f4va0vrdri6h9y1qc67mjlsph"
   }
  },
  {
@@ -31029,11 +31083,11 @@
   "repo": "redguardtoo/evil-nerd-commenter",
   "unstable": {
    "version": [
-    20210528,
-    1009
+    20210624,
+    1122
    ],
-   "commit": "c0f49e4e87300720b8e8a8296d92b8386956c7a2",
-   "sha256": "0ci3hjzgwayz9nvmwg5vbmvn80cz0lsppghi511cbr3cdf8xkkv4"
+   "commit": "118bebd02a489ddf5eee3ab6fb55b3ef37ebe6d4",
+   "sha256": "15phgj1x2k7i6wnhq3lbrjldrc7xr18z4sgsmklwwgr4blx9ql1s"
   },
   "stable": {
    "version": [
@@ -31463,15 +31517,15 @@
   "repo": "hlissner/evil-snipe",
   "unstable": {
    "version": [
-    20210607,
-    420
+    20210713,
+    1456
    ],
    "deps": [
     "cl-lib",
     "evil"
    ],
-   "commit": "9bd7345476174dfc6eeaa700a505e45b155ddb83",
-   "sha256": "1p7v9pnbyc4mhpkvmyl9vr825grqnfyl0h203sbnb1vnw15bbnbp"
+   "commit": "1a28d718c835a21591a170af78a03a366cd60c0d",
+   "sha256": "1dm73xmlhznh9yc22ifb238yyad09011nryc91n6glla347896p0"
   },
   "stable": {
    "version": [
@@ -31557,14 +31611,14 @@
   "repo": "emacs-evil/evil-surround",
   "unstable": {
    "version": [
-    20200603,
-    2216
+    20210615,
+    2119
    ],
    "deps": [
     "evil"
    ],
-   "commit": "4706987bc01a552343848da49b4951bd54374643",
-   "sha256": "0v2v58pchr5icdpvg4k6vblxhgjk09wi7f54hs1dj0f6rgvpxmx5"
+   "commit": "3bd73794ee5a760118042584ef74e2b6fb2a1e06",
+   "sha256": "125yxpd2cmhwvcb0p9z5dc6ydk4w2a9vblkn9hayh6myj9jwjy9f"
   },
   "stable": {
    "version": [
@@ -31654,8 +31708,8 @@
    "deps": [
     "evil"
    ],
-   "commit": "ad47644eea5e351269f5bead18e713768d96f207",
-   "sha256": "1bcdrvrrjq9r75cfrxziq84slrjm8gbbhbm72hqjfzka6zcnr39g"
+   "commit": "070abb16620653fb343980fb85a13c4d55e1070b",
+   "sha256": "0pcr471snnmhycvvgczs1gbil45w6lf1bdmg7w19vh2a0dq4pqi9"
   },
   "stable": {
    "version": [
@@ -32308,8 +32362,8 @@
     20190520,
     1106
    ],
-   "commit": "e043df1bcef40cd5934a74c210e1e35d5eb0e5a6",
-   "sha256": "0am4g25mlmm1iqcm2kxzskrzhrm1f09cdwcqmvk4lidid5xcb6xc"
+   "commit": "fc6713e753380f3034d8df55b7af3a737ea52ab4",
+   "sha256": "17p8gcbm81qq1rgn3xdblmvyx3qn4sjpylna7pfpq32nkxjaajvc"
   },
   "stable": {
    "version": [
@@ -32338,10 +32392,10 @@
  },
  {
   "ename": "expand-line",
-  "commit": "3416586d4d782cdd61a56159c5f80a0ca9b3ddf4",
-  "sha256": "0bzz7zrpfdxhjxs7nzlmzjb9jfajhxkivzr5sm87mg3zx8b6gjyi",
+  "commit": "06f13c6ff35e0e710407b2138fcefaebf01b007a",
+  "sha256": "19vk9kp1pp5m9l6qwgnxalamqlcds66f3vc0psyymna1g7pinr1w",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/expand-line",
+  "repo": "victorteokw/expand-line",
   "unstable": {
    "version": [
     20151006,
@@ -32359,11 +32413,11 @@
   "repo": "magnars/expand-region.el",
   "unstable": {
    "version": [
-    20200304,
-    1839
+    20210708,
+    1952
    ],
-   "commit": "4b8322774d9c1d8b64a0049d1dbbc1e7ce80c1a0",
-   "sha256": "1x6sbychbz91q7mnfn882ir9blfw98mjcrzby38z1xlx3c9phwyi"
+   "commit": "95a773bd8f557cbd43d3b2dab2fa4417ec5927ab",
+   "sha256": "05zdh71zkp2n740dcixanw9cziw93rkix2bb24vw9phkj271m0d7"
   },
   "stable": {
    "version": [
@@ -32775,15 +32829,15 @@
   "repo": "rejeep/f.el",
   "unstable": {
    "version": [
-    20191110,
-    1357
+    20210624,
+    1103
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "c4dbf8c8e83df834f5d6f72cd5649b9d8a8812ec",
-   "sha256": "132zj5yvx4llzsh6rs0jwj0b5cfl140v0m6rk0kckw3vfgfh0cln"
+   "commit": "50af874cd19042f17c8686813d52569b1025c76a",
+   "sha256": "0k6qp5vqyiql9f6i6z95iskjpv9wn6sd66wnf2x0jxbws4r2bjxy"
   },
   "stable": {
    "version": [
@@ -32871,20 +32925,20 @@
  },
  {
   "ename": "face-shift",
-  "commit": "e55d2d30525602726c3c63025f5fce671efac416",
-  "sha256": "1y0m6yv64q76x6i2r5npn97c2axsy2k7b3m58zxh8p7c5lpwjdpa",
+  "commit": "982788433004ba644a372c50130613e3c56bba10",
+  "sha256": "06962zrxnm7q9w8ddm6xwa2q1vbb8wi1z8sqmw0yksz6wra49d5w",
   "fetcher": "git",
-  "url": "https://git.sr.ht/~zge/face-shift",
+  "url": "https://git.sr.ht/~pkal/face-shift",
   "unstable": {
    "version": [
-    20190818,
-    1551
+    20210707,
+    1127
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "8dd6fb5f6277d3a594654aeb3e6a7b7b5581656a",
-   "sha256": "003k8i18s782zf1g0c9wi8p9lyk0viz76dah8hd3y622hmx8sdlb"
+   "commit": "0170ab2993211eb0f514f7d1ce14e8194a11f6b2",
+   "sha256": "0zj9h3nmswpc7q02a76rrzw3ypjwn1lwq5mkm6s28q0xrdpmrgq3"
   },
   "stable": {
    "version": [
@@ -32952,8 +33006,8 @@
     20210602,
     1952
    ],
-   "commit": "45f2faef92ee23738b86f4f8d0a433ad729a5ca8",
-   "sha256": "0slvrgw508388il24wlx9g0bf32anpk6rbhmb2r99anq2vhn4b4g"
+   "commit": "cb8803355e20812d84195b1b7c9b0578c3262e68",
+   "sha256": "0wx2k9262p712aasn3ha8si250yzhcqz513apna8lp5gri2rxsg8"
   },
   "stable": {
    "version": [
@@ -33424,20 +33478,20 @@
   "repo": "technomancy/fennel-mode",
   "unstable": {
    "version": [
-    20210410,
-    1942
+    20210713,
+    2129
    ],
-   "commit": "59ab02344f569069b9899a3a5ffdca4a30093df4",
-   "sha256": "1vh6n2sg89g43sidymk22wjzjh71wgbajshhh7y3f6zf8xs94mmz"
+   "commit": "0f83112e70c1cd13a8b98e9e75b2291fcdf3d57f",
+   "sha256": "1n1f9bn8447aq3666q9lj7idzj9nwkmknfzybk3is98m03cjki3z"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     0
    ],
-   "commit": "ae4634bef12f66a1d4721ab74c5bf8dd29d710d2",
-   "sha256": "15b5zb66dzszpdiqkwgxqv434kqgpk1l065ic4lbj3y3krm2snbg"
+   "commit": "ea8564a2cc4f7e10b3fc13faf26a4f098b159f00",
+   "sha256": "1qnmcysrl2zxiid4v1h1hq1nax3a7sxs2dmag54sfifm149lf7f3"
   }
  },
  {
@@ -33470,8 +33524,8 @@
     "f",
     "s"
    ],
-   "commit": "164fb15d70adbc186eb2d987f5c5143aa7336659",
-   "sha256": "0i6r2mlpahrnszr9vk476iqvc1c8cpp6wn6fhlnz6vw4dybpw5p5"
+   "commit": "142a7a5ecd79b4a3db7ce3dfdd0d87ceeedab468",
+   "sha256": "1lmfnc5nljghqapciaqrvmj177v3m1ybndf7mjj74d6n41gphwcj"
   },
   "stable": {
    "version": [
@@ -33574,15 +33628,15 @@
   "repo": "knpatel401/filetree",
   "unstable": {
    "version": [
-    20210514,
-    1614
+    20210629,
+    356
    ],
    "deps": [
     "dash",
     "helm"
    ],
-   "commit": "08c0ea22f304f9777cd96e9b86f7c6e5331e82d8",
-   "sha256": "1phqiisabqsfkmslajl012lc0bf5y0vkgrcjavbwzf52hj7kn982"
+   "commit": "f7dd8a310f5364f1e1549082ef231c3c27285e89",
+   "sha256": "1w1f924as6l0s9dkpjjk6bnkp29x52mf5pzzqxqsigp2r1z6k2lk"
   }
  },
  {
@@ -33639,11 +33693,11 @@
   "repo": "jcs-elpa/fill-page",
   "unstable": {
    "version": [
-    20201105,
-    452
+    20210707,
+    354
    ],
-   "commit": "95f82f93848ca608d4c4d9ec7386d94745cbc691",
-   "sha256": "10kgaq1da5zgz2dzagw2fc5hlh4ik5z6vyfw0lqd7bqpjfg62kgr"
+   "commit": "cad66696f334f70adf2b8bdf9910852c017dbdd0",
+   "sha256": "0jg7gppjf39qzwb44n1q7bikhqvxs5hr4yd403v7apf75z0hpc3m"
   },
   "stable": {
    "version": [
@@ -33768,8 +33822,8 @@
     20210427,
     1205
    ],
-   "commit": "3bf010d2be073d499de5ffdaa98f48bf8a3dd21e",
-   "sha256": "0zpckqcx4fbjni1f0c6wzi1356ab06j33himfgkhvyl1bn4w5jna"
+   "commit": "680ec93808176442a2c78b91b18bb4256d81d340",
+   "sha256": "1af30i3nsms1s2gwq3wx0xbmjxd95hipai63icw3jpwc3pmw3g2n"
   },
   "stable": {
    "version": [
@@ -33918,11 +33972,11 @@
   "repo": "jming422/fira-code-mode",
   "unstable": {
    "version": [
-    20201005,
-    1607
+    20210702,
+    1631
    ],
-   "commit": "a3a7a75d2b8b15404c37de186162a5f89ba447bf",
-   "sha256": "0az773s1g8c1sahyrci4zclzhyznr3kizmvxs65rpn0pcmcfq1m8"
+   "commit": "eaff81f867d9c84e25891368f3d0cac7513984e8",
+   "sha256": "0gc77fkc6jczb52f5hil3h0hv74f7cxbijc8mjprh7zzgb09b6za"
   }
  },
  {
@@ -34139,19 +34193,19 @@
   "repo": "jonnay/fix-muscle-memory",
   "unstable": {
    "version": [
-    20160823,
-    439
+    20210702,
+    1755
    ],
-   "commit": "a123e04f8a1d2982cbf930efb909cad9522ac884",
-   "sha256": "0mm6dl7017x5l43jf89w4nn5hcyi4fm160d2rcqx5w6dwb6f0v27"
+   "commit": "b8d4b8025d758762f4459c70c3a7a209ead865ed",
+   "sha256": "0g3rg7bg256ymkby33nd5yhaf24216ghhkwvcz1vl54yzyfv8w2x"
   },
   "stable": {
    "version": [
     0,
-    93
+    94
    ],
-   "commit": "df687aea23c6eac4b751f993893c2fd56e5a8a3b",
-   "sha256": "02nl4vz6fnbjc7w1lk1y9z0qw5bsxr407ww0b2wqw6h8spmcpcrc"
+   "commit": "b8d4b8025d758762f4459c70c3a7a209ead865ed",
+   "sha256": "0g3rg7bg256ymkby33nd5yhaf24216ghhkwvcz1vl54yzyfv8w2x"
   }
  },
  {
@@ -34292,19 +34346,19 @@
   "repo": "Asalle/flatbuffers-mode",
   "unstable": {
    "version": [
-    20200822,
-    957
+    20210710,
+    1004
    ],
-   "commit": "c0e9dc220db5f08410f40becf03531938484cb6c",
-   "sha256": "0dahs0q004pgalxrll1f8995q1ws358fk87a1jkm3fazl97p7gx4"
+   "commit": "8e7783db45a64c9456130fd0c108ac12d45a7789",
+   "sha256": "1g446s8xhgcrkqhl08d6l68gga6n3c3hdk4z3bazglfwycynhpp9"
   },
   "stable": {
    "version": [
     0,
-    2
+    3
    ],
-   "commit": "1b563b450e5353797083bcb03ab02f456e9a7361",
-   "sha256": "17g7y2nzhdwzck63miks4kn2w1nlari0qkc5v6lc4ksiaacispfb"
+   "commit": "8e7783db45a64c9456130fd0c108ac12d45a7789",
+   "sha256": "1g446s8xhgcrkqhl08d6l68gga6n3c3hdk4z3bazglfwycynhpp9"
   }
  },
  {
@@ -34662,14 +34716,14 @@
   "repo": "defaultxr/fluxus-mode",
   "unstable": {
    "version": [
-    20191001,
-    1716
+    20210715,
+    58
    ],
    "deps": [
     "osc"
    ],
-   "commit": "3d05fa15f141ac3e936f908097bb7eb6295cc367",
-   "sha256": "0axjlvhv3xwg16zkpskqp9kvb1x513jl329pmrjzazn5mdh2m8cw"
+   "commit": "a14578640c578a4fd09cb7e25da1e87d637719ae",
+   "sha256": "1k7jiagsbydr3vqb2r47dh3hp3g94vpfwpc3ds9lv6shv3h669d5"
   }
  },
  {
@@ -34761,8 +34815,8 @@
   "repo": "flycheck/flycheck",
   "unstable": {
    "version": [
-    20210321,
-    852
+    20210708,
+    1337
    ],
    "deps": [
     "dash",
@@ -34770,8 +34824,8 @@
     "pkg-info",
     "seq"
    ],
-   "commit": "f8c679fff349850c80541a31de50009c3c15d4c9",
-   "sha256": "0v0zyq7zn89j036sp8ijxwpb0n435sf444ki618y7mv77k2qflxx"
+   "commit": "21d52264aa80bfa4ede94c59e37a20fb6d033b0c",
+   "sha256": "1k2fqiy0aw30za8d8bhia996ab168j61m8h1s9zi7d5y32q1csnh"
   },
   "stable": {
    "version": [
@@ -34855,14 +34909,14 @@
   "repo": "leotaku/flycheck-aspell",
   "unstable": {
    "version": [
-    20210605,
-    1713
+    20210618,
+    920
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "8c45988a12e7c149b17d7edb84e6dfc33bb7b288",
-   "sha256": "1lsfz3yi3i1mqmq6p9x6fx26wrlqihsaz3yk5g50yv6jqvfr1g79"
+   "commit": "3abe1a6184fefea3e427141131fba40afae3d356",
+   "sha256": "1g600caz7v7qm6fj67x0s064f4n5fr57bnd0m3sc43gn24rpjjdv"
   }
  },
  {
@@ -35723,31 +35777,31 @@
  },
  {
   "ename": "flycheck-grammalecte",
-  "commit": "2e7aee5074faedef4f2b989ffe05995b2f73bfbb",
-  "sha256": "031x2yh3wdklsm169h34sg0bzpl36nfms129zj4j0z99gw1kda3z",
+  "commit": "5f03c71c5482b4f3f6424e71dc19e7daec400db6",
+  "sha256": "0w55xmxxa28k776fl0kc08frsk1msq0ia40afa4gj8g6mi254qm3",
   "fetcher": "git",
   "url": "https://git.umaneti.net/flycheck-grammalecte/",
   "unstable": {
    "version": [
-    20210504,
-    1852
+    20210705,
+    1656
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "f488739aea2ef5c8d39bd28083dd72fdfee46e02",
-   "sha256": "18yiv09hzbclf9rjp61lxlia2m1qbvmwkiqxxs9jjpac28x7ypjf"
+   "commit": "061ce63d217b7cd165c487d81331843dea5bc11c",
+   "sha256": "088g4vi01xanjm5dyzlw483h8w3dyijjccla37zfa55cg0nksdd3"
   },
   "stable": {
    "version": [
-    1,
-    4
+    2,
+    0
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "f488739aea2ef5c8d39bd28083dd72fdfee46e02",
-   "sha256": "18yiv09hzbclf9rjp61lxlia2m1qbvmwkiqxxs9jjpac28x7ypjf"
+   "commit": "fab1b5071b7fe7a34869ffb8672abad38948c047",
+   "sha256": "040mb9djj4cxpjsjch9i30pi36a2z7grkhnsnfdi5qyh341p4pq0"
   }
  },
  {
@@ -35765,8 +35819,8 @@
     "flycheck",
     "grammarly"
    ],
-   "commit": "8321fc98a0809cad17e37ca924d364423c37b8c0",
-   "sha256": "1pga651wnvw3czqshn731nx0cdaf157v7v1c5n7kh95lc2r3jmn3"
+   "commit": "abab9e6fadccd6e239f3f7efd91b155c9d5cd716",
+   "sha256": "1y6v3d4xnlfqcvl5hc4b0y6san1mnf2mx6hcvlbxdphhf12hp560"
   },
   "stable": {
    "version": [
@@ -36178,6 +36232,37 @@
   }
  },
  {
+  "ename": "flycheck-languagetool",
+  "commit": "06859c648c33d422a798ef98a564cb79783a9a3d",
+  "sha256": "0qnvvl9bfx7i0agfm3v7qrcjm86vfshpx97aa0ms8byw77hii5i7",
+  "fetcher": "github",
+  "repo": "emacs-languagetool/flycheck-languagetool",
+  "unstable": {
+   "version": [
+    20210715,
+    946
+   ],
+   "deps": [
+    "flycheck"
+   ],
+   "commit": "c4a1dd0b23b8b25ba706eed48ae7d3e97bf4f349",
+   "sha256": "1zcp9brh9cygga0yflw4saf7bf503ll1l4nmhf79h039xm7p3rcz"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
+   ],
+   "deps": [
+    "flycheck",
+    "s"
+   ],
+   "commit": "5608a330e09222d05bf0354f1847f537168e22dd",
+   "sha256": "0v6gqhgwn2x6qd34380y5n1ql08anv02bs6qk7glq6a0ha8xkzfa"
+  }
+ },
+ {
   "ename": "flycheck-ledger",
   "commit": "dc715e6849aa5d6017e2478514c4a0d84c7ddbe5",
   "sha256": "0807pd2km4r60wgd6jakscbx63ab22d9kvf1cml0ad8wynsap7jl",
@@ -36513,28 +36598,28 @@
   "repo": "emacs-php/phpstan.el",
   "unstable": {
    "version": [
-    20201126,
-    603
+    20210714,
+    1805
    ],
    "deps": [
     "flycheck",
     "phpstan"
    ],
-   "commit": "6863a5278fc656cddb604b0c6e165f05d0171d0a",
-   "sha256": "05q1y6xshh5csr672jwplp2xmp87gvj9rc65ybpa687dkdmq8cdh"
+   "commit": "0869b152f82a76138daa53e953285936b9d558bd",
+   "sha256": "1xm5i658pf1lb4bfpy6zy5msanhia8r9j7v7rx72amkksja3hwnj"
   },
   "stable": {
    "version": [
     0,
-    5,
+    6,
     0
    ],
    "deps": [
     "flycheck",
     "phpstan"
    ],
-   "commit": "bf9e82a63f2ccb12af02c9e79a83e7989eeb7cb1",
-   "sha256": "15kv5xv6lcfgf048wr2zsnpvrplbxypy3wq56zvrzbq18hwprqg1"
+   "commit": "0869b152f82a76138daa53e953285936b9d558bd",
+   "sha256": "1xm5i658pf1lb4bfpy6zy5msanhia8r9j7v7rx72amkksja3hwnj"
   }
  },
  {
@@ -36900,8 +36985,8 @@
     "flycheck",
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -37355,8 +37440,8 @@
     20210411,
     2342
    ],
-   "commit": "8c45988a12e7c149b17d7edb84e6dfc33bb7b288",
-   "sha256": "1lsfz3yi3i1mqmq6p9x6fx26wrlqihsaz3yk5g50yv6jqvfr1g79"
+   "commit": "3abe1a6184fefea3e427141131fba40afae3d356",
+   "sha256": "1g600caz7v7qm6fj67x0s064f4n5fr57bnd0m3sc43gn24rpjjdv"
   }
  },
  {
@@ -37658,8 +37743,8 @@
    "deps": [
     "grammarly"
    ],
-   "commit": "bc7c7e74013816ea06463ff85627bdc08ad60d9a",
-   "sha256": "0yj0mqyg0c87kvxz21y0wmfx97lwvym6qm3sdppgkff5fwppyj91"
+   "commit": "06ba82495614f1dfaffb8894f57789156586448c",
+   "sha256": "1lc3nv7km5m19l673agh9rxv9afllf7sz4sv0brgp1sbmks1il3b"
   },
   "stable": {
    "version": [
@@ -37898,6 +37983,36 @@
   }
  },
  {
+  "ename": "flymake-languagetool",
+  "commit": "3ead983cef03a4a25f78bac45d4a7cca5058880a",
+  "sha256": "07m3mps9vs2zk63ssgcwwmdbfln7qzqhnny4i90x6kd2g10vkmvc",
+  "fetcher": "github",
+  "repo": "emacs-languagetool/flymake-languagetool",
+  "unstable": {
+   "version": [
+    20210627,
+    434
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "5c93f538978f2d272e5210b27f5255ee87b6b61f",
+   "sha256": "1awd69ns238ia27k2njlx65gkyscxzayyyx777rbmy6g259bndzq"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "f0f105ab11fd1de1379baef91fcd46e6c2464dca",
+   "sha256": "1sylnd4hybxnygcgxqw8p7mlp0r000n6f44y5fq3sv9518l5mflz"
+  }
+ },
+ {
   "ename": "flymake-less",
   "commit": "6d4eae8b7b7d81ebf4d85f38fc3a17b4bc918318",
   "sha256": "05k5daphxy94164c73ia7f4l1gv2cmlw8xzs8xnddg7ly22gjhi0",
@@ -38086,26 +38201,26 @@
   "repo": "emacs-php/phpstan.el",
   "unstable": {
    "version": [
-    20201122,
-    950
+    20210714,
+    1805
    ],
    "deps": [
     "phpstan"
    ],
-   "commit": "6863a5278fc656cddb604b0c6e165f05d0171d0a",
-   "sha256": "05q1y6xshh5csr672jwplp2xmp87gvj9rc65ybpa687dkdmq8cdh"
+   "commit": "0869b152f82a76138daa53e953285936b9d558bd",
+   "sha256": "1xm5i658pf1lb4bfpy6zy5msanhia8r9j7v7rx72amkksja3hwnj"
   },
   "stable": {
    "version": [
     0,
-    5,
+    6,
     0
    ],
    "deps": [
     "phpstan"
    ],
-   "commit": "bf9e82a63f2ccb12af02c9e79a83e7989eeb7cb1",
-   "sha256": "15kv5xv6lcfgf048wr2zsnpvrplbxypy3wq56zvrzbq18hwprqg1"
+   "commit": "0869b152f82a76138daa53e953285936b9d558bd",
+   "sha256": "1xm5i658pf1lb4bfpy6zy5msanhia8r9j7v7rx72amkksja3hwnj"
   }
  },
  {
@@ -38116,14 +38231,11 @@
   "repo": "manuel-uberti/flymake-proselint",
   "unstable": {
    "version": [
-    20200927,
-    640
-   ],
-   "deps": [
-    "flymake-quickdef"
+    20210621,
+    929
    ],
-   "commit": "b94950301139846002d2020bc630440ff834bf24",
-   "sha256": "1zlbw4mj0l9p72gw03jrqmaakh7550ha02r3rmxrlqs6gjzqsd1f"
+   "commit": "adf1ce7daf1380cb50f365a36548165fe4a32423",
+   "sha256": "1mmwq4b4idhbsygwjmn3fj67idixx4gaap9zfa0v4didahjsjsjh"
   }
  },
  {
@@ -38242,24 +38354,6 @@
   }
  },
  {
-  "ename": "flymake-rust",
-  "commit": "7fabdb05de9b8ec18a3a566f99688b50443b6b44",
-  "sha256": "0fgpkz1d4y2ywizwwrhqdqncdmhdnbgf3mcv3hjpa82x44yb7j32",
-  "fetcher": "github",
-  "repo": "jxs/flymake-rust",
-  "unstable": {
-   "version": [
-    20170729,
-    2139
-   ],
-   "deps": [
-    "flymake-easy"
-   ],
-   "commit": "2f42d1f2dad73ec9de460eda6176e3ab25c446f0",
-   "sha256": "02fgkv9hxwrv8n5h6izb5jyjcpazlf86pjjj4zkv1ycpa6gyzzwn"
-  }
- },
- {
   "ename": "flymake-sass",
   "commit": "cae2ac3513e371a256be0f1a7468e38e686c2487",
   "sha256": "0sz6n5r9pdphgvvaljg9zdwj3dqayaxzxmb4s8x4b05c8yx3ba0d",
@@ -38964,8 +39058,8 @@
     20191004,
     1850
    ],
-   "commit": "246120647e28a27506ca0894ba98e371086881fd",
-   "sha256": "15gqzj4h0w33w38i8ihl74iy7aqxlds97gm93r72z69pm2l1d7dm"
+   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
+   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
   }
  },
  {
@@ -39042,8 +39136,8 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20210525,
-    1345
+    20210716,
+    1447
    ],
    "deps": [
     "closql",
@@ -39053,16 +39147,17 @@
     "let-alist",
     "magit",
     "markdown-mode",
-    "transient"
+    "transient",
+    "yaml"
    ],
-   "commit": "551e51511e25505d14e05699a1707fd57e394a9a",
-   "sha256": "139pndj9l9aifnvv2ak5zwf5gzwhp3m6dfpw1avf4vkh1zywzwa0"
+   "commit": "49da45ac4515d7442ebd606f4ad4922a3e1439ff",
+   "sha256": "1vqhxckmkfbkvpnsigdb1625b5n0fpry2hxkympqnxspcccnijks"
   },
   "stable": {
    "version": [
     0,
     2,
-    0
+    1
    ],
    "deps": [
     "closql",
@@ -39074,8 +39169,8 @@
     "markdown-mode",
     "transient"
    ],
-   "commit": "551e51511e25505d14e05699a1707fd57e394a9a",
-   "sha256": "139pndj9l9aifnvv2ak5zwf5gzwhp3m6dfpw1avf4vkh1zywzwa0"
+   "commit": "e7d0d759440492549db331f3c39c3cc62880118f",
+   "sha256": "0j28vc0q1h36pk0y2nidnlsc2y7n0vpfrd8civiv1zp8z0jwfyc9"
   }
  },
  {
@@ -39110,15 +39205,15 @@
   "repo": "lassik/emacs-format-all-the-code",
   "unstable": {
    "version": [
-    20210604,
-    1107
+    20210708,
+    1728
    ],
    "deps": [
     "inheritenv",
     "language-id"
    ],
-   "commit": "82f68e5d1f0641d7a050db02ab2c0a7d3888f358",
-   "sha256": "0761qmkza4sbl1k0vj4q18zm9p148h7131dq46wwajyxbmrxlxja"
+   "commit": "d60a763eaf716d17bf6b8dbff1cc8f54337bfeab",
+   "sha256": "12gvyr73ab6x4p5iadxdi61d3hwwfbxd9wm6vkja92glyqs2vvbf"
   },
   "stable": {
    "version": [
@@ -39255,26 +39350,26 @@
   "repo": "rnkn/fountain-mode",
   "unstable": {
    "version": [
-    20210523,
-    1327
+    20210611,
+    1228
    ],
    "deps": [
     "seq"
    ],
-   "commit": "77f3ce6b646868210f91b6a80fcaaa77297ed341",
-   "sha256": "1f0mzrn237kv2p5bz58km4b7a46shzm1v7n4a6ksyfd3n7cqas85"
+   "commit": "ede8a254fe1bfb125b52ea71252b863cf80eee18",
+   "sha256": "0s2qlnx5lq5ni53r0i4fja6qfxxbg6apq5madgkiyz5d1bay551g"
   },
   "stable": {
    "version": [
     3,
-    4,
-    1
+    5,
+    0
    ],
    "deps": [
     "seq"
    ],
-   "commit": "707b8fdc9a0e1de1a911ca312c23c0c1672f3ec3",
-   "sha256": "14zhbcfqyp093kd1bxl7f2hf5l5995qmgpmnxfgw9qcc781crj73"
+   "commit": "91f4ad083fa620e6e6202460decc3280bd8e4e71",
+   "sha256": "0xlg5b0sa4qbv68sza23fr5khv36860jbhzfbcqcw1d420xllryx"
   }
  },
  {
@@ -39879,8 +39974,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "b989a860d1d6191bb9c5911ac77ed0931424eaeb",
-   "sha256": "1w0hyfspi3kahj2lk1bzj3ny3r8bb0cj4yfjizzbfc1pz9dlkpkp"
+   "commit": "5b1c814d84714b0c94c5a7b4aeb3f44d2a4d5998",
+   "sha256": "1sw7abwli4hjwbyqmkc8vfg4sgil59gkygvk3f4p6gdihnfqynwp"
   },
   "stable": {
    "version": [
@@ -40214,11 +40309,11 @@
   "repo": "bling/fzf.el",
   "unstable": {
    "version": [
-    20210508,
-    1516
+    20210619,
+    1421
    ],
-   "commit": "23c09c9c0417c7de67a8965d9b506d0cc7aea7a2",
-   "sha256": "0c4cz1kyanqswz5ww8aql96hqxg8p8lwwwygw061rq2ycmkl54nk"
+   "commit": "c975001725e4b7f58dd9379a64c170f07734af59",
+   "sha256": "01d303vbn7vvhl1g1wpmpy90h5vaj3yimzgmhnmswc2qc2s3cnhq"
   },
   "stable": {
    "version": [
@@ -40271,11 +40366,11 @@
   "repo": "ShiroTakeda/gams-mode",
   "unstable": {
    "version": [
-    20210227,
-    251
+    20210701,
+    36
    ],
-   "commit": "52e984d64c48f518222e0f6bd326236f78d7bf7a",
-   "sha256": "0fjdm2mlwibi6cz0r7cm4ylxzg7i8fljkwfhflb84xqcaknwr2sk"
+   "commit": "64e3544726b77f10becb58a51d61993fbba433af",
+   "sha256": "1sn893lnqfr13p1m2g36i6f0ikpibhp7q7ak5271fhpzjzh0fi1r"
   },
   "stable": {
    "version": [
@@ -40618,8 +40713,8 @@
   "repo": "emacs-geiser/gauche",
   "unstable": {
    "version": [
-    20200802,
-    1300
+    20200801,
+    2337
    ],
    "deps": [
     "geiser"
@@ -40760,14 +40855,14 @@
   "repo": "emacs-geiser/stklos",
   "unstable": {
    "version": [
-    20210503,
-    944
+    20210626,
+    1440
    ],
    "deps": [
     "geiser"
    ],
-   "commit": "0e3a0570354c03c0cfa25da82fb34ad2e81c1981",
-   "sha256": "1g31cibl88g1vjfvw4z80ywxpnxy5lijhs754qdcnx36maragh07"
+   "commit": "be482a03225720d7adb003c28e4515f6252e7ce2",
+   "sha256": "1dyzpr9i5pxi2p2hg3ndryh7x4y0r9bra88pd1l904vdfsxdxv5z"
   },
   "stable": {
    "version": [
@@ -40789,11 +40884,11 @@
   "url": "https://git.carcosa.net/jmcbray/gemini.el.git",
   "unstable": {
    "version": [
-    20210226,
-    1419
+    20210611,
+    1833
    ],
-   "commit": "0a227125a4112266c06ed7247de039090314b525",
-   "sha256": "0fiix0ssaannim5kxpckhd5z6fssij3igv1dg9y7143dzxf274zz"
+   "commit": "97e096ab2400bbe3c0f6d19fb49bd952f2f14e03",
+   "sha256": "1l092mhpv8dg00ln4yv040kmha7556klm5bqfdvc9ysjnfiwprkd"
   },
   "stable": {
    "version": [
@@ -40938,8 +41033,8 @@
   "repo": "thisch/gerrit.el",
   "unstable": {
    "version": [
-    20210530,
-    402
+    20210620,
+    334
    ],
    "deps": [
     "dash",
@@ -40947,8 +41042,8 @@
     "magit",
     "s"
    ],
-   "commit": "f1bdc47ab2bb29c2a0a385aaa9a5f0f6d543ffb5",
-   "sha256": "1qcw5kzcw9g41hqg0gnq3k6i4ygfgrlghadmfzdnf7dbk93ngl4g"
+   "commit": "ac555ccec74c48297bac0944a207e5b8aceac49e",
+   "sha256": "053gn6ja80810y4a2dayz3xy1bmzb7w06lvf87difa0nhm3mr54g"
   }
  },
  {
@@ -41206,15 +41301,15 @@
   "repo": "magit/ghub",
   "unstable": {
    "version": [
-    20210531,
-    2006
+    20210619,
+    1405
    ],
    "deps": [
     "let-alist",
     "treepy"
    ],
-   "commit": "e9a819c9c997b8e752eeb4a3fcd1a7b55ab8da47",
-   "sha256": "1c92q4hrax9gfrw35qi3slr7man006v5vqzp6hi2an5haw2cz4x2"
+   "commit": "865424d4faf66048bfb3752856ac0cf68e1c6efe",
+   "sha256": "0kqjxwkm3n6r9zg6pi015g9ix4pyz7b2rngcmmrindcjb5h292a4"
   },
   "stable": {
    "version": [
@@ -41272,8 +41367,8 @@
     20210401,
     656
    ],
-   "commit": "fa81e915c256271fa10b807a2935d5eaa4700dff",
-   "sha256": "1yf6yipvhhna29mzaan5vb3d5qvbrkp2awr5diyf381mvxgk8akh"
+   "commit": "8ab9c88a2b8cccd3c092e155f84b1b19930d0719",
+   "sha256": "1jiglrlhrph57p5kkm1qlqihwl6z7h9qh16qmmd5783ynksnbxp3"
   },
   "stable": {
    "version": [
@@ -41572,30 +41667,30 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210525,
-    844
+    20210702,
+    822
    ],
    "deps": [
     "dash",
     "transient",
     "with-editor"
    ],
-   "commit": "4a8646a30df99bbafc95d4f21a0b2bf0a6f6566f",
-   "sha256": "0y3wzvyaxn5zybjak77r1cngaqqm462s3d4f1cwmzvrnpv99f3r9"
+   "commit": "bf9cc19a3287f6a3cc5c1836312f0d18b38b6e45",
+   "sha256": "0zjcvhjp4c01ibb1hshpqkib7fvjkmvh9xf06qfsm5ybdc04xik5"
   },
   "stable": {
    "version": [
     3,
-    0,
-    0
+    1,
+    1
    ],
    "deps": [
     "dash",
     "transient",
     "with-editor"
    ],
-   "commit": "c3bbc9b9425f3370690cabb11bd35b9040773fdc",
-   "sha256": "0dbp3gx43ipxv8zg9m0hfhksz85rnkikaq35rx705qqz6xq6xq9m"
+   "commit": "143d95cced1ee793106d16da3a182dcc2dd01e88",
+   "sha256": "0sn4iiicmqfqmvi7zwii6qdp35k09kqn36rpalv0w1i4jcm6j9kk"
   }
  },
  {
@@ -41675,11 +41770,11 @@
   "repo": "emacsorphanage/git-gutter",
   "unstable": {
    "version": [
-    20210511,
-    427
+    20210703,
+    1007
    ],
-   "commit": "d050abdd7f5a46c9cfbec2953d2fca90095e2857",
-   "sha256": "1bx44spbhags7d2jjfcvanian36vkw1cw186zy7vl2nqwf9hfa95"
+   "commit": "35aa068bc2bd6ad8b0070d9f3948d30b76c2e939",
+   "sha256": "020hnz41hwwr7kr2d1cs8vhlzn2i8p1hvd8v9z79v7a54f7573b9"
   },
   "stable": {
    "version": [
@@ -42753,16 +42848,16 @@
   "url": "https://git.launchpad.net/global-tags.el",
   "unstable": {
    "version": [
-    20210225,
-    1553
+    20210707,
+    1954
    ],
    "deps": [
     "async",
     "ht",
     "project"
    ],
-   "commit": "344d084ec5ff6c99b31c5ea57e5352c85b57ae26",
-   "sha256": "0x8m3srxhy0bdl6wqvi7m3q9jai73m5bavij1jwqhr3pc2caxzxm"
+   "commit": "06db25d91cc8bfb5e24e02adc04de1226c7e742d",
+   "sha256": "1q30cbqq0h1gfwlcbnx9s930li7w7a0y8sx2ivbvvyyc2j5gsk4j"
   },
   "stable": {
    "version": [
@@ -43004,11 +43099,11 @@
   "repo": "emacsorphanage/gnuplot",
   "unstable": {
    "version": [
-    20210526,
-    1848
+    20210609,
+    834
    ],
-   "commit": "07a80272b86c081b40602ec0b080571f3269749d",
-   "sha256": "1d50b5vwnzca16g7hs2i0357lx9x5rvivdb5hdi0ngf6sb8d1afk"
+   "commit": "7138b139d2dca9683f1a81325c643b2744aa1ea3",
+   "sha256": "1v30avyx5klccpxqi85l5467dbc2v7s1jk5xv7rzvhg27azr4jm2"
   },
   "stable": {
    "version": [
@@ -43574,14 +43669,14 @@
   "repo": "emacsorphanage/go-impl",
   "unstable": {
    "version": [
-    20170125,
-    1552
+    20210621,
+    743
    ],
    "deps": [
     "go-mode"
    ],
-   "commit": "69f0d0ef05771487e15abec500cd06befd171abf",
-   "sha256": "1rmik6g3l9q1bqavmqx1fhcadz4pwswgfnkbaxl6c5b6g2sl26iq"
+   "commit": "1eebba6ccd02d11a5a82ad4540a8d562797bc3b3",
+   "sha256": "1i48vawn2a76bdbvv02mw7c5ny7g8dxk6b6xw2y9z0iijmbr0dzl"
   },
   "stable": {
    "version": [
@@ -43899,8 +43994,8 @@
     20210102,
     515
    ],
-   "commit": "fcbd45f78b85500f66f323bd19994941832c28d1",
-   "sha256": "1akrm884nbqjf4l5667cfdxn8xawb2fkri40hv7k8w0pl9cjbamx"
+   "commit": "1d7d647bb53a49fce03486eba90e97ccf35cf85a",
+   "sha256": "14ysgyg1cqn83ly6fkwpq7ysibz9pgwcmn9x6lzk38ynkwdwjyz2"
   },
   "stable": {
    "version": [
@@ -44081,20 +44176,20 @@
   "repo": "io12/good-scroll.el",
   "unstable": {
    "version": [
-    20210607,
-    339
+    20210712,
+    1206
    ],
-   "commit": "b4233500bbbdb64758283ba8a4b7cef5a85181a2",
-   "sha256": "05k03bycwpgs9wf9rh4rxfp38lhzr46c8zpvkd5qr6zwb1nnvr00"
+   "commit": "fac87dd390ad2aabe48afaef950f7a2d9b3ce283",
+   "sha256": "0kmiv013aqc4ayap39xlx7swrx2m8m12dzpvy2fa035aaj42ylvr"
   },
   "stable": {
    "version": [
-    1,
-    1,
-    1
+    2,
+    0,
+    0
    ],
-   "commit": "61aa3b57d572e6a46a1415b66dbc4b80c33bfb73",
-   "sha256": "0zprygv94rp1hdq7qxcmp3ns04j6l28y9w5hp087mhfbr1v5y54m"
+   "commit": "fac87dd390ad2aabe48afaef950f7a2d9b3ce283",
+   "sha256": "0kmiv013aqc4ayap39xlx7swrx2m8m12dzpvy2fa035aaj42ylvr"
   }
  },
  {
@@ -44123,8 +44218,8 @@
     20180130,
     1736
    ],
-   "commit": "9c8784ded344f6a35d1e1550385002f613a0c788",
-   "sha256": "1n1pk876yicv9hvwmja3hs6i7s25nv626p3gxsp9278yb933ml2m"
+   "commit": "4044bbd5ca4434b8cecd23a4da8ae173c1e0d58e",
+   "sha256": "0nym4c4j0awxzpj2qkds1fxppc7jzzazwj0j8qx6vr5yfp7iry51"
   }
  },
  {
@@ -44366,8 +44461,8 @@
     20210323,
     332
    ],
-   "commit": "6ab5128c028aac3ae070ba8df041b8039487253a",
-   "sha256": "0d8dihhl7cn3afwhn09drymm7c5hsf8v2m6rvpq5z7nkskkjw80v"
+   "commit": "1ed2df72f495784a2eccbe61de5f1b01b854fbea",
+   "sha256": "0hr6yhsr2x745i1q9sywvgr8xwvnpc05lr3zi84gci0frlab92d9"
   },
   "stable": {
    "version": [
@@ -44453,8 +44548,8 @@
     20210323,
     422
    ],
-   "commit": "c83688ea95b4308145555fea50e953a26d67b1b2",
-   "sha256": "0hi4jikr5hk4v28790mw1rj1myvr1pwldy7wh3n8bajhqdhbr59v"
+   "commit": "4cef6cab89eab5906330412efee6a3d9564f6e14",
+   "sha256": "02hywgvy9d0mhan595jgc2x6vqy428hi9ha9zybiz1hl2394xila"
   },
   "stable": {
    "version": [
@@ -44483,8 +44578,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "da0ae769e70e1af16865c3fadb25e9132d089dc6",
-   "sha256": "09kdlz6h31yasi1rv7759m40zb12vj6llv70pqh9swrpii2nmdzp"
+   "commit": "7822b34eb5d359ddae2f93d356c78c5ea05784d5",
+   "sha256": "0qkznd0a6cc32mwnmsa28lr8zji2nsi87kzcn467hq542zr61nz6"
   },
   "stable": {
    "version": [
@@ -44718,8 +44813,8 @@
     "s",
     "websocket"
    ],
-   "commit": "175e68d7ce9fd4c44d1eb808954cf0ba66b59599",
-   "sha256": "1ylynb295p5c26ayb8kdxqfbj9z61vinnd6bdlwsynr1wncbwyy4"
+   "commit": "46e802631a136cf356f5563005c9f9f5dedd09ed",
+   "sha256": "01vw411ngj325q1irhkx3fmf7g0mh99yrc72cxz3275mnc0dpdpj"
   },
   "stable": {
    "version": [
@@ -45098,11 +45193,11 @@
   "repo": "ZungBang/emacs-grep-a-lot",
   "unstable": {
    "version": [
-    20131006,
-    1347
+    20210618,
+    1420
    ],
-   "commit": "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad",
-   "sha256": "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"
+   "commit": "223819dbea049bdeb5f97f9849fce139a5f16a75",
+   "sha256": "06rrbwb5ms2m3mhsg1l4hqnn7x379019kkdfm8gys5kxv4mfp22l"
   }
  },
  {
@@ -45128,20 +45223,20 @@
   "repo": "seagle0128/grip-mode",
   "unstable": {
    "version": [
-    20210515,
-    1548
+    20210609,
+    1305
    ],
-   "commit": "02b7a8109fa1ae248e61c91da3bd8676f8d2e175",
-   "sha256": "0rd8nasnlc01wb4lkzpk3xrwj9lx2n4gsq7h4nc0irnbfy8phy1s"
+   "commit": "c0ca78990395245e5f742166047b04eeff63cf6a",
+   "sha256": "1pyi6l08j19d30dk66ign0gpjh9wv1l42jnbsapb5migghas558z"
   },
   "stable": {
    "version": [
     2,
-    2,
-    1
+    3,
+    0
    ],
-   "commit": "9615c4774727a719d38313a679d70f2a2c6aca68",
-   "sha256": "01imyi1l33ng78m6c5g4pma5gy4j7jy7dwmqwsqgwbws08qdbwgr"
+   "commit": "0ef2a3566f76e1c03ec64ac64cbb916530e40e32",
+   "sha256": "1p15b41bdzg8819hnq6js62486mwdqcwxns5mnqb21bn6m7pizpm"
   }
  },
  {
@@ -45264,11 +45359,11 @@
   "repo": "ROCKTAKEY/grugru",
   "unstable": {
    "version": [
-    20210127,
-    432
+    20210617,
+    1028
    ],
-   "commit": "4ac2bf3877e3af7d23ace3165b9c8ed536ff4832",
-   "sha256": "05nw45hgbygfvbymghsp425474d4nrgl8pjii8jwd1ym155bf13k"
+   "commit": "b1d873cb6186e08c6f7ec782df989b01e955fb4d",
+   "sha256": "1rsixglxvc5a25v1pbyz23bngql84nvjn8673lmkhdcqcvd3s1hg"
   },
   "stable": {
    "version": [
@@ -45494,14 +45589,14 @@
   "repo": "tmalsburg/guess-language.el",
   "unstable": {
    "version": [
-    20210308,
-    1514
+    20210623,
+    1505
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "7e511d23ee4315a79081c53596398c471572fb0f",
-   "sha256": "03bm6j8d1v5z1gz1chlpp7s3jzi0lnq6nqdw8r7z1ik5si59dvj5"
+   "commit": "e6b78ed2a36bf5debd3d07ffd99a5a8ca60609d6",
+   "sha256": "0g0vdz42s6hns249lfxcha7l7ihqpyay3n5iijziwrbrrhqi6rx6"
   }
  },
  {
@@ -45576,8 +45671,8 @@
   "repo": "alezost/guix.el",
   "unstable": {
    "version": [
-    20210224,
-    1601
+    20210608,
+    1653
    ],
    "deps": [
     "bui",
@@ -45586,8 +45681,8 @@
     "geiser",
     "magit-popup"
    ],
-   "commit": "8ce6d219e87c5097abff9ce6f1f5a4293cdfcb31",
-   "sha256": "0awbd8x154c4dk4av7inpgd63n07xzng84vvc8qckmgljknc0j7k"
+   "commit": "c9aef52121b458297e70bb50f49f7276b4a8d759",
+   "sha256": "00xdxadbi9fxpfp60zah9190rcz3w08vl1blbhmaiy7c1hd2gi39"
   },
   "stable": {
    "version": [
@@ -46201,11 +46296,11 @@
   "repo": "haskell/haskell-mode",
   "unstable": {
    "version": [
-    20210507,
-    2243
+    20210622,
+    2049
    ],
-   "commit": "b35e8547b67f3d2c4d38ec7e7e516e3c0925352f",
-   "sha256": "1z6x28gv47vdi2a06p1w390a40ll1b1g2dhxhzpn998r6b1d8zxm"
+   "commit": "98ba3922360199d5260d47f417f096730ad057c5",
+   "sha256": "1k7zs7vlbpyhizv4ff1mhagz1mvazmm4bvq215z9f871hhf6l7ff"
   },
   "stable": {
    "version": [
@@ -46395,8 +46490,8 @@
     20210108,
     1835
    ],
-   "commit": "fb3f3c9514e652f8955a67baeae13de264996860",
-   "sha256": "05kaxcazbr51chcmlx0fscwk32blj3lzndkr0qpbwfrn8n6mcmrg"
+   "commit": "6057c05154464bfb88d2ba119cdc8d4c7e767541",
+   "sha256": "0z1lpsvmkcxs3gcxkmi1vjgfa7wdfa42cp2i9rl2i17jq34j37yb"
   },
   "stable": {
    "version": [
@@ -46535,30 +46630,30 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20210607,
-    1026
+    20210714,
+    1600
    ],
    "deps": [
     "async",
     "helm-core",
     "popup"
    ],
-   "commit": "a92156303021e0ec91a904e16a994d8e1ccd78f7",
-   "sha256": "1lxmp0a7wk7wqb6qcy1zn9sr47vakgxzn0j8yyvdv1vps4hz9wk0"
+   "commit": "60db46905443c87f324440202bd0735d57c5c201",
+   "sha256": "10rkyy63vqqf9s4i8rs409d22iwhxrhz3qikagmfyvvr1n6czcnp"
   },
   "stable": {
    "version": [
     3,
-    7,
-    1
+    8,
+    0
    ],
    "deps": [
     "async",
     "helm-core",
     "popup"
    ],
-   "commit": "8b0b9953a71ba07c24fdfc4d26fab21fb66e4d1f",
-   "sha256": "0b8sfpvy02ijk9xi9b44762b718jqfq063wcg75dk3q452d27s1h"
+   "commit": "0714e27fe703a42fa52caf6daa0921d544a55402",
+   "sha256": "1xrpv0sqmlwn94bc31k2iav284i1hl95937541ihlkhqg6v2vwrv"
   }
  },
  {
@@ -46638,14 +46733,14 @@
   "repo": "emacsorphanage/helm-ag",
   "unstable": {
    "version": [
-    20210305,
-    334
+    20210702,
+    845
    ],
    "deps": [
     "helm"
    ],
-   "commit": "51e164b4bb1a9826fe8b39c0d02b4064c9352b9f",
-   "sha256": "0371s2y06pipjn0ka8c1a0r6g8migz5sbm8hqqilng1cr1dm3x7a"
+   "commit": "7cfed5d3e861717466ae6d3f76c759548a9fad04",
+   "sha256": "0j1l9ifssd2xmdiif0c922dsdii143kjp8ifygqigb9m4wbsz8ax"
   },
   "stable": {
    "version": [
@@ -46999,15 +47094,15 @@
   "repo": "alphapapa/bufler.el",
   "unstable": {
    "version": [
-    20201216,
-    826
+    20210708,
+    2217
    ],
    "deps": [
     "bufler",
     "helm"
    ],
-   "commit": "097f4349920215bdd829fceabc1afdbba172c32a",
-   "sha256": "1a4y3p7cwygw09b9f9j9m821aiyjiji55mrm83pvv0xzc9rhwd3h"
+   "commit": "d466eac6c4b2ee25c765e7f31e44beb38dd44e4b",
+   "sha256": "00gyqpm0g437z71vbfd4kmih23vh6909dvygng133vxzly9k4f24"
   },
   "stable": {
    "version": [
@@ -47443,26 +47538,26 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20210606,
-    1857
+    20210714,
+    1600
    ],
    "deps": [
     "async"
    ],
-   "commit": "a92156303021e0ec91a904e16a994d8e1ccd78f7",
-   "sha256": "1lxmp0a7wk7wqb6qcy1zn9sr47vakgxzn0j8yyvdv1vps4hz9wk0"
+   "commit": "60db46905443c87f324440202bd0735d57c5c201",
+   "sha256": "10rkyy63vqqf9s4i8rs409d22iwhxrhz3qikagmfyvvr1n6czcnp"
   },
   "stable": {
    "version": [
     3,
-    7,
-    1
+    8,
+    0
    ],
    "deps": [
     "async"
    ],
-   "commit": "8b0b9953a71ba07c24fdfc4d26fab21fb66e4d1f",
-   "sha256": "0b8sfpvy02ijk9xi9b44762b718jqfq063wcg75dk3q452d27s1h"
+   "commit": "0714e27fe703a42fa52caf6daa0921d544a55402",
+   "sha256": "1xrpv0sqmlwn94bc31k2iav284i1hl95937541ihlkhqg6v2vwrv"
   }
  },
  {
@@ -47988,8 +48083,8 @@
    "deps": [
     "helm"
    ],
-   "commit": "59adbf2d3c67b174a354f0dd64f647b4391ab8d0",
-   "sha256": "1x2ds29k4wwv406j49nzjkh43scahmrshx4lssqrkc9cay7210nx"
+   "commit": "5d6366adc14c51570374320fa827b0772833a61e",
+   "sha256": "0nrkghnsn83ah0jqbv7fx2i90p1z37lfmh6kwgjkr2aq4ggrcklj"
   },
   "stable": {
    "version": [
@@ -48253,8 +48348,8 @@
     "flx",
     "helm"
    ],
-   "commit": "72d618f95d6531854a60322d88b242825016f8e6",
-   "sha256": "0bpnspq7c3akny8blsp75br11g6fh425v9hxfpwyk8iqs5zwvlb7"
+   "commit": "9d57e4802aacfc50efe4804e45ace16f6931635c",
+   "sha256": "1l2vjksmgp7djxfwp6lyg9vqbsx2snc8h3wnf9pf020p3h4ccy9v"
   },
   "stable": {
    "version": [
@@ -49035,8 +49130,8 @@
   "repo": "julienXX/helm-lobste.rs",
   "unstable": {
    "version": [
-    20150213,
-    1546
+    20150211,
+    2214
    ],
    "deps": [
     "cl-lib",
@@ -49523,8 +49618,8 @@
   "repo": "alphapapa/org-ql",
   "unstable": {
    "version": [
-    20201123,
-    1102
+    20210608,
+    1556
    ],
    "deps": [
     "dash",
@@ -49532,16 +49627,17 @@
     "org-ql",
     "s"
    ],
-   "commit": "208e103ecc146db71d878df3bd09c6eb60c2797d",
-   "sha256": "09vdndp3935iy4flynbjpkvfax7vs1ppswl19wx4nn2rp7hdz8kp"
+   "commit": "94f9e6f3031b32cf5e2149beca7074807235dcb0",
+   "sha256": "022arhyyn8hbb1hzjkv4gl3dr8lz1gv0x4h70x0970bsbqlsa27w"
   },
   "stable": {
    "version": [
     0,
-    5
+    5,
+    2
    ],
-   "commit": "3924b023e0f1e8fa93cfa79bdd71f9f0c0fb4679",
-   "sha256": "14nsy2dbln3m5bpqzyfqycn18sb3qh407hjbkk1l0x2nqs3lrkqn"
+   "commit": "d3b0ef2f5194452d88bf23ec31ebfef822c47c24",
+   "sha256": "0b3xxnbhnrz0263fnrrdbs3gif4pjkfws4mxkfqqpg0fc8azp2rx"
   }
  },
  {
@@ -50284,8 +50380,8 @@
     "helm",
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -50419,8 +50515,8 @@
     "s",
     "searcher"
    ],
-   "commit": "181f60cb8505aec05393a9dbf414733d19f76d2a",
-   "sha256": "06bnnbay56ngiddkvvwmy3fv4v2gjss8gm7gjcp2064m9njgw5mx"
+   "commit": "76a8de11e39da5c7a94066bcf3d515cdd23c6f63",
+   "sha256": "1698j6x0vbxfdpdknrzwihr4pwpl1914i3azarmngkh8wnhma26s"
   },
   "stable": {
    "version": [
@@ -50717,14 +50813,14 @@
   "repo": "jamesnvc/helm-switch-shell",
   "unstable": {
    "version": [
-    20210106,
-    1810
+    20210713,
+    1440
    ],
    "deps": [
     "helm"
    ],
-   "commit": "9de26ca41e94c095c978ed920009de0280f5c4ec",
-   "sha256": "190bmn04g4nlcrpnsm465vyp0zcd2ryh13bc14f7w1vrmnw6ll1j"
+   "commit": "8d7ba1d99ff12a8f1d6ce3b9684ae8aebf494cf3",
+   "sha256": "04d7hz7gpbcy4vnmwi605n51angn4xbx6kqqqdb8nqvzh4f0y5g1"
   }
  },
  {
@@ -50795,15 +50891,15 @@
   "repo": "emacs-helm/helm-system-packages",
   "unstable": {
    "version": [
-    20201114,
-    1019
+    20210628,
+    1727
    ],
    "deps": [
     "helm",
     "seq"
    ],
-   "commit": "c331c69de0a37d2bc4d6f882cc021a905e7e56f9",
-   "sha256": "13a8jpj4wwm0yjv8hnsizgjf8wi3r2ap87lyvw7g4c7snp2dydwa"
+   "commit": "a16bb1c3708416984106a98353700d456414b6a1",
+   "sha256": "09acgs1mjkqmm7n88x4hck2bp3jv5fifdkd406r8fh874vyfib38"
   },
   "stable": {
    "version": [
@@ -51560,11 +51656,11 @@
   "repo": "emacsmirror/highlight",
   "unstable": {
    "version": [
-    20190710,
-    1527
+    20210318,
+    2248
    ],
-   "commit": "9258a2b8362d737115cbd87618f947eadb140411",
-   "sha256": "0pbqzgbfkm8smi23j94hirxh2r1yc0ipyjbbv1y906br6bx5c1a8"
+   "commit": "28557cb8d99b96eb509aaec1334c7cdda162517f",
+   "sha256": "1klrc2w0wg9ajm973b7blkjcwscqni6nxaqkcmimava398lxss2l"
   }
  },
  {
@@ -51800,10 +51896,10 @@
    "version": [
     2,
     0,
-    2
+    3
    ],
-   "commit": "fdabfda5f6300f8dd4d2a62c49359605798cc001",
-   "sha256": "0x833ahd5m4rlqrgr7n5xj477vbs7mmp267in22hw0cxi9aan08q"
+   "commit": "891538de31524956136e1419e1206af0c8befe02",
+   "sha256": "08l5gb73ibs1mmfifnks5gxrcg8x8azw9g10jj2f8vn8viwwa7m0"
   }
  },
  {
@@ -52036,8 +52132,8 @@
     20200203,
     1927
    ],
-   "commit": "ac1bea7d99dd6965c72fabeb72d5fdc38c5380a4",
-   "sha256": "13pray3iapy6vbd1y1y7fqcnjpsvgfz2z7j1a1awzd8ifp12g9cp"
+   "commit": "852cb4e72c0f78c8dbb2c972bdcb4e7b0108ff4c",
+   "sha256": "031624grhvv5ix3gvnd8lzpws80lb5r272yggl1k57rsayyv55ix"
   }
  },
  {
@@ -52153,11 +52249,11 @@
   "repo": "ideasman42/emacs-hl-block-mode",
   "unstable": {
    "version": [
-    20210320,
-    1051
+    20210617,
+    1324
    ],
-   "commit": "717b4f743c633362a8b28c883c454c5ef3711722",
-   "sha256": "16b1hnxzfygn3pgck5d8m612iwn42bxsx0zhdqrzmjl9sjvvps4h"
+   "commit": "0ea43d320219ba4e6b7b1be36a5c1533ac3edb42",
+   "sha256": "1hg18rm7lqs45gvv1rb5d3vqh6g9nmyf2wd2sichl06a2cn48n16"
   }
  },
  {
@@ -52204,11 +52300,11 @@
   "repo": "ideasman42/emacs-hl-prog-extra",
   "unstable": {
    "version": [
-    20210422,
-    56
+    20210629,
+    602
    ],
-   "commit": "42dee82058e49a7eae5490af2b6b4147600e87ed",
-   "sha256": "1csvhvjzhq1w9384i9n78qv8x0c2y8mdqig6fa2k5qi84cgsh8zp"
+   "commit": "c251d0cd354565b859ddf7c61bdae32649c6a0f4",
+   "sha256": "0a8dkay7d31h2k4vsapwigf62wl77yk4r0wa86ly4p6vghbczj3w"
   }
  },
  {
@@ -52241,11 +52337,11 @@
   "repo": "tarsius/hl-todo",
   "unstable": {
    "version": [
-    20210504,
-    1406
+    20210615,
+    1505
    ],
-   "commit": "57378bd4511887a815725a7850e1ff2c6e9fda16",
-   "sha256": "0bdwdp8d0g7n0kv6l4h7alya3z6fsfi618dzw5x8f2az3r87yg8y"
+   "commit": "5ac0076cfeaea57f7c7a59d9d41a34c1bdc4b22e",
+   "sha256": "1h3h62rglgwir3jfy6wq9hkwlx6z28cs9dz8jv8xgpk1jsj89whw"
   },
   "stable": {
    "version": [
@@ -52265,16 +52361,16 @@
   "repo": "narendraj9/hledger-mode",
   "unstable": {
    "version": [
-    20201212,
-    2121
+    20210706,
+    1225
    ],
    "deps": [
     "async",
     "htmlize",
     "popup"
    ],
-   "commit": "f1deebb0cbe9ca040856d3cc99942335250d9566",
-   "sha256": "0hnmia3c052php3i2g1sbsp402fgi17yv6as044ck617p7avz971"
+   "commit": "9ac07ff0adbce6a402c17e789b1750f9da0d22f4",
+   "sha256": "0x3dgws8nh7q8x7zzjwbm5k9n7gi7qqd3ww7y51fbx6p6ii3jpp4"
   }
  },
  {
@@ -52659,16 +52755,16 @@
   "repo": "thanhvg/emacs-howdoyou",
   "unstable": {
    "version": [
-    20210217,
-    1723
+    20210707,
+    1513
    ],
    "deps": [
     "org",
     "promise",
     "request"
    ],
-   "commit": "27e9e015b930175896c07536c25e379a4e1997af",
-   "sha256": "14f3fqz8sjmjh7si5gk31fh7bnvc9p1rfd9p2l39zvasvk1sxki0"
+   "commit": "4943a4ef8d242952ade64903a05c13094de2fbf0",
+   "sha256": "1fgg1jcnihx3akp7r0fvwdx71ldl2apbw6xa591f6r5slvh179gn"
   }
  },
  {
@@ -52861,8 +52957,8 @@
     20200929,
     559
    ],
-   "commit": "8cb33f9513d79e44a602927f35d5a3bb0dccbb92",
-   "sha256": "0x72qh6pmaw3dfnx296flbvbm1sxgljz4997jkjwiss2pr7qsgx0"
+   "commit": "97f885a550bed05f2fbdd933718313e6645a6ea1",
+   "sha256": "0b8wz43k64c2ca4kqjlp9zx97hafwmnjc38pa7lyip9yhhnhkkf5"
   },
   "stable": {
    "version": [
@@ -52978,6 +53074,30 @@
   }
  },
  {
+  "ename": "huecycle",
+  "commit": "0c73a3a204ffe41f7370ef5d72a02a9e1844ce24",
+  "sha256": "0h4hfy9bw30sij5r3wgpz4sqwh343bwhd207p85kp0v10vnlk62x",
+  "fetcher": "github",
+  "repo": "pnor/huecycle",
+  "unstable": {
+   "version": [
+    20210706,
+    205
+   ],
+   "commit": "c343b2085dea11b820d4da6c6183e1102ec08698",
+   "sha256": "1bdhm9j2dammw5dzr8gh4wg5pkl7c706jqdwd43my7zsn2ipar24"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    0
+   ],
+   "commit": "c343b2085dea11b820d4da6c6183e1102ec08698",
+   "sha256": "1bdhm9j2dammw5dzr8gh4wg5pkl7c706jqdwd43my7zsn2ipar24"
+  }
+ },
+ {
   "ename": "hugsql-ghosts",
   "commit": "969fd5e51bf93b5eff6919956c43c041a3b24d1e",
   "sha256": "1v1iypis5iyimdr9796qpqw0qmhzijap0nbr0mhhyp4001kakkwz",
@@ -53137,11 +53257,11 @@
   "repo": "Riyyi/emacs-hybrid-reverse",
   "unstable": {
    "version": [
-    20210527,
-    2324
+    20210630,
+    1155
    ],
-   "commit": "4cad8a17f6c9d98a628d78fe358d589b03172b57",
-   "sha256": "0xwl0fycygzwsrv4vrph6q6hy0550j3z1ir9ahfc7fjl091k192x"
+   "commit": "e59c8392938235ca8d95306aa1c3f1591a43fb45",
+   "sha256": "0vrdd4w9v07g6092sva8br0n3dlf1n9gj8y56k13a1wn9hwi2wp3"
   }
  },
  {
@@ -53614,27 +53734,27 @@
   "repo": "plandes/icsql",
   "unstable": {
    "version": [
-    20210605,
-    1658
+    20210612,
+    1340
    ],
    "deps": [
     "buffer-manage",
     "choice-program"
    ],
-   "commit": "bc7c5f27f9d804613759a1d1357166f9ccecbe0e",
-   "sha256": "1g3wy9jjlag4ma610kdqnb0f2sy1032m5q419ankh5fv0gfxlwbl"
+   "commit": "4521e9d2debef7687bfd26a664479f0c46688a36",
+   "sha256": "0s65kilx1jrjhm80sc4fj3x0mr3x4m3vjllm6qxj8ml8sh3pkai3"
   },
   "stable": {
    "version": [
     0,
-    7
+    8
    ],
    "deps": [
     "buffer-manage",
     "choice-program"
    ],
-   "commit": "bc7c5f27f9d804613759a1d1357166f9ccecbe0e",
-   "sha256": "1g3wy9jjlag4ma610kdqnb0f2sy1032m5q419ankh5fv0gfxlwbl"
+   "commit": "4521e9d2debef7687bfd26a664479f0c46688a36",
+   "sha256": "0s65kilx1jrjhm80sc4fj3x0mr3x4m3vjllm6qxj8ml8sh3pkai3"
   }
  },
  {
@@ -54150,15 +54270,15 @@
   "repo": "idris-hackers/idris-mode",
   "unstable": {
    "version": [
-    20210223,
-    850
+    20210614,
+    1212
    ],
    "deps": [
     "cl-lib",
     "prop-menu"
    ],
-   "commit": "80aabd2566082aa67d17eccdd80e9f1fb10c9ec8",
-   "sha256": "1cmmasfmgnzhixhczigz1c2jzhr9yj4v6mwvgxs99vbg2k3p9rcq"
+   "commit": "f52ad0b4770403561b40f1d0499ecaca70da886c",
+   "sha256": "1ai5ha67650ryj7mdxx6b86hlm2v13h7kipisgvxj5dss3j9j7lv"
   },
   "stable": {
    "version": [
@@ -54196,11 +54316,11 @@
   "repo": "victorhge/iedit",
   "unstable": {
    "version": [
-    20210606,
-    1026
+    20210612,
+    546
    ],
-   "commit": "94650d77719a554cdcebfc6e26a731de87e14483",
-   "sha256": "029z9j3anb948mbmh6ai8asxgfim8193ymm41c7crqzga9p4ivc7"
+   "commit": "3247f3029a4e309c71a5b066fa4299d4cbb79fbc",
+   "sha256": "1w6apgfs4zgcqpcn3qgf0ncx46m6sz7vr4ln00s626ll0c4lhnys"
   },
   "stable": {
    "version": [
@@ -54403,11 +54523,11 @@
   "repo": "tarsius/imake",
   "unstable": {
    "version": [
-    20200103,
-    1238
+    20210615,
+    1506
    ],
-   "commit": "100d62c7095743fadddfad5b9e0740ee386ba4cf",
-   "sha256": "0wpfl74v7xnvsk3ribxkfyy4p5p9j2wskrcf0naavqpgm6fc6jvr"
+   "commit": "b61b1582abe8f7a389883f48b7e5243abb010a69",
+   "sha256": "19nbas7kpbxksd0vqbvf8awzpnrmy97yxd616kcxcp86qk34mlwr"
   },
   "stable": {
    "version": [
@@ -54694,8 +54814,8 @@
    "deps": [
     "impatient-mode"
    ],
-   "commit": "60ae30d07b857c074e2918680805cb37249de0ad",
-   "sha256": "0brj34ijgsgkbawp097wjwiaka2b082aypl5pal0298mpk97zxq0"
+   "commit": "bcb636dbef4630c5ae654642c6a637cceb588cac",
+   "sha256": "1nnmx7f256cll04wxwip3a1pll3rayiqx4ynirrm1ld97q8hdc3v"
   },
   "stable": {
    "version": [
@@ -54811,8 +54931,8 @@
     20210508,
     309
    ],
-   "commit": "044291cf063a86927dae50dffdb2b0e2e3f9199b",
-   "sha256": "0hiwq5nzh42f5ynjlhq9vlcgq8pmgcgbi9w5c5gczdl0s7cxv6l7"
+   "commit": "bfacd60a4be68a89d150f0bf2a9fb8714591f6f5",
+   "sha256": "1dxdzvg6bpz0wgj2amqy7q9xl8xi7clsw10d9c86gbq87b9js681"
   },
   "stable": {
    "version": [
@@ -54910,16 +55030,16 @@
   "repo": "emacs-stuff/indent-tools",
   "unstable": {
    "version": [
-    20190606,
-    1642
+    20210622,
+    1207
    ],
    "deps": [
     "hydra",
     "s",
     "yafolding"
    ],
-   "commit": "c419874e6fb296ecdba94b2f4b73c9eecdd5329d",
-   "sha256": "1dwhn9ssirr7i08rfd97mih629cxc9jwnvncb74dxdbgn1bi2b9k"
+   "commit": "c731f05fa3950e2e8580ec61b88abbc705639830",
+   "sha256": "0jri2vxd5a4sx93xq6kjcc5zx9yrhv789x3lyq6r2p2422diw2jr"
   }
  },
  {
@@ -55077,11 +55197,11 @@
   "repo": "J3RN/inf-elixir",
   "unstable": {
    "version": [
-    20210315,
-    1723
+    20210629,
+    40
    ],
-   "commit": "b526ce852886d1863163e054fcbbcbb83c55b32a",
-   "sha256": "1kmv2j1g299wb8dqq43zk61jigkfl9rnqxbfnclzsqfdlnhvw6ii"
+   "commit": "ec87ecaab5a10e79034f77d553e7fefbf60b9f97",
+   "sha256": "1p6r0iwqcaf9bp123ccwafmzlf8hgwvap0cqwgy33cks6bhcbzb9"
   },
   "stable": {
    "version": [
@@ -55371,11 +55491,14 @@
   "repo": "emacs-jp/init-loader",
   "unstable": {
    "version": [
-    20200520,
-    2345
+    20210703,
+    902
+   ],
+   "deps": [
+    "cl-lib"
    ],
-   "commit": "10b8d7b12acbd1036e68dfb59f460714baedaa33",
-   "sha256": "1w7sq9famd4xbh5jk974zzpn6cf1nh2vmbvjvd4fwpjhmnnibqsm"
+   "commit": "ecab5a66b40227c4173992adfa5cfeae09f1657e",
+   "sha256": "0fkxv7i7jdlj0z5n4hfm8897pfy6jxmk8znpfr9564ay90cp445h"
   },
   "stable": {
    "version": [
@@ -55465,11 +55588,11 @@
   "repo": "ideasman42/emacs-inkpot-theme",
   "unstable": {
    "version": [
-    20210427,
-    1337
+    20210716,
+    58
    ],
-   "commit": "7c3a0a76fa00db41a4d3d990cc98a1c6b088df3d",
-   "sha256": "17x0afwfcr4k0nmliqajswmvaiglk1xl33r3j215w214xp6dqrp2"
+   "commit": "c3683aa99c738eb46cf310ba23162dbb315a5ac5",
+   "sha256": "14k3n5kn9z2lqdhm00qy0hz8synnv28i17gn518ps4cyk298dmby"
   }
  },
  {
@@ -55578,17 +55701,17 @@
  },
  {
   "ename": "insert-kaomoji",
-  "commit": "216fcef758036cf466fa5b52599394709eed48b3",
-  "sha256": "1ip61cigz6b6hsj8ahgb6fxf7yab24r0rjjl11i10ykq7sb49k00",
+  "commit": "982788433004ba644a372c50130613e3c56bba10",
+  "sha256": "0yaz5fsnxdrnv16sns8hgvf07fmfz8p8969619ywv844kv3p16q7",
   "fetcher": "git",
-  "url": "https://git.sr.ht/~zge/kaomoji",
+  "url": "https://git.sr.ht/~pkal/insert-kaomoji",
   "unstable": {
    "version": [
-    20200325,
-    2248
+    20210707,
+    1126
    ],
-   "commit": "d18423f78cc02ba866b1a1dfb0617476cd941c54",
-   "sha256": "0n6fjndwcp2qg8164420dlc3xsdzm6m0zwbvvwn5w03khbk788hr"
+   "commit": "e818845a99d418e04c1685f06fe25116916f6168",
+   "sha256": "0acyzysz04sd3rahymw6x3a8zy57sy84d36zp6prd62y4w0sw361"
   },
   "stable": {
    "version": [
@@ -55773,8 +55896,8 @@
   "repo": "dcjohnson/inverse-acme-theme",
   "unstable": {
    "version": [
-    20210204,
-    1640
+    20170615,
+    1337
    ],
    "deps": [
     "autothemer",
@@ -56055,14 +56178,14 @@
   "repo": "jcs-elpa/isearch-project",
   "unstable": {
    "version": [
-    20200907,
-    1453
+    20210715,
+    1041
    ],
    "deps": [
     "f"
    ],
-   "commit": "1077b395e1c34a734120faf1f3a7feae6dc4d9c5",
-   "sha256": "1zdlk6s0j0825wy2blpxhsg5pxaybk5adxxpjvm6jj9r612xyn73"
+   "commit": "796e4e9a2508120ae430f522115c7d174d912276",
+   "sha256": "0wlh2ph87qa3i3n7j2mvih428ih65gqj0bzqwqw123cfflcz6xy2"
   },
   "stable": {
    "version": [
@@ -56297,8 +56420,8 @@
     20210602,
     1349
    ],
-   "commit": "040d458bce4a88f37359192061bcea5ebe87007c",
-   "sha256": "0lgpawrsvihksm9cx462qa1hsmxhhv1qp0h1f9m4wn1jrcrq7r24"
+   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
+   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
   },
   "stable": {
    "version": [
@@ -56325,8 +56448,8 @@
     "avy",
     "ivy"
    ],
-   "commit": "040d458bce4a88f37359192061bcea5ebe87007c",
-   "sha256": "0lgpawrsvihksm9cx462qa1hsmxhhv1qp0h1f9m4wn1jrcrq7r24"
+   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
+   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
   },
   "stable": {
    "version": [
@@ -56428,16 +56551,16 @@
   "repo": "jixiuf/ivy-dired-history",
   "unstable": {
    "version": [
-    20210418,
-    1444
+    20210715,
+    48
    ],
    "deps": [
     "cl-lib",
     "counsel",
     "ivy"
    ],
-   "commit": "1ffa9b705c52a9d5b03c97150addb4f746c08380",
-   "sha256": "1li8vh94w1mkwqbh1f0i1mmv5advrbh1183vpjc2zbmmk02pynkf"
+   "commit": "dba848929cb063a5536cb442c70be1099e2f5baa",
+   "sha256": "1fkw82am49j49s0s3ql22hl9i2imypb0xkrmsgc7sr2hfsim56sd"
   },
   "stable": {
    "version": [
@@ -56572,8 +56695,8 @@
     "ivy",
     "s"
    ],
-   "commit": "b237ee8e9fd2fd1b52254ef84cd06a0bb6c10a24",
-   "sha256": "0bimn8j3md579sg7bypsynmjnq1mlmmslci1k98sc8kfnky8260c"
+   "commit": "3ad203f6166f82c7a09ab4ad065fd40136915fb8",
+   "sha256": "07mdv0cnrjys0lcxamwpg5xl0g7wb0mgnzbkqyaik559avp5kq5a"
   },
   "stable": {
    "version": [
@@ -56666,16 +56789,16 @@
   "repo": "PythonNut/historian.el",
   "unstable": {
    "version": [
-    20190111,
-    313
+    20210714,
+    56
    ],
    "deps": [
     "flx",
     "historian",
     "ivy"
    ],
-   "commit": "ac1bea7d99dd6965c72fabeb72d5fdc38c5380a4",
-   "sha256": "13pray3iapy6vbd1y1y7fqcnjpsvgfz2z7j1a1awzd8ifp12g9cp"
+   "commit": "852cb4e72c0f78c8dbb2c972bdcb4e7b0108ff4c",
+   "sha256": "031624grhvv5ix3gvnd8lzpws80lb5r272yggl1k57rsayyv55ix"
   }
  },
  {
@@ -56693,8 +56816,8 @@
     "hydra",
     "ivy"
    ],
-   "commit": "040d458bce4a88f37359192061bcea5ebe87007c",
-   "sha256": "0lgpawrsvihksm9cx462qa1hsmxhhv1qp0h1f9m4wn1jrcrq7r24"
+   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
+   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
   },
   "stable": {
    "version": [
@@ -56862,15 +56985,15 @@
   "repo": "tumashu/ivy-posframe",
   "unstable": {
    "version": [
-    20210426,
-    2144
+    20210609,
+    1053
    ],
    "deps": [
     "ivy",
     "posframe"
    ],
-   "commit": "084cc59ea2cd62afaa51445ada3d00404749a541",
-   "sha256": "170z5akdwxzrn0b4cbk6v8a3dqz229b7pj9n0534y1a7ydvcyv9h"
+   "commit": "9c8382823392d5e64fb4879055e43ab4a029e62a",
+   "sha256": "1dqbgi12rd79jkrbyd59lrx9b5wi5a0k2xmf927c4mcqjfbvih2w"
   },
   "stable": {
    "version": [
@@ -56993,8 +57116,8 @@
     "ivy",
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -57026,8 +57149,8 @@
     "s",
     "searcher"
    ],
-   "commit": "3a2f5073a0d5842a6b3c386e70cc484e3c4ea77b",
-   "sha256": "1bk8kaxqq1m76x1i4hy3jqcy05pr6dlzjd4dbyi8lrx9sxnfrnkk"
+   "commit": "84faba3cd87374f54d5e27344d4812737375fbaa",
+   "sha256": "1lxiamv0960j1sfs9afqbdkp7mjkdbi1nw1nh5w8q3m9a44c1h89"
   },
   "stable": {
    "version": [
@@ -57060,8 +57183,8 @@
     "espotify",
     "ivy"
    ],
-   "commit": "3d62a3319ab03a810030058d3fb368b28dfd82d5",
-   "sha256": "0hj3nczmqmgiwsvh664rs34j63wl325x6nar21p1a84h5ximpkxq"
+   "commit": "5bf63dacc5df8a74860e80dabd16afce68a24a36",
+   "sha256": "1vxg86wv6f96bva0d1xxhisk525chwhdl4nq77xhriflq65mcmi3"
   }
  },
  {
@@ -57858,11 +57981,11 @@
   "repo": "rymndhng/jest-test-mode",
   "unstable": {
    "version": [
-    20210228,
-    132
+    20210615,
+    41
    ],
-   "commit": "fb2bacab9475410c79e6e4ca344f093f7698466d",
-   "sha256": "0m3p75659krzcyc54ri0x8bwr1zxhkrfmyz8z7z5mjpydb8qb1v8"
+   "commit": "d7660096e7d49f9b2ebc8924c0f5b39c5ffa8c86",
+   "sha256": "1sw1cgykq9i6wdjjlqlw6jrdxnic615k96lbqyir84fizn55qcja"
   }
  },
  {
@@ -58412,14 +58535,14 @@
   "repo": "mooz/js2-mode",
   "unstable": {
    "version": [
-    20210414,
-    2241
+    20210712,
+    202
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b891edecedf30be6321e2f109fdfeb25b0edad27",
-   "sha256": "179vkwr57nibc148b961g1aim052v65qsva44imxibkm9h0n32w9"
+   "commit": "6f313c9566d9c8453a91c5ccaa25760978cb9f6d",
+   "sha256": "09fxg0ljv2g9rv7n67km7q64w49fcl0gngm68m252nyvk2x28b08"
   },
   "stable": {
    "version": [
@@ -58484,8 +58607,8 @@
    "deps": [
     "js2-mode"
    ],
-   "commit": "d970dd53dec76f9f72ade5b1f8717dea3d45bb3c",
-   "sha256": "0i46frhgmkw6qga1mki9bsrm6zncyca9fr81n1sadmgwfl1rxl28"
+   "commit": "ab01c290860ab0d8f43afcf1f7466fdced24e123",
+   "sha256": "12g1yah3k0k0p6nlrq8j9iq5l59zalknix60s1zj24bssac5y0zj"
   },
   "stable": {
    "version": [
@@ -58777,14 +58900,14 @@
   "repo": "tminor/jsonnet-mode",
   "unstable": {
    "version": [
-    20210527,
-    1557
+    20210627,
+    1451
    ],
    "deps": [
     "dash"
    ],
-   "commit": "54a89b0aaba7a68782008c5e1ab00d5ec757316a",
-   "sha256": "14nxfa91yg2243v4d5kvynp2645x3811ispmhmpgil3x9qbl9jg9"
+   "commit": "404ebe3ca964fde99b7a6d89d2840ce53376d80a",
+   "sha256": "1ddkljjmvbm35gdw6wnys2na19826wxxgydlikn52nvchvr5z5z9"
   },
   "stable": {
    "version": [
@@ -58820,10 +58943,10 @@
  },
  {
   "ename": "jst",
-  "commit": "3416586d4d782cdd61a56159c5f80a0ca9b3ddf4",
-  "sha256": "1kxf8ckhsh0sgc4xqkkyh7ghk17farqqz35ibvmyrkl9s19ydj1q",
+  "commit": "93d46615545045ea2a9456b8a28016ec933e43d4",
+  "sha256": "0zl20xy33cz1k0lcm2ymk0bi0w7ayndq0xqrw42fvd7gm1plbsd4",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/jst-mode",
+  "repo": "victorteokw/jst-mode",
   "unstable": {
    "version": [
     20150604,
@@ -58933,8 +59056,8 @@
   "repo": "gcv/julia-snail",
   "unstable": {
    "version": [
-    20210330,
-    1901
+    20210715,
+    1359
    ],
    "deps": [
     "dash",
@@ -58943,8 +59066,8 @@
     "spinner",
     "vterm"
    ],
-   "commit": "03b4296ba7151963eb3c850f3314b02644101f51",
-   "sha256": "1jgs0pz8bzqg8116kyw3z7jwbf6karrl89ks028q091ylc00nm8b"
+   "commit": "a71a536fc1f194bc329e2c33eed5eab542c00cab",
+   "sha256": "0cnhv37m8hcl3lfbiivy3yk338x60q8fglm5nibhfr55ln52jjc4"
   },
   "stable": {
    "version": [
@@ -59216,26 +59339,26 @@
   "repo": "TxGVNN/emacs-k8s-mode",
   "unstable": {
    "version": [
-    20210414,
-    1543
+    20210618,
+    1540
    ],
    "deps": [
     "yaml-mode"
    ],
-   "commit": "14f08627d5bc320fee5bd9926e9aabe6956f514e",
-   "sha256": "1rfglmslhv3i71fgsqs8gjcnkff06lnp0b9s182rsnfz29dnzd1a"
+   "commit": "430e9d698f1411efe3f8f2bb4c8f8857e0321a8d",
+   "sha256": "0rpgsfxvbic7ni82cpqi7wya73ajbd2jfbjskklzlmhwn1j26a9v"
   },
   "stable": {
    "version": [
     0,
-    1,
+    2,
     0
    ],
    "deps": [
     "yaml-mode"
    ],
-   "commit": "9364cdbbae00055c4efa1eeb80503e0b0a215743",
-   "sha256": "1ap8nwlv9ha5a03gc10sva12sc6qzq1vig8hibg1igbsc1qmfkad"
+   "commit": "430e9d698f1411efe3f8f2bb4c8f8857e0321a8d",
+   "sha256": "0rpgsfxvbic7ni82cpqi7wya73ajbd2jfbjskklzlmhwn1j26a9v"
   }
  },
  {
@@ -59633,11 +59756,11 @@
   "repo": "ifosch/keepass-mode",
   "unstable": {
    "version": [
-    20210110,
-    630
+    20210628,
+    729
    ],
-   "commit": "515343a7667b2bf4253309449f65a6eb94933df7",
-   "sha256": "0hrq521swki0l3m81wk9p7pkc5j99li441fb75h7107v6z0p102c"
+   "commit": "fd7d380b762c888f25435d0c241012cdabf6e288",
+   "sha256": "1623hqlyk7qlvb5kigkyiji98a2vp39y0v6smag2mnqa3r89jq7l"
   },
   "stable": {
    "version": [
@@ -59849,11 +59972,11 @@
   "repo": "tarsius/keycast",
   "unstable": {
    "version": [
-    20210521,
-    828
+    20210616,
+    826
    ],
-   "commit": "a12ef1fb480b56c34c92f48fc7f7aa8a1d7c4c4b",
-   "sha256": "0093v1c5nl2bh1lvccqq6fzpgjald3yypp87dsim982aywl2vlv1"
+   "commit": "04ba7519f34421c235bac458f0192c130f732f12",
+   "sha256": "09xr0h2ag3pzlz455gv5h915vn1dz56gqx61jx3n7fc4a794pqxw"
   },
   "stable": {
    "version": [
@@ -59920,14 +60043,14 @@
   "repo": "dacap/keyfreq",
   "unstable": {
    "version": [
-    20160516,
-    1416
+    20210630,
+    1318
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e5fe9d585ce882f1ba9afa5d894eaa82c79be4f4",
-   "sha256": "12m1jy8m8i39b809qbxx9g3r066jxhqwfyf5mqbd1lzlaw63b1i7"
+   "commit": "7bb36e910ae04ff1dce387e3ce73b669d299680b",
+   "sha256": "188055yg9fqw92p1wip7mx7nz5gz5jbwb6lgcjncxzs4i9v7w8kr"
   },
   "stable": {
    "version": [
@@ -60084,8 +60207,8 @@
     20210523,
     403
    ],
-   "commit": "8d2a5ec4a7fe766a62037b05f26a8f36fff45c06",
-   "sha256": "1rszkzpr22dy9yr54k2pz6p2j6lbgvy189f6ki8gmlsqzdyxmssk"
+   "commit": "075b05b6ed7fe1b9f4f22544bc26749243de6808",
+   "sha256": "01qwcr65qzz0ilzj9318hnz9hs3gdd722xpajmp8sa1520w9vhzm"
   },
   "stable": {
    "version": [
@@ -60316,8 +60439,8 @@
     20210318,
     2106
    ],
-   "commit": "3894a454ee03ede25e920759e6ac2df040ff3431",
-   "sha256": "1crqrmzxhm21psv5mkbzn3h2syrgszx50i4kd4n92f56dq7s8i4b"
+   "commit": "143ba31a0a5c23d8c1a8d6fb1972d94cc1d7f31c",
+   "sha256": "1daisqp687p0bpjk8mj7c3sxq9clwi25byzbk7yx8l15rcr1bhr5"
   },
   "stable": {
    "version": [
@@ -60527,10 +60650,10 @@
  },
  {
   "ename": "kroman",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "0rcy3343pmlqzqzhmz2c3r0b44pn8fsyp39mvn9nmdnaxsn6q3k8",
+  "commit": "ff990cb7ff2c10c3d6c97b820c9eaad7c4e86b11",
+  "sha256": "0vg7wrm7h36gnhhyjpk6k2sq5x1rilzaqhjrhyk508f5jfzylzqz",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/kroman-el",
+  "repo": "victorteokw/kroman-el",
   "unstable": {
    "version": [
     20150827,
@@ -60601,8 +60724,8 @@
   "repo": "abrochard/kubel",
   "unstable": {
    "version": [
-    20210326,
-    2053
+    20210623,
+    1316
    ],
    "deps": [
     "dash",
@@ -60610,8 +60733,8 @@
     "transient",
     "yaml-mode"
    ],
-   "commit": "91d1c8e97e4168fc49548c3449b4a60568c96790",
-   "sha256": "16s6iy3igb40r29x4bpb2x9763pf1fg5cygfdgabjq8xq36slmg8"
+   "commit": "801d4cc78cb59b3c39e9ea53d7f16ec3c9a6bb6b",
+   "sha256": "120pyq6njxvhjwjrsbrclxj9g4qsi9awm9pmvvy74z3qzxjkj7bl"
   },
   "stable": {
    "version": [
@@ -60643,8 +60766,8 @@
     "evil",
     "kubel"
    ],
-   "commit": "91d1c8e97e4168fc49548c3449b4a60568c96790",
-   "sha256": "16s6iy3igb40r29x4bpb2x9763pf1fg5cygfdgabjq8xq36slmg8"
+   "commit": "801d4cc78cb59b3c39e9ea53d7f16ec3c9a6bb6b",
+   "sha256": "120pyq6njxvhjwjrsbrclxj9g4qsi9awm9pmvvy74z3qzxjkj7bl"
   },
   "stable": {
    "version": [
@@ -60661,27 +60784,27 @@
  },
  {
   "ename": "kubernetes",
-  "commit": "16850227ea48f6f38102b9cdf80e0758766a24d2",
-  "sha256": "06357a8y3rpvid03r9vhmjgq97hmiah5g8gff32dij9424vidil9",
+  "commit": "870901c45fb35384953568a972aa36ad445e1ad9",
+  "sha256": "07x770fcnjg0545bml3jqmd9d9l1bw8i8i4imznqhwx3acm8grzy",
   "fetcher": "github",
-  "repo": "chrisbarrett/kubernetes-el",
+  "repo": "kubernetes-el/kubernetes-el",
   "unstable": {
    "version": [
-    20210604,
-    909
+    20210714,
+    1307
    ],
    "deps": [
     "dash",
-    "magit",
-    "magit-popup"
+    "magit-popup",
+    "magit-section"
    ],
-   "commit": "93d7b4d1b079b3cf1fbe3949154b6a1bc06904ef",
-   "sha256": "0xz35j38ph1l870zrdd0r2xycxq65pbq1a1hi270q4mikpai85gb"
+   "commit": "ffdae05d4d0e83be5c6884326b69a8ca83f2ae2b",
+   "sha256": "1fjrl2w3gp5mbdg6mkw23h9zfn2h8rdmxgyw80p0jpm0b31yq1i0"
   },
   "stable": {
    "version": [
     0,
-    13,
+    15,
     0
    ],
    "deps": [
@@ -60689,40 +60812,40 @@
     "magit",
     "magit-popup"
    ],
-   "commit": "8ae9dc2340620c7d8efb2347723b25bde5a6fba0",
-   "sha256": "0di3vcq8c8j8avjlic7bhvbq4p27cvzyklm26wiq4rga88vjhyb0"
+   "commit": "ea81874f0490cea310b09c57718aa0e5c83d578b",
+   "sha256": "13kra8y8laqk949phxwlw5q0lmv4yc9knql12srdys1hyvhczwx3"
   }
  },
  {
   "ename": "kubernetes-evil",
-  "commit": "16850227ea48f6f38102b9cdf80e0758766a24d2",
-  "sha256": "12ygfs6g9aivf2ws3lxwjm5xnd2kidhli889icpygd5v7gnk9pg8",
+  "commit": "870901c45fb35384953568a972aa36ad445e1ad9",
+  "sha256": "163idbancjbm8jj8bprhrg7lqypz3g3qkfz7mas0b40iw6ip220h",
   "fetcher": "github",
-  "repo": "chrisbarrett/kubernetes-el",
+  "repo": "kubernetes-el/kubernetes-el",
   "unstable": {
    "version": [
-    20191108,
-    615
+    20210628,
+    2003
    ],
    "deps": [
     "evil",
     "kubernetes"
    ],
-   "commit": "93d7b4d1b079b3cf1fbe3949154b6a1bc06904ef",
-   "sha256": "0xz35j38ph1l870zrdd0r2xycxq65pbq1a1hi270q4mikpai85gb"
+   "commit": "ffdae05d4d0e83be5c6884326b69a8ca83f2ae2b",
+   "sha256": "1fjrl2w3gp5mbdg6mkw23h9zfn2h8rdmxgyw80p0jpm0b31yq1i0"
   },
   "stable": {
    "version": [
     0,
-    13,
+    15,
     0
    ],
    "deps": [
     "evil",
     "kubernetes"
    ],
-   "commit": "8ae9dc2340620c7d8efb2347723b25bde5a6fba0",
-   "sha256": "0di3vcq8c8j8avjlic7bhvbq4p27cvzyklm26wiq4rga88vjhyb0"
+   "commit": "ea81874f0490cea310b09c57718aa0e5c83d578b",
+   "sha256": "13kra8y8laqk949phxwlw5q0lmv4yc9knql12srdys1hyvhczwx3"
   }
  },
  {
@@ -60829,14 +60952,14 @@
   "url": "https://git.sr.ht/~tarsius/l",
   "unstable": {
    "version": [
-    20210214,
-    1130
+    20210705,
+    2113
    ],
    "deps": [
     "seq"
    ],
-   "commit": "518203abc6cee13c73c2d91282354ed59f00f15e",
-   "sha256": "1s3fndzjhz0xvbhdb0y7raa7zqrpws1xm79blgfcxcrv2fbmbzan"
+   "commit": "02b1afad2c5649221abada2d938ef3736e020a96",
+   "sha256": "0idzyx6pxn8s78my9b4qjxz6561w6bzjvbp3yv267piyjgvwnzpc"
   },
   "stable": {
    "version": [
@@ -60969,8 +61092,8 @@
     "highlight",
     "math-symbol-lists"
    ],
-   "commit": "63796ccadcc9147c5badd9a87f626611f63e3c4c",
-   "sha256": "1iwgi7jm20qwxlfa7klkz5zmdfxa14psly6xsl29i37j9p6146sb"
+   "commit": "138e6794122f8601e58731a365930bd7cf5791ea",
+   "sha256": "0zj3i612h0sih7lyy4zvzldcrgqmsqcvr4y42zv75r81s0l6gddz"
   }
  },
  {
@@ -61095,25 +61218,25 @@
   "repo": "lassik/emacs-language-id",
   "unstable": {
    "version": [
-    20210411,
-    1332
+    20210708,
+    1719
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "30a5bc267af7de167d0a835ead828016e6e7e14c",
-   "sha256": "1wkppwh72zs8b4jqdxqpf3gikh11la03nkj8nna9bg7k8n0a4vaq"
+   "commit": "5ac941a38b193d680df6bb9e96b0508a33bb3133",
+   "sha256": "0vxvlvw6zmr2cn6vhci22yyn77n22pr2r4wmscm8j4693kdcqbdj"
   },
   "stable": {
    "version": [
     0,
-    12
+    14
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "2c99ce29b86fc635649f4e89723912dc1cc4f36c",
-   "sha256": "12fzzdc4jns440gb71iydsicni646gciaxv50p0wrfk9mbppidck"
+   "commit": "5ac941a38b193d680df6bb9e96b0508a33bb3133",
+   "sha256": "0vxvlvw6zmr2cn6vhci22yyn77n22pr2r4wmscm8j4693kdcqbdj"
   }
  },
  {
@@ -61124,26 +61247,26 @@
   "repo": "PillFall/Emacs-LanguageTool.el",
   "unstable": {
    "version": [
-    20201111,
-    515
+    20210621,
+    453
    ],
    "deps": [
     "request"
    ],
-   "commit": "531ab81bf66c778616a326b93d4eedd509dd795e",
-   "sha256": "03mrlwic3ws54573abc8wpq4apffnmq4ncqlwsvs4nhg14yl2s59"
+   "commit": "feea3f9271ce920490a0d9dcd11e669e3eaad1d0",
+   "sha256": "0vxq945x1yn86kpw7qbb686vb3pzyk7wma8g0dbval2m4hsbrn26"
   },
   "stable": {
    "version": [
     0,
-    3,
-    0
+    4,
+    2
    ],
    "deps": [
     "request"
    ],
-   "commit": "531ab81bf66c778616a326b93d4eedd509dd795e",
-   "sha256": "03mrlwic3ws54573abc8wpq4apffnmq4ncqlwsvs4nhg14yl2s59"
+   "commit": "feea3f9271ce920490a0d9dcd11e669e3eaad1d0",
+   "sha256": "0vxq945x1yn86kpw7qbb686vb3pzyk7wma8g0dbval2m4hsbrn26"
   }
  },
  {
@@ -61364,11 +61487,11 @@
   "repo": "pekingduck/launchctl-el",
   "unstable": {
    "version": [
-    20210309,
-    1113
+    20210611,
+    2243
    ],
-   "commit": "86cbb8980de4641b552a792389cc2cb9b2718ee4",
-   "sha256": "08prmsx6ski5j1pnzr7v3hxvbdrb5by8x2dihwhz0wjgfsqj13mr"
+   "commit": "c9b7e93f5ec6fa504dfb03d60571cf3e5dc38e12",
+   "sha256": "0hbhbyl4qbc9b7hmkjpwclyfh4xnl5j51j18793wrh28xqpbkf0s"
   }
  },
  {
@@ -61476,11 +61599,11 @@
   "repo": "conao3/leaf.el",
   "unstable": {
    "version": [
-    20210603,
-    1518
+    20210611,
+    1550
    ],
-   "commit": "af0d4d8daaa323c34502d3cbea85ec8f70b06c00",
-   "sha256": "0p4smpfld1ky07cy5qn8kqpbqw5ymrn8valkpx4c519lj6pb9rn6"
+   "commit": "a4fd520f5c31f54e0797155866e0b35df277664e",
+   "sha256": "0xy1zjr32xpj4kkl3rxshcz5x2qvkn1ciq4v61p6a7vfr3qmkiz2"
   },
   "stable": {
    "version": [
@@ -61539,14 +61662,14 @@
   "repo": "conao3/leaf-keywords.el",
   "unstable": {
    "version": [
-    20210222,
-    1243
+    20210711,
+    156
    ],
    "deps": [
     "leaf"
    ],
-   "commit": "4146621f4ae80ef0c30160337119441c1f6334b6",
-   "sha256": "16iv1cvlky2gij1ndx2d6q8l35axm72bx52n6v5y3h21aibj197n"
+   "commit": "f46311f8e7e5ce0d5af928fea99111b3c86de7ce",
+   "sha256": "1qlg6n5yaagq97x3c2r58pcblk0gz4bysg3cgm5iq3sq9lpf3h2n"
   },
   "stable": {
    "version": [
@@ -61775,8 +61898,8 @@
   "repo": "kaiwk/leetcode.el",
   "unstable": {
    "version": [
-    20210121,
-    1600
+    20210620,
+    706
    ],
    "deps": [
     "aio",
@@ -61785,14 +61908,14 @@
     "log4e",
     "spinner"
    ],
-   "commit": "9c44791407c3f4f76d903ee43367547803ae9c32",
-   "sha256": "14nlmgbkb8vyb0r25sdg03lg2h38gj83vspp9v9vsqyiiirhnvnh"
+   "commit": "7ef1dffd44be9bba6450953d25ff787e122afc69",
+   "sha256": "15gfyx53m02andalyicnvs7b3v59zq64r0jmmgkg6gy5za6c0hsd"
   },
   "stable": {
    "version": [
     0,
     1,
-    18
+    22
    ],
    "deps": [
     "aio",
@@ -61801,8 +61924,8 @@
     "log4e",
     "spinner"
    ],
-   "commit": "ef59344158ae4b7842ca2531ec77c439ed6e6997",
-   "sha256": "0sxrzr34x43dcxw9l3ib982rz4327fpwnjmj3hi17bc5gk6zzfq2"
+   "commit": "aeba19919e6d8f1c0529330572240143a2af38e0",
+   "sha256": "0yfghps19832w4sdjaglnbb9xn40fc5a6072lxbsw8gan9c2bjh7"
   }
  },
  {
@@ -62049,16 +62172,17 @@
     20210603,
     1241
    ],
-   "commit": "1feb8af64c977946b6184b7d63b436c49dbeb52d",
-   "sha256": "0vxpkvp8fsi52zb2sqqd9xfdndyxb59hqg8qkpdfsdwszxngfij5"
+   "commit": "8b73426766029eb541b69f49cc49b9dfa1c616be",
+   "sha256": "101mpzj38w6cng09aq5rq4ly4a0p9zgr8jmbvlkf12i8k03lsfsv"
   },
   "stable": {
    "version": [
     2,
-    0
+    0,
+    1
    ],
-   "commit": "76eaf432f768b45393e404c1bd1861a08c19de3b",
-   "sha256": "0vxpkvp8fsi52zb2sqqd9xfdndyxb59hqg8qkpdfsdwszxngfij5"
+   "commit": "c09b9aebaa659f5c2d0c152d8401fd6924144ce9",
+   "sha256": "0a5cfnk3021idvv4bv2lvnksjy9d0yyd13bnj793ks86j5f3hdv5"
   }
  },
  {
@@ -62129,8 +62253,8 @@
   "repo": "merrickluo/liberime",
   "unstable": {
    "version": [
-    20210526,
-    623
+    20200915,
+    542
    ],
    "commit": "4a6da0f6ab9b43651f3fcc73412e3480b9403caa",
    "sha256": "04ag7icqqdhz40fi91fx4bxx8j6vw2774gw1fbppbks3sasimyy0"
@@ -62153,11 +62277,11 @@
   "repo": "magit/libegit2",
   "unstable": {
    "version": [
-    20200515,
-    1759
+    20210620,
+    2017
    ],
-   "commit": "0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a",
-   "sha256": "0pnjr3bg6y6354dfjjxfj0g51swzgl1fncpprah75x4k94rd369f"
+   "commit": "77bd28aeaa2a49962e8f714741f5a69b656a2183",
+   "sha256": "19sxrikxl0kbfnbl2rdjvj96l9abmqhi68jj5hglgpa8qp3flc24"
   }
  },
  {
@@ -62183,20 +62307,20 @@
   "repo": "mpdel/libmpdel",
   "unstable": {
    "version": [
-    20210107,
-    950
+    20210627,
+    755
    ],
-   "commit": "9162a4b350c978f94dde6f75d60bc6a17e1dc18e",
-   "sha256": "0w45g4pkjsggv5yqw0zsnwqvzljapfvhxzf0vhnrqc446ys9jzp3"
+   "commit": "e4ae63dd002fe07835c3c8a35b20b6e8347f8e84",
+   "sha256": "0pryjihv1766x86lqy2anpxwr159dndlzmqxxiiwhhz4skp5498w"
   },
   "stable": {
    "version": [
     1,
-    2,
+    3,
     0
    ],
-   "commit": "a9d67cea595bfeff73cf6281fa735df98dee9a45",
-   "sha256": "1nzs6g2mg3jhfhhfcxjhd9sbvwzhmr6j6mc80ln2nr4gzjqgaa4k"
+   "commit": "b49ab2fe497d61d7d00ed1ad0c3b5a1d6a65e5c4",
+   "sha256": "0krxhcay5s9s7i41q7ga5skj31vaz2qx3djcrlwajf203bl8j4m9"
   }
  },
  {
@@ -62254,8 +62378,8 @@
    "deps": [
     "request"
    ],
-   "commit": "ef80eff8b7be117f9c48bdc6d9a62e56b0a93554",
-   "sha256": "1z6qd4bcpwdpvi6w9yrkrnk2ypllhm6k4zjl8v1p8k0j93dbn3ny"
+   "commit": "bfd5ef11f26ba46c8e0894ea08ffec74cca72288",
+   "sha256": "1x02lwplyd41qaxy27np2fza818p0h62np6kd9sqqxkng4ahy97z"
   },
   "stable": {
    "version": [
@@ -62296,36 +62420,36 @@
     20210303,
     1751
    ],
-   "commit": "be7ff92e4dfb06ed51baaa10157d9a1ee1cd666a",
-   "sha256": "067i605hk3qy01106l90bbl91ivr3zqv2yqr41jf5pfysafykx4x"
+   "commit": "4a785dbbf4f906584716bb14c92230beda5081ed",
+   "sha256": "0vkqp8ck21hhwfnfvmxfwrb3dnkqk4072n4jr7w6ivvhs555srdd"
   },
   "stable": {
    "version": [
     0,
-    17,
+    20,
     0
    ],
-   "commit": "ec97fdf14ce7a65398ecc2755654db46a3ef3b14",
-   "sha256": "067i605hk3qy01106l90bbl91ivr3zqv2yqr41jf5pfysafykx4x"
+   "commit": "89c2f0ad779b8d15581a3607beb55855b0da8737",
+   "sha256": "0vkqp8ck21hhwfnfvmxfwrb3dnkqk4072n4jr7w6ivvhs555srdd"
   }
  },
  {
   "ename": "line-reminder",
-  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
-  "sha256": "1s3ibn7c1j6m7wdkb0z37apgfc0g8vhhrqcnmldf19zi3k13bm0x",
+  "commit": "eb151125750b06c2cf6fcc5d762c980fdc89b0dc",
+  "sha256": "1l7bf0lvncn645v7c3rr5gxd9jkz5jfyaps864mzwvmasbx6d3p4",
   "fetcher": "github",
-  "repo": "jcs-elpa/line-reminder",
+  "repo": "emacs-vs/line-reminder",
   "unstable": {
    "version": [
-    20210531,
-    743
+    20210715,
+    839
    ],
    "deps": [
     "fringe-helper",
     "indicators"
    ],
-   "commit": "1856034d0ed8ce41a29a1ea051184ee7c2f3e276",
-   "sha256": "0ni73ybrg21l63hs51pixkxf77bl288hzji03bm8v1hzsm72vxxs"
+   "commit": "38ca45f01b31d5de07a4a5e43ec54c4644718dcf",
+   "sha256": "12qcrsjb9j9w7nqr28ff1gnk4icl134pgjvm9ph5psf6a6qd9d78"
   },
   "stable": {
    "version": [
@@ -62352,8 +62476,8 @@
     20180219,
     1024
    ],
-   "commit": "68e59d0fff1eb76c7b1a72c438f344c251115e81",
-   "sha256": "1ipqf3qfgzcrrp6xwgxb6wkk8a6ii5jx5im5gfhghdhy45z2m3ii"
+   "commit": "a52bd2bce9d6fb73dc7fe1e867e3ea804b5abd07",
+   "sha256": "18fl0f3j6bfv85pjcf0fggd0k6l6gxwvi19jrp3slzf0mhrlxd8k"
   },
   "stable": {
    "version": [
@@ -62457,14 +62581,14 @@
   "repo": "noctuid/link-hint.el",
   "unstable": {
    "version": [
-    20210410,
-    1506
+    20150922,
+    451
    ],
    "deps": [
     "avy"
    ],
-   "commit": "ae73db6a5948c8d109fc1d570760bcafa3f07175",
-   "sha256": "1rlbxlh9a0hnlaxpgfjvjjvmhnzwc84p9xiqi740xv82cd27wcnl"
+   "commit": "9fbf196d155016d9b8471a99318ed67a086cf257",
+   "sha256": "0v2g9gzf2v88ag59q1pf5vhd4qjnz3g4i6gzl27k6fi7pvlxdn39"
   }
  },
  {
@@ -62661,8 +62785,8 @@
   "repo": "abo-abo/lispy",
   "unstable": {
    "version": [
-    20210121,
-    926
+    20210702,
+    1206
    ],
    "deps": [
     "ace-window",
@@ -62671,8 +62795,8 @@
     "iedit",
     "zoutline"
    ],
-   "commit": "38a7df4cbb16cfe3d62dc8ea98b50e2d9a572e58",
-   "sha256": "1q3sgk8ffwajmh8l7c4p4fz36xw4fqds8yqblbi5kardaa8bs8cs"
+   "commit": "e9731aa95581951ab2cbfaed28f0ac7d71124ac0",
+   "sha256": "12vvh1z72bhvh4yhm0r7c3wl3iplf45qkdqk92xc0mp3zf9w6c5g"
   },
   "stable": {
    "version": [
@@ -62699,16 +62823,16 @@
   "repo": "noctuid/lispyville",
   "unstable": {
    "version": [
-    20200808,
-    2240
+    20210702,
+    2031
    ],
    "deps": [
     "cl-lib",
     "evil",
     "lispy"
    ],
-   "commit": "89316f01822b2135e52ca27fd308d207ef618052",
-   "sha256": "10k3hxxpx2v2k4dyad7j1bzmr1q7rzvv4y6c67pa9zcqyaw8m91v"
+   "commit": "9c14bed0359f659e246d345c706f895737c3d172",
+   "sha256": "1jlxcr9vikczhryw3xslfy6hzs2ikcf9khbwaw53ymwdxrmphcci"
   }
  },
  {
@@ -62944,8 +63068,8 @@
    "deps": [
     "s"
    ],
-   "commit": "29bb40a7150b6cfe1a96948ae1f36e9c107eb759",
-   "sha256": "1dznafcfwmd52jakkzzk3dhji55aal7hsfkglr3051fz8pkz7xfx"
+   "commit": "18d523d5b6a8cecc3e93c550d2ceab2d1035de02",
+   "sha256": "1d8dlb2xsqk88lac7f9n0y8ridkn6gfl5pb6sr2n66v9mq75j6rq"
   }
  },
  {
@@ -62985,11 +63109,11 @@
   "repo": "jingtaozf/literate-elisp",
   "unstable": {
    "version": [
-    20210605,
-    1238
+    20210612,
+    1056
    ],
-   "commit": "41f0946037b50323901ce708c1af82e59a334433",
-   "sha256": "1hjb1f835xq5jgq4s0dpr85vs5cap001lxv9n02l198gb2qppq6k"
+   "commit": "1a6465d4190491ddf927698554b13352a7babb3a",
+   "sha256": "1nbzrxfrz209dgnlhkqq9bpf2h678laac2wsrrmf9flw65dpafv9"
   },
   "stable": {
    "version": [
@@ -63082,11 +63206,11 @@
   "repo": "donkirkby/live-py-plugin",
   "unstable": {
    "version": [
-    20210413,
-    205
+    20210701,
+    1955
    ],
-   "commit": "c191b149f93ed473f3900e506cfc762d53145237",
-   "sha256": "0likjz2q0pbs3cbqczdfhh6k0c1j8y6j32cxkcpjm9wakp1vzxq2"
+   "commit": "db1f98cc470972f92d72f40b78db4baff5768edd",
+   "sha256": "1wgqcb4m5nzkbxkvdx801h9d1wqswlqmqbar4282wabgnw78zwwy"
   },
   "stable": {
    "version": [
@@ -63658,11 +63782,14 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20210601,
-    133
+    20210710,
+    228
    ],
-   "commit": "50494b545b9a909fc6570216230beda1ebeedf36",
-   "sha256": "0wag0hhpak0i1k2bmzz896jkpadrmacj1m0bbb3y7rrl9sw1dcqg"
+   "deps": [
+    "map"
+   ],
+   "commit": "f3f81affc88e6cb9efbc5440b26e081cffddd311",
+   "sha256": "0ibag71yz92abhbxsry3sby7g5361n4y7qac5myav2rj4bcjsl0n"
   }
  },
  {
@@ -63673,15 +63800,15 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20210601,
-    129
+    20210705,
+    2006
    ],
    "deps": [
     "dash",
     "loopy"
    ],
-   "commit": "50494b545b9a909fc6570216230beda1ebeedf36",
-   "sha256": "0wag0hhpak0i1k2bmzz896jkpadrmacj1m0bbb3y7rrl9sw1dcqg"
+   "commit": "f3f81affc88e6cb9efbc5440b26e081cffddd311",
+   "sha256": "0ibag71yz92abhbxsry3sby7g5361n4y7qac5myav2rj4bcjsl0n"
   }
  },
  {
@@ -63748,8 +63875,8 @@
   "repo": "emacs-lsp/lsp-dart",
   "unstable": {
    "version": [
-    20210601,
-    420
+    20210715,
+    1659
    ],
    "deps": [
     "dap-mode",
@@ -63760,14 +63887,14 @@
     "lsp-treemacs",
     "pkg-info"
    ],
-   "commit": "7ef909a1c9e0e1c924b43637899e0d53b0d1b00f",
-   "sha256": "1vsfs0jpk7fdfb3zmpxs3f7fy0s7d9b8jha5p7y6g0afhxz4iqn1"
+   "commit": "8481da68a9df4061bc2cd884a3b73c14e8fb4bea",
+   "sha256": "1accwvgwjp6j82i26788g3k9zc4al9xjw700cpdgsxw7mn6lkw8n"
   },
   "stable": {
    "version": [
     1,
-    18,
-    5
+    19,
+    1
    ],
    "deps": [
     "dap-mode",
@@ -63778,8 +63905,8 @@
     "lsp-treemacs",
     "pkg-info"
    ],
-   "commit": "90a06dfc23750c3861628256a4af4e3b00b2e23d",
-   "sha256": "1cabxsz7gbjywhsqjqp32vdgycg2mq21mdxvwbfcs6k0cf319dwh"
+   "commit": "8481da68a9df4061bc2cd884a3b73c14e8fb4bea",
+   "sha256": "1accwvgwjp6j82i26788g3k9zc4al9xjw700cpdgsxw7mn6lkw8n"
   }
  },
  {
@@ -63797,8 +63924,8 @@
     "dash",
     "lsp-mode"
    ],
-   "commit": "fa304ea402ac492e97bee14496a41afa8508cc5e",
-   "sha256": "0y0z4ind08jj93qsxgvi5zqa5f8lnamg8fv2dvkgipx1qvq25r4c"
+   "commit": "49a6bab0b1ad88d220305dbe3a0a14d368f62354",
+   "sha256": "1i3gywik5m9j797c69ng70bs28qdww9662sjl6y232rw19rya93b"
   }
  },
  {
@@ -63841,8 +63968,8 @@
   "repo": "emacs-grammarly/lsp-grammarly",
   "unstable": {
    "version": [
-    20210523,
-    403
+    20210715,
+    918
    ],
    "deps": [
     "grammarly",
@@ -63851,8 +63978,8 @@
     "request",
     "s"
    ],
-   "commit": "f34f0d50a91a82ab9c49e2cf5ddcb42a98cc2ede",
-   "sha256": "1hqilkbxa63gkl6sc8km6j0m4lxindf184c1zl91h4sfh4kg67zb"
+   "commit": "bb7fe5d70a3d21813858d93f70fe807beba99688",
+   "sha256": "143afkkfm7dvhlpl77j98hbm5fk2jsrrkxkx1dpn17mj74ijq0ix"
   },
   "stable": {
    "version": [
@@ -63879,15 +64006,15 @@
   "repo": "emacs-lsp/lsp-haskell",
   "unstable": {
    "version": [
-    20210209,
-    2150
+    20210621,
+    1334
    ],
    "deps": [
     "haskell-mode",
     "lsp-mode"
    ],
-   "commit": "7efbef3d206989faa8b691a4230a3ed872542187",
-   "sha256": "15xp3gjj9zdvxbhcgw21108s9y99rfmih5sqlk7f0m9hw5mqw4zm"
+   "commit": "eb37ac4a6a43277263bbb17aed6a862a0992ae8e",
+   "sha256": "04pcwcw5bq6hs0zr553sf9isbslp4pbahbch0yb0l472ihlbcxwh"
   }
  },
  {
@@ -63949,8 +64076,8 @@
   "repo": "emacs-lsp/lsp-java",
   "unstable": {
    "version": [
-    20210520,
-    1747
+    20210710,
+    1757
    ],
    "deps": [
     "dap-mode",
@@ -63962,8 +64089,8 @@
     "request",
     "treemacs"
    ],
-   "commit": "b6f14d8ae3cddcbacacf245aeef46e5407e5b401",
-   "sha256": "1xb051wgllmfm87bw4kiznfbsv54jqr9q02h2zy9np74n51q6jp7"
+   "commit": "b66a075bcb1edf57b09a0e1c73c3a399596d4760",
+   "sha256": "1s47y8hd9mnvz858h3sbdbdgrv3d1kdxag8flm44jla4yhgish7g"
   },
   "stable": {
    "version": [
@@ -64074,14 +64201,14 @@
   "repo": "ROCKTAKEY/lsp-latex",
   "unstable": {
    "version": [
-    20210607,
-    1206
+    20210608,
+    1330
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "a5de6b7166935af4a1e05d254fc1a44600518066",
-   "sha256": "0i5mbz7mwnax7jwv9c1bkwp5jwqrvwvh51fgwkmnz0kpjxhzfpsm"
+   "commit": "d1da153dbc762c5262f6e2a10264cc9075ebb6fc",
+   "sha256": "06vb7dxmjdc86zmv1i4qckx1isv0kvp5h0av2b4cnaci76bjh3s3"
   },
   "stable": {
    "version": [
@@ -64104,14 +64231,15 @@
   "repo": "emacs-languagetool/lsp-ltex",
   "unstable": {
    "version": [
-    20210405,
-    1702
+    20210715,
+    942
    ],
    "deps": [
+    "f",
     "lsp-mode"
    ],
-   "commit": "0fd8baec7e5f92d74b8b80d02c926d32332d86bd",
-   "sha256": "04jx5bknns1fyany1x8wzs6yx9qxzwrwj8m1iardxy8la3jp6ncd"
+   "commit": "b9a930757c71f7eb30a0828a502a237bfd882b43",
+   "sha256": "1hsq4jjz79bb1wl8m65n2zmx10mr8zc7dmg5sp6z6sprgyb3vndh"
   },
   "stable": {
    "version": [
@@ -64134,8 +64262,8 @@
   "repo": "emacs-lsp/lsp-metals",
   "unstable": {
    "version": [
-    20210529,
-    752
+    20210615,
+    1413
    ],
    "deps": [
     "dap-mode",
@@ -64147,8 +64275,8 @@
     "scala-mode",
     "treemacs"
    ],
-   "commit": "4c11fe47ef3c71a2fc7cd67a055ea0bc5883a0c6",
-   "sha256": "16laslmvsamvcn58gsi6hfs53p12q0nz7zx993ipa2xhy6n04hcg"
+   "commit": "9f82ebee48d32cd7bbc3e64b84d1ef5b0926195b",
+   "sha256": "1l4sxkmlif6dlh6j11fgy6z7hs4739jdcazm0y35cbhq9bspxsnx"
   },
   "stable": {
    "version": [
@@ -64178,8 +64306,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20210605,
-    1854
+    20210715,
+    1320
    ],
    "deps": [
     "dash",
@@ -64189,8 +64317,8 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "7b75d6bf01bed9ccb108cf1406d0e2af29d7e39b",
-   "sha256": "1lbb3bpizibpnw77bgdf8j2303gwh2133n8s518frmz6gcb7kz8s"
+   "commit": "cd47168035c98c6ebf9177705b9b7da53fcc9f5f",
+   "sha256": "1q1isn2g09pdczqdvbk5hjirym6106ip1z6klg1m2d5b9d8vx0l2"
   },
   "stable": {
    "version": [
@@ -64477,8 +64605,8 @@
   "repo": "emacs-lsp/lsp-treemacs",
   "unstable": {
    "version": [
-    20210502,
-    1804
+    20210618,
+    1722
    ],
    "deps": [
     "dash",
@@ -64487,8 +64615,8 @@
     "lsp-mode",
     "treemacs"
    ],
-   "commit": "f360d54fa68a00baec228d9582bc67c1a327d757",
-   "sha256": "0wbni6njz98c23pns4wxg4mq26zrvpyxh0qcz0a4l46zdn1962vm"
+   "commit": "905cc74726438cf06d8ad7cabb2efae75aeb2359",
+   "sha256": "0kh8yn80x1fgpcvrgj9bqmlhpnkxqsy57w8m06gws8lhlnrh4yk9"
   },
   "stable": {
    "version": [
@@ -64515,16 +64643,16 @@
   "repo": "emacs-lsp/lsp-ui",
   "unstable": {
    "version": [
-    20210604,
-    1158
+    20210708,
+    134
    ],
    "deps": [
     "dash",
     "lsp-mode",
     "markdown-mode"
    ],
-   "commit": "c4ffa7abf6706d591300c608c51d2b72178848ad",
-   "sha256": "1qr7is4k5w6dcfkcvg7crna6r26lqmb02v08i3yggq09qd01c08g"
+   "commit": "1ee371765612b7aaa6046aabdc2f65bcfcb93b11",
+   "sha256": "051hc6310zzn9qpvd9k8cj7ibzsk1k19l2485c5wra0fvm2lfa6x"
   },
   "stable": {
    "version": [
@@ -64550,11 +64678,11 @@
   "repo": "immerrr/lua-mode",
   "unstable": {
    "version": [
-    20201110,
-    1250
+    20210619,
+    652
    ],
-   "commit": "2d9a468b94acd8480299d47449b53136060b7b23",
-   "sha256": "1586k3friamcyfg1xszhkh1vaddrfxji1mn7rd7s8id8f7sp8mnv"
+   "commit": "2bd9077dd0405efc9276f612e24a345698c539c4",
+   "sha256": "0ldk6v7c3xamyhq6zwp2l79iyxfan0qmlycsvj39z3fljaz953z0"
   },
   "stable": {
    "version": [
@@ -64632,8 +64760,8 @@
     20210607,
     1130
    ],
-   "commit": "b5391e8dc088d95d8f131f49982d5c7cbaa23677",
-   "sha256": "08bfjg51ydznfk8w7hwznzyybl42mqa5l0pvb4xapqcq2na3d3yf"
+   "commit": "d158bb78029705a6ee848f8e00c09ba1f3575564",
+   "sha256": "1dkx6xas7dg07pgk4h3f7cdr6hmccw00qv3fi8l2vj462nd7cr5w"
   }
  },
  {
@@ -65002,8 +65130,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210531,
-    1524
+    20210716,
+    1440
    ],
    "deps": [
     "dash",
@@ -65012,14 +65140,14 @@
     "transient",
     "with-editor"
    ],
-   "commit": "4a8646a30df99bbafc95d4f21a0b2bf0a6f6566f",
-   "sha256": "0y3wzvyaxn5zybjak77r1cngaqqm462s3d4f1cwmzvrnpv99f3r9"
+   "commit": "bf9cc19a3287f6a3cc5c1836312f0d18b38b6e45",
+   "sha256": "0zjcvhjp4c01ibb1hshpqkib7fvjkmvh9xf06qfsm5ybdc04xik5"
   },
   "stable": {
    "version": [
     3,
-    0,
-    0
+    1,
+    1
    ],
    "deps": [
     "dash",
@@ -65028,8 +65156,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "c3bbc9b9425f3370690cabb11bd35b9040773fdc",
-   "sha256": "0dbp3gx43ipxv8zg9m0hfhksz85rnkikaq35rx705qqz6xq6xq9m"
+   "commit": "143d95cced1ee793106d16da3a182dcc2dd01e88",
+   "sha256": "0sn4iiicmqfqmvi7zwii6qdp35k09kqn36rpalv0w1i4jcm6j9kk"
   }
  },
  {
@@ -65099,8 +65227,8 @@
     "magit",
     "xterm-color"
    ],
-   "commit": "1164a6c3e501e944f1a6a2e91f15374a193bb8d3",
-   "sha256": "1a24qpqdk00prprm5s4gwfi1hvdljp2808rg33qaaa1087zdavqj"
+   "commit": "56cdffd377279589aa0cb1df99455c098f1848cf",
+   "sha256": "19q04y61hkzxkqw2xi1g7m4bwaxpfwza7if6cm41g72kdb8r68vb"
   }
  },
  {
@@ -65352,28 +65480,28 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210525,
-    814
+    20210702,
+    819
    ],
    "deps": [
     "libgit",
     "magit"
    ],
-   "commit": "4a8646a30df99bbafc95d4f21a0b2bf0a6f6566f",
-   "sha256": "0y3wzvyaxn5zybjak77r1cngaqqm462s3d4f1cwmzvrnpv99f3r9"
+   "commit": "bf9cc19a3287f6a3cc5c1836312f0d18b38b6e45",
+   "sha256": "0zjcvhjp4c01ibb1hshpqkib7fvjkmvh9xf06qfsm5ybdc04xik5"
   },
   "stable": {
    "version": [
     3,
-    0,
-    0
+    1,
+    1
    ],
    "deps": [
     "libgit",
     "magit"
    ],
-   "commit": "c3bbc9b9425f3370690cabb11bd35b9040773fdc",
-   "sha256": "0dbp3gx43ipxv8zg9m0hfhksz85rnkikaq35rx705qqz6xq6xq9m"
+   "commit": "143d95cced1ee793106d16da3a182dcc2dd01e88",
+   "sha256": "0sn4iiicmqfqmvi7zwii6qdp35k09kqn36rpalv0w1i4jcm6j9kk"
   }
  },
  {
@@ -65435,14 +65563,14 @@
   "repo": "dickmao/magit-patch-changelog",
   "unstable": {
    "version": [
-    20210607,
-    1635
+    20210616,
+    1302
    ],
    "deps": [
     "magit"
    ],
-   "commit": "5cd99a6336ad4b60e9e8ce766b8a9c0395289775",
-   "sha256": "17s5268kcqhgd141fvjqnn2wrny7v03yz940k2whr383l1253k6v"
+   "commit": "623d1a6a3bfa0f01bcaaffa13ad5ce5ae29cdb0a",
+   "sha256": "1dds83a6fcpakmhny5n3s4ibcvjba4p07pg8bpy37k32c704lw27"
   }
  },
  {
@@ -65521,26 +65649,26 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210525,
-    844
+    20210702,
+    822
    ],
    "deps": [
     "dash"
    ],
-   "commit": "4a8646a30df99bbafc95d4f21a0b2bf0a6f6566f",
-   "sha256": "0y3wzvyaxn5zybjak77r1cngaqqm462s3d4f1cwmzvrnpv99f3r9"
+   "commit": "bf9cc19a3287f6a3cc5c1836312f0d18b38b6e45",
+   "sha256": "0zjcvhjp4c01ibb1hshpqkib7fvjkmvh9xf06qfsm5ybdc04xik5"
   },
   "stable": {
    "version": [
     3,
-    0,
-    0
+    1,
+    1
    ],
    "deps": [
     "dash"
    ],
-   "commit": "c3bbc9b9425f3370690cabb11bd35b9040773fdc",
-   "sha256": "0dbp3gx43ipxv8zg9m0hfhksz85rnkikaq35rx705qqz6xq6xq9m"
+   "commit": "143d95cced1ee793106d16da3a182dcc2dd01e88",
+   "sha256": "0sn4iiicmqfqmvi7zwii6qdp35k09kqn36rpalv0w1i4jcm6j9kk"
   }
  },
  {
@@ -65818,8 +65946,8 @@
   "repo": "p3r7/magrant",
   "unstable": {
    "version": [
-    20210514,
-    1322
+    20210706,
+    1438
    ],
    "deps": [
     "dash",
@@ -65828,8 +65956,8 @@
     "tablist",
     "transient"
    ],
-   "commit": "79661be21cc8e9faf1ac93adb1f86f9b7a8b110d",
-   "sha256": "00hl22bl9cbivwdilzqrz9kf3qcixbc15x263cv1nn9ppba4arhw"
+   "commit": "6309c001355126e3ade79493479b517925943d17",
+   "sha256": "0fg4hi65qdix0lpfw29ymy2naskn2af661pzg695f47xhknsir1r"
   }
  },
  {
@@ -66145,8 +66273,8 @@
    "deps": [
     "manage-minor-mode"
    ],
-   "commit": "d377094c4ff5e93321e12f53892113083148bdaf",
-   "sha256": "0dpljs8qmpvpb0y2cvcr71ashzrm2ypb8p6anay4sjmiphkb60p5"
+   "commit": "ae46a80e27dc42913620ad78d7a84ece12643bd7",
+   "sha256": "16ygsxk5raa6p767jp6g5hmgsghq0dpk102g526d770iim5s8nlb"
   },
   "stable": {
    "version": [
@@ -66322,19 +66450,19 @@
   "repo": "minad/marginalia",
   "unstable": {
    "version": [
-    20210605,
-    1213
+    20210716,
+    1252
    ],
-   "commit": "4c6272ffc4836de052c8b06f681b0e700cb01602",
-   "sha256": "0l4sl4w4yq3hkpvvw7w1mh046f95bkg1c3av07kwk9cm038rwhvg"
+   "commit": "b5893884abeb6a355233edf54e0f63d04bc32ce2",
+   "sha256": "0cjabw0ia9rnb3idmv9s6i4izgklxkiax8zn5xw1c6n8ls5iwbqj"
   },
   "stable": {
    "version": [
     0,
-    6
+    7
    ],
-   "commit": "ca9a5e35913569d66d34193a87d8511b2bb9d2b2",
-   "sha256": "1lisns2vghmqlg8wiv6jy15cfgnc8j83khz0vfnmrjwgcmjw3bbz"
+   "commit": "9796fada769f44cb8e05914bd6be3fcc15d791e2",
+   "sha256": "0yn6dybvsdhr37hnadmbfqi7pf7scxr9z6a6ghsqbrghycddd0mc"
   }
  },
  {
@@ -66442,11 +66570,11 @@
   "repo": "jrblevin/markdown-mode",
   "unstable": {
    "version": [
-    20210530,
-    1825
+    20210710,
+    1646
    ],
-   "commit": "58f2d22526ac1e4abd4ee1afff8624d2dd3123d3",
-   "sha256": "1k17zpx05yafxfsw89dlkymqc5xajzv28qby12kdhwwlsbarqvd0"
+   "commit": "359347b2bb15f8d7ef819692ac79759ccfe2c85d",
+   "sha256": "1naqcg0a5shzcg0rlqs6w5mlr7sn0b8b2hmhs07qawvpxln8j628"
   },
   "stable": {
    "version": [
@@ -66516,16 +66644,16 @@
   "repo": "ardumont/markdown-toc",
   "unstable": {
    "version": [
-    20210515,
-    902
+    20210629,
+    931
    ],
    "deps": [
     "dash",
     "markdown-mode",
     "s"
    ],
-   "commit": "86a4a2b092b0f23b9edb3ee0ab7da483b7f10a5b",
-   "sha256": "0n1fzla3dkscz70fy81fsbiyi2hj7swjy7zvxprhn36jjkb6b5hf"
+   "commit": "f78cba9b5761c91058fed3a781bd3fed7f996e1f",
+   "sha256": "12dddxa14ppa7gaayify67w4sc6ncbc68wdg4madfqj7s71lnm45"
   },
   "stable": {
    "version": [
@@ -66657,8 +66785,8 @@
     20200720,
     1034
    ],
-   "commit": "d8e83b837bacdd45d274be42fe2d172fd1cbbba2",
-   "sha256": "1iy8vg2wlrzb01nc6sx21ijg62ak94k2x2w6gy56krp7frakacrv"
+   "commit": "67d19ed3d74c335a6a0e4798c98841c940ec911f",
+   "sha256": "04dyb3nn5rdgic1m74sv9wzxkfxvszk3sj2fnixp41dj3pvwwdwb"
   },
   "stable": {
    "version": [
@@ -66842,11 +66970,11 @@
   "url": "https://git.code.sf.net/p/matlab-emacs/src",
   "unstable": {
    "version": [
-    20210504,
-    1439
+    20210716,
+    1247
    ],
-   "commit": "c5824936cc7c2d24aeaac40010669f4eec89a239",
-   "sha256": "0rccwkglyw9hnab5mzhrzfrldlvi9c8ivygdh54jzfjlzcgwddv9"
+   "commit": "3fbc97b3f29c72b01812739536ed416e3e07e3c1",
+   "sha256": "0fhsp1g8mlh4ias1xgx0yjvh0g1khdy91pl474b2g0ffrml5ab73"
   }
  },
  {
@@ -67363,16 +67491,16 @@
   "repo": "DogLooksGood/meow",
   "unstable": {
    "version": [
-    20210606,
-    1056
+    20210622,
+    931
    ],
    "deps": [
     "cl-lib",
     "dash",
     "s"
    ],
-   "commit": "1cf2508f8e95311aa9ca405f899c3596cf8c2bc7",
-   "sha256": "12xzq9sxczjppqpx75bny2dp647m3f9ww6zf9a22rgmmspzkk5cx"
+   "commit": "174cb2fb5f1ae674a405667ed432cd6601f53656",
+   "sha256": "0ix0ph82j12v1x5bi9w643q0a9cik4yd02bmk5c919wnyfz1syy7"
   }
  },
  {
@@ -67383,11 +67511,11 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20210408,
-    1014
+    20210707,
+    901
    ],
-   "commit": "7d929be2e9c1ae1a32e680591c5a224a96198e47",
-   "sha256": "0gpis7r2c7sppk4fx6alq9g2asva71xj05fjjq60zg87paimfdx4"
+   "commit": "7c4c0a7018109b2b1bcbc3f6c1486961b223e658",
+   "sha256": "13cissjjkhfab7sgmwwmdcl3d5kn3qd2d6w9nmcw0yb8c59r1c0l"
   },
   "stable": {
    "version": [
@@ -67408,15 +67536,15 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20210409,
-    1323
+    20210615,
+    1208
    ],
    "deps": [
     "auto-complete",
     "merlin"
    ],
-   "commit": "7d929be2e9c1ae1a32e680591c5a224a96198e47",
-   "sha256": "0gpis7r2c7sppk4fx6alq9g2asva71xj05fjjq60zg87paimfdx4"
+   "commit": "7c4c0a7018109b2b1bcbc3f6c1486961b223e658",
+   "sha256": "13cissjjkhfab7sgmwwmdcl3d5kn3qd2d6w9nmcw0yb8c59r1c0l"
   },
   "stable": {
    "version": [
@@ -67441,15 +67569,15 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20210409,
-    1323
+    20210615,
+    1208
    ],
    "deps": [
     "company",
     "merlin"
    ],
-   "commit": "7d929be2e9c1ae1a32e680591c5a224a96198e47",
-   "sha256": "0gpis7r2c7sppk4fx6alq9g2asva71xj05fjjq60zg87paimfdx4"
+   "commit": "7c4c0a7018109b2b1bcbc3f6c1486961b223e658",
+   "sha256": "13cissjjkhfab7sgmwwmdcl3d5kn3qd2d6w9nmcw0yb8c59r1c0l"
   },
   "stable": {
    "version": [
@@ -67503,15 +67631,15 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20210409,
-    1323
+    20210615,
+    1208
    ],
    "deps": [
     "iedit",
     "merlin"
    ],
-   "commit": "7d929be2e9c1ae1a32e680591c5a224a96198e47",
-   "sha256": "0gpis7r2c7sppk4fx6alq9g2asva71xj05fjjq60zg87paimfdx4"
+   "commit": "7c4c0a7018109b2b1bcbc3f6c1486961b223e658",
+   "sha256": "13cissjjkhfab7sgmwwmdcl3d5kn3qd2d6w9nmcw0yb8c59r1c0l"
   },
   "stable": {
    "version": [
@@ -67607,11 +67735,11 @@
   "repo": "myTerminal/meta-presenter",
   "unstable": {
    "version": [
-    20190414,
-    1720
+    20210714,
+    1658
    ],
-   "commit": "704a2e0f2a3e6bb72578e00eccb772dfcf0670fc",
-   "sha256": "1hka4c87zdgqjawlmsfd7wi6rbc03qfp996ydrj84kz8saq7gf89"
+   "commit": "4ab48dacea245b223a0ffd2723ece746bd61c0af",
+   "sha256": "0na573lsgvzpfyam7bsc63lnsrd2acp9djbg3kpng999f2mlrx1r"
   },
   "stable": {
    "version": [
@@ -67777,11 +67905,11 @@
   "repo": "kazu-yamamoto/Mew",
   "unstable": {
    "version": [
-    20210416,
-    33
+    20210625,
+    240
    ],
-   "commit": "380d6059fa9f102e736969d086749980820a9e0e",
-   "sha256": "03fxicfl7yvxj6ac636544km1khhmrjqi97r0smwqfxvlm2gs037"
+   "commit": "fc4bca6d95d8b8d5e169ecf1433d968c2eec299d",
+   "sha256": "0lcy73df204ww4kmbkfz5cbpmdwbsn7z47j5by89izn14dczllvq"
   },
   "stable": {
    "version": [
@@ -67846,11 +67974,11 @@
   "repo": "purpleidea/mgmt",
   "unstable": {
    "version": [
-    20210131,
-    2152
+    20190324,
+    1908
    ],
-   "commit": "48fa796ab1669dc275b8c99238fff6c83ad2fcc6",
-   "sha256": "0rn7ahpj2kjkmy7gq4fj0n99af70xxxykyjqsza1nnizxfgmrpwj"
+   "commit": "6a7d904fae5014aabae8c91add220485108d485b",
+   "sha256": "0r0msrnbz9177cv1mlacsyd35k945nk2qaqm1f8ymgxa99zy124i"
   },
   "stable": {
    "version": [
@@ -68053,11 +68181,11 @@
   "repo": "muffinmad/emacs-mini-frame",
   "unstable": {
    "version": [
-    20210212,
-    2041
+    20210710,
+    1941
    ],
-   "commit": "41afb3d79cd269726e955ef0896dc077562de0f5",
-   "sha256": "0yghz9pdjsm9v6lbjckm6c5h9ak7iylx8sqgyjwl6nihkpvv4jyp"
+   "commit": "b07faabfec1b5ba545dc1cb961545cc1e9d78db0",
+   "sha256": "0b7znsgvycfx2brk782mi0n8i779n1r7pqwfq7s256rgi4fcyzap"
   }
  },
  {
@@ -68237,11 +68365,11 @@
   "repo": "tarsius/minions",
   "unstable": {
    "version": [
-    20210603,
-    2150
+    20210615,
+    1510
    ],
-   "commit": "aed285155dc8f073d766e752520ec599e77ce8b7",
-   "sha256": "1qxszcx9n1yfc9j9ihvrdwb57n19w03600z3v4z2ybxap1y0nq3v"
+   "commit": "1be68e8571336672d6cbec86246d1bf7844976be",
+   "sha256": "0lg704kwc851spp69745np8hsk0h6rl2hvfpid0j412278ds1qi8"
   },
   "stable": {
    "version": [
@@ -68438,8 +68566,8 @@
     20210601,
     2158
    ],
-   "commit": "db502020ffe6bc65576b93527a20c0bf3df562da",
-   "sha256": "0gw6xw38x8h72gbvhmddgzijs4xvkrgs6c7v552db56hrlsj9lhp"
+   "commit": "5ad0fd71634ac9dc6f97f653bc748f9fb58d80e4",
+   "sha256": "0fxk860dv8xqd5rfp4bw1pspm58c71mhac2xp2cxi1i2jrg272dn"
   },
   "stable": {
    "version": [
@@ -68843,15 +68971,15 @@
   "repo": "damon-kwok/modern-sh",
   "unstable": {
    "version": [
-    20200904,
-    1838
+    20210716,
+    148
    ],
    "deps": [
     "eval-in-repl",
     "hydra"
    ],
-   "commit": "05430398a5070245c4358e6a1b7e49a154da174e",
-   "sha256": "05k5ak09rw8zrn5k7zjc54ckv4jrp9fs3s3r3ja5cil45irgcmhv"
+   "commit": "8b11b67ac738cfd95babbcc7543467fd9190fc7e",
+   "sha256": "1y0y2fwyi1qi5k3nypdv51rfyf06f2q2c6ki5yz6bl82lhd0vb1l"
   }
  },
  {
@@ -68877,11 +69005,20 @@
   "repo": "SidharthArya/modular-config.el",
   "unstable": {
    "version": [
-    20200824,
-    442
+    20210629,
+    2319
+   ],
+   "commit": "222ed4aab718ebcc2944c6cca87ebc3370d5ac3c",
+   "sha256": "0bdh5akywlj3grwclkl4vk82iij2jlvinmcp3xbi973n7y9i4s49"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    3
    ],
-   "commit": "c0a6d3dac1aa176deb8417c77dfeac06e9f18e1f",
-   "sha256": "1pky409m3mip42k6qw4sf28ja50lsw17318kwgcrkl0nrvnbs31j"
+   "commit": "222ed4aab718ebcc2944c6cca87ebc3370d5ac3c",
+   "sha256": "0bdh5akywlj3grwclkl4vk82iij2jlvinmcp3xbi973n7y9i4s49"
   }
  },
  {
@@ -68892,20 +69029,20 @@
   "repo": "protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20210607,
-    917
+    20210716,
+    431
    ],
-   "commit": "a2c8796fcbcbdd332165e02476c6de5799996d31",
-   "sha256": "0p9yzj70kx3s740dl7k3vwwkr1g9zxsirwl83n1nvswc4csgv20j"
+   "commit": "9521dcec6c012d3776e3d05692720dd24922218b",
+   "sha256": "1m5ifpql8p0w4qk79n2n8wyrq1s7ys0yc8y0a09w1yyxjk6ay12k"
   },
   "stable": {
    "version": [
     1,
-    4,
+    5,
     0
    ],
-   "commit": "15c973f716378084a937e777f86182741fd9b697",
-   "sha256": "0p9yzj70kx3s740dl7k3vwwkr1g9zxsirwl83n1nvswc4csgv20j"
+   "commit": "b6fb7cda01a665f9369f2c6a29f3bf26c8cc8019",
+   "sha256": "1m5ifpql8p0w4qk79n2n8wyrq1s7ys0yc8y0a09w1yyxjk6ay12k"
   }
  },
  {
@@ -69239,11 +69376,11 @@
   "repo": "tarsius/moody",
   "unstable": {
    "version": [
-    20210522,
-    1100
+    20210615,
+    1511
    ],
-   "commit": "392c77174ace6c57921f237f41eaa4c3a83ac303",
-   "sha256": "0b4kg4dxy4ywwin96vz6x3rpvgr718y5rgrdarmwym9wv1qz0a0c"
+   "commit": "9d8b2f758098d19781c7c5cdaeda5785e41be039",
+   "sha256": "1z9pspjrpclxznc9d16lix1zc0yx520jx1nqjbxj3kcwfxzkbbl4"
   },
   "stable": {
    "version": [
@@ -69305,8 +69442,8 @@
   "repo": "ageldama/moonshot",
   "unstable": {
    "version": [
-    20200210,
-    2356
+    20210627,
+    2244
    ],
    "deps": [
     "cl-lib",
@@ -69318,8 +69455,8 @@
     "s",
     "seq"
    ],
-   "commit": "c9f363b1b5f2b92006e03116580540dadb7364ea",
-   "sha256": "0r6sn8f5la1sxw7af2h349p8p5ybmgpc7aisc96wjilp1zrmdh8v"
+   "commit": "ec37a12825888047a90d9ee8131aa4bea348edf7",
+   "sha256": "0vd9m2zs3rch361ykmf0l3fjsrk1rwlb7w1dc7zz3gwpb6nas845"
   }
  },
  {
@@ -69598,8 +69735,8 @@
     20210306,
     1053
    ],
-   "commit": "d031469630c70188c20598c0f3a3c3c46c6c7a14",
-   "sha256": "13mbkpzfdy136y5w6ns73qy1fsxwqzsvnnfcid2x7rrrqbxrcm5r"
+   "commit": "515b4f47c7f43816fce82cdf555107614e9e7edd",
+   "sha256": "1q39iy7g4f11nzhlsa1j8shrvhmg3ip2h43rxawhmypfwd95vzk1"
   },
   "stable": {
    "version": [
@@ -69725,8 +69862,8 @@
   "repo": "mpdel/mpdel",
   "unstable": {
    "version": [
-    20210107,
-    1303
+    20201026,
+    1123
    ],
    "deps": [
     "libmpdel",
@@ -70150,16 +70287,16 @@
   "repo": "lordpretzel/mu4e-views",
   "unstable": {
    "version": [
-    20210601,
-    1402
+    20210709,
+    150
    ],
    "deps": [
     "esxml",
     "ht",
     "xwidgets-reuse"
    ],
-   "commit": "c7f2398612218407e72b174f02b26cf2916eba22",
-   "sha256": "0irvzwfrrqzk8pcq1m3w9s21v2y0h6f5jrvsv88knz0ki1bdkbai"
+   "commit": "9fbe402dc5931ba9cafec581ac3e6d86e9a9f2da",
+   "sha256": "0a73izknp2nkzklkhf9wyxy38fnw4f1jyimdcnh14m1v5bcw2wal"
   },
   "stable": {
    "version": [
@@ -70256,14 +70393,14 @@
   "repo": "ReanGD/emacs-multi-compile",
   "unstable": {
    "version": [
-    20210604,
-    140
+    20210620,
+    48
    ],
    "deps": [
     "dash"
    ],
-   "commit": "948ee25878c509d0f9ba8715b209eae79143b76e",
-   "sha256": "0lgp64pgblidm4jyr3wlv5xq2x81znzi0xvqm8h0f8af9jzl2b38"
+   "commit": "65699ac6a2f787a07908466e1cbfe3333ace7532",
+   "sha256": "05h4rh5g8kqz8sl31r8800rkrcv9ir6jh6qr38qwj1zrcd77zk02"
   }
  },
  {
@@ -70325,8 +70462,8 @@
   "repo": "sagarjha/multi-run",
   "unstable": {
    "version": [
-    20210108,
-    336
+    20190507,
+    2349
    ],
    "deps": [
     "window-layout"
@@ -70383,8 +70520,8 @@
     "project",
     "vterm"
    ],
-   "commit": "8f385a0aa1ad7a279acc9276913955ef165e7ac7",
-   "sha256": "0anipknf7bfzygjkynq81ndspnfsqwx7l1i7chkfgfygqyq5486y"
+   "commit": "934397efd2e78a6b83d2b06ef4e4c281c0ae3c65",
+   "sha256": "0cz3zs9xd2zbyb9g9r4r893kl9nqk8i9l0zy66s500iy5522vcnh"
   }
  },
  {
@@ -70497,26 +70634,26 @@
   "repo": "zevlg/multitran.el",
   "unstable": {
    "version": [
-    20200201,
-    55
+    20210701,
+    2153
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "475e2a92795dbed1aa3b1c5eba2c6c779cac4508",
-   "sha256": "0nl4cm1nx7lmb2gd76jw8v0hqdfjjcwy0xskpi0brd8z6dp1m5n3"
+   "commit": "c34536186088f29d4e85631825e7c6d557a8d0fa",
+   "sha256": "0iqkgs3rrkhbj2mind4aa4qv7bf7vflnkdysd39b50jbwd7rv4fx"
   },
   "stable": {
    "version": [
     0,
     4,
-    10
+    11
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "258b1232af6680396b6c0912597ed52e583326f4",
-   "sha256": "08b9a0pb38swgvg2v97pm4g2zda0xagdgq42znwhkmhzjiskh2g1"
+   "commit": "c34536186088f29d4e85631825e7c6d557a8d0fa",
+   "sha256": "0iqkgs3rrkhbj2mind4aa4qv7bf7vflnkdysd39b50jbwd7rv4fx"
   }
  },
  {
@@ -70828,14 +70965,14 @@
   "repo": "mallt/mysql-to-org-mode",
   "unstable": {
    "version": [
-    20200602,
-    2019
+    20210622,
+    447
    ],
    "deps": [
     "s"
    ],
-   "commit": "f3afc506f8b0d037238e49290de4b028c6ad9dd1",
-   "sha256": "19g21zvvamlhy1yrqhqbd1x3km6q2m650xsvl613rpcdqsk8l2ic"
+   "commit": "c5eefc71200f2e1d0d67a13ed897b3cdfa835117",
+   "sha256": "1ll7n8gxmzk7grlwh5igbxh7lvf7c08hi1xir2n0fj9wyzd432ny"
   },
   "stable": {
    "version": [
@@ -71257,11 +71394,11 @@
   "repo": "rolandwalker/nav-flash",
   "unstable": {
    "version": [
-    20210510,
-    2035
+    20210711,
+    217
    ],
-   "commit": "d76314802273153c2c38156250d75f95ca352482",
-   "sha256": "006ghb4xrpp82wlshqmpsj0yh5vq8il6wl5v8f1cyy1vd21yl285"
+   "commit": "55786c9582410a5637b5635fea022aae564205cd",
+   "sha256": "0pj92h241k17hvlx7x0nx2hnjg6vyz65sa4ghyqhwa7mdn0c12pi"
   },
   "stable": {
    "version": [
@@ -71921,8 +72058,8 @@
     20181024,
     1439
    ],
-   "commit": "8fa4d05fea5140f80ff5f4629d19c6ce0d6f5cca",
-   "sha256": "0dn53fjq4dl8szpjqxn91md0xvr4sa458j1p0w8vgskc0iibzn4c"
+   "commit": "c8f8f2a9e3016ab7a9ecb2e8b084cf441f3ae88e",
+   "sha256": "1nj7w0dgvhmqy5hkdn0idf468x7s2h2y5372j13w3x1fkdcnyln8"
   },
   "stable": {
    "version": [
@@ -72020,11 +72157,14 @@
   "repo": "NixOS/nix-mode",
   "unstable": {
    "version": [
-    20210523,
-    326
+    20210706,
+    2217
+   ],
+   "deps": [
+    "f"
    ],
-   "commit": "e4844f7a711c8d7dceb82b6b841a1e8485e12586",
-   "sha256": "0g05qa926xkayd79n2zi9ypd4m5245jjxwv2vp4hqn2cl76pnpak"
+   "commit": "3cca5b6527a69c4701394f424726282a1462ede3",
+   "sha256": "1cf88v8hbcn2kcyh4bv74yhpp7jf4r80zf3pzfw6cqvrgx19px2k"
   },
   "stable": {
    "version": [
@@ -72255,18 +72395,19 @@
   "repo": "dickmao/nnreddit",
   "unstable": {
    "version": [
-    20201130,
-    39
+    20210708,
+    43
    ],
    "deps": [
     "anaphora",
     "dash",
     "json-rpc",
     "request",
+    "s",
     "virtualenvwrapper"
    ],
-   "commit": "cf6bc58bff8bb8e2e3c4d681d2657b561573b2dc",
-   "sha256": "1cgw4vmffp08csf48gghfsm73h8yaai4k2kpgf213d6zqbxz9w5z"
+   "commit": "60bf11fdba8ff56b6b4b21f5f0c04953834d8a14",
+   "sha256": "1b6i4kwjb81s7x56g7xmkynryw8xzrpbbkfy03597ka0v0n8i717"
   }
  },
  {
@@ -72312,14 +72453,14 @@
   "repo": "emacscollective/no-littering",
   "unstable": {
    "version": [
-    20210605,
-    1753
+    20210619,
+    2158
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "a6c8e0575766eb573a7add103836d578bd205962",
-   "sha256": "1r8rarcp0q0rl19kc6q7lll0djkvf3iw17rrsjswsq3z9fyq8iyr"
+   "commit": "b12a85a5afff7b5d60f889c1c2e8f5deab7fdbae",
+   "sha256": "193kyvj2f3zgb39shhcf2qk33rzbp8qp9mkc9p0cvnrc517h6y5r"
   },
   "stable": {
    "version": [
@@ -72510,8 +72651,8 @@
   "repo": "esessoms/nofrils-theme",
   "unstable": {
    "version": [
-    20180620,
-    1248
+    20180227,
+    2153
    ],
    "commit": "98ad7bfaff1d85b33dc162645670285b067c6f92",
    "sha256": "0f8s7mhcs1ym4an8d4dabfvhin30xs2d0c5gv875hsgz8p3asgxs"
@@ -72617,20 +72758,20 @@
   "url": "https://git.notmuchmail.org/git/notmuch",
   "unstable": {
    "version": [
-    20210605,
-    1839
+    20210713,
+    1255
    ],
-   "commit": "6f0f83660e222cfdd05b05ad134763a7ab26f097",
-   "sha256": "0rs37inh95c1r91mjjwf1kssmxq8mliblzvdjypijps13fxk7m60"
+   "commit": "d8a5fba4fe1efd7d0d652ead6d55371bc4078a9d",
+   "sha256": "138wxhawdp8nllpvmrgll4nvn5by3hsp0zy4gywf6nalr0d1wdld"
   },
   "stable": {
    "version": [
     0,
     32,
-    1
+    2
    ],
-   "commit": "b580009e2bc69efb019983bf2f7dc5052c19545a",
-   "sha256": "06r0hdz8mxnzag74md62a9m6c2zm0fxn45n4n1c26j5cmrys7j16"
+   "commit": "af56f3bcdc8a644564a1182f58bd311907193a4a",
+   "sha256": "1f0xccc51z2fijj4cyx4pcxmam9pygq0z1rb4zrybz1vpsr7zrvk"
   }
  },
  {
@@ -72700,14 +72841,14 @@
   "url": "https://git.sr.ht/~tarsius/notmuch-maildir",
   "unstable": {
    "version": [
-    20210416,
-    1043
+    20210615,
+    1513
    ],
    "deps": [
     "notmuch"
    ],
-   "commit": "e34c470521e83c3100f0d6eb9e7402ae35e19321",
-   "sha256": "0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q"
+   "commit": "fd0e2199da746906eca080d4ca5bca17068cdce5",
+   "sha256": "1fqnx6hhg0cqj82yjpl7llg6vvppc3y8q9k6g67mqr7z3712bw0x"
   },
   "stable": {
    "version": [
@@ -72801,8 +72942,8 @@
   "repo": "shaneikennedy/npm.el",
   "unstable": {
    "version": [
-    20210601,
-    1122
+    20200812,
+    1850
    ],
    "deps": [
     "jest",
@@ -73121,15 +73262,15 @@
   "repo": "douglasdavis/numpydoc.el",
   "unstable": {
    "version": [
-    20210523,
-    1746
+    20210616,
+    1532
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "dcbc06429084e209f081a8c6318b46c1c9ff7309",
-   "sha256": "0bggm5ssxpj49km8q8z9hj351garl1xydz1dya7r0yvz12y6wn5g"
+   "commit": "9209d52ddf43eddc983763b77f6932be61982475",
+   "sha256": "1sx7jj9w20gxxsqx5wa9m6da0971qp8mgp76hpdc1crqrx1mj55b"
   },
   "stable": {
    "version": [
@@ -73365,8 +73506,8 @@
    "deps": [
     "axiom-environment"
    ],
-   "commit": "ac8228a702290732ba12c5d13b38576a57afb0d6",
-   "sha256": "1nrlgrckvh2fiwis9bmr95h2bpxfkz1nknxdz61380f2caqwwhw7"
+   "commit": "7d72e6319b98b334f74b78f3d4151e92fb7dcbad",
+   "sha256": "1hwcndb1x3i51l0kvzk4mj6sil8h10mxmazic9zvwjhia9qz9hz3"
   }
  },
  {
@@ -74199,6 +74340,25 @@
   }
  },
  {
+  "ename": "ob-swiftui",
+  "commit": "ed83f297fcccfc44be9d1a20f3b96071dd7b8a58",
+  "sha256": "0hxdacxqxqkjl6gi2j909vymjnnlpv8zsmlxw3r7g5i8f468d4qr",
+  "fetcher": "github",
+  "repo": "xenodium/ob-swiftui",
+  "unstable": {
+   "version": [
+    20210618,
+    856
+   ],
+   "deps": [
+    "org",
+    "swift-mode"
+   ],
+   "commit": "31cfe991eb171bb0d2f53cf621be1b9d91573ac3",
+   "sha256": "1l2n4ijf3sfgj05xzvnb1cd9k24ynh2cg36yj386bq7kadamympc"
+  }
+ },
+ {
   "ename": "ob-tmux",
   "commit": "a3f47fbfe745972e690e8028f893bb38ba30978d",
   "sha256": "12c0m2xxd75lbc98h7cwprmdn823mh2ii59pxr6fgnq7araqkz20",
@@ -74416,20 +74576,20 @@
   "repo": "ocaml-ppx/ocamlformat",
   "unstable": {
    "version": [
-    20210601,
-    901
+    20210617,
+    1726
    ],
-   "commit": "be14af363e9338e86173c2d96732f59b3c76e73e",
-   "sha256": "10q2xd4mqdi9h6dbjfx5081l8sc025rgkxsz9hwm93yrb5xw1rwd"
+   "commit": "ba67af28ddca8718ef8816b2b0dc1e5b2f5e9591",
+   "sha256": "0dp4pkznz9yvqx9gxwbid1z2b8ajkr8i27zay9ghx69624hz3i4z"
   },
   "stable": {
    "version": [
     0,
-    18,
+    19,
     0
    ],
-   "commit": "3697f0f92854a681fd1156fe4f6fb97d060da1d8",
-   "sha256": "0n6363km8xr81pvyk453n6h2mb0256c5yxw3p1li4dn83f3lwxr1"
+   "commit": "ba67af28ddca8718ef8816b2b0dc1e5b2f5e9591",
+   "sha256": "0dp4pkznz9yvqx9gxwbid1z2b8ajkr8i27zay9ghx69624hz3i4z"
   }
  },
  {
@@ -74613,26 +74773,26 @@
   "repo": "oer/oer-reveal",
   "unstable": {
    "version": [
-    20210521,
-    1311
+    20210623,
+    653
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "fe1feb913bf69b1e854053e3f07026c14c6c91dc",
-   "sha256": "0w4x18srwhznd4xicr2sk7m3lhzgw6pyza7skar5i4n7y30q38xp"
+   "commit": "e828f86ee607de487cb60393b41c6919d0b66356",
+   "sha256": "0m3s68n31whryzwjz8iyd9mdzvdm2r9rh9cwlw8br5qh40jbl67b"
   },
   "stable": {
    "version": [
     3,
     20,
-    1
+    2
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "fe1feb913bf69b1e854053e3f07026c14c6c91dc",
-   "sha256": "0w4x18srwhznd4xicr2sk7m3lhzgw6pyza7skar5i4n7y30q38xp"
+   "commit": "26d6d8946ddd5f71954564f26e63f6b5f1e9c0aa",
+   "sha256": "0m3s68n31whryzwjz8iyd9mdzvdm2r9rh9cwlw8br5qh40jbl67b"
   }
  },
  {
@@ -74676,6 +74836,38 @@
   }
  },
  {
+  "ename": "ol-notmuch",
+  "commit": "b6d136b1033d9afdea965ab07ba7c05e9ecf56e5",
+  "sha256": "1hsc5xj9mj3p1fz4svwqam5gxhcnfrpx5s97c4rzf8fq0cnf5pd1",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~tarsius/ol-notmuch",
+  "unstable": {
+   "version": [
+    20210530,
+    2054
+   ],
+   "deps": [
+    "notmuch",
+    "org"
+   ],
+   "commit": "126fb446d8fa9e54cf21103afaf506fd81273c02",
+   "sha256": "1pkb333m1rryhxf26p8661y7w9fnsaarn0qkzys1pyfj09q9rsmj"
+  },
+  "stable": {
+   "version": [
+    2,
+    0,
+    0
+   ],
+   "deps": [
+    "notmuch",
+    "org"
+   ],
+   "commit": "126fb446d8fa9e54cf21103afaf506fd81273c02",
+   "sha256": "1pkb333m1rryhxf26p8661y7w9fnsaarn0qkzys1pyfj09q9rsmj"
+  }
+ },
+ {
   "ename": "olc",
   "commit": "1e21abd021d72c491ed1503146c51761e18c56c4",
   "sha256": "0kcqwnhhy5wa0r61yqg9gly9jd6b1846q2w43fmhzk3l4nzky32r",
@@ -75328,11 +75520,11 @@
   "repo": "oantolin/orderless",
   "unstable": {
    "version": [
-    20210603,
-    1335
+    20210613,
+    1723
    ],
-   "commit": "e85084e733d6eb50893974fc5fd569b944a5010c",
-   "sha256": "1lmjmp0iwp8n9nrqvygav7y2fxxwqpv4kk2wy2gg4bi056arbx5a"
+   "commit": "2646dad28c0819fbe9ee521d39efb9ae40e03982",
+   "sha256": "0vxfinsx69fqpcgbsv6g26klim3yasds3ha9v3xkk32y9sb783lr"
   },
   "stable": {
    "version": [
@@ -75491,26 +75683,26 @@
   "repo": "eyeinsky/org-anki",
   "unstable": {
    "version": [
-    20210603,
-    1352
+    20210628,
+    2141
    ],
    "deps": [
     "request"
    ],
-   "commit": "03c1ca90a7f2583074f020619c7cb92a783fb375",
-   "sha256": "1pwgs9xm6i0cqhrwpl60y3xbd0k64nr48kfa83x3yk9x38i6ddp0"
+   "commit": "8cc47ecef5d90d4f0f2bba669bbd89f88fda4be1",
+   "sha256": "11a44kfbpa2w54kqqc9mg3bzz0p0jrdjsz8l9sn11irl8xlgrm67"
   },
   "stable": {
    "version": [
     0,
     0,
-    2
+    3
    ],
    "deps": [
     "request"
    ],
-   "commit": "03c1ca90a7f2583074f020619c7cb92a783fb375",
-   "sha256": "1pwgs9xm6i0cqhrwpl60y3xbd0k64nr48kfa83x3yk9x38i6ddp0"
+   "commit": "8cc47ecef5d90d4f0f2bba669bbd89f88fda4be1",
+   "sha256": "11a44kfbpa2w54kqqc9mg3bzz0p0jrdjsz8l9sn11irl8xlgrm67"
   }
  },
  {
@@ -75521,14 +75713,14 @@
   "repo": "awth13/org-appear",
   "unstable": {
    "version": [
-    20210605,
-    904
+    20210709,
+    949
    ],
    "deps": [
     "org"
    ],
-   "commit": "cf87546d6458d36492a89661a1e097e5596aa26a",
-   "sha256": "18p8s0syqhqpk21ylbk8np3srknhi4ckxfxn7i4jkscsy8282lcb"
+   "commit": "148aa124901ae598f69320e3dcada6325cdc2cf0",
+   "sha256": "0scj53w5kk62k294s7pfr15wqiiwvlprxhnmkrjmfx2gwyb1yh9i"
   }
  },
  {
@@ -75753,14 +75945,14 @@
   "repo": "Kungsgeten/org-brain",
   "unstable": {
    "version": [
-    20210515,
-    1814
+    20210706,
+    1519
    ],
    "deps": [
     "org"
    ],
-   "commit": "a9ca42cb8d1325a4e928716384a0bdb53ea2ad41",
-   "sha256": "0gp00wbp56g58fz6x4w70lhhwyy3ffxj8hhf5qfrz1wg264n23jy"
+   "commit": "46ca9f766322cff31279ecdf02251ff24a0e9431",
+   "sha256": "0bj08f5mg9v0xm2awbv1fxv98jj9scvqss6fmw0lzix6s3112z25"
   }
  },
  {
@@ -76309,8 +76501,8 @@
    "deps": [
     "web-server"
    ],
-   "commit": "b4f97edf4150870b84d7ee8508088c0d375eaa83",
-   "sha256": "124fq9k7qmjvn5hp9i2b4xmrm9z18zhbc9j1rv68wpdqf0kqxkcd"
+   "commit": "6e4d328afac1195fa7f831c6d41ae966b5d75a16",
+   "sha256": "0igx916wk9xc74h6zm8dz3h5007izrp2jdm4pdm2r4bcp1ybnk05"
   }
  },
  {
@@ -76442,26 +76634,20 @@
   "repo": "io12/org-fragtog",
   "unstable": {
    "version": [
-    20210514,
-    1608
-   ],
-   "deps": [
-    "org"
+    20210713,
+    551
    ],
-   "commit": "bed49744ed27ff205539a14fd51e2977852c49e5",
-   "sha256": "0cw8903nw0mrn9kppwlypsb6h9m54zrb6y969yj0gnkza6gqy36c"
+   "commit": "479e0a1c3610dfe918d89a5f5a92c8aec37f131d",
+   "sha256": "02g4a5lsmalc5mcybimx7ils43w3ac6269n9kzcnw59bj0i5kkcj"
   },
   "stable": {
    "version": [
     0,
     3,
-    2
-   ],
-   "deps": [
-    "org"
+    3
    ],
-   "commit": "bed49744ed27ff205539a14fd51e2977852c49e5",
-   "sha256": "0cw8903nw0mrn9kppwlypsb6h9m54zrb6y969yj0gnkza6gqy36c"
+   "commit": "479e0a1c3610dfe918d89a5f5a92c8aec37f131d",
+   "sha256": "02g4a5lsmalc5mcybimx7ils43w3ac6269n9kzcnw59bj0i5kkcj"
   }
  },
  {
@@ -76641,21 +76827,21 @@
   "repo": "marcIhm/org-id-cleanup",
   "unstable": {
    "version": [
-    20210326,
-    1711
+    20210714,
+    1604
    ],
    "deps": [
     "dash",
     "org"
    ],
-   "commit": "2cb87624238281b438cda67ed375c56403524489",
-   "sha256": "1xmbrrp1zyvij18v3rqmini6w9i6v7dl4fp103ph6wznav8x0jbl"
+   "commit": "416c95fc9ad8551f1d9544f2504c866daac5477e",
+   "sha256": "189zzfi5a1qsjm8ayq5v58s5iagibv2vk6rb6zda4p0hrmnfz2ky"
   },
   "stable": {
    "version": [
     1,
-    6,
-    1
+    7,
+    0
    ],
    "deps": [
     "dash",
@@ -76697,30 +76883,30 @@
   "repo": "marcIhm/org-index",
   "unstable": {
    "version": [
-    20210602,
-    358
+    20210709,
+    1801
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "40716a4cfd36304b4a16977020b1e82870faec15",
-   "sha256": "1wncx69rqlvx9pnr5mlwn9i00nrfhi1icxv0zpc7z2kzf03wn930"
+   "commit": "4abf3a90503d1837782a35759066ffa7ec7dea55",
+   "sha256": "0409n80whcpkgcmhqrywgcj5d6fhqv67dyw4spg54hv9dn1p47zd"
   },
   "stable": {
    "version": [
     7,
-    2,
-    1
+    3,
+    0
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "1ee39e4f8616199ad8e5cb6b2d6b410e75857ecd",
-   "sha256": "06mf8s68mw6fcdpvdddcvy2x8z6zyisfvgh4sdrpz2z5j03v7qd7"
+   "commit": "4abf3a90503d1837782a35759066ffa7ec7dea55",
+   "sha256": "0409n80whcpkgcmhqrywgcj5d6fhqv67dyw4spg54hv9dn1p47zd"
   }
  },
  {
@@ -76780,16 +76966,16 @@
   "repo": "ahungry/org-jira",
   "unstable": {
    "version": [
-    20210527,
-    1629
+    20210622,
+    130
    ],
    "deps": [
     "cl-lib",
     "dash",
     "request"
    ],
-   "commit": "a01f0453667f9baccf0b8a514e9c9f0a9fb9fb6e",
-   "sha256": "1gn2sflvcc4gvgci3m12d16mjrwxywrd8vvrs7s87k0cf7yl74vf"
+   "commit": "f4599dd5dfd7f97a22ca98502f809a8d14551c09",
+   "sha256": "0i8rqila62qamv3mxh66g678kbang3sxjbf3x70nmrx7fyy2m2jv"
   },
   "stable": {
    "version": [
@@ -76814,14 +77000,14 @@
   "repo": "bastibe/org-journal",
   "unstable": {
    "version": [
-    20210326,
-    1207
+    20210714,
+    911
    ],
    "deps": [
     "org"
    ],
-   "commit": "5f253a880e1919ef4b98f0d91f271a8b522eaae5",
-   "sha256": "1cirbb5x29qnf59qkcfsjw467xx02vl4f17iqd4qqxwaarwkyq30"
+   "commit": "6c3a2fdb6c85253a32992a29edb976407bad4d77",
+   "sha256": "0rxrsqj3a8qchjhm9kb37zd9h1h1lcqfg2gwsgab74rfyfgf9ryd"
   },
   "stable": {
    "version": [
@@ -76933,14 +77119,14 @@
   "repo": "stardiviner/org-link-beautify",
   "unstable": {
    "version": [
-    20210222,
-    227
+    20210704,
+    2214
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "4662b3a7b9244aa35aae2f469f87be4a44a6b1bb",
-   "sha256": "1wb00rm6zdlb8hrhph783wi8zjra8m09gi6m2nnfr37al3986g0s"
+   "commit": "40d40c1e6187ec9c13292beb3f7f319f189264d8",
+   "sha256": "0253i9hvq9yki97jmdrvbv82xbgdrq76l73frq6xbbzzhw6615m6"
   }
  },
  {
@@ -77011,14 +77197,14 @@
   "repo": "dfeich/org-listcruncher",
   "unstable": {
    "version": [
-    20210503,
-    802
+    20210706,
+    1741
    ],
    "deps": [
     "seq"
    ],
-   "commit": "50c06445a837c6677da035f72dbe0f973d9e10a7",
-   "sha256": "1nw5wd781a5nh5csvsr6ycjpji66k8vkvw8z1sfa0p8xsbln9rk9"
+   "commit": "075e0e6d36eb50406a608bc8a2f0dd359ec63938",
+   "sha256": "133smvw9iaxg0p3y5wl0rc4fwwgbxgw6hxngpmar8qf4grwy4w27"
   }
  },
  {
@@ -77111,30 +77297,30 @@
   "repo": "ndwarshuis/org-ml",
   "unstable": {
    "version": [
-    20210328,
-    1655
+    20210627,
+    1623
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "9d8c26d12c972a60b94bcc3b364d857db997cfa3",
-   "sha256": "102lrlf25i30xbpszr1mh6mkxd6wwgbwg32dafccxm4dmj3v9hqq"
+   "commit": "e14205312c54a1c97491c7f847d296b09f5f57b0",
+   "sha256": "030fsgdp8cg2h8mlxq6769l158pqcwnv4r3bl36lpjs950lv9pas"
   },
   "stable": {
    "version": [
     5,
-    6,
-    2
+    7,
+    0
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "5aeed6d0f7f878b20483975200df43b6fc7f32f9",
-   "sha256": "102lrlf25i30xbpszr1mh6mkxd6wwgbwg32dafccxm4dmj3v9hqq"
+   "commit": "e14205312c54a1c97491c7f847d296b09f5f57b0",
+   "sha256": "030fsgdp8cg2h8mlxq6769l158pqcwnv4r3bl36lpjs950lv9pas"
   }
  },
  {
@@ -77541,17 +77727,16 @@
   "repo": "org-pivotal/org-pivotal",
   "unstable": {
    "version": [
-    20200607,
-    1505
+    20210705,
+    408
    ],
    "deps": [
     "a",
     "dash",
-    "dash-functional",
     "request"
    ],
-   "commit": "125e70f9a682751e4ed7c3a350b2794af9600f47",
-   "sha256": "1w91wb6l3vsri015awig1kfs986zf49466x4ni0m24hcg00n2m7n"
+   "commit": "6403cefb8440567fc593a8d267536138cd6165e2",
+   "sha256": "0a95gnvgfvj3f9xy5hl4d7367j8sfysf5ghnz6hxiz6ilhngfnz7"
   }
  },
  {
@@ -77594,14 +77779,14 @@
   "repo": "rlister/org-present",
   "unstable": {
    "version": [
-    20200204,
-    1647
+    20210619,
+    1614
    ],
    "deps": [
     "org"
    ],
-   "commit": "9709ca2d04a59959354222ac4d3f8b750785739a",
-   "sha256": "08f8gh2zg4gr4d5ajlcnlj2lsp8nywni4mhw4w4nfa4dwyq7mxgv"
+   "commit": "5010b90fd09f484268f731b855d394deb8b5fc3d",
+   "sha256": "0k8l7qmxbxbzc4g0xh4ipssls78fky0cq2lg3864qdli820wzy5b"
   }
  },
  {
@@ -77655,14 +77840,14 @@
   "repo": "lujun9972/org-preview-html",
   "unstable": {
    "version": [
-    20180625,
-    619
+    20210623,
+    1523
    ],
    "deps": [
     "org"
    ],
-   "commit": "8ba7ecd7ac624f33b3e2395f477bbff4f1ec4efe",
-   "sha256": "1h46v0ckhfzv3fixcfxk7pkmh56c5lana8kpwiknm447q1wmlbx4"
+   "commit": "3fe7dd85b8a7dc4ead7495095a3abaad28e2f809",
+   "sha256": "1vih94z3k8qz2vkzvcqbxpipijsxyfn2kvimylfwjrfbkrmvigsp"
   }
  },
  {
@@ -77767,12 +77952,11 @@
   "repo": "alphapapa/org-ql",
   "unstable": {
    "version": [
-    20201213,
-    1358
+    20210713,
+    233
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "f",
     "map",
     "org",
@@ -77783,13 +77967,14 @@
     "transient",
     "ts"
    ],
-   "commit": "208e103ecc146db71d878df3bd09c6eb60c2797d",
-   "sha256": "09vdndp3935iy4flynbjpkvfax7vs1ppswl19wx4nn2rp7hdz8kp"
+   "commit": "94f9e6f3031b32cf5e2149beca7074807235dcb0",
+   "sha256": "022arhyyn8hbb1hzjkv4gl3dr8lz1gv0x4h70x0970bsbqlsa27w"
   },
   "stable": {
    "version": [
     0,
-    5
+    5,
+    2
    ],
    "deps": [
     "dash",
@@ -77804,8 +77989,8 @@
     "transient",
     "ts"
    ],
-   "commit": "3924b023e0f1e8fa93cfa79bdd71f9f0c0fb4679",
-   "sha256": "14nsy2dbln3m5bpqzyfqycn18sb3qh407hjbkk1l0x2nqs3lrkqn"
+   "commit": "d3b0ef2f5194452d88bf23ec31ebfef822c47c24",
+   "sha256": "0b3xxnbhnrz0263fnrrdbs3gif4pjkfws4mxkfqqpg0fc8azp2rx"
   }
  },
  {
@@ -77891,8 +78076,8 @@
     "htmlize",
     "org"
    ],
-   "commit": "4538c06fab9a7259aa1fb40e93a43dcfacef27c1",
-   "sha256": "1w6zvgfcyjqlxy4s13h7w66vv0fcid57s6vigzgnzi666w86fdyh"
+   "commit": "cf000894f6e5d0627151e2bec5b1a54a311ad53e",
+   "sha256": "1lfvhc4gly06rq5i2fgjydg4rsy7vgksa8hpydsvklr0ypvc1hcc"
   },
   "stable": {
    "version": [
@@ -78159,8 +78344,8 @@
   "repo": "org-roam/org-roam",
   "unstable": {
    "version": [
-    20210513,
-    804
+    20210609,
+    1221
    ],
    "deps": [
     "dash",
@@ -78170,8 +78355,8 @@
     "org",
     "s"
    ],
-   "commit": "8ad141403065bebd5a72f0ef53cf5ef8f2034419",
-   "sha256": "126s444r0baylrmxw1z0lkbx7f40srk3wwk55li7is225qz2jlmb"
+   "commit": "756f6215b672e267f986a3d6e494f5309825b91a",
+   "sha256": "16rjqzj872y1240w15gawxcwj5gg1cds162wq1hswzplmx8wp9d1"
   },
   "stable": {
    "version": [
@@ -78207,8 +78392,8 @@
     "org-ref",
     "org-roam"
    ],
-   "commit": "f7b5be2ce0b43dd4d842484fc0ec37fdc8526907",
-   "sha256": "1cqx2izzchwd6yi0gmskdb0kiqjwk2m7rgk074bzzq0dzbpl180j"
+   "commit": "c9865196efe7cfdfcced0d47ea3e5b39bdddd162",
+   "sha256": "0c9y76r1bagz39m74kb2jcxqsc2q461407bbsib3f512sdf93lyg"
   },
   "stable": {
    "version": [
@@ -78371,11 +78556,11 @@
   "repo": "lordnik22/org-shoplist",
   "unstable": {
    "version": [
-    20210514,
-    1041
+    20210629,
+    2157
    ],
-   "commit": "1c534662719222e315d970e2fa871d222f80ea87",
-   "sha256": "1m6a37bw60xjkqaffzk1kjpcy76i5dd17925hzz2fbbhlxkac67x"
+   "commit": "71ea7643e66c97d21df49fb8b600578ca0464f83",
+   "sha256": "0pjcpry9hzma87f8isyi0q5si0i67g0gd8shj2y3qyizi9ns64a2"
   }
  },
  {
@@ -78582,11 +78767,11 @@
   "repo": "bastibe/org-static-blog",
   "unstable": {
    "version": [
-    20210606,
-    1806
+    20210616,
+    809
    ],
-   "commit": "0bd38b604405ba8e6ba00dd32ce4773eb02eb901",
-   "sha256": "1d9kdcdiz600swcy318hd56l751w2qyafdibnkzfkhjzw63c2hwh"
+   "commit": "4738a7bdb24cb4e1d1d5effc23f953e4c76e7713",
+   "sha256": "0kpa1rnpxfar8xkah29f9h6q26fgdxcb8gimsfqvrj145vama7pr"
   },
   "stable": {
    "version": [
@@ -78702,8 +78887,8 @@
   "repo": "arbox/org-sync",
   "unstable": {
    "version": [
-    20181204,
-    23
+    20181203,
+    2242
    ],
    "deps": [
     "cl-lib",
@@ -79188,8 +79373,8 @@
     20210414,
     1844
    ],
-   "commit": "246120647e28a27506ca0894ba98e371086881fd",
-   "sha256": "15gqzj4h0w33w38i8ihl74iy7aqxlds97gm93r72z69pm2l1d7dm"
+   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
+   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
   }
  },
  {
@@ -79549,8 +79734,8 @@
   "repo": "jcs-elpa/organize-imports-java",
   "unstable": {
    "version": [
-    20210121,
-    606
+    20210715,
+    1155
    ],
    "deps": [
     "dash",
@@ -79558,8 +79743,8 @@
     "ht",
     "s"
    ],
-   "commit": "50c11af264505b026aed77d6b67a132f7d4f7e6b",
-   "sha256": "0q5qz7bm8k17v9mzixb4fbdcn9czcskkrrlnk38sgj390d2pyc7c"
+   "commit": "cd931a01adb23dd473ca1abd22f45ac0a5661cac",
+   "sha256": "0cmr4dq90kvmscsm2jvvpdijbmqh0skra79cybcj4pdzafx79c8c"
   },
   "stable": {
    "version": [
@@ -79617,15 +79802,15 @@
   "repo": "magit/orgit",
   "unstable": {
    "version": [
-    20210525,
-    1956
+    20210620,
+    1943
    ],
    "deps": [
     "magit",
     "org"
    ],
-   "commit": "26242895ef1642bf30c63683fb224fdba25e0853",
-   "sha256": "1xd58yqqsb79lgxkhxs4s50jq8f3639k6fhlza9hsy53apfczkal"
+   "commit": "f956d802f19ea495efa95af6c673588afeb3adc5",
+   "sha256": "0mbcr98xq3zim01dk1fbyc1vajnjwx90k62mygv343rhrd05v44m"
   },
   "stable": {
    "version": [
@@ -79649,8 +79834,8 @@
   "repo": "magit/orgit-forge",
   "unstable": {
    "version": [
-    20210525,
-    1957
+    20210615,
+    1516
    ],
    "deps": [
     "forge",
@@ -79658,8 +79843,8 @@
     "org",
     "orgit"
    ],
-   "commit": "ea2a1cf9d337901b413e9df258b8e07af55c00f6",
-   "sha256": "07ia3b6bfilnpify93kq5g10xhh794v5pmc9cmmb312c3qyqi7b4"
+   "commit": "365b75609a9454dccf5681eb6075ca53bd32af85",
+   "sha256": "1y7rywlqhsvkism9dmzlb3sijd8isp6qqhgba79aqgk9wz593rkv"
   },
   "stable": {
    "version": [
@@ -79759,8 +79944,8 @@
     20201129,
     604
    ],
-   "commit": "5aec071702c21dcc777e75b575d3875141688e46",
-   "sha256": "13405irnpwb1fgwv5d9mwywpbvb6d7smmi7nsd140l0i0m7anx1c"
+   "commit": "5bd7ee9d9e23ce37fd004054071026ff51445654",
+   "sha256": "1qblj2m7bhykm58i63r5ywvpz6hr0vyzx7fa0s6rwlkjzbdn77g6"
   },
   "stable": {
    "version": [
@@ -80030,14 +80215,14 @@
   "repo": "xuchunyang/osx-dictionary.el",
   "unstable": {
    "version": [
-    20210309,
-    115
+    20210703,
+    1152
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "4d4cc19fdd4ac8408bd5acc7694e7a7096b1e3b3",
-   "sha256": "1zmng3qx7i4wkz1vrxw0vw3kyirnb8a0pn46zq6zhzj33ybn9582"
+   "commit": "1a4479d9f44ef1e6e5f7643c172c32f6fe6cce21",
+   "sha256": "1714bh7gx1limy8zs1sbxyr9an7gj7viq8sf4cr6wnxz44v237fb"
   },
   "stable": {
    "version": [
@@ -80504,6 +80689,24 @@
   }
  },
  {
+  "ename": "ox-750words",
+  "commit": "d05562f905715abfc139c224fa2fbbb796208318",
+  "sha256": "1cnzzfxvmg7d24lzp5n8i20c4yh2z1vpqhpciqy13qx9c3lqd4ri",
+  "fetcher": "github",
+  "repo": "zzamboni/750words-client",
+  "unstable": {
+   "version": [
+    20210701,
+    1950
+   ],
+   "deps": [
+    "750words"
+   ],
+   "commit": "0fed7621c04debad64ea6455455494d4e6eb03fa",
+   "sha256": "1qglbfdc6526aqsba93ngw1a6hp19lqx1wlxzzy9yvggbb02mii2"
+  }
+ },
+ {
   "ename": "ox-asciidoc",
   "commit": "3b268064f09ae5c3d15064b7d197c7af767fb278",
   "sha256": "07b549dqyh1gk226d7zbls1mw6q4mas7kbfwkansmyykax0r2zyr",
@@ -80713,8 +80916,8 @@
    "deps": [
     "org"
    ],
-   "commit": "074c3abf0a6aa5d671da1a39a20137140ba41d24",
-   "sha256": "1a134x8pmgas5k1m769clk3yhrzdh4n0cwmh23bf22avk6n3bz8z"
+   "commit": "290b5d6b659addf99cb96a316fb24caa90ad0e77",
+   "sha256": "04isqw4wfn5hq772sf0szq2rc3b8finhgjc5cna2sw7bhfgycywb"
   },
   "stable": {
    "version": [
@@ -81070,14 +81273,14 @@
   "repo": "yjwen/org-reveal",
   "unstable": {
    "version": [
-    20210515,
-    1007
+    20210705,
+    2321
    ],
    "deps": [
     "org"
    ],
-   "commit": "826b01beb434d38e415d3001908baf5994c6d669",
-   "sha256": "0q8ygsd2r2yg1k5z9j7bbq2hl43hjjdpws0k4rsx19l786ssg7yq"
+   "commit": "014561540bdc5dc6fe68671cadcc3793a65f6b54",
+   "sha256": "1hha8f9vb6pmszpz0xx4lj2imm2nh81mgrvsblvbm92k4qvmk6z4"
   }
  },
  {
@@ -81136,36 +81339,6 @@
   }
  },
  {
-  "ename": "ox-slimhtml",
-  "commit": "6fae8e3c4abd37a651d4cbdb337a74f1a7c7366a",
-  "sha256": "16jrw8n26iy69ibr29bp3pqp4lm66alihks37qipd2g5grqqfdnd",
-  "fetcher": "github",
-  "repo": "balddotcat/ox-slimhtml",
-  "unstable": {
-   "version": [
-    20210330,
-    1941
-   ],
-   "deps": [
-    "cl-lib"
-   ],
-   "commit": "72cffc4292c82d5f3a24717ed386a953862485d8",
-   "sha256": "0p22dmyrcny82k0r1w84kcwi513xy03h848knzhm9zj7360dlkiw"
-  },
-  "stable": {
-   "version": [
-    0,
-    4,
-    5
-   ],
-   "deps": [
-    "cl-lib"
-   ],
-   "commit": "a764ef64235845e4f5cfd73244d6cf1e7fee903b",
-   "sha256": "14h0kks7i2k53fwbsqb4giafacm58inppqpr5mbj904cy146g29f"
-  }
- },
- {
   "ename": "ox-spectacle",
   "commit": "f441e1b3ee30065f8a68c9b0b45d9db0cac8a289",
   "sha256": "1nf4765dihlcjbifhb9dinqin27ivqj2s8wzh1hj4vc3n8mdx5pr",
@@ -81358,6 +81531,39 @@
   }
  },
  {
+  "ename": "ox-yaow",
+  "commit": "cf9aa32de6b3daaa1f209fad6412cf057c43e4fd",
+  "sha256": "16ajjq2if5jlc58a19nh8q9vgnp1d9zsqgzadkphc8g7g0ca3yaf",
+  "fetcher": "github",
+  "repo": "LaurenceWarne/ox-yaow.el",
+  "unstable": {
+   "version": [
+    20210706,
+    1059
+   ],
+   "deps": [
+    "dash",
+    "f",
+    "s"
+   ],
+   "commit": "c7eca0130c35b3a8adcade637a35d1474368f4e9",
+   "sha256": "1k8vr1z9h6qywl037fh5p7ji0k78zm18r4qg996jghdk9sfxasfx"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
+   "deps": [
+    "dash",
+    "f",
+    "s"
+   ],
+   "commit": "83f9e903f2853e9dc6367fa0a49015428d061dea",
+   "sha256": "1ab8n6k5pwsy54mm9fnfv64007fi884vjfxhbl5yvvg16a2pm7qa"
+  }
+ },
+ {
   "ename": "ox-zenn",
   "commit": "30a54915cf91b47230ddf66ad2e5e17c36fb5e7d",
   "sha256": "1lsvq5av234dbm88bw4jlj1vxmm3jd8hnzf8vv7q675qcxgpnz5j",
@@ -81504,14 +81710,14 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20210421,
-    1333
+    20210707,
+    1424
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b4eec13201093070a12f37396afce83eb6771df5",
-   "sha256": "1kr9iwsrpxbalhjz91pqplwkb44msdl2qv4rwsbapz8z8hs4xzji"
+   "commit": "eea82edcbcc95e9cd35e33243d77adeb88ec7edc",
+   "sha256": "018pihaz1msmizhfjqwsp4d1aa9idiri4nrf6ifkpp6v6j8k7mva"
   },
   "stable": {
    "version": [
@@ -81608,11 +81814,11 @@
   "repo": "tttuuu888/package-loading-notifier",
   "unstable": {
    "version": [
-    20210603,
-    1138
+    20210608,
+    1406
    ],
-   "commit": "8fd10303e19a2a1e8b5544ce8c34c8466af5d08a",
-   "sha256": "11d9mc9ca9bn9x3by8fqcan2c8wn85d8xnmkfvzxcmw7dz87kis2"
+   "commit": "1e30d097de8939c4aa380915d3ba3060a87ce3c6",
+   "sha256": "0wmf3pfjvxrv86mpvbkn5n4drc20yc12fwm4k6a613br0bs75gan"
   }
  },
  {
@@ -82030,8 +82236,8 @@
     20200510,
     5
    ],
-   "commit": "246120647e28a27506ca0894ba98e371086881fd",
-   "sha256": "15gqzj4h0w33w38i8ihl74iy7aqxlds97gm93r72z69pm2l1d7dm"
+   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
+   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
   }
  },
  {
@@ -82328,8 +82534,8 @@
    "deps": [
     "s"
    ],
-   "commit": "f910af3b1d98b88a0f41794bbe7fd57411e9b909",
-   "sha256": "02miw5sf4bbwmz58ya98ijjhqx92vamyzw8c5v2k6id3pxaypng4"
+   "commit": "0c4c92283baa951469e75f632fdd08f0cb9fe6af",
+   "sha256": "1g34wkb3ca6wgjkgmzbhaak95bpdh1k49p5m00ajhg1rqicxwdzw"
   },
   "stable": {
    "version": [
@@ -82584,22 +82790,22 @@
     "s",
     "with-editor"
    ],
-   "commit": "4e73cdc4c376ad61d2e4858bc87cf01eab0dd403",
-   "sha256": "0pvn8djsm8bvx2msrfvm12b778w9yl7sw517l2x0bdm48apz3ifx"
+   "commit": "3dd14690c7c81ac80e32e942cf5976732faf0fb3",
+   "sha256": "10015qvf98j4m26rprrvhbfj4dg4j5sg2c0ps7x94cjjxrph7kf6"
   },
   "stable": {
    "version": [
     1,
     7,
-    3
+    4
    ],
    "deps": [
-    "f",
+    "auth-source-pass",
     "s",
     "with-editor"
    ],
-   "commit": "74fdfb5022f317ad48d449e29543710bdad1afda",
-   "sha256": "0nixbsyckkp1qjszgac74m00vj10vc3vyw2wic1zgc2rx795k228"
+   "commit": "1078f2514d579178d5df7042c6a790e9c9b731ad",
+   "sha256": "17zp9pnb3i9sd2zn9qanngmsywrb7y495ngcqs6313pv3gb83v53"
   }
  },
  {
@@ -82932,11 +83138,11 @@
   "repo": "JonWaltman/pcmpl-args.el",
   "unstable": {
    "version": [
-    20190223,
-    1613
+    20210625,
+    2116
    ],
-   "commit": "0b8a05fc6e370fa9c466250659619f8d6b53d446",
-   "sha256": "1zhjpgnd8n95fv2z5d9360cx2vhw88yqz7gyc0qc563p6l3xmffg"
+   "commit": "e6957896b065e2fda80a8258dfebb86b49742c15",
+   "sha256": "0fx7v5b3v7y9qxr8n8pm6449rdf4ljc0fb6kp0vpdzfzc4yzgdni"
   }
  },
  {
@@ -83492,21 +83698,21 @@
   "repo": "bbatsov/persp-projectile",
   "unstable": {
    "version": [
-    20180616,
-    1944
+    20210618,
+    708
    ],
    "deps": [
     "cl-lib",
     "perspective",
     "projectile"
    ],
-   "commit": "533808b3e4f8f95a1e3ed9c55d9aa720277ebd5f",
-   "sha256": "17i1srw1k771i3a5wlydbyasyd9z39ryf48mxfs0dsbx1zjbj0pg"
+   "commit": "4e374d7650c7e041df5af5ac280a44d4a4ec705a",
+   "sha256": "0cpf1739cd6ylyaz7pspsmh1dsmvymdqfpypahca0nn169vdrzk9"
   },
   "stable": {
    "version": [
+    1,
     0,
-    2,
     0
    ],
    "deps": [
@@ -83514,8 +83720,8 @@
     "perspective",
     "projectile"
    ],
-   "commit": "7686633acf44402fa90429759cca6a155e4df2b9",
-   "sha256": "0rqyzsmg32sdr4k9i2lf3jfyr9bskkl7gfb5ndl16iip9py7403z"
+   "commit": "6e4c2e017d59d10d627cf95b2bb9f9fa2b22a3a3",
+   "sha256": "0566zm9gbac9b1niszl0jhwizxw2a0f8b4b2idvihpsi93iwa8vi"
   }
  },
  {
@@ -83526,14 +83732,14 @@
   "repo": "nex3/perspective-el",
   "unstable": {
    "version": [
-    20210523,
-    2254
+    20210709,
+    2353
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b37c6756700a167742c8ab06fa5a850d9d94f4bd",
-   "sha256": "1ciab9xz4lbnnnx9407bagyf10dv6h9nalzm2wj6w6x7kckb4105"
+   "commit": "b55aec612db791a1720232df0e2df0d3597d850b",
+   "sha256": "01bh8cs54mnikzrbhxc03588mrx8wsn2vqgb12j47g4lmg93759w"
   },
   "stable": {
    "version": [
@@ -83985,11 +84191,11 @@
   "repo": "emacs-php/php-mode",
   "unstable": {
    "version": [
-    20210519,
-    1728
+    20210714,
+    1700
    ],
-   "commit": "9561a6c0a92a3d7c00e7e57972f42cb5be775898",
-   "sha256": "189imf8dvmsfhcy0p9f8a7l0z8dfdsnialk58f4p1l06p67s21df"
+   "commit": "4b0e9f84d063c476b211ec89b2a17bddac138911",
+   "sha256": "0jw2c8fmj0m39xms301diid7l1wkhcpxh6mw2mrdla8as31vgygv"
   },
   "stable": {
    "version": [
@@ -84082,15 +84288,15 @@
   "repo": "mallt/php-scratch",
   "unstable": {
    "version": [
-    20201108,
-    750
+    20210706,
+    459
    ],
    "deps": [
     "php-mode",
     "s"
    ],
-   "commit": "a9db3986144fff424c93228a613f54734ef993a8",
-   "sha256": "01fkpcxmv98wklzf8vbs6l3kljdmwzclv5m73czzbgk5s3rwc8vb"
+   "commit": "b6bfd279da8a8ac7fc30459485956f3fd5d02573",
+   "sha256": "084ms50pw90jaqyll0rd3if1kb0i8hfrdrg72vss44cg83rq58vj"
   }
  },
  {
@@ -84101,8 +84307,8 @@
   "repo": "emacs-php/phpactor.el",
   "unstable": {
    "version": [
-    20210517,
-    1838
+    20210619,
+    1706
    ],
    "deps": [
     "async",
@@ -84110,8 +84316,8 @@
     "f",
     "php-runtime"
    ],
-   "commit": "debf66848c6099415c731b179dcd47e96db3b50b",
-   "sha256": "0i5g4gh5i5y8wsrqw89lwi2s2sn67pvvj2y6p7lnyv0i201v5bs8"
+   "commit": "272217fbb6b7e7f70615fc518d77c6d75f33a44f",
+   "sha256": "0hm96i9vdbkcq6mypjpl94dn3gzyk23iql5zzy2d221vmjhqvn7d"
   },
   "stable": {
    "version": [
@@ -84135,26 +84341,26 @@
   "repo": "emacs-php/phpstan.el",
   "unstable": {
    "version": [
-    20201122,
-    950
+    20210714,
+    1805
    ],
    "deps": [
     "php-mode"
    ],
-   "commit": "6863a5278fc656cddb604b0c6e165f05d0171d0a",
-   "sha256": "05q1y6xshh5csr672jwplp2xmp87gvj9rc65ybpa687dkdmq8cdh"
+   "commit": "0869b152f82a76138daa53e953285936b9d558bd",
+   "sha256": "1xm5i658pf1lb4bfpy6zy5msanhia8r9j7v7rx72amkksja3hwnj"
   },
   "stable": {
    "version": [
     0,
-    5,
+    6,
     0
    ],
    "deps": [
     "php-mode"
    ],
-   "commit": "bf9e82a63f2ccb12af02c9e79a83e7989eeb7cb1",
-   "sha256": "15kv5xv6lcfgf048wr2zsnpvrplbxypy3wq56zvrzbq18hwprqg1"
+   "commit": "0869b152f82a76138daa53e953285936b9d558bd",
+   "sha256": "1xm5i658pf1lb4bfpy6zy5msanhia8r9j7v7rx72amkksja3hwnj"
   }
  },
  {
@@ -84445,11 +84651,11 @@
   "repo": "EricCrosson/pine-script-mode",
   "unstable": {
    "version": [
-    20210605,
-    1527
+    20210629,
+    1257
    ],
-   "commit": "e465c0264958cbed0fb29dad2b30b9f18fbf1064",
-   "sha256": "0crc2q5mzflyz13zx0ghsf2kdmj67lcqb2vnnsw0z2sk7wafrz2i"
+   "commit": "c04309be9fb73012b4c5c839741b1abcfe0b8aa9",
+   "sha256": "1hahd9w5pww3nx1xvbci4pscpbzb0k5xv3yff896jg66di36fvwg"
   },
   "stable": {
    "version": [
@@ -84595,21 +84801,21 @@
  },
  {
   "ename": "pippel",
-  "commit": "6d1796688ed0d6957557d960ca28e450f9bcb6cf",
-  "sha256": "1li4h0dff1n7njy2lk3d50ndrlw84fphmdg16j0srkbgy7xz90yn",
+  "commit": "45459106a88b5bb8ce5afdef9a7cb95a0fb447bf",
+  "sha256": "1gn944k09r78lfn1nqg69fnwx91y9lvw1k2i9czk7yhx4zmyinpl",
   "fetcher": "github",
-  "repo": "brotzeit/pippel",
+  "repo": "arifer612/pippel",
   "unstable": {
    "version": [
-    20180710,
-    856
+    20210614,
+    1655
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "21a5200e8e5ccaa1911abb4ebf090b76ca839756",
-   "sha256": "1amqjm6kn1xda058kdwq3xgk7raz6y9iw0mzrac78sgf57qaczyb"
+   "commit": "2480fd376b8f69691b45b0141fca0d900a5ac64a",
+   "sha256": "190cd66bhvlmyxki7hl43s0h4rvflw9r36xm4ky3c1mhbkrfsz1p"
   }
  },
  {
@@ -85579,15 +85785,15 @@
   "repo": "polymode/poly-markdown",
   "unstable": {
    "version": [
-    20200316,
-    1315
+    20210625,
+    803
    ],
    "deps": [
     "markdown-mode",
     "polymode"
    ],
-   "commit": "1536cf0c32f71d5cd05c90f7905905e38006e95d",
-   "sha256": "1q4qq0ql08hxkdrd2aal03560k612my7bvnfpfij3g432hn0p7v6"
+   "commit": "e79d811d78da668556a694bb840bea3515b4c6f8",
+   "sha256": "02jpak60jl6nrz5zkkc0cw5i95vl4h6g31qvgb3qsidimav305n6"
   },
   "stable": {
    "version": [
@@ -85985,11 +86191,11 @@
   "repo": "karthink/popper",
   "unstable": {
    "version": [
-    20210602,
-    847
+    20210610,
+    1945
    ],
-   "commit": "2be084a77cc2bc79ea7dc23edada161f4ff6dfdb",
-   "sha256": "118sbcm6qavckxva81vamrs98dj38yv0qccqqj4p3a4q7brfi8cw"
+   "commit": "4c51182f5f5dd7a1ffa69fb994ef5ef6f9592686",
+   "sha256": "028wfdi240r8xdz7j77fv29brk5ck6yhhh1vj9p58m4f4ff8r9ik"
   }
  },
  {
@@ -86000,11 +86206,11 @@
   "repo": "auto-complete/popup-el",
   "unstable": {
    "version": [
-    20210317,
-    138
+    20210625,
+    400
    ],
-   "commit": "866a091b83369873b4d1c5d62a590fbb0a150bd0",
-   "sha256": "059x15zlc6c17yg5ahdca3bryr10nh9xbb61dv0gdc2wg2c0pzzi"
+   "commit": "cf899f8012f4189e76a009bebb589ff71631b1e9",
+   "sha256": "09nf95bin4dq50vapax8xndm0bay2cbsws4zvpb4hp3kk0gdzrl6"
   },
   "stable": {
    "version": [
@@ -86245,11 +86451,11 @@
   "repo": "tumashu/posframe",
   "unstable": {
    "version": [
-    20210604,
-    647
+    20210617,
+    42
    ],
-   "commit": "3257a52e3599bc1d5c9a4b646d36d7a49b0dd025",
-   "sha256": "13p7122100ywg6dc32wq0hvcn52x8djxq6vgcmdpdsdy7k4fkxwc"
+   "commit": "f97c4aff2c2c376ca62276d5597aa108546633a9",
+   "sha256": "18w06fdz63w2arwgbgbl9wghb9fin4cqpxnyajppyqk5lpnsn7iq"
   },
   "stable": {
    "version": [
@@ -86597,14 +86803,14 @@
   "unstable": {
    "version": [
     20210606,
-    1152
+    1150
    ],
    "deps": [
     "iter2",
     "nvm"
    ],
-   "commit": "e38d21a885e234af9ea6b03f499c487175570571",
-   "sha256": "1c7n43xi1sjprqn0xhd1hfdr39ipqiw1r8w76qbm3xx04h9bccy8"
+   "commit": "85c9349de2730b71c5796e342d67efee34faa9ed",
+   "sha256": "06gcqnd6wwcxqij4gx06y16kcqsh5znhs7hi5kwhzrbvqvqvrki8"
   },
   "stable": {
    "version": [
@@ -86771,10 +86977,10 @@
  },
  {
   "ename": "private",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "1mvma2xgjy9vkh468x80xlri6qfr7d494la1j6r1clkjsn5kg7hr",
+  "commit": "e036ca25bced52cdacc4e56dcdea4282360aa5da",
+  "sha256": "1rq4vyfjr8b2fnwjnw28if9y9svvaxw1pwisys5p8rx0mff48cn3",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/private",
+  "repo": "victorteokw/private",
   "unstable": {
    "version": [
     20150122,
@@ -87008,11 +87214,11 @@
   "repo": "jcs-elpa/project-abbrev",
   "unstable": {
    "version": [
-    20200724,
-    901
+    20210715,
+    1213
    ],
-   "commit": "7b5749eae33eda576da3293dc386794c1248bb48",
-   "sha256": "0fvfp5hy93ggqspbnishzp0x0j1652ayismb8bpzkf6vra8vjrdw"
+   "commit": "e8c22beb14aff6d5661337feb6cebd7af3a3d454",
+   "sha256": "09zp7896ndmksk7mywdwhrh4bq951vj5lqjls7ncihifwlgcxa7w"
   },
   "stable": {
    "version": [
@@ -87059,6 +87265,21 @@
   }
  },
  {
+  "ename": "project-mode-line-tag",
+  "commit": "9a739b3a77aaf0033161c6687e1e9c5592bb18bd",
+  "sha256": "0syr5lpn0xmvf54k65lif181y6kcvs96j8wykzzlmsf9zdkkdg20",
+  "fetcher": "github",
+  "repo": "fritzgrabo/project-mode-line-tag",
+  "unstable": {
+   "version": [
+    20210615,
+    1825
+   ],
+   "commit": "ed6adf9287d2aa526d85451623f1aa281cfa7e0a",
+   "sha256": "0xryvjsb2r4rj22wgjpixa31kg4sp7xww63hldnf7c1cvcc9g305"
+  }
+ },
+ {
   "ename": "project-persist",
   "commit": "bd81d1f8a30ed951ed94b9a4db13a2f7735ea878",
   "sha256": "0csjwj0qaw0hz2qrj8kxgxlixh2hi3aqib98vm19sr3f1b8qab24",
@@ -87143,14 +87364,14 @@
   "repo": "hying-caritas/project-shells",
   "unstable": {
    "version": [
-    20201026,
-    748
+    20210625,
+    647
    ],
    "deps": [
     "seq"
    ],
-   "commit": "382b3d48a797ea56383732ebf9cd219aeec676df",
-   "sha256": "04zsk6mwxkp71fbjq64k78nwx3gvgbp2fmm5f8ah2ap2g65j5kq3"
+   "commit": "900369828f1a213c60a2207a71d46bc43fd5405c",
+   "sha256": "1igs3dr3j9lw8lyww1wp69v5i9k2ifvblmsh862vx7l6rvy98f5h"
   }
  },
  {
@@ -87161,14 +87382,14 @@
   "repo": "bbatsov/projectile",
   "unstable": {
    "version": [
-    20210607,
-    1513
+    20210701,
+    441
    ],
    "deps": [
     "pkg-info"
    ],
-   "commit": "155fdb44176347c9599357c7935993033260a930",
-   "sha256": "040g4frdjabpa8ddhag81dx3kphh5kp3iv34x4zsbkhb6gryd5zf"
+   "commit": "da08a9103b5ba3b38ef031a9627a19436eb318b5",
+   "sha256": "08y36qvr20888jc2b5172qgah0xpp9bc3iwp38w8clfrjfd28g2s"
   },
   "stable": {
    "version": [
@@ -87241,34 +87462,36 @@
   "repo": "asok/projectile-rails",
   "unstable": {
    "version": [
-    20210325,
-    2120
+    20210625,
+    708
    ],
    "deps": [
+    "dash",
     "f",
     "inf-ruby",
     "inflections",
     "projectile",
     "rake"
    ],
-   "commit": "f1fe6e8eff485dc560e6ffe7f0b9c46a61509a58",
-   "sha256": "1b9wsn6mm1ajh81f6bmp3ajxch3j05bzslzxjakw93gjg69w74y1"
+   "commit": "6a18ada3566ab2cb795129e3dfca2a32cc413fb8",
+   "sha256": "1xr6ha5jkczpbdqpxf8s4qggvx4arwky6mfwaji2kjnkk0ajjyda"
   },
   "stable": {
    "version": [
     0,
-    21,
+    22,
     0
    ],
    "deps": [
+    "dash",
     "f",
     "inf-ruby",
     "inflections",
     "projectile",
     "rake"
    ],
-   "commit": "8d6b3734958f5dc7a620dc1b44754986d3726f3d",
-   "sha256": "03cj0cpmqyxcvqscnjcgcfz5k1ga6knr5jcb5prnv9hfjfqgk3pb"
+   "commit": "6a18ada3566ab2cb795129e3dfca2a32cc413fb8",
+   "sha256": "1xr6ha5jkczpbdqpxf8s4qggvx4arwky6mfwaji2kjnkk0ajjyda"
   }
  },
  {
@@ -87679,17 +87902,17 @@
     20200619,
     1742
    ],
-   "commit": "4644980d818ec9d987f74c74b1a1d45de9ab01fd",
-   "sha256": "1mzblak9s46wsfh3l1798k9pjwbddnz030y0cfx831lfpr20227b"
+   "commit": "b90ec9c242b303e90811deebaa2e3e684b63de91",
+   "sha256": "11n9ybjxfc8x58fwp2f67nc6mg4qkj8m9c7ldjlp77m01k0qrij1"
   },
   "stable": {
    "version": [
     3,
     17,
-    2
+    3
    ],
-   "commit": "70db61a91bae270dca5db2f9837deea11118b148",
-   "sha256": "08a7rnflhklbabqm5yyz2nwyzzfbh24miiy3wsxphaanjz4xr6yi"
+   "commit": "909a0f36a10075c4b4bc70fdee2c7e32dd612a72",
+   "sha256": "08644kaxhpjs38q5q4fp01yr0wakg1ijha4g3lzp2ifg7y3c465d"
   }
  },
  {
@@ -88526,6 +88749,40 @@
   }
  },
  {
+  "ename": "pygn-mode",
+  "commit": "a6a83906ba07f4a0cd906e8345de036a7cdcc6e5",
+  "sha256": "0w7rrq02rjkm4bbk08fz0r5yaxzbgxrgglhbg2qz7arzvgq4l715",
+  "fetcher": "github",
+  "repo": "dwcoates/pygn-mode",
+  "unstable": {
+   "version": [
+    20210714,
+    1304
+   ],
+   "deps": [
+    "ivy",
+    "nav-flash",
+    "uci-mode"
+   ],
+   "commit": "321c14c195cd2f8a31b9bf99dd318a552fbbcd6d",
+   "sha256": "1sz8riry4c4lf5n0nsd3msw5kch3ifwg5psrf4y866b0wlya7yk2"
+  },
+  "stable": {
+   "version": [
+    0,
+    5,
+    1
+   ],
+   "deps": [
+    "ivy",
+    "nav-flash",
+    "uci-mode"
+   ],
+   "commit": "cd06faecb40774fafa69d91085206810d686367a",
+   "sha256": "15hs87ly3gr8qcdfpsyyf8wadyhhij72kkj33hdqbbq9b74yr6qq"
+  }
+ },
+ {
   "ename": "pyim",
   "commit": "151a0af91a58e27f724854d85d5dd9668229fe8d",
   "sha256": "1ly4xhfr3irlrwvv20j3kyz98g7barridi9n8jppc0brh2dlv98j",
@@ -88533,15 +88790,15 @@
   "repo": "tumashu/pyim",
   "unstable": {
    "version": [
-    20210607,
-    427
+    20210714,
+    231
    ],
    "deps": [
     "async",
     "xr"
    ],
-   "commit": "eaf331f67ad3d6ea5b63c92bcd0cfc0134466b53",
-   "sha256": "0prrkn2yaj6wm2hn17jgfxb1vz58mdm3ivmqsncrfhl1vdll73jm"
+   "commit": "ebd3175c4c5e7845c52dddf71a806826a80df89d",
+   "sha256": "0p52a4bp4gmgwfpai8cwq3frp0fyhp9ma5a0idxdiamr8xjiwjz0"
   },
   "stable": {
    "version": [
@@ -88588,14 +88845,14 @@
   "repo": "p1uxtar/pyim-cangjiedict",
   "unstable": {
    "version": [
-    20210507,
-    928
+    20210617,
+    934
    ],
    "deps": [
     "pyim"
    ],
-   "commit": "455e20e90044a1fcd6c4b45252745fa233e0107d",
-   "sha256": "0dv5l8cpccvc7jsc4qdijnz76dp2rznmcnkkn3w75xw46ai8chnk"
+   "commit": "d17e3d32a6480939b350a91a915ebe8e6efad819",
+   "sha256": "1bszpqsm15az0wvbgsk012manxnvigbk38qr5iqzkgd4d13yv5fs"
   }
  },
  {
@@ -88703,17 +88960,17 @@
     20210411,
     1931
    ],
-   "commit": "6c7bc2b576a705fcc7bc52494163e9a1a240ea80",
-   "sha256": "1m4swr0v998c6iq589mzx6glq7g2gc109469wcsjyi9j4cv7qgkr"
+   "commit": "6c29598ce446dc441a8095b83c82390249df3693",
+   "sha256": "0l5dg9snp4p6x3nlyl0civ50kdl1q6zr0hmx9hcp2c72hm22dqi5"
   },
   "stable": {
    "version": [
     2,
-    8,
+    9,
     3
    ],
-   "commit": "735c958d3b36fb5d343b7bcb81b1055a430cb042",
-   "sha256": "1m8f8qv88bvqbviszwf0n4ch5dpyqa33067ampy706cpg7mwjvn0"
+   "commit": "aa688de05e469e33a20478144013946ccb752736",
+   "sha256": "0r2xp90bwwqnya3gq0q0gh2qdn7i9fcsq8ab890bnd0b44ivx0nk"
   }
  },
  {
@@ -88984,11 +89241,11 @@
   "repo": "python-mode-devs/python-mode",
   "unstable": {
    "version": [
-    20210601,
-    1845
+    20210620,
+    1854
    ],
-   "commit": "198ba8e15e848825b2215e9fc363f06d8c173a28",
-   "sha256": "1z6vnbnqvn20gs131d0rjncr4nk11amahvmfaffkhiwmpsl1b3gv"
+   "commit": "3f0be5ace492d2ddd8405f4b5186ef89caee762e",
+   "sha256": "17clkgs94dgq5nsjlwkr52m5s446ibfss3qc8a8m0zaz6j4f8l1m"
   },
   "stable": {
    "version": [
@@ -89162,11 +89419,11 @@
   "repo": "psaris/q-mode",
   "unstable": {
    "version": [
-    20210307,
-    2102
+    20210620,
+    1712
    ],
-   "commit": "a30a84afae9bb72bc601b213ae68821479b0bb03",
-   "sha256": "1q85vxvv76vmb9zhc91p2aqh333h1p48737spriv5sw9wvis0gdm"
+   "commit": "86d937854c45f6b2a102b42c1a991ba713532f9e",
+   "sha256": "1hbb0m5kjczyri6hbgkk1par53zfnsp7m133xqzfhg2sibrvbz2x"
   }
  },
  {
@@ -89628,15 +89885,15 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20210604,
-    1431
+    20210715,
+    2107
    ],
    "deps": [
     "faceup",
     "pos-tip"
    ],
-   "commit": "4b46a818c08820e04d25df7fe830e80ea82e1126",
-   "sha256": "0kr1sd819rvyfw34g6sqcnygkllcx07ccc5zc773kn0ngiqd0zvn"
+   "commit": "c7aca6f1b4c34a48314bc7812c2d7edc849e3dba",
+   "sha256": "1pcxicz7kg6s9j9gsdb8pba3j3n5522gclc5qq95ch2q3i5phg91"
   }
  },
  {
@@ -89701,11 +89958,11 @@
   "repo": "istib/rainbow-blocks",
   "unstable": {
    "version": [
-    20210412,
-    1937
+    20210715,
+    1518
    ],
-   "commit": "ae5c11cd3dc64039c5e65c9f1804aceba5b3b209",
-   "sha256": "17ar9k2352h6cnvcknq945lna3illln87r1vf4ll1aa798azizpb"
+   "commit": "83c4d6e77a1e25d3d2d124a4e90d5b084f3e15a5",
+   "sha256": "1v583d6mh69cz1adl295pd7axlqk3m1qs94558n84d1sh7syxcdg"
   },
   "stable": {
    "version": [
@@ -90293,11 +90550,11 @@
   "repo": "pfchen/read-only-cfg",
   "unstable": {
    "version": [
-    20210517,
-    749
+    20210608,
+    1259
    ],
-   "commit": "c128c9412f768adf89ff5c4ad433cf0beab6656a",
-   "sha256": "11zj4ysmacvz82j1siqlcp30i05my20lscls8wkdjl75g9d2b12l"
+   "commit": "a02395b37a68b2e20e365c2e3752f966c71d4c02",
+   "sha256": "0jihqc16knvws5w2y5djdir4h52mpwk86nbjlap47lh2r18qk6q6"
   }
  },
  {
@@ -90585,7 +90842,7 @@
   "unstable": {
    "version": [
     20210513,
-    2237
+    1453
    ],
    "deps": [
     "load-relative",
@@ -91882,8 +92139,8 @@
     "f",
     "s"
    ],
-   "commit": "f62be2d11c8a9182cf84f0efe7ed054cc304262d",
-   "sha256": "0ksw9s96mmb1qlypz9mc9br9139ha5jmahi42x4i8qppcn6zs5ja"
+   "commit": "eaf177324482d0eadf0e97a892a156c2d503f245",
+   "sha256": "18krcfbjvm9g67846dn3q7a2y4z3figirk3pvdsdb0fv425j11zr"
   },
   "stable": {
    "version": [
@@ -92023,11 +92280,11 @@
   "repo": "galdor/rfc-mode",
   "unstable": {
    "version": [
-    20210510,
-    1104
+    20210615,
+    1721
    ],
-   "commit": "b885d6bd2b3be69a2413c4dc5cc34344d821cba2",
-   "sha256": "0qqvab5n5y70mv9dq06xnqmpxy9pr994k3b83kw70pq43gb03nxd"
+   "commit": "3ef663203b157e7c5b2cd3c425ec8fbe7977a24c",
+   "sha256": "0lrmgvrj69rs49vjfwkm3w9z4y5mkndra1kdqmr9s7z9f1558is1"
   },
   "stable": {
    "version": [
@@ -92050,28 +92307,28 @@
   "repo": "dajva/rg.el",
   "unstable": {
    "version": [
-    20210305,
-    1621
+    20210625,
+    939
    ],
    "deps": [
     "transient",
     "wgrep"
    ],
-   "commit": "10e64887c224002572e1f1e19c74453cba606c3f",
-   "sha256": "1519lh5j5zki2dfzd1a1hl1d24nap99hv80647rvpr3mzbcsg29s"
+   "commit": "0fa6d33d2f3123aecd0b0dbc5fa3d884edf10a92",
+   "sha256": "17f11znjyfnxs5y0zafcx9aa055wkw3igzk9gy0cipnyp42yb4v7"
   },
   "stable": {
    "version": [
     2,
-    0,
-    3
+    1,
+    0
    ],
    "deps": [
     "transient",
     "wgrep"
    ],
-   "commit": "bb89400d4d5e4eb22917f7048256745ea566a844",
-   "sha256": "0d8habjr4nv0xbgsk7nj5zid5zywf00vbl5zcx7anda5w1cy2zvr"
+   "commit": "0fa6d33d2f3123aecd0b0dbc5fa3d884edf10a92",
+   "sha256": "17f11znjyfnxs5y0zafcx9aa055wkw3igzk9gy0cipnyp42yb4v7"
   }
  },
  {
@@ -92230,8 +92487,8 @@
   "repo": "DogLooksGood/emacs-rime",
   "unstable": {
    "version": [
-    20210207,
-    1432
+    20210628,
+    1648
    ],
    "deps": [
     "cl-lib",
@@ -92239,14 +92496,14 @@
     "popup",
     "posframe"
    ],
-   "commit": "519e6eb3b5e8e668c2835d27f54fcf5776242576",
-   "sha256": "1q0kzdy3nxswsriq4fxr00wmw43x737dd7pnkf9g6v8hd7gsqkzc"
+   "commit": "b93e761209211f8a6de1bb4b8f1d36651564a8d9",
+   "sha256": "0z0iwsqr92g8ykxb51gkawwxwzx0faw0027zgdi7c38ngjqld237"
   },
   "stable": {
    "version": [
     1,
     0,
-    4
+    5
    ],
    "deps": [
     "cl-lib",
@@ -92254,8 +92511,8 @@
     "popup",
     "posframe"
    ],
-   "commit": "ee7f951f0bc3b55034634019dd385706bc413dbb",
-   "sha256": "1a50cziwg7lpgh26yvwxs46jfyfq1m0l6igbg5g5m288mz4d3an9"
+   "commit": "b93e761209211f8a6de1bb4b8f1d36651564a8d9",
+   "sha256": "0z0iwsqr92g8ykxb51gkawwxwzx0faw0027zgdi7c38ngjqld237"
   }
  },
  {
@@ -92430,11 +92687,11 @@
   "repo": "jgkamat/rmsbolt",
   "unstable": {
    "version": [
-    20191218,
-    257
+    20210624,
+    417
    ],
-   "commit": "2bc1afe528b70b8aad4243a3b2b72bcf09a599e1",
-   "sha256": "0pg2q275qd83i8c1g0f1xlwvbqd40xm3gw2ahl80blyllsvz04j9"
+   "commit": "ff496660cc52a6dd33d358ef0acc6d4bb70cc340",
+   "sha256": "05i0101238yy1da6z543nr9x5gpvgdxrrdn3sw5dibcn6z62ml3p"
   }
  },
  {
@@ -92445,14 +92702,14 @@
   "repo": "dgutov/robe",
   "unstable": {
    "version": [
-    20210608,
-    17
+    20210626,
+    137
    ],
    "deps": [
     "inf-ruby"
    ],
-   "commit": "bcddba77ba11b46f94730708fff2215f4b620428",
-   "sha256": "04az3rk7h606pv2l16wf2bmad9nqb7nx6r7cwap90dvnfjn56a3y"
+   "commit": "e1304d123d729aa063671d0ca526b01e72f0f5ed",
+   "sha256": "1ghwjymcmmr99z060l1shm9sqbjxxdgq6b7ayn8s9mldcqm5pa3q"
   },
   "stable": {
    "version": [
@@ -92695,8 +92952,8 @@
     20210313,
     1541
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -92721,8 +92978,8 @@
    "deps": [
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -93255,8 +93512,8 @@
   "repo": "brotzeit/rustic",
   "unstable": {
    "version": [
-    20210502,
-    1646
+    20210609,
+    1900
    ],
    "deps": [
     "dash",
@@ -93269,8 +93526,8 @@
     "spinner",
     "xterm-color"
    ],
-   "commit": "ed68fd3bb410869e1a4ce3943b5913ea88d9b509",
-   "sha256": "0896m5ajlq90pp7ds6iw7plqkffm6k01v3rfqfhb3qwd92nxgcf0"
+   "commit": "6ca73bb3cce4d1db3c4f91efb83b63227eb712d1",
+   "sha256": "12arrvvp3idq11a4ham77zxqp2d1026qz89ywgd3i9k1cbj852wi"
   }
  },
  {
@@ -93305,11 +93562,11 @@
   "repo": "Kungsgeten/ryo-modal",
   "unstable": {
    "version": [
-    20210523,
-    757
+    20210625,
+    2046
    ],
-   "commit": "ab6417d8e546f1836618ee72d074ec65431ebc80",
-   "sha256": "1yy0jr7n55qbraxif2zhgmyr31jd5sd62jyhd3cg327vl5ga1ajg"
+   "commit": "fc9e227127fa327183d39d28c3afdb2f395a51a2",
+   "sha256": "1j05dyg77fpdh7gl29bq48fdba7kwbhsq3ryn6b8vzhncapsqj99"
   }
  },
  {
@@ -93320,11 +93577,11 @@
   "repo": "magnars/s.el",
   "unstable": {
    "version": [
-    20210603,
-    736
+    20210616,
+    619
    ],
-   "commit": "e1710af8d058faca32529d1129deb5d57871385a",
-   "sha256": "1zm9zqa1479kn74a1hbs7jc8rli7vzz5hk8k2rqpi34yf569yjhj"
+   "commit": "08661efb075d1c6b4fa812184c1e5e90c08795a9",
+   "sha256": "02hcjnf8n0nzqysqi9g7kqykxmn8nwhsx1scrq6wj1iibc16nh0p"
   },
   "stable": {
    "version": [
@@ -93577,8 +93834,8 @@
   "repo": "djcb/sauron",
   "unstable": {
    "version": [
-    20201015,
-    836
+    20201011,
+    905
    ],
    "commit": "5daade4836da5b1b2ab26d84128d6c38328a5d52",
    "sha256": "0fkq8knq023zm538ls4zxghlkn9zf4rfccpmmgfcpad6bdm00cpc"
@@ -93740,8 +93997,8 @@
     20200830,
     301
    ],
-   "commit": "393a5f2be890c1e90b3d5f331ce1bf34dad09742",
-   "sha256": "16y5njqb9v58fmsp9nn38wvzx71jgy0di2m8933a8dkirddi324v"
+   "commit": "cff035686cc9505d114115646e4d98edac307512",
+   "sha256": "0w5bzlsbs5zdk3h8ij019yj7861ggg0a4wcqwq7dm7rwf1bshsl2"
   }
  },
  {
@@ -94084,10 +94341,10 @@
  },
  {
   "ename": "scratches",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "116bjy1m35h83r2c354i2xk1br87nmvd99kbzax0wgkkkcjff8c4",
+  "commit": "991ef46a458c9301283dd440d79448fb25374c98",
+  "sha256": "0gq5ar2v50sxddf0lccm75kl2fq3g4zacq8wd2hf9kp3cq7mylh9",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/scratches",
+  "repo": "victorteokw/scratches",
   "unstable": {
    "version": [
     20151006,
@@ -94240,8 +94497,8 @@
   "repo": "t-e-r-m/sculpture-themes",
   "unstable": {
    "version": [
-    20210530,
-    624
+    20210524,
+    354
    ],
    "commit": "1da2b3501f3732b4a58d28b502e356226a43a96f",
    "sha256": "198rjkyv876h7mbs73h8dq4lx5xhl66p7xrpvb23v0vk4vw0q5vz"
@@ -94321,8 +94578,8 @@
     "dash",
     "f"
    ],
-   "commit": "447b6f0c3b4429e70a474a325151913100bc6417",
-   "sha256": "1w0l0r4n0w99523klia1pfyh0y3jvskhk2wrwzdx09mad0bdfj1b"
+   "commit": "46eefd5b3f4a6f24b2f88c8aa18cce0abb32edb1",
+   "sha256": "0fi04v84gp74xr84sh7blbc5s93xxb6apsrdh8zlc9dvwkkh5gza"
   },
   "stable": {
    "version": [
@@ -94559,11 +94816,11 @@
   "repo": "raxod502/selectrum",
   "unstable": {
    "version": [
-    20210530,
-    245
+    20210707,
+    1827
    ],
-   "commit": "a19bbe94de492bf504399c093cfc5695eb630fa8",
-   "sha256": "0jhc0qn3q7npsixj1b1cmplxdvpy30745h32y0ybyydahqc3yc30"
+   "commit": "48ea51aa5b6959ea2a134e36cd21f727047b0677",
+   "sha256": "0lini8hdih1qakf3hg981diw9gmzxjkd6rnjq3lddyqg6dvj9hhw"
   },
   "stable": {
    "version": [
@@ -94647,15 +94904,15 @@
   "repo": "wanderlust/semi",
   "unstable": {
    "version": [
-    20210529,
-    1313
+    20210613,
+    948
    ],
    "deps": [
     "apel",
     "flim"
    ],
-   "commit": "95259568446f32c1af56dfc27e3614815322a1bf",
-   "sha256": "09xld1vpxdz1kvw039g7hk89p2d8pi95j9hgls6iviwzs6ni41yl"
+   "commit": "509f6f0bc2f5d020c63e47d9ad89410dc20bcb6f",
+   "sha256": "0lnr5kyc59rs2p3lnhyr6cc126rh17szp68xpsx4brym3blb37yc"
   }
  },
  {
@@ -94767,15 +95024,15 @@
   "repo": "twlz0ne/separedit.el",
   "unstable": {
    "version": [
-    20210521,
-    1050
+    20210630,
+    1805
    ],
    "deps": [
     "dash",
     "edit-indirect"
    ],
-   "commit": "900fdc33b647e92d0f464872da1b12d724de7d43",
-   "sha256": "1ji8qjg3qsxprsqjp4hks999f0rfqnl3nyj08hr4vra5nqk6x4cg"
+   "commit": "4fbbd85c0f809593f6d26edf1388ff059f77e82f",
+   "sha256": "0jyz0cz1c6bimkd48iv09lgmzgbb63v5dybcgrjcmcg630c8yh87"
   },
   "stable": {
    "version": [
@@ -94837,6 +95094,25 @@
   }
  },
  {
+  "ename": "seriestracker",
+  "commit": "9370b3c06f065ee50ed7e4ffcfd9d503b6e9563f",
+  "sha256": "03vg4y262yy0y3xh0imx4mh59z2lhzif5jxnad2w385khnyj1n21",
+  "fetcher": "github",
+  "repo": "MaximeWack/seriestracker",
+  "unstable": {
+   "version": [
+    20210629,
+    2303
+   ],
+   "deps": [
+    "dash",
+    "transient"
+   ],
+   "commit": "a5ce1bfd06ed90bba9947a9045659d13f3362a96",
+   "sha256": "0gjwp0h9ip58da1p8q9s9pjfh0g6pav4gam9s51xnx8mv0vbgb68"
+  }
+ },
+ {
   "ename": "servant",
   "commit": "7fabdb05de9b8ec18a3a566f99688b50443b6b44",
   "sha256": "0h8xsg37cvc5r8vkclf7d3gbf6gh4k5pmbiyhwpkbrxwjyl1sl21",
@@ -95279,11 +95555,11 @@
   "repo": "ieure/shell-here",
   "unstable": {
    "version": [
-    20191011,
-    1959
+    20210616,
+    2338
    ],
-   "commit": "88b80deb1337a97b403b20fc467fa2d579b3bfd5",
-   "sha256": "1x9zcxsc6cnh0h051377asbqhcx3mzcarrnj9zmyg6fcszgas5v1"
+   "commit": "a3679c52d31d1dc6ed29bcab087cb5455a992eda",
+   "sha256": "0w0mlggb5gnvm109qn50ric3lb9znxvfkzvc7xla2qnmaz037ppz"
   }
  },
  {
@@ -95402,6 +95678,30 @@
   }
  },
  {
+  "ename": "shellcop",
+  "commit": "51f723347f56e150852bf82d163c04aa846a3d9c",
+  "sha256": "19281hh73m898187ksb0wl409iwgr49z6mqx3dr5ggajbs7jp4yn",
+  "fetcher": "github",
+  "repo": "redguardtoo/shellcop",
+  "unstable": {
+   "version": [
+    20210622,
+    721
+   ],
+   "commit": "7c025b10173ef380ea539dbbdcd7d60977119e24",
+   "sha256": "1rjiyz3sx387b8559k01j6149jw729zlk5s3ah2jaxj6p9cag418"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    6
+   ],
+   "commit": "7c025b10173ef380ea539dbbdcd7d60977119e24",
+   "sha256": "1rjiyz3sx387b8559k01j6149jw729zlk5s3ah2jaxj6p9cag418"
+  }
+ },
+ {
   "ename": "shelldoc",
   "commit": "551623175e55629be6cfe44a595f25f09bd889e8",
   "sha256": "1xlp03aaidp7dp8349v8drzhl4lcngvxgdrwwn9cahfqlrvvbbbx",
@@ -95558,11 +95858,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20210606,
-    124
+    20210714,
+    111
    ],
-   "commit": "0e18a7e96c8e425ac7c2e69aa26fa6a1e8e6e51a",
-   "sha256": "1jxp447d8xnk4ixpni7rsph7fd3p58ydmi39yrx201hbqh15jxiz"
+   "commit": "ccdd3681b9e7d8b6a758f2aa61a0ae8eab21240b",
+   "sha256": "1ynl1kwnhp5xqvmi8p37lprshk96xi8q78rsjmd9f8pkb8ayqbf3"
   }
  },
  {
@@ -95634,11 +95934,11 @@
   "repo": "jcs-elpa/show-eol",
   "unstable": {
    "version": [
-    20200921,
-    1201
+    20210715,
+    1227
    ],
-   "commit": "02fdb5b2832889afd6cad5c517da9b1e4611c766",
-   "sha256": "0yy97yzc8v1h0vjpm6zbrdwy8sd931mscrbrq1svvv2y227s4ffl"
+   "commit": "28dc1d6faf21efbc49436b4458821a2d46e38ffe",
+   "sha256": "002vyik2nyqcvrf6d0qfbxc9bs95bc74crmyn9havlr50bw52wlc"
   },
   "stable": {
    "version": [
@@ -95950,6 +96250,36 @@
   }
  },
  {
+  "ename": "side-hustle",
+  "commit": "f75ebbbec4736474a745487cecebdd70a3edde21",
+  "sha256": "01avgnswjq4jflgxfkrcgc56il6v6qgxblv1zn70n2p31x7n8y63",
+  "fetcher": "github",
+  "repo": "rnkn/side-hustle",
+  "unstable": {
+   "version": [
+    20210627,
+    701
+   ],
+   "deps": [
+    "seq"
+   ],
+   "commit": "1f4cd5e7cfbabb00c6d87e913770f21e3d16c957",
+   "sha256": "0qcaqfsnw90prch3x1flccanys4bh72x2pdmf27nh5b3i9jbrbv2"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
+   ],
+   "deps": [
+    "seq"
+   ],
+   "commit": "786932352ce2f10214b801e872690e05b6102851",
+   "sha256": "09i5ds9ayid570x97glcy6cb8qdr5jc8riqfs7wl3hi4dif0z61a"
+  }
+ },
+ {
   "ename": "side-notes",
   "commit": "67d23bdaefb563d88b206a9ed822316f3d5be9a2",
   "sha256": "07hrrplgvp3fvl10fsmxifnim8wz34w7fhzzzkxpdj1zlwls6h83",
@@ -95957,11 +96287,11 @@
   "repo": "rnkn/side-notes",
   "unstable": {
    "version": [
-    20210502,
-    935
+    20210709,
+    1403
    ],
-   "commit": "ca73cec33880322c5bbab407825d502d87f4cf0f",
-   "sha256": "1qnrk8kib4rndgbljqxq7cmskgxwcc9d8wdbdr3mgkgbg08xv5gq"
+   "commit": "41fe8544661a772f764a0924e04080f258053955",
+   "sha256": "14xm2a465mgdbp47hwb1dpxw4w5vl0rdlc4m5bxd5z1l4s06nc32"
   },
   "stable": {
    "version": [
@@ -96090,14 +96420,14 @@
   "repo": "vapniks/simple-call-tree",
   "unstable": {
    "version": [
-    20210608,
-    33
+    20210625,
+    2001
    ],
    "deps": [
     "anaphora"
    ],
-   "commit": "d776c801d773e535d1647524e2c4f63b200d8ef1",
-   "sha256": "1jh1h09l4vkzj40l8nskkilbggfl889l3rhi8b70jm4yvmk9np62"
+   "commit": "26de24bcde0eae911a0185bb5a6b74b9864fcfc3",
+   "sha256": "0589ns2v6jxyd7adjkj34zlcnnxbfs6c7hm56yskbs2s4qkkf369"
   }
  },
  {
@@ -96532,8 +96862,8 @@
   "repo": "yuya373/emacs-slack",
   "unstable": {
    "version": [
-    20200830,
-    1021
+    20210712,
+    628
    ],
    "deps": [
     "alert",
@@ -96543,8 +96873,8 @@
     "request",
     "websocket"
    ],
-   "commit": "1f6a40faec0d8d9c9de51c444508d05a3e995ccd",
-   "sha256": "19lan9nd8qfw2ws7mx814vrin04c892yn5c8g3nad7lpnzszgr1r"
+   "commit": "ae1d742a0193fba38698931055708a28cc382bcf",
+   "sha256": "0292z0pzvwg85pr1g3xsglp9rkna6k7b0frbm5r43yr91sr0vv3f"
   }
  },
  {
@@ -96605,15 +96935,15 @@
   "repo": "slime/slime",
   "unstable": {
    "version": [
-    20210512,
-    1220
+    20210709,
+    2051
    ],
    "deps": [
     "cl-lib",
     "macrostep"
    ],
-   "commit": "bdda756a5667a537497a35f5a0fc5b7c28bf3bd3",
-   "sha256": "0xm3fdwla8axag1zpc7361mgyjpf1qg907l86w4v8ald8z4qcvl9"
+   "commit": "68f5623f13c9a0d3d47ce70cf56928e00483d9d6",
+   "sha256": "1hybxng81ra3zqj07xp5vpzd5mx15sfvqa4wydg1kxi9ics6m9i6"
   },
   "stable": {
    "version": [
@@ -96845,11 +97175,11 @@
   "repo": "joaotavora/sly",
   "unstable": {
    "version": [
-    20210604,
-    937
+    20210629,
+    2009
    ],
-   "commit": "c783ba6576b554f3fc15a70bf30d225f277d1863",
-   "sha256": "1lwghrqw81dr7mhx8i92nn4xhamnpqwdvmzx1lg1fzy7g5qx7fl6"
+   "commit": "41f4d650485217aa1f2afa7c159418f103a09231",
+   "sha256": "0cq1a19d1przjizp7d4vjl8khp09j6jcwavhrpja1saqhwavhv7c"
   },
   "stable": {
    "version": [
@@ -97124,10 +97454,10 @@
  },
  {
   "ename": "smart-mark",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "0kx34983qqxkx2afql1daj155294dkbinw861lhx537614fq7wmn",
+  "commit": "debbf9d7069436641a4ea922c3e44dd8176cb072",
+  "sha256": "01crd7bv6r1iz414s8044qp3560n52f4pmbq0qniin2dya7si681",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/smart-mark",
+  "repo": "victorteokw/smart-mark",
   "unstable": {
    "version": [
     20150912,
@@ -97865,15 +98195,15 @@
   "repo": "SpringHan/sniem",
   "unstable": {
    "version": [
-    20210605,
-    1242
+    20210708,
+    1128
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "54005eb19dfab02f38074e696fa8d247b59a2ad8",
-   "sha256": "18ynqkf98rjyzl48l5399g49x9gdmsj0wyc4jp7mly7xrv51zblx"
+   "commit": "1b3071974b55c7f2046bd20a052b8fc795d2c940",
+   "sha256": "16k64k4mzjaiyq264crcpnmccj7aza2zlr9jg6l7ggjssly3fw5c"
   }
  },
  {
@@ -98049,26 +98379,26 @@
   "repo": "hlissner/emacs-solaire-mode",
   "unstable": {
    "version": [
-    20210601,
-    1921
+    20210711,
+    2145
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "2298fd806d28daf511eb7836b23775e7df1f65e2",
-   "sha256": "1jfl0nhnv3ljagdlpsi2d7mhcrm8rww8crnhzad5zimzwc48nlcq"
+   "commit": "030964f7c62696c8cfb29125df6e7649d2bf9aeb",
+   "sha256": "01c1lkr21y0cd6gixzd38mql89k70jn049jr0xhazgz16cnw1g7j"
   },
   "stable": {
    "version": [
     2,
     0,
-    0
+    2
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "59efa9c52ec407161f741e67071813c3c1901680",
-   "sha256": "0aigavrqfi2dy4q5vrfs48n5k7839gqnafq7mp14cmcbrzcwadrd"
+   "commit": "030964f7c62696c8cfb29125df6e7649d2bf9aeb",
+   "sha256": "01c1lkr21y0cd6gixzd38mql89k70jn049jr0xhazgz16cnw1g7j"
   }
  },
  {
@@ -98079,14 +98409,14 @@
   "repo": "bbatsov/solarized-emacs",
   "unstable": {
    "version": [
-    20210519,
-    925
+    20210112,
+    1050
    ],
    "deps": [
     "dash"
    ],
-   "commit": "e626b1889d8c945806e959e451f08633d948f8a7",
-   "sha256": "1nz04q681slnzcqzc6lcckmv72h017616l1j7q4aalf2dqkn529z"
+   "commit": "8271679a627148c96ad894f960cec9b1abfb1e6c",
+   "sha256": "1xrya65z54si9cf64whllq7vhw5dnafal9q2m4jf62jvxmbjdfsi"
   },
   "stable": {
    "version": [
@@ -98118,8 +98448,8 @@
     "flycheck",
     "solidity-mode"
    ],
-   "commit": "383ac144727c716c65989c079ae76127e25144c3",
-   "sha256": "1q4b8623mygzp3qwy5bmb3hipzjfri9007x0ilq3i7k5bs34jz9r"
+   "commit": "5f6ef3156fadae5af6f381d674d20535529a20e4",
+   "sha256": "02rmc7naspjfl757k7zdfg9xd6nvfpsiqfcxkj6ywc7mnndpq2c0"
   },
   "stable": {
    "version": [
@@ -98143,11 +98473,11 @@
   "repo": "ethereum/emacs-solidity",
   "unstable": {
    "version": [
-    20210505,
-    1704
+    20210622,
+    931
    ],
-   "commit": "383ac144727c716c65989c079ae76127e25144c3",
-   "sha256": "1q4b8623mygzp3qwy5bmb3hipzjfri9007x0ilq3i7k5bs34jz9r"
+   "commit": "5f6ef3156fadae5af6f381d674d20535529a20e4",
+   "sha256": "02rmc7naspjfl757k7zdfg9xd6nvfpsiqfcxkj6ywc7mnndpq2c0"
   },
   "stable": {
    "version": [
@@ -98643,11 +98973,11 @@
   "repo": "nashamri/spacemacs-theme",
   "unstable": {
    "version": [
-    20210206,
-    1428
+    20210706,
+    1210
    ],
-   "commit": "c8c468580048e2464f012d171b2101bfb208e33d",
-   "sha256": "1rbv04smfyhm5qm3ghn9vsl0sm4lv20gkpw2zdzrf0l3nkb7dx45"
+   "commit": "dfe06629f8211ccd9933fc0d457019401ecbe594",
+   "sha256": "1apa6bp3lxs6jia37k079yd3qx79wclzh02bf66xpsqkwc2xg5fr"
   }
  },
  {
@@ -98718,14 +99048,14 @@
   "repo": "ljos/sparql-mode",
   "unstable": {
    "version": [
-    20200429,
-    1719
+    20210701,
+    1202
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e8c9345e2e2427282b3dc9cd1e297e3c76d34f7f",
-   "sha256": "1i799cq0dydq7jdhc1b2ridlsmmkk85286g9r6nj6kif3177l171"
+   "commit": "ceb370b3879841f8809cc3f9b1b87e898f10562f",
+   "sha256": "05vbsfyck0nxa0bsg7jjshjzh7719gx6z6i9i4ayxcfygh3wh6xz"
   },
   "stable": {
    "version": [
@@ -98763,11 +99093,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20210415,
-    1821
+    20210629,
+    1739
    ],
-   "commit": "86c223a2db529768fd815dc0635ed432c1a215e8",
-   "sha256": "1bz6186w83xmajnw489dc1la7b6gly9vrp40mh58gknk5fjdx86w"
+   "commit": "b915b063f9de2eff4b9a37c04559a3f2fbfdba84",
+   "sha256": "1skwcsv8cvjfsgncgd4hybkhjdf6clb65pnpqfh9jxc866aw9n39"
   }
  },
  {
@@ -98805,11 +99135,11 @@
   "repo": "brailcom/speechd-el",
   "unstable": {
    "version": [
-    20210607,
-    2032
+    20210702,
+    1954
    ],
-   "commit": "2ffae385139936a03e1d1a96993d3bf5f9509bbf",
-   "sha256": "1kwg74qy66kwhsl2pqn4cvkrqrfdvyyaz13h4h1bqpxckb1dc05z"
+   "commit": "7f3d3d3545078df2f4a37094c618993145c731d2",
+   "sha256": "126chadfvsfpwa196811s2i8zr4cs1g413ssy52apn2fpzrb3vmp"
   }
  },
  {
@@ -98894,11 +99224,11 @@
   "repo": "ideasman42/emacs-spell-fu",
   "unstable": {
    "version": [
-    20210415,
-    1326
+    20210617,
+    426
    ],
-   "commit": "fae15427a1027e5eafdff7e5627cd399f73dbc37",
-   "sha256": "05xarav1dw4315rh4qchvf6p9vsdyg09nm9rc6k657n4r8ip725c"
+   "commit": "1abcb5594e1bfe35716d29e64523e4cebdce737c",
+   "sha256": "0hk3cly374sgiwdf3crjj45afr8nv4jq4bda1vkdb9yqjla0xw8s"
   }
  },
  {
@@ -99482,11 +99812,11 @@
   "repo": "srfi-explorations/emacs-srfi",
   "unstable": {
    "version": [
-    20210528,
-    2053
+    20210701,
+    23
    ],
-   "commit": "c4ff94490dd8124e633f907f94955b30b7a4d8d4",
-   "sha256": "065n3x1mzhjgkyvy5j3fgqa75npxqp1dq05xgac9pqgcr2j09mi6"
+   "commit": "a92d2a4f748f124910d406a9386979688f7f28a5",
+   "sha256": "1gfqskdng23dpacvmypyc2jsrw15hrrwq84qmlnwyibf0g0pjj1f"
   },
   "stable": {
    "version": [
@@ -99599,11 +99929,11 @@
   "repo": "jhgorrell/ssh-config-mode-el",
   "unstable": {
    "version": [
-    20210517,
-    1925
+    20210714,
+    951
    ],
-   "commit": "ff9a15ec150baef21d7d8c6f79c5602e56825391",
-   "sha256": "1nvsxj616lgciysmvzpwfpq7dv0alkv2ma4gi9b4j3vjwm0rzbry"
+   "commit": "1c8f8779f20479e55f9d3d1151f1f68c1dff56f2",
+   "sha256": "0vcs6bz3qzw06c7bs253m9q2l43k8nppzdv7hqbybcdh4fakp8xw"
   }
  },
  {
@@ -99614,11 +99944,11 @@
   "repo": "cjohansson/emacs-ssh-deploy",
   "unstable": {
    "version": [
-    20201016,
-    1439
+    20210626,
+    2228
    ],
-   "commit": "fce4ea35f09ed5899c1a2dfa3527bc2dd5ca3ba5",
-   "sha256": "10banrq8p0v10237yy2f04i0vvpjdz0by9cp92ambw94c3l3ii8f"
+   "commit": "7c5fe8af2d62d8f6d32ebe2d3bfc53051a9432d1",
+   "sha256": "1ca1ai742g2901pni08clk37h1ls4n65pzxpsfzsxnr7i46yh989"
   },
   "stable": {
    "version": [
@@ -99910,8 +100240,8 @@
     20200606,
     1308
    ],
-   "commit": "311caea3f11330a42a37efe078305b4ce42e53ae",
-   "sha256": "1hfr36xb24y829pcd4maw206lyhrb3qwxxzj6gwh3a0nw8s1sr1m"
+   "commit": "ba12f620074b5a6e6615e2963bdc79fbba6060eb",
+   "sha256": "1gjmzm8lx8fas9phkbvy3rz9dyzqgdjs2ddd3l9biqqggwka0pa0"
   },
   "stable": {
    "version": [
@@ -99960,11 +100290,11 @@
   "repo": "motform/stimmung-themes",
   "unstable": {
    "version": [
-    20210430,
-    839
+    20210610,
+    1256
    ],
-   "commit": "eac0f54da5ff116622a6448b68057b45c337f2de",
-   "sha256": "0b7glyq3z98vi7f79zg0phqm6ibc30lq2m4mwy22gg0941rr2zja"
+   "commit": "e69b7532ceb27126fb9516c9a8aff652b032088a",
+   "sha256": "1jcqcf34d55r1z786gpkj7jwap646izk498pn2dia7skiwwljx5b"
   }
  },
  {
@@ -100075,20 +100405,20 @@
   "repo": "akicho8/string-inflection",
   "unstable": {
    "version": [
-    20200927,
-    747
+    20210712,
+    755
    ],
-   "commit": "c4a519be102cb99dd86be3ee8c387f008d097635",
-   "sha256": "0f3nkfdpngax4zfw75jca2wywwh31ha6ywddh4125lbxi3y6m7s9"
+   "commit": "bf60b0c943cc0934aa188ada7c1c16053517df07",
+   "sha256": "077qxldhya397ka96786w0876bwa77x0il3zwixa9pcbqmqsg8qd"
   },
   "stable": {
    "version": [
     1,
     0,
-    12
+    13
    ],
-   "commit": "c4a519be102cb99dd86be3ee8c387f008d097635",
-   "sha256": "0f3nkfdpngax4zfw75jca2wywwh31ha6ywddh4125lbxi3y6m7s9"
+   "commit": "96a9baf4936df43b9f46804629384b79238691c3",
+   "sha256": "1v8h05m7iwxqp7lypdngib2620z0x23zc715vxqpqys79djwh9yh"
   }
  },
  {
@@ -100268,11 +100598,11 @@
   "repo": "PythonNut/su.el",
   "unstable": {
    "version": [
-    20210226,
-    42
+    20210626,
+    2025
    ],
-   "commit": "787f78989253f4568942a4cece5f135f005e135f",
-   "sha256": "1sr6lwjd2py0pncbx4qxa8wfxa3fnmfhxr944aid672hba2pdx7s"
+   "commit": "36db018de8423a6e380a49d4e602d376a0740f6d",
+   "sha256": "08vma290dxzjxyn4df2i1kjzm24myxvsll9cxky277asbb8ja74z"
   }
  },
  {
@@ -100400,14 +100730,14 @@
   "repo": "nflath/sudo-edit",
   "unstable": {
    "version": [
-    20210108,
-    420
+    20210706,
+    534
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "a7ae1713bb659988bb1465a13b837fbc2d699504",
-   "sha256": "1hncxbg5lvywzkwvdmzvrz71midy4samjq2vvxxhz90z1y5l8l29"
+   "commit": "23b78a39053088839f281bc0c3134203d7e04e50",
+   "sha256": "1c8rrrxq8i287a7r1qwrqhfyrl84jfcpnjxiqczwjmc95r510yyz"
   },
   "stable": {
    "version": [
@@ -100933,26 +101263,26 @@
   "repo": "swift-emacs/swift-mode",
   "unstable": {
    "version": [
-    20210518,
-    728
+    20210613,
+    543
    ],
    "deps": [
     "seq"
    ],
-   "commit": "4a5f57722e06dad3bbbb1a496ef7d1b732ac7c46",
-   "sha256": "05x6xy29dym9pn8kssiwhn34c1vwxgsb9jnfq6n0ii5inlw0vx2g"
+   "commit": "1b47a09f1c0e15c543e0551e7f1e643f437e7711",
+   "sha256": "1f12rmsxzjz0ixrzvi37gj6kqkjp08mym0qvnxdmqiackagxp2rq"
   },
   "stable": {
    "version": [
     8,
-    2,
+    3,
     0
    ],
    "deps": [
     "seq"
    ],
-   "commit": "fd3c824c3622aef4ad29983667f34ebad91e9f69",
-   "sha256": "1s60j7778n8vl53capi1bs5mbb1g2vwaaa4y7wdv6ajrlxh95a5x"
+   "commit": "1b47a09f1c0e15c543e0551e7f1e643f437e7711",
+   "sha256": "1f12rmsxzjz0ixrzvi37gj6kqkjp08mym0qvnxdmqiackagxp2rq"
   }
  },
  {
@@ -101023,8 +101353,8 @@
    "deps": [
     "ivy"
    ],
-   "commit": "040d458bce4a88f37359192061bcea5ebe87007c",
-   "sha256": "0lgpawrsvihksm9cx462qa1hsmxhhv1qp0h1f9m4wn1jrcrq7r24"
+   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
+   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
   },
   "stable": {
    "version": [
@@ -101234,14 +101564,14 @@
   "url": "https://tildegit.org/contrapunctus/sxiv",
   "unstable": {
    "version": [
-    20210514,
-    918
+    20210713,
+    1845
    ],
    "deps": [
     "dash"
    ],
-   "commit": "a531a7596e307a218beb8ff77893eeae61284f6e",
-   "sha256": "0gimq172pp143jckfhhyw319n3vpjvlkadm0vhypycas9i89mcg0"
+   "commit": "14057b156dd57610edf101403e653be874a342bb",
+   "sha256": "14wh7fw45w5cfdqibrcfzahsf4cwbi97xp16jd773ynkcf049cjs"
   },
   "stable": {
    "version": [
@@ -101354,8 +101684,8 @@
   "repo": "countvajhula/symex.el",
   "unstable": {
    "version": [
-    20210528,
-    406
+    20210630,
+    1816
    ],
    "deps": [
     "evil",
@@ -101367,8 +101697,8 @@
     "seq",
     "undo-tree"
    ],
-   "commit": "1b6466e75295bbf7847253dfb6bf580b1c68eb9f",
-   "sha256": "1rbb7zl45x9xkf05601j05vq3f3hj0nh3rbv16a3n8d0ab5qnvhr"
+   "commit": "740d80599c0a1ff0882e231e46c61ba16c83cd84",
+   "sha256": "1zfjdrm88c16czmi4i6rm87nafpyrjpjkj79cg44l9cizyv5198q"
   },
   "stable": {
    "version": [
@@ -101601,15 +101931,15 @@
   "repo": "vapniks/syslog-mode",
   "unstable": {
    "version": [
-    20190913,
-    2040
+    20210714,
+    1932
    ],
    "deps": [
     "hide-lines",
     "ov"
    ],
-   "commit": "18f441bf57dd70cdd48a71f1f4566ab35facdb35",
-   "sha256": "1xl6immya0i5xjpls3vqdqj9rr5jxp5srny8l9j4qxf8kp75byqa"
+   "commit": "ff1ab94c0f65e9891656d78d84f71614e0b9a597",
+   "sha256": "1x0xlbiisq8wngxhznkhxavhrhbc1w5p5w1qgfxib16fr09aqyc5"
   },
   "stable": {
    "version": [
@@ -101761,14 +102091,14 @@
   "repo": "fritzgrabo/tab-bar-groups",
   "unstable": {
    "version": [
-    20210526,
-    2044
+    20210615,
+    1915
    ],
    "deps": [
     "s"
    ],
-   "commit": "63af8dced377a346b4559145b2e6e1767263f916",
-   "sha256": "16628wjk14h99z9i822xjv8fkxra6n65nafm3cr3ci86qd00j7a2"
+   "commit": "a2e456097322d0b1cfdb7aa37c32a628bcca3bf0",
+   "sha256": "19ni9bl34hzmqsb9wiznbghw67m7g9zz3z5m3wgndn9zsj37ccka"
   }
  },
  {
@@ -101803,10 +102133,10 @@
  },
  {
   "ename": "tab-jump-out",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "1p2hkj0d9hbiwbf746l3rad8a5x6hk97b0ajl6q6cwbmy2qm3cca",
+  "commit": "f84b8d995a13b8d30d15b3bf9f671dd06fb8522b",
+  "sha256": "0yyncbgdbw8lgjaycmky7wxhhxaqydks25qf565n2xj87snc5l7n",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/tab-jump-out",
+  "repo": "victorteokw/tab-jump-out",
   "unstable": {
    "version": [
     20151006,
@@ -101985,11 +102315,11 @@
   "repo": "tmalsburg/tango-plus-theme",
   "unstable": {
    "version": [
-    20210505,
-    1051
+    20210615,
+    1229
    ],
-   "commit": "f31d282a70b0eb24470935438af59de96ddace2e",
-   "sha256": "1f3kxc9l0f4r7fxhrz77lghn4847f3b7dk8j84sn6d5zr436by8n"
+   "commit": "6ad64d82c8bd8c559b9023cd70b1c2d0c18e9060",
+   "sha256": "0ig8ng5ycdf256phigh3fzalvd0ncvs54f7kfpq0gp43ky9sgvz0"
   }
  },
  {
@@ -102230,28 +102560,28 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20210607,
-    1622
+    20210711,
+    1323
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "0fcca201db99fbe93e8b0fd404dc00fd55cd658a",
-   "sha256": "0nqx5sddfa9442dgsssp022rfarznnq69gclj4h5kk726rkf9cid"
+   "commit": "377531fc19063b490b842e779df9b07195e8c496",
+   "sha256": "0gmjfw6kz5cflvj3zmyhw9qad850ckvq14k5vys62603yvm53qgw"
   },
   "stable": {
    "version": [
     0,
     7,
-    24
+    25
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "9187e6e3d903474645f3e64806bc62ef687ec205",
-   "sha256": "1ra04cp49zzx8vy8aswd00l46ixyc44sxh1s3nw880b4ywzxmc6j"
+   "commit": "f979ac79070c39a4c483c08df96080763287ce4e",
+   "sha256": "1fdvghwpmja94d65p02j7wa09lwjs3ah1kfb1v17b6l9qd5g80nc"
   }
  },
  {
@@ -102839,10 +103169,10 @@
    "version": [
     1,
     1,
-    0
+    1
    ],
-   "commit": "77181c75cbde5954542688659cd4f2352ed29fbe",
-   "sha256": "1bcwja7hm11hxd1nmf1z93hkzcvkkpxavvbivg6j336ygzr1r82g"
+   "commit": "5d35efbf2c1619d9385ef00ed74e9de1ea7cf32d",
+   "sha256": "11df5606hiqgglxi6xrrljwh70h2wgkib447ggvs2r3f2jayilr4"
   }
  },
  {
@@ -102853,15 +103183,15 @@
   "repo": "emacsorphanage/terraform-mode",
   "unstable": {
    "version": [
-    20201208,
-    1827
+    20210621,
+    1953
    ],
    "deps": [
     "dash",
     "hcl-mode"
    ],
-   "commit": "a9fa5bdaf58e9cae32ee44b7d0883f5600441b05",
-   "sha256": "12v8mldxpa32v63zg4y3c7dihbw4v5agy3kd9rpiyymf6z0pcad5"
+   "commit": "e560caaa9d9a11b0868adf6d9dcae5ebb5055730",
+   "sha256": "0r4zw6jwn5v1xzzbc1195jblhcg3ikbmz3wiwy462qzib56bj8d3"
   },
   "stable": {
    "version": [
@@ -103178,14 +103508,14 @@
   "repo": "myTerminal/theme-looper",
   "unstable": {
    "version": [
-    20201107,
-    4
+    20210714,
+    1807
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "6bc170097f1dfb7ea4db91544c5ab653279e15cd",
-   "sha256": "0amm2jw86nyjzrga93n7jhz7p603mid46y41dsw2x8wz2rbh06r2"
+   "commit": "bb711c4bb992d7a129dd434a41a356cdaf8c387d",
+   "sha256": "09i7w2s594ksyi7a9bwpcycn4j7is19jh9kznrk39ar2kc3m118h"
   },
   "stable": {
    "version": [
@@ -103321,18 +103651,18 @@
     20200212,
     1903
    ],
-   "commit": "a67ce1533462256ff418027a3aa56516a1139d02",
-   "sha256": "0f20x4bklq32lcwa2ihnlnb6ri884xx7dyhg62yqz9y4w8filhhv"
+   "commit": "b157feff61c3bdefb138753af7636dae5a7b3c08",
+   "sha256": "1dnspcmni98xhcz21604238lskdqn6b4kpv2zllvq58si59q32mw"
   },
   "stable": {
    "version": [
     2021,
-    6,
     7,
+    12,
     0
    ],
-   "commit": "ec71afa89573c92de4a2a2ab87a51bd9021f5819",
-   "sha256": "0h3b89nb8sshhc52fxsgpdiqr85mfg1rpzp69qmiiwx1yz0b66wi"
+   "commit": "faeb22efa9ed948e6096e37e65e6d121c83e329a",
+   "sha256": "1adaqcdzzrrff0186276pdmlqixkv47qfgyxap3by9zdiqwysd50"
   }
  },
  {
@@ -103388,20 +103718,20 @@
    "deps": [
     "haskell-mode"
    ],
-   "commit": "cfc231660a642b2451f874824365931419ab45a0",
-   "sha256": "06wqsljigm7hvycvg4p5rilivr8g7im300jlnm1r463dc1d12kjh"
+   "commit": "95c065a410c20cbeefeaabc3084b2b09d09564c2",
+   "sha256": "02xbzwj1bf0n4lvg1rycmxsbvwi0p0h9a5fqx755kshwx5hngkx3"
   },
   "stable": {
    "version": [
     1,
     7,
-    4
+    8
    ],
    "deps": [
     "haskell-mode"
    ],
-   "commit": "652d7a4e374d3c171278e6bdfccfa41c7621d4d3",
-   "sha256": "11590ifnh9ynwcfv31f5m59wr6ckrm3xi2g40wvk4ddxslj4yxnh"
+   "commit": "95c065a410c20cbeefeaabc3084b2b09d09564c2",
+   "sha256": "02xbzwj1bf0n4lvg1rycmxsbvwi0p0h9a5fqx755kshwx5hngkx3"
   }
  },
  {
@@ -103637,11 +103967,11 @@
   "repo": "aimebertrand/timu-spacegrey-theme",
   "unstable": {
    "version": [
-    20210607,
-    1412
+    20210710,
+    1950
    ],
-   "commit": "34a4499fac484c369774e356373b1f4994d65176",
-   "sha256": "11cjyiwi87rv9lj09810aazxgphdhpxpfhbhzr64176vqgmb8khr"
+   "commit": "e0629d59adc92112f51b5f9300e06e714349488d",
+   "sha256": "104zffdf0jlfqh6rlzl7a7ji5gs11pacy63ab4rjs2kx08p3z0y9"
   }
  },
  {
@@ -103800,11 +104130,11 @@
   "repo": "dalanicolai/toc-mode",
   "unstable": {
    "version": [
-    20201028,
-    1141
+    20210714,
+    725
    ],
-   "commit": "36fe728f387ab2087e4096cb4734a8642dd7f880",
-   "sha256": "1v3h1aw8p98rhy3mx8nngwl0v0pzk6pabr9mmah20cdgz1j8ax0s"
+   "commit": "977bec00d8d448ad2a5e2e4c17b9c9ba3e194ec2",
+   "sha256": "1yshkvsa5g6gxn9agf4z5ks5bd43l4akdcblxfgqkpshp25y5plv"
   }
  },
  {
@@ -104279,11 +104609,11 @@
   "repo": "jorgenschaefer/circe",
   "unstable": {
    "version": [
-    20210528,
-    754
+    20210713,
+    1609
    ],
-   "commit": "c0b2f997b3b73640d635ee84627bb8cf36c9adfe",
-   "sha256": "1kjfch0fhq67iivad56s071c8qlsssdsdg83h5v9iz2x4jipm0wa"
+   "commit": "07d6d82cba864b1e38d3bd46654f2e1928a997c2",
+   "sha256": "04h60s6ig43sj144s7dlip1saf9kdwvzlfys8qwwx48003rbs0dp"
   },
   "stable": {
    "version": [
@@ -104386,20 +104716,20 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20210530,
-    2252
+    20210712,
+    1626
    ],
-   "commit": "a96818c93a10d9ef9bb14e5c0b9fdc1a808b13b9",
-   "sha256": "1mvccsfalnr4ybsgqazxcw62vfhigxg61y6v98k2fqncnmsbripa"
+   "commit": "e90481000f071e9a26a1cc0f40d347f7d3e2201e",
+   "sha256": "1sw9248cxr3x2hy2rhyzbwik08nvlkglxgig3rbqshc8spnid5h3"
   },
   "stable": {
    "version": [
     0,
     3,
-    4
+    6
    ],
-   "commit": "b47e9d7d769437e279628d801a95c173c4ff26b4",
-   "sha256": "16z0j69sk7k51sd1vri3y2v0xjj0w7wpf5mmwnsxp8y6d3m0yjbv"
+   "commit": "51e833e5152e9fdcdc1dbbf34ad2d4905bde1f69",
+   "sha256": "10k9dzs8y6i0rfckclxm5n3maylmh95993n5dvrs8rbmlcpmihvy"
   }
  },
  {
@@ -104447,14 +104777,14 @@
   "repo": "holomorph/transmission",
   "unstable": {
    "version": [
-    20210218,
-    2015
+    20210705,
+    2152
    ],
    "deps": [
     "let-alist"
    ],
-   "commit": "b5c1d391b4be469a07536e901e54a8680387025f",
-   "sha256": "1z3gzax6i9cwipmi64hg3h98haimlb0xsz4zm1ggqwwq1zd5csvp"
+   "commit": "a03a6f5c7b133e0a37896b6d993dd6d6d4532cc2",
+   "sha256": "1znpl4ps0ah6lmrlyha6wbkbvnx90qkvksp5xp87apfb61zqzqwz"
   },
   "stable": {
    "version": [
@@ -104519,8 +104849,8 @@
     20200910,
     1636
    ],
-   "commit": "20694aae145edd6ad496a395ef1a53ab37a59521",
-   "sha256": "01afsgkzn5y4ld5m1gmvai8pgdy73kmllivmz18a2q9fdrgaa6xb"
+   "commit": "d2651b913a6ec615e6285712833566a79dca7247",
+   "sha256": "0pw401npbahlii6x37c6mi66ghd16mv04d6y0d1nirflvg4nfl8a"
   },
   "stable": {
    "version": [
@@ -104760,8 +105090,8 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20210606,
-    1918
+    20210713,
+    2032
    ],
    "deps": [
     "ace-window",
@@ -104773,8 +105103,8 @@
     "pfuture",
     "s"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
+   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
   },
   "stable": {
    "version": [
@@ -104810,8 +105140,8 @@
     "all-the-icons",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "a6f9e9f1cea3502b3ead082fd208c4011a55add0",
+   "sha256": "1g004yj613x6qr06gaffb6rp2n47ximb1w8776l0s6w8d40msyyg"
   }
  },
  {
@@ -104829,8 +105159,8 @@
     "evil",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
+   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
   },
   "stable": {
    "version": [
@@ -104853,14 +105183,14 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20210605,
-    1118
+    20210630,
+    1953
    ],
    "deps": [
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
+   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
   },
   "stable": {
    "version": [
@@ -104891,8 +105221,8 @@
     "pfuture",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
+   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
   },
   "stable": {
    "version": [
@@ -104924,8 +105254,8 @@
     "persp-mode",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
+   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
   },
   "stable": {
    "version": [
@@ -104957,8 +105287,8 @@
     "perspective",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "a6f9e9f1cea3502b3ead082fd208c4011a55add0",
+   "sha256": "1g004yj613x6qr06gaffb6rp2n47ximb1w8776l0s6w8d40msyyg"
   }
  },
  {
@@ -104976,8 +105306,8 @@
     "projectile",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
+   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
   },
   "stable": {
    "version": [
@@ -105185,15 +105515,15 @@
   "repo": "alphapapa/ts.el",
   "unstable": {
    "version": [
-    20201212,
-    1041
+    20210705,
+    341
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "b7ca357a0ed57694e0b25ec1b1ca12e24a4ce541",
-   "sha256": "12p4k8x1p0h94xcdis7m0vkzf41k5k3ijkaj838ywb7i74myfdxb"
+   "commit": "b6814e7e688781a586a775ef3504b9252af65b93",
+   "sha256": "1bf39qx8k7nn1dj1fp6j47zr1lp28ccrj6ciz7z3dk040rlxnv11"
   },
   "stable": {
    "version": [
@@ -105314,14 +105644,14 @@
   "repo": "ocaml/tuareg",
   "unstable": {
    "version": [
-    20210605,
-    1629
+    20210709,
+    321
    ],
    "deps": [
     "caml"
    ],
-   "commit": "24c1a1adbe51d93f681e72442fa73f885eb33776",
-   "sha256": "1cp6g117kfmwfqb7sq4y4jx8ggp29f4hz2kz5g3355s8zhjlld2y"
+   "commit": "b59c422759506402f990b089dbaa91c0578e2c2e",
+   "sha256": "1maqyhy82ayfiv95ng4bpgxrvjkkz331pw4ld1x99jpwqljpwqzc"
   },
   "stable": {
    "version": [
@@ -105738,6 +106068,30 @@
   }
  },
  {
+  "ename": "uci-mode",
+  "commit": "0779d9728de07e3115b48997f2623d1fc5c313c7",
+  "sha256": "0idk3flaq316ynf02226j4hww8rlb60ssikqkjh69n0r31ygg0q3",
+  "fetcher": "github",
+  "repo": "dwcoates/uci-mode",
+  "unstable": {
+   "version": [
+    20210626,
+    1956
+   ],
+   "commit": "2cdf4de5af96d56108a0a5716416ef3c8ac7bb7c",
+   "sha256": "133vrnbann0ibsm14h7ghdx8f9i92niazbw8r49srx2xx0jv3lk6"
+  },
+  "stable": {
+   "version": [
+    0,
+    5,
+    5
+   ],
+   "commit": "2cdf4de5af96d56108a0a5716416ef3c8ac7bb7c",
+   "sha256": "133vrnbann0ibsm14h7ghdx8f9i92niazbw8r49srx2xx0jv3lk6"
+  }
+ },
+ {
   "ename": "ucs-utils",
   "commit": "c9db386ab3910940addae6e925b2ac17e64e0f87",
   "sha256": "111fwg2cqqzpa79rcqxidppb12c8g12zszppph2ydfvkgkryb6z2",
@@ -105931,8 +106285,8 @@
     20200719,
     618
    ],
-   "commit": "d4edb2cc110f1679ebc82cb52a4242cbc74636db",
-   "sha256": "0agn2j0qd516kxqx1bh6ajpandi8vz7zas966nw88yhv8m8hlzb2"
+   "commit": "741ab716ada8e71a94a9dae3daa4236298d29bd7",
+   "sha256": "1ibjwmvx4p7kchxlnfpqxj4p3k99nwxwhzk4m2b1yyswpiad2k0z"
   },
   "stable": {
    "version": [
@@ -105990,11 +106344,11 @@
   "repo": "ideasman42/emacs-undo-fu-session",
   "unstable": {
    "version": [
-    20210418,
-    920
+    20210617,
+    1327
    ],
-   "commit": "243d93b4c7c1224e7067cd323f64d23dfdfe7c0e",
-   "sha256": "1gdx6kir0a0v7q2ai59miibch9hccqlnx2y88qswfpqr9pf7z6vm"
+   "commit": "579936966b41d2d6782f587509fef21477141374",
+   "sha256": "1sqjp84hi81q62pyx7py7zvmkwdywh106i6jqqnmgkv0ai9cb2ml"
   }
  },
  {
@@ -106224,11 +106578,11 @@
   "repo": "astoff/unicode-math-input.el",
   "unstable": {
    "version": [
-    20210110,
-    1431
+    20210612,
+    847
    ],
-   "commit": "b46fc1d4cc5ab5c2bca3de1e5e43c8f53f1d343b",
-   "sha256": "1g84ynppdv46lhsrl0bgvdvlkijhzns4knkldgmbdhsjafvnz8cw"
+   "commit": "2788d7824d23749a6e5b33f653c47471455da187",
+   "sha256": "1kqaqzlgf9gqxf3fzy41m606h7ridp5iik1w5a0dpq86ni23r77c"
   }
  },
  {
@@ -106805,8 +107159,8 @@
    "deps": [
     "exec-path-from-shell"
    ],
-   "commit": "43499194224483b27628fdf99f6f9ff6e731d844",
-   "sha256": "1j6vkg0z7m8yzrgy0innq7r2d5pchbqs3y5gf51qdzsfqdmff3ys"
+   "commit": "31d8bbec16eff342bd4c02b0cb12ea31dd31bf19",
+   "sha256": "0388kwc65hpbimd53br2x9z9dvxw20wnny09kldw5nnlvzvzrba1"
   },
   "stable": {
    "version": [
@@ -106835,8 +107189,8 @@
    "deps": [
     "s"
    ],
-   "commit": "408c01423d7036463891d83e4a21227250ed2a14",
-   "sha256": "1jz7x93c14f2nm8iqc30kzfjbn5bcdvxxnfljvwj77mwgir2ali8"
+   "commit": "aa6e271e8efc3a93caaaa740245d126d24e778ab",
+   "sha256": "0a8qb7wyi5pkg7g0x7imzzxryz55dr8msiila9j9skq6jlmn84hl"
   },
   "stable": {
    "version": [
@@ -106880,17 +107234,20 @@
    "deps": [
     "tuareg"
    ],
-   "commit": "bac3946079a98df00f31656dc10c6c9f1a8bc422",
-   "sha256": "1wbmr0n384501i97x0akcfwcigklwqgwvhdwgxw6zxxn5wdg60b2"
+   "commit": "c87b8b2817eefd0cd53564618911386b89b587c5",
+   "sha256": "1zf4hg33sblzh2f65vk0292jg4jlwa8702kfwpsg1kcg4w6nsfdp"
   },
   "stable": {
    "version": [
     2,
-    7,
+    8,
     0
    ],
-   "commit": "a5ff52bbf608e1112b5c0d41a36e3267f39f4084",
-   "sha256": "125cv7kwvr1xj52yfb5qlra2li2hikbqnqvqdasn0rq3pkj7f02b"
+   "deps": [
+    "tuareg"
+   ],
+   "commit": "c87b8b2817eefd0cd53564618911386b89b587c5",
+   "sha256": "1zf4hg33sblzh2f65vk0292jg4jlwa8702kfwpsg1kcg4w6nsfdp"
   }
  },
  {
@@ -106939,15 +107296,15 @@
   "repo": "damon-kwok/v-mode",
   "unstable": {
    "version": [
-    20210425,
-    411
+    20210608,
+    629
    ],
    "deps": [
     "dash",
     "hydra"
    ],
-   "commit": "96ca8dad3a3a402a44bf9066591fe27fa2e4fd9a",
-   "sha256": "08n577b8xr1pv2mdzqzdbkd5j0pih7zd4z4p5y5w4hq72mcid43q"
+   "commit": "3afbd72180417ada6aeeec861081495aca962124",
+   "sha256": "0is9hdh8w87l9x84ihhcd040z8m7cy2321q2rmbfmpffaaja90cl"
   }
  },
  {
@@ -107205,19 +107562,19 @@
   "repo": "muffinmad/emacs-vc-hgcmd",
   "unstable": {
    "version": [
-    20201211,
-    1339
+    20210608,
+    1030
    ],
-   "commit": "d23de9d10ff68b4c2302ab956f3ba3bb5d3858ee",
-   "sha256": "14c2brvw6vnf1h3lbpap4jh5d7mjnzxrbny4jk77832v09mj2ria"
+   "commit": "c00d792b34219a387832f8f9b4a689d7972f592a",
+   "sha256": "05gjyq4cpc79ipiyl3j263cw6mdbfxmh7wvsxsxavp21q588fb0y"
   },
   "stable": {
    "version": [
     1,
-    13
+    14
    ],
-   "commit": "d23de9d10ff68b4c2302ab956f3ba3bb5d3858ee",
-   "sha256": "14c2brvw6vnf1h3lbpap4jh5d7mjnzxrbny4jk77832v09mj2ria"
+   "commit": "12e102f8359095953e06ed17c7223cd6638e5cea",
+   "sha256": "1mm8lnwii53j32v54aahl8sf3ciwymrvc1rgy4nw2m7hcrnjsb78"
   }
  },
  {
@@ -107374,16 +107731,16 @@
   "repo": "justbur/emacs-vdiff-magit",
   "unstable": {
    "version": [
-    20190304,
-    1707
+    20210614,
+    1630
    ],
    "deps": [
     "magit",
     "transient",
     "vdiff"
    ],
-   "commit": "b100d126c69e5c26a61ae05aa1778bcc4302b597",
-   "sha256": "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"
+   "commit": "fa62a260411387702dd4cc4791075c737519001f",
+   "sha256": "04n47g3ffnh3bjq5575b6l046cpy7dixksfjy8pzsgh9ah1h37lz"
   },
   "stable": {
    "version": [
@@ -107592,8 +107949,8 @@
   "repo": "koral/veri-kompass",
   "unstable": {
    "version": [
-    20200213,
-    934
+    20181103,
+    1246
    ],
    "deps": [
     "cl-lib",
@@ -108264,17 +108621,17 @@
  },
  {
   "ename": "vs-dark-theme",
-  "commit": "60b9b00d18334f2d7b737e3cc6b3c733e1b163e4",
-  "sha256": "0didkb2zd9ac7h1ccwi9y1q5mcqpwxyws7nsk5g8rhrkygdf9lds",
+  "commit": "094a9cbc18882daa4f2efd3d72bb0a34e6bd9f63",
+  "sha256": "1rz2flacnh6h40k559l0r1vwcnx89w4j9ipp1ysnh8rzji3wl07k",
   "fetcher": "github",
-  "repo": "jcs-elpa/vs-dark-theme",
+  "repo": "emacs-vs/vs-dark-theme",
   "unstable": {
    "version": [
-    20210427,
-    727
+    20210627,
+    2121
    ],
-   "commit": "5a826e6ea3e9edd9241e3253ce97333955c8ae1a",
-   "sha256": "0q94crd6m6m000gjxwv92jz9rphmnr5wg7jzf6yig1hlhfqjgw9v"
+   "commit": "28398f1059f88e7e242f39cfa0ff8213cdaefc42",
+   "sha256": "0ln5idsmj7x0b769g7bj9wk0bjr826kq4bryw206dxxnz06s3wcs"
   },
   "stable": {
    "version": [
@@ -108287,17 +108644,17 @@
  },
  {
   "ename": "vs-light-theme",
-  "commit": "c997456be95ece85fdef87905e9e14fe308fd827",
-  "sha256": "02w5zyxf34r1lvk56s3xbkzpvinbwsyv1h685hg9vhn0yy0a23ns",
+  "commit": "a1258f6afe69d0a13c19246a8b8bd2e5b1a67b48",
+  "sha256": "14wbqim0bghxwp45qwjh7nc3gi91jaapakaq3x0ypyw8l6xxrbnm",
   "fetcher": "github",
-  "repo": "jcs-elpa/vs-light-theme",
+  "repo": "emacs-vs/vs-light-theme",
   "unstable": {
    "version": [
-    20210427,
-    727
+    20210627,
+    2121
    ],
-   "commit": "e324120248c1d513a6516edff250d161f876aad9",
-   "sha256": "1jw9cbbvm76ijvcrkkn27r3n6qw14jxbirdc0bryv4k12yiwla9m"
+   "commit": "500d35f051fca07459abd163d5692c853a49329f",
+   "sha256": "1k5akiim0c0qiv10np5yzdndz8p499qhzhhrp1i8dz36gbp5x8ll"
   },
   "stable": {
    "version": [
@@ -108334,8 +108691,8 @@
     20210530,
     629
    ],
-   "commit": "961c8c1fdd7eb874d4e2ce386d5e6d1f318b5b72",
-   "sha256": "1dga7yhb5pnqj5d86pvzbabrq05xj1ppx6g0hinhm8z6m8h6y540"
+   "commit": "bcae11818d74aa0de8e592b8349d90e512444758",
+   "sha256": "1rmdin9z68xkxqjhvhyklbby5mxs3qf4wx9c07945p4ps80w8z5g"
   },
   "stable": {
    "version": [
@@ -108370,11 +108727,11 @@
   "repo": "akermu/emacs-libvterm",
   "unstable": {
    "version": [
-    20210409,
-    1558
+    20210618,
+    1922
    ],
-   "commit": "2b1392cb2b14ec5bd0b7355197d5f353aa5d3983",
-   "sha256": "0cz0zfq5lannqq2ivmp6zv9r3fybkykx2vl4vn614rij23lylbwc"
+   "commit": "d9dfa624679afdd5db6ad25429ef86d3dd91401e",
+   "sha256": "07nk6bw70mi9r3kgs5b11pfwfvfa73xwdl3xgclv8l7k87yysd69"
   }
  },
  {
@@ -108385,14 +108742,14 @@
   "repo": "jixiuf/vterm-toggle",
   "unstable": {
    "version": [
-    20210531,
-    1453
+    20210629,
+    927
    ],
    "deps": [
     "vterm"
    ],
-   "commit": "afe60b814d9d045b968f4a464bbedb241b35392b",
-   "sha256": "007spqyc474k8fxi6l3s0jh8dg18d9b07wvz3lvbyrgdqwdw2a0p"
+   "commit": "2258eb19e8bde75f79505c4306f3476bcedce56c",
+   "sha256": "0k5hmn2wnag6hirnk2ch3xviymbxha5pcb3p1j1lj2likbhwizw8"
   }
  },
  {
@@ -108476,8 +108833,8 @@
   "repo": "mihaiolteanu/vuiet",
   "unstable": {
    "version": [
-    20210323,
-    911
+    20210715,
+    907
    ],
    "deps": [
     "bind-key",
@@ -108486,8 +108843,8 @@
     "s",
     "versuri"
    ],
-   "commit": "43b9364042922950f612ac57d8c526921a01b291",
-   "sha256": "14432mnm5lvccb9x3fymzi53kxfh2if92c5q14llz6pbbif8x3vh"
+   "commit": "b327a5224ab45f6689ce635878301e54ca753b3b",
+   "sha256": "1sq2nmmw8ga4jhkgb3a0mkps7v8ma1jrrz8c1vbypfn1b3amvj3b"
   },
   "stable": {
    "version": [
@@ -108606,11 +108963,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20210606,
-    2300
+    20210615,
+    103
    ],
-   "commit": "0e18a7e96c8e425ac7c2e69aa26fa6a1e8e6e51a",
-   "sha256": "1jxp447d8xnk4ixpni7rsph7fd3p58ydmi39yrx201hbqh15jxiz"
+   "commit": "ccdd3681b9e7d8b6a758f2aa61a0ae8eab21240b",
+   "sha256": "1ynl1kwnhp5xqvmi8p37lprshk96xi8q78rsjmd9f8pkb8ayqbf3"
   }
  },
  {
@@ -108831,16 +109188,16 @@
   "repo": "wanderlust/wanderlust",
   "unstable": {
    "version": [
-    20210312,
-    843
+    20210629,
+    1252
    ],
    "deps": [
     "apel",
     "flim",
     "semi"
    ],
-   "commit": "6e189fc944a9bbde76c5a6d9b6a38d57e85e6390",
-   "sha256": "0yphp7bqgmhd89hgqy8rg6kmkkzmhz3sjkzm9b1paic7fx9s0maj"
+   "commit": "769699d60aa033049804083b459ee562b82db77e",
+   "sha256": "0mgl28xsvc0421pysy6hh0hymr0li8iayaa330r41cbqsk3gz4nw"
   }
  },
  {
@@ -109170,14 +109527,14 @@
   "repo": "eschulte/emacs-web-server",
   "unstable": {
    "version": [
-    20210209,
-    58
+    20210708,
+    2242
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "3aa5084bcb733aa77997b9210b4437903f6f29ce",
-   "sha256": "1cg27byi1g0s3yfzdkji4xzc15ci5kqb2j0mj5dfdms4db12dir4"
+   "commit": "6357a1c2d1718778503f7ee0909585094117525b",
+   "sha256": "1dp4ajfd4ikqdr2lkmjijw431d3hi07izaw54fn5zw8mp9dk225y"
   }
  },
  {
@@ -109614,20 +109971,20 @@
   "repo": "justbur/emacs-which-key",
   "unstable": {
    "version": [
-    20210601,
-    252
+    20210712,
+    1852
    ],
-   "commit": "fc29864395fdaf688e2ef5111831663bad89a020",
-   "sha256": "1adv32z8dmpygbrk14l1pj2535c10ncv8znfzgi1s908ds20kad1"
+   "commit": "55fcce0c6143044535bc6825a68f42ca83f58f00",
+   "sha256": "0bap1k6rzaqvqp7njzikw8clhky1fj78mdcx4zah1y57vhszavcw"
   },
   "stable": {
    "version": [
     3,
     5,
-    2
+    3
    ],
-   "commit": "5fb30301cb3b4fca5a0e1ce8ec1ef59290b79199",
-   "sha256": "1wgygby4zwlbx6ry6asraaixl169qdz092zgk1brvg63w7f8vkkb"
+   "commit": "1f9c37d50f08995c8671822591c8babb893ccc6f",
+   "sha256": "144i3hkgm36wnfmqk5vq390snziy3zhwifbh6q6dzs99ic77d5g6"
   }
  },
  {
@@ -109638,15 +109995,15 @@
   "repo": "yanghaoxie/which-key-posframe",
   "unstable": {
    "version": [
-    20190427,
-    1103
+    20210615,
+    944
    ],
    "deps": [
     "posframe",
     "which-key"
    ],
-   "commit": "e7f28608c7fc9507e407c6b840dff09062df533a",
-   "sha256": "0954llm57gfy3lvq8s32mqdswbv20na0v28gi61kw7023f1wg7ri"
+   "commit": "90e85d74899fc23d95798048cc0bbdb4bab9c1b7",
+   "sha256": "173a04s00rydqpkrwdd9khwijbslkwmzqa557x6r1vpp0pdgaz0l"
   },
   "stable": {
    "version": [
@@ -109932,11 +110289,11 @@
   "repo": "progfolio/wikinfo",
   "unstable": {
    "version": [
-    20210121,
-    1642
+    20210630,
+    1730
    ],
-   "commit": "afa32f2b3c23e6d1565698faf9697fa445059bb9",
-   "sha256": "1wxdb34xsvqydr54w44b84hbins8ay1md49vphp6jqbj99q992dg"
+   "commit": "bd60451f661609b1b7bfb25662b8b68c0a842c8a",
+   "sha256": "07jplxs05bwac7i6ksxwl7pm30qk8mc3dvdx0pvim59l67vb61wh"
   }
  },
  {
@@ -109947,15 +110304,15 @@
   "repo": "progfolio/wikinforg",
   "unstable": {
    "version": [
-    20210602,
-    1459
+    20210711,
+    302
    ],
    "deps": [
     "org",
     "wikinfo"
    ],
-   "commit": "3aecd23e68b9117a03c65fafa85a0805b58609d1",
-   "sha256": "0m1fj06x9r941k2842v2091xbff89wp704ifrcdgb6zbksx5d8i2"
+   "commit": "31cf4a52990caa3f928b847ec25a5412836552bd",
+   "sha256": "0l13yi9iwi68n95wmxkjrf0zsmvxadpmxc7zm8x7v8kk5p7scnil"
   }
  },
  {
@@ -110125,27 +110482,28 @@
   "repo": "bmag/emacs-purpose",
   "unstable": {
    "version": [
-    20210423,
-    454
+    20210628,
+    715
    ],
    "deps": [
     "imenu-list",
     "let-alist"
    ],
-   "commit": "1a556294131a78b557f88bd28d42b43d5c6bd79a",
-   "sha256": "15v3225irmgg6zsv4h3zyqrbcgx9kbr6rzx5v5hgf9h16fgibi8j"
+   "commit": "bb462f12f836414425edac32ebd069b4fd5b98d4",
+   "sha256": "1cw513mh3gyl21qpmgwqjgpi8kwddmd4n69l4ax5a5pv3vvwrcx9"
   },
   "stable": {
    "version": [
     1,
-    8
+    8,
+    1
    ],
    "deps": [
     "imenu-list",
     "let-alist"
    ],
-   "commit": "8f84defbb4d80ecaada37a2bbde2c1d8699f98af",
-   "sha256": "1bq0s56wj6ibyh625zfnisy8yniz72dpg4mcgq55azsbnd4fblqq"
+   "commit": "bb462f12f836414425edac32ebd069b4fd5b98d4",
+   "sha256": "1cw513mh3gyl21qpmgwqjgpi8kwddmd4n69l4ax5a5pv3vvwrcx9"
   }
  },
  {
@@ -110662,11 +111020,11 @@
   "repo": "istib/wordsmith-mode",
   "unstable": {
    "version": [
-    20171025,
-    1430
+    20210715,
+    1517
    ],
-   "commit": "589a97412138145bea70e0450eeddeb7f138d538",
-   "sha256": "1zm4grysjpynibldvic75awhcmmnjmlkkvslw8bvirmi58qwvwzj"
+   "commit": "5d40ceaa2b8d41ab3634ca377ceb6a74deeb2287",
+   "sha256": "132l0i94nwrm676bpxw0wnr1drqwmapwv92mf4iyb209fr4hc2w2"
   },
   "stable": {
    "version": [
@@ -110686,8 +111044,8 @@
   "repo": "abo-abo/worf",
   "unstable": {
    "version": [
-    20210504,
-    1132
+    20210702,
+    1200
    ],
    "deps": [
     "ace-link",
@@ -110695,8 +111053,8 @@
     "swiper",
     "zoutline"
    ],
-   "commit": "c99ef5478183d0ab56b0abe943206491c802e003",
-   "sha256": "1qbs5dvqcip7y77f8sdyr7zw64vgxlybj4isi7x841j4z7kh5m11"
+   "commit": "28d381e2603a79340a94a410acbbb8a6b3e237d8",
+   "sha256": "15567bns5kag47d58xapr4z0gfj5py3a8lwfpjlhmzccmarjr7x8"
   },
   "stable": {
    "version": [
@@ -110979,8 +111337,8 @@
     20210316,
     156
    ],
-   "commit": "2e57f792edc371e7105ee388f878d52d5801f5de",
-   "sha256": "0qyx41yawaamfs8k3dr7b48kf09snlklja0pa1n8nw80q355w94p"
+   "commit": "986c9d96ff898d346b453422e8e312f7976e6089",
+   "sha256": "17wls9mn097kwpcg9f4dxa6is0yshxgmjh2z1pk1nwfd8mdpczvg"
   },
   "stable": {
    "version": [
@@ -111000,11 +111358,11 @@
   "repo": "ag91/writer-word-goals",
   "unstable": {
    "version": [
-    20210503,
-    656
+    20210614,
+    1527
    ],
-   "commit": "ef94f78b2c4e4fcf1a59d492637cbc84396cb032",
-   "sha256": "0xf2nvwvag21ds566r90rlf98hf80mz3zj2svhwmqrj6nm70p6z3"
+   "commit": "46c8a7c71275ced2c662c1222d4b85319f80dd83",
+   "sha256": "15qxs91inbpr9qk2xlaijargkvj9c6rmw0m4b05qrqni0cgb75dk"
   }
  },
  {
@@ -111115,11 +111473,11 @@
   "repo": "xahlee/xah-css-mode",
   "unstable": {
    "version": [
-    20201229,
-    837
+    20210627,
+    505
    ],
-   "commit": "5d9db23bbb982c28cbcf351957ef96ecd80e4c0b",
-   "sha256": "0f1dwl1nljxw94g6jkqv7rsyxnr9na0xxj447jhmsjyd3iry3g7n"
+   "commit": "62b7162198ca6659e025feb058e5662c55333ad4",
+   "sha256": "0xk5wa209pgc2sfz0j4dac57apy45si87628bqc21fnf877ga8qv"
   }
  },
  {
@@ -111130,11 +111488,11 @@
   "repo": "xahlee/xah-elisp-mode",
   "unstable": {
    "version": [
-    20210208,
-    2056
+    20210627,
+    508
    ],
-   "commit": "3ae341944297d59bf33f5580364af2858198781e",
-   "sha256": "09w44nmxdvc7pxyz959qj59dfqxplj22qqdal7206bb12r1l88zr"
+   "commit": "86ddb3ce73bb2a844a126e42386571ca8e884260",
+   "sha256": "1ks43xdfv287n3sy8n25widkwwx388pm3b8p4r2ld6qz200wqjdq"
   }
  },
  {
@@ -111145,11 +111503,11 @@
   "repo": "xahlee/xah-find",
   "unstable": {
    "version": [
-    20210111,
-    334
+    20210624,
+    327
    ],
-   "commit": "8948fa8f18023868731a1666f9893abc08f370e1",
-   "sha256": "1qk1scf085fc650km5hx2fp2chxj1a2hwp4bffxmp59mg78qpb71"
+   "commit": "16b8d62ddb1d5548fcd78a0371481434390ebd54",
+   "sha256": "10scxxxg84b38rjlmk0r486r7b1nvla57yq6v1h1ymlbp0addvby"
   }
  },
  {
@@ -111160,11 +111518,11 @@
   "repo": "xahlee/xah-fly-keys",
   "unstable": {
    "version": [
-    20210520,
-    540
+    20210715,
+    2014
    ],
-   "commit": "3022cbf1e0b16c4fe632d03bd49832afac12510c",
-   "sha256": "0bv9r4kak8gjwcvws1vygdr9ppfyi9m34y5a5alm606y8qmzjxs6"
+   "commit": "95c54a896c1e4af797f0af7cf9de85426c8e11eb",
+   "sha256": "137xv47cij7a0zws8xdw140cwlsnywapyb9y51dqpmn08s1ff2l2"
   }
  },
  {
@@ -111190,11 +111548,11 @@
   "repo": "xahlee/lookup-word-on-internet",
   "unstable": {
    "version": [
-    20200420,
-    1528
+    20210708,
+    2203
    ],
-   "commit": "c97a43dc0cebbfc519d0cce5b547dcc5e22b2085",
-   "sha256": "1qkazkisgw5c9xzxqm6xzm124r1v4d4dcyazvw66nz5j2zl1i5qd"
+   "commit": "53044a43db3c803fb3e32003c3106403ecfb8e4b",
+   "sha256": "09x8lrx4sdnx2sr0nkkn19hi7x6hi3gs0ad31xmjx1qgd7bw7as9"
   }
  },
  {
@@ -111356,8 +111714,8 @@
   "repo": "dandavison/xenops",
   "unstable": {
    "version": [
-    20210504,
-    1106
+    20210630,
+    740
    ],
    "deps": [
     "aio",
@@ -111367,8 +111725,8 @@
     "f",
     "s"
    ],
-   "commit": "4994ae4a660ee94d341ce1905c12b4cf39fee574",
-   "sha256": "0cqvz8bkpjc4fmdn10zq70q3bvixx25yn13ihxygsdi1mjmn30fh"
+   "commit": "95b0b37cf5bb6474f054056b0dad9402c700c5b7",
+   "sha256": "09xiabicada3ziyinlc9fczcdy2nr01fn3fqlq1vpjzb5882k63l"
   }
  },
  {
@@ -111670,10 +112028,10 @@
  },
  {
   "ename": "xresources-theme",
-  "commit": "35763febad20f29320d459394f810668db6c3353",
-  "sha256": "1vsbvg9w5g6y2qlb8ssn12ax31r7fbslfi9vcgvmjydcr8r1z0zs",
+  "commit": "8ff729d95709a9e0f458e54dbdab4724ca3c09f3",
+  "sha256": "0n359mjv4j6n002v5bimas77y1507x1797qj6l1kcdwym8pk0rvg",
   "fetcher": "github",
-  "repo": "cqql/xresources-theme",
+  "repo": "martenlienen/xresources-theme",
   "unstable": {
    "version": [
     20190108,
@@ -111960,20 +112318,20 @@
   "repo": "zkry/yaml.el",
   "unstable": {
    "version": [
-    20210604,
-    1500
+    20210625,
+    528
    ],
-   "commit": "5b352258f50ec9d2e7ff8bd16323a24fb484b52b",
-   "sha256": "1zaj7w0jfzz7iwsnd8ql3pxgiw108dx0ggk2q5rqxdz5902hksqs"
+   "commit": "69c699a15af342199d0dbbbe7676a85487781ae7",
+   "sha256": "1j1yqpnpn5k17jnrax56and4yss1bimxck3zigbgy5fpng89l8sb"
   },
   "stable": {
    "version": [
     0,
     3,
-    2
+    3
    ],
-   "commit": "5b352258f50ec9d2e7ff8bd16323a24fb484b52b",
-   "sha256": "1zaj7w0jfzz7iwsnd8ql3pxgiw108dx0ggk2q5rqxdz5902hksqs"
+   "commit": "9382bf5a3b1cad1c404bfd13fab8cf6688fe8442",
+   "sha256": "0xm6c4lk62ifwpc03wmn6602r1izfbk9kpyv3wg3p8ksxllvd0ns"
   }
  },
  {
@@ -112095,11 +112453,11 @@
   "repo": "Kungsgeten/yankpad",
   "unstable": {
    "version": [
-    20210205,
-    1318
+    20210625,
+    1951
    ],
-   "commit": "fb9cb7753af971701dcd96a51efb4d70e2b2a18f",
-   "sha256": "1xaal77cqics6fdm51j7pm12k61v0qxg68krgb7yi1fd90fm2iy3"
+   "commit": "6f5c7e5171030663ebda4f1f872c30d0e165b6b7",
+   "sha256": "08f5qn1dsikv9dkdvdrb8mmjb3himlnh9bcany2w4pj0apgcwn4d"
   },
   "stable": {
    "version": [
@@ -112218,11 +112576,11 @@
   "repo": "emacsorphanage/yascroll",
   "unstable": {
    "version": [
-    20210427,
-    645
+    20210625,
+    803
    ],
-   "commit": "bd20a61ab7cd610625137c051c7f15e7404b7829",
-   "sha256": "0mxl8qxj9vdr8cg9xkh2v901n8m1drk0wzf4di34vkgkmrlkigyg"
+   "commit": "0d7556d0936e0223003208003470a2fa28f72150",
+   "sha256": "12lz73grpvnjgki93q9aywa5p6ddw67a73dcaryv186j3maq442w"
   },
   "stable": {
    "version": [
@@ -112348,11 +112706,11 @@
   "url": "https://www.yatex.org/hgrepos/yatex",
   "unstable": {
    "version": [
-    20200208,
-    931
+    20210630,
+    2200
    ],
-   "commit": "f4c2dca86202c2da5b4f0f6ec97c49dd1cb01e6c",
-   "sha256": "1dh4i2dj2cfg693bvwdi4frmi2892h4q25xdacdm63c7fmn3ap6l"
+   "commit": "d4831b3672f87affbb0f7f69135e7824d0bd325b",
+   "sha256": "0fga8zicxgmfw4px2zwfvwycl9hcqcwnf65izrbrj6rrljdbb3yv"
   }
  },
  {
@@ -112581,11 +112939,11 @@
   "repo": "ryuslash/yoshi-theme",
   "unstable": {
    "version": [
-    20210509,
-    520
+    20210713,
+    455
    ],
-   "commit": "9a26f361083ed1d0dd56e659fae913ffea51c739",
-   "sha256": "1da39wyb8zhpyvqxld19cna0jdjhpdiwsmac6ari7nw8i8dvbbhw"
+   "commit": "06a6bcfc58d1f1cd8815c674c9fcbbf193bba0a9",
+   "sha256": "0mp68h924hfj86rya0kvk16w82lvllmiryz8ry70ngcfmwdh930v"
   },
   "stable": {
    "version": [
@@ -112989,15 +113347,15 @@
   "repo": "EFLS/zetteldeft",
   "unstable": {
    "version": [
-    20210602,
-    841
+    20210713,
+    1855
    ],
    "deps": [
     "ace-window",
     "deft"
    ],
-   "commit": "b71f24d382887aeefde9c47fb6aa521d0ebeb806",
-   "sha256": "09wy2gllacry2n0cp52fakaa36lnd1mnbb26zysdjxh0429siy4a"
+   "commit": "7dbf608d17786a69019867fd6b2b7d6c6edf849f",
+   "sha256": "1lq80ck08bydl98ka6j4qd6m5iqd1l8cx0y8pa2wq94vj71l65vl"
   },
   "stable": {
    "version": [
@@ -113121,14 +113479,14 @@
   "repo": "nnicandro/emacs-zmq",
   "unstable": {
    "version": [
-    20210424,
-    1943
+    20210613,
+    343
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "790033363cf0e78c616cfe117a2f681381e96f29",
-   "sha256": "0vssi5d02s7f9rhsgqnbh4ql2nvjcc4hsrmihwrk1ij50pn927yj"
+   "commit": "38dc6c4119aee57666caf8f97c8a3d7f678823e0",
+   "sha256": "0j7szww8fi2pyvln1bppyq8nly0vkbncz63kzqhi1zx7dfz127ry"
   },
   "stable": {
    "version": [
@@ -113430,8 +113788,8 @@
   "repo": "egh/zotxt-emacs",
   "unstable": {
    "version": [
-    20210222,
-    347
+    20210129,
+    413
    ],
    "deps": [
     "deferred",
@@ -113479,6 +113837,30 @@
   }
  },
  {
+  "ename": "zoxide",
+  "commit": "77de3ff55aa7feffef7e389b4dc9a0844f82da55",
+  "sha256": "055f229a9kck8bbfwxksdi2b5v2aawjz2p8f6dar247ii1ix0jd6",
+  "fetcher": "gitlab",
+  "repo": "Vonfry/zoxide.el",
+  "unstable": {
+   "version": [
+    20210705,
+    448
+   ],
+   "commit": "f68d7cf9c8c813bdc1ec75f880e0dd1b64112f7c",
+   "sha256": "030vyh9v89ij1db1riqpzxxfgs50x0lx3isnhzbfj2dy3acmmc7s"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    0
+   ],
+   "commit": "f68d7cf9c8c813bdc1ec75f880e0dd1b64112f7c",
+   "sha256": "030vyh9v89ij1db1riqpzxxfgs50x0lx3isnhzbfj2dy3acmmc7s"
+  }
+ },
+ {
   "ename": "zpl-mode",
   "commit": "0bf11cd6ceb2633f968134d80f37d32f91c48227",
   "sha256": "0wqhwzanvc1gpnykfqzi02p9zx0c1n6gnavg5dv1mlmc8x0hr67s",
diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix
index 1bae0a0c970..bcd55258a49 100644
--- a/pkgs/applications/editors/emacs/generic.nix
+++ b/pkgs/applications/editors/emacs/generic.nix
@@ -10,7 +10,7 @@
 , Xaw3d, libXcursor,  pkg-config, gettext, libXft, dbus, libpng, libjpeg, giflib
 , libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux
 , alsa-lib, cairo, acl, gpm, AppKit, GSS, ImageIO, m17n_lib, libotf
-, jansson, harfbuzz
+, sigtool, jansson, harfbuzz
 , dontRecurseIntoAttrs ,emacsPackagesFor
 , libgccjit, targetPlatform, makeWrapper # native-comp params
 , systemd ? null
@@ -46,10 +46,10 @@ assert withXwidgets -> withGTK3 && webkitgtk != null;
 let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
   NATIVE_FULL_AOT = "1";
   LIBRARY_PATH = "${lib.getLib stdenv.cc.libc}/lib";
-} // lib.optionalAttrs stdenv.isDarwin {
-  CFLAGS = "-DMAC_OS_X_VERSION_MAX_ALLOWED=101200";
 } // {
-  inherit pname version patches;
+  inherit pname version;
+
+  patches = patches fetchpatch;
 
   src = fetchurl {
     url = "mirror://gnu/emacs/${name}.tar.xz";
@@ -118,8 +118,8 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
     ++ lib.optional (withX && withMotif) motif
     ++ lib.optionals (withX && withXwidgets) [ webkitgtk glib-networking ]
     ++ lib.optionals withNS [ AppKit GSS ImageIO ]
-    ++ lib.optionals nativeComp [ libgccjit ]
-    ;
+    ++ lib.optionals stdenv.isDarwin [ sigtool ]
+    ++ lib.optionals nativeComp [ libgccjit ];
 
   hardeningDisable = [ "format" ];
 
@@ -138,7 +138,7 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
     ++ lib.optional withXwidgets "--with-xwidgets"
     ++ lib.optional nativeComp "--with-native-compilation"
     ++ lib.optional withImageMagick "--with-imagemagick"
-    ;
+  ;
 
   installTargets = [ "tags" "install" ];
 
diff --git a/pkgs/applications/editors/ghostwriter/default.nix b/pkgs/applications/editors/ghostwriter/default.nix
index d23b42811b8..fdada2e7769 100644
--- a/pkgs/applications/editors/ghostwriter/default.nix
+++ b/pkgs/applications/editors/ghostwriter/default.nix
@@ -1,20 +1,36 @@
-{ lib, stdenv, mkDerivation, fetchFromGitHub, qmake, pkg-config, qttools, qtwebengine, hunspell }:
+{ lib
+, stdenv
+, mkDerivation
+, fetchFromGitHub
+, qmake
+, pkg-config
+, qttools
+, qtwebengine
+, hunspell
+, cmark
+, multimarkdown
+, pandoc
+}:
 
 mkDerivation rec {
   pname = "ghostwriter";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "wereturtle";
     repo = pname;
     rev = version;
-    sha256 = "sha256-bNVhYwX60F3lrP9UmZSntfz83vbmHe9tu/4nUgzUWR4=";
+    sha256 = "sha256-kNt0IIAcblDJ81ENIkoJuJvrI+F+fdVgWUJ6g1YpjqU=";
   };
 
   nativeBuildInputs = [ qmake pkg-config qttools ];
 
   buildInputs = [ qtwebengine hunspell ];
 
+  qtWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ cmark multimarkdown pandoc ])
+  ];
+
   meta = with lib; {
     description = "A cross-platform, aesthetic, distraction-free Markdown editor";
     homepage = src.meta.homepage;
diff --git a/pkgs/applications/editors/gophernotes/default.nix b/pkgs/applications/editors/gophernotes/default.nix
index 468b3ff0383..fe694c1add4 100644
--- a/pkgs/applications/editors/gophernotes/default.nix
+++ b/pkgs/applications/editors/gophernotes/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gophernotes";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "gopherdata";
     repo = "gophernotes";
     rev = "v${version}";
-    sha256 = "sha256-EEMKV+k5qcep4z7J5r1nSLxmb0fbfpJOPmz5bE91cd8=";
+    sha256 = "sha256-LiYPos6Ic+se5bTTkvggmyxyS20uhgALkDU2LoXTci8=";
   };
 
-  vendorSha256 = "sha256-Wy4HcPlrlYUjRQHhw+UPAa+Rn1FvJobWGxgFiJKJTAg=";
+  vendorSha256 = "sha256-wDMx3B47Vv87/3YEPX8/70Q5/REJ7IPvw8dA/viJiSY=";
 
   meta = with lib; {
     description = "Go kernel for Jupyter notebooks";
diff --git a/pkgs/applications/editors/greenfoot/default.nix b/pkgs/applications/editors/greenfoot/default.nix
index 34f489bfba3..962710be2f5 100644
--- a/pkgs/applications/editors/greenfoot/default.nix
+++ b/pkgs/applications/editors/greenfoot/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "greenfoot";
-  version = "3.6.1";
+  version = "3.7.0";
   src = fetchurl {
     # We use the deb here. First instinct might be to go for the "generic" JAR
     # download, but that is actually a graphical installer that is much harder
     # to unpack than the deb.
     url = "https://www.greenfoot.org/download/files/Greenfoot-linux-${builtins.replaceStrings ["."] [""] version}.deb";
-    sha256 = "112h6plpclj8kbv093m4pcczljhpd8d47d7a2am1yfgbyckx6hf0";
+    sha256 = "sha256-K9faU3ZarcR4g8riHpoZYVH0sXtueqfm3Fo+sZAHJA8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/editors/helix/default.nix b/pkgs/applications/editors/helix/default.nix
new file mode 100644
index 00000000000..a36ff1cde46
--- /dev/null
+++ b/pkgs/applications/editors/helix/default.nix
@@ -0,0 +1,25 @@
+{ fetchFromGitHub, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "helix";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "helix-editor";
+    repo = pname;
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "sha256-dI5yIP5uUmM9pyMpvvdrk8/0jE/REkU/m9BF081LwMU=";
+  };
+
+  cargoSha256 = "sha256-l3Ikr4IyUsHItJIC4BaIZZb6vio3bchumbbPI+nxIjQ=";
+
+  cargoBuildFlags = [ "--features embed_runtime" ];
+
+  meta = with lib; {
+    description = "A post-modern modal text editor";
+    homepage = "https://helix-editor.com";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ yusdacra ];
+  };
+}
diff --git a/pkgs/applications/editors/jetbrains/common.nix b/pkgs/applications/editors/jetbrains/common.nix
index 635a8dbf46f..2e244364dc7 100644
--- a/pkgs/applications/editors/jetbrains/common.nix
+++ b/pkgs/applications/editors/jetbrains/common.nix
@@ -3,13 +3,13 @@
 , vmopts ? null
 }:
 
-{ name, product, version, src, wmClass, jdk, meta, extraLdPath ? [] }:
+{ name, product, version, src, wmClass, jdk, meta, extraLdPath ? [] }@args:
 
 with lib;
 
 let loName = toLower product;
     hiName = toUpper product;
-    execName = concatStringsSep "-" (init (splitString "-" name));
+    mainProgram = concatStringsSep "-" (init (splitString "-" name));
     vmoptsName = loName
                + ( if (with stdenv.hostPlatform; (is32bit || isDarwin))
                    then ""
@@ -18,15 +18,17 @@ let loName = toLower product;
 in
 
 with stdenv; lib.makeOverridable mkDerivation rec {
-  inherit name src meta;
+  inherit name src;
+  meta = args.meta // { inherit mainProgram; };
+
   desktopItem = makeDesktopItem {
-    name = execName;
-    exec = execName;
+    name = mainProgram;
+    exec = mainProgram;
     comment = lib.replaceChars ["\n"] [" "] meta.longDescription;
     desktopName = product;
     genericName = meta.description;
     categories = "Development;";
-    icon = execName;
+    icon = mainProgram;
     extraEntries = ''
       StartupWMClass=${wmClass}
     '';
@@ -36,7 +38,7 @@ with stdenv; lib.makeOverridable mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper patchelf unzip ];
 
-  patchPhase = lib.optionalString (!stdenv.isDarwin) ''
+  postPatch = lib.optionalString (!stdenv.isDarwin) ''
       get_file_size() {
         local fname="$1"
         echo $(ls -l $fname | cut -d ' ' -f5)
@@ -62,15 +64,17 @@ with stdenv; lib.makeOverridable mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}}
     cp -a . $out/$name
-    ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${execName}.png
+    ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${mainProgram}.png
     mv bin/fsnotifier* $out/libexec/${name}/.
 
     jdk=${jdk.home}
     item=${desktopItem}
 
-    makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${execName}" \
+    makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${mainProgram}" \
       --prefix PATH : "$out/libexec/${name}:${lib.optionalString (stdenv.isDarwin) "${jdk}/jdk/Contents/Home/bin:"}${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath ([
         # Some internals want libstdc++.so.6
@@ -84,6 +88,8 @@ with stdenv; lib.makeOverridable mkDerivation rec {
       --set ${hiName}_VM_OPTIONS ${vmoptsFile}
 
     ln -s "$item/share/applications" $out/share
+
+    runHook postInstall
   '';
 
 } // lib.optionalAttrs (!(meta.license.free or true)) {
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index e72d2df43a9..4370e9af3eb 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -193,7 +193,7 @@ let
         platforms = platforms.linux;
       };
     }).overrideAttrs (attrs: {
-      patchPhase = lib.optionalString (!stdenv.isDarwin) (attrs.patchPhase + ''
+      postPatch = lib.optionalString (!stdenv.isDarwin) (attrs.postPatch + ''
         rm -rf lib/ReSharperHost/linux-x64/dotnet
         mkdir -p lib/ReSharperHost/linux-x64/dotnet/
         ln -s ${dotnet-sdk_5}/bin/dotnet lib/ReSharperHost/linux-x64/dotnet/dotnet
@@ -229,7 +229,7 @@ let
         platforms = platforms.linux;
       };
     }).overrideAttrs (attrs: {
-      patchPhase = (attrs.patchPhase or "") + optionalString (stdenv.isLinux) ''
+      postPatch = (attrs.postPatch or "") + optionalString (stdenv.isLinux) ''
         # Webstorm tries to use bundled jre if available.
         # Lets prevent this for the moment
         rm -r jbr
@@ -255,12 +255,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "1znb4m7sv7xqi1mq3yw0m51m06wfwmhhxmvck0xkv8s0cfg18qim"; /* updated by script */
+      sha256 = "0lhi3vwhwb359va4sa17y071i03l4mfwqpsp7haqxjf900dcld7d"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -268,12 +268,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "0g20r7yn4r2h08wv3i8bnnma8x4jljixsbmfml8kixk0pzfhv4px"; /* updated by script */
+      sha256 = "0xy9k90v3kcm9sj48l809qn0vws4ygsxxyqwsg6y9a3r1raqgqxd"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -281,12 +281,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "03i5f6p0abr9yfs9fg90fg7hb1a7zar9q4d4iiag30cmndwpslg2"; /* updated by script */
+      sha256 = "1phpfa9i3k7g92ankmibp53c1469ifnb12g6s8gklln7v7xxakmi"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -294,12 +294,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "0mw4acaik1bkr7gqbwgs3i8f8px8zw95hm1zxgd5gd5kh88n17x5"; /* updated by script */
+      sha256 = "13c7a96zbw05w1gy4ds4wzac853hdlnbflww2xaz60jnr1k24gnp"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -307,12 +307,12 @@ in
 
   mps = buildMps rec {
     name = "mps-${version}";
-    version = "2020.3.3"; /* updated by script */
+    version = "2021.1"; /* updated by script */
     description = "Create your own domain-specific language";
     license = lib.licenses.asl20;
     src = fetchurl {
-      url = "https://download.jetbrains.com/mps/2020.3/MPS-${version}.tar.gz";
-      sha256 = "0sb50f7d4272dzx84njc326xvhbqn3xwrphvdq4zl3pk3wl8f4nz"; /* updated by script */
+      url = "https://download.jetbrains.com/mps/${version}/MPS-${version}.tar.gz";
+      sha256 = "0fdh8lzsi2zryi0xs961vrf3l8kqk5imlj56dhifywi7xkhs3vwn"; /* updated by script */
     };
     wmClass = "jetbrains-mps";
     update-channel = "MPS RELEASE";
@@ -320,12 +320,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.1.4"; /* updated by script */
     description = "Professional IDE for Web and PHP developers";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "02s75fqd9hfh302zha4jw6qynpgm9nkrlq7s78nk3fc3d3hw8v5y"; /* updated by script */
+      sha256 = "0p9a8l2bpjm25x4af1hlqhmw5xsirsfajznd6y723yqmjy8hs46l"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -333,12 +333,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2021.1.1"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     description = "PyCharm Community Edition";
     license = lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "04bs9sz872b0h1zzax23irvj6q5wxnzp6fl4f177j94kh4116cqh"; /* updated by script */
+      sha256 = "0c03grsrjydb6jcnbq1qi4158c14vni3znr7vysnbvldi8al6w8m"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -346,12 +346,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2021.1.1"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0wc9j7nilakmm7scf7a71zb3k9vixgih05ni3n3pp4iznvwb3nxg"; /* updated by script */
+      sha256 = "01nwc9nprlyrwyij98px915w66g6vxbznsmmmg56rv3rvjvjp7yl"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -372,12 +372,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2021.1.1"; /* updated by script */
+    version = "2021.1.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 = "05sfjf5523idsl7byc7400r4xqv1d65gpmkh5x0lbgf1k3bx2wlm"; /* updated by script */
+      sha256 = "0r80y8y38rdxgc9sim0q2p7bmgxlp4pdxydr0w9gjikwnjxnvz51"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
diff --git a/pkgs/applications/editors/jetbrains/update.pl b/pkgs/applications/editors/jetbrains/update.pl
index 6f0a451849a..7656581a8b4 100755
--- a/pkgs/applications/editors/jetbrains/update.pl
+++ b/pkgs/applications/editors/jetbrains/update.pl
@@ -6,6 +6,8 @@ use List::Util qw(reduce);
 use File::Slurp;
 use LWP::Simple;
 
+my $only_free = grep { $_ eq "--only-free" } @ARGV;
+
 sub semantic_less {
   my ($a, $b) = @_;
   $a =~ s/\b(\d+)\b/sprintf("%010s", $1)/eg;
@@ -14,7 +16,7 @@ sub semantic_less {
 }
 
 sub get_latest_versions {
-  my @channels = get("http://www.jetbrains.com/updates/updates.xml") =~ /(<channel .+?<\/channel>)/gs;
+  my @channels = get("https://www.jetbrains.com/updates/updates.xml") =~ /(<channel .+?<\/channel>)/gs;
   my %h = {};
   for my $ch (@channels) {
     my ($id) = $ch =~ /^<channel id="[^"]+" name="([^"]+)"/;
@@ -55,14 +57,17 @@ sub update_nix_block {
       die "no version in $block" unless $version;
       if ($version eq $latest_versions{$channel}) {
         print("$channel is up to date at $version\n");
+      } elsif ($only_free && $block =~ /licenses\.unfree/) {
+        print("$channel is unfree, skipping\n");
       } else {
         print("updating $channel: $version -> $latest_versions{$channel}\n");
         my ($url) = $block =~ /url\s*=\s*"([^"]+)"/;
         # try to interpret some nix
         my ($name) = $block =~ /name\s*=\s*"([^"]+)"/;
         $name =~ s/\$\{version\}/$latest_versions{$channel}/;
-        $url =~ s/\$\{name\}/$name/;
-        $url =~ s/\$\{version\}/$latest_versions{$channel}/;
+        # Some url pattern contain variables more than once
+        $url =~ s/\$\{name\}/$name/g;
+        $url =~ s/\$\{version\}/$latest_versions{$channel}/g;
         die "$url still has some interpolation" if $url =~ /\$/;
         my ($sha256) = get("$url.sha256") =~ /^([0-9a-f]{64})/;
         my $version_string = $latest_versions{$channel};
diff --git a/pkgs/applications/editors/jupyter-kernels/octave/default.nix b/pkgs/applications/editors/jupyter-kernels/octave/default.nix
new file mode 100644
index 00000000000..9db38d14448
--- /dev/null
+++ b/pkgs/applications/editors/jupyter-kernels/octave/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, stdenv
+, callPackage
+, runCommand
+, makeWrapper
+, octave
+, imagemagick
+, python3
+}:
+
+# To test:
+# $(nix-build -E 'with import <nixpkgs> {}; jupyter.override { definitions = { octave = octave-kernel.definition; }; }')/bin/jupyter-notebook
+
+let
+  kernel = callPackage ./kernel.nix {
+    python3Packages = python3.pkgs;
+  };
+
+in
+
+rec {
+  launcher = runCommand "octave-kernel-launcher" {
+    inherit octave;
+    python = python3.withPackages (ps: [ ps.traitlets ps.jupyter_core ps.ipykernel ps.metakernel kernel ]);
+    buildInputs = [ makeWrapper ];
+  } ''
+    mkdir -p $out/bin
+
+    makeWrapper $python/bin/python $out/bin/octave-kernel \
+      --add-flags "-m octave_kernel" \
+      --suffix PATH : $octave/bin
+  '';
+
+  sizedLogo = size: stdenv.mkDerivation {
+    name = ''octave-logo-${octave.version}-${size}x${size}.png'';
+
+    src = octave.src;
+
+    buildInputs = [ imagemagick ];
+
+    dontConfigure = true;
+    dontInstall = true;
+
+    buildPhase = ''
+      convert ./libgui/src/icons/logo.png -resize ${size}x${size} $out
+    '';
+  };
+
+  definition = {
+    displayName = "Octave";
+    argv = [
+      "${launcher}/bin/octave-kernel"
+      "-f"
+      "{connection_file}"
+    ];
+    language = "octave";
+    logo32 = sizedLogo "32";
+    logo64 = sizedLogo "64";
+  };
+}
diff --git a/pkgs/applications/editors/jupyter-kernels/octave/kernel.nix b/pkgs/applications/editors/jupyter-kernels/octave/kernel.nix
new file mode 100644
index 00000000000..9ebb4257784
--- /dev/null
+++ b/pkgs/applications/editors/jupyter-kernels/octave/kernel.nix
@@ -0,0 +1,30 @@
+{ lib, octave, python3Packages }:
+
+with python3Packages;
+
+buildPythonPackage rec {
+  pname = "octave-kernel";
+  version = "0.32.0";
+
+  src = fetchPypi {
+    pname = "octave_kernel";
+    inherit version;
+    sha256 = "0dfbxfcf3bz4jswnpkibnjwlkgy0y4j563nrhaqxv3nfa65bksif";
+  };
+
+  propagatedBuildInputs = [ metakernel ipykernel ];
+
+  # Tests require jupyter_kernel_test to run, but it hasn't seen a
+  # release since 2017 and seems slightly abandoned.
+  # Doing fetchPypi on it doesn't work, even though it exists here:
+  # https://pypi.org/project/jupyter_kernel_test/.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A Jupyter kernel for Octave.";
+    homepage = "https://github.com/Calysto/octave_kernel";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ thomasjm ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/lighttable/default.nix b/pkgs/applications/editors/lighttable/default.nix
index b19b1ac2b68..0b550c5f11d 100644
--- a/pkgs/applications/editors/lighttable/default.nix
+++ b/pkgs/applications/editors/lighttable/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
         sha256 = "06fj725xfhf3fwrf7dya7ijmxq3v76kfmd4lr2067a92zhlwr5pv";
       };
 
-  phases = [ "installPhase" ];
+  dontConfigure = true;
 
   installPhase = ''
     tar xf ${src}
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 1a92ca3decb..bd61933b38d 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.7";
+  version = "5.8";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
-    sha256 = "1ynarilx0ca0a5h6hl5bf276cymyy8s9wr5l24vyy7f15v683cfl";
+    sha256 = "133nhxg4xfxisjzi85rn2l575hdbvcax1s13l4m6wcvq5zdn6fz4";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index 1b4835064f9..f36009afc69 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -2,6 +2,7 @@
 , libuv, lua, ncurses, pkg-config
 , unibilium, xsel, gperf
 , libvterm-neovim
+, tree-sitter
 , glibcLocales ? null, procps ? null
 
 # now defaults to false because some tests can be flaky (clipboard etc)
@@ -31,13 +32,13 @@ let
 in
   stdenv.mkDerivation rec {
     pname = "neovim-unwrapped";
-    version = "0.4.4";
+    version = "0.5.0";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "neovim";
       rev = "v${version}";
-      sha256 = "11zyj6jvkwas3n6w1ckj3pk6jf81z1g7ngg4smmwm7c27y2a6f2m";
+      sha256 = "0lgbf90sbachdag1zm9pmnlbn35964l3khs27qy4462qzpqyi9fi";
     };
 
     patches = [
@@ -58,6 +59,7 @@ in
       msgpack
       ncurses
       neovimLuaEnv
+      tree-sitter
       unibilium
     ] ++ optional stdenv.isDarwin libiconv
       ++ optionals doCheck [ glibcLocales procps ]
@@ -96,6 +98,7 @@ in
       "-DGPERF_PRG=${gperf}/bin/gperf"
       "-DLUA_PRG=${neovimLuaEnv.interpreter}"
       "-DLIBLUV_LIBRARY=${luvpath}"
+      "-DUSE_BUNDLED=OFF"
     ]
     ++ optional doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted"
     ++ optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON"
@@ -128,6 +131,7 @@ in
         - Improve extensibility with a new plugin architecture
       '';
       homepage    = "https://www.neovim.io";
+      mainProgram = "nvim";
       # "Contributions committed before b17d96 by authors who did not sign the
       # Contributor License Agreement (CLA) remain under the Vim license.
       # Contributions committed after b17d96 are licensed under Apache 2.0 unless
diff --git a/pkgs/applications/editors/neovim/neovide/Cargo.lock b/pkgs/applications/editors/neovim/neovide/Cargo.lock
deleted file mode 100644
index 4e37d0fbfa1..00000000000
--- a/pkgs/applications/editors/neovim/neovide/Cargo.lock
+++ /dev/null
@@ -1,3292 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "ab_glyph_rasterizer"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9fe5e32de01730eb1f6b7f5b51c17e03e2325bf40a74f754f04f130043affff"
-
-[[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
-[[package]]
-name = "adler32"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
-
-[[package]]
-name = "ahash"
-version = "0.2.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29661b60bec623f0586702976ff4d0c9942dcb6723161c2df0eea78455cfedfb"
-dependencies = [
- "const-random",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "0.7.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "andrew"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b7f09f89872c2b6b29e319377b1fbe91c6f5947df19a25596e121cf19a7b35e"
-dependencies = [
- "bitflags",
- "line_drawing",
- "rusttype 0.7.9",
- "walkdir",
- "xdg",
- "xml-rs",
-]
-
-[[package]]
-name = "andrew"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c4afb09dd642feec8408e33f92f3ffc4052946f6b20f32fb99c1f58cd4fa7cf"
-dependencies = [
- "bitflags",
- "rusttype 0.9.2",
- "walkdir",
- "xdg",
- "xml-rs",
-]
-
-[[package]]
-name = "android_log-sys"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8052e2d8aabbb8d556d6abbcce2a22b9590996c5f849b9c7ce4544a2e3b984e"
-
-[[package]]
-name = "ansi_term"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "anyhow"
-version = "1.0.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
-
-[[package]]
-name = "approx"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "ash"
-version = "0.31.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c69a8137596e84c22d57f3da1b5de1d4230b1742a710091c85f4d7ce50f00f38"
-dependencies = [
- "libloading 0.6.7",
-]
-
-[[package]]
-name = "ash-window"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "905c4ca25f752e7ab3c3e8f2882625f876e4c3ea5feffbc83f81d697e043afd6"
-dependencies = [
- "ash",
- "raw-window-handle",
- "raw-window-metal",
-]
-
-[[package]]
-name = "async-trait"
-version = "0.1.50"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722"
-dependencies = [
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "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.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-
-[[package]]
-name = "bindgen"
-version = "0.55.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75b13ce559e6433d360c26305643803cb52cfbabbc2b9c47ce04a58493dfb443"
-dependencies = [
- "bitflags",
- "cexpr",
- "cfg-if 0.1.10",
- "clang-sys",
- "clap",
- "env_logger",
- "lazy_static",
- "lazycell",
- "log",
- "peeking_take_while",
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "regex",
- "rustc-hash",
- "shlex",
- "which 3.1.1",
-]
-
-[[package]]
-name = "bitflags"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-
-[[package]]
-name = "block"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
-
-[[package]]
-name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "bytes"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
-dependencies = [
- "byteorder",
- "iovec",
-]
-
-[[package]]
-name = "bytes"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
-
-[[package]]
-name = "calloop"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7aa2097be53a00de9e8fc349fea6d76221f398f5c4fa550d420669906962d160"
-dependencies = [
- "mio",
- "mio-extras",
- "nix 0.14.1",
-]
-
-[[package]]
-name = "calloop"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b036167e76041694579972c28cf4877b4f92da222560ddb49008937b6a6727c"
-dependencies = [
- "log",
- "nix 0.18.0",
-]
-
-[[package]]
-name = "cargo-husky"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b02b629252fe8ef6460461409564e2c21d0c8e77e0944f3d189ff06c4e932ad"
-
-[[package]]
-name = "cc"
-version = "1.0.67"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
-
-[[package]]
-name = "cexpr"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27"
-dependencies = [
- "nom 5.1.2",
-]
-
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chrono"
-version = "0.4.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
-dependencies = [
- "libc",
- "num-integer",
- "num-traits",
- "time",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "clang-sys"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "853eda514c284c2287f4bf20ae614f8781f40a81d32ecda6e91449304dfe077c"
-dependencies = [
- "glob",
- "libc",
- "libloading 0.7.0",
-]
-
-[[package]]
-name = "clap"
-version = "2.33.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags",
- "strsim 0.8.0",
- "textwrap",
- "unicode-width",
- "vec_map",
-]
-
-[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "cmake"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb6210b637171dfba4cda12e579ac6dc73f5165ad56133e5d72ef3131f320855"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "cocoa"
-version = "0.20.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c49e86fc36d5704151f5996b7b3795385f50ce09e3be0f47a0cfde869681cf8"
-dependencies = [
- "bitflags",
- "block",
- "core-foundation 0.7.0",
- "core-graphics 0.19.2",
- "foreign-types",
- "libc",
- "objc",
-]
-
-[[package]]
-name = "cocoa"
-version = "0.23.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c54201c07dcf3a5ca33fececb8042aed767ee4bfd5a0235a8ceabcda956044b2"
-dependencies = [
- "bitflags",
- "block",
- "cocoa-foundation",
- "core-foundation 0.9.1",
- "core-graphics 0.22.2",
- "foreign-types",
- "libc",
- "objc",
-]
-
-[[package]]
-name = "cocoa"
-version = "0.24.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f63902e9223530efb4e26ccd0cf55ec30d592d3b42e21a28defc42a9586e832"
-dependencies = [
- "bitflags",
- "block",
- "cocoa-foundation",
- "core-foundation 0.9.1",
- "core-graphics 0.22.2",
- "foreign-types",
- "libc",
- "objc",
-]
-
-[[package]]
-name = "cocoa-foundation"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318"
-dependencies = [
- "bitflags",
- "block",
- "core-foundation 0.9.1",
- "core-graphics-types",
- "foreign-types",
- "libc",
- "objc",
-]
-
-[[package]]
-name = "color_quant"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
-
-[[package]]
-name = "const-random"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f590d95d011aa80b063ffe3253422ed5aa462af4e9867d43ce8337562bac77c4"
-dependencies = [
- "const-random-macro",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "const-random-macro"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "615f6e27d000a2bffbc7f2f6a8669179378fa27ee4d0a509e985dfc0a7defb40"
-dependencies = [
- "getrandom 0.2.2",
- "lazy_static",
- "proc-macro-hack",
- "tiny-keccak",
-]
-
-[[package]]
-name = "core-foundation"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
-dependencies = [
- "core-foundation-sys 0.7.0",
- "libc",
-]
-
-[[package]]
-name = "core-foundation"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62"
-dependencies = [
- "core-foundation-sys 0.8.2",
- "libc",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b"
-
-[[package]]
-name = "core-graphics"
-version = "0.19.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3889374e6ea6ab25dba90bb5d96202f61108058361f6dc72e8b03e6f8bbe923"
-dependencies = [
- "bitflags",
- "core-foundation 0.7.0",
- "foreign-types",
- "libc",
-]
-
-[[package]]
-name = "core-graphics"
-version = "0.22.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "269f35f69b542b80e736a20a89a05215c0ce80c2c03c514abb2e318b78379d86"
-dependencies = [
- "bitflags",
- "core-foundation 0.9.1",
- "core-graphics-types",
- "foreign-types",
- "libc",
-]
-
-[[package]]
-name = "core-graphics-types"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b"
-dependencies = [
- "bitflags",
- "core-foundation 0.9.1",
- "foreign-types",
- "libc",
-]
-
-[[package]]
-name = "core-text"
-version = "19.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25"
-dependencies = [
- "core-foundation 0.9.1",
- "core-graphics 0.22.2",
- "foreign-types",
- "libc",
-]
-
-[[package]]
-name = "core-video-sys"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34ecad23610ad9757664d644e369246edde1803fcb43ed72876565098a5d3828"
-dependencies = [
- "cfg-if 0.1.10",
- "core-foundation-sys 0.7.0",
- "core-graphics 0.19.2",
- "libc",
- "objc",
-]
-
-[[package]]
-name = "crc32fast"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "crossbeam"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69323bff1fb41c635347b8ead484a5ca6c3f11914d784170b158d8449ab07f8e"
-dependencies = [
- "cfg-if 0.1.10",
- "crossbeam-channel 0.4.4",
- "crossbeam-deque 0.7.3",
- "crossbeam-epoch 0.8.2",
- "crossbeam-queue",
- "crossbeam-utils 0.7.2",
-]
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
-dependencies = [
- "crossbeam-utils 0.7.2",
- "maybe-uninit",
-]
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-utils 0.8.4",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285"
-dependencies = [
- "crossbeam-epoch 0.8.2",
- "crossbeam-utils 0.7.2",
- "maybe-uninit",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-epoch 0.9.4",
- "crossbeam-utils 0.8.4",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
-dependencies = [
- "autocfg 1.0.1",
- "cfg-if 0.1.10",
- "crossbeam-utils 0.7.2",
- "lazy_static",
- "maybe-uninit",
- "memoffset 0.5.6",
- "scopeguard",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52fb27eab85b17fbb9f6fd667089e07d6a2eb8743d02639ee7f6a7a7729c9c94"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-utils 0.8.4",
- "lazy_static",
- "memoffset 0.6.3",
- "scopeguard",
-]
-
-[[package]]
-name = "crossbeam-queue"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
-dependencies = [
- "cfg-if 0.1.10",
- "crossbeam-utils 0.7.2",
- "maybe-uninit",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
-dependencies = [
- "autocfg 1.0.1",
- "cfg-if 0.1.10",
- "lazy_static",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4feb231f0d4d6af81aed15928e58ecf5816aa62a2393e2c82f46973e92a9a278"
-dependencies = [
- "autocfg 1.0.1",
- "cfg-if 1.0.0",
- "lazy_static",
-]
-
-[[package]]
-name = "crossfire"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8434f61eb40fc72030b18a370f7a06b428d27de66b0281977967216312b14dc7"
-dependencies = [
- "async-trait",
- "crossbeam",
- "futures 0.3.15",
-]
-
-[[package]]
-name = "crunchy"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
-
-[[package]]
-name = "curl"
-version = "0.4.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adba2012502267c1fdde381e0e3acc44bf8be96b2f7d455089dcc2c8ad2f67bd"
-dependencies = [
- "curl-sys",
- "libc",
- "openssl-probe",
- "openssl-sys",
- "schannel",
- "socket2",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "curl-sys"
-version = "0.4.43+curl-7.76.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a802c7a9828b7d139efaed1bc92471ab6681ed86d19a105605f5eadcb0837d11"
-dependencies = [
- "cc",
- "libc",
- "libz-sys",
- "openssl-sys",
- "pkg-config",
- "vcpkg",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "darling"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858"
-dependencies = [
- "darling_core",
- "darling_macro",
-]
-
-[[package]]
-name = "darling_core"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b"
-dependencies = [
- "fnv",
- "ident_case",
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "strsim 0.9.3",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "darling_macro"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"
-dependencies = [
- "darling_core",
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "deflate"
-version = "0.7.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4"
-dependencies = [
- "adler32",
- "byteorder",
-]
-
-[[package]]
-name = "derivative"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
-dependencies = [
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "derive-new"
-version = "0.5.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535"
-dependencies = [
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "difference"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
-
-[[package]]
-name = "dirs"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
-dependencies = [
- "cfg-if 0.1.10",
- "dirs-sys",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780"
-dependencies = [
- "libc",
- "redox_users",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "dispatch"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
-
-[[package]]
-name = "dlib"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b11f15d1e3268f140f68d390637d5e76d849782d971ae7063e0da69fe9709a76"
-dependencies = [
- "libloading 0.6.7",
-]
-
-[[package]]
-name = "dlib"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794"
-dependencies = [
- "libloading 0.7.0",
-]
-
-[[package]]
-name = "downcast"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bb454f0228b18c7f4c3b0ebbee346ed9c52e7443b0999cd543ff3571205701d"
-
-[[package]]
-name = "downcast-rs"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
-
-[[package]]
-name = "dwrote"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b"
-dependencies = [
- "lazy_static",
- "libc",
- "winapi 0.3.9",
- "wio",
-]
-
-[[package]]
-name = "either"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
-
-[[package]]
-name = "encoding_rs"
-version = "0.8.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
-dependencies = [
- "atty",
- "humantime",
- "log",
- "regex",
- "termcolor",
-]
-
-[[package]]
-name = "euclid"
-version = "0.20.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bb7ef65b3777a325d1eeefefab5b6d4959da54747e33bd6258e789640f307ad"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "expat-sys"
-version = "2.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "658f19728920138342f68408b7cf7644d90d4784353d8ebc32e7e8663dbe45fa"
-dependencies = [
- "cmake",
- "pkg-config",
-]
-
-[[package]]
-name = "filetime"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "redox_syscall 0.2.8",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "flate2"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0"
-dependencies = [
- "cfg-if 1.0.0",
- "crc32fast",
- "libc",
- "miniz_oxide",
-]
-
-[[package]]
-name = "flexi_logger"
-version = "0.14.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "515fb7f6541dafe542c87c12a7ab6a52190cccb6c348b5951ef62d9978189ae8"
-dependencies = [
- "chrono",
- "glob",
- "log",
- "regex",
-]
-
-[[package]]
-name = "float-cmp"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "float-ord"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bad48618fdb549078c333a7a8528acb57af271d0433bdecd523eb620628364e"
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "font-kit"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f9042cb45150fb2b2a012fc03d0f1d2071f18e90397b9d2a5ec8ade8464bf20"
-dependencies = [
- "bitflags",
- "byteorder",
- "core-foundation 0.9.1",
- "core-graphics 0.22.2",
- "core-text",
- "dirs",
- "dwrote",
- "float-ord",
- "freetype",
- "lazy_static",
- "libc",
- "log",
- "pathfinder_geometry",
- "pathfinder_simd",
- "servo-fontconfig",
- "walkdir",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "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 = "fragile"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69a039c3498dc930fe810151a34ba0c1c70b02b8625035592e74432f678591f2"
-
-[[package]]
-name = "freetype"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bee38378a9e3db1cc693b4f88d166ae375338a0ff75cb8263e1c601d51f35dc6"
-dependencies = [
- "freetype-sys",
- "libc",
-]
-
-[[package]]
-name = "freetype-sys"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a37d4011c0cc628dfa766fcc195454f4b068d7afdc2adfd28861191d866e731a"
-dependencies = [
- "cmake",
- "libc",
- "pkg-config",
-]
-
-[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
-dependencies = [
- "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.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
-
-[[package]]
-name = "futures"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2"
-dependencies = [
- "futures-core",
- "futures-sink",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1"
-
-[[package]]
-name = "futures-executor"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79"
-dependencies = [
- "futures-core",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-io"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1"
-
-[[package]]
-name = "futures-macro"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121"
-dependencies = [
- "autocfg 1.0.1",
- "proc-macro-hack",
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "futures-sink"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282"
-
-[[package]]
-name = "futures-task"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae"
-
-[[package]]
-name = "futures-util"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967"
-dependencies = [
- "autocfg 1.0.1",
- "futures 0.1.31",
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-macro",
- "futures-sink",
- "futures-task",
- "memchr",
- "pin-project-lite 0.2.6",
- "pin-utils",
- "proc-macro-hack",
- "proc-macro-nested",
- "slab",
- "tokio-io",
-]
-
-[[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.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi 0.10.2+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "gif"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "471d90201b3b223f3451cd4ad53e34295f16a1df17b1edf3736d47761c3981af"
-dependencies = [
- "color_quant",
- "lzw",
-]
-
-[[package]]
-name = "glob"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
-
-[[package]]
-name = "harfbuzz"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "776caa9519beb53f697d578b6777eebd1262265c84ae797620b7f8f9b3648d91"
-dependencies = [
- "harfbuzz-sys",
-]
-
-[[package]]
-name = "harfbuzz-sys"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf8c27ca13930dc4ffe474880040fe9e0f03c2121600dc9c95423624cab3e467"
-dependencies = [
- "cc",
- "core-graphics 0.22.2",
- "core-text",
- "foreign-types",
- "freetype",
- "pkg-config",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e6073d0ca812575946eb5f35ff68dbe519907b25c42530389ff946dc84c6ead"
-dependencies = [
- "ahash",
- "autocfg 0.1.7",
-]
-
-[[package]]
-name = "heck"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "humantime"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
-dependencies = [
- "quick-error",
-]
-
-[[package]]
-name = "ident_case"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
-
-[[package]]
-name = "image"
-version = "0.22.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08ed2ada878397b045454ac7cfb011d73132c59f31a955d230bd1f1c2e68eb4a"
-dependencies = [
- "byteorder",
- "gif",
- "jpeg-decoder",
- "num-iter",
- "num-rational",
- "num-traits",
- "png",
- "scoped_threadpool",
- "tiff",
-]
-
-[[package]]
-name = "inflate"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff"
-dependencies = [
- "adler32",
-]
-
-[[package]]
-name = "instant"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec"
-dependencies = [
- "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",
-]
-
-[[package]]
-name = "itoa"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
-
-[[package]]
-name = "jni-sys"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
-
-[[package]]
-name = "jpeg-decoder"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2"
-dependencies = [
- "rayon",
-]
-
-[[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",
- "winapi-build",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "lazycell"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-
-[[package]]
-name = "libc"
-version = "0.2.94"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
-
-[[package]]
-name = "libloading"
-version = "0.6.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "351a32417a12d5f7e82c368a66781e307834dae04c6ce0cd4456d52989229883"
-dependencies = [
- "cfg-if 1.0.0",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "libloading"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a"
-dependencies = [
- "cfg-if 1.0.0",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "libz-sys"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
-name = "line_drawing"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cc7ad3d82c845bdb5dde34ffdcc7a5fb4d2996e1e1ee0f19c33bc80e15196b9"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "lock_api"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
-dependencies = [
- "scopeguard",
-]
-
-[[package]]
-name = "lock_api"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb"
-dependencies = [
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "lru"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0609345ddee5badacf857d4f547e0e5a2e987db77085c24cd887f73573a04237"
-dependencies = [
- "hashbrown",
-]
-
-[[package]]
-name = "lzw"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084"
-
-[[package]]
-name = "malloc_buf"
-version = "0.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
-dependencies = [
- "libc",
-]
-
-[[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.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
-
-[[package]]
-name = "memmap"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "memmap2"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b70ca2a6103ac8b665dc150b142ef0e4e89df640c9e6cf295d189c3caebe5a"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memoffset"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
-dependencies = [
- "autocfg 1.0.1",
-]
-
-[[package]]
-name = "memoffset"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f83fb6581e8ed1f85fd45c116db8405483899489e38406156c25eb743554361d"
-dependencies = [
- "autocfg 1.0.1",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
-dependencies = [
- "adler",
- "autocfg 1.0.1",
-]
-
-[[package]]
-name = "mio"
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
-dependencies = [
- "cfg-if 0.1.10",
- "fuchsia-zircon",
- "fuchsia-zircon-sys",
- "iovec",
- "kernel32-sys",
- "libc",
- "log",
- "miow 0.2.2",
- "net2",
- "slab",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "mio-extras"
-version = "2.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19"
-dependencies = [
- "lazycell",
- "log",
- "mio",
- "slab",
-]
-
-[[package]]
-name = "mio-named-pipes"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656"
-dependencies = [
- "log",
- "mio",
- "miow 0.3.7",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "mio-uds"
-version = "0.6.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
-dependencies = [
- "iovec",
- "libc",
- "mio",
-]
-
-[[package]]
-name = "miow"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
-dependencies = [
- "kernel32-sys",
- "net2",
- "winapi 0.2.8",
- "ws2_32-sys",
-]
-
-[[package]]
-name = "miow"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "mockall"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01458f8a19b10cb28195290942e3149161c75acf67ebc8fbf714ab67a2b943bc"
-dependencies = [
- "cfg-if 0.1.10",
- "downcast",
- "fragile",
- "lazy_static",
- "mockall_derive",
- "predicates",
- "predicates-tree",
-]
-
-[[package]]
-name = "mockall_derive"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a673cb441f78cd9af4f5919c28576a3cc325fb6b54e42f7047dacce3c718c17b"
-dependencies = [
- "cfg-if 0.1.10",
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "ndk"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95a356cafe20aee088789830bfea3a61336e84ded9e545e00d3869ce95dcb80c"
-dependencies = [
- "jni-sys",
- "ndk-sys 0.1.0",
- "num_enum",
-]
-
-[[package]]
-name = "ndk"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5eb167c1febed0a496639034d0c76b3b74263636045db5489eee52143c246e73"
-dependencies = [
- "jni-sys",
- "ndk-sys 0.2.1",
- "num_enum",
- "thiserror",
-]
-
-[[package]]
-name = "ndk-glue"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1730ee2e3de41c3321160a6da815f008c4006d71b095880ea50e17cf52332b8"
-dependencies = [
- "android_log-sys",
- "lazy_static",
- "libc",
- "log",
- "ndk 0.1.0",
- "ndk-sys 0.1.0",
-]
-
-[[package]]
-name = "ndk-glue"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdf399b8b7a39c6fb153c4ec32c72fd5fe789df24a647f229c239aa7adb15241"
-dependencies = [
- "lazy_static",
- "libc",
- "log",
- "ndk 0.2.1",
- "ndk-macro",
- "ndk-sys 0.2.1",
-]
-
-[[package]]
-name = "ndk-macro"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05d1c6307dc424d0f65b9b06e94f88248e6305726b14729fd67a5e47b2dc481d"
-dependencies = [
- "darling",
- "proc-macro-crate",
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "ndk-sys"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b2820aca934aba5ed91c79acc72b6a44048ceacc5d36c035ed4e051f12d887d"
-
-[[package]]
-name = "ndk-sys"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c44922cb3dbb1c70b5e5f443d63b64363a898564d739ba5198e3a9138442868d"
-
-[[package]]
-name = "neovide"
-version = "0.7.0"
-dependencies = [
- "anyhow",
- "async-trait",
- "cargo-husky",
- "cfg-if 0.1.10",
- "crossfire",
- "derive-new",
- "dirs",
- "euclid",
- "flexi_logger",
- "font-kit",
- "futures 0.3.15",
- "image",
- "lazy_static",
- "log",
- "lru",
- "mockall",
- "neovide-derive",
- "nvim-rs",
- "parking_lot 0.10.2",
- "pin-project",
- "rand",
- "rmpv",
- "rust-embed",
- "sdl2-sys",
- "skia-safe",
- "skribo",
- "skulpin",
- "tokio",
- "unicode-segmentation",
- "which 4.1.0",
- "winapi 0.3.9",
- "winres",
-]
-
-[[package]]
-name = "neovide-derive"
-version = "0.1.0"
-dependencies = [
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "net2"
-version = "0.2.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "nix"
-version = "0.14.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce"
-dependencies = [
- "bitflags",
- "cc",
- "cfg-if 0.1.10",
- "libc",
- "void",
-]
-
-[[package]]
-name = "nix"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83450fe6a6142ddd95fb064b746083fc4ef1705fe81f64a64e1d4b39f54a1055"
-dependencies = [
- "bitflags",
- "cc",
- "cfg-if 0.1.10",
- "libc",
-]
-
-[[package]]
-name = "nix"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a"
-dependencies = [
- "bitflags",
- "cc",
- "cfg-if 1.0.0",
- "libc",
-]
-
-[[package]]
-name = "nom"
-version = "5.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
-dependencies = [
- "memchr",
- "version_check",
-]
-
-[[package]]
-name = "nom"
-version = "6.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2"
-dependencies = [
- "memchr",
- "version_check",
-]
-
-[[package]]
-name = "normalize-line-endings"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
-
-[[package]]
-name = "num-derive"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eafd0b45c5537c3ba526f79d3e75120036502bebacbb3f3220914067ce39dbf2"
-dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "syn 0.15.44",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
-dependencies = [
- "autocfg 1.0.1",
- "num-traits",
-]
-
-[[package]]
-name = "num-iter"
-version = "0.1.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
-dependencies = [
- "autocfg 1.0.1",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-rational"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef"
-dependencies = [
- "autocfg 1.0.1",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
-dependencies = [
- "autocfg 1.0.1",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
-[[package]]
-name = "num_enum"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca565a7df06f3d4b485494f25ba05da1435950f4dc263440eda7a6fa9b8e36e4"
-dependencies = [
- "derivative",
- "num_enum_derive",
-]
-
-[[package]]
-name = "num_enum_derive"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffa5a33ddddfee04c0283a7653987d634e880347e96b5b2ed64de07efb59db9d"
-dependencies = [
- "proc-macro-crate",
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "nvim-rs"
-version = "0.1.1-alpha.0"
-source = "git+https://github.com/kethku/nvim-rs#109feea9e345fcbb2674384b0d6914ba4b8fc61e"
-dependencies = [
- "async-trait",
- "futures 0.3.15",
- "log",
- "pin-project",
- "rmp",
- "rmpv",
- "tokio",
-]
-
-[[package]]
-name = "objc"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
-dependencies = [
- "malloc_buf",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
-
-[[package]]
-name = "openssl-probe"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"
-
-[[package]]
-name = "openssl-sys"
-version = "0.9.63"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6b0d6fb7d80f877617dfcb014e605e2b5ab2fb0afdf27935219bb6bd984cb98"
-dependencies = [
- "autocfg 1.0.1",
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
-name = "ordered-float"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "owned_ttf_parser"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f923fb806c46266c02ab4a5b239735c144bdeda724a50ed058e5226f594cde3"
-dependencies = [
- "ttf-parser",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e"
-dependencies = [
- "lock_api 0.3.4",
- "parking_lot_core 0.7.2",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"
-dependencies = [
- "instant",
- "lock_api 0.4.4",
- "parking_lot_core 0.8.3",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3"
-dependencies = [
- "cfg-if 0.1.10",
- "cloudabi",
- "libc",
- "redox_syscall 0.1.57",
- "smallvec",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018"
-dependencies = [
- "cfg-if 1.0.0",
- "instant",
- "libc",
- "redox_syscall 0.2.8",
- "smallvec",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "pathfinder_geometry"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b7e7b4ea703700ce73ebf128e1450eb69c3a8329199ffbfb9b2a0418e5ad3"
-dependencies = [
- "log",
- "pathfinder_simd",
-]
-
-[[package]]
-name = "pathfinder_simd"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b451513912d6b3440e443aa75a73ab22203afedc4a90df8526d008c0f86f7cb3"
-dependencies = [
- "rustc_version",
-]
-
-[[package]]
-name = "peeking_take_while"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
-
-[[package]]
-name = "percent-encoding"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-
-[[package]]
-name = "pin-project"
-version = "0.4.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "918192b5c59119d51e0cd221f4d49dde9112824ba717369e903c97d076083d0f"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "0.4.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e"
-dependencies = [
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "pin-project-lite"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "pkg-config"
-version = "0.3.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
-
-[[package]]
-name = "png"
-version = "0.15.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef859a23054bbfee7811284275ae522f0434a3c8e7f4b74bd4a35ae7e1c4a283"
-dependencies = [
- "bitflags",
- "crc32fast",
- "deflate",
- "inflate",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
-
-[[package]]
-name = "predicates"
-version = "1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df"
-dependencies = [
- "difference",
- "float-cmp",
- "normalize-line-endings",
- "predicates-core",
- "regex",
-]
-
-[[package]]
-name = "predicates-core"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451"
-
-[[package]]
-name = "predicates-tree"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15f553275e5721409451eb85e15fd9a860a6e5ab4496eb215987502b5f5391f2"
-dependencies = [
- "predicates-core",
- "treeline",
-]
-
-[[package]]
-name = "proc-macro-crate"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
-dependencies = [
- "toml",
-]
-
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
-
-[[package]]
-name = "proc-macro-nested"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
-
-[[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",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
-dependencies = [
- "unicode-xid 0.2.2",
-]
-
-[[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",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
-dependencies = [
- "proc-macro2 1.0.26",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha",
- "rand_core",
- "rand_hc",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core",
-]
-
-[[package]]
-name = "raw-window-handle"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a441a7a6c80ad6473bd4b74ec1c9a4c951794285bf941c2126f607c72e48211"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "raw-window-metal"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2cd21ed1cdef7f1b1579b972148ba6058b5b545959a14d91ea83c4f0ea9f289b"
-dependencies = [
- "cocoa 0.24.0",
- "core-graphics 0.22.2",
- "objc",
- "raw-window-handle",
-]
-
-[[package]]
-name = "rayon"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674"
-dependencies = [
- "autocfg 1.0.1",
- "crossbeam-deque 0.8.0",
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a"
-dependencies = [
- "crossbeam-channel 0.5.1",
- "crossbeam-deque 0.8.0",
- "crossbeam-utils 0.8.4",
- "lazy_static",
- "num_cpus",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.1.57"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "redox_users"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
-dependencies = [
- "getrandom 0.2.2",
- "redox_syscall 0.2.8",
-]
-
-[[package]]
-name = "regex"
-version = "1.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
-
-[[package]]
-name = "rmp"
-version = "0.8.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f55e5fa1446c4d5dd1f5daeed2a4fe193071771a2636274d0d7a3b082aa7ad6"
-dependencies = [
- "byteorder",
- "num-traits",
-]
-
-[[package]]
-name = "rmpv"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c760afe11955e16121e36485b6b828326c3f0eaff1c31758d96dbeb5cf09fd5"
-dependencies = [
- "num-traits",
- "rmp",
-]
-
-[[package]]
-name = "rust-embed"
-version = "5.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fe1fe6aac5d6bb9e1ffd81002340363272a7648234ec7bdfac5ee202cb65523"
-dependencies = [
- "rust-embed-impl",
- "rust-embed-utils",
- "walkdir",
-]
-
-[[package]]
-name = "rust-embed-impl"
-version = "5.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed91c41c42ef7bf687384439c312e75e0da9c149b0390889b94de3c7d9d9e66"
-dependencies = [
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "rust-embed-utils",
- "syn 1.0.72",
- "walkdir",
-]
-
-[[package]]
-name = "rust-embed-utils"
-version = "5.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a512219132473ab0a77b52077059f1c47ce4af7fbdc94503e9862a34422876d"
-dependencies = [
- "walkdir",
-]
-
-[[package]]
-name = "rustc-hash"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
-
-[[package]]
-name = "rustc_version"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-dependencies = [
- "semver",
-]
-
-[[package]]
-name = "rusttype"
-version = "0.7.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "310942406a39981bed7e12b09182a221a29e0990f3e7e0c971f131922ed135d5"
-dependencies = [
- "rusttype 0.8.3",
-]
-
-[[package]]
-name = "rusttype"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f61411055101f7b60ecf1041d87fb74205fb20b0c7a723f07ef39174cf6b4c0"
-dependencies = [
- "approx",
- "ordered-float",
- "stb_truetype",
-]
-
-[[package]]
-name = "rusttype"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc7c727aded0be18c5b80c1640eae0ac8e396abf6fa8477d96cb37d18ee5ec59"
-dependencies = [
- "ab_glyph_rasterizer",
- "owned_ttf_parser",
-]
-
-[[package]]
-name = "ryu"
-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",
-]
-
-[[package]]
-name = "schannel"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
-dependencies = [
- "lazy_static",
- "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 = "scoped_threadpool"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "sdl2"
-version = "0.34.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "deecbc3fa9460acff5a1e563e05cb5f31bba0aa0c214bb49a43db8159176d54b"
-dependencies = [
- "bitflags",
- "lazy_static",
- "libc",
- "raw-window-handle",
- "sdl2-sys",
-]
-
-[[package]]
-name = "sdl2-sys"
-version = "0.34.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41a29aa21f175b5a41a6e26da572d5e5d1ee5660d35f9f9d0913e8a802098f74"
-dependencies = [
- "cfg-if 0.1.10",
- "cmake",
- "flate2",
- "libc",
- "tar",
- "unidiff",
- "version-compare",
-]
-
-[[package]]
-name = "semver"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-dependencies = [
- "semver-parser",
-]
-
-[[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.126"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"
-
-[[package]]
-name = "serde_json"
-version = "1.0.64"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "servo-fontconfig"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7e3e22fe5fd73d04ebf0daa049d3efe3eae55369ce38ab16d07ddd9ac5c217c"
-dependencies = [
- "libc",
- "servo-fontconfig-sys",
-]
-
-[[package]]
-name = "servo-fontconfig-sys"
-version = "5.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e36b879db9892dfa40f95da1c38a835d41634b825fbd8c4c418093d53c24b388"
-dependencies = [
- "expat-sys",
- "freetype-sys",
- "pkg-config",
-]
-
-[[package]]
-name = "shlex"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "skia-bindings"
-version = "0.35.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e158e83da2315e0b82eaf21e8aa771b9d32c7fd92ce56f247a8c63be8acc7a3e"
-dependencies = [
- "bindgen",
- "cc",
- "curl",
- "flate2",
- "heck",
- "regex",
- "serde_json",
- "tar",
- "toml",
-]
-
-[[package]]
-name = "skia-safe"
-version = "0.35.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85dd8abb714b094d5cb22b53aecc5d23aaa7219067d2347fbc9a7c3bc5118633"
-dependencies = [
- "bitflags",
- "lazy_static",
- "skia-bindings",
-]
-
-[[package]]
-name = "skribo"
-version = "0.1.0"
-source = "git+https://github.com/linebender/skribo#62fabc1257e4ba4460a7e32087026e85e694ecc6"
-dependencies = [
- "font-kit",
- "harfbuzz",
- "harfbuzz-sys",
- "log",
- "pathfinder_geometry",
- "unicode-normalization",
-]
-
-[[package]]
-name = "skulpin"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d11f1c75af5e20eaa1dd985692b42b697b49f3581eb8088526688120a951b1ad"
-dependencies = [
- "log",
- "skulpin-app-winit",
- "skulpin-renderer",
- "skulpin-renderer-sdl2",
- "skulpin-renderer-winit",
-]
-
-[[package]]
-name = "skulpin-app-winit"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "daf156763a67080ce9a8965bba2b1c7cdee9f51f4e1fdb2b3ef6dcf7d9fbf63f"
-dependencies = [
- "log",
- "skulpin-renderer",
- "skulpin-renderer-winit",
-]
-
-[[package]]
-name = "skulpin-renderer"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19f77569926563e91b3e8a5b1b77d192be6a8db8e3f0c4e05e887843998dd47e"
-dependencies = [
- "ash",
- "log",
- "skia-bindings",
- "skia-safe",
-]
-
-[[package]]
-name = "skulpin-renderer-sdl2"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2391513a1fcb62aad9e95fa0c7ab2ecaf0565dd68fee8bf096f1ed9a25abf936"
-dependencies = [
- "ash-window",
- "log",
- "raw-window-handle",
- "sdl2",
- "skulpin-renderer",
-]
-
-[[package]]
-name = "skulpin-renderer-winit"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc972e8252690259199c00f3e0a307082c6b666e57b72d629cf608e0396a0f01"
-dependencies = [
- "ash-window",
- "log",
- "raw-window-handle",
- "skulpin-renderer",
- "winit 0.22.2",
- "winit 0.23.0",
-]
-
-[[package]]
-name = "slab"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527"
-
-[[package]]
-name = "smallvec"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
-
-[[package]]
-name = "smithay-client-toolkit"
-version = "0.6.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "421c8dc7acf5cb205b88160f8b4cc2c5cfabe210e43b2f80f009f4c1ef910f1d"
-dependencies = [
- "andrew 0.2.1",
- "bitflags",
- "dlib 0.4.2",
- "lazy_static",
- "memmap",
- "nix 0.14.1",
- "wayland-client 0.23.6",
- "wayland-protocols 0.23.6",
-]
-
-[[package]]
-name = "smithay-client-toolkit"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4750c76fd5d3ac95fa3ed80fe667d6a3d8590a960e5b575b98eea93339a80b80"
-dependencies = [
- "andrew 0.3.1",
- "bitflags",
- "calloop 0.6.5",
- "dlib 0.4.2",
- "lazy_static",
- "log",
- "memmap2",
- "nix 0.18.0",
- "wayland-client 0.28.5",
- "wayland-cursor",
- "wayland-protocols 0.28.5",
-]
-
-[[package]]
-name = "socket2"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "stb_truetype"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f77b6b07e862c66a9f3e62a07588fee67cd90a9135a2b942409f195507b4fb51"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
-[[package]]
-name = "strsim"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
-
-[[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",
- "quote 0.6.13",
- "unicode-xid 0.1.0",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.72"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"
-dependencies = [
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "unicode-xid 0.2.2",
-]
-
-[[package]]
-name = "tar"
-version = "0.4.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0bcfbd6a598361fda270d82469fff3d65089dc33e175c9a131f7b4cd395f228"
-dependencies = [
- "filetime",
- "libc",
- "xattr",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
-dependencies = [
- "winapi-util",
-]
-
-[[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 = [
- "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.26",
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[package]]
-name = "tiff"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7b7c2cfc4742bd8a32f2e614339dd8ce30dbcf676bb262bd63a2327bc5df57d"
-dependencies = [
- "byteorder",
- "lzw",
- "num-derive",
- "num-traits",
-]
-
-[[package]]
-name = "time"
-version = "0.1.43"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "tiny-keccak"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
-dependencies = [
- "crunchy",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342"
-dependencies = [
- "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.2.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092"
-dependencies = [
- "bytes 0.5.6",
- "fnv",
- "iovec",
- "lazy_static",
- "libc",
- "memchr",
- "mio",
- "mio-named-pipes",
- "mio-uds",
- "num_cpus",
- "pin-project-lite 0.1.12",
- "signal-hook-registry",
- "slab",
- "tokio-macros",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "tokio-io"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
-dependencies = [
- "bytes 0.4.12",
- "futures 0.1.31",
- "log",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a"
-dependencies = [
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "syn 1.0.72",
-]
-
-[[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 = "ttf-parser"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e5d7cd7ab3e47dda6e56542f4bbf3824c15234958c6e1bd6aaa347e93499fdc"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796"
-
-[[package]]
-name = "unicode-width"
-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.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
-
-[[package]]
-name = "unidiff"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8a62719acf1933bfdbeb73a657ecd9ecece70b405125267dd549e2e2edc232c"
-dependencies = [
- "encoding_rs",
- "lazy_static",
- "regex",
-]
-
-[[package]]
-name = "vcpkg"
-version = "0.2.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbdbff6266a24120518560b5dc983096efb98462e51d0d68169895b237be3e5d"
-
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
-[[package]]
-name = "version-compare"
-version = "0.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d63556a25bae6ea31b52e640d7c41d1ab27faba4ccb600013837a3d0b3994ca1"
-
-[[package]]
-name = "version_check"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
-
-[[package]]
-name = "void"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-
-[[package]]
-name = "walkdir"
-version = "2.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
-dependencies = [
- "same-file",
- "winapi 0.3.9",
- "winapi-util",
-]
-
-[[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 = "wayland-client"
-version = "0.23.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af1080ebe0efabcf12aef2132152f616038f2d7dcbbccf7b2d8c5270fe14bcda"
-dependencies = [
- "bitflags",
- "calloop 0.4.4",
- "downcast-rs",
- "libc",
- "mio",
- "nix 0.14.1",
- "wayland-commons 0.23.6",
- "wayland-scanner 0.23.6",
- "wayland-sys 0.23.6",
-]
-
-[[package]]
-name = "wayland-client"
-version = "0.28.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06ca44d86554b85cf449f1557edc6cc7da935cc748c8e4bf1c507cbd43bae02c"
-dependencies = [
- "bitflags",
- "downcast-rs",
- "libc",
- "nix 0.20.0",
- "scoped-tls",
- "wayland-commons 0.28.5",
- "wayland-scanner 0.28.5",
- "wayland-sys 0.28.5",
-]
-
-[[package]]
-name = "wayland-commons"
-version = "0.23.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb66b0d1a27c39bbce712b6372131c6e25149f03ffb0cd017cf8f7de8d66dbdb"
-dependencies = [
- "nix 0.14.1",
- "wayland-sys 0.23.6",
-]
-
-[[package]]
-name = "wayland-commons"
-version = "0.28.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bd75ae380325dbcff2707f0cd9869827ea1d2d6d534cff076858d3f0460fd5a"
-dependencies = [
- "nix 0.20.0",
- "once_cell",
- "smallvec",
- "wayland-sys 0.28.5",
-]
-
-[[package]]
-name = "wayland-cursor"
-version = "0.28.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b37e5455ec72f5de555ec39b5c3704036ac07c2ecd50d0bffe02d5fe2d4e65ab"
-dependencies = [
- "nix 0.20.0",
- "wayland-client 0.28.5",
- "xcursor",
-]
-
-[[package]]
-name = "wayland-protocols"
-version = "0.23.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6cc286643656742777d55dc8e70d144fa4699e426ca8e9d4ef454f4bf15ffcf9"
-dependencies = [
- "bitflags",
- "wayland-client 0.23.6",
- "wayland-commons 0.23.6",
- "wayland-scanner 0.23.6",
-]
-
-[[package]]
-name = "wayland-protocols"
-version = "0.28.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95df3317872bcf9eec096c864b69aa4769a1d5d6291a5b513f8ba0af0efbd52c"
-dependencies = [
- "bitflags",
- "wayland-client 0.28.5",
- "wayland-commons 0.28.5",
- "wayland-scanner 0.28.5",
-]
-
-[[package]]
-name = "wayland-scanner"
-version = "0.23.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93b02247366f395b9258054f964fe293ddd019c3237afba9be2ccbe9e1651c3d"
-dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "xml-rs",
-]
-
-[[package]]
-name = "wayland-scanner"
-version = "0.28.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "389d680d7bd67512dc9c37f39560224327038deb0f0e8d33f870900441b68720"
-dependencies = [
- "proc-macro2 1.0.26",
- "quote 1.0.9",
- "xml-rs",
-]
-
-[[package]]
-name = "wayland-sys"
-version = "0.23.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d94e89a86e6d6d7c7c9b19ebf48a03afaac4af6bc22ae570e9a24124b75358f4"
-dependencies = [
- "dlib 0.4.2",
- "lazy_static",
-]
-
-[[package]]
-name = "wayland-sys"
-version = "0.28.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2907bd297eef464a95ba9349ea771611771aa285b932526c633dc94d5400a8e2"
-dependencies = [
- "dlib 0.5.0",
- "lazy_static",
- "pkg-config",
-]
-
-[[package]]
-name = "which"
-version = "3.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "which"
-version = "4.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe"
-dependencies = [
- "either",
- "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.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-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.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-dependencies = [
- "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"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "winit"
-version = "0.22.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e4ccbf7ddb6627828eace16cacde80fc6bf4dbb3469f88487262a02cf8e7862"
-dependencies = [
- "bitflags",
- "cocoa 0.20.2",
- "core-foundation 0.7.0",
- "core-graphics 0.19.2",
- "core-video-sys",
- "dispatch",
- "instant",
- "lazy_static",
- "libc",
- "log",
- "mio",
- "mio-extras",
- "ndk 0.1.0",
- "ndk-glue 0.1.0",
- "ndk-sys 0.1.0",
- "objc",
- "parking_lot 0.10.2",
- "percent-encoding",
- "raw-window-handle",
- "smithay-client-toolkit 0.6.6",
- "wayland-client 0.23.6",
- "winapi 0.3.9",
- "x11-dl",
-]
-
-[[package]]
-name = "winit"
-version = "0.23.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5bc559da567d8aa671bbcd08304d49e982c7bf2cb91e10288b9188931c1b772"
-dependencies = [
- "bitflags",
- "cocoa 0.23.0",
- "core-foundation 0.9.1",
- "core-graphics 0.22.2",
- "core-video-sys",
- "dispatch",
- "instant",
- "lazy_static",
- "libc",
- "log",
- "mio",
- "mio-extras",
- "ndk 0.2.1",
- "ndk-glue 0.2.1",
- "ndk-sys 0.2.1",
- "objc",
- "parking_lot 0.11.1",
- "percent-encoding",
- "raw-window-handle",
- "smithay-client-toolkit 0.12.3",
- "wayland-client 0.28.5",
- "winapi 0.3.9",
- "x11-dl",
-]
-
-[[package]]
-name = "winres"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff4fb510bbfe5b8992ff15f77a2e6fe6cf062878f0eda00c0f44963a807ca5dc"
-dependencies = [
- "toml",
-]
-
-[[package]]
-name = "wio"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5"
-dependencies = [
- "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",
- "winapi-build",
-]
-
-[[package]]
-name = "x11-dl"
-version = "2.18.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bf981e3a5b3301209754218f962052d4d9ee97e478f4d26d4a6eced34c1fef8"
-dependencies = [
- "lazy_static",
- "libc",
- "maybe-uninit",
- "pkg-config",
-]
-
-[[package]]
-name = "xattr"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "xcursor"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a9a231574ae78801646617cefd13bfe94be907c0e4fa979cfd8b770aa3c5d08"
-dependencies = [
- "nom 6.1.2",
-]
-
-[[package]]
-name = "xdg"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57"
-
-[[package]]
-name = "xml-rs"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b07db065a5cf61a7e4ba64f29e67db906fb1787316516c4e6e5ff0fea1efcd8a"
diff --git a/pkgs/applications/editors/neovim/neovide/default.nix b/pkgs/applications/editors/neovim/neovide/default.nix
index c0a54487329..55f75777bee 100644
--- a/pkgs/applications/editors/neovim/neovide/default.nix
+++ b/pkgs/applications/editors/neovim/neovide/default.nix
@@ -9,65 +9,59 @@
 , expat
 , openssl
 , SDL2
-, vulkan-loader
 , fontconfig
 , ninja
 , gn
 , llvmPackages
 , makeFontsConf
+, libglvnd
+, libxkbcommon
+, wayland
+, xorg
 }:
 rustPlatform.buildRustPackage rec {
   pname = "neovide";
-  version = "20210515";
+  version = "unstable-2021-06-21";
 
-  src =
-    let
-      repo = fetchFromGitHub {
-        owner = "Kethku";
-        repo = "neovide";
-        rev = "0b976c3d28bbd24e6c83a2efc077aa96dde1e9eb";
-        sha256 = "sha256-asaOxcAenKdy/yJvch3HFfgnrBnQagL02UpWYnz7sa8=";
-      };
-    in
-    runCommand "source" { } ''
-      cp -R ${repo} $out
-      chmod -R +w $out
-      # Reasons for patching Cargo.toml:
-      # - I got neovide built with latest compatible skia-save version 0.35.1
-      #   and I did not try to get it with 0.32.1 working. Changing the skia
-      #   version is time consuming, because of manual dependecy tracking and
-      #   long compilation runs.
-      sed -i $out/Cargo.toml \
-        -e '/skia-safe/s;0.32.1;0.35.1;'
-      cp ${./Cargo.lock} $out/Cargo.lock
-    '';
+  src = fetchFromGitHub {
+    owner = "Kethku";
+    repo = "neovide";
+    rev = "4159c47ff4f30073b92b9d63fc6ab70e07b74b6d";
+    sha256 = "sha256-XwirJGXMGxc/NkpSeHBUc16ppvJ+H4ECnrOVu030Qfg=";
+  };
 
-  cargoSha256 = "sha256-XMPRM3BAfCleS0LXQv03A3lQhlUhAP8/9PdVbAUnfG0=";
+  cargoSha256 = "sha256-WCk9kt81DtBwpEEdKH9gKQSVxAvH+vkyP2y24tU+vzY=";
 
-  SKIA_OFFLINE_SOURCE_DIR =
+  SKIA_SOURCE_DIR =
     let
       repo = fetchFromGitHub {
         owner = "rust-skia";
         repo = "skia";
-        # see rust-skia/Cargo.toml#package.metadata skia
-        rev = "m86-0.35.0";
-        sha256 = "sha256-uTSgtiEkbE9e08zYOkRZyiHkwOLr/FbBYkr2d+NZ8J0=";
+        # see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
+        rev = "m90-0.38.3";
+        sha256 = "sha256-l8c4vfO1PELAT8bDyr/yQGZetZsaufAlJ6bBOXz7E1w=";
       };
       # The externals for skia are taken from skia/DEPS
       externals = lib.mapAttrs (n: v: fetchgit v) (lib.importJSON ./skia-externals.json);
     in
-    runCommand "source" { } (''
-      cp -R ${repo} $out
-      chmod -R +w $out
+      runCommand "source" {} (
+        ''
+          cp -R ${repo} $out
+          chmod -R +w $out
 
-      mkdir -p $out/third_party/externals
-      cd $out/third_party/externals
-    '' + (builtins.concatStringsSep "\n" (lib.mapAttrsToList (name: value: "cp -ra ${value} ${name}") externals)));
+          mkdir -p $out/third_party/externals
+          cd $out/third_party/externals
+        '' + (builtins.concatStringsSep "\n" (lib.mapAttrsToList (name: value: "cp -ra ${value} ${name}") externals))
+      );
 
-  SKIA_OFFLINE_NINJA_COMMAND = "${ninja}/bin/ninja";
-  SKIA_OFFLINE_GN_COMMAND = "${gn}/bin/gn";
+  SKIA_NINJA_COMMAND = "${ninja}/bin/ninja";
+  SKIA_GN_COMMAND = "${gn}/bin/gn";
   LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
 
+  preConfigure = ''
+    unset CC CXX
+  '';
+
   # test needs a valid fontconfig file
   FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; };
 
@@ -92,9 +86,9 @@ rustPlatform.buildRustPackage rec {
   ];
 
   postFixup = ''
-    wrapProgram $out/bin/neovide \
-      --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-  '';
+      wrapProgram $out/bin/neovide \
+        --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libglvnd libxkbcommon wayland xorg.libXcursor xorg.libXext xorg.libXrandr xorg.libXi ]}
+    '';
 
   postInstall = ''
     for n in 16x16 32x32 48x48 256x256; do
diff --git a/pkgs/applications/editors/neovim/neovide/skia-externals.json b/pkgs/applications/editors/neovim/neovide/skia-externals.json
index be1fdb181c2..3c0de3008d7 100644
--- a/pkgs/applications/editors/neovim/neovide/skia-externals.json
+++ b/pkgs/applications/editors/neovim/neovide/skia-externals.json
@@ -16,8 +16,8 @@
   },
   "zlib": {
     "url": "https://chromium.googlesource.com/chromium/src/third_party/zlib",
-    "rev": "eaf99a4e2009b0e5759e6070ad1760ac1dd75461",
-    "sha256": "sha256-B4PgeSVBU/MSkPkXTu9jPIa37dNJPm2HpmiVf6XuOGE="
+    "rev": "c876c8f87101c5a75f6014b0f832499afeb65b73",
+    "sha256": "sha256-mwozVo8ymyrYN4tw+/ZnSI+xogSTZQ6PUBba/jQqRkE="
   },
   "harfbuzz": {
     "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
@@ -31,7 +31,7 @@
   },
   "libgifcodec": {
     "url": "https://skia.googlesource.com/libgifcodec",
-    "rev": "d06d2a6d42baf6c0c91cacc28df2542a911d05fe",
-    "sha256": "sha256-ke1X5iyj2ah2NqGVdFv8GuoRAzXg1aCeTdZwUM8wvCI="
+    "rev": "fd59fa92a0c86788dcdd84d091e1ce81eda06a77",
+    "sha256": "sha256-spyZU4QhV2xrHcBRoYqYgCR0wEM5lgfhGh8pqJE5yXM="
   }
 }
diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix
index 96b61a43cca..d94f3239f4b 100644
--- a/pkgs/applications/editors/neovim/wrapper.nix
+++ b/pkgs/applications/editors/neovim/wrapper.nix
@@ -131,7 +131,6 @@ let
       hydraPlatforms = [];
       # prefer wrapper over the package
       priority = (neovim.meta.priority or 0) - 1;
-      mainProgram = "nvim";
     };
   };
 in
diff --git a/pkgs/applications/editors/oed/default.nix b/pkgs/applications/editors/oed/default.nix
new file mode 100644
index 00000000000..2281ca8c08b
--- /dev/null
+++ b/pkgs/applications/editors/oed/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "oed";
+  version = "6.7";
+
+  src = fetchFromGitHub {
+    owner = "ibara";
+    repo = "oed";
+    rev = "oed-${version}";
+    hash = "sha256-Z8B1RIFve3UPj+9G/WJX0BNc2ynG/qtoGfoesarYGz8=";
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/ibara/oed";
+    description = "Portable ed editor from OpenBSD";
+    license = with licenses; [ bsd2 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/editors/poke/default.nix b/pkgs/applications/editors/poke/default.nix
index df53bcb52c9..a24666741e1 100644
--- a/pkgs/applications/editors/poke/default.nix
+++ b/pkgs/applications/editors/poke/default.nix
@@ -19,11 +19,11 @@ let
   isCross = stdenv.hostPlatform != stdenv.buildPlatform;
 in stdenv.mkDerivation rec {
   pname = "poke";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-9hz42ltkwBoTWTc3JarRyiV/NcHJJp5NUN0GZBg932I=";
+    hash = "sha256-unhjA0obCABLDuj4i9qUFgcH6aeB1VVvVVtQdYPPDxs=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/editors/quartus-prime/default.nix b/pkgs/applications/editors/quartus-prime/default.nix
index 96a543f3cb5..773b1f278e0 100644
--- a/pkgs/applications/editors/quartus-prime/default.nix
+++ b/pkgs/applications/editors/quartus-prime/default.nix
@@ -1,99 +1,9 @@
-{ buildFHSUserEnv, makeDesktopItem, writeScript, stdenv, lib, requireFile, unstick,
-  supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ] }:
+{ stdenv, lib, buildFHSUserEnv, callPackage, makeDesktopItem, writeScript
+, supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ]
+, unwrapped ? callPackage ./quartus.nix { inherit supportedDevices; }
+}:
 
 let
-  deviceIds = {
-    "Arria II" = "arria_lite";
-    "Cyclone V" = "cyclonev";
-    "Cyclone IV" = "cyclone";
-    "Cyclone 10 LP" = "cyclone10lp";
-    "MAX II/V" = "max";
-    "MAX 10 FPGA" = "max10";
-  };
-
-  supportedDeviceIds =
-    assert lib.assertMsg (lib.all (name: lib.hasAttr name deviceIds) supportedDevices)
-      "Supported devices are: ${lib.concatStringsSep ", " (lib.attrNames deviceIds)}";
-    lib.listToAttrs (map (name: {
-      inherit name;
-      value = deviceIds.${name};
-    }) supportedDevices);
-
-  unsupportedDeviceIds = lib.filterAttrs (name: value:
-    !(lib.hasAttr name supportedDeviceIds)
-  ) deviceIds;
-
-  quartus = stdenv.mkDerivation rec {
-    version = "20.1.0.711";
-    pname = "quartus-prime-lite-unwrapped";
-
-    src = let
-      require = {name, sha256}: requireFile {
-        inherit name sha256;
-        url = "${meta.homepage}/${lib.versions.majorMinor version}/?edition=lite&platform=linux";
-      };
-
-      hashes = {
-        "arria_lite" = "09g2knq23h3vj0s5y7hsdnqbbkr3pnv53dzpqcw2lq9mb5zfs9r0";
-        "cyclonev" = "05hrpysasyfb7xhxg68spdffxyvxcx0iagibd5jz643b7n6aalpa";
-        "cyclone" = "1x3rnwsvzrb5kwdz35sbcabxmcvj8xxpnjlpcjwfc69ybiyr6sgz";
-        "cyclone10lp" = "1x6d4hm697mjgzaxixrw5va8anr6ihhx96x2524r6axpwqf6wcja";
-        "max" = "060b7v0xh86kkjyiix7akfkzhx2kl1b3q117kp7xibnz6yrzwmy3";
-        "max10" = "05840l9pmqa4i1b3ajfaxkqz1hppls556vbq16a42acz2qs2g578";
-      };
-
-      devicePackages = map (id: {
-        name = "${id}-${version}.qdz";
-        sha256 = lib.getAttr id hashes;
-      }) (lib.attrValues supportedDeviceIds);
-    in map require ([{
-      name = "QuartusLiteSetup-${version}-linux.run";
-      sha256 = "07ssrv8p8kacal6xd80n4h7l5xz13aw1m1gfqqaxig0ivsj971z5";
-    } {
-      name = "ModelSimSetup-${version}-linux.run";
-      sha256 = "0smxasrmr1c8k6hy378knskpjmz4cgpgb35v5jclns0kx68y3c42";
-    }] ++ devicePackages);
-
-    nativeBuildInputs = [ unstick ];
-
-    buildCommand = let
-      installers = lib.sublist 0 2 src;
-      components = lib.sublist 2 ((lib.length src) - 2) src;
-      copyInstaller = installer: ''
-        # `$(cat $NIX_CC/nix-support/dynamic-linker) $src[0]` often segfaults, so cp + patchelf
-        cp ${installer} $TEMP/${installer.name}
-        chmod u+w,+x $TEMP/${installer.name}
-        patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $TEMP/${installer.name}
-      '';
-      copyComponent = component: "cp ${component} $TEMP/${component.name}";
-      # leaves enabled: quartus, modelsim_ase, devinfo
-      disabledComponents = [
-        "quartus_help"
-        "quartus_update"
-        # not modelsim_ase
-        "modelsim_ae"
-      ] ++ (lib.attrValues unsupportedDeviceIds);
-    in ''
-      ${lib.concatMapStringsSep "\n" copyInstaller installers}
-      ${lib.concatMapStringsSep "\n" copyComponent components}
-
-      unstick $TEMP/${(builtins.head installers).name} \
-        --disable-components ${lib.concatStringsSep "," disabledComponents} \
-        --mode unattended --installdir $out --accept_eula 1
-
-      rm -r $out/uninstall $out/logs
-    '';
-
-    meta = {
-      homepage = "https://fpgasoftware.intel.com";
-      description = "FPGA design and simulation software";
-      license = lib.licenses.unfree;
-      platforms = lib.platforms.linux;
-      hydraPlatforms = [ ]; # requireFile srcs cannot be fetched by hydra, ignore
-      maintainers = with lib.maintainers; [ kwohlfahrt ];
-    };
-  };
-
   desktopItem = makeDesktopItem {
     name = "quartus-prime-lite";
     exec = "quartus";
@@ -102,7 +12,6 @@ let
     genericName = "Quartus Prime";
     categories = "Development;";
   };
-
 # I think modelsim_ase/linux/vlm checksums itself, so use FHSUserEnv instead of `patchelf`
 in buildFHSUserEnv rec {
   name = "quartus-prime-lite"; # wrapped
@@ -136,9 +45,7 @@ in buildFHSUserEnv rec {
     xorg.libXrender
   ];
 
-  passthru = {
-    unwrapped = quartus;
-  };
+  passthru = { inherit unwrapped; };
 
   extraInstallCommands = let
     quartusExecutables = (map (c: "quartus/bin/quartus_${c}") [
@@ -156,14 +63,14 @@ in buildFHSUserEnv rec {
   in ''
     mkdir -p $out/share/applications $out/share/icons/128x128
     ln -s ${desktopItem}/share/applications/* $out/share/applications
-    ln -s ${quartus}/licenses/images/dc_quartus_panel_logo.png $out/share/icons/128x128/quartus.png
+    ln -s ${unwrapped}/licenses/images/dc_quartus_panel_logo.png $out/share/icons/128x128/quartus.png
 
     mkdir -p $out/quartus/bin $out/quartus/sopc_builder/bin $out/modelsim_ase/bin
     WRAPPER=$out/bin/${name}
     EXECUTABLES="${lib.concatStringsSep " " (quartusExecutables ++ qsysExecutables ++ modelsimExecutables)}"
     for executable in $EXECUTABLES; do
         echo "#!${stdenv.shell}" >> $out/$executable
-        echo "$WRAPPER ${quartus}/$executable \$@" >> $out/$executable
+        echo "$WRAPPER ${unwrapped}/$executable \$@" >> $out/$executable
     done
 
     cd $out
diff --git a/pkgs/applications/editors/quartus-prime/quartus.nix b/pkgs/applications/editors/quartus-prime/quartus.nix
new file mode 100644
index 00000000000..9475f441703
--- /dev/null
+++ b/pkgs/applications/editors/quartus-prime/quartus.nix
@@ -0,0 +1,97 @@
+{ stdenv, lib, unstick, requireFile
+, supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ]
+}:
+
+let
+  deviceIds = {
+    "Arria II" = "arria_lite";
+    "Cyclone V" = "cyclonev";
+    "Cyclone IV" = "cyclone";
+    "Cyclone 10 LP" = "cyclone10lp";
+    "MAX II/V" = "max";
+    "MAX 10 FPGA" = "max10";
+  };
+
+  supportedDeviceIds =
+    assert lib.assertMsg (lib.all (name: lib.hasAttr name deviceIds) supportedDevices)
+      "Supported devices are: ${lib.concatStringsSep ", " (lib.attrNames deviceIds)}";
+    lib.listToAttrs (map (name: {
+      inherit name;
+      value = deviceIds.${name};
+    }) supportedDevices);
+
+  unsupportedDeviceIds = lib.filterAttrs (name: value:
+    !(lib.hasAttr name supportedDeviceIds)
+  ) deviceIds;
+
+  componentHashes = {
+    "arria_lite" = "140jqnb97vrxx6398cpgpw35zrrx3z5kv1x5gr9is1xdbnf4fqhy";
+    "cyclone" = "116kf69ryqcmlc2k8ra0v32jy7nrk7w4s5z3yll7h3c3r68xcsfr";
+    "cyclone10lp" = "07wpgx9bap6rlr5bcmr9lpsxi3cy4yar4n3pxfghazclzqfi2cyl";
+    "cyclonev" = "11baa9zpmmfkmyv33w1r57ipf490gnd3dpi2daripf38wld8lgak";
+    "max" = "1zy2d42dqmn97fwmv4x6pmihh4m23jypv3nd830m1mj7jkjx9kcq";
+    "max10" = "1hvi9cpcjgbih3l6nh8x1vsp0lky5ax85jb2yqmzla80n7dl9ahs";
+  };
+
+  version = "20.1.1.720";
+  homepage = "https://fpgasoftware.intel.com";
+
+  require = {name, sha256}: requireFile {
+    inherit name sha256;
+    url = "${homepage}/${lib.versions.majorMinor version}/?edition=lite&platform=linux";
+  };
+
+in stdenv.mkDerivation rec {
+  inherit version;
+  pname = "quartus-prime-lite-unwrapped";
+
+  src = map require ([{
+    name = "QuartusLiteSetup-${version}-linux.run";
+    sha256 = "0mjp1rg312dipr7q95pb4nf4b8fwvxgflnd1vafi3g9cshbb1c3k";
+  } {
+    name = "ModelSimSetup-${version}-linux.run";
+    sha256 = "1cqgv8x6vqga8s4v19yhmgrr886rb6p7sbx80528df5n4rpr2k4i";
+  }] ++ (map (id: {
+    name = "${id}-${version}.qdz";
+    sha256 = lib.getAttr id componentHashes;
+  }) (lib.attrValues supportedDeviceIds)));
+
+  nativeBuildInputs = [ unstick ];
+
+  buildCommand = let
+    installers = lib.sublist 0 2 src;
+    components = lib.sublist 2 ((lib.length src) - 2) src;
+    copyInstaller = installer: ''
+        # `$(cat $NIX_CC/nix-support/dynamic-linker) $src[0]` often segfaults, so cp + patchelf
+        cp ${installer} $TEMP/${installer.name}
+        chmod u+w,+x $TEMP/${installer.name}
+        patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $TEMP/${installer.name}
+      '';
+    copyComponent = component: "cp ${component} $TEMP/${component.name}";
+    # leaves enabled: quartus, modelsim_ase, devinfo
+    disabledComponents = [
+      "quartus_help"
+      "quartus_update"
+      # not modelsim_ase
+      "modelsim_ae"
+    ] ++ (lib.attrValues unsupportedDeviceIds);
+  in ''
+      ${lib.concatMapStringsSep "\n" copyInstaller installers}
+      ${lib.concatMapStringsSep "\n" copyComponent components}
+
+      unstick $TEMP/${(builtins.head installers).name} \
+        --disable-components ${lib.concatStringsSep "," disabledComponents} \
+        --mode unattended --installdir $out --accept_eula 1
+
+      rm -r $out/uninstall $out/logs
+    '';
+
+  meta = with lib; {
+    inherit homepage;
+    description = "FPGA design and simulation software";
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    hydraPlatforms = [ ]; # requireFile srcs cannot be fetched by hydra, ignore
+    maintainers = with maintainers; [ kwohlfahrt ];
+  };
+}
diff --git a/pkgs/applications/editors/spacevim/default.nix b/pkgs/applications/editors/spacevim/default.nix
index 661bec463a7..9f6f895efac 100644
--- a/pkgs/applications/editors/spacevim/default.nix
+++ b/pkgs/applications/editors/spacevim/default.nix
@@ -1,8 +1,19 @@
-{ ripgrep, git, fzf, makeWrapper, vim_configurable, vimPlugins, fetchFromGitHub
-, lib, stdenv, formats, runCommand, spacevim_config ? import ./init.nix }:
+{ ripgrep
+, git
+, fzf
+, makeWrapper
+, vim_configurable
+, vimPlugins
+, fetchFromGitHub
+, lib
+, stdenv
+, formats
+, runCommand
+, spacevim_config ? import ./init.nix
+}:
 
 let
-  format = formats.toml {};
+  format = formats.toml { };
   vim-customized = vim_configurable.customize {
     name = "vim";
     # Not clear at the moment how to import plugins such that
@@ -14,17 +25,18 @@ let
     mkdir -p $out
     cp ${format.generate "init.toml" spacevim_config} $out/init.toml
   '';
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "spacevim";
-  version = "1.6.0";
+  version = "1.7.0";
   src = fetchFromGitHub {
     owner = "SpaceVim";
     repo = "SpaceVim";
     rev = "v${version}";
-    sha256 = "sha256-QQdtjEdbuzmf0Rw+u2ZltLihnJt8LqkfTrLDWLAnCLE=";
+    sha256 = "sha256-TmfPeaGkH1Wq2b5lB29PUYDVddJVN3mBuPAmu9EtiGY=";
   };
 
-  nativeBuildInputs = [ makeWrapper vim-customized];
+  nativeBuildInputs = [ makeWrapper vim-customized ];
   buildInputs = [ vim-customized ];
 
   buildPhase = ''
diff --git a/pkgs/applications/editors/sublime/3/common.nix b/pkgs/applications/editors/sublime/3/common.nix
index e353f4f5652..b4bfc6c9ea7 100644
--- a/pkgs/applications/editors/sublime/3/common.nix
+++ b/pkgs/applications/editors/sublime/3/common.nix
@@ -108,7 +108,7 @@ in stdenv.mkDerivation (rec {
   inherit pname;
   version = buildVersion;
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   ${primaryBinary} = binaryPackage;
 
diff --git a/pkgs/applications/editors/sublime/4/common.nix b/pkgs/applications/editors/sublime/4/common.nix
index 97299bef3ac..13eabde14e6 100644
--- a/pkgs/applications/editors/sublime/4/common.nix
+++ b/pkgs/applications/editors/sublime/4/common.nix
@@ -100,7 +100,7 @@ in stdenv.mkDerivation (rec {
   inherit pname;
   version = buildVersion;
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   ${primaryBinary} = binaryPackage;
 
diff --git a/pkgs/applications/editors/sublime/4/packages.nix b/pkgs/applications/editors/sublime/4/packages.nix
index b7c3887cc08..bbef0d8a405 100644
--- a/pkgs/applications/editors/sublime/4/packages.nix
+++ b/pkgs/applications/editors/sublime/4/packages.nix
@@ -5,15 +5,15 @@ let
 in
   {
     sublime4 = common {
-      buildVersion = "4107";
-      x64sha256 = "05ar7qd1d880442bx4w32mapsib7j27g9l96q2v2s7591r9fgnf7";
-      aarch64sha256 = "4MzwhZ17c6cYtlwPA+SBiey6GiVruADXOLJAeJlMrgM=";
+      buildVersion = "4113";
+      x64sha256 = "13679mnmigy1sgj355zs4si6gnx42rgjl4rn5d6gqgj5qq7zj3lh";
+      aarch64sha256 = "0hg6g3cichma1x82963m7xwazmpdvv5zmz8rpwxs337zq7j3dmb3";
     } {};
 
     sublime4-dev = common {
-      buildVersion = "4106";
+      buildVersion = "4112";
       dev = true;
-      x64sha256 = "09jnn52zb0mjxpj5xz4sixl34cr6j60x46c2dj1m0dlgxap0sh8x";
-      aarch64sha256 = "7blbeSZI0V6q89jMM+zi2ODEdoc1b3Am8F2b2jLr5O8=";
+      x64sha256 = "1yy8wzcphsk3ji2sv2vjcw8ybn62yibzsv9snmm01gvkma16p9dl";
+      aarch64sha256 = "12bl235rxgw3q99yz9x4nfaryb32a2vzyam88by6p1s1zw2fxnp9";
     } {};
   }
diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix
index d628eeadab6..427d0aa3ace 100644
--- a/pkgs/applications/editors/texmacs/default.nix
+++ b/pkgs/applications/editors/texmacs/default.nix
@@ -16,7 +16,7 @@
 
 let
   pname = "TeXmacs";
-  version = "1.99.19";
+  version = "2.1";
   common = callPackage ./common.nix {
     inherit tex extraFonts chineseFonts japaneseFonts koreanFonts;
   };
@@ -26,7 +26,7 @@ mkDerivation {
 
   src = fetchurl {
     url = "https://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
-    sha256 = "1izwqb0z4gqiglv57mjswk6sjivny73kd2sxrf3nmj7wr12pn5m8";
+    sha256 = "1gl6k1bwrk1y7hjyl4xvlqvmk5crl4jvsk8wrfp7ynbdin6n2i48";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index 4fbbacf8f1e..fe32da4a42f 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "tiled";
-  version = "1.5.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Pf9nA5DUAJ+PPNG+oP7RO4/TD8fy4ADsyq625a6cbFk=";
+    sha256 = "sha256-XVIkyf9cQZXjFuGGCliCSY22X8EkoPEl1EpGCrMTsgY=";
   };
 
   nativeBuildInputs = [ pkg-config qmake ];
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 4215b20180e..5e1d9dc9cb8 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -175,7 +175,8 @@ in stdenv.mkDerivation rec {
 
     ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc
   '' + lib.optionalString wrapPythonDrv ''
-    wrapProgram "$out/bin/vim" --prefix PATH : "${python3}/bin"
+    wrapProgram "$out/bin/vim" --prefix PATH : "${python3}/bin" \
+      --set NIX_PYTHONPATH "${python3}/${python3.sitePackages}"
   '' + lib.optionalString (guiSupport == "gtk3") ''
 
     rewrap () {
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index 48e1369c8c3..2cda81c2588 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -2,7 +2,7 @@
 # default vimrc
 , vimrc ? fetchurl {
     name = "default-vimrc";
-    url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/archlinux.vim?id=68f6d131750aa778807119e03eed70286a17b1cb";
+    url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/68f6d131750aa778807119e03eed70286a17b1cb/trunk/archlinux.vim";
     sha256 = "18ifhv5q9prd175q3vxbqf6qyvkk6bc7d2lhqdk0q78i68kv9y0c";
   }
 # apple frameworks
diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix
index 56a81f21feb..a7f9fb328ff 100644
--- a/pkgs/applications/editors/vscode/generic.nix
+++ b/pkgs/applications/editors/vscode/generic.nix
@@ -10,6 +10,9 @@
 # Attributes inherit from specific versions
 , version, src, meta, sourceRoot
 , executableName, longName, shortName, pname, updateScript
+# sourceExecutableName is the name of the binary in the source archive, over
+# which we have no control
+, sourceExecutableName ? executableName
 }:
 
 let
@@ -74,15 +77,15 @@ let
 
     installPhase = ''
       runHook preInstall
-    '' + (if system == "x86_64-darwin" then ''
+    '' + (if stdenv.isDarwin then ''
       mkdir -p "$out/Applications/${longName}.app" $out/bin
       cp -r ./* "$out/Applications/${longName}.app"
-      ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${executableName}" $out/bin/${executableName}
+      ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${sourceExecutableName}" $out/bin/${executableName}
     '' else ''
       mkdir -p $out/lib/vscode $out/bin
       cp -r ./* $out/lib/vscode
 
-      ln -s $out/lib/vscode/bin/${executableName} $out/bin
+      ln -s $out/lib/vscode/bin/${sourceExecutableName} $out/bin/${executableName}
 
       mkdir -p $out/share/applications
       ln -s $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop
diff --git a/pkgs/applications/editors/vscode/update-vscode.sh b/pkgs/applications/editors/vscode/update-vscode.sh
index 68249c20d13..709fbe1c751 100755
--- a/pkgs/applications/editors/vscode/update-vscode.sh
+++ b/pkgs/applications/editors/vscode/update-vscode.sh
@@ -19,18 +19,22 @@ fi
 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://update.code.visualstudio.com/${VSCODE_VER}/linux-x64/stable"
-VSCODE_LINUX_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_URL})
-sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODE_LINUX_SHA256}\"/" "$ROOT/vscode.nix"
+VSCODE_X64_LINUX_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-x64/stable"
+VSCODE_X64_LINUX_SHA256=$(nix-prefetch-url ${VSCODE_X64_LINUX_URL})
+sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODE_X64_LINUX_SHA256}\"/" "$ROOT/vscode.nix"
 
-VSCODE_DARWIN_URL="https://update.code.visualstudio.com/${VSCODE_VER}/darwin/stable"
-VSCODE_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_DARWIN_URL})
-sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODE_DARWIN_SHA256}\"/" "$ROOT/vscode.nix"
+VSCODE_X64_DARWIN_URL="https://update.code.visualstudio.com/${VSCODE_VER}/darwin/stable"
+VSCODE_X64_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_X64_DARWIN_URL})
+sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODE_X64_DARWIN_SHA256}\"/" "$ROOT/vscode.nix"
 
-VSCODE_LINUX_AARCH64_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-arm64/stable"
-VSCODE_LINUX_AARCH64_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_AARCH64_URL})
-sed -i "s/aarch64-linux = \".\{52\}\"/aarch64-linux = \"${VSCODE_LINUX_AARCH64_SHA256}\"/" "$ROOT/vscode.nix"
+VSCODE_AARCH64_LINUX_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-arm64/stable"
+VSCODE_AARCH64_LINUX_SHA256=$(nix-prefetch-url ${VSCODE_AARCH64_LINUX_URL})
+sed -i "s/aarch64-linux = \".\{52\}\"/aarch64-linux = \"${VSCODE_AARCH64_LINUX_SHA256}\"/" "$ROOT/vscode.nix"
 
-VSCODE_LINUX_ARMV7L_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-armhf/stable"
-VSCODE_LINUX_ARMV7L_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_ARMV7L_URL})
-sed -i "s/armv7l-linux = \".\{52\}\"/armv7l-linux = \"${VSCODE_LINUX_ARMV7L_SHA256}\"/" "$ROOT/vscode.nix"
+VSCODE_AARCH64_DARWIN_URL="https://update.code.visualstudio.com/${VSCODE_VER}/darwin-arm64/stable"
+VSCODE_AARCH64_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_AARCH64_DARWIN_URL})
+sed -i "s/aarch64-darwin = \".\{52\}\"/aarch64-darwin = \"${VSCODE_AARCH64_DARWIN_SHA256}\"/" "$ROOT/vscode.nix"
+
+VSCODE_ARMV7L_LINUX_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-armhf/stable"
+VSCODE_ARMV7L_LINUX_SHA256=$(nix-prefetch-url ${VSCODE_ARMV7L_LINUX_URL})
+sed -i "s/armv7l-linux = \".\{52\}\"/armv7l-linux = \"${VSCODE_ARMV7L_LINUX_SHA256}\"/" "$ROOT/vscode.nix"
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 41f5f79de78..dc22a92238e 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -7,24 +7,27 @@ let
     x86_64-linux = "linux-x64";
     x86_64-darwin = "darwin";
     aarch64-linux = "linux-arm64";
+    aarch64-darwin = "darwin-arm64";
     armv7l-linux = "linux-armhf";
   }.${system};
 
-  archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
+  archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1bj954kjwrk0nx8griy2y8gp7dys0wf610ki0jrby46mlvrmszs1";
-    x86_64-darwin = "1dqpz7qpnycd4b7iqg639rab3ds4m06m15rmyp7r70053qaw1s61";
-    aarch64-linux = "04ifmw39swdl6ybz6jpan2krsqli1kjyjnicjaisww8vhvhr2lzk";
-    armv7l-linux = "0y1rzn2jy4wrn2yr95v7zzyl36pj9mbz4dgvazvy465wzk5ai7b4";
+    x86_64-linux = "049spg4c1arkw97mg0h046kiirmcrjj97sy4ldiblwldjn510acw";
+    x86_64-darwin = "0g6b1891ag4a6p7rlkfka5v4nbmpr4ckkmibhw8l3wa9zdzs77x6";
+    aarch64-linux = "1qvk6cn5v9bz4vl5ifpdgrba94v6a54xx8s3fxdkj3lqvq27kpd1";
+    aarch64-darwin = "1whgjkxy70ifx1vaddxr8f1xcg651fhca4x7rzidzbyyf3baghy0";
+    armv7l-linux = "1k45s81s4ispc0vz7i17a7gss05d82vpymxgangg6f1yxwz944r4";
   }.${system};
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.57.0";
+    version = "1.58.2";
     pname = "vscode";
 
+    sourceExecutableName = "code";
     executableName = "code" + lib.optionalString isInsiders "-insiders";
     longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
     shortName = "Code" + lib.optionalString isInsiders " - Insiders";
@@ -56,6 +59,6 @@ in
       downloadPage = "https://code.visualstudio.com/Updates";
       license = licenses.unfree;
       maintainers = with maintainers; [ eadwu synthetica ];
-      platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "armv7l-linux" ];
+      platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" "armv7l-linux" ];
     };
   }
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index 1a31d4e56fa..000c12bc72c 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -13,10 +13,10 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1pjqw0chyhmamgnbih05ach94xgz6kglx7n958y2652ps2q5fzhw";
-    x86_64-darwin = "0k9rinsy0zz48pxprkyxshksgh6shk1h69fkrdi2q0f4mkvzmi3a";
-    aarch64-linux = "0hd3kxg5pwkf0rhbq4f246x82nic24splpqj4h68qfw856p2zg7d";
-    armv7l-linux = "0219yagcdiv1n3xbbk1rs94n4zwfv9s70yqrc0all7jl5xl1mbwh";
+    x86_64-linux = "11h4c5ghgn3qrg66jh2par3cl3fqzn9xb7gdniww4badnyajnij8";
+    x86_64-darwin = "0hd3qdxg4cknk3fxv509jlblwmfx65bm2a4arsg255224dpg64n2";
+    aarch64-linux = "0waakj413kqf68sawajd3n24qdbx6b2svyb4lgbn0sy1apc96s3c";
+    armv7l-linux = "1ij2bmsk601f1vjljj6gvxsxrcjqf2m74s9kc006hmcz7czjgk8f";
   }.${system};
 
   sourceRoot = {
@@ -31,7 +31,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.57.0";
+    version = "1.58.2";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix
index ef7458d7394..09c1fddbda2 100644
--- a/pkgs/applications/gis/grass/default.nix
+++ b/pkgs/applications/gis/grass/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite cairo proj
   readline ffmpeg_3 makeWrapper wxGTK30 netcdf geos postgresql libmysqlclient blas
   libLAS proj-datumgrid ]
-    ++ (with python2Packages; [ python dateutil wxPython30 numpy ]);
+    ++ (with python2Packages; [ python python-dateutil wxPython30 numpy ]);
 
   # On Darwin the installer tries to symlink the help files into a system
   # directory
diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix
index 5b972ae5017..3ed11aa8b70 100644
--- a/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/pkgs/applications/gis/qgis/unwrapped.nix
@@ -12,7 +12,7 @@ let
     numpy
     psycopg2
     chardet
-    dateutil
+    python-dateutil
     pyyaml
     pytz
     requests
@@ -77,12 +77,12 @@ in mkDerivation rec {
   # build to use PYQT5_SIP_DIR consistently.
   postPatch = ''
     substituteInPlace cmake/FindPyQt5.py \
-      --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${python3Packages.pyqt5}/share/sip/PyQt5"'
+      --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"'
   '';
 
   cmakeFlags = [
     "-DCMAKE_SKIP_BUILD_RPATH=OFF"
-    "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5"
+    "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
     "-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/share/sip/PyQt5"
   ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF"
     ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
diff --git a/pkgs/applications/graphics/ImageMagick/6.x.nix b/pkgs/applications/graphics/ImageMagick/6.x.nix
index d0f5ecf4115..4ac4af48aab 100644
--- a/pkgs/applications/graphics/ImageMagick/6.x.nix
+++ b/pkgs/applications/graphics/ImageMagick/6.x.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, libtool
 , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
-, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp, fftw, libheif, libde265
+, lcms2, openexr, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, fftw, libheif, libde265
 , ApplicationServices, Foundation
 }:
 
@@ -16,13 +16,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "6.9.12-15";
+  version = "6.9.12-17";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick6";
     rev = version;
-    sha256 = "sha256-bel4p45eQfQPIp5/sawhTYTfyuYRQ5nFuGh4qqt1zDs=";
+    sha256 = "sha256-yZXvxl9Tbl3JRBmRcfsjbkaxywtD08SuUnJayKfwk9M=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     [ "--with-frozenpaths" ]
     ++ (if arch != null then [ "--with-gcc-arch=${arch}" ] else [ "--without-gcc-arch" ])
     ++ lib.optional (librsvg != null) "--with-rsvg"
+    ++ lib.optional (liblqr1 != null) "--with-lqr"
     ++ lib.optionals (ghostscript != null)
       [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
         "--with-gslib"
@@ -46,7 +47,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ zlib fontconfig freetype ghostscript
-      libpng libtiff libxml2 libheif libde265 djvulibre
+      liblqr1 libpng libtiff libxml2 libheif libde265 djvulibre
     ]
     ++ lib.optionals (!stdenv.hostPlatform.isMinGW)
       [ openexr librsvg openjpeg ]
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index e2fdb19127d..0fd76235f52 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, libtool
 , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
-, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
+, lcms2, openexr, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
 , ApplicationServices
 , Foundation
 , testVersion, imagemagick
@@ -18,13 +18,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.1.0-0";
+  version = "7.1.0-2";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    sha256 = "sha256-TmyJMzj5tHMrVm6xRguZmXIg7c6mHmqusMMdJAHNqNg=";
+    sha256 = "sha256-0nTz9UBspROrNj72amyZmFYK/y9Xg4+qNt4raZiK3AI=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     [ "--with-frozenpaths" ]
     ++ (if arch != null then [ "--with-gcc-arch=${arch}" ] else [ "--without-gcc-arch" ])
     ++ lib.optional (librsvg != null) "--with-rsvg"
+    ++ lib.optional (liblqr1 != null) "--with-lqr"
     ++ lib.optionals (ghostscript != null)
       [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
         "--with-gslib"
@@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ zlib fontconfig freetype ghostscript
-      libpng libtiff libxml2 libheif djvulibre
+      liblqr1 libpng libtiff libxml2 libheif djvulibre
     ]
     ++ lib.optionals (!stdenv.hostPlatform.isMinGW)
       [ openexr librsvg openjpeg ]
@@ -84,7 +85,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.imagemagick.org/";
     description = "A software suite to create, edit, compose, or convert bitmap images";
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ erictapen ];
+    maintainers = with maintainers; [ erictapen dotlambda ];
     license = licenses.asl20;
     mainProgram = "magick";
   };
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index 657ea55da60..8100824b374 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.14.0";
+  version = "4.15.0";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "sha256-BDW87UVN1Jub0sJFvtkZr5ssz835Yf2CNn5kHCn70cE=";
+    sha256 = "sha256-Au1m7CfZkeOczcO/JvIzyVCp6Gn/nhSq0yJOdP8i+0w=";
   };
 
   libPath = lib.makeLibraryPath (with xorg; [
diff --git a/pkgs/applications/graphics/cq-editor/default.nix b/pkgs/applications/graphics/cq-editor/default.nix
index cf94f4fa32d..b9b2eb36873 100644
--- a/pkgs/applications/graphics/cq-editor/default.nix
+++ b/pkgs/applications/graphics/cq-editor/default.nix
@@ -16,13 +16,17 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     sha256 = "1970izjaa60r5cg9i35rzz9lk5c5d8q1vw1rh2skvfbf63z1hnzv";
   };
 
+  patches = [
+    ./spyder4.patch
+  ];
+
   propagatedBuildInputs = with python3Packages; [
     cadquery
     Logbook
     pyqt5
     pyparsing
     pyqtgraph
-    spyder_3
+    spyder
     pathpy
     qtconsole
     requests
diff --git a/pkgs/applications/graphics/cq-editor/spyder4.patch b/pkgs/applications/graphics/cq-editor/spyder4.patch
new file mode 100644
index 00000000000..49813b18a0c
--- /dev/null
+++ b/pkgs/applications/graphics/cq-editor/spyder4.patch
@@ -0,0 +1,58 @@
+diff --git a/cq_editor/widgets/debugger.py b/cq_editor/widgets/debugger.py
+index b7398fb..d039db5 100644
+--- a/cq_editor/widgets/debugger.py
++++ b/cq_editor/widgets/debugger.py
+@@ -162,7 +162,7 @@ class Debugger(QObject,ComponentMixin):
+ 
+     def get_breakpoints(self):
+ 
+-        return self.parent().components['editor'].get_breakpoints()
++        return self.parent().components['editor'].debugger.get_breakpoints()
+ 
+     def compile_code(self,cq_script):
+ 
+@@ -178,12 +178,14 @@ class Debugger(QObject,ComponentMixin):
+     def _exec(self, code, locals_dict, globals_dict):
+ 
+         with ExitStack() as stack:
+-            p = Path(self.parent().components['editor'].filename).dirname()
+-            if self.preferences['Add script dir to path'] and p:
++            fname = self.parent().components['editor'].filename
++            p = Path(fname if fname else '').abspath().dirname()
++            if self.preferences['Add script dir to path'] and p.exists():
+                 sys.path.append(p)
+                 stack.callback(sys.path.remove, p)
+-            if self.preferences['Change working dir to script dir'] and p:
++            if self.preferences['Change working dir to script dir'] and p.exists():
+                 stack.enter_context(p)
++
+             exec(code, locals_dict, globals_dict)
+             
+     def _inject_locals(self,module):
+diff --git a/cq_editor/widgets/editor.py b/cq_editor/widgets/editor.py
+index 45aa048..2763469 100644
+--- a/cq_editor/widgets/editor.py
++++ b/cq_editor/widgets/editor.py
+@@ -1,4 +1,4 @@
+-from spyder.widgets.sourcecode.codeeditor import  CodeEditor
++from spyder.plugins.editor.widgets.codeeditor import  CodeEditor
+ from PyQt5.QtCore import pyqtSignal, QFileSystemWatcher, QTimer
+ from PyQt5.QtWidgets import QAction, QFileDialog
+ from PyQt5.QtGui import QFontDatabase
+@@ -32,6 +32,8 @@ class Editor(CodeEditor,ComponentMixin):
+ 
+     def __init__(self,parent=None):
+ 
++        self._watched_file = None
++
+         super(Editor,self).__init__(parent)
+         ComponentMixin.__init__(self)
+ 
+@@ -83,7 +85,6 @@ class Editor(CodeEditor,ComponentMixin):
+ 
+         # autoreload support
+         self._file_watcher = QFileSystemWatcher(self)
+-        self._watched_file = None
+         # we wait for 50ms after a file change for the file to be written completely
+         self._file_watch_timer = QTimer(self)
+         self._file_watch_timer.setInterval(50)
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 469437c6c95..540a74e6524 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -3,16 +3,16 @@
 , ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg
 , libpng, librsvg, libtiff, openexr, osm-gps-map, pkg-config, sqlite, libxslt
 , openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome
-, ocl-icd, pcre, gtk-mac-integration, isocodes, llvmPackages
+, ocl-icd, pcre, gtk-mac-integration, isocodes, llvmPackages, gmic, libavif, icu
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.4.1";
+  version = "3.6.0";
   pname = "darktable";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "sha256-f8P4UdqbzXxQU+zQnyGqPrYQO+mKbFj1IBC28iF0lB4=";
+    sha256 = "sha256:0f8aqwkgw4gs97b5i4ygiqk5zilwq7ax7zwdd31r72zk98cd1g46";
   };
 
   nativeBuildInputs = [ cmake ninja llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     cairo curl exiv2 glib gtk3 ilmbase lcms2 lensfun libexif
     libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt
     libsoup graphicsmagick json-glib openjpeg lua pugixml
-    libwebp libsecret gnome.adwaita-icon-theme osm-gps-map pcre isocodes
+    libwebp libsecret gnome.adwaita-icon-theme osm-gps-map pcre isocodes gmic libavif icu
   ] ++ lib.optionals stdenv.isLinux [
     colord colord-gtk libX11 ocl-icd
   ] ++ lib.optional stdenv.isDarwin gtk-mac-integration
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index db23a181c5a..141f966253d 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -55,11 +55,11 @@
 
 mkDerivation rec {
   pname   = "digikam";
-  version = "7.2.0";
+  version = "7.3.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-zYfs4UOu+gLmkqSvXDw8wQe5pNYYBNefp33S40R5ihc=";
+    sha256 = "sha256-la6pO+HP05u1IzO4Kz5Xv2gIDH0TGddU0WeiD22+RVE=";
   };
 
   nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index 05e94bb164c..5bb94baf76f 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
     homepage = "https://about.draw.io/";
     license = licenses.asl20;
     changelog = "https://github.com/jgraph/drawio-desktop/releases/tag/v${version}";
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix
index c7484f4cbfe..31d14185dcd 100644
--- a/pkgs/applications/graphics/fig2dev/default.nix
+++ b/pkgs/applications/graphics/fig2dev/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , ghostscript
 , libpng
 , makeWrapper
@@ -20,6 +21,15 @@ stdenv.mkDerivation rec {
     sha256 = "1bm75lf9j54qpbjx8hzp6ixaayp1x9w4v3yxl6vxyw8g5m4sqdk3";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2021-3561.patch";
+      # Using Debian patch since it is not possible to download it directly from Sourceforge
+      url = "https://sources.debian.org/data/main/f/fig2dev/1:3.2.8-3/debian/patches/33_sanitize-color.patch";
+      sha256 = "1bppr3li03nj4qjibnddr2f38mpk55pcn5z6k98pf00gabq33fgs";
+    })
+  ];
+
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ libpng ];
 
diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix
index f7f1e17be22..a83070e5e6b 100644
--- a/pkgs/applications/graphics/hugin/default.nix
+++ b/pkgs/applications/graphics/hugin/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   patches = [
     # Fixes build with exiv2 0.27.1
     (fetchpatch {
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/hugin-exiv2-0.27.1.patch?h=packages/hugin";
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/0467d8ba362b9c196e4c1dc4be7de0c1b336335b/hugin/trunk/hugin-exiv2-0.27.1.patch";
       sha256 = "1yxvlpvrhyrfd2w6kwx1w3mncsvlzdhp0w7xchy8q6kc2kd5nf7r";
     })
   ];
diff --git a/pkgs/applications/graphics/imagej/default.nix b/pkgs/applications/graphics/imagej/default.nix
index 65d3c9735df..0dbc2d5d4e1 100644
--- a/pkgs/applications/graphics/imagej/default.nix
+++ b/pkgs/applications/graphics/imagej/default.nix
@@ -1,48 +1,74 @@
-{ lib, stdenv, fetchurl, jre, unzip, makeWrapper }:
-
-# Note:
-# - User config dir is hard coded by upstream to $HOME/.imagej on linux systems
-#   and to $HOME/Library/Preferences on macOS.
-#  (The current trend appears to be to use $HOME/.config/imagej
-#    on linux systems, but we here do not attempt to fix it.)
+{ lib
+, stdenv
+, fetchurl
+, jre
+, unzip
+, makeWrapper
+, makeDesktopItem
+, copyDesktopItems
+}:
 
 let
-  imagej150 = stdenv.mkDerivation {
-    pname = "imagej";
-    version = "150";
-
-    src = fetchurl {
-      url = "https://wsr.imagej.net/distros/cross-platform/ij150.zip";
-      sha256 = "97aba6fc5eb908f5160243aebcdc4965726693cb1353d9c0d71b8f5dd832cb7b";
-    };
-    nativeBuildInputs = [ makeWrapper unzip ];
+  icon = fetchurl {
+    url = "https://imagej.net/media/icons/imagej.png";
+    sha256 = "sha256-nU2nWI1wxZB/xlOKsZzdUjj+qiCTjO6GwEKYgZ5Risg=";
+  };
+in stdenv.mkDerivation rec {
+  pname = "imagej";
+  version = "153";
+
+  src = fetchurl {
+    url = "https://wsr.imagej.net/distros/cross-platform/ij${version}.zip";
+    sha256 = "sha256-MGuUdUDuW3s/yGC68rHr6xxzmYScUjdXRawDpc1UQqw=";
+  };
+  nativeBuildInputs = [ copyDesktopItems makeWrapper unzip ];
+  desktopItems = lib.optionals stdenv.isLinux [
+    (makeDesktopItem {
+      name = "ImageJ";
+      desktopName = "ImageJ";
+      icon = "imagej";
+      categories = "Science;Utility;Graphics;";
+      exec = "imagej";
+    })
+  ];
+
+  passthru = {
     inherit jre;
+  };
+
+  # JAR files that are intended to be used by other packages
+  # should go to $out/share/java.
+  # (Some uses ij.jar as a library not as a standalone program.)
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/java $out/bin
+    # Read permisssion suffices for the jar and others.
+    # Simple cp shall clear suid bits, if any.
+    cp ij.jar $out/share/java
+    cp -dR luts macros plugins $out/share
+    makeWrapper ${jre}/bin/java $out/bin/imagej \
+      --add-flags "-jar $out/share/java/ij.jar -ijpath $out/share"
+
+    runHook postInstall
+  '';
+
+  postFixup = lib.optionalString stdenv.isLinux ''
+    install -Dm644 ${icon} $out/share/icons/hicolor/128x128/apps/imagej.png
+    substituteInPlace $out/share/applications/ImageJ.desktop \
+      --replace Exec=imagej Exec=$out/bin/imagej
+  '';
 
-    # JAR files that are intended to be used by other packages
-    # should go to $out/share/java.
-    # (Some uses ij.jar as a library not as a standalone program.)
-    installPhase = ''
-      mkdir -p $out/share/java
-      # Read permisssion suffices for the jar and others.
-      # Simple cp shall clear suid bits, if any.
-      cp ij.jar $out/share/java
-      cp -dR luts macros plugins $out/share
-      mkdir $out/bin
-      makeWrapper ${jre}/bin/java $out/bin/imagej \
-        --add-flags "-jar $out/share/java/ij.jar -ijpath $out/share"
+  meta = with lib; {
+    homepage = "https://imagej.nih.gov/ij/";
+    description = "Image processing and analysis in Java";
+    longDescription = ''
+      ImageJ is a public domain Java image processing program
+      inspired by NIH Image for the Macintosh.
+      It runs on any computer with a Java 1.4 or later virtual machine.
     '';
-    meta = with lib; {
-      homepage = "https://imagej.nih.gov/ij/";
-      description = "Image processing and analysis in Java";
-      longDescription = ''
-        ImageJ is a public domain Java image processing program
-        inspired by NIH Image for the Macintosh.
-        It runs on any computer with a Java 1.4 or later virtual machine.
-      '';
-      license = licenses.publicDomain;
-      platforms = with platforms; linux ++ darwin;
-      maintainers = with maintainers; [ yuriaisaka ];
-    };
+    license = licenses.publicDomain;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ yuriaisaka ];
   };
-in
-  imagej150
+}
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 813db098475..c65dfa1b6c0 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -4,6 +4,7 @@
 , cairo
 , cmake
 , fetchurl
+, fetchpatch
 , gettext
 , ghostscript
 , glib
@@ -71,6 +72,15 @@ stdenv.mkDerivation rec {
       # e.g., those from the "Effects" menu.
       python3 = "${python3Env}/bin/python";
     })
+
+    # Fix parsing paths by Python extensions.
+    # https://gitlab.com/inkscape/extensions/-/merge_requests/342
+    (fetchpatch {
+      url = "https://gitlab.com/inkscape/extensions/-/commit/a82c382c610d37837c8f3f5b13224bab8fd3667e.patch";
+      sha256 = "YWrgjCnQ9q6BUsxSLQojIXnDzPxM/SgrIfj1gxQ/JKM=";
+      stripLen = 1;
+      extraPrefix = "share/extensions/";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/graphics/inkscape/extensions.nix b/pkgs/applications/graphics/inkscape/extensions.nix
index affd934e936..63010a19f14 100644
--- a/pkgs/applications/graphics/inkscape/extensions.nix
+++ b/pkgs/applications/graphics/inkscape/extensions.nix
@@ -2,9 +2,12 @@
 , fetchFromGitHub
 , runCommand
 , inkcut
+, callPackage
 }:
 
 {
+  applytransforms = callPackage ./extensions/applytransforms { };
+
   hexmap = stdenv.mkDerivation {
     name = "hexmap";
     version = "2020-06-06";
diff --git a/pkgs/applications/graphics/inkscape/extensions/applytransforms/default.nix b/pkgs/applications/graphics/inkscape/extensions/applytransforms/default.nix
new file mode 100644
index 00000000000..131daffffb9
--- /dev/null
+++ b/pkgs/applications/graphics/inkscape/extensions/applytransforms/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, python3
+}:
+
+stdenv.mkDerivation {
+  pname = "inkscape-applytransforms";
+  version = "0.0.0+unstable=2021-05-11";
+
+  src = fetchFromGitHub {
+    owner = "Klowner";
+    repo = "inkscape-applytransforms";
+    rev = "5b3ed4af0fb66e399e686fc2b649b56db84f6042";
+    sha256 = "XWwkuw+Um/cflRWjIeIgQUxJLrk2DLDmx7K+pMWvIlI=";
+  };
+
+  checkInputs = [
+    python3.pkgs.inkex
+    python3.pkgs.pytestCheckHook
+  ];
+
+  dontBuild = true;
+
+  doCheck = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dt "$out/share/inkscape/extensions" *.inx *.py
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Inkscape extension which removes all matrix transforms by applying them recursively to shapes";
+    homepage = "https://github.com/Klowner/inkscape-applytransforms";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/graphics/inkscape/with-extensions.nix b/pkgs/applications/graphics/inkscape/with-extensions.nix
index c558a6bb062..14fffadd036 100644
--- a/pkgs/applications/graphics/inkscape/with-extensions.nix
+++ b/pkgs/applications/graphics/inkscape/with-extensions.nix
@@ -2,13 +2,19 @@
 , inkscape
 , symlinkJoin
 , makeWrapper
-, inkscapeExtensions ? []
+, inkscapeExtensions ? [ ]
+, inkscape-extensions
 }:
 
+let
+  allExtensions = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues inkscape-extensions);
+  selectedExtensions = if inkscapeExtensions == null then allExtensions else inkscapeExtensions;
+in
+
 symlinkJoin {
   name = "inkscape-with-extensions-${lib.getVersion inkscape}";
 
-  paths = [ inkscape ] ++ inkscapeExtensions;
+  paths = [ inkscape ] ++ selectedExtensions;
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix
index 0c5a0fe6e3d..85830f9a045 100644
--- a/pkgs/applications/graphics/krita/default.nix
+++ b/pkgs/applications/graphics/krita/default.nix
@@ -3,18 +3,18 @@
 , kguiaddons, ki18n, kitemmodels, kitemviews, kwindowsystem
 , kio, kcrash, breeze-icons
 , boost, libraw, fftw, eigen, exiv2, libheif, lcms2, gsl, openexr, giflib
-, openjpeg, opencolorio, vc, poppler, curl, ilmbase
+, openjpeg, opencolorio_1, vc, poppler, curl, ilmbase
 , qtmultimedia, qtx11extras, quazip
 , python3Packages
 }:
 
 mkDerivation rec {
   pname = "krita";
-  version = "4.4.3";
+  version = "4.4.5";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0rwghzci2wn2jmisvnzs23yxc2z3d4dcx2qbbhcvjyi3q8ij61nl";
+    sha256 = "sha256-S/1ygIcNEGCgDREj2Db8Gltb+KAoZ2Z58CaM1ef7dWg=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip_4 makeWrapper ];
@@ -23,7 +23,7 @@ mkDerivation rec {
     karchive kconfig kwidgetsaddons kcompletion kcoreaddons kguiaddons
     ki18n kitemmodels kitemviews kwindowsystem kio kcrash breeze-icons
     boost libraw fftw eigen exiv2 lcms2 gsl openexr libheif giflib
-    openjpeg opencolorio poppler curl ilmbase
+    openjpeg opencolorio_1 poppler curl ilmbase
     qtmultimedia qtx11extras quazip
     python3Packages.pyqt5
   ] ++ lib.optional (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) vc;
@@ -32,8 +32,8 @@ mkDerivation rec {
     ++ lib.optional stdenv.cc.isGNU "-Wno-deprecated-copy";
 
   cmakeFlags = [
-    "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5"
-    "-DPYQT_SIP_DIR_OVERRIDE=${python3Packages.pyqt5}/share/sip/PyQt5"
+    "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
+    "-DPYQT_SIP_DIR_OVERRIDE=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
     "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
   ];
 
diff --git a/pkgs/applications/graphics/megapixels/default.nix b/pkgs/applications/graphics/megapixels/default.nix
index dbcf0fba298..1e9540ef95e 100644
--- a/pkgs/applications/graphics/megapixels/default.nix
+++ b/pkgs/applications/graphics/megapixels/default.nix
@@ -26,13 +26,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "megapixels";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromSourcehut {
     owner = "~martijnbraam";
     repo = "megapixels";
     rev = version;
-    sha256 = "0k9a5dpr5z0g7ngbhk4j22sbs1ffxiwg8wmbzgggdc9xvwmkgppr";
+    sha256 = "0y56c6vchlzidfmp3a3bdc228vbhy7zaxvmhkyxchfb752yzr0n3";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/openimageio/2.x.nix b/pkgs/applications/graphics/openimageio/2.x.nix
index 771af513356..8c9639e3fd5 100644
--- a/pkgs/applications/graphics/openimageio/2.x.nix
+++ b/pkgs/applications/graphics/openimageio/2.x.nix
@@ -7,7 +7,7 @@
 , libjpeg
 , libpng
 , libtiff
-, opencolorio
+, opencolorio_1
 , openexr
 , robin-map
 , unzip
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     libjpeg
     libpng
     libtiff
-    opencolorio
+    opencolorio_1
     openexr
     robin-map
     fmt
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index 2461fcc2765..e5262ab98d0 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, boost, cmake, ilmbase, libjpeg, libpng, libtiff
-, opencolorio, openexr, unzip
+, opencolorio_1, openexr, unzip
 }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake unzip ];
   buildInputs = [
     boost ilmbase libjpeg libpng
-    libtiff opencolorio openexr
+    libtiff opencolorio_1 openexr
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/graphics/qiv/default.nix b/pkgs/applications/graphics/qiv/default.nix
index acd9c576f73..0075abc0f6f 100644
--- a/pkgs/applications/graphics/qiv/default.nix
+++ b/pkgs/applications/graphics/qiv/default.nix
@@ -21,7 +21,6 @@ stdenv.mkDerivation (rec {
   meta = with lib; {
     description = "Quick image viewer";
     homepage = "http://spiegl.de/qiv/";
-    inherit version;
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
index 9fd629ca8e9..f9120ca0ee4 100644
--- a/pkgs/applications/graphics/rapid-photo-downloader/default.nix
+++ b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
@@ -55,7 +55,7 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     psutil
     pyxdg
     arrow
-    dateutil
+    python-dateutil
     easygui
     colour
     pymediainfo
diff --git a/pkgs/applications/graphics/swingsane/default.nix b/pkgs/applications/graphics/swingsane/default.nix
index e9507129a2c..c9d119a7d60 100644
--- a/pkgs/applications/graphics/swingsane/default.nix
+++ b/pkgs/applications/graphics/swingsane/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ unzip ];
 
-  phases = [ "unpackPhase" "installPhase" ];
+  dontConfigure = true;
 
   installPhase = let
 
diff --git a/pkgs/applications/graphics/veusz/default.nix b/pkgs/applications/graphics/veusz/default.nix
new file mode 100644
index 00000000000..d8f1ae76a88
--- /dev/null
+++ b/pkgs/applications/graphics/veusz/default.nix
@@ -0,0 +1,71 @@
+{ python3Packages
+, qtbase
+, ghostscript
+, wrapQtAppsHook
+, lib
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "veusz";
+  version = "3.3.1";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "4ClgYwiU21wHDve2q9cItSAVb9hbR2F+fJc8znGI8OA=";
+  };
+
+  nativeBuildInputs = [ wrapQtAppsHook python3Packages.sip_4 ];
+
+  buildInputs = [ qtbase ];
+
+  # veusz is a script and not an ELF-executable, so wrapQtAppsHook will not wrap
+  # it automatically -> we have to do it explicitly
+  dontWrapQtApps = true;
+  preFixup = ''
+    wrapQtApp "$out/bin/veusz"
+  '';
+
+  # Since sip 6 (we use sip 4 here, but pyqt5 is built with sip 6), sip files are
+  # placed in a different directory layout and --sip-dir won't work anymore.
+  # --sip-dir expects a directory with a PyQt5 subdirectory (where sip files are located),
+  # but the new directory layout places sip files in a subdirectory named 'bindings'.
+  # To workaround this, we patch the full path into pyqtdistutils.py.
+  postPatch = ''
+    substituteInPlace pyqtdistutils.py \
+      --replace "'-I', pyqt5_include_dir," "'-I', '${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings',"
+    patchShebangs tests/runselftest.py
+  '';
+
+  # you can find these options at
+  # https://github.com/veusz/veusz/blob/53b99dffa999f2bc41fdc5335d7797ae857c761f/pyqtdistutils.py#L71
+  # --sip-dir cannot be used here for the reasons explained above
+  setupPyBuildFlags = [
+    "--qt-include-dir=${qtbase.dev}/include"
+    # veusz tries to find a libinfix and fails without one
+    # but we simply don't need a libinfix, so set it to empty here
+    "--qt-libinfix="
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    numpy
+    pyqt5
+    # optional requirements:
+    dbus-python
+    h5py
+    # astropy -- fails to build on master
+    # optional TODO: add iminuit, pyemf and sampy
+  ];
+
+  installCheckPhase = ''
+    wrapQtApp "tests/runselftest.py"
+    QT_QPA_PLATFORM=minimal tests/runselftest.py
+  '';
+
+  meta = with lib; {
+    description = "A scientific plotting and graphing program with a GUI";
+    homepage = "https://veusz.github.io/";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ laikq ];
+  };
+}
diff --git a/pkgs/applications/graphics/xfractint/default.nix b/pkgs/applications/graphics/xfractint/default.nix
index cca061ed2a6..c43127bfa99 100644
--- a/pkgs/applications/graphics/xfractint/default.nix
+++ b/pkgs/applications/graphics/xfractint/default.nix
@@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
   makeFlags = ["PREFIX=$(out)"];
 
   meta = {
-    inherit version;
     description = "";
     # Code cannot be used in commercial programs
     # Looks like the definition hinges on the price, not license
diff --git a/pkgs/applications/kde/kmail.nix b/pkgs/applications/kde/kmail.nix
index d5d61694e63..1a33eb2fe20 100644
--- a/pkgs/applications/kde/kmail.nix
+++ b/pkgs/applications/kde/kmail.nix
@@ -1,14 +1,53 @@
-{
-  mkDerivation, lib, kdepimTeam,
-  extra-cmake-modules, kdoctools,
-  akonadi-search, kbookmarks, kcalutils, kcmutils, kcompletion, kconfig,
-  kconfigwidgets, kcoreaddons, libkdepim,
-  kdepim-runtime, kguiaddons, ki18n, kiconthemes, kinit, kio, kldap,
-  kmail-account-wizard, kmailtransport, knotifications, knotifyconfig,
-  kontactinterface, kparts, kpty, kservice, ktextwidgets, ktnef, kwallet,
-  kwidgetsaddons, kwindowsystem, kxmlgui, libgravatar, libksieve, mailcommon,
-  messagelib, pim-sieve-editor, qtscript, qtwebengine, akonadi, kdepim-addons,
-  qtkeychain, libsecret
+{ mkDerivation
+, lib
+, akonadi
+, akonadi-import-wizard
+, akonadi-search
+, extra-cmake-modules
+, kaddressbook
+, kbookmarks
+, kcalutils
+, kcmutils
+, kcompletion
+, kconfig
+, kconfigwidgets
+, kcoreaddons
+, kdepim-addons
+, kdepim-runtime
+, kdepimTeam
+, kdoctools
+, kguiaddons
+, ki18n
+, kiconthemes
+, kinit
+, kio
+, kldap
+, kleopatra
+, kmail-account-wizard
+, kmailtransport
+, knotifications
+, knotifyconfig
+, kontactinterface
+, kparts
+, kpty
+, kservice
+, ktextwidgets
+, ktnef
+, kwallet
+, kwidgetsaddons
+, kwindowsystem
+, kxmlgui
+, libgravatar
+, libkdepim
+, libksieve
+, libsecret
+, mailcommon
+, messagelib
+, pim-data-exporter
+, pim-sieve-editor
+, qtkeychain
+, qtscript
+, qtwebengine
 }:
 
 mkDerivation {
@@ -19,13 +58,53 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    akonadi-search kbookmarks kcalutils kcmutils kcompletion kconfig
-    kconfigwidgets kcoreaddons kguiaddons ki18n
-    kiconthemes kinit kio kldap kmail-account-wizard kmailtransport libkdepim
-    knotifications knotifyconfig kontactinterface kparts kpty kservice
-    ktextwidgets ktnef kwidgetsaddons kwindowsystem kxmlgui libgravatar
-    libksieve mailcommon messagelib pim-sieve-editor qtscript qtwebengine
-    kdepim-addons qtkeychain libsecret
+    akonadi-search
+    kbookmarks
+    kcalutils
+    kcmutils
+    kcompletion
+    kconfig
+    kconfigwidgets
+    kcoreaddons
+    kdepim-addons
+    kguiaddons
+    ki18n
+    kiconthemes
+    kinit
+    kio
+    kldap
+    kmail-account-wizard
+    kmailtransport
+    knotifications
+    knotifyconfig
+    kontactinterface
+    kparts
+    kpty
+    kservice
+    ktextwidgets
+    ktnef
+    kwidgetsaddons
+    kwindowsystem
+    kxmlgui
+    libgravatar
+    libkdepim
+    libksieve
+    libsecret
+    mailcommon
+    messagelib
+    pim-sieve-editor
+    qtkeychain
+    qtscript
+    qtwebengine
+    akonadi-import-wizard
+    kaddressbook
+    kleopatra
+    pim-data-exporter
   ];
+  outputs = [ "out" "doc" ];
   propagatedUserEnvPkgs = [ kdepim-runtime kwallet akonadi ];
+  postFixup = ''
+    wrapProgram "$out/bin/kmail" \
+      --prefix PATH : "${lib.makeBinPath [ akonadi akonadi-import-wizard kaddressbook kleopatra kmail-account-wizard pim-data-exporter ]}"
+  '';
 }
diff --git a/pkgs/applications/kde/spectacle.nix b/pkgs/applications/kde/spectacle.nix
index c6861b218de..587877ad7a7 100644
--- a/pkgs/applications/kde/spectacle.nix
+++ b/pkgs/applications/kde/spectacle.nix
@@ -1,24 +1,26 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, kdoctools,
-  ki18n, xcb-util-cursor,
-  kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins,
-  knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi,
-  qtx11extras, knewstuff, kwayland, qttools
+{ mkDerivation, lib
+, extra-cmake-modules, kdoctools
+, ki18n, xcb-util-cursor
+, kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins
+, knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi
+, qtbase, qtx11extras, knewstuff, kwayland, qttools, kcolorpicker, kimageannotator
 }:
 
 mkDerivation {
   pname = "spectacle";
-  meta = with lib; { maintainers = with maintainers; [ ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications
     kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi qtx11extras xcb-util-cursor
-    knewstuff kwayland
+    knewstuff kwayland kcolorpicker kimageannotator
   ];
   postPatch = ''
     substituteInPlace desktop/org.kde.spectacle.desktop.cmake \
       --replace "Exec=@QtBinariesDir@/qdbus" "Exec=${lib.getBin qttools}/bin/qdbus"
   '';
   propagatedUserEnvPkgs = [ kipi-plugins libkipi ];
+  meta = with lib; {
+    maintainers = with maintainers; [ ttuegel ];
+    broken = versionOlder qtbase.version "5.15";
+  };
 }
diff --git a/pkgs/applications/logging/humioctl/default.nix b/pkgs/applications/logging/humioctl/default.nix
index c1aae04b2e5..f73c38591f9 100644
--- a/pkgs/applications/logging/humioctl/default.nix
+++ b/pkgs/applications/logging/humioctl/default.nix
@@ -1,8 +1,8 @@
 { buildGoModule, fetchFromGitHub, installShellFiles, lib }:
 
 let
-  humioCtlVersion = "0.28.3";
-  sha256 = "sha256-GUn5hg4gPGjQ6U2dboGE22u8XuZ578+EnkmHLASXd3Q=";
+  humioCtlVersion = "0.28.5";
+  sha256 = "sha256-h6zQG9jjHpAxaJUaFoVmRyR1A/bk57CKBIkOGPcdJP0=";
   vendorSha256 = "sha256-867x33Aq27D2m14NqqsdByC39pjjyJZbfX3jmwVU2yo=";
 in buildGoModule {
     name = "humioctl-${humioCtlVersion}";
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index 436e4d7831f..0803b495b2f 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -28,15 +28,16 @@
 , nss
 , pango
 , systemd
+, udev
 , xdg-utils
 }:
 stdenv.mkDerivation rec {
   pname = "1password";
-  version = "8.0.34";
+  version = "8.1.1";
 
   src = fetchurl {
     url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
-    sha256 = "0mp119v5vgsva7pnxpsbq4xhh4vbhwv7ga9b5b7f6slx3biy1wmh";
+    sha256 = "0y39sfhj9xrgprh01i9apzfkqzm6pdhjc8x59x5p5djjjvxbcwmy";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -95,8 +96,12 @@ stdenv.mkDerivation rec {
         patchelf --set-rpath ${rpath}:$out/share/1password $file
       done
 
+      # Electron is trying to open udev via dlopen()
+      # and for some reason that doesn't seem to be impacted from the rpath.
+      # Adding udev to LD_LIBRARY_PATH fixes that.
       makeWrapper $out/share/1password/1password $out/bin/1password \
-        --prefix PATH : ${xdg-utils}/bin
+        --prefix PATH : ${lib.makeBinPath [ xdg-utils ]} \
+        --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]}
 
       runHook postInstall
     '';
@@ -107,7 +112,7 @@ stdenv.mkDerivation rec {
     description = "Multi-platform password manager";
     homepage = "https://1password.com/";
     license = licenses.unfree;
-    maintainers = with maintainers; [ danieldk timstott savannidgerinel ];
+    maintainers = with maintainers; [ timstott savannidgerinel ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/misc/anup/default.nix b/pkgs/applications/misc/anup/default.nix
new file mode 100644
index 00000000000..9c99c84eabe
--- /dev/null
+++ b/pkgs/applications/misc/anup/default.nix
@@ -0,0 +1,27 @@
+{ lib, rustPlatform, fetchFromGitHub, sqlite, xdg-utils}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "anup";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "Acizza";
+    repo = "anup";
+    rev = version;
+    sha256 = "sha256-4pXF4p4K8+YihVB9NdgT6bOidmQEgWXUbcbvgXJ0IDA=";
+  };
+
+  buildInputs = [
+    sqlite
+    xdg-utils
+  ];
+
+  cargoSha256 = "sha256-1TA2HDHKA3twFtlAWaC2zcRzS8TJwcbBt1OTQ3hC3qM=";
+
+  meta = with lib; {
+    homepage = "https://github.com/Acizza/anup";
+    description = "An anime tracker for AniList featuring a TUI";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ natto1784 ];
+  };
+}
diff --git a/pkgs/applications/misc/archivy/default.nix b/pkgs/applications/misc/archivy/default.nix
index 08d5524fc3a..0a89e4f4765 100644
--- a/pkgs/applications/misc/archivy/default.nix
+++ b/pkgs/applications/misc/archivy/default.nix
@@ -21,11 +21,11 @@
 
 buildPythonApplication rec {
   pname = "archivy";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-g7H22zJOQuxSmoJ3373eRcbderC67vkuiLN1CgaytFM=";
+    sha256 = "sha256-wQuR7cltDLr2u8BQ851MSjKmeLW8mQ/3bdEF5c9nxL0=";
   };
 
   # Relax some dependencies
@@ -38,7 +38,10 @@ buildPythonApplication rec {
       --replace 'python_frontmatter == 0.5.0' 'python_frontmatter' \
       --replace 'requests ==' 'requests >=' \
       --replace 'validators ==' 'validators >=' \
-      --replace 'tinydb ==' 'tinydb >='
+      --replace 'tinydb ==' 'tinydb >=' \
+      --replace 'Flask_WTF == 0.14.3' 'Flask_WTF' \
+      --replace 'Werkzeug ==' 'Werkzeug >=' \
+      --replace 'Flask ==' 'Flask >='
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 305ab891713..26ca3898134 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -26,11 +26,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "blender";
-  version = "2.93.0";
+  version = "2.93.1";
 
   src = fetchurl {
     url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
-    sha256 = "0f2rpqa39sir6g90khd2d2fs4kss0zhk7vya1nscf5yp8r566fxs";
+    sha256 = "sha256-IdriOBw/DlpH6B0GKqC1nKnhTZwrIL8U9hkMS20BHNg=";
   };
 
   patches = lib.optional stdenv.isDarwin ./darwin.patch;
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 40951d5f2ab..d27c9c9af65 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -41,7 +41,7 @@ mkDerivation rec {
   ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
 
   prePatch = ''
-    sed -i "s@\[tool.sip.project\]@[tool.sip.project]\nsip-include-dirs = [\"${python3Packages.pyqt5}/share/sip/PyQt5\"]@g" \
+    sed -i "s@\[tool.sip.project\]@[tool.sip.project]\nsip-include-dirs = [\"${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings\"]@g" \
       setup/build.py
     sed -i "s/\[tool.sip.bindings.pictureflow\]/[tool.sip.bindings.pictureflow]\ntags = [\"${python3Packages.sip.platform_tag}\"]/g" \
       setup/build.py
@@ -77,7 +77,7 @@ mkDerivation rec {
       cchardet
       css-parser
       cssselect
-      dateutil
+      python-dateutil
       dnspython
       feedparser
       html2text
diff --git a/pkgs/applications/misc/cheat/default.nix b/pkgs/applications/misc/cheat/default.nix
index 9c8f060f169..f7a56a48fc7 100644
--- a/pkgs/applications/misc/cheat/default.nix
+++ b/pkgs/applications/misc/cheat/default.nix
@@ -3,13 +3,13 @@
 
 buildGoModule rec {
   pname = "cheat";
-  version = "4.2.1";
+  version = "4.2.2";
 
   src = fetchFromGitHub {
     owner = "cheat";
     repo = "cheat";
     rev = version;
-    sha256 = "sha256-wH0MTTwUmi/QZXo3vWgRYmlPxMxgfhghrTIZAwdVjQ0=";
+    sha256 = "sha256-YKGCZm0BaFLi+kujl04B4IU1qay15XNfvelxfUkCP8o=";
   };
 
   subPackages = [ "cmd/cheat" ];
diff --git a/pkgs/applications/misc/cherrytree/default.nix b/pkgs/applications/misc/cherrytree/default.nix
index 0ce89afa6ce..ef307ce3460 100644
--- a/pkgs/applications/misc/cherrytree/default.nix
+++ b/pkgs/applications/misc/cherrytree/default.nix
@@ -1,24 +1,52 @@
-{ lib, fetchFromGitHub, python2Packages, gettext }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, python3
+, wrapGAppsHook
+, gtkmm3
+, gtksourceview
+, gtksourceviewmm
+, gspell
+, libxmlxx
+, sqlite
+, curl
+, libuchardet
+, fmt
+, spdlog
+}:
 
-python2Packages.buildPythonApplication rec {
+stdenv.mkDerivation rec {
   pname = "cherrytree";
-  version = "0.39.4";
+  version = "0.99.38";
 
   src = fetchFromGitHub {
     owner = "giuspen";
     repo = "cherrytree";
     rev = version;
-    sha256 = "1wycgn1f3b858qb6kn2bsaabak8n52qkpd24w54xz6fjizlnw7x0";
-
+    sha256 = "sha256-04MRw6pMtJGxTMKwOzPNGg1T85SfVY5bMkF3gt2V0e0=";
   };
 
-  nativeBuildInputs = [ gettext ];
-
-  propagatedBuildInputs = with python2Packages; [ pygtk dbus-python pygtksourceview ];
-
-  patches = [ ./subprocess.patch ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    python3
+    wrapGAppsHook
+  ];
 
-  doCheck = false;
+  buildInputs = [
+    gtkmm3
+    gtksourceview
+    gtksourceviewmm
+    gspell
+    libxmlxx
+    sqlite
+    curl
+    libuchardet
+    fmt
+    spdlog
+  ];
 
   meta = with lib; {
     description = "An hierarchical note taking application";
@@ -31,8 +59,9 @@ python2Packages.buildPythonApplication rec {
       you have scattered around your hard drive can be conveniently placed into
       a Cherrytree document where you can easily find it.
     '';
-    homepage = "http://www.giuspen.com/cherrytree";
-    license = licenses.gpl3;
+    homepage = "https://www.giuspen.com/cherrytree";
+    changelog = "https://raw.githubusercontent.com/giuspen/cherrytree/${version}/changelog.txt";
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/misc/cherrytree/subprocess.patch b/pkgs/applications/misc/cherrytree/subprocess.patch
deleted file mode 100644
index 1f80cde03b7..00000000000
--- a/pkgs/applications/misc/cherrytree/subprocess.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Naur cherrytree-0.37.1-orig/setup.py cherrytree-0.37.1/setup.py
---- cherrytree-0.37.1-orig/setup.py	2016-01-08 20:50:50.000000000 +0100
-+++ cherrytree-0.37.1/setup.py	2016-07-05 20:30:27.768178682 +0200
-@@ -205,4 +205,9 @@
-           },
-        distclass=CherryTreeDist
-     )
--    subprocess.call("update-desktop-database")
-+    try:
-+        subprocess.check_call(['update-desktop-database'])
-+    except subprocess.CalledProcessError:
-+        pass # handle errors in the called executable
-+    except OSError:
-+        pass # executable not found
diff --git a/pkgs/applications/misc/cobalt/default.nix b/pkgs/applications/misc/cobalt/default.nix
new file mode 100644
index 00000000000..6e13cc4728e
--- /dev/null
+++ b/pkgs/applications/misc/cobalt/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cobalt";
+  version = "0.16.5";
+
+  src = fetchFromGitHub {
+    owner = "cobalt-org";
+    repo = "cobalt.rs";
+    rev = "v${version}";
+    sha256 = "wSvjPifnA8oc0vVmHBMdsMKzX7Gg6TdbPzIXl/SHqn8=";
+  };
+
+  cargoSha256 = "27LcoGBI4elt80uQkTwvToOyEmd2+/3ma5Y32OFrJaw=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+
+  meta = with lib; {
+    description = "Static site generator written in Rust";
+    homepage = "https://github.com/cobalt-org/cobalt.rs/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ethancedwards8 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix
index a33cb7b2ce6..32b9085b3de 100644
--- a/pkgs/applications/misc/cura/default.nix
+++ b/pkgs/applications/misc/cura/default.nix
@@ -3,20 +3,20 @@
 
 mkDerivation rec {
   pname = "cura";
-  version = "4.9.0";
+  version = "4.10.0";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "Cura";
     rev = version;
-    sha256 = "1q515qwrzla3ikbsjmk91y0nrbwih11jycgmd50lkrmnkh7qj0r2";
+    sha256 = "0v65xg31rw4kc7f98k8zz0kmhrp9m55k8ahblha9r1vr4krcf30z";
   };
 
   materials = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "fdm_materials";
     rev = version;
-    sha256 = "0hi9w1fsnazlr0vvxdr3alsdb8m1vjjfp5zhmlz4kyyxhsy3bc33";
+    sha256 = "0ykf14j4yx4cf12qw0d4bff9ixrx96m6wxqvi83sn721y7dsd2rs";
   };
 
   buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects ];
diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix
index 05f63c54803..d0dfde5b382 100644
--- a/pkgs/applications/misc/curaengine/default.nix
+++ b/pkgs/applications/misc/curaengine/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "curaengine";
-  version = "4.9.1";
+  version = "4.10.0";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "CuraEngine";
     rev = version;
-    sha256 = "sha256-1hCjtnI1EnfyQ0QfU8qZoSLIjE5pyDYpu8H4J91cWYM=";
+    sha256 = "sha256-t5i6s0KKcaoMqzDxZ6JL1NyKP33uxWdmyziK3xh8q88=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 8de49c5f950..a15157a9370 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver";
-  version = "21.1.0"; # When updating also update fetchedMavenDeps.sha256
+  version = "21.1.2"; # When updating also update fetchedMavenDeps.sha256
 
   src = fetchFromGitHub {
     owner = "dbeaver";
     repo = "dbeaver";
     rev = version;
-    sha256 = "sha256-MHfW6gZFB2osE+8Ek7I40fg2cdowph3hvKqkjG7+rY4=";
+    sha256 = "sha256-3q5LTllyqw7s8unJHTuasBCM4iaJ9lLpwgbXwBGUtIw=";
   };
 
   fetchedMavenDeps = stdenv.mkDerivation {
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     dontFixup = true;
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "sha256-FdWQ+2U5bIXSASm3SaLjyQlaRc1AkYPpFJSP4PnCWJw=";
+    outputHash = "sha256-QPDnIXP3yB1Dn0LBbBBLvRDbCyguWvG9Zzb1Vjh72UA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/devilspie2/default.nix b/pkgs/applications/misc/devilspie2/default.nix
index 2d3c28b2d71..b9d8b0f9797 100644
--- a/pkgs/applications/misc/devilspie2/default.nix
+++ b/pkgs/applications/misc/devilspie2/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, intltool, pkg-config, glib, gtk, lua, libwnck3 }:
+{ lib, stdenv, fetchurl, intltool, pkg-config, glib, gtk, lua, libwnck }:
 
 stdenv.mkDerivation rec {
   pname = "devilspie2";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ intltool pkg-config ];
-  buildInputs = [ glib gtk lua libwnck3 ];
+  buildInputs = [ glib gtk lua libwnck ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share/man/man1
diff --git a/pkgs/applications/misc/diffpdf/default.nix b/pkgs/applications/misc/diffpdf/default.nix
index 30715dd51f3..0eb432bc734 100644
--- a/pkgs/applications/misc/diffpdf/default.nix
+++ b/pkgs/applications/misc/diffpdf/default.nix
@@ -54,6 +54,5 @@ mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ tstrobel ];
     platforms = with lib.platforms; linux;
-    inherit version;
   };
 }
diff --git a/pkgs/applications/misc/dmenu/wayland.nix b/pkgs/applications/misc/dmenu/wayland.nix
index 8d77588ce8f..6b8f92ddb1c 100644
--- a/pkgs/applications/misc/dmenu/wayland.nix
+++ b/pkgs/applications/misc/dmenu/wayland.nix
@@ -1,5 +1,6 @@
 { lib, stdenv, fetchFromGitHub, meson, ninja, cairo, pango, pkg-config, wayland-protocols
-, glib, wayland, libxkbcommon, makeWrapper
+, glib, wayland, libxkbcommon, makeWrapper, wayland-scanner
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -15,9 +16,19 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "man" ];
 
-  nativeBuildInputs = [ meson ninja pkg-config makeWrapper ];
+  depsBuildBuild = [ pkg-config ];
+  nativeBuildInputs = [ meson ninja pkg-config makeWrapper wayland-scanner ];
   buildInputs = [ cairo pango wayland-protocols glib wayland libxkbcommon ];
 
+  # Patch to support cross-compilation, see https://github.com/nyyManni/dmenu-wayland/pull/23/
+  patches = [
+    # can be removed when https://github.com/nyyManni/dmenu-wayland/pull/23 is included
+    (fetchpatch {
+      url = "https://github.com/nyyManni/dmenu-wayland/commit/3434410de5dcb007539495395f7dc5421923dd3a.patch";
+      sha256 = "sha256-im16kU8RWrCY0btYOYjDp8XtfGEivemIPlhwPX0C77o=";
+    })
+  ];
+
   postInstall = ''
     wrapProgram $out/bin/dmenu-wl_run \
       --prefix PATH : $out/bin
diff --git a/pkgs/applications/misc/dnd-tools/default.nix b/pkgs/applications/misc/dnd-tools/default.nix
new file mode 100644
index 00000000000..3b0d0ec90e2
--- /dev/null
+++ b/pkgs/applications/misc/dnd-tools/default.nix
@@ -0,0 +1,28 @@
+{ python3, fetchFromGitHub, fetchpatch, lib }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "dnd-tools";
+  version = "unstable-2021-02-18";
+
+  src = fetchFromGitHub {
+    owner = "savagezen";
+    repo = pname;
+    rev = "baefb9e4b4b8279be89ec63d256dde9704dee078";
+    sha256 = "1rils3gzbfmwvgy51ah77qihwwbvx50q82lkc1kwcb55b3yinnmj";
+  };
+
+  # gives warning every time unless patched, see https://github.com/savagezen/dnd-tools/pull/20
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/savagezen/dnd-tools/commit/0443f3a232056ad67cfb09eb3eadcb6344659198.patch";
+      sha256 = "00k8rsz2aj4sfag6l313kxbphcb5bjxb6z3aw66h26cpgm4kysp0";
+    })
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/savagezen/dnd-tools";
+    description = "A set of interactive command line tools for Dungeons and Dragons 5th Edition";
+    license = licenses.agpl3Only;
+    maintainers = [ maintainers.urlordjames ];
+  };
+}
diff --git a/pkgs/applications/misc/dockbarx/default.nix b/pkgs/applications/misc/dockbarx/default.nix
index cac6c363c32..9471751844e 100644
--- a/pkgs/applications/misc/dockbarx/default.nix
+++ b/pkgs/applications/misc/dockbarx/default.nix
@@ -4,7 +4,7 @@
 , gobject-introspection
 , gtk3
 , keybinder3
-, libwnck3
+, libwnck
 , python3Packages
 , wrapGAppsHook
 }:
@@ -31,7 +31,7 @@ python3Packages.buildPythonApplication rec {
   buildInputs = [
     gobject-introspection
     gtk3
-    libwnck3
+    libwnck
     keybinder3
   ];
 
diff --git a/pkgs/applications/misc/dstask/default.nix b/pkgs/applications/misc/dstask/default.nix
index cd1c659ec5b..c17ed9b3af5 100644
--- a/pkgs/applications/misc/dstask/default.nix
+++ b/pkgs/applications/misc/dstask/default.nix
@@ -36,7 +36,7 @@ buildGoModule rec {
     description = "Command line todo list with super-reliable git sync";
     homepage = src.meta.homepage;
     license = licenses.mit;
-    maintainers = with maintainers; [ stianlagstad foxit64 ];
+    maintainers = with maintainers; [ stianlagstad ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix
index c852620d798..4f8c5f8bb8b 100644
--- a/pkgs/applications/misc/electron-cash/default.nix
+++ b/pkgs/applications/misc/electron-cash/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, python3Packages, qtbase, fetchpatch, wrapQtAppsHook
+{ lib, stdenv, fetchFromGitHub, python3Packages, qtbase, fetchpatch, wrapQtAppsHook
 , secp256k1 }:
 
 python3Packages.buildPythonApplication rec {
@@ -61,7 +61,7 @@ python3Packages.buildPythonApplication rec {
     pytest electroncash/tests
   '';
 
-  postInstall = ''
+  postInstall = lib.optionalString stdenv.isLinux ''
     substituteInPlace $out/share/applications/electron-cash.desktop \
       --replace "Exec=electron-cash" "Exec=$out/bin/electron-cash"
   '';
@@ -92,7 +92,7 @@ python3Packages.buildPythonApplication rec {
       of the blockchain.
     '';
     homepage = "https://www.electroncash.org/";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ lassulus nyanloutre oxalica ];
     license = licenses.mit;
   };
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 676efb2aa04..4197c1af040 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -20,7 +20,7 @@
 }:
 
 let
-  version = "4.1.2";
+  version = "4.1.3";
 
   libsecp256k1_name =
     if stdenv.isLinux then "libsecp256k1.so.0"
@@ -36,7 +36,7 @@ let
     owner = "spesmilo";
     repo = "electrum";
     rev = version;
-    sha256 = "0zvv8nmjzw5pchykz5p28483nby4lp4ah7iqr08pv36gy89l51v5";
+    sha256 = "1nkcybalkfna9zn33dxm13ic3brj50cfzwspjl349rgyar07j781";
 
     extraPostFetch = ''
       mv $out ./all
@@ -51,7 +51,7 @@ python3.pkgs.buildPythonApplication {
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "05m6vbd4sfjk536kwa5wa3kv21jxxqnglx0ddvnmxfhf98371bhk";
+    sha256 = "1mlwpmgfm3n45agx65jzsi4dr8nxf95x7nl01jnwa3qk5krrv4cf";
   };
 
   postUnpack = ''
diff --git a/pkgs/applications/misc/expenses/default.nix b/pkgs/applications/misc/expenses/default.nix
index 63f942c2c59..cd40b381cb7 100644
--- a/pkgs/applications/misc/expenses/default.nix
+++ b/pkgs/applications/misc/expenses/default.nix
@@ -7,18 +7,18 @@
 
 buildGoModule rec {
   pname = "expenses";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "manojkarthick";
     repo = "expenses";
     rev = "v${version}";
-    sha256 = "11wxaqbnrrg0rykx5905chi6rhmai1nqggdbhh6hiappr5rksl0j";
+    sha256 = "sha256-CaIbLtP7ziv9UBQE+QsNnqX65OV+6GIvkLwKm1G++iY=";
   };
 
-  vendorSha256 = "1kwj63wl4kb16zl3lmi9bzj1az7vi453asdy52na0mjx4ymmjyk1";
+  vendorSha256 = "sha256-NWTFxF4QCH1q1xx+hmVmpvDeOlqH5Ai2+0ParE5px9M=";
 
-  # package does not contain any tests as of v0.2.1
+  # package does not contain any tests as of v0.2.2
   doCheck = false;
 
   buildInputs = [ sqlite ];
diff --git a/pkgs/applications/misc/flavours/default.nix b/pkgs/applications/misc/flavours/default.nix
index fcedf65af71..94fc91dfdb9 100644
--- a/pkgs/applications/misc/flavours/default.nix
+++ b/pkgs/applications/misc/flavours/default.nix
@@ -1,20 +1,28 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "flavours";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "Misterio77";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rDy859jg+F8XC4sJogIgdn1FoT8cf7S+KORt+7kboAc=";
+    sha256 = "1bgi6p7l0bh9k4vkwvngk7q19ynia0z1ninb1cq8qnwwpll6kbya";
   };
 
-  buildInputs = [ ]
-    ++ lib.optionals stdenv.isDarwin [ libiconv ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
-  cargoSha256 = "sha256-I8ZH35L2CVLy6ypmdOPd8VEG/sQeGaHyT1HWNdwyZVo=";
+  cargoSha256 = "07hwxhfcbqbwb3hz18w92h1lhdiwwy7abhwpimzx7syyavp4rmn4";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --cmd flavours \
+      --zsh <($out/bin/flavours --completions zsh) \
+      --fish <($out/bin/flavours --completions fish) \
+      --bash <($out/bin/flavours --completions bash)
+  '';
 
   meta = with lib; {
     description = "An easy to use base16 scheme manager/builder that integrates with any workflow";
diff --git a/pkgs/applications/misc/free42/default.nix b/pkgs/applications/misc/free42/default.nix
index 16344d975fe..2dd70acb9a7 100644
--- a/pkgs/applications/misc/free42/default.nix
+++ b/pkgs/applications/misc/free42/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "free42";
-  version = "3.0.3";
+  version = "3.0.5";
 
   src = fetchFromGitHub {
     owner = "thomasokken";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2TOYvZBI2EW9xjbjA4Bh+TgjbyEXRzOByalLYBW8Ba8=";
+    sha256 = "sha256-ytRPIBE8KcuM+pyfdKt/b+Vi03x8nowdgZjSt8EddSc=";
   };
 
   nativeBuildInputs = [ copyDesktopItems pkg-config ];
diff --git a/pkgs/applications/misc/freeplane/default.nix b/pkgs/applications/misc/freeplane/default.nix
index 0568198f41d..f9c04fedfdd 100644
--- a/pkgs/applications/misc/freeplane/default.nix
+++ b/pkgs/applications/misc/freeplane/default.nix
@@ -86,8 +86,7 @@ let
 in stdenv.mkDerivation rec {
   inherit pname version src;
 
-  buildInputs = [ makeWrapper ];
-  nativeBuildInputs = [ jdk11 gradle_5 ];
+  nativeBuildInputs = [ makeWrapper jdk11 gradle_5 ];
 
   buildPhase = ''
     mkdir -p -- ./freeplane/build/emoji/{txt,resources/images}
diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix
index 71c494d311a..1e51f69f1c1 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.4";
+  version = "1.6.0";
 
   src = fetchzip {
     url = "https://codeberg.org/dnkl/fuzzel/archive/${version}.tar.gz";
-    sha256 = "sha256-Zg9KrRf2ntg2FU6lhllt/Fd63KJak6zB7hu4ujj/9AI=";
+    sha256 = "sha256-iTpUWvQszDtNc1gDqkPbhvgUVNWydpivhnOCHMJVtSw=";
   };
 
   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 854b8a5f9b3..b617e7b2ea1 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.17.4";
+  version = "1.18.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4df80fd923b03b2413a3d1c50e32c3006d100ed5acc1400ace69d8dc2162d293";
+    sha256 = "1e231ed7122a753430d92f8c6240a99defa2b307d57f1a4cc3e48910269331a9";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/applications/misc/gcal/default.nix b/pkgs/applications/misc/gcal/default.nix
index 28de8e0ecea..da190218d09 100644
--- a/pkgs/applications/misc/gcal/default.nix
+++ b/pkgs/applications/misc/gcal/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, ncurses, fetchpatch }:
+{ lib, stdenv, fetchurl, ncurses, gettext, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "gcal";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ ncurses ];
+  buildInputs = [ ncurses ] ++ lib.optional stdenv.isDarwin gettext;
 
   meta = {
     description = "Program for calculating and printing calendars";
diff --git a/pkgs/applications/misc/gcalcli/default.nix b/pkgs/applications/misc/gcalcli/default.nix
index 392e2c312f7..90b4883ec29 100644
--- a/pkgs/applications/misc/gcalcli/default.nix
+++ b/pkgs/applications/misc/gcalcli/default.nix
@@ -20,7 +20,7 @@ buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = [
-    dateutil gflags httplib2 parsedatetime six vobject
+    python-dateutil gflags httplib2 parsedatetime six vobject
     google-api-python-client oauth2client uritemplate
     libnotify
   ];
@@ -33,6 +33,5 @@ buildPythonApplication rec {
     homepage = "https://github.com/insanum/gcalcli";
     license = licenses.mit;
     maintainers = with maintainers; [ nocoolnametom ];
-    inherit version;
   };
 }
diff --git a/pkgs/applications/misc/getxbook/default.nix b/pkgs/applications/misc/getxbook/default.nix
index 15b7c37244f..6ac5f2327f0 100644
--- a/pkgs/applications/misc/getxbook/default.nix
+++ b/pkgs/applications/misc/getxbook/default.nix
@@ -27,6 +27,5 @@ stdenv.mkDerivation rec {
     license     = licenses.isc;
     maintainers = with maintainers; [ obadz ];
     platforms   = platforms.all;
-    inherit version;
   };
 }
diff --git a/pkgs/applications/misc/gmnitohtml/default.nix b/pkgs/applications/misc/gmnitohtml/default.nix
new file mode 100644
index 00000000000..a4b6f9403c6
--- /dev/null
+++ b/pkgs/applications/misc/gmnitohtml/default.nix
@@ -0,0 +1,46 @@
+{ lib, buildGoModule, fetchFromSourcehut, scdoc, installShellFiles }:
+
+buildGoModule rec {
+  pname = "gmnitohtml";
+  version = "0.1.1";
+
+  src = fetchFromSourcehut {
+    owner = "~adnano";
+    repo = pname;
+    rev = version;
+    hash = "sha256-XcHJbqmfSkW6lt2xRlrf9AJfwLOZqdgsL1v0aK2bQwo=";
+  };
+  vendorSha256 = "sha256-Cx8x8AISRVTA4Ufd73vOVky97LX23NkizHDingr/zVk=";
+
+  ldflags = [ "-s" "-w" ];
+
+  # Build and install the man pages
+  nativeBuildInputs = [ scdoc installShellFiles ];
+
+  postBuild = ''
+    make gmnitohtml.1
+  '';
+
+  postInstall = ''
+    installManPage gmnitohtml.1
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/gmnitohtml --help
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://git.sr.ht/~adnano/gmnitohtml";
+    changelog = "https://git.sr.ht/~adnano/gmnitohtml/log";
+    description = "Gemini text to HTML converter";
+    longDescription = ''
+      he gmnitohtml utility reads Gemini text from the standard input and writes
+      HTML to the standard output.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ jk sikmir ];
+  };
+}
diff --git a/pkgs/applications/misc/go-jira/default.nix b/pkgs/applications/misc/go-jira/default.nix
index 2f2a0a22126..4a368e92ec3 100644
--- a/pkgs/applications/misc/go-jira/default.nix
+++ b/pkgs/applications/misc/go-jira/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-jira";
-  version = "1.0.27";
+  version = "1.0.28";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "go-jira";
     repo = "jira";
-    sha256 = "1sw56aqghfxh88mfchf0nvqld0x7w22jfwx13pd24slxv1iag1nb";
+    sha256 = "sha256-h/x77xGqdOxPBxdchElZU9GFgjnNo89o9gx4fYM5dME=";
   };
 
-  vendorSha256 = "0d64gkkzfm6hbgqaibj26fpaqnjs50p1675ycrshdhn6blb5mbxg";
+  vendorSha256 = "sha256-r69aFl3GwgZ1Zr4cEy4oWlqsrjNCrqjwW9BU9+d8xDQ=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/golden-cheetah/default.nix b/pkgs/applications/misc/golden-cheetah/default.nix
index c3b9a3226a3..53c0a96060e 100644
--- a/pkgs/applications/misc/golden-cheetah/default.nix
+++ b/pkgs/applications/misc/golden-cheetah/default.nix
@@ -1,6 +1,6 @@
 { lib, fetchFromGitHub, fetchpatch, mkDerivation
 , qtbase, qtsvg, qtserialport, qtwebengine, qtmultimedia, qttools
-, qtconnectivity, qtcharts, libusb-compat-0_1
+, qtconnectivity, qtcharts, libusb-compat-0_1, gsl, blas
 , bison, flex, zlib, qmake, makeDesktopItem, makeWrapper
 }:
 
@@ -16,18 +16,18 @@ let
   };
 in mkDerivation rec {
   pname = "golden-cheetah";
-  version = "3.5";
+  version = "3.6-DEV2107";
 
   src = fetchFromGitHub {
     owner = "GoldenCheetah";
     repo = "GoldenCheetah";
-    rev = "V${version}";
-    sha256 = "1lyd0b2s3s9c2ppj7l4hf3s4gfzscaaam2pbiaby714bi9nr0ka7";
+    rev = "v${version}";
+    sha256 = "1d54x3pv27w1ys2f5l7gnfhyijhgcgdjnq1c1mj7hvg35dmh054d";
   };
 
   buildInputs = [
     qtbase qtsvg qtserialport qtwebengine qtmultimedia qttools zlib
-    qtconnectivity qtcharts libusb-compat-0_1
+    qtconnectivity qtcharts libusb-compat-0_1 gsl blas
   ];
   nativeBuildInputs = [ flex makeWrapper qmake bison ];
 
@@ -40,9 +40,9 @@ in mkDerivation rec {
     })
   ];
 
-  NIX_LDFLAGS = "-lz";
+  NIX_LDFLAGS = "-lz -lgsl -lblas";
 
-  qtWrapperArgs = [ "--set LD_LIBRARY_PATH ${zlib.out}/lib" ];
+  qtWrapperArgs = [ "--prefix" "LD_LIBRARY_PATH" ":" "${zlib.out}/lib" ];
 
   preConfigure = ''
     cp src/gcconfig.pri.in src/gcconfig.pri
@@ -52,10 +52,6 @@ in mkDerivation rec {
     echo 'LIBUSB_INCLUDE = ${libusb-compat-0_1.dev}/include' >> src/gcconfig.pri
     echo 'LIBUSB_LIBS = -L${libusb-compat-0_1}/lib -lusb' >> src/gcconfig.pri
     sed -i -e '21,23d' qwt/qwtconfig.pri # Removed forced installation to /usr/local
-
-    # Use qtwebengine instead of qtwebkit
-    substituteInPlace src/gcconfig.pri \
-      --replace "#DEFINES += NOWEBKIT" "DEFINES += NOWEBKIT"
   '';
 
   installPhase = ''
@@ -73,6 +69,6 @@ in mkDerivation rec {
     description = "Performance software for cyclists, runners and triathletes";
     platforms = platforms.linux;
     maintainers = [ ];
-    license = licenses.gpl3;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/misc/gopacked/default.nix b/pkgs/applications/misc/gopacked/default.nix
index 57f6be40ab0..42b886e4c72 100644
--- a/pkgs/applications/misc/gopacked/default.nix
+++ b/pkgs/applications/misc/gopacked/default.nix
@@ -19,7 +19,6 @@ buildGoModule rec {
     description = "A simple text-based Minecraft modpack manager";
     license = licenses.agpl3;
     homepage = src.meta.homepage;
-    maintainers = with maintainers; [ foxit64 ];
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 0eca08907e9..a2280e8bb01 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "gpxsee";
-  version = "9.1";
+  version = "9.2";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "sha256-szq1i2/NEtMK4paSkxtkKXc8yY8qGj2U/p6CzNIecAY=";
+    sha256 = "sha256-pU02Eaq6tB7X6EPOo8YAyryJRbSV3KebQv8VELxXaBw=";
   };
 
   patches = (substituteAll {
diff --git a/pkgs/applications/misc/gummi/default.nix b/pkgs/applications/misc/gummi/default.nix
index a98017f095c..8943fc17de4 100644
--- a/pkgs/applications/misc/gummi/default.nix
+++ b/pkgs/applications/misc/gummi/default.nix
@@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ flokli ];
     platforms = with lib.platforms; linux;
-    inherit version;
   };
 }
diff --git a/pkgs/applications/misc/gxkb/default.nix b/pkgs/applications/misc/gxkb/default.nix
index 7f2b93f1495..16268bc76c7 100644
--- a/pkgs/applications/misc/gxkb/default.nix
+++ b/pkgs/applications/misc/gxkb/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk3, libwnck3, libxklavier
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk3, libwnck, libxklavier
 , appindicatorSupport ? true, libayatana-appindicator-gtk3
 }:
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
-  buildInputs = [ gtk3 libwnck3 libxklavier ] ++ lib.optional appindicatorSupport libayatana-appindicator-gtk3;
+  buildInputs = [ gtk3 libwnck libxklavier ] ++ lib.optional appindicatorSupport libayatana-appindicator-gtk3;
 
   configureFlags = lib.optional appindicatorSupport "--enable-appindicator=yes";
   outputs = [ "out" "man" ];
diff --git a/pkgs/applications/misc/houdini/default.nix b/pkgs/applications/misc/houdini/default.nix
index ce35e91d927..db06efd6a2a 100644
--- a/pkgs/applications/misc/houdini/default.nix
+++ b/pkgs/applications/misc/houdini/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, buildFHSUserEnv, undaemonize }:
+{ callPackage, buildFHSUserEnv, undaemonize, unwrapped ? callPackage ./runtime.nix {} }:
 
 let
   houdini-runtime = callPackage ./runtime.nix { };
@@ -9,6 +9,10 @@ in buildFHSUserEnv {
     mkdir -p $out/usr/lib/sesi
   '';
 
+  passthru = {
+    unwrapped = houdini-runtime;
+  };
+
   runScript = "${undaemonize}/bin/undaemonize ${houdini-runtime}/bin/houdini";
 }
 
diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix
index c9be607b366..8436b66719f 100644
--- a/pkgs/applications/misc/houdini/runtime.nix
+++ b/pkgs/applications/misc/houdini/runtime.nix
@@ -1,6 +1,9 @@
-{ lib, stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsa-lib, dbus, xkeyboardconfig, bc, addOpenGLRunpath }:
+{ lib, stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsa-lib
+, dbus, xkeyboardconfig, nss, nspr, expat, pciutils, libxkbcommon, bc, addOpenGLRunpath
+}:
 
 let
+  # NOTE: Some dependencies only show in errors when run with QT_DEBUG_PLUGINS=1
   ld_library_path = builtins.concatStringsSep ":" [
     "${stdenv.cc.cc.lib}/lib64"
     (lib.makeLibraryPath [
@@ -17,6 +20,8 @@ let
       xorg.libXcomposite
       xorg.libXdamage
       xorg.libXtst
+      xorg.libxcb
+      xorg.libXScrnSaver
       alsa-lib
       fontconfig
       libSM
@@ -25,26 +30,22 @@ let
       libpng
       dbus
       addOpenGLRunpath.driverLink
+      nss
+      nspr
+      expat
+      pciutils
+      libxkbcommon
     ])
   ];
   license_dir = "~/.config/houdini";
 in
 stdenv.mkDerivation rec {
-  version = "17.5.327";
+  version = "18.0.460";
   pname = "houdini-runtime";
   src = requireFile rec {
     name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz";
-    sha256 = "1byigmhmby8lgi2vmgxy9jlrrqk7jyr507zqkihq5bv8kfsanv1x";
-    message = ''
-      This nix expression requires that ${name} is already part of the store.
-      Download it from https://www.sidefx.com and add it to the nix store with:
-
-          nix-prefetch-url <URL>
-
-      This can't be done automatically because you need to create an account on
-      their website and agree to their license terms before you can download
-      it. That's what you get for using proprietary software.
-    '';
+    sha256 = "18rbwszcks2zfn9zbax62rxmq50z9mc3h39b13jpd39qjqdd3jsd";
+    url = meta.homepage;
   };
 
   buildInputs = [ bc ];
@@ -82,7 +83,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.unfree;
     platforms = lib.platforms.linux;
     hydraPlatforms = [ ]; # requireFile src's should be excluded
-    maintainers = [ lib.maintainers.canndrew ];
+    maintainers = with lib.maintainers; [ canndrew kwohlfahrt ];
   };
 }
-
diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix
index f291ab898e3..1bc22b6613d 100644
--- a/pkgs/applications/misc/hubstaff/default.nix
+++ b/pkgs/applications/misc/hubstaff/default.nix
@@ -1,13 +1,12 @@
 { lib, stdenv, fetchurl, unzip, makeWrapper, libX11, zlib, libSM, libICE
 , libXext , freetype, libXrender, fontconfig, libXft, libXinerama
 , libXfixes, libXScrnSaver, libnotify, glib , gtk3, libappindicator-gtk3
-, curl }:
+, curl, writeShellScript, common-updater-scripts }:
 
 let
-
-  data = builtins.fromJSON (builtins.readFile ./revision.json);
-
-  inherit (data) version url sha256;
+  url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.5.19-9e79d1da/Hubstaff-1.5.19-9e79d1da.sh";
+  version = "1.5.19-9e79d1da";
+  sha256 = "1l4sq8cblpl1kclkx5pgy0ldfmqa3n8bvdl5qml0n78r0lpk382j";
 
   rpath = lib.makeLibraryPath
     [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
@@ -56,6 +55,18 @@ stdenv.mkDerivation {
     ln -s $opt/data/resources $opt/x86_64/resources
   '';
 
+  updateScript = writeShellScript "hubstaff-updater" ''
+    set -eu -o pipefail
+
+    installation_script_url=$(curl --fail --head --location --silent --output /dev/null --write-out %{url_effective} https://app.hubstaff.com/download/linux)
+
+    version=$(echo "$installation_script_url" | sed -r 's/^https:\/\/hubstaff\-production\.s3\.amazonaws\.com\/downloads\/HubstaffClient\/Builds\/Release\/([^\/]+)\/Hubstaff.+$/\1/')
+
+    sha256=$(nix-prefetch-url "$installation_script_url")
+
+    ${common-updater-scripts}/bin/update-source-version hubstaff "$version" "$sha256" "$installation_script_url"
+  '';
+
   meta = with lib; {
     description = "Time tracking software";
     homepage = "https://hubstaff.com/";
diff --git a/pkgs/applications/misc/hubstaff/revision.json b/pkgs/applications/misc/hubstaff/revision.json
deleted file mode 100644
index 9b0ffe67f0c..00000000000
--- a/pkgs/applications/misc/hubstaff/revision.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "url": "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.5.15-28673d1c/Hubstaff-1.5.15-28673d1c.sh",
-  "version": "1.5.15-28673d1c",
-  "sha256": "0ging41l3a3sdj6bggh913h71gqmb8l3rplp4civpgclnfzv7fg2"
-}
diff --git a/pkgs/applications/misc/hubstaff/update.sh b/pkgs/applications/misc/hubstaff/update.sh
deleted file mode 100755
index c4c1caf55db..00000000000
--- a/pkgs/applications/misc/hubstaff/update.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p nix-prefetch-git curl
-
-SCRIPT_DIR=$(dirname "$(readlink -f "$BASH_SOURCE")")
-
-installation_script_url=$(curl --fail --head --location --silent --output /dev/null --write-out %{url_effective} https://app.hubstaff.com/download/linux)
-
-version=$(echo "$installation_script_url" | sed -r 's/^https:\/\/hubstaff\-production\.s3\.amazonaws\.com\/downloads\/HubstaffClient\/Builds\/Release\/([^\/]+)\/Hubstaff.+$/\1/')
-
-sha256=$(nix-prefetch-url "$installation_script_url")
-
-cat <<EOT > $SCRIPT_DIR/revision.json
-{
-  "url": "$installation_script_url",
-  "version": "$version",
-  "sha256": "$sha256"
-}
-EOT
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index b8ea6b83b90..a0491a09884 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.83.1";
+  version = "0.85.0";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-c9T3a6J78uLumBTy/DgE4gbxCmEXVGKd9JyF9dyrL6g=";
+    sha256 = "sha256-IW41e4imaXKcXJKa7dAB60ulvRrk3qvF1//Lo55TLVI=";
   };
 
-  vendorSha256 = "sha256-ddCyMmZ5RIZWzT2RYNnSW795oR7PIRudl3QTjsXtBGk=";
+  vendorSha256 = "sha256-ZIGw349m6k8qqrzUN/oYV/HrgBvfOo/ovjo1SUDRmyk=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix
index 0c7fc750cfd..92491f4508e 100644
--- a/pkgs/applications/misc/ipmiview/default.nix
+++ b/pkgs/applications/misc/ipmiview/default.nix
@@ -13,12 +13,12 @@
 
 stdenv.mkDerivation rec {
   pname = "IPMIView";
-  version = "2.18.0";
-  buildVersion = "201007";
+  version = "2.19.0";
+  buildVersion = "210401";
 
   src = fetchurl {
     url = "https://www.supermicro.com/wftp/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz";
-    sha256 = "10cv63yhh81gjxahsg4y3zp4mjivc217m4z1vcpwvvnds46c65h8";
+    sha256 = "sha256-6hxOu/Wkcrp9MaMYlxOR2DZW21Wi3BIFZp3Vm8NRBWs=";
   };
 
   nativeBuildInputs = [ patchelf makeWrapper ];
@@ -29,10 +29,14 @@ stdenv.mkDerivation rec {
       else throw "IPMIView is not supported on this platform";
     in
   ''
-    patchelf --set-rpath "${lib.makeLibraryPath [ libX11 libXext libXrender libXtst libXi ]}" ./jre/lib/amd64/libawt_xawt.so
-    patchelf --set-rpath "${lib.makeLibraryPath [ freetype ]}" ./jre/lib/amd64/libfontmanager.so
-    patchelf --set-rpath "${gcc.cc}/lib:$out/jre/lib/amd64/jli" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/java
+    runHook preBuild
+
+    patchelf --set-rpath "${lib.makeLibraryPath [ libX11 libXext libXrender libXtst libXi ]}" ./jre/lib/libawt_xawt.so
+    patchelf --set-rpath "${lib.makeLibraryPath [ freetype ]}" ./jre/lib/libfontmanager.so
+    patchelf --set-rpath "${gcc.cc}/lib:$out/jre/lib/jli" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/java
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./BMCSecurity/${stunnelBinary}
+
+    runHook postBuild
   '';
 
   desktopItem = makeDesktopItem rec {
@@ -44,6 +48,8 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     cp -R . $out/
 
@@ -61,6 +67,8 @@ stdenv.mkDerivation rec {
              mkdir -p $WORK_DIR
              ln -snf '$out'/iKVM.jar '$out'/iKVM_ssl.jar '$out'/libiKVM* '$out'/libSharedLibrary* $WORK_DIR
              cd $WORK_DIR'
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/jiten/default.nix b/pkgs/applications/misc/jiten/default.nix
index 5447a2b3050..efd28fabae3 100644
--- a/pkgs/applications/misc/jiten/default.nix
+++ b/pkgs/applications/misc/jiten/default.nix
@@ -1,26 +1,35 @@
 { lib
 , fetchFromGitHub
-, python3Packages
+, python3
+, bash
 , makeWrapper
+, kanjidraw
 , pcre
 , sqlite
 , nodejs
 }:
 
-python3Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "jiten";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "obfusk";
     repo = "jiten";
     rev = "v${version}";
-    sha256 = "1lg1n7f4383jdlkbma0q65yl6l159wgh886admcq7l7ap26zpqd2";
+    sha256 = "13bdx136sirbhxdhvpq5kf0r6q1xvm5zyzp454z51gy0v6rn0qrp";
+  };
+
+  nonFreeData = fetchFromGitHub {
+    owner = "obfusk";
+    repo = "jiten-nonfree-data";
+    rev = "v${version}";
+    sha256 = "16sz8i0sw7ggy6kijcx4qyl2zr6xj789x4iav0yyllx12dfgp5b1";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ pcre sqlite ];
-  propagatedBuildInputs = with python3Packages; [ click flask ];
+  propagatedBuildInputs = with python3.pkgs; [ click flask kanjidraw ];
   checkInputs = [ nodejs ];
 
   preBuild = ''
@@ -29,11 +38,16 @@ python3Packages.buildPythonApplication rec {
   '';
 
   postPatch = ''
-    substituteInPlace Makefile                  --replace /bin/bash "$(command -v bash)"
-    substituteInPlace jiten/res/jmdict/Makefile --replace /bin/bash "$(command -v bash)"
+    rmdir nonfree-data
+    ln -s ${nonFreeData} nonfree-data
+    substituteInPlace Makefile --replace /bin/bash ${bash}/bin/bash
+    substituteInPlace jiten/res/jmdict/Makefile \
+      --replace /bin/bash ${bash}/bin/bash
   '';
 
-  checkPhase = "make test";
+  checkPhase = ''
+    make test
+  '';
 
   postInstall = ''
     # requires pywebview
@@ -59,7 +73,8 @@ python3Packages.buildPythonApplication rec {
       • readings (romaji optional), meanings (english), jmdict entries, radicals & more
       • search using SKIP codes
       • search by radical
-      • browse by frequency/level/jlpt
+      • handwritten kanji recognition
+      • browse by frequency/level/jlpt/SKIP
 
       Example sentences (from Tatoeba)
       • with english, dutch, german, french and/or spanish translation
@@ -83,9 +98,8 @@ python3Packages.buildPythonApplication rec {
     license = with licenses; [
       agpl3Plus               # code
       cc-by-sa-30             # jmdict/kanjidic
-      unfreeRedistributable   # pitch data from wadoku is non-commercial :(
+      unfreeRedistributable   # pitch data & audio are non-commercial
     ];
     maintainers = [ maintainers.obfusk ];
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/jquake/default.nix b/pkgs/applications/misc/jquake/default.nix
new file mode 100644
index 00000000000..2a3f1aec413
--- /dev/null
+++ b/pkgs/applications/misc/jquake/default.nix
@@ -0,0 +1,67 @@
+{ lib, stdenv, fetchurl, copyDesktopItems, makeDesktopItem, unzip, jre8
+, logOutput ? false
+}:
+
+stdenv.mkDerivation rec {
+  pname = "jquake";
+  version = "1.6.1";
+
+  src = fetchurl {
+    url = "https://fleneindre.github.io/downloads/JQuake_${version}_linux.zip";
+    sha256 = "0nw6xjc3i1b8rk15arc5d0ji2bycc40rz044qd03vzxvh0h8yvgl";
+  };
+
+  nativeBuildInputs = [ unzip copyDesktopItems ];
+
+  sourceRoot = ".";
+
+  postPatch = ''
+    # JQuake emits a lot of debug-like messages on stdout. Either drop the output
+    # stream entirely or log them at 'user.debug' level.
+    sed -i "/^java/ s/$/ ${if logOutput then "| logger -p user.debug" else "> \\/dev\\/null"}/" JQuake.sh
+
+    # By default, an 'errors.log' file is created in the current directory.
+    # cd into a temporary directory and let it be created there.
+    substituteInPlace JQuake.sh \
+      --replace "java -jar " "exec ${jre8.outPath}/bin/java -jar $out/lib/" \
+      --replace "[JAR FOLDER]" "\$(mktemp -p /tmp -d jquake-errlog-XXX)"
+  '';
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    chmod +x JQuake.sh
+
+    mkdir -p $out/{bin,lib}
+    mv JQuake.sh $out/bin/JQuake
+    mv {JQuake.jar,JQuake_lib} $out/lib
+    mv sounds $out/lib
+
+    mkdir -p $out/share/licenses/jquake
+    mv LICENSE* $out/share/licenses/jquake
+
+    runHook postInstall
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "JQuake";
+      desktopName = "JQuake";
+      exec = "JQuake";
+      comment = "Real-time earthquake map of Japan";
+    })
+  ];
+
+  meta = with lib; {
+    description = "Real-time earthquake map of Japan";
+    homepage = "http://jquake.net";
+    downloadPage = "https://jquake.net/?down";
+    changelog = "https://jquake.net/?docu";
+    maintainers = with maintainers; [ nessdoor ];
+    license = licenses.unfree;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix
index 6dd407ab551..4b13eaa1e7c 100644
--- a/pkgs/applications/misc/kanboard/default.nix
+++ b/pkgs/applications/misc/kanboard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kanboard";
-  version = "1.2.19";
+  version = "1.2.20";
 
   src = fetchFromGitHub {
     owner = "kanboard";
     repo = "kanboard";
     rev = "v${version}";
-    sha256 = "sha256-48U3eRg6obRjgK06SKN2g1+0wocqm2aGyXO2yZw5fs8=";
+    sha256 = "sha256-IB+GhUZvjngjf1UHKc7B/PkZHVXKYUTk6CVA5XSiF5Y=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/kanjidraw/default.nix b/pkgs/applications/misc/kanjidraw/default.nix
new file mode 100644
index 00000000000..53c752651d2
--- /dev/null
+++ b/pkgs/applications/misc/kanjidraw/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, fetchFromGitHub
+, python3
+, bash
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "kanjidraw";
+  version = "0.2.3";
+
+  src = fetchFromGitHub {
+    owner = "obfusk";
+    repo = "kanjidraw";
+    rev = "v${version}";
+    sha256 = "03ag8vkbf85qww857ii8hcnn8bh5qa7rsmhka0v9vfxk272ifbyq";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [ tkinter ];
+
+  postPatch = ''
+    substituteInPlace Makefile --replace /bin/bash ${bash}/bin/bash
+  '';
+
+  checkPhase = ''
+    make test
+  '';
+
+  meta = with lib; {
+    description = "Handwritten kanji recognition";
+    longDescription = ''
+      kanjidraw is a simple Python library + GUI for matching (the strokes of a)
+      handwritten kanji against its database.
+
+      You can use the GUI to draw and subsequently select a kanji from the list of
+      probable matches, which will then be copied to the clipboard.
+
+      The database is based on KanjiVG and the algorithms are based on the
+      Kanji draw Android app.
+    '';
+    homepage = "https://github.com/obfusk/kanjidraw";
+    license = with licenses; [
+      agpl3Plus     # code
+      cc-by-sa-30   # data.json
+    ];
+    maintainers = [ maintainers.obfusk ];
+  };
+}
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index fe09345349e..b4beab05acd 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -1,8 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
-, makeWrapper
 , qttools
 , darwin
 
@@ -43,13 +41,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.6.4";
+  version = "2.6.6";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = version;
-    sha256 = "02ajfkw818cmalvkl0kqvza85rgdgs59kw2v7b3c4v8kv00c41j3";
+    sha256 = "15rm3avdmc2x2n92zq6w1zbcranak4j6dds2sxmgdqi1ffc0a3ci";
   };
 
   NIX_CFLAGS_COMPILE = optionalString stdenv.cc.isClang [
@@ -92,10 +90,9 @@ stdenv.mkDerivation rec {
     runHook postCheck
   '';
 
-  nativeBuildInputs = [ cmake wrapQtAppsHook qttools pkg-config ];
+  nativeBuildInputs = [ asciidoctor cmake wrapQtAppsHook qttools pkg-config ];
 
   buildInputs = [
-    asciidoctor
     curl
     glibcLocales
     libXi
diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix
index 5c6b505dd68..c7c184febe1 100644
--- a/pkgs/applications/misc/khal/default.nix
+++ b/pkgs/applications/misc/khal/default.nix
@@ -9,16 +9,12 @@ with python3.pkgs; buildPythonApplication rec {
     sha256 = "sha256-L92PwU/ll+Wn1unGPHho2WC07QIbVjxoSnHwcJDtpDI=";
   };
 
-  patches = [
-    ./skip-broken-test.patch
-  ];
-
   propagatedBuildInputs = [
     atomicwrites
     click
     click-log
     configobj
-    dateutil
+    python-dateutil
     icalendar
     lxml
     pkgs.vdirsyncer
@@ -31,16 +27,12 @@ with python3.pkgs; buildPythonApplication rec {
     freezegun
   ];
   nativeBuildInputs = [ setuptools-scm sphinx sphinxcontrib_newsfeed ];
-  checkInputs = [ pytest glibcLocales ];
+  checkInputs = [
+    glibcLocales
+    pytestCheckHook
+  ];
   LC_ALL = "en_US.UTF-8";
 
-  postPatch = ''
-    sed -i \
-      -e "s/Invalid value for \"ics\"/Invalid value for \\\'ics\\\'/" \
-      -e "s/Invalid value for \"\[ICS\]\"/Invalid value for \\\'\[ICS\]\\\'/" \
-      tests/cli_test.py
-  '';
-
   postInstall = ''
     # zsh completion
     install -D misc/__khal $out/share/zsh/site-functions/__khal
@@ -56,11 +48,13 @@ with python3.pkgs; buildPythonApplication rec {
 
   doCheck = !stdenv.isAarch64;
 
-  checkPhase = ''
-    py.test -k "not test_vertical_month_abbr_fr and not test_vertical_month_unicode_weekdeays_gr \
-      and not test_event_different_timezones and not test_default_calendar and not test_birthdays \
-      and not test_birthdays_no_year"
-  '';
+  disabledTests = [
+    # This test is failing due to https://github.com/pimutils/khal/issues/1065
+    "test_print_ics_command"
+
+    # Mocking breaks in this testcase
+    "test_import_from_stdin"
+  ];
 
   meta = with lib; {
     homepage = "http://lostpackets.de/khal/";
diff --git a/pkgs/applications/misc/khal/skip-broken-test.patch b/pkgs/applications/misc/khal/skip-broken-test.patch
deleted file mode 100644
index fc37f6acc86..00000000000
--- a/pkgs/applications/misc/khal/skip-broken-test.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/tests/cli_test.py b/tests/cli_test.py
-index 5e354a5..d8fbcd5 100644
---- a/tests/cli_test.py
-+++ b/tests/cli_test.py
-@@ -493,6 +493,7 @@ def test_import_invalid_choice_and_prefix(runner):
-     assert result.output == '09.04.-09.04. An Event\n'
- 
- 
-+@pytest.mark.skip(reason="Mocking breaks in this testcase")
- def test_import_from_stdin(runner, monkeypatch):
-     ics_data = 'This is some really fake icalendar data'
- 
-diff --git a/tests/ui/test_editor.py b/tests/ui/test_editor.py
-index 27b7fa5..5978d72 100644
---- a/tests/ui/test_editor.py
-+++ b/tests/ui/test_editor.py
-@@ -1,5 +1,7 @@
- import datetime as dt
- 
-+import pytest
-+
- import icalendar
- from khal.ui.editor import RecurrenceEditor, StartEndEditor
- 
-@@ -19,7 +21,7 @@ palette = {
-     'edit': 'blue',
- }
- 
--
-+@pytest.mark.skip(reason="Mocking breaks in this testcase")
- def test_popup(monkeypatch):
-     """making sure the popup calendar gets callend with the right inital value
- 
diff --git a/pkgs/applications/misc/kile-wl/default.nix b/pkgs/applications/misc/kile-wl/default.nix
index 479c5bf1d8d..9146f38df36 100644
--- a/pkgs/applications/misc/kile-wl/default.nix
+++ b/pkgs/applications/misc/kile-wl/default.nix
@@ -1,20 +1,28 @@
-{ lib, fetchFromGitLab, rustPlatform }:
+{ lib, fetchFromGitLab, unstableGitUpdater, rustPlatform, scdoc }:
 
 rustPlatform.buildRustPackage rec {
   pname = "kile-wl";
-  version = "unstable-2021-04-22";
+  version = "unstable-2021-06-24";
 
   src = fetchFromGitLab {
     owner = "snakedye";
     repo = "kile";
-    rev = "b97b9f1e5b33862b33918efaf23fd1c0c5d7058a";
-    sha256 = "sha256-97qJd3o8nJt8IX5tyGWtAmJsIv5Gcw1xoBFwxAqk7I8=";
+    rev = "6a306b0b5af0f250135eb88e0e72a5038fccd6a8";
+    sha256 = "sha256-DznIDzI5rNrlKJdXjpOpsLL8IO6tuIvW0pNdRN8N6Go=";
   };
 
-  # Upstream has Cargo.lock gitignored
-  cargoPatches = [ ./update-Cargo-lock.diff ];
+  passthru.updateScript = unstableGitUpdater {
+    url = "https://gitlab.com/snakedye/kile.git";
+  };
+
+  cargoSha256 = "sha256-LFRqhgvziQ7a8OWRzXqNIfziP6bRHTe2oF55N09rFy8=";
+
+  nativeBuildInputs = [ scdoc ];
 
-  cargoSha256 = "sha256-TEgIiw/XTDUOe9K7agHWI86f88w+eDJ332V0CgNHtfo=";
+  postInstall = ''
+    mkdir -p $out/share/man
+    scdoc < doc/kile.1.scd > $out/share/man/kile.1
+  '';
 
   meta = with lib; {
     description = "A tiling layout generator for river";
diff --git a/pkgs/applications/misc/kile-wl/update-Cargo-lock.diff b/pkgs/applications/misc/kile-wl/update-Cargo-lock.diff
deleted file mode 100644
index 8fc9fc555e8..00000000000
--- a/pkgs/applications/misc/kile-wl/update-Cargo-lock.diff
+++ /dev/null
@@ -1,153 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..05cf87b
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,147 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "bitflags"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.67"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-+
-+[[package]]
-+name = "downcast-rs"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
-+
-+[[package]]
-+name = "kile"
-+version = "0.1.0"
-+dependencies = [
-+ "wayland-client",
-+ "wayland-commons",
-+ "wayland-scanner",
-+]
-+
-+[[package]]
-+name = "libc"
-+version = "0.2.93"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"
-+
-+[[package]]
-+name = "nix"
-+version = "0.20.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a"
-+dependencies = [
-+ "bitflags",
-+ "cc",
-+ "cfg-if",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "once_cell"
-+version = "1.7.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
-+
-+[[package]]
-+name = "pkg-config"
-+version = "0.3.19"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.26"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
-+dependencies = [
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "quote"
-+version = "1.0.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
-+dependencies = [
-+ "proc-macro2",
-+]
-+
-+[[package]]
-+name = "smallvec"
-+version = "1.6.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
-+
-+[[package]]
-+name = "wayland-client"
-+version = "0.28.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "06ca44d86554b85cf449f1557edc6cc7da935cc748c8e4bf1c507cbd43bae02c"
-+dependencies = [
-+ "bitflags",
-+ "downcast-rs",
-+ "libc",
-+ "nix",
-+ "wayland-commons",
-+ "wayland-scanner",
-+ "wayland-sys",
-+]
-+
-+[[package]]
-+name = "wayland-commons"
-+version = "0.28.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8bd75ae380325dbcff2707f0cd9869827ea1d2d6d534cff076858d3f0460fd5a"
-+dependencies = [
-+ "nix",
-+ "once_cell",
-+ "smallvec",
-+ "wayland-sys",
-+]
-+
-+[[package]]
-+name = "wayland-scanner"
-+version = "0.28.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "389d680d7bd67512dc9c37f39560224327038deb0f0e8d33f870900441b68720"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "xml-rs",
-+]
-+
-+[[package]]
-+name = "wayland-sys"
-+version = "0.28.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2907bd297eef464a95ba9349ea771611771aa285b932526c633dc94d5400a8e2"
-+dependencies = [
-+ "pkg-config",
-+]
-+
-+[[package]]
-+name = "xml-rs"
-+version = "0.8.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b07db065a5cf61a7e4ba64f29e67db906fb1787316516c4e6e5ff0fea1efcd8a"
diff --git a/pkgs/applications/misc/kiln/default.nix b/pkgs/applications/misc/kiln/default.nix
new file mode 100644
index 00000000000..dfa114f446a
--- /dev/null
+++ b/pkgs/applications/misc/kiln/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildGoModule, fetchFromSourcehut, scdoc }:
+
+buildGoModule rec {
+  pname = "kiln";
+  version = "0.2.1";
+
+  src = fetchFromSourcehut {
+    owner = "~adnano";
+    repo = pname;
+    rev = version;
+    hash = "sha256-c6ed62Nn++qw+U/DCiYeGwF77YsBxexWKZ7UQ3LE4fI=";
+  };
+
+  nativeBuildInputs = [ scdoc ];
+
+  vendorSha256 = "sha256-bMpzebwbVHAbBtw0uuGyWd4wnM9z6tlsEQN4S/iucgk=";
+
+  installPhase = ''
+    runHook preInstall
+    make PREFIX=$out install
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A simple static site generator for Gemini";
+    homepage = "https://git.sr.ht/~adnano/kiln";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/pkgs/applications/misc/kjv/default.nix b/pkgs/applications/misc/kjv/default.nix
index 5247207d149..08a1b5a71af 100644
--- a/pkgs/applications/misc/kjv/default.nix
+++ b/pkgs/applications/misc/kjv/default.nix
@@ -1,43 +1,41 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, readline }:
 
 let
+  patchPrefix = "https://github.com/samuelgrf/kjv/commit/";
 
-patch-base = "https://github.com/LukeSmithxyz/kjv/commit/";
-
-add-apocrypha = fetchpatch {
-  url = patch-base + "b92b7622285d10464f9274f11e740bef90705bbc.patch";
-  sha256 = "0n4sj8p9m10fcair4msc129jxkkx5whqzhjbr5k4lfgp6nb1zk8k";
-};
-
-add-install-target = fetchpatch {
-  url = patch-base + "f4ad73539eb73f1890f4b791d8d38dd95900a4a4.patch";
-  sha256 = "1yzj72i5fkzn2i4wl09q6jx7nwn2h4jwm49fc23nxfwchzar9m1q";
-};
+  add-apocrypha = fetchpatch {
+    url = patchPrefix + "0856fa0d37b45de0d6b47d163b5ea9a0b7f2c061.patch";
+    sha256 = "1jkajdg4wvpbbwc5mn37i4c8nfis4z0pv5rl7gqs0laj0gpj7jn8";
+  };
 
+  add-install-target = fetchpatch {
+    url = patchPrefix + "50a83256ee45430fb06b7aea1945dd91c6813bc3.patch";
+    sha256 = "0bv9yma67jdj496a6vn6y007c9gwjpg3rzld1i9m9y9xmlzq4yzv";
+  };
 in
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "kjv";
-  version = "unstable-2018-12-25";
+  version = "unstable-2021-03-11";
 
   src = fetchFromGitHub {
     owner = "bontibon";
-    repo = pname;
-    rev = "fda81a610e4be0e7c5cf242de655868762dda1d4";
-    sha256 = "1favfcjvd3pzz1ywwv3pbbxdg7v37s8vplgsz8ag016xqf5ykqqf";
+    repo = "kjv";
+    rev = "108595dcbb9bb12d40e0309f029b6fb3ccd81309";
+    hash = "sha256-Z6myd9Xn23pYizG+IZVDrP988pYU06QIcpqXtWTcPiw=";
   };
 
   patches = [ add-apocrypha add-install-target ];
 
-  makeFlags = [
-    "PREFIX=${placeholder "out"}"
-  ];
+  buildInputs = [ readline ];
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with lib; {
     description = "The Bible, King James Version";
     homepage = "https://github.com/bontibon/kjv";
-    license = licenses.publicDomain;
-    maintainers = [ maintainers.jtobin ];
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ jtobin samuelgrf ];
+    mainProgram = "kjv";
   };
 }
-
diff --git a/pkgs/applications/misc/koreader/default.nix b/pkgs/applications/misc/koreader/default.nix
index eadd5cae50d..249569ffbab 100644
--- a/pkgs/applications/misc/koreader/default.nix
+++ b/pkgs/applications/misc/koreader/default.nix
@@ -2,10 +2,12 @@
 , fetchurl
 , makeWrapper
 , dpkg
-, luajit
+, glib
+, gnutar
 , gtk3-x11
+, luajit
+, sdcv
 , SDL2
-, glib
 , noto-fonts
 , nerdfonts }:
 let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
@@ -21,7 +23,14 @@ in stdenv.mkDerivation rec {
 
   sourceRoot = ".";
   nativeBuildInputs = [ makeWrapper dpkg ];
-  buildInputs = [ luajit gtk3-x11 SDL2 glib ];
+  buildInputs = [
+    glib
+    gnutar
+    gtk3-x11
+    luajit
+    sdcv
+    SDL2
+  ];
   unpackCmd = "dpkg-deb -x ${src} .";
 
   dontConfigure = true;
@@ -30,7 +39,9 @@ in stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out
     cp -R usr/* $out/
-    cp ${luajit}/bin/luajit $out/lib/koreader/luajit
+    ln -sf ${luajit}/bin/luajit $out/lib/koreader/luajit
+    ln -sf ${sdcv}/bin/sdcv $out/lib/koreader/sdcv
+    ln -sf ${gnutar}/bin/tar $out/lib/koreader/tar
     find $out -xtype l -delete
     for i in ${noto-fonts}/share/fonts/truetype/noto/*; do
         ln -s "$i" $out/lib/koreader/fonts/noto/
diff --git a/pkgs/applications/misc/kupfer/default.nix b/pkgs/applications/misc/kupfer/default.nix
index 07ff7c17f69..47e310fb765 100644
--- a/pkgs/applications/misc/kupfer/default.nix
+++ b/pkgs/applications/misc/kupfer/default.nix
@@ -5,7 +5,7 @@
 , gobject-introspection
 , gtk3
 , itstool
-, libwnck3
+, libwnck
 , keybinder3
 , desktop-file-utils
 , shared-mime-info
@@ -34,7 +34,7 @@ buildPythonApplication rec {
     desktop-file-utils # for update-desktop-database
     shared-mime-info   # for update-mime-info
   ];
-  buildInputs = [ docutils libwnck3 keybinder3 ];
+  buildInputs = [ docutils libwnck keybinder3 ];
   propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ];
 
   # without strictDeps kupfer fails to build: Could not find the python module 'gi.repository.Gtk'
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index 1900b92e3bb..f281ab5a4cb 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.1.3";
+  version = "0.2.3";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "1akg3xjbh01nb7l06qpvz3xsjj64kf042xjnapn60jlgg5y34vbm";
+    sha256 = "LTwgLG/jUVOSR29LkLJ9q5wpPMK78yFvGtglzMG0ZC0=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix
index d294271ca25..2d70daa94ec 100644
--- a/pkgs/applications/misc/lutris/default.nix
+++ b/pkgs/applications/misc/lutris/default.nix
@@ -1,6 +1,8 @@
-{ buildPythonApplication, lib, fetchFromGitHub
+{ buildPythonApplication
+, lib
+, fetchFromGitHub
 
-# build inputs
+  # build inputs
 , atk
 , gdk-pixbuf
 , glib-networking
@@ -13,7 +15,7 @@
 , webkitgtk
 , wrapGAppsHook
 
-# python dependencies
+  # python dependencies
 , dbus-python
 , distro
 , evdev
@@ -25,7 +27,7 @@
 , keyring
 , python_magic
 
-# commands that lutris needs
+  # commands that lutris needs
 , xrandr
 , pciutils
 , psmisc
@@ -71,15 +73,16 @@ let
     gstreamer
   ];
 
-in buildPythonApplication rec {
+in
+buildPythonApplication rec {
   pname = "lutris-original";
-  version = "0.5.8.3";
+  version = "0.5.8.4";
 
   src = fetchFromGitHub {
     owner = "lutris";
     repo = "lutris";
     rev = "v${version}";
-    sha256 = "sha256-NnWIP9oEndk/hDo5Z33pkmZ61pxT/ScmZ4YpS2ajK/8=";
+    sha256 = "sha256-5ivXIgDyM9PRvuUhPFPgziXDvggcL+p65kI2yOaiS1M=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/misc/makeself/default.nix b/pkgs/applications/misc/makeself/default.nix
index e60e110087f..12d4f62a783 100644
--- a/pkgs/applications/misc/makeself/default.nix
+++ b/pkgs/applications/misc/makeself/default.nix
@@ -12,9 +12,12 @@ stdenv.mkDerivation rec {
     sha256 = "07cq7q71bv3fwddkp2863ylry2ivds00f8sjy8npjpdbkailxm21";
   };
 
-  patchPhase = "patchShebangs test";
+  postPatch = "patchShebangs test";
 
-  doCheck = true;
+  # Issue #110149: our default /bin/sh apparently has 32-bit math only
+  # (attribute busybox-sandbox-shell), and that causes problems
+  # when running these tests inside build, based on free disk space.
+  doCheck = false;
   checkTarget = "test";
   checkInputs = [ which zstd pbzip2 ];
 
@@ -31,7 +34,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://megastep.org/makeself";
+    homepage = "https://makeself.io";
     description = "Utility to create self-extracting packages";
     license = licenses.gpl2;
     maintainers = [ maintainers.wmertens ];
diff --git a/pkgs/applications/misc/mako/default.nix b/pkgs/applications/misc/mako/default.nix
index f28292cb2f1..8f984db7df5 100644
--- a/pkgs/applications/misc/mako/default.nix
+++ b/pkgs/applications/misc/mako/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mako";
-  version = "1.5";
+  version = "1.6";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0f92krcgybl4113g2gawf7lcbh1fss7bq4cx81h1zyn7yvxlwx2b";
+    sha256 = "sha256-RcPwZ5NeO9vxwPWfgj5x3wVdCYGKumnYT3ngHEAWfW0=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-protocols wrapGAppsHook ];
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index 2fd217e3cd6..72028478e6e 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -41,6 +41,7 @@ stdenv.mkDerivation rec {
     homepage = "https://code-industry.net/free-pdf-editor/";
     license = licenses.unfreeRedistributable;
     platforms = with platforms; [ "x86_64-linux" ];
-    maintainers = with maintainers; [ cmcdragonkai flokli ];
+    broken = true;
+    maintainers = with maintainers; [ cmcdragonkai ];
   };
 }
diff --git a/pkgs/applications/misc/metadata-cleaner/default.nix b/pkgs/applications/misc/metadata-cleaner/default.nix
index d5f2a4b2462..46da03b8a88 100644
--- a/pkgs/applications/misc/metadata-cleaner/default.nix
+++ b/pkgs/applications/misc/metadata-cleaner/default.nix
@@ -17,7 +17,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "metadata-cleaner";
-  version = "1.0.6";
+  version = "1.0.7";
 
   format = "other";
 
@@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "rmnvgr";
     repo = "metadata-cleaner";
     rev = "v${version}";
-    sha256 = "0k9qnycaqxnmsjsyxqgip6xr5w9affzxjc4zyb38ajbq4arfq5wv";
+    sha256 = "sha256-HlP/QahVFCAct06pKanjozFqeyTdHoHanIemq5ID2CQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/moonlight-qt/default.nix b/pkgs/applications/misc/moonlight-qt/default.nix
index b02abc2f229..0845299c55b 100644
--- a/pkgs/applications/misc/moonlight-qt/default.nix
+++ b/pkgs/applications/misc/moonlight-qt/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moonlight-qt";
-  version = "3.1.1";
+  version = "3.1.4";
 
   src = fetchFromGitHub {
     owner = "moonlight-stream";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1bz4wjl8zydw46bh2mdbrsx8prh2fw0cmzqliy912fdz5aal2b74";
+    sha256 = "1sg8svb6xvkczp9slqnlm0b6k0z3bzdi4zzvwzzy21kpj6im9002";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/neo4j-desktop/default.nix b/pkgs/applications/misc/neo4j-desktop/default.nix
new file mode 100644
index 00000000000..967c3db4c65
--- /dev/null
+++ b/pkgs/applications/misc/neo4j-desktop/default.nix
@@ -0,0 +1,33 @@
+{ appimageTools, lib, fetchurl }:
+let
+  pname = "neo4j-desktop";
+  version = "1.4.7";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://s3-eu-west-1.amazonaws.com/dist.neo4j.org/${pname}/linux-offline/${name}-x86_64.AppImage";
+    hash = "sha256-oEcSW7UIeiGY2fCPJQ5EtDBRtd73Q04HaSk+7ObLKJc=";
+  };
+
+  appimageContents = appimageTools.extract { inherit name src; };
+in appimageTools.wrapType2 {
+  inherit name src;
+
+  extraPkgs = pkgs: with pkgs; [ libsecret ];
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+    install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/${pname}.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+    cp -r ${appimageContents}/usr/share/icons $out/share
+  '';
+
+  meta = with lib; {
+    description = "A GUI front-end for Neo4j";
+    homepage = "https://neo4j.com/";
+    license = licenses.unfree;
+    maintainers = [ maintainers.bobvanderlinden ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/notify-osd-customizable/default.nix b/pkgs/applications/misc/notify-osd-customizable/default.nix
index b00ee18d5f3..820eceabb51 100644
--- a/pkgs/applications/misc/notify-osd-customizable/default.nix
+++ b/pkgs/applications/misc/notify-osd-customizable/default.nix
@@ -5,7 +5,7 @@
 , gnome
 , libnotify
 , libtool
-, libwnck3
+, libwnck
 , makeWrapper
 , pkg-config
 , gsettings-desktop-schemas
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
-    glib libwnck3 libnotify dbus-glib makeWrapper
+    glib libwnck libnotify dbus-glib makeWrapper
     gsettings-desktop-schemas gnome.gnome-common
     libtool
   ];
diff --git a/pkgs/applications/misc/notify-osd/default.nix b/pkgs/applications/misc/notify-osd/default.nix
index d68601ca6ec..005d0273466 100644
--- a/pkgs/applications/misc/notify-osd/default.nix
+++ b/pkgs/applications/misc/notify-osd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, glib, libwnck3, libnotify, dbus-glib, makeWrapper, gsettings-desktop-schemas }:
+{ lib, stdenv, fetchurl, pkg-config, glib, libwnck, libnotify, dbus-glib, makeWrapper, gsettings-desktop-schemas }:
 
 stdenv.mkDerivation rec {
   pname = "notify-osd";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
-    glib libwnck3 libnotify dbus-glib makeWrapper
+    glib libwnck libnotify dbus-glib makeWrapper
     gsettings-desktop-schemas
   ];
 
diff --git a/pkgs/applications/misc/nwg-menu/default.nix b/pkgs/applications/misc/nwg-menu/default.nix
new file mode 100644
index 00000000000..5c4b508bb6b
--- /dev/null
+++ b/pkgs/applications/misc/nwg-menu/default.nix
@@ -0,0 +1,48 @@
+{ lib, fetchFromGitHub
+, buildGoModule, pkg-config, wrapGAppsHook, gobject-introspection
+, gtk-layer-shell, gtk3, pango, gdk-pixbuf, atk
+}:
+
+buildGoModule rec {
+  pname = "nwg-menu";
+  version = "unstable-2021-06-12";
+
+  src = fetchFromGitHub {
+    owner = "nwg-piotr";
+    repo = "nwg-menu";
+    rev = "b0746e26514a047ed9c6b975a71b7263aa39bd56";
+    hash = "sha256-rxyf3CfpfWnRAlIR/pl+s7LGAZbZjdtNWPPK7BecdhQ=";
+  };
+
+  vendorSha256 = "sha256-nN5iBleK12SKY9PBiDA+tM4B8FiVGZLXbtJM2+YrEfA=";
+
+  runVend = true;
+
+  doCheck = false;
+
+  buildInputs = [ atk gtk3 gdk-pixbuf gtk-layer-shell pango ];
+  nativeBuildInputs = [ pkg-config wrapGAppsHook gobject-introspection ];
+
+  prePatch = ''
+    for file in main.go tools.go; do
+      substituteInPlace $file --replace '/usr/share/nwg-menu' $out/share
+    done
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/
+    cp menu-start.css $out/share/
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$out/share")
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/nwg-piotr/nwg-menu";
+    description = "MenuStart plugin for nwg-panel";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ berbiche ];
+  };
+}
diff --git a/pkgs/applications/misc/nwg-panel/default.nix b/pkgs/applications/misc/nwg-panel/default.nix
new file mode 100644
index 00000000000..4636477c1c5
--- /dev/null
+++ b/pkgs/applications/misc/nwg-panel/default.nix
@@ -0,0 +1,57 @@
+{ lib, fetchFromGitHub
+, python3Packages, wrapGAppsHook, gobject-introspection
+, gtk-layer-shell, pango, gdk-pixbuf, atk
+# Extra packages called by various internal nwg-panel modules
+, sway             # swaylock, swaymsg
+, systemd          # systemctl
+, wlr-randr        # wlr-randr
+, nwg-menu         # nwg-menu
+, light            # light
+, pamixer          # pamixer
+, pulseaudio       # pactl
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "nwg-panel";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "nwg-piotr";
+    repo = "nwg-panel";
+    rev = "v${version}";
+    hash = "sha256-x5lGVF6eRhOVXrsBatdsiUiWs/+FxRlCtp79zA206RY=";
+  };
+
+  # No tests
+  doCheck = false;
+
+  # Because of wrapGAppsHook
+  strictDeps = false;
+  dontWrapGApps = true;
+
+  buildInputs = [ atk gdk-pixbuf gtk-layer-shell pango ];
+  nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
+  propagatedBuildInputs = with python3Packages; [ i3ipc netifaces psutil pybluez pygobject3 ];
+
+  postInstall = ''
+    mkdir -p $out/share/{applications,pixmaps}
+    cp $src/nwg-panel-config.desktop $out/share/applications/
+    cp $src/nwg-shell.svg $src/nwg-panel.svg $out/share/pixmaps/
+  '';
+
+  preFixup = ''
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
+      --prefix XDG_DATA_DIRS : "$out/share"
+      --prefix PATH : "${lib.makeBinPath [ light nwg-menu pamixer pulseaudio sway systemd wlr-randr ]}"
+    )
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/nwg-piotr/nwg-panel";
+    description = "GTK3-based panel for Sway window manager";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ berbiche ];
+  };
+}
diff --git a/pkgs/applications/misc/nwg-wrapper/default.nix b/pkgs/applications/misc/nwg-wrapper/default.nix
new file mode 100644
index 00000000000..9567b051f59
--- /dev/null
+++ b/pkgs/applications/misc/nwg-wrapper/default.nix
@@ -0,0 +1,41 @@
+{ lib, python3Packages, fetchFromGitHub, gtk-layer-shell, gtk3, gobject-introspection, wrapGAppsHook, wlr-randr }:
+
+python3Packages.buildPythonPackage rec {
+  pname = "nwg-wrapper";
+  version = "0.0.1";
+
+  src = fetchFromGitHub {
+    owner = "nwg-piotr";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1rpkcjr0chmgsfkan88lsi476bamg9a6y7h0x9zsh60a9rdf7dl8";
+  };
+
+  nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
+
+  buildInputs = [ gtk3 gtk-layer-shell ];
+
+  propagatedBuildInputs = with python3Packages; [ i3ipc pygobject3 ];
+
+  # ValueError: Namespace GtkLayerShell not available
+  strictDeps = false;
+
+  # No tests
+  doCheck = false;
+
+  preFixup = ''
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
+      --prefix PATH : "${lib.makeBinPath [ wlr-randr ]}"
+    )
+  '';
+
+  pythonImportsCheck = [ "nwg_wrapper" ];
+
+  meta = with lib; {
+    description = "Wrapper to display a script output or a text file content on the desktop in sway or other wlroots-based compositors";
+    homepage = "https://github.com/nwg-piotr/nwg-wrapper/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ artturin ];
+  };
+}
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index af42466d0ea..750043d4a9e 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -33,6 +33,23 @@ let
         (mkOverride "unidecode" "0.04.21" "280a6ab88e1f2eb5af79edff450021a0d3f0448952847cd79677e55e58bad051")
         (mkOverride "sarge" "0.1.5.post0" "1c1ll7pys9vra5cfi8jxlgrgaql6c27l6inpy15aprgqhc4ck36s")
 
+        # Requires websocket-client <1.0, >=0.57. Cannot do mkOverride b/c differing underscore/hyphen in pypi source name
+        (
+          self: super: {
+            websocket-client = super.websocket-client.overridePythonAttrs (
+              oldAttrs: rec {
+                version = "0.58.0";
+                src = oldAttrs.src.override {
+                  pname = "websocket_client";
+                  inherit version;
+                  sha256 = "63509b41d158ae5b7f67eb4ad20fecbb4eee99434e73e140354dc3ff8e09716f";
+                };
+                propagatedBuildInputs = [ self.six ];
+              }
+            );
+          }
+        )
+
         # Octoprint needs zeroconf >=0.24 <0.25. While this should be done in
         # the mkOverride aboves, this package also has broken tests, so we need
         # a proper override.
@@ -134,7 +151,7 @@ let
                 tornado
                 unidecode
                 watchdog
-                websocket_client
+                websocket-client
                 werkzeug
                 wrapt
                 zeroconf
diff --git a/pkgs/applications/misc/openring/default.nix b/pkgs/applications/misc/openring/default.nix
index 6d840b1d9e7..248c33c4dea 100644
--- a/pkgs/applications/misc/openring/default.nix
+++ b/pkgs/applications/misc/openring/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "openring";
-  version = "unstable-2021-04-03";
+  version = "unstable-2021-06-28";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = pname;
-    rev = "f13edb5dfd882ce608d61cf6b6740650ce9d84a3";
-    sha256 = "sha256-Z65V77JZ9jCzBg7T2+d5Agxxd+MV2R7nYcLedYP5eOE=";
+    rev = "e566294050776355ca0d3bfd7a1f6f70767cd08b";
+    sha256 = "sha256-h9Tout3KGiv6jbq9Ui3crb5NdTOHcn7BIy+aPoWG5sM=";
   };
 
   vendorSha256 = "sha256-BbBTmkGyLrIWphXC+dBaHaVzHuXRZ+4N/Jt2k3nF7Z4=";
diff --git a/pkgs/applications/misc/opentx/default.nix b/pkgs/applications/misc/opentx/default.nix
index 2ca4e3203ac..71bab089601 100644
--- a/pkgs/applications/misc/opentx/default.nix
+++ b/pkgs/applications/misc/opentx/default.nix
@@ -6,13 +6,13 @@
 
 mkDerivation rec {
   pname = "opentx";
-  version = "2.3.11";
+  version = "2.3.13";
 
   src = fetchFromGitHub {
     owner = "opentx";
     repo = "opentx";
     rev = "release/${version}";
-    sha256 = "sha256-0B41TkTs4sNGYzpMGbsgCLT2ThkP6foeuwLUIzKKGkU=";
+    sha256 = "sha256-Bi/Cz2T2NdtnJZHav8qvo+gErPsR8Ym7K3KcD5APt6Y=";
   };
 
   nativeBuildInputs = [ cmake gcc-arm-embedded python3Packages.pillow ];
diff --git a/pkgs/applications/misc/osm2xmap/default.nix b/pkgs/applications/misc/osm2xmap/default.nix
index 4f2af99ab14..101a626f2c3 100644
--- a/pkgs/applications/misc/osm2xmap/default.nix
+++ b/pkgs/applications/misc/osm2xmap/default.nix
@@ -29,5 +29,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.mpickering ];
     platforms = with lib.platforms; linux;
+    # it probably needs https://proj.org/development/migration.html
+    broken = true;
   };
 }
diff --git a/pkgs/applications/misc/otpclient/default.nix b/pkgs/applications/misc/otpclient/default.nix
new file mode 100644
index 00000000000..b15eb1a78b4
--- /dev/null
+++ b/pkgs/applications/misc/otpclient/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, gtk3
+, wrapGAppsHook
+, jansson
+, libgcrypt
+, libzip
+, libpng
+, libcotp
+, zbar
+}:
+
+stdenv.mkDerivation rec {
+  pname = "otpclient";
+  version = "2.4.4";
+
+  src = fetchFromGitHub {
+    owner = "paolostivanin";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0zjvhcx9q8nsf97zikddxriky0kghi4j4i7312s94pl8c7kb4abr";
+  };
+
+  buildInputs = [ gtk3 jansson libgcrypt libzip libpng libcotp zbar ];
+  nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
+
+  meta = with lib; {
+    description = "Highly secure and easy to use OTP client written in C/GTK that supports both TOTP and HOTP";
+    homepage = "https://github.com/paolostivanin/OTPClient";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ alexbakker ];
+  };
+}
diff --git a/pkgs/applications/misc/pastel/default.nix b/pkgs/applications/misc/pastel/default.nix
index e842046dd0b..b894195cfa6 100644
--- a/pkgs/applications/misc/pastel/default.nix
+++ b/pkgs/applications/misc/pastel/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pastel";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "00xxrssa3gbr5w2jsqlf632jlzc0lc2rpybnbv618ndy5lxidnw0";
+    sha256 = "12n1a9j61r4spx0zi2kk85nslv11j1s510asxqvj92ggqhr2s3sq";
   };
 
-  cargoSha256 = "0kkhj58q1lgsyj7hpy3sxg1jva9q51m0i7j60zfzhnjnirwcd0h8";
+  cargoSha256 = "12zachbg78ajx1n1mqp53rd00dzcss5cqhsq0119lalzc8b5zkrn";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/applications/misc/pdfarranger/default.nix b/pkgs/applications/misc/pdfarranger/default.nix
index 235d14b4cda..5657c7f7e1a 100644
--- a/pkgs/applications/misc/pdfarranger/default.nix
+++ b/pkgs/applications/misc/pdfarranger/default.nix
@@ -29,7 +29,7 @@ python3Packages.buildPythonApplication rec {
     pikepdf
     img2pdf
     setuptools
-    dateutil
+    python-dateutil
   ];
 
   # incompatible with wrapGAppsHook
diff --git a/pkgs/applications/misc/pdfdiff/default.nix b/pkgs/applications/misc/pdfdiff/default.nix
index 5e489bebb25..65ee6a65593 100644
--- a/pkgs/applications/misc/pdfdiff/default.nix
+++ b/pkgs/applications/misc/pdfdiff/default.nix
@@ -13,10 +13,10 @@ py.buildPythonApplication rec {
 
   buildInputs = [  pythonPackages.wrapPython ];
 
+  dontConfigure = true;
+  dontBuild = true;
   doCheck = false;
 
-  phases = [ "unpackPhase" "patchPhase" "installPhase" ];
-
   unpackPhase = "cp $src pdfdiff.py";
 
   postPatch = ''
diff --git a/pkgs/applications/misc/phoc/default.nix b/pkgs/applications/misc/phoc/default.nix
index 2e3f3230512..aad2a4d0e48 100644
--- a/pkgs/applications/misc/phoc/default.nix
+++ b/pkgs/applications/misc/phoc/default.nix
@@ -36,14 +36,14 @@ let
   });
 in stdenv.mkDerivation rec {
   pname = "phoc";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitLab {
     domain = "source.puri.sm";
     owner = "Librem5";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0afiyr2slg38ksrqn19zygsmjy9k5bpwv6n7zjas3s5djr6hch45";
+    sha256 = "0n188xa2pwl4258naxhz45cvipcid8y1zvlbddll9xydrrh9bwqn";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/pinfo/default.nix b/pkgs/applications/misc/pinfo/default.nix
index 8668807e81c..b0fc64a1a5e 100644
--- a/pkgs/applications/misc/pinfo/default.nix
+++ b/pkgs/applications/misc/pinfo/default.nix
@@ -1,24 +1,45 @@
-{ lib, stdenv, fetchurl, autoreconfHook, gettext, texinfo, ncurses, readline }:
+{ lib
+, autoreconfHook
+, fetchFromGitHub
+, gettext
+, ncurses
+, readline
+, stdenv
+, texinfo
+}:
 
-stdenv.mkDerivation {
-  name = "pinfo-0.6.10";
+stdenv.mkDerivation rec {
+  pname = "pinfo";
+  version = "0.6.13";
 
-  src = fetchurl {
-    # homepage needed you to login to download the tarball
-    url = "https://src.fedoraproject.org/repo/pkgs/pinfo/pinfo-0.6.10.tar.bz2"
-      + "/fe3d3da50371b1773dfe29bf870dbc5b/pinfo-0.6.10.tar.bz2";
-    sha256 = "0p8wyrpz9npjcbx6c973jspm4c3xz4zxx939nngbq49xqah8088j";
+  src = fetchFromGitHub {
+    owner = "baszoetekouw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "173d2p22irwiabvr4z6qvr6zpr6ysfkhmadjlyhyiwd7z62larvy";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ gettext texinfo ncurses readline ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
 
-  configureFlags = [ "--with-curses=${ncurses.dev}" "--with-readline=${readline.dev}" ];
+  buildInputs = [
+    gettext
+    texinfo
+    ncurses
+    readline
+  ];
+
+  configureFlags = [
+    "--with-curses=${ncurses.dev}"
+    "--with-readline=${readline.dev}"
+  ];
 
   meta = with lib; {
     description = "A viewer for info files";
+    homepage = "https://github.com/baszoetekouw/pinfo";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
+    maintainers = with maintainers; [ fab ];
   };
 }
-
diff --git a/pkgs/applications/misc/plank/default.nix b/pkgs/applications/misc/plank/default.nix
index 30d9533d453..85e3bb48119 100644
--- a/pkgs/applications/misc/plank/default.nix
+++ b/pkgs/applications/misc/plank/default.nix
@@ -7,7 +7,7 @@
 , glib
 , gnome
 , gtk3
-, libwnck3
+, libwnck
 , libX11
 , libXfixes
 , libXi
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
     libXi
     libdbusmenu-gtk3
     libgee
-    libwnck3
+    libwnck
     pango
   ];
 
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index 099813483a4..b3b71d87608 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -1,4 +1,5 @@
-{ cairo
+{ config
+, cairo
 , cmake
 , fetchFromGitHub
 , libXdmcp
@@ -29,87 +30,87 @@
 , i3-gaps
 , jsoncpp
 
-# override the variables ending in 'Support' to enable or disable modules
-, alsaSupport   ? true
+  # override the variables ending in 'Support' to enable or disable modules
+, alsaSupport ? true
 , githubSupport ? false
-, mpdSupport    ? false
-, pulseSupport  ? false
-, iwSupport     ? false
-, nlSupport     ? true
-, i3Support     ? false
+, mpdSupport ? false
+, pulseSupport ? config.pulseaudio or false
+, iwSupport ? false
+, nlSupport ? true
+, i3Support ? false
 , i3GapsSupport ? false
 }:
 
 stdenv.mkDerivation rec {
-    pname = "polybar";
-    version = "3.5.6";
+  pname = "polybar";
+  version = "3.5.6";
 
-    src = fetchFromGitHub {
-      owner = pname;
-      repo = pname;
-      rev = version;
-      sha256 = "sha256-Uvj9V2M/uQxyziTx1hecrcaQZECijlpVmWcUeT+PqrI=";
-      fetchSubmodules = true;
-    };
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-Uvj9V2M/uQxyziTx1hecrcaQZECijlpVmWcUeT+PqrI=";
+    fetchSubmodules = true;
+  };
 
-    nativeBuildInputs = [
-      cmake
-      pkg-config
-      python3Packages.sphinx
-      removeReferencesTo
-    ]
-    ++ lib.optional (i3Support || i3GapsSupport) makeWrapper;
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    python3Packages.sphinx
+    removeReferencesTo
+  ] ++ lib.optional (i3Support || i3GapsSupport) makeWrapper;
 
-    buildInputs = [
-      cairo
-      libXdmcp
-      libpthreadstubs
-      libxcb
-      pcre
-      python3
-      xcbproto
-      xcbutil
-      xcbutilcursor
-      xcbutilimage
-      xcbutilrenderutil
-      xcbutilwm
-      xcbutilxrm
-    ]
-    ++ lib.optional alsaSupport alsa-lib
-    ++ lib.optional githubSupport curl
-    ++ lib.optional mpdSupport libmpdclient
-    ++ lib.optional pulseSupport libpulseaudio
-    ++ lib.optional iwSupport wirelesstools
-    ++ lib.optional nlSupport libnl
-    ++ lib.optional (i3Support || i3GapsSupport) jsoncpp
-    ++ lib.optional i3Support i3
-    ++ lib.optional i3GapsSupport i3-gaps;
+  buildInputs = [
+    cairo
+    libXdmcp
+    libpthreadstubs
+    libxcb
+    pcre
+    python3
+    xcbproto
+    xcbutil
+    xcbutilcursor
+    xcbutilimage
+    xcbutilrenderutil
+    xcbutilwm
+    xcbutilxrm
+  ] ++ lib.optional alsaSupport alsa-lib
+  ++ lib.optional githubSupport curl
+  ++ lib.optional mpdSupport libmpdclient
+  ++ lib.optional pulseSupport libpulseaudio
+  ++ lib.optional iwSupport wirelesstools
+  ++ lib.optional nlSupport libnl
+  ++ lib.optional (i3Support || i3GapsSupport) jsoncpp
+  ++ lib.optional i3Support i3
+  ++ lib.optional i3GapsSupport i3-gaps;
 
-    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 '''';
+  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 "";
 
-    postFixup = ''
-        remove-references-to -t ${stdenv.cc} $out/bin/polybar
-    '';
+  postFixup = ''
+    remove-references-to -t ${stdenv.cc} $out/bin/polybar
+  '';
 
-    meta = with lib; {
-      homepage = "https://polybar.github.io/";
-      changelog = "https://github.com/polybar/polybar/releases/tag/${version}";
-      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 fortuneteller2k ];
-      platforms = platforms.linux;
-    };
+  meta = with lib; {
+    homepage = "https://polybar.github.io/";
+    changelog = "https://github.com/polybar/polybar/releases/tag/${version}";
+    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 fortuneteller2k ];
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/applications/misc/printrun/default.nix b/pkgs/applications/misc/printrun/default.nix
index 63160955130..7ae8662e2c1 100644
--- a/pkgs/applications/misc/printrun/default.nix
+++ b/pkgs/applications/misc/printrun/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub, glib, wrapGAppsHook }:
 
 python3Packages.buildPythonApplication rec {
   pname = "printrun";
@@ -11,6 +11,8 @@ python3Packages.buildPythonApplication rec {
     sha256 = "179x8lwrw2h7cxnkq7izny6qcb4nhjnd8zx893i77zfhzsa6kx81";
   };
 
+  nativeBuildInputs = [ glib wrapGAppsHook ];
+
   propagatedBuildInputs = with python3Packages; [
     appdirs cython dbus-python numpy six wxPython_4_0 psutil pyglet pyopengl pyserial
   ];
@@ -29,6 +31,14 @@ python3Packages.buildPythonApplication rec {
     done
   '';
 
+  dontWrapGApps = true;
+  # https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   meta = with lib; {
     description = "Pronterface, Pronsole, and Printcore - Pure Python 3d printing host software";
     homepage = "https://github.com/kliment/Printrun";
diff --git a/pkgs/applications/misc/privacyidea/default.nix b/pkgs/applications/misc/privacyidea/default.nix
new file mode 100644
index 00000000000..7545253d506
--- /dev/null
+++ b/pkgs/applications/misc/privacyidea/default.nix
@@ -0,0 +1,73 @@
+{ lib, fetchFromGitHub, cacert, openssl, nixosTests
+, python3
+}:
+
+let
+  python3' = python3.override {
+    packageOverrides = self: super: {
+      sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
+        version = "1.3.24";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519";
+        };
+      });
+    };
+  };
+in
+python3'.pkgs.buildPythonPackage rec {
+  pname = "privacyIDEA";
+  version = "3.6";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-yywkQ3TdBzRMbJGY0Seaprztgt0JrCAbgqosMQ5fcQM=";
+    fetchSubmodules = true;
+  };
+
+  propagatedBuildInputs = with python3'.pkgs; [
+    cryptography pyrad pymysql python-dateutil flask-versioned flask_script
+    defusedxml croniter flask_migrate pyjwt1 configobj sqlsoup pillow
+    python-gnupg passlib pyopenssl beautifulsoup4 smpplib flask-babel
+    ldap3 huey pyyaml qrcode oauth2client requests lxml cbor2 psycopg2
+    pydash ecdsa google-auth importlib-metadata
+  ];
+
+  passthru.tests = { inherit (nixosTests) privacyidea; };
+
+  checkInputs = with python3'.pkgs; [ openssl mock pytestCheckHook responses testfixtures ];
+  disabledTests = [
+    "AESHardwareSecurityModuleTestCase"
+    "test_01_cert_request"
+    "test_01_loading_scripts"
+    "test_02_api_push_poll"
+    "test_02_cert_enrolled"
+    "test_02_enroll_rights"
+    "test_02_get_resolvers"
+    "test_02_success"
+    "test_03_get_identifiers"
+    "test_04_remote_user_auth"
+    "test_14_convert_timestamp_to_utc"
+  ];
+
+  pythonImportsCheck = [ "privacyidea" ];
+
+  postPatch = ''
+    substituteInPlace privacyidea/lib/resolvers/LDAPIdResolver.py --replace \
+      "/etc/privacyidea/ldap-ca.crt" \
+      "${cacert}/etc/ssl/certs/ca-bundle.crt"
+  '';
+
+  postInstall = ''
+    rm -r $out/${python3'.sitePackages}/tests
+  '';
+
+  meta = with lib; {
+    description = "Multi factor authentication system (2FA, MFA, OTP Server)";
+    license = licenses.agpl3Plus;
+    homepage = "http://www.privacyidea.org";
+    maintainers = with maintainers; [ globin ma27 ];
+  };
+}
diff --git a/pkgs/applications/misc/reddsaver/default.nix b/pkgs/applications/misc/reddsaver/default.nix
index 47412c78f4e..23fddf3b7ed 100644
--- a/pkgs/applications/misc/reddsaver/default.nix
+++ b/pkgs/applications/misc/reddsaver/default.nix
@@ -8,22 +8,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "reddsaver";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "manojkarthick";
     repo = "reddsaver";
     rev = "v${version}";
-    sha256 = "0ffci3as50f55n1v36hji4n0b3lkch5ylc75awjz65jz2gd2y2j4";
+    sha256 = "1czsy1bb0ja650sndwzq9rcbbhcci7s7ablw0agaynhi403shavv";
   };
 
-  cargoSha256 = "1xf26ldgfinzpakcp65w52fdl3arsm053vfnq7gk2fwnq55cjwl0";
+  cargoSha256 = "0wr6y7mfffaqdh6i5nqhx692dih159121sm6k0i37wcdvxhvd51z";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
     ++ lib.optional stdenv.isDarwin Security;
 
-  # package does not contain tests as of v0.3.2
+  # package does not contain tests as of v0.3.3
   docCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/robo3t/default.nix b/pkgs/applications/misc/robo3t/default.nix
index 1b19d9ab9cc..41f3475a645 100644
--- a/pkgs/applications/misc/robo3t/default.nix
+++ b/pkgs/applications/misc/robo3t/default.nix
@@ -1,5 +1,18 @@
-{ lib, stdenv, fetchurl, curl, zlib, glib, xorg, dbus, fontconfig, libGL,
-  freetype, xkeyboard_config, makeDesktopItem, makeWrapper }:
+{ lib
+, stdenv
+, fetchurl
+, curl
+, zlib
+, glib
+, xorg
+, dbus
+, fontconfig
+, libGL
+, freetype
+, xkeyboard_config
+, makeDesktopItem
+, makeWrapper
+}:
 
 let
   curlWithGnuTls = curl.override { gnutlsSupport = true; sslSupport = false; };
@@ -30,7 +43,7 @@ stdenv.mkDerivation rec {
     categories = "Development;IDE;";
   };
 
-  nativeBuildInputs = [makeWrapper];
+  nativeBuildInputs = [ makeWrapper ];
 
   ldLibraryPath = lib.makeLibraryPath [
     stdenv.cc.cc
@@ -51,6 +64,8 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = ''
+    runHook preInstall
+
     BASEDIR=$out/lib/robo3t
 
     mkdir -p $BASEDIR/bin
@@ -72,13 +87,15 @@ stdenv.mkDerivation rec {
     makeWrapper $BASEDIR/bin/robo3t $out/bin/robo3t \
       --suffix LD_LIBRARY_PATH : ${ldLibraryPath} \
       --suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb
+
+    runHook postInstall
   '';
 
-  meta = {
+  meta = with lib; {
     homepage = "https://robomongo.org/";
-    description = "Query GUI for mongodb";
+    description = "Query GUI for mongodb. Formerly called Robomongo";
     platforms = [ "x86_64-linux" ];
-    license = lib.licenses.gpl3;
-    maintainers = [ lib.maintainers.eperuffo ];
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ eperuffo ];
   };
 }
diff --git a/pkgs/applications/misc/robomongo/default.nix b/pkgs/applications/misc/robomongo/default.nix
deleted file mode 100644
index af5285909c6..00000000000
--- a/pkgs/applications/misc/robomongo/default.nix
+++ /dev/null
@@ -1,77 +0,0 @@
-{ lib, stdenv, fetchurl, zlib, glib, xorg, dbus, fontconfig,
-  freetype, xkeyboard_config, makeDesktopItem, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "robomongo";
-  version = "0.9.0";
-
-  src = fetchurl {
-    url = "https://download.robomongo.org/${version}/linux/robomongo-${version}-linux-x86_64-0786489.tar.gz";
-    sha256 = "1q8ahdz3afcw002p8dl2pybzkq4srk6bnikrz216yx1gswivdcad";
-  };
-
-  icon = fetchurl {
-    url = "https://github.com/Studio3T/robomongo/raw/${version}/trash/install/linux/robomongo.png";
-    sha256 = "15li8536x600kkfkb3h6mw7y0f2ljkv951pc45dpiw036vldibv2";
-  };
-
-  desktopItem = makeDesktopItem {
-    name = "robomongo";
-    exec = "robomongo";
-    icon = icon;
-    comment = "Query GUI for mongodb";
-    desktopName = "Robomongo";
-    genericName = "MongoDB management tool";
-    categories = "Development;IDE;mongodb;";
-  };
-
-  nativeBuildInputs = [makeWrapper];
-
-  ldLibraryPath = lib.makeLibraryPath [
-    stdenv.cc.cc
-    zlib
-    glib
-    xorg.libXi
-    xorg.libxcb
-    xorg.libXrender
-    xorg.libX11
-    xorg.libSM
-    xorg.libICE
-    xorg.libXext
-    dbus
-    fontconfig
-    freetype
-  ];
-
-  installPhase = ''
-    BASEDIR=$out/lib/robomongo
-
-    mkdir -p $BASEDIR/bin
-    cp bin/* $BASEDIR/bin
-
-    mkdir -p $BASEDIR/lib
-    cp -r lib/* $BASEDIR/lib
-
-    mkdir -p $out/share/applications
-    cp $desktopItem/share/applications/* $out/share/applications
-
-    mkdir -p $out/share/icons
-    cp ${icon} $out/share/icons/robomongo.png
-
-    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $BASEDIR/bin/robomongo
-
-    mkdir $out/bin
-
-    makeWrapper $BASEDIR/bin/robomongo $out/bin/robomongo \
-      --suffix LD_LIBRARY_PATH : ${ldLibraryPath} \
-      --suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb
-  '';
-
-  meta = {
-    homepage = "https://robomongo.org/";
-    description = "Query GUI for mongodb";
-    platforms = lib.intersectLists lib.platforms.linux lib.platforms.x86_64;
-    license = lib.licenses.gpl3;
-    maintainers = [ lib.maintainers.eperuffo ];
-  };
-}
diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix
index 33a37e32612..d47d1fe26a6 100644
--- a/pkgs/applications/misc/rofi/default.nix
+++ b/pkgs/applications/misc/rofi/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "Window switcher, run dialog and dmenu replacement";
     homepage = "https://github.com/davatorium/rofi";
     license = licenses.mit;
-    maintainers = with maintainers; [ mbakke ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/applications/misc/scli/default.nix b/pkgs/applications/misc/scli/default.nix
index 93fd5d41942..3605e7c416f 100644
--- a/pkgs/applications/misc/scli/default.nix
+++ b/pkgs/applications/misc/scli/default.nix
@@ -1,18 +1,28 @@
-{ lib, buildPythonApplication, fetchFromGitHub, signal-cli, urwid
-, urwid-readline, dbus }:
+{ lib
+, python3
+, fetchFromGitHub
+, dbus
+, signal-cli
+, xclip
+}:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "scli";
-  version = "0.6.1";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "isamert";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hWzpqj/sxPq/doxdmytnj5rh2qKQE71WMB0ugomWhHg";
+    sha256 = "0fx9ig08whl7bsii9m1h9wp361ngf1szd8v8yqglgl0x8044fwrk";
   };
 
-  propagatedBuildInputs = [ signal-cli urwid urwid-readline dbus ];
+  propagatedBuildInputs = with python3.pkgs; [
+    pyqrcode
+    urwid
+    urwid-readline
+  ];
+
   dontBuild = true;
 
   checkPhase = ''
@@ -29,6 +39,10 @@ buildPythonApplication rec {
     install -m755 -D scli $out/bin/scli
   '';
 
+  makeWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ dbus signal-cli xclip ])
+  ];
+
   meta = with lib; {
     description = "Simple terminal user interface for Signal";
     homepage = "https://github.com/isamert/scli";
diff --git a/pkgs/applications/misc/seatd/default.nix b/pkgs/applications/misc/seatd/default.nix
new file mode 100644
index 00000000000..98f278e0c3a
--- /dev/null
+++ b/pkgs/applications/misc/seatd/default.nix
@@ -0,0 +1,40 @@
+{ fetchFromSourcehut
+, lib
+, meson
+, ninja
+, pkg-config
+, scdoc
+, stdenv
+, systemd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "seatd";
+  version = "0.5.0";
+
+  src = fetchFromSourcehut {
+    owner = "~kennylevinsen";
+    repo = "seatd";
+    rev = version;
+    sha256 = "sha256-JwlJLHkRgSRqfQEhXbzuFTmhxfbwKVdLICPbTDbC9M0=";
+  };
+
+  outputs = [ "bin" "out" "dev" "man" ];
+
+  depsBuildBuild = [ pkg-config ];
+
+  nativeBuildInputs = [ meson ninja pkg-config scdoc ];
+
+  buildInputs = [ systemd ];
+
+  mesonFlags = [ "-Dlogind=enabled" "-Dbuiltin=enabled" ];
+
+  meta = with lib; {
+    description = "A universal seat management library";
+    changelog   = "https://git.sr.ht/~kennylevinsen/seatd/refs/${version}";
+    homepage    = "https://sr.ht/~kennylevinsen/seatd/";
+    license     = licenses.mit;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ emantor ];
+  };
+}
diff --git a/pkgs/applications/misc/sfm/default.nix b/pkgs/applications/misc/sfm/default.nix
index 3bbcc939d2f..1d9dc3811aa 100644
--- a/pkgs/applications/misc/sfm/default.nix
+++ b/pkgs/applications/misc/sfm/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, conf ? null }:
+{ lib, stdenv, fetchFromGitHub, writeText, conf ? null }:
 
 stdenv.mkDerivation rec {
   pname = "sfm";
-  version = "0.1";
+  version = "0.2";
 
   src = fetchFromGitHub {
     owner = "afify";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-i4WzYaJKityIt+LPWCbd6UsPBaYoaS397l5BInOXQQA=";
+    hash = "sha256-DwXKrSqcebNI5N9REXyMV16W2kr72IH9+sKSVehc5zw=";
   };
 
-  configFile = lib.optionalString (conf!=null) (lib.writeText "config.def.h" conf);
+  configFile = lib.optionalString (conf!=null) (writeText "config.def.h" conf);
 
   postPatch = lib.optionalString (conf!=null) "cp ${configFile} config.def.h";
 
diff --git a/pkgs/applications/misc/sigal/default.nix b/pkgs/applications/misc/sigal/default.nix
index 860e8f8adb5..20b944efd5d 100644
--- a/pkgs/applications/misc/sigal/default.nix
+++ b/pkgs/applications/misc/sigal/default.nix
@@ -21,7 +21,6 @@ python3Packages.buildPythonApplication rec {
     blinker
     natsort
     # extras_require
-    boto
     brotli
     feedgenerator
     zopfli
diff --git a/pkgs/applications/misc/skytemple/default.nix b/pkgs/applications/misc/skytemple/default.nix
index a67d79f9bf9..0daaad2f265 100644
--- a/pkgs/applications/misc/skytemple/default.nix
+++ b/pkgs/applications/misc/skytemple/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, gobject-introspection, gtk3, gtksourceview3, wrapGAppsHook, python3Packages }:
+{ lib, fetchFromGitHub, gobject-introspection, gtk3, gtksourceview3, webkitgtk, wrapGAppsHook, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "skytemple";
@@ -11,7 +11,15 @@ python3Packages.buildPythonApplication rec {
     sha256 = "0l2c4qngv58j6zkp0va6m96zksx8gqn3mjc3isqybfnhjr6nd3v9";
   };
 
-  buildInputs = [ gobject-introspection gtk3 gtksourceview3 ];
+  buildInputs = [
+    gobject-introspection
+    gtk3
+    gtksourceview3
+    # webkitgkt is used for rendering interactive statistics graph which
+    # can be seen by opening a ROM, entering Pokemon section, selecting
+    # any Pokemon, and clicking Stats and Moves tab.
+    webkitgtk
+  ];
   nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
   propagatedBuildInputs = with python3Packages; [
     natsort
diff --git a/pkgs/applications/misc/slides/default.nix b/pkgs/applications/misc/slides/default.nix
new file mode 100644
index 00000000000..491e889f242
--- /dev/null
+++ b/pkgs/applications/misc/slides/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildGoModule, fetchFromGitHub, bash, go, python3, ruby }:
+
+buildGoModule rec {
+  pname = "slides";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "maaslalani";
+    repo = "slides";
+    rev = "v${version}";
+    sha256 = "1cywqrqj199hmx532h4vn0j17ypswq2zkmv8qpxpayvjwimx4pwk";
+  };
+
+  checkInputs = [
+    bash
+    go
+    python3
+    ruby
+  ];
+
+  vendorSha256 = "0y6fz9rw702mji571k0gp4kpfx7xbv7rvlnmpfjygy6lmp7wga6f";
+
+  ldflags = [
+    "-s" "-w"
+    "-X=main.Version=${version}"
+  ];
+
+  meta = with lib; {
+    description = "Terminal based presentation tool";
+    homepage = "https://github.com/maaslalani/slides";
+    license = licenses.mit;
+    maintainers = with maintainers; [ maaslalani ];
+  };
+}
diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix
index bb1573f74c5..b6059ac1a71 100644
--- a/pkgs/applications/misc/solaar/default.nix
+++ b/pkgs/applications/misc/solaar/default.nix
@@ -4,13 +4,13 @@
 # logitech-udev-rules instead of adding this to services.udev.packages on NixOS
 python3Packages.buildPythonApplication rec {
   pname = "solaar";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "pwr-Solaar";
     repo = "Solaar";
     rev = version;
-    sha256 = "sha256-k87DqIkvy5CVEsHT82ZArSM2JBi5sYdSCPfP4KjI850=";
+    sha256 = "sha256-Ys0005hIQ+fT4oMeU5iFtbLNqn1WM6iLdIKGwdyn7BM=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/misc/spicetify-cli/default.nix b/pkgs/applications/misc/spicetify-cli/default.nix
index 62a6d4785f1..e20b95922f9 100644
--- a/pkgs/applications/misc/spicetify-cli/default.nix
+++ b/pkgs/applications/misc/spicetify-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "spicetify-cli";
-  version = "1.2.1";
+  version = "2.2.6";
 
   src = fetchFromGitHub {
     owner = "khanhas";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HASFaPqm/A1QQ4nkd2hgeyqWplwE1RTrWA937rJA5Oo=";
+    sha256 = "sha256-9g6rkSDjE7x/YprPX0dkzqgpjgED5qBpUUQoVv6fGkk=";
   };
 
   vendorSha256 = "sha256-g0RYIVIq4oMXdRZDBDnVYg7ombN5WEo/6O9hChQvOYs=";
diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix
index 19fdd4640e4..d5a7d6f0fd6 100644
--- a/pkgs/applications/misc/subsurface/default.nix
+++ b/pkgs/applications/misc/subsurface/default.nix
@@ -5,13 +5,13 @@
 }:
 
 let
-  version = "4.9.10";
+  version = "5.0.2";
 
   subsurfaceSrc = (fetchFromGitHub {
     owner = "Subsurface";
     repo = "subsurface";
     rev = "v${version}";
-    sha256 = "12ndhjplz3cwndwzhfc959dc0i6rm2qf3v2d8n9kba8nj63iblfs";
+    sha256 = "1yay06m8p9qp2ghrg8dxavdq55y09apcgdnb7rihgs3hq86k539n";
     fetchSubmodules = true;
   });
 
@@ -40,13 +40,13 @@ let
   googlemaps = stdenv.mkDerivation rec {
     pname = "googlemaps";
 
-    version = "2018-06-02";
+    version = "2021-03-19";
 
     src = fetchFromGitHub {
       owner = "vladest";
       repo = "googlemaps";
-      rev = "54a357f9590d9cf011bf1713589f66bad65e00eb";
-      sha256 = "159kslp6rj0qznzxijppwvv8jnswlfgf2pw4x8ladi8vp6bzxnzi";
+      rev = "8f7def10c203fd3faa5ef96c5010a7294dca0759";
+      sha256 = "1irz398g45hk6xizwzd07qcx1ln8f7l6bhjh15f56yc20waqpx1x";
     };
 
     nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/misc/survex/default.nix b/pkgs/applications/misc/survex/default.nix
new file mode 100644
index 00000000000..f6865f877d7
--- /dev/null
+++ b/pkgs/applications/misc/survex/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, stdenv
+, fetchgit
+, autoreconfHook
+, pkg-config
+, wxGTK30-gtk3
+, wxmac
+, ffmpeg
+, proj
+, perl532
+, unscii
+, python
+, libGL
+, libGLU
+, xlibsWrapper
+, docbook2x
+, docbook5
+, Carbon
+, Cocoa
+}:
+
+let
+  perlenv = perl532.withPackages (perlPackages: with perlPackages; [ LocalePO ] );
+in
+stdenv.mkDerivation rec {
+  pname = "survex";
+  version = "1.2.44";
+
+  nativeBuildInputs = [ docbook5 docbook2x autoreconfHook pkg-config perlenv python ];
+
+  buildInputs = [
+    libGL libGLU ffmpeg proj
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    wxmac Carbon Cocoa
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    wxGTK30-gtk3 xlibsWrapper
+  ];
+
+  src = fetchgit {
+    url = "git://git.survex.com/survex";
+    rev = version;
+    sha256 = "11gaqmabrf3av665jy3mr0m8hg76fmvnd0g3rghzmyh8d8v6xk34";
+  };
+
+  enableParallelBuilding = true;
+
+  # Docs rely on sgmltools-lite, a package that would be quite complex to
+  # provide as it is quite old. So this preConfigure hook effectively disables
+  # the doc generation. An example of packaging sgmltools-lite from Gentoo can
+  # be found here:
+  # https://gitweb.gentoo.org/repo/gentoo.git/tree/app-text/sgmltools-lite/sgmltools-lite-3.0.3-r15.ebuild?id=0b8b716331049599ea3299981e3a9ea6e258c5e0
+
+  postPatch = ''
+    patchShebangs .
+    echo "" > doc/Makefile.am
+    # substituteInPlace doc/Makefile --replace "docbook2man" "docbook2man --sgml" # Will be needed once sgmltools-lite is packaged.
+    for perltool in './extract-msgs.pl' './gettexttomsg.pl' '$(srcdir)/gdtconvert' '$(srcdir)/gen_img2aven'; do
+      substituteInPlace src/Makefile.am \
+        --replace "$perltool" "${perlenv}/bin/perl $perltool"
+    done
+    substituteInPlace lib/Makefile.am \
+      --replace '$(srcdir)/make-pixel-font' '${perlenv}/bin/perl $(srcdir)/make-pixel-font'
+    substituteInPlace lib/make-pixel-font --replace /usr/share/unifont/unifont.hex ${unscii.extra}/share/fonts/misc/unifont.hex
+  '';
+
+  meta = with lib; {
+    description = "Free Software/Open Source software package for mapping caves";
+    longDescription = ''
+      Survex is a Free Software/Open Source software package for mapping caves,
+      licensed under the GPL. It is designed to be portable and can be run on a
+      variety of platforms, including Linux/Unix, macOS, and Microsoft Windows.
+    '';
+    homepage = "https://survex.com/";
+    changelog = "https://github.com/ojwb/survex/blob/${version}/NEWS";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.matthewcroughan ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/termdown/default.nix b/pkgs/applications/misc/termdown/default.nix
index 562a0f0bdcb..f28bd665a5e 100644
--- a/pkgs/applications/misc/termdown/default.nix
+++ b/pkgs/applications/misc/termdown/default.nix
@@ -3,7 +3,7 @@
 , buildPythonApplication
 , click
 , pyfiglet
-, dateutil
+, python-dateutil
 , setuptools
 }:
 
@@ -18,7 +18,7 @@ buildPythonApplication rec {
     owner = "trehn";
   };
 
-  propagatedBuildInputs = [ dateutil click pyfiglet setuptools ];
+  propagatedBuildInputs = [ python-dateutil click pyfiglet setuptools ];
 
   meta = with lib; {
     description = "Starts a countdown to or from TIMESPEC";
diff --git a/pkgs/applications/misc/thinking-rock/default.nix b/pkgs/applications/misc/thinking-rock/default.nix
index 3bf3dda7ca4..a26d3cc2eb4 100644
--- a/pkgs/applications/misc/thinking-rock/default.nix
+++ b/pkgs/applications/misc/thinking-rock/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, runtimeShell }:
 
-stdenv.mkDerivation {
-  name = "thinkingrock-binary-2.2.1";
+stdenv.mkDerivation rec {
+  pname = "thinkingrock-binary";
+  version = "2.2.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/thinkingrock/ThinkingRock/TR%202.2.1/tr-2.2.1.tar.gz";
+    url = "mirror://sourceforge/thinkingrock/ThinkingRock/TR%20${version}/tr-${version}.tar.gz";
     sha256 = "0hnwvvyc8miiz8w2g4iy7s4rgfy0kfbncgbgfzpsq6nrzq334kgm";
   };
 
diff --git a/pkgs/applications/misc/ticker/default.nix b/pkgs/applications/misc/ticker/default.nix
index fd37a692d84..a3e2dc11c6f 100644
--- a/pkgs/applications/misc/ticker/default.nix
+++ b/pkgs/applications/misc/ticker/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "ticker";
-  version = "4.0.3";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "achannarasappa";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YVpspFBwao/7M2nTVMw+ANc0roL0vBO4DpNUb7Thp3Q=";
+    sha256 = "sha256-FavbBGmChWQ3xySPHlw5HisZwVaNe/NaxA6+InN8fL8=";
   };
 
-  vendorSha256 = "sha256-nidOIjrTL4llV5GORebXOOPGeL6TxkurDY82cIc7+mU=";
+  vendorSha256 = "sha256-XBfTVd3X3IDxLCAaNnijf6E5bw+AZ94UdOG9w7BOdBU=";
 
   preBuild = ''
     buildFlagsArray+=("-ldflags" "-s -w -X github.com/achannarasappa/ticker/cmd.Version=v${version}")
diff --git a/pkgs/applications/misc/tpmmanager/default.nix b/pkgs/applications/misc/tpmmanager/default.nix
index 37d44d8bf16..b2839a97efc 100644
--- a/pkgs/applications/misc/tpmmanager/default.nix
+++ b/pkgs/applications/misc/tpmmanager/default.nix
@@ -36,6 +36,5 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ tstrobel ];
     platforms = with lib.platforms; linux;
-    inherit version;
   };
 }
diff --git a/pkgs/applications/misc/tut/default.nix b/pkgs/applications/misc/tut/default.nix
index 3994541f48b..4901eda54aa 100644
--- a/pkgs/applications/misc/tut/default.nix
+++ b/pkgs/applications/misc/tut/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tut";
-  version = "0.0.17";
+  version = "0.0.20";
 
   src = fetchFromGitHub {
     owner = "RasmusLindroth";
     repo = pname;
     rev = version;
-    sha256 = "0g4kbprsdjk2lbx81azdvz8kkhyk370id3622xxssr894v0i7iwj";
+    sha256 = "03jiv5m807z96796fbpi6ny22am3sq4jfni37fxbld05sxdzwcnd";
   };
 
-  vendorSha256 = "1kf7ynmxrzvhl028b4nbz9h9v9x5srarsbynpgpp4vicmxqlvrmh";
+  vendorSha256 = "1in5b7ixnm5iizkzziqclvgaq87ccdh507amkgfhfy5sxsgbfb1g";
 
   meta = with lib; {
     description = "A TUI for Mastodon with vim inspired keys";
diff --git a/pkgs/applications/misc/ulauncher/default.nix b/pkgs/applications/misc/ulauncher/default.nix
index ebfaaa1db51..6d9d9deefa2 100644
--- a/pkgs/applications/misc/ulauncher/default.nix
+++ b/pkgs/applications/misc/ulauncher/default.nix
@@ -59,7 +59,7 @@ python3Packages.buildPythonApplication rec {
     python-Levenshtein
     pyxdg
     requests
-    websocket_client
+    websocket-client
   ];
 
   checkInputs = with python3Packages; [
diff --git a/pkgs/applications/misc/urlscan/default.nix b/pkgs/applications/misc/urlscan/default.nix
index a56a09a8e34..576d66659a3 100644
--- a/pkgs/applications/misc/urlscan/default.nix
+++ b/pkgs/applications/misc/urlscan/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urlscan";
-  version = "0.9.5";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "firecat53";
     repo = pname;
     rev = version;
-    sha256 = "16g7dzvjcfhaz52wbmcapamy55l7vfhgizqy3m8dv9gkmy8vap89";
+    sha256 = "D+WJ1HG1gXIFtIpaqazFqC9Y4GBCUsz88U8q8W9tHFA=";
   };
 
   propagatedBuildInputs = [ python3Packages.urwid ];
diff --git a/pkgs/applications/misc/usb-reset/default.nix b/pkgs/applications/misc/usb-reset/default.nix
new file mode 100644
index 00000000000..db05eda0d41
--- /dev/null
+++ b/pkgs/applications/misc/usb-reset/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, libusb1
+}:
+
+stdenv.mkDerivation rec {
+  pname = "usb-reset";
+  # not tagged, but changelog has this with the date of the e9a9d6c commit
+  # and no significant change occured between bumping the version in the Makefile and that
+  # and the changes since then (up to ff822d8) seem snap related
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "ralight";
+    repo = pname;
+    rev = "e9a9d6c4a533430e763e111a349efbba69e7a5bb";
+    sha256 = "0k9qmhqi206gcnv3z4vwya82g5nm225972ylf67zjiikk8pn8m0s";
+  };
+
+  buildInputs = [ libusb1 ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace /usr/include/libusb-1.0 ${libusb1.dev}/include/libusb-1.0
+  '';
+
+  makeFlags = [
+    "DESTDIR=${placeholder "out"}"
+    "prefix="
+  ];
+
+  meta = with lib; {
+    description = "Perform a bus reset on a USB device using its vendor and product ID";
+    homepage = "https://github.com/ralight/usb-reset";
+    changelog = "https://github.com/ralight/usb-reset/blob/master/ChangeLog.txt";
+    license = licenses.mit;
+    maintainers = [ maintainers.evils ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/usql/default.nix b/pkgs/applications/misc/usql/default.nix
new file mode 100644
index 00000000000..7a83ec05c10
--- /dev/null
+++ b/pkgs/applications/misc/usql/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+, unixODBC
+, icu
+}:
+
+buildGoModule rec {
+  pname = "usql";
+  version = "0.9.1";
+
+  src = fetchFromGitHub {
+    owner = "xo";
+    repo = "usql";
+    rev = "v${version}";
+    sha256 = "sha256-fcKn4kHIRvMdgGFKDNQg49YxLc0Y5j/8VwKoDLiXbEU=";
+  };
+
+  vendorSha256 = "sha256-uAV8NLnqXjIDILfnbbkVr2BOIucQ8vX89KI5yIkVtus=";
+
+  buildInputs = [ unixODBC icu ];
+
+  # These tags and flags are copied from build-release.sh
+  buildFlags = [ "-tags" ];
+  buildFlagsArray = [
+    "most"
+    "sqlite_app_armor"
+    "sqlite_fts5"
+    "sqlite_introspect"
+    "sqlite_json1"
+    "sqlite_stat4"
+    "sqlite_userauth"
+    "sqlite_vtable"
+    "sqlite_icu"
+    "no_adodb"
+  ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/xo/usql/text.CommandVersion=${version}"
+  ];
+
+  # All the checks currently require docker instances to run the databases.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Universal command-line interface for SQL databases";
+    homepage = "https://github.com/xo/usql";
+    license = licenses.mit;
+    maintainers = with maintainers; [ georgyo ];
+    # usql does not build on ARM.
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+  };
+
+}
diff --git a/pkgs/applications/misc/variety/default.nix b/pkgs/applications/misc/variety/default.nix
index 5e7765a16fd..9b40c4c44f1 100644
--- a/pkgs/applications/misc/variety/default.nix
+++ b/pkgs/applications/misc/variety/default.nix
@@ -26,9 +26,9 @@ buildPythonApplication rec {
     sha256 = "sha256-6dLz4KXavXwnk5GizBH46d2EHMHPjRo0WnnUuVMtI1M=";
   };
 
-  nativeBuildInputs = [ intltool wrapGAppsHook ];
+  nativeBuildInputs = [ makeWrapper intltool wrapGAppsHook ];
 
-  buildInputs = [ makeWrapper distutils_extra ];
+  buildInputs = [ distutils_extra ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/veracrypt/default.nix b/pkgs/applications/misc/veracrypt/default.nix
index 5e5fda23d44..33d0da5c93a 100644
--- a/pkgs/applications/misc/veracrypt/default.nix
+++ b/pkgs/applications/misc/veracrypt/default.nix
@@ -1,29 +1,39 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, makeself, yasm, fuse, wxGTK, lvm2 }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, makeself
+, yasm
+, fuse
+, wxGTK
+, lvm2
+, substituteAll
+, e2fsprogs
+, exfat
+, ntfs3g
+, btrfs-progs
+}:
 
 with lib;
 
 stdenv.mkDerivation rec {
   pname = "veracrypt";
-  version = "1.24-Hotfix1";
+  version = "1.24-Update7";
 
   src = fetchurl {
     url = "https://launchpad.net/${pname}/trunk/${toLower version}/+download/VeraCrypt_${version}_Source.tar.bz2";
-    sha256 = "8b40ece805b216843d7a71b1a30069c4057931341b030bf65caace59263c5c8c";
+    sha256 = "0i7h44zn2mjzgh416l7kfs0dk6qc7b1bxsaxqqqcvgrpl453n7bc";
   };
 
-
   patches = [
-    # https://github.com/veracrypt/VeraCrypt/issues/529 - fix build on non-x86
-    (fetchpatch {
-      url = "https://github.com/veracrypt/VeraCrypt/commit/afe6b2f45b15393026a1159e5f3d165ac7d0b94a.patch";
-      sha256 = "1xm9cl6zinlr0vah5xr9bvh0y9gw4331zl7d2n5xvqrcdxw3ww1y";
-      stripLen = 1;
-    })
-    # https://github.com/veracrypt/VeraCrypt/issues/529 - fix build on non-x86
-    (fetchpatch {
-      url = "https://github.com/veracrypt/VeraCrypt/commit/3fa636d477119fff6e372074568edb42d038f508.patch";
-      sha256 = "0qsccilip0ksnlzxina38a052gb533r4s422lxhrj3wv9zgpp7l3";
-      stripLen = 1;
+    (substituteAll {
+      src = ./fix-paths.patch;
+      ext2 = "${e2fsprogs}/bin/mkfs.ext2";
+      ext3 = "${e2fsprogs}/bin/mkfs.ext3";
+      ext4 = "${e2fsprogs}/bin/mkfs.ext4";
+      exfat = "${exfat}/bin/mkfs.exfat";
+      ntfs = "${ntfs3g}/bin/mkfs.ntfs";
+      btrfs = "${btrfs-progs}/bin/mkfs.btrfs";
     })
   ];
 
diff --git a/pkgs/applications/misc/veracrypt/fix-paths.patch b/pkgs/applications/misc/veracrypt/fix-paths.patch
new file mode 100644
index 00000000000..56b4fc48380
--- /dev/null
+++ b/pkgs/applications/misc/veracrypt/fix-paths.patch
@@ -0,0 +1,22 @@
+diff --color --unified --recursive --text a/Core/VolumeCreator.h b/Core/VolumeCreator.h
+--- a/Core/VolumeCreator.h	2021-06-20 20:54:50.725210056 +0300
++++ b/Core/VolumeCreator.h	2021-06-20 20:58:46.117742419 +0300
+@@ -77,12 +77,12 @@
+ 				switch (fsType)
+ 				{
+ 	#if defined (TC_LINUX)
+-				case VolumeCreationOptions::FilesystemType::Ext2:		return "mkfs.ext2";
+-				case VolumeCreationOptions::FilesystemType::Ext3:		return "mkfs.ext3";
+-				case VolumeCreationOptions::FilesystemType::Ext4:		return "mkfs.ext4";
+-				case VolumeCreationOptions::FilesystemType::NTFS:		return "mkfs.ntfs";
+-				case VolumeCreationOptions::FilesystemType::exFAT:		return "mkfs.exfat";
+-				case VolumeCreationOptions::FilesystemType::Btrfs:		return "mkfs.btrfs";
++				case VolumeCreationOptions::FilesystemType::Ext2:		return "@ext2@";
++				case VolumeCreationOptions::FilesystemType::Ext3:		return "@ext3@";
++				case VolumeCreationOptions::FilesystemType::Ext4:		return "@ext4@";
++				case VolumeCreationOptions::FilesystemType::NTFS:		return "@ntfs@";
++				case VolumeCreationOptions::FilesystemType::exFAT:		return "@exfat@";
++				case VolumeCreationOptions::FilesystemType::Btrfs:		return "@btrfs@";
+ 	#elif defined (TC_MACOSX)
+ 				case VolumeCreationOptions::FilesystemType::MacOsExt:	return "newfs_hfs";
+ 				case VolumeCreationOptions::FilesystemType::exFAT:		return "newfs_exfat";
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index 7bc4bd1ff76..531c108cdbf 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -38,7 +38,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl2;
     downloadPage = "https://vifm.info/downloads.shtml";
     homepage = "https://vifm.info/";
-    inherit version;
     updateWalker = true;
     changelog = "https://github.com/vifm/vifm/blob/v${version}/ChangeLog";
   };
diff --git a/pkgs/applications/misc/visidata/default.nix b/pkgs/applications/misc/visidata/default.nix
index ad49a1b291e..11216b1d887 100644
--- a/pkgs/applications/misc/visidata/default.nix
+++ b/pkgs/applications/misc/visidata/default.nix
@@ -1,46 +1,91 @@
-{ buildPythonApplication
+{ stdenv
 , lib
+, buildPythonApplication
 , fetchFromGitHub
-, dateutil
-, pyyaml
+, python-dateutil
+, pandas
+, requests
+, lxml
 , openpyxl
 , xlrd
 , h5py
-, fonttools
-, lxml
-, pandas
+, psycopg2
 , pyshp
+, fonttools
+, pyyaml
+, pdfminer
+, vobject
+, tabulate
+, wcwidth
+, zstandard
 , setuptools
-, withPcap ? true, dpkt ? null, dnslib ? null
+, git
+, withPcap ? true, dpkt, dnslib
 }:
 buildPythonApplication rec {
   pname = "visidata";
-  version = "2.4";
+  version = "2.5";
 
   src = fetchFromGitHub {
     owner = "saulpw";
     repo = "visidata";
     rev = "v${version}";
-    sha256 = "0mvf2603d9b0s6rh7sl7mg4ipbh0nk05xgh1078mwvx31qjsmq1i";
+    sha256 = "1iijggdgj36v7d2zm45c00nrbzxaaah2azflpca0f6fjaaxh3lr2";
   };
 
   propagatedBuildInputs = [
-    dateutil
-    pyyaml
+    # from visidata/requirements.txt
+    # packages not (yet) present in nixpkgs are commented
+    python-dateutil
+    pandas
+    requests
+    lxml
     openpyxl
     xlrd
     h5py
-    fonttools
-    lxml
-    pandas
+    psycopg2
     pyshp
+    #mapbox-vector-tile
+    #pypng
+    fonttools
+    #sas7bdat
+    #xport
+    #savReaderWriter
+    pyyaml
+    #namestand
+    #datapackage
+    pdfminer
+    #tabula
+    vobject
+    tabulate
+    wcwidth
+    zstandard
     setuptools
   ] ++ lib.optionals withPcap [ dpkt dnslib ];
 
-  doCheck = false;
+  checkInputs = [
+    git
+  ];
+
+  # check phase uses the output bin, which is not possible when cross-compiling
+  doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
+
+  checkPhase = ''
+    # disable some tests which require access to the network
+    rm tests/load-http.vd            # http
+    rm tests/graph-cursor-nosave.vd  # http
+    rm tests/messenger-nosave.vd     # dns
+
+    # tests use git to compare outputs to references
+    git init -b "test-reference"
+    git config user.name "nobody"; git config user.email "no@where"
+    git add .; git commit -m "test reference"
+
+    substituteInPlace dev/test.sh --replace "bin/vd" "$out/bin/vd"
+    bash dev/test.sh
+  '';
 
   meta = {
-    inherit version;
     description = "Interactive terminal multitool for tabular data";
     license = lib.licenses.gpl3;
     maintainers = [ lib.maintainers.raskin ];
diff --git a/pkgs/applications/misc/vul/default.nix b/pkgs/applications/misc/vul/default.nix
new file mode 100644
index 00000000000..9acefa93942
--- /dev/null
+++ b/pkgs/applications/misc/vul/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "vul";
+  version = "unstable-2020-02-15";
+
+  src = fetchFromGitHub {
+    owner = "LukeSmithxyz";
+    repo = pname;
+    rev = "f6ebd8f6b6fb8a111e7b59470d6748fcbe71c559";
+    sha256 = "aUl4f82sGOWkEvTDNILDszj5hztDRvYpHVovFl4oOCc=";
+  };
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  meta = with lib; {
+    description = "Latin Vulgate Bible on the Command Line";
+    homepage = "https://github.com/LukeSmithxyz/vul";
+    license = licenses.publicDomain;
+    maintainers = [ maintainers.j0hax ];
+  };
+}
diff --git a/pkgs/applications/misc/wofi-emoji/default.nix b/pkgs/applications/misc/wofi-emoji/default.nix
new file mode 100644
index 00000000000..201add9cda2
--- /dev/null
+++ b/pkgs/applications/misc/wofi-emoji/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, fetchFromGitHub, jq }:
+
+let
+  emojiJSON = fetchFromGitHub {
+    owner = "github";
+    repo = "gemoji";
+    sha256 = "sha256-Tn0vba129LPlX+MRcCBA9qp2MU1ek1jYzVCqoNxCL/w=";
+    rev = "v4.0.0.rc2";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "wofi-emoji";
+  version = "unstable-2021-05-24";
+
+  src = fetchFromGitHub {
+    owner = "dln";
+    repo = pname;
+    rev = "bfe35c1198667489023109f6843217b968a35183";
+    sha256 = "sha256-wMIjTUCVn4uF0cpBkPfs76NRvwS0WhGGJRy9vvtmVWQ=";
+  };
+
+  nativeBuildInputs = [ jq ];
+
+  postPatch = ''
+    cp "${emojiJSON}/db/emoji.json" .
+    substituteInPlace build.sh \
+      --replace 'curl https://raw.githubusercontent.com/github/gemoji/master/db/emoji.json' 'cat emoji.json'
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    bash build.sh
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp wofi-emoji $out/bin
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Simple emoji selector for Wayland using wofi and wl-clipboard";
+    homepage = "https://github.com/dln/wofi-emoji";
+    license = licenses.mit;
+    maintainers = [ maintainers.ymarkus ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/xplr/default.nix b/pkgs/applications/misc/xplr/default.nix
index 51319838eda..3ee90dce51c 100644
--- a/pkgs/applications/misc/xplr/default.nix
+++ b/pkgs/applications/misc/xplr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xplr";
-  version = "0.14.1";
+  version = "0.14.4";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "08gb4dnnzdy3whn2411xmar1wpvmc014scbniicksra8p1xizh0b";
+    sha256 = "1jfclwpip4xvwkvz5g0fb3v04pdnk3ddvkdll0yr7wm0g6p44xfd";
   };
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
-  cargoSha256 = "1yxbirqf6c4bc364gw0nnjrjvhvjy2j2pbmvlpakv0bmyfphhb95";
+  cargoSha256 = "06iwx3s7h6l9kvd17hx0ihy6zrz4jbfjmdlkyij2fs0fhvas110x";
 
   meta = with lib; {
     description = "A hackable, minimal, fast TUI file explorer";
diff --git a/pkgs/applications/misc/xsuspender/default.nix b/pkgs/applications/misc/xsuspender/default.nix
index 93e56f1df2d..c09c9329aab 100644
--- a/pkgs/applications/misc/xsuspender/default.nix
+++ b/pkgs/applications/misc/xsuspender/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, makeWrapper, pkg-config
-, glib, libwnck3, procps }:
+, glib, libwnck, procps }:
 
 with lib;
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "man" "doc" ];
 
   nativeBuildInputs = [ cmake pkg-config makeWrapper ];
-  buildInputs = [ glib libwnck3 ];
+  buildInputs = [ glib libwnck ];
 
   postInstall = ''
     wrapProgram $out/bin/xsuspender \
diff --git a/pkgs/applications/misc/yokadi/default.nix b/pkgs/applications/misc/yokadi/default.nix
index 20defe41988..10d519efa45 100644
--- a/pkgs/applications/misc/yokadi/default.nix
+++ b/pkgs/applications/misc/yokadi/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildPythonApplication, dateutil,
+{ lib, fetchurl, buildPythonApplication, python-dateutil,
   sqlalchemy, setproctitle, icalendar }:
 
 buildPythonApplication rec {
@@ -11,7 +11,7 @@ buildPythonApplication rec {
   };
 
   propagatedBuildInputs = [
-    dateutil
+    python-dateutil
     sqlalchemy
     setproctitle
     icalendar
diff --git a/pkgs/applications/misc/zola/default.nix b/pkgs/applications/misc/zola/default.nix
index 3f704e8dd85..e41bc6bd20d 100644
--- a/pkgs/applications/misc/zola/default.nix
+++ b/pkgs/applications/misc/zola/default.nix
@@ -1,31 +1,30 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, cmake, pkg-config, openssl, oniguruma, CoreServices }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, cmake, pkg-config, openssl, oniguruma, CoreServices, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "zola";
-  version = "0.13.0";
+  version = "unstable-2021-07-10";
 
   src = fetchFromGitHub {
     owner = "getzola";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-yTvFQWmNxoB+CNZLHGmzJq7mKuOUxUqV4g8PWlOlRbM=";
+    # unstable because the latest release fails to build
+    rev = "8c3ce7d7fbc0d585d4cbf27598ac7dfe5acd96f1";
+    sha256 = "sha256-Tw3u96ZPb0yUXvtJ+rna6nnb0a+KfTEiR/PPEadFxDA=";
   };
 
-  cargoSha256 = "sha256:19vijhcs1i02jhz68acil7psv3pcn0jzi1i4y2l05i4m3ayxivjf";
+  cargoSha256 = "sha256-mOO39LK7lQ5IxwMgfJpNwX/H5MZ3qKqfeDmnY8zXOx4=";
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config installShellFiles];
   buildInputs = [ openssl oniguruma ]
     ++ lib.optional stdenv.isDarwin CoreServices;
 
   RUSTONIG_SYSTEM_LIBONIG = true;
 
   postInstall = ''
-    install -D -m 444 completions/zola.bash \
-      -t $out/share/bash-completion/completions
-    install -D -m 444 completions/_zola \
-      -t $out/share/zsh/site-functions
-    install -D -m 444 completions/zola.fish \
-      -t $out/share/fish/vendor_completions.d
+    installShellCompletion --cmd zola \
+      --fish completions/zola.fish \
+      --zsh completions/_zola \
+      --bash completions/zola.bash
   '';
 
   meta = with lib; {
@@ -33,5 +32,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://www.getzola.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ dywedir _0x4A6F ];
+    # set because of unstable-* version
+    mainProgram = "zola";
   };
 }
diff --git a/pkgs/applications/networking/3proxy/default.nix b/pkgs/applications/networking/3proxy/default.nix
index f9221d06d02..b83f93b3b68 100644
--- a/pkgs/applications/networking/3proxy/default.nix
+++ b/pkgs/applications/networking/3proxy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "3proxy";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "z3APA3A";
     repo = pname;
     rev = version;
-    sha256 = "9aopwyz0U2bYTvx5YWLJo9EE8Xfb51IOguHRJodjpm8=";
+    sha256 = "sha256-4bLlQ/ULvpjs6fr19yBBln5mRRc+yj+zVLiTs1e/Ypc=";
   };
 
   makeFlags = [
diff --git a/pkgs/applications/networking/appgate-sdp/default.nix b/pkgs/applications/networking/appgate-sdp/default.nix
index 2f52a432f4b..e894572dd78 100644
--- a/pkgs/applications/networking/appgate-sdp/default.nix
+++ b/pkgs/applications/networking/appgate-sdp/default.nix
@@ -2,15 +2,13 @@
 , at-spi2-atk
 , at-spi2-core
 , atk
-, bash
+, autoPatchelfHook
 , cairo
-, coreutils
 , cups
 , curl
 , dbus
 , dnsmasq
 , dpkg
-, e2fsprogs
 , expat
 , fetchurl
 , gdk-pixbuf
@@ -20,25 +18,14 @@
 , iproute2
 , krb5
 , lib
-, mesa
 , libdrm
-, libX11
-, libXScrnSaver
-, libXcomposite
-, libXcursor
-, libXdamage
-, libXext
-, libXfixes
-, libXi
-, libXrandr
-, libXrender
-, libXtst
-, libxkbcommon
 , libsecret
 , libuuid
 , libxcb
+, libxkbcommon
 , lttng-ust
 , makeWrapper
+, mesa
 , networkmanager
 , nspr
 , nss
@@ -50,6 +37,7 @@
 , stdenv
 , systemd
 , xdg-utils
+, xorg
 , zlib
 }:
 with lib;
@@ -69,46 +57,48 @@ let
     gtk3
     icu
     krb5
-    mesa
     libdrm
-    libX11
-    libXScrnSaver
-    libXcomposite
-    libXcursor
-    libXdamage
-    libXext
-    libXfixes
-    libXi
-    libXrandr
-    libXrender
-    libXtst
-    libxkbcommon
     libsecret
     libuuid
     libxcb
+    libxkbcommon
     lttng-ust
+    mesa
     nspr
     nss
     openssl
     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.libxkbfile
+    xorg.libxshmfence
     zlib
   ];
-  rpath = lib.makeLibraryPath deps;
 in
 stdenv.mkDerivation rec {
   pname = "appgate-sdp";
-  version = "5.4.0";
+  version = "5.4.2";
 
   src = fetchurl {
-    url = "https://bin.appgate-sdp.com/${lib.versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
-    sha256 = "sha256-2DzZ5JnFGBeaHtDf7CAXb/qv6kVI+sYMW5Nc25E3eNA=";
+    url = "https://bin.appgate-sdp.com/${versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
+    sha256 = "sha256-wAhcTRO/Cd4MG1lfPNDq92yGcu3NOfymucddy92VaXo=";
   };
 
+  # just patch interpreter
+  autoPatchelfIgnoreMissingDeps = true;
   dontConfigure = true;
   dontBuild = true;
-  enableParallelBuilding = true;
 
   buildInputs = [
     python37
@@ -116,6 +106,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
+    autoPatchelfHook
     makeWrapper
     dpkg
   ];
@@ -125,62 +116,39 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    ln -s "$out/opt/appgate/appgate" "$out/bin/appgate"
     cp -r $out/usr/share $out/share
 
-    for file in $out/opt/appgate/linux/appgate-resolver.pre \
-                $out/opt/appgate/linux/appgate-dumb-resolver.pre
-    do
-      substituteInPlace $file \
-        --replace "/bin/sh" "${bash}/bin/sh" \
-        --replace "cat" "${coreutils}/bin/cat" \
-        --replace "chattr" "${e2fsprogs}/bin/chattr" \
-        --replace "mv " "${coreutils}/bin/mv " \
-        --replace "pkill" "${procps}/bin/pkill"
-    done
-
-    for file in $out/lib/systemd/system/appgatedriver.service \
-                $out/lib/systemd/system/appgate-dumb-resolver.service \
-                $out/lib/systemd/system/appgate-resolver.service
-    do
-      substituteInPlace $file \
-        --replace "/bin/sh" "${bash}/bin/sh" \
-        --replace "/opt/" "$out/opt/" \
-        --replace "chattr" "${e2fsprogs}/bin/chattr" \
-        --replace "mv " "${coreutils}/bin/mv "
-    done
+    substituteInPlace $out/lib/systemd/system/appgate-dumb-resolver.service \
+        --replace "/opt/" "$out/opt/"
 
     substituteInPlace $out/lib/systemd/system/appgatedriver.service \
+        --replace "/opt/" "$out/opt/" \
         --replace "InaccessiblePaths=/mnt /srv /boot /media" "InaccessiblePaths=-/mnt -/srv -/boot -/media"
 
     substituteInPlace $out/lib/systemd/system/appgate-resolver.service \
+        --replace "/usr/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq" \
+        --replace "/opt/" "$out/opt/"
+
+    substituteInPlace $out/opt/appgate/linux/nm.py \
         --replace "/usr/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq"
 
-    substituteInPlace $out/opt/appgate/linux/nm.py --replace "/usr/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq"
-    substituteInPlace $out/opt/appgate/linux/set_dns --replace "/etc/appgate.conf" "$out/etc/appgate.conf"
+    substituteInPlace $out/opt/appgate/linux/set_dns \
+        --replace "/etc/appgate.conf" "$out/etc/appgate.conf"
 
-  '';
+    wrapProgram $out/opt/appgate/service/createdump \
+        --set LD_LIBRARY_PATH "${makeLibraryPath [ stdenv.cc.cc ]}"
+
+    wrapProgram $out/opt/appgate/appgate-driver \
+        --prefix PATH : ${makeBinPath [ iproute2 networkmanager dnsmasq ]} \
+        --set LD_LIBRARY_PATH $out/opt/appgate/service
+
+    makeWrapper $out/opt/appgate/Appgate $out/bin/appgate \
+        --prefix PATH : ${makeBinPath [ xdg-utils ]} \
+        --set LD_LIBRARY_PATH $out/opt/appgate:${makeLibraryPath deps}
 
-  postFixup = ''
-    find $out -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
-    for binary in $out/opt/appgate/appgate-driver \
-                  $out/opt/appgate/appgate \
-                  $out/opt/appgate/service/createdump \
-                  $out/opt/appgate/service/appgateservice.bin
-    do
-      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "$ORIGIN:$out/opt/appgate/service/:$out/opt/appgate/:${rpath}" $binary
-    done
-
-    # fail if there are missing dependencies
-    ldd $out/opt/appgate/appgate | grep -i 'not found' && exit 1
-    ldd $out/opt/appgate/service/appgateservice.bin | grep -i 'not found' && exit 1
-    ldd $out/opt/appgate/appgate-driver | grep -i 'not found' && exit 1
-
-    wrapProgram $out/opt/appgate/appgate-driver --prefix PATH : ${lib.makeBinPath [ iproute2 networkmanager dnsmasq ]}
     wrapProgram $out/opt/appgate/linux/set_dns --set PYTHONPATH $PYTHONPATH
-    wrapProgram $out/bin/appgate --prefix PATH : ${lib.makeBinPath [ xdg-utils ]}
   '';
+
   meta = with lib; {
     description = "Appgate SDP (Software Defined Perimeter) desktop client";
     homepage = "https://www.appgate.com/support/software-defined-perimeter-support";
@@ -189,3 +157,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ ymatsiuk ];
   };
 }
+
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index 7d666f5ba9f..7b2acbd6b3d 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -90,11 +90,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.25.68";
+  version = "1.26.74";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "OBf42L6pctflNLjtcbnw2wKo7TisRSMF3SriDPFlB6I=";
+    sha256 = "ULmoUXyPWHCewK4FPP7SX1Ena6n0aM/EWR7ZnMN1ztY=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index cc443764447..602e2e6a829 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -62,7 +62,7 @@ mkChromiumDerivation (base: rec {
       -e '/\[Desktop Entry\]/a\' \
       -e 'StartupWMClass=chromium-browser' \
       $out/share/applications/chromium-browser.desktop
-  '' + lib.optionalString (channel == "dev") ''
+  '' + lib.optionalString (channel != "stable") ''
     cp -v "$buildPath/crashpad_handler" "$libExecPath/"
   '';
 
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 156932aa13f..18565f31a2f 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -92,9 +92,10 @@ let
   };
 
   defaultDependencies = [
+    (libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403
     bzip2 flac speex opusWithCustomModes
     libevent expat libjpeg snappy
-    libpng libcap
+    libcap
     xdg-utils minizip libwebp
     libusb1 re2
     ffmpeg libxslt libxml2
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 14ee3290c71..535b87a87fd 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -149,9 +149,11 @@ in stdenv.mkDerivation {
     + "chromium${suffix}-${version}";
   inherit version;
 
-  buildInputs = [
+  nativeBuildInputs = [
     makeWrapper ed
+  ];
 
+  buildInputs = [
     # needed for GSETTINGS_SCHEMAS_PATH
     gsettings-desktop-schemas glib gtk3
 
diff --git a/pkgs/applications/networking/browsers/chromium/get-commit-message.py b/pkgs/applications/networking/browsers/chromium/get-commit-message.py
index 2768e31bd03..7a91b74c83d 100755
--- a/pkgs/applications/networking/browsers/chromium/get-commit-message.py
+++ b/pkgs/applications/networking/browsers/chromium/get-commit-message.py
@@ -19,14 +19,14 @@ for entry in feed.entries:
         continue
     url = requests.get(entry.link).url.split('?')[0]
     content = entry.content[0].value
+    content = html_tags.sub('', content)  # Remove any HTML tags
     if re.search(r'Linux', content) is None:
         continue
     #print(url)  # For debugging purposes
     version = re.search(r'\d+(\.\d+){3}', content).group(0)
     print('chromium: TODO -> ' + version)
     print('\n' + url)
-    if fixes := re.search(r'This update includes .+ security fixes\.', content):
-        fixes = html_tags.sub('', fixes.group(0))
+    if fixes := re.search(r'This update includes .+ security fixes\.', content).group(0):
         zero_days = re.search(r'Google is aware( of reports)? that .+ in the wild\.', content)
         if zero_days:
             fixes += " " + zero_days.group(0)
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 35a999e762b..d7b14cb4ba6 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": "91.0.4472.101",
-    "sha256": "1d3y621iclkq6nvxrapk5aihv50x13hjha0c2gcp2xxfma96253q",
-    "sha256bin64": "12j5q5b9v0jpiznjnh89831w8lv399vd1z4ljhbsnsidbsygrbr1",
+    "version": "91.0.4472.164",
+    "sha256": "1g96hk72ds2b0aymgw7yjr0akgx7mkp17i99nk511ncnmni6zrc4",
+    "sha256bin64": "1j6p2gqlikaibcwa40k46dsm9jlrpbj21lv1snnjw8apjnjfd2wr",
     "deps": {
       "gn": {
         "version": "2021-04-06",
@@ -12,15 +12,15 @@
       }
     },
     "chromedriver": {
-      "version": "91.0.4472.19",
-      "sha256_linux": "0pg9y55644i87qxa0983lvfizbmfiak9bg9249xhifl5kykghrb2",
-      "sha256_darwin": "07v5k07100vrzsbm6r59xg8j80ffzs3gnnf2kcfgqrzprx284gf2"
+      "version": "91.0.4472.101",
+      "sha256_linux": "0dzx565z2rd0y4i57rv5kd7dsm69sffza96y3c773hqaghm4y1ng",
+      "sha256_darwin": "0nff1jmmrn6a4clfvhyzrhfp8hx85z72563jwk28apflqmnm0k68"
     }
   },
   "beta": {
-    "version": "92.0.4515.51",
-    "sha256": "0x9c5fy95wnri9z0s8pbwyq1lw684n7d70l1s2rp5yxh0snannxg",
-    "sha256bin64": "036km5dp7asq5n86qx7c9119mdch7sl89lhq1ffss0f4mzcq42yd",
+    "version": "92.0.4515.101",
+    "sha256": "1jcas265hhlqd9f63h4zw4n4xsl26c5zmjlmbf1px5icvcjfb2xd",
+    "sha256bin64": "0sb5l5nzfzisvrnhcfwhdh9rn6z6pkzqz4p92c40q2mlhmjrfhj0",
     "deps": {
       "gn": {
         "version": "2021-05-07",
@@ -31,22 +31,22 @@
     }
   },
   "dev": {
-    "version": "93.0.4535.3",
-    "sha256": "19iy4p59n0pg9s39g614y4yxh5f6h86bcp471qdnm6fvzmzcxd18",
-    "sha256bin64": "16q9s8l20bmr2n0y3pi505l5hbhbmpi8kh47aylj5gzk1nr30a8r",
+    "version": "93.0.4573.0",
+    "sha256": "0knks0padlcqhwnjpg32d875nycznlbd228sx8qwnylg1ilrzqck",
+    "sha256bin64": "1kxbsdcc0gh2pllz3szmnjswxqbw9sr457pq8aafpgk9rdchikg1",
     "deps": {
       "gn": {
-        "version": "2021-05-07",
+        "version": "2021-07-08",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "39a87c0b36310bdf06b692c098f199a0d97fc810",
-        "sha256": "0x63jr5hssm9dl6la4q5ahy669k4gxvbapqxi5w32vv107jrj8v4"
+        "rev": "24e2f7df92641de0351a96096fb2c490b2436bb8",
+        "sha256": "1lwkyhfhw0zd7daqz466n7x5cddf0danr799h4jg3s0yvd4galjl"
       }
     }
   },
   "ungoogled-chromium": {
-    "version": "91.0.4472.101",
-    "sha256": "1d3y621iclkq6nvxrapk5aihv50x13hjha0c2gcp2xxfma96253q",
-    "sha256bin64": "12j5q5b9v0jpiznjnh89831w8lv399vd1z4ljhbsnsidbsygrbr1",
+    "version": "91.0.4472.164",
+    "sha256": "1g96hk72ds2b0aymgw7yjr0akgx7mkp17i99nk511ncnmni6zrc4",
+    "sha256bin64": "1j6p2gqlikaibcwa40k46dsm9jlrpbj21lv1snnjw8apjnjfd2wr",
     "deps": {
       "gn": {
         "version": "2021-04-06",
@@ -55,8 +55,8 @@
         "sha256": "199xkks67qrn0xa5fhp24waq2vk8qb78a96cb3kdd8v1hgacgb8x"
       },
       "ungoogled-patches": {
-        "rev": "91.0.4472.101-1",
-        "sha256": "1ca8gjxz3w730446qns253ibs9lx22iysxq5sphb3pw2w0069q8r"
+        "rev": "91.0.4472.164-1",
+        "sha256": "1vlirqrsliyl1dvm511p5axzvhvqil1m1jlk5zngvl9zfbdjw910"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 725205c5c20..d16c625e2db 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -203,6 +203,7 @@ stdenv.mkDerivation {
       url = "http://www.mozilla.org/en-US/foundation/trademarks/policy/";
     };
     platforms = builtins.attrNames mozillaPlatforms;
+    timeout = 86400; # 24 hours (increased from the Hydra default of 10h, c.f. #129115)
     maintainers = with maintainers; [ taku0 lovesegfault ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/mozilla.asc b/pkgs/applications/networking/browsers/firefox-bin/mozilla.asc
deleted file mode 100644
index dc58eb8d56a..00000000000
--- a/pkgs/applications/networking/browsers/firefox-bin/mozilla.asc
+++ /dev/null
Binary files differdiff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 136c2c4c717..12c76c8e4dd 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,975 +1,975 @@
 {
-  version = "89.0";
+  version = "90.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ach/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ach/firefox-90.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "f55831518c6d1a590a48093a5737862418b543d3349c6fe0418d378cc78846d6";
+      sha256 = "b21effb602d202574d3498a2a1d4d381f1581eb794691123fa00eb25adb21b5a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/af/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/af/firefox-90.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "a124ce560aabae43fa0fe7b5c2c88f286839bb01ef94185faae640ce8937afe6";
+      sha256 = "2ee727fe495f586ca0f825e1bbadd4d737b1c6e4050ad1e77f3cb84cd9d50e3a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/an/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/an/firefox-90.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "f2624d37b96a23d447dc16ea8b8a627db2cb497945d0c4cbe20cc20570d579e3";
+      sha256 = "f33700fc2178d6ea0bc6bd47cf16744a7551e3987abe9cd9bb891cd48a019000";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ar/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ar/firefox-90.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "c01e143107753ea3363e6f8f0ca77c12f9f4803da342578c15c94554ca6d946d";
+      sha256 = "5633334afb6a338a861b665c78209ba13558c0b6dfab44f80cd690533633575d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ast/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ast/firefox-90.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "d2bfb999bdb31daffee3774ba1f940a84ae5f4ca846a03852181b2ebb5ec9b10";
+      sha256 = "98fff4f8216441b7b404dc00ca4bbd3b8161514dde85bfe56c23ea15a20c1ba6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/az/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/az/firefox-90.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "61c408e9333730c5cee83c48c8d0e1aa20c62b76e32159b68d0e529e92cf15d4";
+      sha256 = "02a48160df4f22842f09bbf54190ed91f83f0b0af9b15134ce6f83a163de8891";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/be/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/be/firefox-90.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "5d53d478b0728e9bfc0445e9a9a6373e0105e416ed98f50398fcc8d6466e9690";
+      sha256 = "1848205609b3bb57a84fb2ddd002e57868dce7f2046a4603e2058fb4bf6b4046";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/bg/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/bg/firefox-90.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "0dce261fd2be11436ab182de4bd78ebf50da9f9cb439d100063e714b2e55cfc8";
+      sha256 = "27a40aba90c5b8ef51d2077770ee0803e0d8327db36d1f95a463c54ca74a7536";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/bn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/bn/firefox-90.0.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "9d1dff74b8ee7d4e81900e079921b06ff332c3db1affe9691a23db74aa2e2990";
+      sha256 = "490da4669e9711bbdb309abba2251b88407ec843065b5c81e61cae5be59d8e9e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/br/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/br/firefox-90.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "db9c9c3db5636d1bc10e3ae627f37c1c55716debaec4e68d9b2e6771801802a6";
+      sha256 = "be50bcfb6bfc9144cf690165801abc294dfa9b67597d727f7707025b8a61be97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/bs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/bs/firefox-90.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "202a5b093879193327673a39f0f217323f0c0e2ede9f586fde0fe224b0bc034e";
+      sha256 = "90fcf0f8a7fa13ca4157ec710e06053485df7e47264ba46bebe4551154244b89";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ca-valencia/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ca-valencia/firefox-90.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "d607a4d86c66b8aeb74724e29ffdf22d287ba729b7962db19cdc64f6d03a8004";
+      sha256 = "bb32faff40658d974d9f1909ee574043c3501d7d5149629a8abce919aeb37232";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ca/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ca/firefox-90.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "8a2c7d2b455f31b868779cd2254fc130ce4f84f6935f127c0c6a0dae85daabfc";
+      sha256 = "bd5b977e54ee504dce9aafcb093419b23da0c85ca1f84c6c0060014d3ec3b32a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/cak/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/cak/firefox-90.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "e631bfdc8a6a71973b16bee03221ee882ac28a289e8ff92ee3319e05c0260d5b";
+      sha256 = "aa2e5b116ebfc296cfb6522b2b35bf006cd2d4154b04d20ac4c6a720fad90008";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/cs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/cs/firefox-90.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "c08e64765f30591e3b4aeb4721e7f149b299dc19069476d0af453e38b2b68926";
+      sha256 = "ec9b5c46617f9ef8f29374793c8a5f272d370b9e974d004ec0db85a65b5a76d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/cy/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/cy/firefox-90.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "da30c1b07a2c1eb840d87da41cf36b4e0bbdfa2df6f82c9f4562e460a742b9f0";
+      sha256 = "17ef10b7e321db0374c87595d13e4bad57707902dd02a4a20e7f375ff328b905";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/da/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/da/firefox-90.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "8263b20f80c5bad2dcf571c7cd71c0875a41e41550fa4b9062e90de1a544b81e";
+      sha256 = "46d83a4256eb11f5db42039184e0ed138280f21ecdbafb1e7533399cfd58f88d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/de/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/de/firefox-90.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "122d301da28d961efd7418d925a6ed0a99c302c3935f94dff6b36129454d171b";
+      sha256 = "b4417505454008a2722c691c9006450d90ec80c7461eaf0ecb9b4f9cc0883ed0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/dsb/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/dsb/firefox-90.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "7f4a167e9ba002628aac487f55d1f8b549257da18abb58938d250b16ae086597";
+      sha256 = "8eec9d5753aaa92c31fd52556595c9fb5889f36904cb05722bb2d727fa618941";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/el/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/el/firefox-90.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "51f50c9f3c9c8857d2fd155129ccad90e59343d120514d90c4adba8876547662";
+      sha256 = "ca3e4958df9aedc5e6e1f5a9a8778248cc8b3f8b988b143aa2da94a8fbc6b3af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/en-CA/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/en-CA/firefox-90.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "990bd24aed34581e0c477737327867582a2995b6e69f601d4be967d49140be64";
+      sha256 = "341f133b3787746993df3e9176601b485bb7a0a16c7a294e7de64f8af39c2ac7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/en-GB/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/en-GB/firefox-90.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "c56e3405009e405e565fb3dd69b8b6a22894cea9002568b2cf88b820d0f7d6db";
+      sha256 = "13343f3cb63be5c02ee7c8d6883ff473681bff8f55377f74095768c87109f620";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/en-US/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/en-US/firefox-90.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "5011b87e0795de19a05694b06965435c6896c907d51a31631e9c8d427602d159";
+      sha256 = "29fd51b6316d1e589220c2f47e5ff7cdd996cddd450f64ce1dd28ed0e8e4e8fa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/eo/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/eo/firefox-90.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "c6554905a466dc9d117bb91aaf0be3e0030467b492d44ef3374f01219d7bf0e1";
+      sha256 = "41c9ed4d9da13fa798e6d75e67b854b84fa0bb76a0771d387a1cf3261838408d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/es-AR/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/es-AR/firefox-90.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "91e72c2251d2740129baac9d34ffa54b8b0631c5951b1b667f4e58d0c86ed1d5";
+      sha256 = "8b5c954f4942834a93424b2af17e01f1bcea3d07e1ac404cb205b7b53094088c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/es-CL/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/es-CL/firefox-90.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "b719701fffa142991f78aae717a247c6b5310d9dc4832757a773b077be0bfc16";
+      sha256 = "cdd4eefae21d33263feb67f020e727e4f9d569a49a0311483f24837a19a88c49";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/es-ES/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/es-ES/firefox-90.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "a4153f99eacb4cc4fe647e9285b76800ed1208e988a6ddb148bc4cdefbe23f55";
+      sha256 = "7cc98380be959aa6375b05b7861e0bd29ab0c2f87824fe0a7a4d0655fb2daf6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/es-MX/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/es-MX/firefox-90.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "fce8b910fe58b8096a36ce28289f8125dc9074c02655ed5df1d1bfd97a67d2e3";
+      sha256 = "52ab52d3c2d92cb7919b1505f1a72a2a066629f1adb45600c08b5f1a7df7b714";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/et/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/et/firefox-90.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "07165b740a9772c1ac102cdcac3d26aedef5beb6db8b3f222b4bdbd6abdb2fe2";
+      sha256 = "aacc5ae2e7750d917e117349183afe8f166f4f51ff7c442f205e119c60faec7d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/eu/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/eu/firefox-90.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "11b35cf208f2568f06181858702ea4471bc040b3be1d2a192c40db431cc02a4a";
+      sha256 = "c6c9276e9e4ac8f34005f6cc6c6fc8d1ec06a25665d9564e864fd77faf0cf777";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/fa/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/fa/firefox-90.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "a935878e3675c34d85103f3c002ea5fe7f86b12a5298bda38f2d398821ba0c0f";
+      sha256 = "a1253cf75cbb09b9aed574464285360c6f4bae185ca2ec0e4ee28ecbe2582c19";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ff/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ff/firefox-90.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "13860860e6f60e7ca9f7aadadee36645f7b8a4f1fbd6b9e0a7b3d94f04d77129";
+      sha256 = "e7a13e96f1f231053de8599d1a1b75ffe0d10a2303938ffb74b5bf0ad954da41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/fi/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/fi/firefox-90.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "c84d9dbfbb89fe5573763ce54b533fd072bf17e22d9c6904dbf52401b635630d";
+      sha256 = "0e7651b6c88fe0308490d716193a16ed6fcfead4f490f299047604c49662a56b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/fr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/fr/firefox-90.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "0e5abac1e39f3234603906c237a0f14b927853668b13f6ef8ea0d74e00407296";
+      sha256 = "72b35bd4c84d3ea42c40873500177c0cbde37e5ebcbc49c2dc2c5f436d261a15";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/fy-NL/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/fy-NL/firefox-90.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "2ecf98f47651abc6f90ca79f98ab0b055b099f500db8cd684c60605e20549878";
+      sha256 = "62aa9cb69604233483bd7d510980f4b6a1c96874e98effa9d4179b150f4118a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ga-IE/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ga-IE/firefox-90.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "f1dccee366c64afc0a8d9037488cb57be9e6ef544ab4c1bfa3e7d8b7b91cb16d";
+      sha256 = "159dabccaab426c9aade1379be14874b04ee099752d38bbf0bca5db6b82dc4b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/gd/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/gd/firefox-90.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "374a47ef2069c6a3dea4ac510ab10592ed48b25715d16d19ebafc3070efc7b11";
+      sha256 = "26b2deeeabf6fb49cd87c138a7c5a1142358db743f2a55468374ad63ff7f60f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/gl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/gl/firefox-90.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "393f39cdc555613553d27743e681c07501e253ead1562fd14d2523b1a3249723";
+      sha256 = "31cd8e5029cbad931492ab3dcc0abf9b194e08292f4ab7876ebf662ab707bea7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/gn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/gn/firefox-90.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "19c207a40e588d072cd056c056583f9745017691aee2caf5aa8e6f78680a53cd";
+      sha256 = "ccdd7ad239105e642a721a44737165bb075f1e6db74733fc2f5b30c863b8222e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/gu-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/gu-IN/firefox-90.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "ce4db1d47376ed287392b13c959c40dae98e9461428d8f8df5ff8d99730f1f10";
+      sha256 = "a25562ca23e69f03f2d6d106afefcf11c5770820aed885a8efbcef001c256fe0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/he/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/he/firefox-90.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "9ec972022e45ed803c441c68e704874164a3cea4bdb9d26addf23097b3bb40d3";
+      sha256 = "e28b51837f7a9c8b8ac4a62bc5b7ac6c834696c8c41c7609b77c9d2807bb05b0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/hi-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/hi-IN/firefox-90.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "dda729303a9183baff446f2a84de68333c9aa3a9d90a34e80548e4f46d84e045";
+      sha256 = "8e6a5104be7e05a58e01acae446294d7459289871213e62e26d59076619f674a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/hr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/hr/firefox-90.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "dcd696d7acd7f991591f2f93ab0d94a7c2e7a7d07c5e644792d890fe8c653f4a";
+      sha256 = "e2d7f357b9574e0892d3cb8672b43ac9532e59c32f9eba0e36bac32d65fb0c25";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/hsb/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/hsb/firefox-90.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "a3b37e2df58a2ccd6ec422a8c61da35bfb9109c1464c3babedea6ec3be5fbaf0";
+      sha256 = "9039cd192bb39e3b4a828fdea48630f8e113f54db87644ecf2b3c84eb8201990";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/hu/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/hu/firefox-90.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "bfb9a458ab0c80037dce953b4c478765373e79a9368ad267f4da75cf22bcdf76";
+      sha256 = "98550b7e259df01476dad15cfe8bb3ec055e1ff57041ae73d09156671dcfdf6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/hy-AM/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/hy-AM/firefox-90.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "a3e67a5cd54082cd00976f17b47f719f3f262af6a39f0d0f5107b71f5119fa3a";
+      sha256 = "74d34585f9ff86fbd5bf68620964bdad82d7f5b5e0cf7087b12cba3fcc795271";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ia/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ia/firefox-90.0.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "54175c830b7a28047788721645796b925e37803b23ce7c3f7f287a3a3e6943e1";
+      sha256 = "fa705d3b2c9dde9e0cd190e183219f879d72a57f7a1209a293a1bf74cc0a86d8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/id/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/id/firefox-90.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "20f207ceb1b090ff6be21c36b928d93a53c7f2547adafa7a7559b7d914ae24e9";
+      sha256 = "23bda2ac0b1026bd3443f89e78157cbe47807ae2e0316d68804fd734ed6e196c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/is/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/is/firefox-90.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "79bee0347eab828d9022708131ff8eb32d1a895d1f39f1d074bc6fa536463289";
+      sha256 = "257dbec349ed5368a10463a1cf1e21d03c1eac1ed3b093a54b1f28e274ec575c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/it/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/it/firefox-90.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "28909f3a4e9ee97e290c52a762e74529793ec218c848fd2b260094d9295425ce";
+      sha256 = "ff19dbc318739dd11cab9424b5058a6ca8396d6988723a4a3d8b72ef7095713d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ja/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ja/firefox-90.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "1fc39129fcc4e05a6ffa62302f7a01bec771e2aba1aca084c9fca518f0f3ecb4";
+      sha256 = "3c3003bf0366ccfe5b6e964720411e06d5622fb5e76ab7f0b2f1d06bb92c8e44";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ka/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ka/firefox-90.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "513bdc1e8c8f6568eee0b24846d23bed788053cb3487799a3360ba97c3f5471f";
+      sha256 = "70b53851ec2b8e512fbafee0d87b0dd32123019c1ed798f4b03b08fed790af68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/kab/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/kab/firefox-90.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "39c7c01947863bf17fd0fe7360c1c02029f8c4eac6e27747c029c60f12a524fc";
+      sha256 = "175f112e07f75bda7e42291779655a18601f50c81c84d529874baf3aa1c5bd35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/kk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/kk/firefox-90.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "0c99f13e466294845bec2f54ca8a10f3d03f87b9b2aee80416db799c5761a4e6";
+      sha256 = "7aa1edddf9f1d55aa307f8954b0a4043fa8f27243331d97ffb21ccbab4439a3e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/km/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/km/firefox-90.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "3494d56e45a2a9071a0993191a438155ad4b76579e6a6f29d919254c567a0078";
+      sha256 = "45d013eb6a15558722b9633bbcfbe38c74f20964db716797b4c5358a31596b55";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/kn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/kn/firefox-90.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "4889cd958be7bcd108c374e0e0575f13f07210abeec076b8369186cf61f4ea7f";
+      sha256 = "19f7cf799760e51d852981d1217f3303f347631bdc484d44293a85fbe16a2752";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ko/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ko/firefox-90.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "71da744479496c2c62449d42373af839b02cfb1ebe2e6ffebb662816aa8cf59d";
+      sha256 = "c2a1aca33c678e225cc66f1f363f666313d41de5629575bccc3244b2246a517a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/lij/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/lij/firefox-90.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "785afee6c3a9e26e8e81032ab5e9c94c886d1e950ce2174d63a9d7f6f15acdb8";
+      sha256 = "6645b96ea75cf11afa03d7830fcaeb3cf40ae62a34cd780d703632b04c1c70db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/lt/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/lt/firefox-90.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "00de67ef54ad73ff1b8397f9d86ae90da57a0272268336ec7ce6f7790faf0a38";
+      sha256 = "c4c9b1c346a2e18d813302094c5048b758db64effd0276fb453d77f76a3795c6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/lv/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/lv/firefox-90.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "e28f07fccef57a2ca94b7b7074b518188599e851ad4e21a13b08b5b242407154";
+      sha256 = "3cd2b96471ce03fcc7ce0217ae68534d0f891cbb21c7c325ff37f02e8a96f310";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/mk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/mk/firefox-90.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "6fb8c785136d3040865698d91cde31cece022072594aa61803cff9e63e2e5a10";
+      sha256 = "95de1a0db3f284e23741f39c9de13acdb2cc8aa3046387f2c923b2fb41ea9e85";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/mr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/mr/firefox-90.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "c91ea884c587115fa2c9b6d6615f724937b77e24a22ff84de7bd50d843907432";
+      sha256 = "6336fa56e8eaefc5f30934cb1232bc9b4c5a4a1070612026fd4eaaf79a763af2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ms/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ms/firefox-90.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "36c50cbfef5e729f57797635aa1745c74872f6adb77daa0b4e5e804072c8d15d";
+      sha256 = "1efd8100aa12bc3b2c304837b16638bd23fcc1bebbd1b7cdaf8f07bb642eba09";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/my/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/my/firefox-90.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "cb17e54ee6ed511fcb7de27ab2bc9dea5c52417ffe807a572d65f8e8d202c05c";
+      sha256 = "4b9dcf5f8d476ff931a497acfb42747b3b788a031d156b1444126fcece789d68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/nb-NO/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/nb-NO/firefox-90.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "08e7a9935376166b3344a85345a932b6ea90691f6f5c28d345fb210cae64252d";
+      sha256 = "81c5973aa829b52c2ebb3ebe35a355bd65c5e803dd5b02fbfcdb58cad56d768a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ne-NP/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ne-NP/firefox-90.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "b6791b6c336fb9b3683be41798620071f1ef569f3809c0f0ae9db90a1dd758b5";
+      sha256 = "ca1823de015e593f89a78a578fbf136748ae9e56eeb819773c32fc4d21169398";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/nl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/nl/firefox-90.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "1bd8d6737393297378f127cf320ee0945970ac4688ee9aa3a045288fcde54f61";
+      sha256 = "253e19bbca6cdae42673b2f102bf930531a72a6d67ef3c0a93e2c415fefa18e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/nn-NO/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/nn-NO/firefox-90.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "919312922060bc90e5a3398a76bc7e6f224dc3ae46275d7ba7a0fd596e46360b";
+      sha256 = "248d44236b2111f0aa8b49ac97e17353740f983448dc0b5085efca9ca1401ed8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/oc/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/oc/firefox-90.0.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "65ed4ea16b6696fa5866db932b82767301c6f3eb72a9ed089c4ba5d2a439352a";
+      sha256 = "85414645c073035536a940f2e2daff958d25213aae01dd5a8617019f5315b9e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/pa-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/pa-IN/firefox-90.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "d996838f73d04f0bc91b22933e5c6bb2d2c7340a43933de48c352cf548097040";
+      sha256 = "9ce28522a04464bec876d301380f991e3543e2eb9fabe294066e23ee1a1ffa87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/pl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/pl/firefox-90.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "aa3167304eb7d5ceed1235be8d864b0d6ff48d47d680e62b613462378215d9a0";
+      sha256 = "6a05196e0b881ca19ed405cd42d3dd377a22e0cc7788971ca3fb3ddb6da5c73d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/pt-BR/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/pt-BR/firefox-90.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "74f7801e8e2f9c60a9824380060769afb61771fa9516206ee85a882705eab3dd";
+      sha256 = "e15e7fee01afbd4b585aa74b5de4efbbd2e30cc4e9e87911c4707760c6a8d198";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/pt-PT/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/pt-PT/firefox-90.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "961575b359317228991d81b76b9967658b18229ee8ef58480dcf19d6bfa57ab0";
+      sha256 = "f76da7fb580424c0d1326f2daf40ba4f27083447bd7051fc77e6162caadd5292";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/rm/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/rm/firefox-90.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "60780c817e379fc25d4234363c72fcf8a0cb3ae14c4ea87865d85c46aa206801";
+      sha256 = "55b0aa8f6dc462190a01f3385ff36cc813fcbd071d0e024c388efd3f247b22f0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ro/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ro/firefox-90.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "20f1e503651308e2f1e0f41091c5699dd20b02a9fe32e0cb6541d00ba81d2b59";
+      sha256 = "4d245e0e633e741bf0438603fd0ac76030878bccf69cc28509c018514fbc55be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ru/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ru/firefox-90.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "1f980091bf909f7f7f53d358b79c918e80df36f7ab389053c02051cacbb1ec44";
+      sha256 = "5687877a5e8dd4c5eb9dcfbde681f1d6fd9997b562d44592956ecc86024c8806";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/si/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/si/firefox-90.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "6be2db2f350b67befdbe0d12788c8b076ea592ad7cd40c0c27a5a1a90f73cfcb";
+      sha256 = "4843700d73e84099cbbca968d2d251fbfd012d3230735c22f8dd8e39edb57ed6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/sk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/sk/firefox-90.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "2b975d58ab76144db56408acefd5e5f63a81a65d11d79abbbe724ef60cc0b7ed";
+      sha256 = "26bf6c61cf9388f3c0f83362a3f6e744cde8aef12bf48de4e5da0debdd232a4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/sl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/sl/firefox-90.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "2459093c57b5784ff0a496ca6a294086700684a85b6a5444a25a877e1bd51767";
+      sha256 = "65578af61cfde136408690f38867b141d48205514398af1b7f2771f6c219c513";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/son/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/son/firefox-90.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "1f5f111543d1db02a8b86ed760cb159e3dedbb4a44ca43b31bd78cc9cdcf3ec9";
+      sha256 = "69d59e4ef8dbaabdf86acd7fe413b0fc3532b13cffd67cb0d122c08e72f234b9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/sq/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/sq/firefox-90.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "8a2c424aecf0e95d6acb41a66d07b750e85b74dfe5cb2154f9d84cbae51a2b06";
+      sha256 = "d8bc0fab11d1d3641159dcbe0248d1987e6d5a25cb45acde769c3c4632f6364f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/sr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/sr/firefox-90.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "cbef46fd1e72f542efc8959bf602fffc026a2866a2dc546d008fe8b08a24ed5a";
+      sha256 = "7ea2ff12e6df802e98cef89aede582e3c6ee800e51c4d5cd6a9ba6a7aba0e4a6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/sv-SE/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/sv-SE/firefox-90.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "c5a6dbca197540c22e370cf69183f32edd993242ca651a04c46ece8b43824a30";
+      sha256 = "e4924167458d6b1251956de695c610bf311047a2b3cce4cffc3b09bb026c07c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/szl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/szl/firefox-90.0.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "29a4470782609b31b494f3759e9cb3b5704790e4520acd1b33988877cd982b86";
+      sha256 = "4904579fff0628ba012f269c9be0123f06fe8d414066fa3f52fd28832d6f004e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ta/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ta/firefox-90.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "8a8311028e7681f6a51013ad9c15911bdf9e572544d9c26982ec056889d79fe9";
+      sha256 = "9611d0624ea57ead7eb9b889faac6a166a1581c64e0fcf8d89e1ff3c6f43c963";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/te/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/te/firefox-90.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "072a234399aa63cae9089da050b647ad042c8b346ea6943f1f2dbbabd5d454f7";
+      sha256 = "d06b945ee1646a37f347f438dcc5cfc2ca34e520fda7e5119d076a35a1636537";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/th/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/th/firefox-90.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "f43f10f82d50a40e8b7d83295244d1edc9058826160fb7529397751fb4cce43b";
+      sha256 = "4e0f715b9df45ed6e5c469d31e886184ab3712d65ed9b5f09f930de55bac7cae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/tl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/tl/firefox-90.0.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "2b30195f74227e71c21b7c7004faea8cf4c95da5fc2bfe4210d50392d35902a2";
+      sha256 = "ffb9acf1bdc1470c5d077707a38b8b754b638297bdcae51ecd985faed50d0c51";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/tr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/tr/firefox-90.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "901fdb54ca10a0c90bc9253d6d1c6f683a7d5dc4ab8487e6aa0fff2b04e32f24";
+      sha256 = "58a4e1b95887aef20744113cc712961cd331afe7b32c9fce9ae95cd10036a075";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/trs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/trs/firefox-90.0.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "85c3386e16611e2cd2b64a5095734c7c4703b9889df4e3656300d98b7a392ce3";
+      sha256 = "f517e93f9819e008f224078af54c6b080e5022cdfb84ae13e16a65368cf3c971";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/uk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/uk/firefox-90.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "21fe9ab7f0a41ebabe2715f139f2343e0fb6e8057b42927a3044f7ba665eb80d";
+      sha256 = "e6f29d8f6e7c92b5c911444c869173a8991bbab60e13c2279c1bb8139bf7d3ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ur/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/ur/firefox-90.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "098d33b86191172fbf5348689b1d704df4cf3237e9dd789c67b95656a6b79e02";
+      sha256 = "bcc00d70f7ab06bd024053d5f66d6363f8aaaea65be089bcad99fb0dad2d978c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/uz/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/uz/firefox-90.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "b891212d3cdd66b7edc970edea6aee044b906174054f2f06a55e5060ff751ada";
+      sha256 = "62d8ff68b7c144610c05300fcc8072b832c5ca3ea3b0da3f197f04c1c352114b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/vi/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/vi/firefox-90.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "fff4b31a6889e1b5829b7713fe0f54d4a68cc3da3600f6bc69c6b652596fabca";
+      sha256 = "152b2c3e4b66d5056cf02d6a0d88968da0d2d0d7983ba4a90b17937c752dbc68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/xh/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/xh/firefox-90.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "b73adfcec53fe584ace193f3f8c3c1ecd9b3346847cf620cd543d21fc4f14be1";
+      sha256 = "bbd12d232fd53c2ca879b55f19abce804ad14da4c47ee11c2723f37f166d69fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/zh-CN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/zh-CN/firefox-90.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "79c53f5f973bb9d85233c49c0c9e02b9e1df35f500e44b4bb541cb1c097d77ec";
+      sha256 = "44f71d53e7055b19617b66985f583b44b3d8aa6b63621a8ce34cb2f33e2c35fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/zh-TW/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-x86_64/zh-TW/firefox-90.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "270a0e18b978ef33b8b71fd3690ca859e0c286ad1ce5302c5da5b7375f8928d7";
+      sha256 = "23a5054f37211f0b4637baa7b17c0b41cbf16f8c30cbb7c00d486698a98150e9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ach/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ach/firefox-90.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "e239cc3380b017b549c5ec0824c0b351374412562a810f85faa3e39b020702d2";
+      sha256 = "985bb9b46a2767f00704f7dbf43ffdf650fa70da1b5c82b66bae9b3ed8e53ec9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/af/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/af/firefox-90.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "6049bd79e3e3fe7f141a97941489b9be8bd1b5e907ff92f07907d0433c52f8ee";
+      sha256 = "2b9ac10fca0815b755c89eeaaec3db597bd7eb56294452c715615bcd9edb685b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/an/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/an/firefox-90.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "8fd1aefeac276a40ccfa434d376b895a7b9674ff67fd587121255df34cc5b1d2";
+      sha256 = "cd6aa9c8b5e384c36f35c4620954fc29facc9e82600f1fe759bcf239bacd5cb6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ar/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ar/firefox-90.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "4ddc0f938be2806d27cbb9810ff39749ea9f6b0fddab1bc4eae211ba121959c3";
+      sha256 = "c6a75b71f6c24f05a92608401b70ce4b3e91f83f7511eeed0b7dfb91ce52ab22";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ast/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ast/firefox-90.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "f4ada3fdb3229992af94002e3b812bf95e3ade3af7e913ca990ca3164c04ab66";
+      sha256 = "ffc9f0b54fb7df8398e5ccedd75902d4872b2b735d79189e2e00bc519b7914be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/az/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/az/firefox-90.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "07e95af87afc048c1e0d273025e4ac2ce6d5e15f93bf4b2e6fd24699b9afee8f";
+      sha256 = "3843e554e11c687e9d0676ed9ed06c11cc6eb571287430cbe8ab26b4c2553e63";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/be/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/be/firefox-90.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "d967424a01532dd37a57c7e87063c022905a38d794c6077f99fc4d23a581bc2f";
+      sha256 = "412e6a776fbf1cd698092bcaafe30a652a8ab35b72e3edf4cffd0b7438c091c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/bg/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/bg/firefox-90.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "c8b667539135c6cb2fb98663259d75757efbcc6ce374c85506b2972457f01bd0";
+      sha256 = "142d1db515272948aa7788403be55080471773d835476a532fd0e44f08a223c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/bn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/bn/firefox-90.0.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "436b1de6ffc38b2a17dcef6ed395e67e8f75058539bd10cc510b5db95add0b0a";
+      sha256 = "75531cdc30d0c9173ab8d8113ceb9897373f7808e1019834545f0130ebbb8ee9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/br/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/br/firefox-90.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "0a0469ed2f2d338bf05f051f300bff65f42d53f34c6344fc81d7179faaff7b0b";
+      sha256 = "20e76daf7a280c5d50c9a937e409f25aac7f0ee3254f9145605ee00d00316d5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/bs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/bs/firefox-90.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "a7907780adcbef8cd64793500a9f664d552f7c993c277c1e10d8afaee2c13acd";
+      sha256 = "1bc0fd2a8ec265d59594bb298cdb51f5506b56e40e5dfc0fc66a37e3d4328e5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ca-valencia/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ca-valencia/firefox-90.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "8e7cb11f19878ac1dd7943be5132b59316c067e7f435e2456200115d0eb22470";
+      sha256 = "dfffd0c2b98641944d74486de4d9f08c2e76b30506942021a5263d1238ab07db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ca/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ca/firefox-90.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "235c16a101af708376903609695a0e2cd1d863094f1a98ce2e916533abc33b38";
+      sha256 = "bcf3b78bcb2bd133ad66d551695d372d099d250e01d790f48bbd69b46c07abd4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/cak/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/cak/firefox-90.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "735e1f803533c7ed092b10df7a3e7435588866ba94b88b37c9b2afda75891f0b";
+      sha256 = "e27cc065df6bc8ff338a34c97d9f6d4825d711b77bf24e5f1d16ca68dffd6f74";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/cs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/cs/firefox-90.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "881d8c7a1af57a90c81ab4d5c89d8d946d6666073509f9c194ff44466f44e4f9";
+      sha256 = "f25b02aecf709edfd75ceb2faa01979e99ea2a88e981c0d3fa5dc118eca77a5d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/cy/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/cy/firefox-90.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "1c74c73b3e52ad625ede28e7043b650a8c90ed09862fb26fb1dda9497902ad54";
+      sha256 = "d9f09d6c812740f077234dcd5f7caee7be17569526b215d4ebb7d987b8915b47";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/da/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/da/firefox-90.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "41429f458803677eac22b654be2e9e3708d4007e3faf6496ef8a9ce31f558a79";
+      sha256 = "604342f07532112ca7ad6c8a1d6194dc1487a3f0a05c9785f4d252d6359996c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/de/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/de/firefox-90.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "de0b79f4b60172379b523a851ffa94e750aa68e6a008e740084028da2473b8cc";
+      sha256 = "c2383d7801ff0fd4a111c49d82d7b41f140f1974d20c8bcbfc745b76a78f24f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/dsb/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/dsb/firefox-90.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "b7cb7153c0e2ac1b0976eebb9a627ec608f49969b8571770409bfff5916d5ae9";
+      sha256 = "9972aef81947ebcd09349776a01f7335c41971ac72d2ed806cfd384831b35623";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/el/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/el/firefox-90.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "f764ff32d668f36cac903c808b46bf81afa81fda8231e9c500e71495573a10f5";
+      sha256 = "942285c706c4321dc6c4578e665edc76523e46f98aa89521f4276bdb2736f610";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/en-CA/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/en-CA/firefox-90.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "8df9136b6895266dcae765d15a601ea69707c6c31b858682d4a0037262032452";
+      sha256 = "71b236a224823a13ea1b0f144217a735e76c4d25b2725591a5aaea068d1a9808";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/en-GB/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/en-GB/firefox-90.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "b9df457be4785e3ee38e44b8fc5daa265699f0fed60357b0e2ab6d650d5629e3";
+      sha256 = "1c9f4c7b35faa87d7c1b046abd629e2d4305ff8769f986a4e1def8e381a0ca94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/en-US/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/en-US/firefox-90.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "9b40343e4094acc2ef4813a2aa0b943a4e4f34538da4f9b4356c44120c928194";
+      sha256 = "f983e7537f54131697366c0926b6aad8045c2f1e16c78a0d5edb392d214e535f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/eo/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/eo/firefox-90.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "053aaad2a50948969c2dc85854a6da0a8ef276351eb84ccf3535af2f479b4472";
+      sha256 = "90f713f53326849e1b41c7aad160eb5828e4a06f2e9f11918ba61b9ec4d29fef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/es-AR/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/es-AR/firefox-90.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "b128326043c53635ed3dd0fd7bfc2b52192bfc48ac4d95917ff72c9aa31b8b6c";
+      sha256 = "e9abf48307351d5461086d34cd765dcd5af38eac50dbaf3833ddcdd5432908c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/es-CL/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/es-CL/firefox-90.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "5227c5108c01539d98c52224eb4b76c08db8577853cd2e5307ed548c11c73e10";
+      sha256 = "04797e8c12c08eb25f8048f0a653380582cff4f193d03e8e6d3e0d66cf1e59ea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/es-ES/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/es-ES/firefox-90.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "c9d0120abbfc52d5a33c1905d460332d15c1d742f2b7902dd99e49881ac1b41a";
+      sha256 = "1f655463e919d3546a841e86e3aac0bb6b4bc3482153a24d6afaf4eb4f09db0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/es-MX/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/es-MX/firefox-90.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "b1d030328017cd2e03d8c3431582f7ee5c4a0d368074d310cf41d771bfe536e8";
+      sha256 = "3e9b14809de0df3d1f5c0d7bb83f9a769fb5852194511b1cfc33275ca1bbed41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/et/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/et/firefox-90.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "897be30748bce6cd0772be06cca5f02a4768864f8ba433f7840aeb245bd7be6a";
+      sha256 = "918f284c60618404b7f8130b7e14a57d4ca483adeb6007a79422e6fdb7908114";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/eu/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/eu/firefox-90.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "93f97c38ce8393a6bad65d682a2ced7260e2313114979bbcbe9beb7650ea8fd8";
+      sha256 = "5f682f553356652d92684dff3f8385d1d675539d6cb8b155f12874682c0de235";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/fa/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/fa/firefox-90.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "9d5820a4facbdb6959cbbfca9db5158c049c5420744edc77afa933d3c3c7250c";
+      sha256 = "5056f42eaef5f5538bfa9af23e123bf9f0a0d370d6fd7848dcdbc50d0cf61d92";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ff/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ff/firefox-90.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "cfa3059f3f12a5f02b4f9cc076738d32f631fad945db99df3783f9cbfae68628";
+      sha256 = "cf58279f578ef725e2b89ed4a89021a811b3e237d46d02c7d98137fef3775318";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/fi/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/fi/firefox-90.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "806c05b03a7dd6f40ebf17f78e56d1829f7aade412ec8f54ddd25ae6bab4317c";
+      sha256 = "28bd2f67ae638fd602adac6327fe51ebf90ff52c8695e8c8ff4161d6bc20be2b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/fr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/fr/firefox-90.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "e0c6056f04d7c75491c020d0372ce8b2cc5f23959540fb0956b793e4c16ef736";
+      sha256 = "53b69cbc6cd3097b67537979637614a6bcc01450426883b7d35a8de5df6647ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/fy-NL/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/fy-NL/firefox-90.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "e9ae16b0b0f43e4b4e236d47836ed4aa03ccfe0dc6d6401dcd84012d0375d405";
+      sha256 = "8ee8e11a845a2e2b0f9d12d95f8dcc6b58be2722a68f1a8707b0c1f3a66f90d5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ga-IE/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ga-IE/firefox-90.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "f37630c20e722165f2e03bbdb6d7d9d9dda86be17dcdc086d95403509309d32d";
+      sha256 = "39a2bbb6c9a3b3a0ec2c21eeb9f919a54502f891834556ee439704af3705f3fa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/gd/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/gd/firefox-90.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "ae13cdb56c7363fbe96eb07355ac18952c35c2fe078e79438144b2780a363bc4";
+      sha256 = "b667e68662d81518f03ffa0bab538d4601457b6b1eab1f51dc0be3752855d5ad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/gl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/gl/firefox-90.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "f0ee99e1b32c8ab573c4057520c8a4dc7d4639e98574da1a7f4339e9b9cba083";
+      sha256 = "65e9376490e6ee833312b99aa7d8f730495f8320e14203a8d6cc7a94e83e6adc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/gn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/gn/firefox-90.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "c94c8b272a781019e92d4f6ba41349041f0f5a795eccce66719bed137e39b66f";
+      sha256 = "45f3da559b51c5ec300ac64f8d5f0e7583c55abfca4c22e72994f65682d0717e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/gu-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/gu-IN/firefox-90.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "9249604f06abd977e1c4992ed857950fa17b150435691df67bb97c1fe6a67adf";
+      sha256 = "db1394cf1c52fc0eeab116d49fff3bbcef07f64870345490a1f46f3045268d94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/he/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/he/firefox-90.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "5a035ba5537709127a368d89fc4b59fc2eddbe7b56ee9fd0e4fd7b91d4bfdd2e";
+      sha256 = "52b49a0014fa2aad266f2503b6e455310d37af0d93102f22404b303de6afe772";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/hi-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/hi-IN/firefox-90.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "2bdfa548c53bb05064d8a9daf7a83859290f0a1dbaa9979e54615978973c2401";
+      sha256 = "59484d61d3d4802f9389d668f6125299ba072077a87a16d9b09f9780e975d120";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/hr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/hr/firefox-90.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "853c90ad71a8133c2c3282682aa1b4ab3fb45dcc574fe0f099a6fd1b79fea4a9";
+      sha256 = "292ac6975f6319c0b4274fbe64bd9512a8361c254f82c079e8ac75c974839316";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/hsb/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/hsb/firefox-90.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "c5d474cb0ea800ac062678b636b4f09586c430c31eb63438ade304ae009b8c22";
+      sha256 = "81bcc94349b7b83533b5a60d3f8bcef9b3fd0d85628ce0f043013a4c7fe0aacd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/hu/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/hu/firefox-90.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "047ef8b66359959150acff1cd8fc5d3294075cd93028b1c397461bef6b940943";
+      sha256 = "1c5867bd108e9232472ccdec0bc24a6558d9a5a6d9147d0c44a4fba2c44ae01a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/hy-AM/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/hy-AM/firefox-90.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "67d8f771638ac429aaf585a6624a80c0a4369f0ef4de4906c1324a25ef54d3ea";
+      sha256 = "de35f4653730d253e5bf147e65ec1f8680ef1fda008f785eb3e49831a00d8b4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ia/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ia/firefox-90.0.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "fae0a1445107a5632865f159d6ef367243e846fefbd8ae86fedd8e74307ac894";
+      sha256 = "5ea51c02e6f41291da5840d511bf4ad743e475d6d35fbbfa76c4df3e8f45fb50";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/id/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/id/firefox-90.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "d48d736d7825249d72647e07fa0a497434373e8c2b43e31c88d4853c5e57b595";
+      sha256 = "b9ebc450eb9097902f13c7c30e45a361ade71b99b273d0da898301d3e9bdae36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/is/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/is/firefox-90.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "5534810b724fc9931a6aea47768c1c3990d7097127fc7ef96744d0fedd509535";
+      sha256 = "64f7480703eb13e9ba4f12615bd84dead1322d139af1115813b7ab8e6819190d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/it/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/it/firefox-90.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "3fb63402a8a4e495842c7de7c4aaf4b08e258e96371d20f40d0da21769af7d60";
+      sha256 = "3f314ed7442d57345d6d1b368dd55bb9e2dd966e269e56d5ea2abfd9140aca67";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ja/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ja/firefox-90.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "216996e405bce22f6836178c95f2db19cfcc138ca25eb01670b6243fd6b4595b";
+      sha256 = "7cbd06ee69dec66522d35163427f8034bd3ee928aa6bd3c5203f3c9a5e526018";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ka/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ka/firefox-90.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "4184f7b69f0a075a580a8ec059c4ddc237ecd5fc019fc819b1b161cab6841fe4";
+      sha256 = "81575f637a65d1d31503967b380b3337a8af532d5ebd3bc7d35026c37831d50e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/kab/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/kab/firefox-90.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "9d5ec12b8a302644b0fdc0bd20e67b471b6426f075284fb21b1c23b8bb592df7";
+      sha256 = "bb84536e819cd77b4d45786982384821b7d08dda48fc8fa3f0e12e90e75a688e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/kk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/kk/firefox-90.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "c37d42b7472c1b53d9d38a62510be2c559908dbe2a60cba6ee066821ad52dfa9";
+      sha256 = "ced99ad16e7b84fd1c344ff2ad96715e0654ed6cfa0cf6379179bdabf5cb0443";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/km/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/km/firefox-90.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "13d81552dcf88f8ab5b294c0e500af4cf27d0cc6f8f3c2b9ecd60ccf28601fc3";
+      sha256 = "f2641008a2bfd95467b274419d4305014b8b3e5c75622d30a46c5eb9ad761990";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/kn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/kn/firefox-90.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "385af04026d1137d7f3d110a3070332ece0f02465686e330307d6f7dff09310c";
+      sha256 = "5bcda92360ae86a1ed015736847e7d43eac239a6bd995fc932259f169a7f3821";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ko/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ko/firefox-90.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "d408b25b22b84500fad5014aff28a1f0fcafa47f35328121ec944682c8252a10";
+      sha256 = "5be9eaa06a7e35b1d401643601ac7e212489609c52961303cb8fe054bf698190";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/lij/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/lij/firefox-90.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "22f0806c3ce1c15ea10c5d7ca9b3148d0bc6274df88e6224efdbafa4ff1824db";
+      sha256 = "01baf23ab6d89adb3eed47b9f216a0b17b8bc8850b10d09c2bef10792fb1d76a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/lt/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/lt/firefox-90.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "4f3af6bf854de0ba54631c3d462cdf4b8735de28075c249649db7219ec1cc1b1";
+      sha256 = "a5f8a4fa438fe054d1e8d09ced0079673bc25431aa9cbc6b36ca2e5a1dc58d72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/lv/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/lv/firefox-90.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "a7d5920c2f93178f3d95bef5a5b16413a307ca468b023bfaf65cdfdeeaf58025";
+      sha256 = "8ed19c630ad2cabdd374d2499ddda0ab8993a79c50e7e6728081a6842d1f68d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/mk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/mk/firefox-90.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "ae8dda2d271962faafe1e27bc4448d86efb2283f1ecd3b546e077fbe73f25649";
+      sha256 = "cb497f4b8f1766afdeed4e351a597bd1da4376c78cdb4172d4815c055583ef4c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/mr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/mr/firefox-90.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "6e632ecd870759209c2e05d119db8c3018ec23ec178fa066408c2db40283606c";
+      sha256 = "0e03049ef7efb5c78963b4f718a61469cb6b1931313ffb50d3e4484b6cf14837";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ms/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ms/firefox-90.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "afb86390e11a6631583797f36471ab72780db95c42d80908edd2e30f2f8c7cee";
+      sha256 = "1a92300fdd218d1fff96388794cea650371c0b1da72b20b22d6deaef7a794c24";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/my/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/my/firefox-90.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "709e24a1c4145da05b77d7e86351e617f8ffd1a7a1b0b39733e46640a953cd37";
+      sha256 = "066061e09aace32d8a7a67499a75aeb143ef1e474e8ce37131e6c37472704169";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/nb-NO/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/nb-NO/firefox-90.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "63e00266d4ebb3212cbcc5a54a46bd2f56c595e6be29aed646b3313a488ad8c6";
+      sha256 = "12771de667402fc8d8d782ad1b799cc20974f2ee6dba8db87b39f319e6752dc1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ne-NP/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ne-NP/firefox-90.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "1f1a7d20758e4c654ace094f2d79daef76247433474be9cf228d26e76819c64c";
+      sha256 = "d2d8610eb11fe1aeb948a2ad2b580a396450c92458a9b4cf6cc2b3b051e6b7c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/nl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/nl/firefox-90.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "afb68f242b89b97a9495be420b91ad65aa0ee254932660defe141117acd83c66";
+      sha256 = "99c76cd723c19c6a2192de4f588557060284185047e4597c067e35ba623f01f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/nn-NO/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/nn-NO/firefox-90.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "31e20f0e5171e9137999dbefdec33f9e97205ecef2b141766db275b66592c7df";
+      sha256 = "5e25d25ae36bbe8346aab027ad684fee3766a1b79c9bf86a370b91e36ab417b9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/oc/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/oc/firefox-90.0.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "68a990d30be02eee79f1fc7a799e88a3e41749e44b28f5b59fd1741a458f668c";
+      sha256 = "462c07c7a8864711c0309fa0847bbb993eee518508dbb5614571f994f2241099";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/pa-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/pa-IN/firefox-90.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "133c91f6932454e70fbc10bb881d00f859032be6d92a1b41dd1df31dfa57f376";
+      sha256 = "d1b1f53ed3aa7bd139541e249f29e6672c30d5f88eb980be793b6c6622338eb0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/pl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/pl/firefox-90.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "a86f0230c57ecfeb12a41762a1bde5bfd49224b898f891215a094ca7056e2b22";
+      sha256 = "b63144adb425b8477f3b8c9026ea3a1168fb3af513d25d5594b810a0aa4be831";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/pt-BR/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/pt-BR/firefox-90.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "a0ec38a70fc4ad0d0f67962df8d2478fa00f767b1797e69803d24913be5facb9";
+      sha256 = "218108b556c88c9d4ce6f0cc37b3b45dd5b03e7beb591ba0c52aa257d17c54db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/pt-PT/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/pt-PT/firefox-90.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "e443929ef871d56be734b8b3d766845583e174e51137e87193cef5aa83cdb55b";
+      sha256 = "96600b7012300cfea1ede41e2c3ac9756cac3981691908e8b2e7c2624eca2d9d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/rm/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/rm/firefox-90.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "3c044dd647fbf331a4389719c4d1105c1e5cb58c3eb1636b56058730a9e956e8";
+      sha256 = "93bf70fc04f53f779335db31a264a0298188459aa3687d15c7b890199dfd76fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ro/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ro/firefox-90.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "5a9fa20d508d9de6559664e96050b8843eff0633d5d660f3fa7cce2da375660c";
+      sha256 = "bd38c728d06513f3b8fc0ebcfadce3e3029a5779f0c745085d52d823075f0266";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ru/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ru/firefox-90.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "99d6b8116f594f01936bb9528b2d03e2e78a6aa7371eb10e4de50593200a7bc5";
+      sha256 = "abc35efade33dc03e6a4ce093d5995e79daea3383c8a4a4b63d83f8336ecfad1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/si/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/si/firefox-90.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "b80d42d72e039cfb15b30a7054bb84f709d7bb509c299862054a5c65f588075b";
+      sha256 = "201dd56f43db3862243b41fc5b41eefba737d91a05826d50e922f206bd6f6906";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/sk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/sk/firefox-90.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "e21b18c60376edd371b5a52966b7c8d339e0adc0b46e5ac98381a46cfa42056f";
+      sha256 = "fa5b0d2d00c146ffc0fafb760e870db3133d9b387d383f34099e7e5446986169";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/sl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/sl/firefox-90.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "63b70e14e9c7cb579a49013f3f6b31ffcc88f1424a17987ffd2788b876e22c13";
+      sha256 = "84900580af3f7b7b10481f6acd42bcf30b98ffa5af3b80cc020f4217a150252a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/son/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/son/firefox-90.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "d77f34b17861c607125b1bbdf84f048634b6e7d3d3e35a8c0f4b55e3ce4351b9";
+      sha256 = "122f4a2f50a5bf38e59fd7ea1fc5eaefa8f4dd55a603220a272a32252d6b7c80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/sq/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/sq/firefox-90.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "fb5b14076d7e6a12ea0c5f510dc15c94fa6a311285cec612f9c7a216c1d71af7";
+      sha256 = "b829a9b18ca57b53b029841812ce6bd4400f3df60d71980258b9a8e7f5b4c33b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/sr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/sr/firefox-90.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "9606afc3903197860f2b5d6cfddfbf32cb88c43f8edcdac6c94130d6a7dc4f9a";
+      sha256 = "523bc6ed11bd320067361f8be81b0c0793618e376be9a8ef1a7a513b544a279a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/sv-SE/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/sv-SE/firefox-90.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "457c4ed993411a6407fd51a88c8f6993abaf26215e335f7d871c9445e2cf7cfc";
+      sha256 = "8c8a7f21fedf76d294a1521f4c786c944498e98567c969c9e1455f6b2a535022";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/szl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/szl/firefox-90.0.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "d06c745ac74ad48a5083768774dcc72d020a34c9dd2cc9aed2551410de1b86ff";
+      sha256 = "a1530e1ad9eef4cad401d0374db80593a3960feca67715d352aac51c66dc0415";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ta/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ta/firefox-90.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "acdc690bd1816fe043640d62b678de02c3386736bde18f31eefaba749847f6a1";
+      sha256 = "0d4da9f60ffaa360424e73120a782d0480d52227e8b110a1eafdaeb0e6f47092";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/te/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/te/firefox-90.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "e2cbc4ff9b7682cc4ec3b49db69c841d95cf6336645c50025236885b24fc3090";
+      sha256 = "fe7cfd5db5b98a9245fa30a8970a729497e563ddf5511609d7930537b5586f2b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/th/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/th/firefox-90.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "83c88f10bddd3ed8e1100bc57bebeeb4d0ccab30f2093813c6e121adb04be5e3";
+      sha256 = "1c1a643ea94193bbb063e35921db54bcb6b6333fa06b2de6b91c88ecb888e868";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/tl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/tl/firefox-90.0.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "3dd0c9dbb655c54db0b672ef3ca4b61bbe6a488185d92814e474da58b15ac7e5";
+      sha256 = "89ec5b3f116c6e86bc8e003548c9be2772b7d46c86233b87e96b579d5d7d8851";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/tr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/tr/firefox-90.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "442f82197c929080e432817a7cfe42fafee2640799596ab5fcc55d4dd6e7a296";
+      sha256 = "03a367c5f7b52a8e8e863ea108485dafc0232e5dea5da538a3a632e8ae5de454";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/trs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/trs/firefox-90.0.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "98f10ccebd94fb4d0fd68bee80a691248e0033e1e33f03f97dcd9e3b3c602712";
+      sha256 = "85d3ba651e9f39a76f2ef1d92d6ce34ed792f6477848b7e75a806c699c72c3c6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/uk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/uk/firefox-90.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "99cf2753defcec16447dc176b331ce6e6e70f66dacbc341e3f719cf9392d0acc";
+      sha256 = "90649b7b2cad702b53b7b63fea7e72e666bad605841887bb42d69d487a561678";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ur/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/ur/firefox-90.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "904484ad86e2e27d792b40aaa8a73857476c786cf500344305795bfbad87cba7";
+      sha256 = "9b9c80716edc99a3e0b7bec2da38a7391798d401734fce4d1bee60f0c71a18ea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/uz/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/uz/firefox-90.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "b44a544c6f473a0b4d1c4b408d5fbde422199e23b3b85957b60d2eaf27351b2d";
+      sha256 = "5b154b4f8c036ed7c62bf123e0802f2318cfede67bfafe9aa86cda7b2650a2b2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/vi/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/vi/firefox-90.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "e4f5417a5e294ab2b38744a260280c1307c47b072aa78657ba1143020c26c778";
+      sha256 = "8c3b943e33a1f33086fcce734e183dcf96cd29be0daedc1b4a1f4cd068aaca8b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/xh/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/xh/firefox-90.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "39ce93e0459299d54a99c317d0dd8b01cb694a8140d5036f09e13d72887a8d6f";
+      sha256 = "c43f991777a8fbf8372f1928a465de170b25b07ede53dfb0adc83af18fd11e02";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/zh-CN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/zh-CN/firefox-90.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "7f6ae88c4eda5fb7893e7b35f9ae04df658f78919fe3476ba78fe2460a2896ed";
+      sha256 = "1b8f9f96ee1d59b92b974f9f18639c7e38cd3124c5fb2f9ba7fd44ceb5c532a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/zh-TW/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0/linux-i686/zh-TW/firefox-90.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "7e6db3c697021be17253b616d348e67df62ea3d86828af768881f67f4d340379";
+      sha256 = "7a6b520e84e7f5cbf372f1482e4b138a7bf785215776f193e49b30c3860e3625";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix
index 018bf04cb57..a2fdb82ffec 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/update.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix
@@ -26,7 +26,7 @@ in writeScript "update-${name}" ''
   HOME=`mktemp -d`
   export GNUPGHOME=`mktemp -d`
 
-  gpg --import ${./mozilla.asc}
+  gpg --receive-keys 14F26682D0916CDD81E37B6D61B7B526D98F0353
 
   tmpfile=`mktemp`
   url=${baseUrl}
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 2d2073b80b0..c7632ad338d 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -12,6 +12,7 @@
 , autoconf213, which, gnused, rustPackages, rustPackages_1_45
 , rust-cbindgen, nodejs, nasm, fetchpatch
 , gnum4
+, gtk2, gtk3, wrapGAppsHook
 , debugBuild ? false
 
 ### optionals
@@ -21,7 +22,6 @@
 , alsaSupport ? stdenv.isLinux, alsa-lib
 , pulseaudioSupport ? stdenv.isLinux, libpulseaudio
 , ffmpegSupport ? true
-, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
 , waylandSupport ? true, libxkbcommon, libdrm
 , ltoSupport ? (stdenv.isLinux && stdenv.is64bit), overrideCC, buildPackages
 , gssSupport ? true, libkrb5
@@ -79,7 +79,7 @@ let
   flag = tf: x: [(if tf then "--enable-${x}" else "--disable-${x}")];
 
   default-toolkit = if stdenv.isDarwin then "cairo-cocoa"
-                    else "cairo-gtk${if gtk3Support then "3${lib.optionalString waylandSupport "-wayland"}" else "2"}";
+                    else "cairo-gtk3${lib.optionalString waylandSupport "-wayland"}";
 
   binaryName = "firefox";
   binaryNameCapitalized = lib.toUpper (lib.substring 0 1 binaryName) + lib.substring 1 (-1) binaryName;
@@ -139,7 +139,7 @@ buildStdenv.mkDerivation ({
   lib.optional (lib.versionOlder ffversion "86") ./env_var_for_system_dir-ff85.patch ++
   lib.optional (lib.versionAtLeast ffversion "86") ./env_var_for_system_dir-ff86.patch ++
   lib.optional (lib.versionOlder ffversion "83") ./no-buildconfig-ffx76.patch ++
-  lib.optional (lib.versionAtLeast ffversion "84") ./no-buildconfig-ffx84.patch ++
+  lib.optional (lib.versionAtLeast ffversion "90") ./no-buildconfig-ffx90.patch ++
   lib.optional (ltoSupport && lib.versionOlder ffversion "84") ./lto-dependentlibs-generation-ffx83.patch ++
   lib.optional (ltoSupport && lib.versionAtLeast ffversion "84" && lib.versionOlder ffversion "86")
     (fetchpatch {
@@ -164,13 +164,13 @@ buildStdenv.mkDerivation ({
   patchFlags = [ "-p1" "-l" ];
 
   buildInputs = [
-    gtk2 perl zip libjpeg zlib bzip2
+    gtk3 perl zip libjpeg zlib bzip2
     dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor
     xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
     xorg.pixman yasm libGLU libGL
     xorg.xorgproto
     xorg.libXdamage
-    xorg.libXext makeWrapper
+    xorg.libXext
     libevent libstartup_notification /* cairo */
     libpng jemalloc glib
     nasm icu67 libvpx_1_8
@@ -182,14 +182,14 @@ buildStdenv.mkDerivation ({
   ]
   ++ lib.optional  alsaSupport alsa-lib
   ++ lib.optional  pulseaudioSupport libpulseaudio # only headers are needed
-  ++ lib.optional  gtk3Support gtk3
   ++ lib.optional  gssSupport libkrb5
   ++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
   ++ lib.optional  pipewireSupport pipewire
   ++ lib.optional  (lib.versionAtLeast ffversion "82") gnum4
   ++ lib.optionals buildStdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos
                                           AVFoundation MediaToolbox CoreLocation
-                                          Foundation libobjc AddressBook cups ];
+                                          Foundation libobjc AddressBook cups ]
+  ++ lib.optional  (lib.versionOlder ffversion "90") gtk2;
 
   NIX_LDFLAGS = lib.optionalString ltoSupport ''
     -rpath ${llvmPackages.libunwind.out}/lib
@@ -224,6 +224,7 @@ buildStdenv.mkDerivation ({
       cargo
       gnused
       llvmPackages.llvm # llvm-objdump
+      makeWrapper
       nodejs
       perl
       pkg-config
@@ -232,8 +233,8 @@ buildStdenv.mkDerivation ({
       rustc
       which
       unzip
+      wrapGAppsHook
     ]
-    ++ lib.optional gtk3Support wrapGAppsHook
     ++ lib.optionals buildStdenv.isDarwin [ xcbuild rsync ]
     ++ extraNativeBuildInputs;
 
@@ -362,8 +363,6 @@ buildStdenv.mkDerivation ({
   passthru = {
     inherit updateScript;
     version = ffversion;
-    isFirefox3Like = true;
-    gtk = gtk2;
     inherit alsaSupport;
     inherit pipewireSupport;
     inherit nspr;
@@ -372,7 +371,8 @@ buildStdenv.mkDerivation ({
     inherit execdir;
     inherit browserName;
     inherit tests;
-  } // lib.optionalAttrs gtk3Support { inherit gtk3; };
+    inherit gtk3;
+  };
 
   hardeningDisable = [ "format" ]; # -Werror=format-security
 
diff --git a/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx84.patch b/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx90.patch
index c4187fcda39..c8d2028f30b 100644
--- a/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx84.patch
+++ b/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx90.patch
@@ -1,25 +1,22 @@
-diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
-index 10ac77b..0125d9b 100644
 --- a/docshell/base/nsAboutRedirector.cpp
 +++ b/docshell/base/nsAboutRedirector.cpp
-@@ -63,8 +63,6 @@ static const RedirEntry kRedirMap[] = {
+@@ -66,8 +66,6 @@ static const RedirEntry kRedirMap[] = {
      {"about", "chrome://global/content/aboutAbout.html", 0},
-     {"addons", "chrome://mozapps/content/extensions/extensions.xhtml",
+     {"addons", "chrome://mozapps/content/extensions/aboutaddons.html",
       nsIAboutModule::ALLOW_SCRIPT},
 -    {"buildconfig", "chrome://global/content/buildconfig.html",
 -     nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT},
      {"checkerboard", "chrome://global/content/aboutCheckerboard.html",
       nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
           nsIAboutModule::ALLOW_SCRIPT},
-diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
-index c83b3e2..d543140 100644
 --- a/toolkit/content/jar.mn
 +++ b/toolkit/content/jar.mn
-@@ -40,7 +40,6 @@ toolkit.jar:
+@@ -39,8 +39,6 @@ toolkit.jar:
+    content/global/plugins.html
     content/global/plugins.css
     content/global/plugins.js
-    content/global/browser-child.js
 -*   content/global/buildconfig.html
-    content/global/buildconfig.css
+-   content/global/buildconfig.css
     content/global/contentAreaUtils.js
     content/global/datepicker.xhtml
+ #ifndef MOZ_FENNEC
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 1362844c37b..8799764fe21 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -7,10 +7,10 @@ in
 rec {
   firefox = common rec {
     pname = "firefox";
-    ffversion = "89.0";
+    ffversion = "90.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "5089720feda15d054d0aa4c3bdeb84760314dadd6381d7360e688d8e396154868220c6315add650d8d2a42652cb8a9bfeb833885812ef0bd70a74ee58ad18aa3";
+      sha512 = "233ad59e4ab2f08d2253b49235b51b26fa32fb7c285928110573ccbe67c79965d9401a6c58a3af2ad22b8a58ca5d9b3154e3e8c9d29b153acd16152d9b75442c";
     };
 
     meta = {
@@ -32,10 +32,10 @@ rec {
 
   firefox-esr-78 = common rec {
     pname = "firefox-esr";
-    ffversion = "78.11.0esr";
+    ffversion = "78.12.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "d02fc2eda587155b1c54ca12a6c5cde220a29f41f154f1c9b71ae8f966d8cc9439201a5b241e03fc0795b74e2479f7aa5d6b69f70b7639432e5382f321f7a6f4";
+      sha512 = "646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a";
     };
 
     meta = {
@@ -51,6 +51,7 @@ rec {
     tests = [ nixosTests.firefox-esr ];
     updateScript = callPackage ./update.nix {
       attrPath = "firefox-esr-78-unwrapped";
+      versionSuffix = "esr";
       versionKey = "ffversion";
     };
   };
diff --git a/pkgs/applications/networking/browsers/firefox/update.nix b/pkgs/applications/networking/browsers/firefox/update.nix
index e12b552535d..bbfd17d1fea 100644
--- a/pkgs/applications/networking/browsers/firefox/update.nix
+++ b/pkgs/applications/networking/browsers/firefox/update.nix
@@ -6,6 +6,7 @@
 , gnused
 , gnugrep
 , curl
+, gnupg
 , attrPath
 , runtimeShell
 , baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/"
@@ -15,7 +16,12 @@
 
 writeScript "update-${attrPath}" ''
   #!${runtimeShell}
-  PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep gnused xidel ]}
+  PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep gnupg gnused xidel ]}
+
+  set -eux
+  HOME=`mktemp -d`
+  export GNUPGHOME=`mktemp -d`
+  gpg --receive-keys 14F26682D0916CDD81E37B6D61B7B526D98F0353
 
   url=${baseUrl}
 
@@ -31,5 +37,11 @@ writeScript "update-${attrPath}" ''
            sort --version-sort | \
            tail -n 1`
 
-  update-source-version ${attrPath} "$version" "" "" --version-key=${versionKey}
+  curl --silent --show-error -o "$HOME"/shasums "$url$version/SHA512SUMS"
+  curl --silent --show-error -o "$HOME"/shasums.asc "$url$version/SHA512SUMS.asc"
+  gpgv --keyring="$GNUPGHOME"/pubring.kbx "$HOME"/shasums.asc "$HOME"/shasums
+
+  hash=$(grep '\.source\.tar\.xz$' "$HOME"/shasums | grep '^[^ ]*' -o)
+
+  update-source-version ${attrPath} "$version" "$hash" "" --version-key=${versionKey}
 ''
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index f2fa787c17c..202821b0978 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -2,7 +2,7 @@
 , replace, fetchurl, zip, unzip, jq, xdg-utils, writeText
 
 ## various stuff that can be plugged in
-, ffmpeg, xorg, alsa-lib, libpulseaudio, libcanberra-gtk2, libglvnd, libnotify
+, ffmpeg, xorg, alsa-lib, libpulseaudio, libcanberra-gtk3, libglvnd, libnotify
 , gnome/*.gnome-shell*/
 , browserpass, chrome-gnome-shell, uget-integrator, plasma5Packages, bukubrow, pipewire
 , tridactyl-native
@@ -44,8 +44,6 @@ let
     , nixExtensions ? null
     }:
 
-    assert forceWayland -> (browser ? gtk3); # Can only use the wayland backend if gtk3 is being used
-
     let
       ffmpegSupport = browser.ffmpegSupport or false;
       gssSupport = browser.gssSupport or false;
@@ -73,7 +71,7 @@ let
             ++ lib.optional (config.pulseaudio or true) libpulseaudio
             ++ lib.optional alsaSupport alsa-lib
             ++ pkcs11Modules;
-      gtk_modules = [ libcanberra-gtk2 ];
+      gtk_modules = [ libcanberra-gtk3 ];
 
       #########################
       #                       #
@@ -183,7 +181,7 @@ let
       };
 
       nativeBuildInputs = [ makeWrapper lndir ];
-      buildInputs = lib.optional (browser ? gtk3) browser.gtk3;
+      buildInputs = [ browser.gtk3 ];
 
 
       buildCommand = lib.optionalString stdenv.isDarwin ''
@@ -266,13 +264,11 @@ let
             --set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
             --set MOZ_LEGACY_PROFILES 1 \
             --set MOZ_ALLOW_DOWNGRADE 1 \
+            --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
+            --suffix XDG_DATA_DIRS : '${gnome.adwaita-icon-theme}/share' \
             ${lib.optionalString forceWayland ''
               --set MOZ_ENABLE_WAYLAND "1" \
-            ''}${lib.optionalString (browser ? gtk3)
-                ''--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
-                  --suffix XDG_DATA_DIRS : '${gnome.adwaita-icon-theme}/share'
-                ''
-            }
+            ''}
         #############################
         #                           #
         #   END EXTRA PREF CHANGES  #
diff --git a/pkgs/applications/networking/browsers/icecat-bin/default.nix b/pkgs/applications/networking/browsers/icecat-bin/default.nix
new file mode 100644
index 00000000000..6f5da5b92a6
--- /dev/null
+++ b/pkgs/applications/networking/browsers/icecat-bin/default.nix
@@ -0,0 +1,129 @@
+{ stdenv
+, lib
+, fetchzip
+, autoPatchelfHook
+, wrapGAppsHook
+, gnome2
+, nss
+, xdg-utils
+, xorg
+, alsa-lib
+, atk
+, cairo
+, cups
+, curl
+, dbus
+, expat
+, fontconfig
+, freetype
+, gdk-pixbuf
+, glib
+, gtk3
+, libX11
+, libxcb
+, libXScrnSaver
+, libXcomposite
+, libXcursor
+, libXdamage
+, libXext
+, libXfixes
+, libXi
+, libXrandr
+, libXrender
+, libXtst
+, libdrm
+, libnotify
+, libopus
+, libpulseaudio
+, libuuid
+, libxshmfence
+, mesa
+, nspr
+, pango
+, systemd
+, at-spi2-atk
+, at-spi2-core
+}:
+
+stdenv.mkDerivation rec {
+  pname = "icecat-bin";
+  version = "60.7.0";
+
+  src = fetchzip {
+    url = "https://mirror.tochlab.net/pub/gnu/gnuzilla/${version}/icecat-${version}.en-US.gnulinux-x86_64.tar.bz2";
+    sha256 = "sha256-bEapbQIcZXQ0Tip/X1Q0guowpr3wNDYsFbHGmTbc5mE=";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    nss
+    xdg-utils
+    xorg.libxkbfile
+    alsa-lib
+    at-spi2-atk
+    at-spi2-core
+    atk
+    cairo
+    cups
+    curl
+    dbus
+    expat
+    fontconfig.lib
+    freetype
+    gdk-pixbuf
+    glib
+    gnome2.GConf
+    gnome2.gtk
+    gtk3
+    libX11
+    libXScrnSaver
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXrandr
+    libXrender
+    libXtst
+    libdrm
+    libnotify
+    libopus
+    libuuid
+    libxcb
+    libxshmfence
+    mesa
+    nspr
+    nss
+    pango
+    xorg.libXt
+    stdenv.cc.cc.lib
+  ];
+
+  unpackPhase = ''
+    mkdir -p $TMP/ $out/{opt,bin}
+    cp $src/* $TMP/ -r
+  '';
+
+  installPhase = ''
+    cp -r $TMP/* $out/opt/
+    ln -sf $out/opt/icecat-bin $out/bin/icecat
+  '';
+
+  runtimeDependencies = [
+    libpulseaudio.out
+    (lib.getLib systemd)
+  ];
+
+  meta = with lib; {
+    description = "Binary build of the GNU version of the Mozilla Firefox browser";
+    homepage = "https://www.gnu.org/software/gnuzilla/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 436bccba47a..f15cf6c81b4 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-W7uSyApTKBTE7bgprgCd8T5dKQ/nLYKIzFxjDMCRmZQ=";
+    sha256 = "sha256-NjiTjY2YuxUs/Wny7aDqHGw/2ML1fenjHrl089rLXFI=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix
index 3362948e98a..187914740f2 100644
--- a/pkgs/applications/networking/browsers/midori/default.nix
+++ b/pkgs/applications/networking/browsers/midori/default.nix
@@ -49,6 +49,10 @@ stdenv.mkDerivation rec {
     libarchive
   ];
 
+  passthru = {
+    inherit gtk3;
+  };
+
   meta = with lib; {
     description = "Lightweight WebKitGTK web browser";
     homepage = "https://www.midori-browser.org/";
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 1f03184eeed..9e8dec56179 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.2.3";
+  version = "2.3.0";
 
   # the release tarballs are different from the git checkout!
   src = fetchurl {
     url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-BoP168jxj94nvkrcgC83fPw/TPRsI2PbCooqzWNF62I=";
+    sha256 = "09fz6rd0laisq7pqf9nrllcx58yb129fc05kdk45zrwwggq03b8h";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 09128301d6c..d1830f1c52f 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -88,19 +88,19 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "10.0.17";
+  version = "10.0.18";
 
   lang = "en-US";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
-      sha256 = "13x38n1cvqmxjz0jf2fda8lx2k25szzmg7gvv08z3q5na7109m2m";
+      sha256 = "15ni33mkg3awfmk3ynr0vi4max1h2k0s10xw3dpmdx6chzv4ll14";
     };
 
     i686-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
-      sha256 = "0f0ndwmzh732svwbcf1lbxlvdxw4i4d56w9xdl5fxd4n7ivqml1q";
+      sha256 = "16lx8wkxli1fzq5f6gcw3im4p8k3xdmnmf6w0p7n8hd8681b1w5s";
     };
   };
 in
@@ -401,7 +401,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.torproject.org/";
     changelog = "https://gitweb.torproject.org/builders/tor-browser-build.git/plain/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt?h=maint-${version}";
     platforms = attrNames srcs;
-    maintainers = with maintainers; [ offline matejc thoughtpolice joachifm hax404 cap KarlJoad ];
+    maintainers = with maintainers; [ offline matejc thoughtpolice joachifm hax404 KarlJoad ];
     mainProgram = "tor-browser";
     hydraPlatforms = [];
     # MPL2.0+, GPL+, &c.  While it's not entirely clear whether
diff --git a/pkgs/applications/networking/browsers/vieb/default.nix b/pkgs/applications/networking/browsers/vieb/default.nix
index 5a2b45725df..f97e8d8250e 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 = "5.1.0";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
-    owner = "jelmerro";
+    owner = "Jelmerro";
     repo = pname;
     rev = version;
-    sha256 = "sha256-0C2gD40nPgEZopGMPsd5ajwcwFRjcu4Xc2DTpEwSK4c=";
+    sha256 = "sha256-NKWqSnUO8SScEodHYSptRHwVNOa5C4M61ac85d+wYK0=";
   };
 
   packageJSON = ./package.json;
@@ -50,6 +50,7 @@ mkYarnPackage rec {
 
   meta = with lib; {
     homepage = "https://vieb.dev/";
+    changelog = "https://github.com/Jelmerro/Vieb/releases/tag/${version}";
     description = "Vim Inspired Electron Browser";
     maintainers = with maintainers; [ gebner fortuneteller2k ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/networking/browsers/vieb/package.json b/pkgs/applications/networking/browsers/vieb/package.json
index 94effdaa2e5..1836efdb8ad 100644
--- a/pkgs/applications/networking/browsers/vieb/package.json
+++ b/pkgs/applications/networking/browsers/vieb/package.json
@@ -1,9 +1,8 @@
 {
   "name": "vieb",
   "productName": "Vieb",
-  "version": "5.1.0",
+  "version": "5.3.0",
   "description": "Vim Inspired Electron Browser",
-  "bin": "app.js",
   "main": "app/index.js",
   "scripts": {
     "build": "node build.js",
@@ -30,18 +29,18 @@
   "license": "GPL-3.0-or-later",
   "devDependencies": {
     "archiver": "5.3.0",
-    "electron": "13.1.1",
-    "electron-builder": "22.11.5",
-    "eslint": "7.28.0",
+    "electron": "13.1.4",
+    "electron-builder": "22.11.7",
+    "eslint": "7.29.0",
     "eslint-plugin-compat": "3.9.0",
     "eslint-plugin-sort-keys-fix": "1.1.1",
-    "jest-environment-jsdom": "27.0.3",
-    "jest": "27.0.4"
+    "jest": "27.0.6",
+    "jest-environment-jsdom": "27.0.6"
   },
   "dependencies": {
     "7zip-bin": "5.1.1",
-    "@cliqz/adblocker-electron": "1.22.1",
-    "@cliqz/adblocker-electron-preload": "1.22.1",
+    "@cliqz/adblocker-electron": "1.22.2",
+    "@cliqz/adblocker-electron-preload": "1.22.2",
     "is-svg": "4.3.1",
     "rimraf": "3.0.2"
   },
diff --git a/pkgs/applications/networking/browsers/vieb/yarn.lock b/pkgs/applications/networking/browsers/vieb/yarn.lock
index ff4a7248f61..33e9604c06d 100644
--- a/pkgs/applications/networking/browsers/vieb/yarn.lock
+++ b/pkgs/applications/networking/browsers/vieb/yarn.lock
@@ -14,32 +14,32 @@
   dependencies:
     "@babel/highlight" "^7.10.4"
 
-"@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==
+"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
+  integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==
   dependencies:
-    "@babel/highlight" "^7.12.13"
+    "@babel/highlight" "^7.14.5"
 
-"@babel/compat-data@^7.14.4":
-  version "7.14.4"
-  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.4.tgz#45720fe0cecf3fd42019e1d12cc3d27fadc98d58"
-  integrity sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ==
+"@babel/compat-data@^7.14.5":
+  version "7.14.7"
+  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08"
+  integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==
 
 "@babel/core@^7.1.0", "@babel/core@^7.7.2", "@babel/core@^7.7.5":
-  version "7.14.3"
-  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz#5395e30405f0776067fbd9cf0884f15bfb770a38"
-  integrity sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==
-  dependencies:
-    "@babel/code-frame" "^7.12.13"
-    "@babel/generator" "^7.14.3"
-    "@babel/helper-compilation-targets" "^7.13.16"
-    "@babel/helper-module-transforms" "^7.14.2"
-    "@babel/helpers" "^7.14.0"
-    "@babel/parser" "^7.14.3"
-    "@babel/template" "^7.12.13"
-    "@babel/traverse" "^7.14.2"
-    "@babel/types" "^7.14.2"
+  version "7.14.6"
+  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.6.tgz#e0814ec1a950032ff16c13a2721de39a8416fcab"
+  integrity sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==
+  dependencies:
+    "@babel/code-frame" "^7.14.5"
+    "@babel/generator" "^7.14.5"
+    "@babel/helper-compilation-targets" "^7.14.5"
+    "@babel/helper-module-transforms" "^7.14.5"
+    "@babel/helpers" "^7.14.6"
+    "@babel/parser" "^7.14.6"
+    "@babel/template" "^7.14.5"
+    "@babel/traverse" "^7.14.5"
+    "@babel/types" "^7.14.5"
     convert-source-map "^1.7.0"
     debug "^4.1.0"
     gensync "^1.0.0-beta.2"
@@ -47,137 +47,144 @@
     semver "^6.3.0"
     source-map "^0.5.0"
 
-"@babel/generator@^7.14.2", "@babel/generator@^7.14.3", "@babel/generator@^7.7.2":
-  version "7.14.3"
-  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.3.tgz#0c2652d91f7bddab7cccc6ba8157e4f40dcedb91"
-  integrity sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==
+"@babel/generator@^7.14.5", "@babel/generator@^7.7.2":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz#848d7b9f031caca9d0cd0af01b063f226f52d785"
+  integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==
   dependencies:
-    "@babel/types" "^7.14.2"
+    "@babel/types" "^7.14.5"
     jsesc "^2.5.1"
     source-map "^0.5.0"
 
-"@babel/helper-compilation-targets@^7.13.16":
-  version "7.14.4"
-  resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz#33ebd0ffc34248051ee2089350a929ab02f2a516"
-  integrity sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA==
+"@babel/helper-compilation-targets@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf"
+  integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==
   dependencies:
-    "@babel/compat-data" "^7.14.4"
-    "@babel/helper-validator-option" "^7.12.17"
+    "@babel/compat-data" "^7.14.5"
+    "@babel/helper-validator-option" "^7.14.5"
     browserslist "^4.16.6"
     semver "^6.3.0"
 
-"@babel/helper-function-name@^7.14.2":
-  version "7.14.2"
-  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz#397688b590760b6ef7725b5f0860c82427ebaac2"
-  integrity sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==
-  dependencies:
-    "@babel/helper-get-function-arity" "^7.12.13"
-    "@babel/template" "^7.12.13"
-    "@babel/types" "^7.14.2"
-
-"@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.13.12":
-  version "7.13.12"
-  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72"
-  integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==
-  dependencies:
-    "@babel/types" "^7.13.12"
-
-"@babel/helper-module-imports@^7.13.12":
-  version "7.13.12"
-  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977"
-  integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==
-  dependencies:
-    "@babel/types" "^7.13.12"
-
-"@babel/helper-module-transforms@^7.14.2":
-  version "7.14.2"
-  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5"
-  integrity sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==
-  dependencies:
-    "@babel/helper-module-imports" "^7.13.12"
-    "@babel/helper-replace-supers" "^7.13.12"
-    "@babel/helper-simple-access" "^7.13.12"
-    "@babel/helper-split-export-declaration" "^7.12.13"
-    "@babel/helper-validator-identifier" "^7.14.0"
-    "@babel/template" "^7.12.13"
-    "@babel/traverse" "^7.14.2"
-    "@babel/types" "^7.14.2"
-
-"@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.13"
-
-"@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.13.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af"
-  integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==
-
-"@babel/helper-replace-supers@^7.13.12":
-  version "7.14.4"
-  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz#b2ab16875deecfff3ddfcd539bc315f72998d836"
-  integrity sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==
-  dependencies:
-    "@babel/helper-member-expression-to-functions" "^7.13.12"
-    "@babel/helper-optimise-call-expression" "^7.12.13"
-    "@babel/traverse" "^7.14.2"
-    "@babel/types" "^7.14.4"
-
-"@babel/helper-simple-access@^7.13.12":
-  version "7.13.12"
-  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6"
-  integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==
-  dependencies:
-    "@babel/types" "^7.13.12"
-
-"@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.12.13"
-
-"@babel/helper-validator-identifier@^7.14.0":
-  version "7.14.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
-  integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
-
-"@babel/helper-validator-option@^7.12.17":
-  version "7.12.17"
-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831"
-  integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==
-
-"@babel/helpers@^7.14.0":
-  version "7.14.0"
-  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62"
-  integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==
-  dependencies:
-    "@babel/template" "^7.12.13"
-    "@babel/traverse" "^7.14.0"
-    "@babel/types" "^7.14.0"
-
-"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13":
-  version "7.14.0"
-  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf"
-  integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==
-  dependencies:
-    "@babel/helper-validator-identifier" "^7.14.0"
+"@babel/helper-function-name@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4"
+  integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==
+  dependencies:
+    "@babel/helper-get-function-arity" "^7.14.5"
+    "@babel/template" "^7.14.5"
+    "@babel/types" "^7.14.5"
+
+"@babel/helper-get-function-arity@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815"
+  integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==
+  dependencies:
+    "@babel/types" "^7.14.5"
+
+"@babel/helper-hoist-variables@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d"
+  integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==
+  dependencies:
+    "@babel/types" "^7.14.5"
+
+"@babel/helper-member-expression-to-functions@^7.14.5":
+  version "7.14.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970"
+  integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==
+  dependencies:
+    "@babel/types" "^7.14.5"
+
+"@babel/helper-module-imports@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3"
+  integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==
+  dependencies:
+    "@babel/types" "^7.14.5"
+
+"@babel/helper-module-transforms@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz#7de42f10d789b423eb902ebd24031ca77cb1e10e"
+  integrity sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==
+  dependencies:
+    "@babel/helper-module-imports" "^7.14.5"
+    "@babel/helper-replace-supers" "^7.14.5"
+    "@babel/helper-simple-access" "^7.14.5"
+    "@babel/helper-split-export-declaration" "^7.14.5"
+    "@babel/helper-validator-identifier" "^7.14.5"
+    "@babel/template" "^7.14.5"
+    "@babel/traverse" "^7.14.5"
+    "@babel/types" "^7.14.5"
+
+"@babel/helper-optimise-call-expression@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c"
+  integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==
+  dependencies:
+    "@babel/types" "^7.14.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.14.5", "@babel/helper-plugin-utils@^7.8.0":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9"
+  integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
+
+"@babel/helper-replace-supers@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94"
+  integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==
+  dependencies:
+    "@babel/helper-member-expression-to-functions" "^7.14.5"
+    "@babel/helper-optimise-call-expression" "^7.14.5"
+    "@babel/traverse" "^7.14.5"
+    "@babel/types" "^7.14.5"
+
+"@babel/helper-simple-access@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz#66ea85cf53ba0b4e588ba77fc813f53abcaa41c4"
+  integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==
+  dependencies:
+    "@babel/types" "^7.14.5"
+
+"@babel/helper-split-export-declaration@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a"
+  integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==
+  dependencies:
+    "@babel/types" "^7.14.5"
+
+"@babel/helper-validator-identifier@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8"
+  integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==
+
+"@babel/helper-validator-option@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
+  integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
+
+"@babel/helpers@^7.14.6":
+  version "7.14.6"
+  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.6.tgz#5b58306b95f1b47e2a0199434fa8658fa6c21635"
+  integrity sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==
+  dependencies:
+    "@babel/template" "^7.14.5"
+    "@babel/traverse" "^7.14.5"
+    "@babel/types" "^7.14.5"
+
+"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
+  integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==
+  dependencies:
+    "@babel/helper-validator-identifier" "^7.14.5"
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.2", "@babel/parser@^7.14.3", "@babel/parser@^7.7.2":
-  version "7.14.4"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.4.tgz#a5c560d6db6cd8e6ed342368dea8039232cbab18"
-  integrity sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.14.7", "@babel/parser@^7.7.2":
+  version "7.14.7"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz#6099720c8839ca865a2637e6c85852ead0bdb595"
+  integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==
 
 "@babel/plugin-syntax-async-generators@^7.8.4":
   version "7.8.4"
@@ -257,48 +264,49 @@
     "@babel/helper-plugin-utils" "^7.8.0"
 
 "@babel/plugin-syntax-top-level-await@^7.8.3":
-  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==
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
+  integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.12.13"
+    "@babel/helper-plugin-utils" "^7.14.5"
 
 "@babel/plugin-syntax-typescript@^7.7.2":
-  version "7.12.13"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474"
-  integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==
-  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.14.0", "@babel/traverse@^7.14.2", "@babel/traverse@^7.7.2":
-  version "7.14.2"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b"
-  integrity sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==
-  dependencies:
-    "@babel/code-frame" "^7.12.13"
-    "@babel/generator" "^7.14.2"
-    "@babel/helper-function-name" "^7.14.2"
-    "@babel/helper-split-export-declaration" "^7.12.13"
-    "@babel/parser" "^7.14.2"
-    "@babel/types" "^7.14.2"
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716"
+  integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/template@^7.14.5", "@babel/template@^7.3.3":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4"
+  integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==
+  dependencies:
+    "@babel/code-frame" "^7.14.5"
+    "@babel/parser" "^7.14.5"
+    "@babel/types" "^7.14.5"
+
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.7.2":
+  version "7.14.7"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz#64007c9774cfdc3abd23b0780bc18a3ce3631753"
+  integrity sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==
+  dependencies:
+    "@babel/code-frame" "^7.14.5"
+    "@babel/generator" "^7.14.5"
+    "@babel/helper-function-name" "^7.14.5"
+    "@babel/helper-hoist-variables" "^7.14.5"
+    "@babel/helper-split-export-declaration" "^7.14.5"
+    "@babel/parser" "^7.14.7"
+    "@babel/types" "^7.14.5"
     debug "^4.1.0"
     globals "^11.1.0"
 
-"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.13.12", "@babel/types@^7.14.0", "@babel/types@^7.14.2", "@babel/types@^7.14.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
-  version "7.14.4"
-  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.4.tgz#bfd6980108168593b38b3eb48a24aa026b919bc0"
-  integrity sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==
+"@babel/types@^7.0.0", "@babel/types@^7.14.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff"
+  integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==
   dependencies:
-    "@babel/helper-validator-identifier" "^7.14.0"
+    "@babel/helper-validator-identifier" "^7.14.5"
     to-fast-properties "^2.0.0"
 
 "@bcoe/v8-coverage@^0.2.3":
@@ -306,45 +314,45 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@cliqz/adblocker-content@^1.22.1":
-  version "1.22.1"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.22.1.tgz#71bc0d0d473ae96d5086badb2f4d624769fa56c4"
-  integrity sha512-CSOCdK/SJOZVWGVJuurfL0KtPq1AhSp3ng6BAo3SLXAd+WP7obERw2qFWQ0uzrApY/N1a1hvzfw31uonqRakXg==
+"@cliqz/adblocker-content@^1.22.2":
+  version "1.22.2"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.22.2.tgz#643849d5f08c167eb84a2e7e3f1f9fbc41a3889b"
+  integrity sha512-EsV00IdW8sGujGnylOGR8dm401FdIfPRAjuevsRlZjgDE+hQKj6n5wwrZaylPIh994hWesg6bxWTmXpJ2Sy2QQ==
   dependencies:
-    "@cliqz/adblocker-extended-selectors" "^1.22.1"
+    "@cliqz/adblocker-extended-selectors" "^1.22.2"
 
-"@cliqz/adblocker-electron-preload@1.22.1", "@cliqz/adblocker-electron-preload@^1.22.1":
-  version "1.22.1"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.22.1.tgz#8ce8c18d0ce5f7afa7c1dfe1f4cba30ada86f4af"
-  integrity sha512-etkb6LNUaCViZ2Bg7Z0fwpKsdsrmHF6Qjqs5u7FcfS4fSZ2TgDv7Ir5PunUWd6MOUW7mapx5CdPIupnlVkiTLA==
+"@cliqz/adblocker-electron-preload@1.22.2", "@cliqz/adblocker-electron-preload@^1.22.2":
+  version "1.22.2"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.22.2.tgz#eea674767a60abe4e5f9ccb46188d33656f551d0"
+  integrity sha512-4JSqNNYo4hXMoZjnyBVTd3z2yV2n5qeoNPk+WaeOFEF9uJXhqPR+Sz7scNB6nMYnRuSQfraeogtdaA4s0JkJWQ==
   dependencies:
-    "@cliqz/adblocker-content" "^1.22.1"
+    "@cliqz/adblocker-content" "^1.22.2"
 
-"@cliqz/adblocker-electron@1.22.1":
-  version "1.22.1"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.22.1.tgz#13fe6de4be0c3beb2851634b27ea1223d10ca92b"
-  integrity sha512-RZUog6ogMZnOx9Rz1LWIHE5MOWdDStfzkbfLpelka6PerRSKKltUvV4qwqM455eUMqHqPd27ZMM183+MQ85WpQ==
+"@cliqz/adblocker-electron@1.22.2":
+  version "1.22.2"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.22.2.tgz#85af3b49f7f653e6fb0d008b6523e3b3ba0dd41e"
+  integrity sha512-uSQjbcv9/csjQOO0AgqK8AnqdpKseebPkwXozglU1uFVVnuSOTs/4RohL3yac9uMkJtfyAIhT3mnbw9Cf4o+gQ==
   dependencies:
-    "@cliqz/adblocker" "^1.22.1"
-    "@cliqz/adblocker-electron-preload" "^1.22.1"
+    "@cliqz/adblocker" "^1.22.2"
+    "@cliqz/adblocker-electron-preload" "^1.22.2"
     tldts-experimental "^5.6.21"
 
-"@cliqz/adblocker-extended-selectors@^1.22.1":
-  version "1.22.1"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.22.1.tgz#234ee70a1736e3690b25a7a073818f5a851bf9a8"
-  integrity sha512-uXB1TybAq6MgqsG09fcY8Qw0P9EOWp4G7KQ4QNXQd4HIP4o3zcJgBd5MKeclJAD/QOyPdhnb+a9JdwVFyqMamQ==
+"@cliqz/adblocker-extended-selectors@^1.22.2":
+  version "1.22.2"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.22.2.tgz#1cad3c1569b765d9e7f8672c85b2a7b1e8e9ee90"
+  integrity sha512-/u4SmQ1wr7d80iGP705fZrfHjJUTf/1MyRXz5Wltt7i3OHvOCQEoST2mqNlfx0W/9gIWzxA7cFRLY0/aITmzTw==
 
-"@cliqz/adblocker@^1.22.1":
-  version "1.22.1"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.22.1.tgz#dae3dd6c59f16244012d1e736150f618b2d578e6"
-  integrity sha512-kir/tVTe0VabtJfcRipDX+/UBnZn0aN0lX4GQT7wZIHMOACpW37eix7wGkzVS+icbwu1bEqZ+O8Q98UlORPm4w==
+"@cliqz/adblocker@^1.22.2":
+  version "1.22.2"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.22.2.tgz#99a14d56327734d3083a077d96fe7b91c236bf7a"
+  integrity sha512-P+a8gYbRbQy38mYsr7932h2cnK/7AEuQrmCEfLTO1+abCr2v5RM2Qb+cCn/JVnQSeqnysebAIXoV+PUzrjfpiQ==
   dependencies:
-    "@cliqz/adblocker-content" "^1.22.1"
-    "@cliqz/adblocker-extended-selectors" "^1.22.1"
+    "@cliqz/adblocker-content" "^1.22.2"
+    "@cliqz/adblocker-extended-selectors" "^1.22.2"
     "@remusao/guess-url-type" "^1.1.2"
     "@remusao/small" "^1.1.2"
     "@remusao/smaz" "^1.7.1"
-    "@types/chrome" "^0.0.144"
+    "@types/chrome" "^0.0.145"
     "@types/firefox-webext-browser" "^82.0.0"
     tldts-experimental "^5.6.21"
 
@@ -414,94 +422,94 @@
   resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
   integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
 
-"@jest/console@^27.0.2":
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.0.2.tgz#b8eeff8f21ac51d224c851e1729d2630c18631e6"
-  integrity sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==
+"@jest/console@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.0.6.tgz#3eb72ea80897495c3d73dd97aab7f26770e2260f"
+  integrity sha512-fMlIBocSHPZ3JxgWiDNW/KPj6s+YRd0hicb33IrmelCcjXo/pXPwvuiKFmZz+XuqI/1u7nbUK10zSsWL/1aegg==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     chalk "^4.0.0"
-    jest-message-util "^27.0.2"
-    jest-util "^27.0.2"
+    jest-message-util "^27.0.6"
+    jest-util "^27.0.6"
     slash "^3.0.0"
 
-"@jest/core@^27.0.4":
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.0.4.tgz#679bf9ac07900da2ddbb9667bb1afa8029038f53"
-  integrity sha512-+dsmV8VUs1h/Szb+rEWk8xBM1fp1I///uFy9nk3wXGvRsF2lBp8EVPmtWc+QFRb3MY2b7u2HbkGF1fzoDzQTLA==
+"@jest/core@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.0.6.tgz#c5f642727a0b3bf0f37c4b46c675372d0978d4a1"
+  integrity sha512-SsYBm3yhqOn5ZLJCtccaBcvD/ccTLCeuDv8U41WJH/V1MW5eKUkeMHT9U+Pw/v1m1AIWlnIW/eM2XzQr0rEmow==
   dependencies:
-    "@jest/console" "^27.0.2"
-    "@jest/reporters" "^27.0.4"
-    "@jest/test-result" "^27.0.2"
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/console" "^27.0.6"
+    "@jest/reporters" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     ansi-escapes "^4.2.1"
     chalk "^4.0.0"
     emittery "^0.8.1"
     exit "^0.1.2"
     graceful-fs "^4.2.4"
-    jest-changed-files "^27.0.2"
-    jest-config "^27.0.4"
-    jest-haste-map "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-regex-util "^27.0.1"
-    jest-resolve "^27.0.4"
-    jest-resolve-dependencies "^27.0.4"
-    jest-runner "^27.0.4"
-    jest-runtime "^27.0.4"
-    jest-snapshot "^27.0.4"
-    jest-util "^27.0.2"
-    jest-validate "^27.0.2"
-    jest-watcher "^27.0.2"
+    jest-changed-files "^27.0.6"
+    jest-config "^27.0.6"
+    jest-haste-map "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-regex-util "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-resolve-dependencies "^27.0.6"
+    jest-runner "^27.0.6"
+    jest-runtime "^27.0.6"
+    jest-snapshot "^27.0.6"
+    jest-util "^27.0.6"
+    jest-validate "^27.0.6"
+    jest-watcher "^27.0.6"
     micromatch "^4.0.4"
     p-each-series "^2.1.0"
     rimraf "^3.0.0"
     slash "^3.0.0"
     strip-ansi "^6.0.0"
 
-"@jest/environment@^27.0.3":
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.3.tgz#68769b1dfdd213e3456169d64fbe9bd63a5fda92"
-  integrity sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==
+"@jest/environment@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.6.tgz#ee293fe996db01d7d663b8108fa0e1ff436219d2"
+  integrity sha512-4XywtdhwZwCpPJ/qfAkqExRsERW+UaoSRStSHCCiQTUpoYdLukj+YJbQSFrZjhlUDRZeNiU9SFH0u7iNimdiIg==
   dependencies:
-    "@jest/fake-timers" "^27.0.3"
-    "@jest/types" "^27.0.2"
+    "@jest/fake-timers" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
-    jest-mock "^27.0.3"
+    jest-mock "^27.0.6"
 
-"@jest/fake-timers@^27.0.3":
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.3.tgz#9899ba6304cc636734c74478df502e18136461dd"
-  integrity sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==
+"@jest/fake-timers@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.6.tgz#cbad52f3fe6abe30e7acb8cd5fa3466b9588e3df"
+  integrity sha512-sqd+xTWtZ94l3yWDKnRTdvTeZ+A/V7SSKrxsrOKSqdyddb9CeNRF8fbhAU0D7ZJBpTTW2nbp6MftmKJDZfW2LQ==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@sinonjs/fake-timers" "^7.0.2"
     "@types/node" "*"
-    jest-message-util "^27.0.2"
-    jest-mock "^27.0.3"
-    jest-util "^27.0.2"
+    jest-message-util "^27.0.6"
+    jest-mock "^27.0.6"
+    jest-util "^27.0.6"
 
-"@jest/globals@^27.0.3":
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.3.tgz#1cf8933b7791bba0b99305cbf39fd4d2e3fe4060"
-  integrity sha512-OzsIuf7uf+QalqAGbjClyezzEcLQkdZ+7PejUrZgDs+okdAK8GwRCGcYCirHvhMBBQh60Jr3NlIGbn/KBPQLEQ==
+"@jest/globals@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.6.tgz#48e3903f99a4650673d8657334d13c9caf0e8f82"
+  integrity sha512-DdTGCP606rh9bjkdQ7VvChV18iS7q0IMJVP1piwTWyWskol4iqcVwthZmoJEf7obE1nc34OpIyoVGPeqLC+ryw==
   dependencies:
-    "@jest/environment" "^27.0.3"
-    "@jest/types" "^27.0.2"
-    expect "^27.0.2"
+    "@jest/environment" "^27.0.6"
+    "@jest/types" "^27.0.6"
+    expect "^27.0.6"
 
-"@jest/reporters@^27.0.4":
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.4.tgz#95609b1be97afb80d55d8aa3d7c3179c15810e65"
-  integrity sha512-Xa90Nm3JnV0xCe4M6A10M9WuN9krb+WFKxV1A98Y4ePCw40n++r7uxFUNU7DT1i9Behj7fjrAIju9oU0t1QtCg==
+"@jest/reporters@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.6.tgz#91e7f2d98c002ad5df94d5b5167c1eb0b9fd5b00"
+  integrity sha512-TIkBt09Cb2gptji3yJXb3EE+eVltW6BjO7frO7NEfjI9vSIYoISi5R3aI3KpEDXlB1xwB+97NXIqz84qYeYsfA==
   dependencies:
     "@bcoe/v8-coverage" "^0.2.3"
-    "@jest/console" "^27.0.2"
-    "@jest/test-result" "^27.0.2"
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/console" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     chalk "^4.0.0"
     collect-v8-coverage "^1.0.0"
     exit "^0.1.2"
@@ -512,70 +520,70 @@
     istanbul-lib-report "^3.0.0"
     istanbul-lib-source-maps "^4.0.0"
     istanbul-reports "^3.0.2"
-    jest-haste-map "^27.0.2"
-    jest-resolve "^27.0.4"
-    jest-util "^27.0.2"
-    jest-worker "^27.0.2"
+    jest-haste-map "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-util "^27.0.6"
+    jest-worker "^27.0.6"
     slash "^3.0.0"
     source-map "^0.6.0"
     string-length "^4.0.1"
     terminal-link "^2.0.0"
-    v8-to-istanbul "^7.0.0"
+    v8-to-istanbul "^8.0.0"
 
-"@jest/source-map@^27.0.1":
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.1.tgz#2afbf73ddbaddcb920a8e62d0238a0a9e0a8d3e4"
-  integrity sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==
+"@jest/source-map@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz#be9e9b93565d49b0548b86e232092491fb60551f"
+  integrity sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==
   dependencies:
     callsites "^3.0.0"
     graceful-fs "^4.2.4"
     source-map "^0.6.0"
 
-"@jest/test-result@^27.0.2":
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.2.tgz#0451049e32ceb609b636004ccc27c8fa22263f10"
-  integrity sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==
+"@jest/test-result@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.6.tgz#3fa42015a14e4fdede6acd042ce98c7f36627051"
+  integrity sha512-ja/pBOMTufjX4JLEauLxE3LQBPaI2YjGFtXexRAjt1I/MbfNlMx0sytSX3tn5hSLzQsR3Qy2rd0hc1BWojtj9w==
   dependencies:
-    "@jest/console" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/console" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/istanbul-lib-coverage" "^2.0.0"
     collect-v8-coverage "^1.0.0"
 
-"@jest/test-sequencer@^27.0.4":
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.4.tgz#976493b277594d81e589896f0ed21f198308928a"
-  integrity sha512-6UFEVwdmxYdyNffBxVVZxmXEdBE4riSddXYSnFNH0ELFQFk/bvagizim8WfgJTqF4EKd+j1yFxvhb8BMHfOjSQ==
+"@jest/test-sequencer@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.6.tgz#80a913ed7a1130545b1cd777ff2735dd3af5d34b"
+  integrity sha512-bISzNIApazYOlTHDum9PwW22NOyDa6VI31n6JucpjTVM0jD6JDgqEZ9+yn575nDdPF0+4csYDxNNW13NvFQGZA==
   dependencies:
-    "@jest/test-result" "^27.0.2"
+    "@jest/test-result" "^27.0.6"
     graceful-fs "^4.2.4"
-    jest-haste-map "^27.0.2"
-    jest-runtime "^27.0.4"
+    jest-haste-map "^27.0.6"
+    jest-runtime "^27.0.6"
 
-"@jest/transform@^27.0.2":
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.2.tgz#b073b7c589e3f4b842102468875def2bb722d6b5"
-  integrity sha512-H8sqKlgtDfVog/s9I4GG2XMbi4Ar7RBxjsKQDUhn2XHAi3NG+GoQwWMER+YfantzExbjNqQvqBHzo/G2pfTiPw==
+"@jest/transform@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.6.tgz#189ad7107413208f7600f4719f81dd2f7278cc95"
+  integrity sha512-rj5Dw+mtIcntAUnMlW/Vju5mr73u8yg+irnHwzgtgoeI6cCPOvUwQ0D1uQtc/APmWgvRweEb1g05pkUpxH3iCA==
   dependencies:
     "@babel/core" "^7.1.0"
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     babel-plugin-istanbul "^6.0.0"
     chalk "^4.0.0"
     convert-source-map "^1.4.0"
     fast-json-stable-stringify "^2.0.0"
     graceful-fs "^4.2.4"
-    jest-haste-map "^27.0.2"
-    jest-regex-util "^27.0.1"
-    jest-util "^27.0.2"
+    jest-haste-map "^27.0.6"
+    jest-regex-util "^27.0.6"
+    jest-util "^27.0.6"
     micromatch "^4.0.4"
     pirates "^4.0.1"
     slash "^3.0.0"
     source-map "^0.6.1"
     write-file-atomic "^3.0.0"
 
-"@jest/types@^27.0.2":
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.2.tgz#e153d6c46bda0f2589f0702b071f9898c7bbd37e"
-  integrity sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==
+"@jest/types@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.6.tgz#9a992bc517e0c49f035938b8549719c2de40706b"
+  integrity sha512-aSquT1qa9Pik26JK5/3rvnYb4bGtm1VFNesHKmNTwmPIgOrixvhL2ghIvFRNEpzy3gU+rUgjIF/KodbkFAl++g==
   dependencies:
     "@types/istanbul-lib-coverage" "^2.0.0"
     "@types/istanbul-reports" "^3.0.0"
@@ -700,16 +708,16 @@
     "@babel/types" "^7.0.0"
 
 "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6":
-  version "7.11.1"
-  resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639"
-  integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==
+  version "7.14.0"
+  resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.0.tgz#a34277cf8acbd3185ea74129e1f100491eb1da7f"
+  integrity sha512-IilJZ1hJBUZwMOVDNTdflOOLzJB/ZtljYVa7k3gEZN/jqIJIPkWHC6dvbX+DD2CwZDHB9wAKzZPzzqMIkW37/w==
   dependencies:
     "@babel/types" "^7.3.0"
 
-"@types/chrome@^0.0.144":
-  version "0.0.144"
-  resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.144.tgz#7dd9188e355aa17e3ad397f50b5cd3ad12caf788"
-  integrity sha512-BgoiO7/KP9hRNrCR2Wq+aKWT5Dh9bTofuWaRtcqPcj8YKhZojQgb6sSdIqvds2C+eO63BwaR9KHVMYYgZdGGBg==
+"@types/chrome@^0.0.145":
+  version "0.0.145"
+  resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.145.tgz#6c53ae0af5f25350b07bfd24cf459b5fe65cd9b8"
+  integrity sha512-vLvTMmfc8mvwOZzkmn2UwlWSNu0t0txBkyuIv8NgihRkvFCe6XJX65YZAgAP/RdBit3enhU2GTxCr+prn4uZmA==
   dependencies:
     "@types/filesystem" "*"
     "@types/har-format" "*"
@@ -720,9 +728,9 @@
   integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
 
 "@types/filesystem@*":
-  version "0.0.30"
-  resolved "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.30.tgz#a7373a2edf34d13e298baf7ee1101f738b2efb7e"
-  integrity sha512-NCoRgmGmLpTT9VFL6Bb6z0jQuqI3d0E5FGl7M0JOv/J5RQYo9s5aOItPYnpckx9MbYQk1APLXcF8f20Vqnf2yA==
+  version "0.0.31"
+  resolved "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.31.tgz#121a1ded274a2dc731d5e0d90163a920ad6a9ef1"
+  integrity sha512-9Dj1Gb7ZhknhJ8J1H/lTQrEorwIHWZlO9Tfi0WMrvyO1+2GUIUF8Sg4zrID77hj0ywArzQRJ1MwlT9H7c9QmEQ==
   dependencies:
     "@types/filewriter" "*"
 
@@ -788,14 +796,14 @@
   integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==
 
 "@types/node@*":
-  version "15.12.2"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.2.tgz#1f2b42c4be7156ff4a6f914b2fb03d05fa84e38d"
-  integrity sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==
+  version "15.12.5"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.5.tgz#9a78318a45d75c9523d2396131bd3cca54b2d185"
+  integrity sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==
 
 "@types/node@^14.6.2":
-  version "14.17.3"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.3.tgz#6d327abaa4be34a74e421ed6409a0ae2f47f4c3d"
-  integrity sha512-e6ZowgGJmTuXa3GyaPbTGxX17tnThl2aSSizrFthQ7m9uLGZBXiGhgE55cjRZTF5kjZvYn9EOPOMljdjwbflxw==
+  version "14.17.4"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.4.tgz#218712242446fc868d0e007af29a4408c7765bc0"
+  integrity sha512-8kQ3+wKGRNN0ghtEn7EGps/B8CzuBz1nXZEIGGLP2GnwbqYn4dbTs7k+VKLTq1HvZLRCIDtN3Snx1Ege8B7L5A==
 
 "@types/plist@^3.0.1":
   version "3.0.2"
@@ -806,9 +814,9 @@
     xmlbuilder ">=11.0.1"
 
 "@types/prettier@^2.1.5":
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0"
-  integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA==
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.0.tgz#2e8332cc7363f887d32ec5496b207d26ba8052bb"
+  integrity sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==
 
 "@types/stack-utils@^2.0.0":
   version "2.0.0"
@@ -825,7 +833,7 @@
   resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9"
   integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==
 
-"@types/yargs@^16.0.0", "@types/yargs@^16.0.1":
+"@types/yargs@^16.0.0", "@types/yargs@^16.0.2":
   version "16.0.3"
   resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.3.tgz#4b6d35bb8e680510a7dc2308518a80ee1ef27e01"
   integrity sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==
@@ -861,9 +869,9 @@ acorn@^7.1.1, acorn@^7.4.0:
   integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
 
 acorn@^8.2.4:
-  version "8.3.0"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.3.0.tgz#1193f9b96c4e8232f00b11a9edff81b2c8b98b88"
-  integrity sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==
+  version "8.4.1"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c"
+  integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==
 
 agent-base@6:
   version "6.0.2"
@@ -963,10 +971,10 @@ app-builder-bin@3.5.13:
   resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.13.tgz#6dd7f4de34a4e408806f99b8c7d6ef1601305b7e"
   integrity sha512-ighVe9G+bT1ENGdp9ecO1P+94vv/f+FUwaI+XkNzeg9bYF8Oi3BQ+mJuxS00UgyHs8luuOzjzC+qnAtdb43Mpg==
 
-app-builder-lib@22.11.5:
-  version "22.11.5"
-  resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.11.5.tgz#d49f49dc2d9fd225249e4ae7e30add2996e7062f"
-  integrity sha512-lLEDvJuLdc4IVyADJK6t4qEIjRhOUj4p19B1RS/8pN/oAb8X5Qe1t3Einbsi4oFBJBweH2LIygnSAwumjQh9iA==
+app-builder-lib@22.11.7:
+  version "22.11.7"
+  resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.11.7.tgz#c0ad1119ebfbf4189a8280ad693625f5e684dca6"
+  integrity sha512-pS9/cR4/TnNZVAHZECiSvvwTBzbwblj7KBBZkMKDG57nibq0I1XY8zAaYeHFdlYTyrRcz9JUXbAqJKezya7UFQ==
   dependencies:
     "7zip-bin" "~5.1.1"
     "@develar/schema-utils" "~2.6.5"
@@ -974,12 +982,12 @@ app-builder-lib@22.11.5:
     "@malept/flatpak-bundler" "^0.4.0"
     async-exit-hook "^2.0.1"
     bluebird-lst "^1.0.9"
-    builder-util "22.11.5"
-    builder-util-runtime "8.7.6"
+    builder-util "22.11.7"
+    builder-util-runtime "8.7.7"
     chromium-pickle-js "^0.2.0"
     debug "^4.3.2"
     ejs "^3.1.6"
-    electron-publish "22.11.5"
+    electron-publish "22.11.7"
     fs-extra "^10.0.0"
     hosted-git-info "^4.0.2"
     is-ci "^3.0.0"
@@ -1085,16 +1093,16 @@ at-least-node@^1.0.0:
   resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
   integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
 
-babel-jest@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.2.tgz#7dc18adb01322acce62c2af76ea2c7cd186ade37"
-  integrity sha512-9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q==
+babel-jest@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.6.tgz#e99c6e0577da2655118e3608b68761a5a69bd0d8"
+  integrity sha512-iTJyYLNc4wRofASmofpOc5NK9QunwMk+TLFgGXsTFS8uEqmd8wdI7sga0FPe2oVH3b5Agt/EAK1QjPEuKL8VfA==
   dependencies:
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/babel__core" "^7.1.14"
     babel-plugin-istanbul "^6.0.0"
-    babel-preset-jest "^27.0.1"
+    babel-preset-jest "^27.0.6"
     chalk "^4.0.0"
     graceful-fs "^4.2.4"
     slash "^3.0.0"
@@ -1110,10 +1118,10 @@ babel-plugin-istanbul@^6.0.0:
     istanbul-lib-instrument "^4.0.0"
     test-exclude "^6.0.0"
 
-babel-plugin-jest-hoist@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz#a6d10e484c93abff0f4e95f437dad26e5736ea11"
-  integrity sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==
+babel-plugin-jest-hoist@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz#f7c6b3d764af21cb4a2a1ab6870117dbde15b456"
+  integrity sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw==
   dependencies:
     "@babel/template" "^7.3.3"
     "@babel/types" "^7.3.3"
@@ -1138,12 +1146,12 @@ babel-preset-current-node-syntax@^1.0.0:
     "@babel/plugin-syntax-optional-chaining" "^7.8.3"
     "@babel/plugin-syntax-top-level-await" "^7.8.3"
 
-babel-preset-jest@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz#7a50c75d16647c23a2cf5158d5bb9eb206b10e20"
-  integrity sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==
+babel-preset-jest@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz#909ef08e9f24a4679768be2f60a3df0856843f9d"
+  integrity sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw==
   dependencies:
-    babel-plugin-jest-hoist "^27.0.1"
+    babel-plugin-jest-hoist "^27.0.6"
     babel-preset-current-node-syntax "^1.0.0"
 
 balanced-match@^1.0.0:
@@ -1178,9 +1186,9 @@ bluebird@^3.5.5:
   integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
 
 boolean@^3.0.1:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.0.tgz#a245080649ebb80e7c0ea218a480e4e913136336"
-  integrity sha512-K6r5tvO1ykeYerI7jIyTvSFw2l6D6DzqkljGj2E2uyYAAdDo2SV4qGJIV75cHIQpTFyb6BB0BEHiDdDrFsNI+g==
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.2.tgz#e30f210a26b02458482a8cc353ab06f262a780c2"
+  integrity sha512-YN6UmV0FfLlBVvRvNPx3pz5W/mUoYB24J4WSXOKP/OOJpi+Oq6WYqPaNTHzjI0QzwWtnvEd5CGYyQPgp1jFxnw==
 
 boxen@^5.0.0:
   version "5.0.1"
@@ -1265,17 +1273,25 @@ builder-util-runtime@8.7.6:
     debug "^4.3.2"
     sax "^1.2.4"
 
-builder-util@22.11.5:
-  version "22.11.5"
-  resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.11.5.tgz#08836d00e6bef39bdffd8a66fb07d2d5021b9c3c"
-  integrity sha512-ur9ksncYOnJg/VuJz3PdsBQHeg9tjdOC2HVj8mQ0WNcn/H3MO4tnwKBOWWikPDiWEjeBSvFUmYBnGFkRiUNkww==
+builder-util-runtime@8.7.7:
+  version "8.7.7"
+  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.7.tgz#6c83cc3abe7a7a5c8b4ec8878f68adc828c07f0d"
+  integrity sha512-RUfoXzVrmFFI0K/Oft0CtP1LpTIOlBeLJatt5DePTI0KlxE156am4SGUpqtbbdqZNm++LkV9mX4olBDcXyGPow==
+  dependencies:
+    debug "^4.3.2"
+    sax "^1.2.4"
+
+builder-util@22.11.7:
+  version "22.11.7"
+  resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.11.7.tgz#ae9707afa6a31feafa13c274ac83b4fe28ef1467"
+  integrity sha512-ihqUe5ey82LM9qqQe0/oIcaSm9w+B9UjcsWJZxJliTBsbU+sErOpDFpHW+sim0veiTF/EIcGUh9HoduWw+l9FA==
   dependencies:
     "7zip-bin" "~5.1.1"
     "@types/debug" "^4.1.5"
     "@types/fs-extra" "^9.0.11"
     app-builder-bin "3.5.13"
     bluebird-lst "^1.0.9"
-    builder-util-runtime "8.7.6"
+    builder-util-runtime "8.7.7"
     chalk "^4.1.1"
     debug "^4.3.2"
     fs-extra "^10.0.0"
@@ -1314,9 +1330,9 @@ camelcase@^6.2.0:
   integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
 
 caniuse-lite@^1.0.30001166, caniuse-lite@^1.0.30001219:
-  version "1.0.30001236"
-  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001236.tgz#0a80de4cdf62e1770bb46a30d884fc8d633e3958"
-  integrity sha512-o0PRQSrSCGJKCPZcgMzl5fUaj5xHe8qA2m4QRvnyY4e1lITqoNkr7q/Oh1NcpGSy0Th97UZ35yoKcINPoq7YOQ==
+  version "1.0.30001241"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz#cd3fae47eb3d7691692b406568d7a3e5b23c7598"
+  integrity sha512-1uoSZ1Pq1VpH0WerIMqwptXHNNGfdl7d1cJUFs80CwQ/lVzdhTvsFZCeNFslze7AjsQnb4C85tzclPa1VShbeQ==
 
 chalk@^2.0.0, chalk@^2.4.2:
   version "2.4.2"
@@ -1498,16 +1514,16 @@ configstore@^5.0.1:
     xdg-basedir "^4.0.0"
 
 convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
-  integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
+  integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
   dependencies:
     safe-buffer "~5.1.1"
 
 core-js@^3.6.5:
-  version "3.14.0"
-  resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.14.0.tgz#62322b98c71cc2018b027971a69419e2425c2a6c"
-  integrity sha512-3s+ed8er9ahK+zJpp9ZtuVcDoFzHNiZsPbNAAE4KXgrRHbjSqqNN6xGSXq6bq7TZIbKj4NLrLb6bJ5i+vSVjHA==
+  version "3.15.2"
+  resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz#740660d2ff55ef34ce664d7e2455119c5bdd3d61"
+  integrity sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==
 
 core-util-is@1.0.2, core-util-is@~1.0.0:
   version "1.0.2"
@@ -1599,9 +1615,9 @@ debug@^4.3.2:
     ms "2.1.2"
 
 decimal.js@^10.2.1:
-  version "10.2.1"
-  resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3"
-  integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==
+  version "10.3.1"
+  resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783"
+  integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==
 
 decompress-response@^3.3.0:
   version "3.3.0"
@@ -1657,10 +1673,10 @@ detect-node@^2.0.4:
   resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
   integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
 
-diff-sequences@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.1.tgz#9c9801d52ed5f576ff0a20e3022a13ee6e297e7c"
-  integrity sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==
+diff-sequences@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723"
+  integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==
 
 dir-compare@^2.4.0:
   version "2.4.0"
@@ -1672,13 +1688,13 @@ dir-compare@^2.4.0:
     commander "2.9.0"
     minimatch "3.0.4"
 
-dmg-builder@22.11.5:
-  version "22.11.5"
-  resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.11.5.tgz#0df9843def73a217097956982fa21bb4d6a5836e"
-  integrity sha512-91Shh9+OK9RwBlBURxvhSnQNibEh/JYNAnMOfFguyNbasSfF50Jme4b3dgsQrHTTTfkFijcvzykPPFAZofQs6g==
+dmg-builder@22.11.7:
+  version "22.11.7"
+  resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.11.7.tgz#5956008c18d40ee72c0ea01ffea9590dbf51df89"
+  integrity sha512-+I+XfP2DODHB6PwFANgpH/WMzzCA5r5XoMvbFCIYjQjJpXlO0XnqQaamzFl2vh/Wz/Qt0d0lJMgRy8gKR3MGdQ==
   dependencies:
-    app-builder-lib "22.11.5"
-    builder-util "22.11.5"
+    app-builder-lib "22.11.7"
+    builder-util "22.11.7"
     builder-util-runtime "8.7.6"
     fs-extra "^10.0.0"
     iconv-lite "^0.6.2"
@@ -1744,17 +1760,17 @@ ejs@^3.1.6:
   dependencies:
     jake "^10.6.1"
 
-electron-builder@22.11.5:
-  version "22.11.5"
-  resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.11.5.tgz#914d8183e1bab7cda43ef1d67fc3d17314c7e242"
-  integrity sha512-QIhzrmSLNteItRvmAjwNpsya08oZeOJIrxFww/Alkjcwnrn5Xgog2qf3Xfa3ocuNUQIwb+mMzZrzqnPu0Mamyg==
+electron-builder@22.11.7:
+  version "22.11.7"
+  resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.11.7.tgz#cd97a0d9f6e6d388112e66b4376de431cca4d596"
+  integrity sha512-yQExSLt7Hbz/P8lLkZDdE/OnJJ7NCX+uiQcV+XIH0TeEZcD87ZnSqBBzGUN5akySU4BXXlrVZKeUsXACWrm5Kw==
   dependencies:
-    "@types/yargs" "^16.0.1"
-    app-builder-lib "22.11.5"
-    builder-util "22.11.5"
-    builder-util-runtime "8.7.6"
+    "@types/yargs" "^16.0.2"
+    app-builder-lib "22.11.7"
+    builder-util "22.11.7"
+    builder-util-runtime "8.7.7"
     chalk "^4.1.1"
-    dmg-builder "22.11.5"
+    dmg-builder "22.11.7"
     fs-extra "^10.0.0"
     is-ci "^3.0.0"
     lazy-val "^1.0.5"
@@ -1762,28 +1778,28 @@ electron-builder@22.11.5:
     update-notifier "^5.1.0"
     yargs "^17.0.1"
 
-electron-publish@22.11.5:
-  version "22.11.5"
-  resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.5.tgz#2fcd3280c4267e70e4aa15003c9b7dc34923320e"
-  integrity sha512-peN4tEP80Kb6reuwKKvSu9p/XUWpx/7x747u5NSg7Kg2axBjzdMtX5ZqBThfPtJWJhSWZ7PEYWmNyUCfdQl2Ag==
+electron-publish@22.11.7:
+  version "22.11.7"
+  resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.7.tgz#4126cbb08ccf082a2aa7fef89ee629b3a4b8ae9a"
+  integrity sha512-A4EhRRNBVz4SPzUlBrPO6BmuyDeI0pyprggPAV9rQ+SDVSnSB/WKPot9JwWMyArkGj3AUUTMNVT6hwZhMvhfqw==
   dependencies:
     "@types/fs-extra" "^9.0.11"
-    builder-util "22.11.5"
-    builder-util-runtime "8.7.6"
+    builder-util "22.11.7"
+    builder-util-runtime "8.7.7"
     chalk "^4.1.1"
     fs-extra "^10.0.0"
     lazy-val "^1.0.5"
     mime "^2.5.2"
 
 electron-to-chromium@^1.3.723:
-  version "1.3.750"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.750.tgz#7e5ef6f478316b0bd656af5942fe502610e97eaf"
-  integrity sha512-Eqy9eHNepZxJXT+Pc5++zvEi5nQ6AGikwFYDCYwXUFBr+ynJ6pDG7MzZmwGYCIuXShLJM0n4bq+aoKDmvSGJ8A==
+  version "1.3.763"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.763.tgz#93f6f02506d099941f557b9db9ba50b30215bf15"
+  integrity sha512-UyvEPae0wvzsyNJhVfGeFSOlUkHEze8xSIiExO5tZQ8QTr7obFiJWGk3U4e7afFOJMQJDszqU/3Pk5jtKiaSEg==
 
-electron@13.1.1:
-  version "13.1.1"
-  resolved "https://registry.yarnpkg.com/electron/-/electron-13.1.1.tgz#de1ea908bcac2197d7a5a373fb68c0c66043e10e"
-  integrity sha512-kySSb5CbIkWU2Kd9mf2rpGZC9p1nWhVVNl+CJjuOUGeVPXHbojHvTkDU1iC8AvV28eik3gqHisSJss40Caprog==
+electron@13.1.4:
+  version "13.1.4"
+  resolved "https://registry.yarnpkg.com/electron/-/electron-13.1.4.tgz#6d20d932a0651c3cba9f09a3d08cbaf5b69aa84b"
+  integrity sha512-4qhRZbRvGqHmMWsCG/kRVF4X8VIq9Nujgm+gXZLBSpiR6uUtMHy7ViBTQZl1PGf6O9Ppxhpr9Yz+k6Um9WoP3Q==
   dependencies:
     "@electron/get" "^1.0.1"
     "@types/node" "^14.6.2"
@@ -1916,10 +1932,10 @@ eslint-visitor-keys@^2.0.0:
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
   integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
 
-eslint@7.28.0:
-  version "7.28.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz#435aa17a0b82c13bb2be9d51408b617e49c1e820"
-  integrity sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g==
+eslint@7.29.0:
+  version "7.29.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.29.0.tgz#ee2a7648f2e729485e4d0bd6383ec1deabc8b3c0"
+  integrity sha512-82G/JToB9qIy/ArBzIWG9xvvwL3R86AlCjtGw+A29OMZDqhTybz/MByORSukGxeI+YPCR4coYyITKk8BFH9nDA==
   dependencies:
     "@babel/code-frame" "7.12.11"
     "@eslint/eslintrc" "^0.4.2"
@@ -2029,17 +2045,17 @@ exit@^0.1.2:
   resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
   integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=
 
-expect@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/expect/-/expect-27.0.2.tgz#e66ca3a4c9592f1c019fa1d46459a9d2084f3422"
-  integrity sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==
+expect@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/expect/-/expect-27.0.6.tgz#a4d74fbe27222c718fff68ef49d78e26a8fd4c05"
+  integrity sha512-psNLt8j2kwg42jGBDSfAlU49CEZxejN1f1PlANWDZqIhBOVU/c2Pm888FcjWJzFewhIsNWfZJeLjUjtKGiPuSw==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     ansi-styles "^5.0.0"
-    jest-get-type "^27.0.1"
-    jest-matcher-utils "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-regex-util "^27.0.1"
+    jest-get-type "^27.0.6"
+    jest-matcher-utils "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-regex-util "^27.0.6"
 
 extend@3.0.2:
   version "3.0.2"
@@ -2646,226 +2662,226 @@ jake@^10.6.1:
     filelist "^1.0.1"
     minimatch "^3.0.4"
 
-jest-changed-files@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.2.tgz#997253042b4a032950fc5f56abf3c5d1f8560801"
-  integrity sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==
+jest-changed-files@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.6.tgz#bed6183fcdea8a285482e3b50a9a7712d49a7a8b"
+  integrity sha512-BuL/ZDauaq5dumYh5y20sn4IISnf1P9A0TDswTxUi84ORGtVa86ApuBHqICL0vepqAnZiY6a7xeSPWv2/yy4eA==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     execa "^5.0.0"
     throat "^6.0.1"
 
-jest-circus@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.4.tgz#3b261514ee3b3da33def736a6352c98ff56bb6e6"
-  integrity sha512-QD+eblDiRphta630WRKewuASLs/oY1Zki2G4bccntRvrTHQ63ljwFR5TLduuK4Zg0ZPzW0+8o6AP7KRd1yKOjw==
+jest-circus@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.6.tgz#dd4df17c4697db6a2c232aaad4e9cec666926668"
+  integrity sha512-OJlsz6BBeX9qR+7O9lXefWoc2m9ZqcZ5Ohlzz0pTEAG4xMiZUJoacY8f4YDHxgk0oKYxj277AfOk9w6hZYvi1Q==
   dependencies:
-    "@jest/environment" "^27.0.3"
-    "@jest/test-result" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/environment" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     chalk "^4.0.0"
     co "^4.6.0"
     dedent "^0.7.0"
-    expect "^27.0.2"
+    expect "^27.0.6"
     is-generator-fn "^2.0.0"
-    jest-each "^27.0.2"
-    jest-matcher-utils "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-runtime "^27.0.4"
-    jest-snapshot "^27.0.4"
-    jest-util "^27.0.2"
-    pretty-format "^27.0.2"
+    jest-each "^27.0.6"
+    jest-matcher-utils "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-runtime "^27.0.6"
+    jest-snapshot "^27.0.6"
+    jest-util "^27.0.6"
+    pretty-format "^27.0.6"
     slash "^3.0.0"
     stack-utils "^2.0.3"
     throat "^6.0.1"
 
-jest-cli@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.4.tgz#491b12c754c0d7c6873b13a66f26b3a80a852910"
-  integrity sha512-E0T+/i2lxsWAzV7LKYd0SB7HUAvePqaeIh5vX43/G5jXLhv1VzjYzJAGEkTfvxV774ll9cyE2ljcL73PVMEOXQ==
+jest-cli@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.6.tgz#d021e5f4d86d6a212450d4c7b86cb219f1e6864f"
+  integrity sha512-qUUVlGb9fdKir3RDE+B10ULI+LQrz+MCflEH2UJyoUjoHHCbxDrMxSzjQAPUMsic4SncI62ofYCcAvW6+6rhhg==
   dependencies:
-    "@jest/core" "^27.0.4"
-    "@jest/test-result" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/core" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/types" "^27.0.6"
     chalk "^4.0.0"
     exit "^0.1.2"
     graceful-fs "^4.2.4"
     import-local "^3.0.2"
-    jest-config "^27.0.4"
-    jest-util "^27.0.2"
-    jest-validate "^27.0.2"
+    jest-config "^27.0.6"
+    jest-util "^27.0.6"
+    jest-validate "^27.0.6"
     prompts "^2.0.1"
     yargs "^16.0.3"
 
-jest-config@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.4.tgz#c4f41378acf40ca77860fb4e213b12109d87b8cf"
-  integrity sha512-VkQFAHWnPQefdvHU9A+G3H/Z3NrrTKqWpvxgQz3nkUdkDTWeKJE6e//BL+R7z79dXOMVksYgM/z6ndtN0hfChg==
+jest-config@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.6.tgz#119fb10f149ba63d9c50621baa4f1f179500277f"
+  integrity sha512-JZRR3I1Plr2YxPBhgqRspDE2S5zprbga3swYNrvY3HfQGu7p/GjyLOqwrYad97tX3U3mzT53TPHVmozacfP/3w==
   dependencies:
     "@babel/core" "^7.1.0"
-    "@jest/test-sequencer" "^27.0.4"
-    "@jest/types" "^27.0.2"
-    babel-jest "^27.0.2"
+    "@jest/test-sequencer" "^27.0.6"
+    "@jest/types" "^27.0.6"
+    babel-jest "^27.0.6"
     chalk "^4.0.0"
     deepmerge "^4.2.2"
     glob "^7.1.1"
     graceful-fs "^4.2.4"
     is-ci "^3.0.0"
-    jest-circus "^27.0.4"
-    jest-environment-jsdom "^27.0.3"
-    jest-environment-node "^27.0.3"
-    jest-get-type "^27.0.1"
-    jest-jasmine2 "^27.0.4"
-    jest-regex-util "^27.0.1"
-    jest-resolve "^27.0.4"
-    jest-runner "^27.0.4"
-    jest-util "^27.0.2"
-    jest-validate "^27.0.2"
+    jest-circus "^27.0.6"
+    jest-environment-jsdom "^27.0.6"
+    jest-environment-node "^27.0.6"
+    jest-get-type "^27.0.6"
+    jest-jasmine2 "^27.0.6"
+    jest-regex-util "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-runner "^27.0.6"
+    jest-util "^27.0.6"
+    jest-validate "^27.0.6"
     micromatch "^4.0.4"
-    pretty-format "^27.0.2"
+    pretty-format "^27.0.6"
 
-jest-diff@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.2.tgz#f315b87cee5dc134cf42c2708ab27375cc3f5a7e"
-  integrity sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==
+jest-diff@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.6.tgz#4a7a19ee6f04ad70e0e3388f35829394a44c7b5e"
+  integrity sha512-Z1mqgkTCSYaFgwTlP/NUiRzdqgxmmhzHY1Tq17zL94morOHfHu3K4bgSgl+CR4GLhpV8VxkuOYuIWnQ9LnFqmg==
   dependencies:
     chalk "^4.0.0"
-    diff-sequences "^27.0.1"
-    jest-get-type "^27.0.1"
-    pretty-format "^27.0.2"
+    diff-sequences "^27.0.6"
+    jest-get-type "^27.0.6"
+    pretty-format "^27.0.6"
 
-jest-docblock@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.1.tgz#bd9752819b49fa4fab1a50b73eb58c653b962e8b"
-  integrity sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==
+jest-docblock@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz#cc78266acf7fe693ca462cbbda0ea4e639e4e5f3"
+  integrity sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==
   dependencies:
     detect-newline "^3.0.0"
 
-jest-each@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.2.tgz#865ddb4367476ced752167926b656fa0dcecd8c7"
-  integrity sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==
+jest-each@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.6.tgz#cee117071b04060158dc8d9a66dc50ad40ef453b"
+  integrity sha512-m6yKcV3bkSWrUIjxkE9OC0mhBZZdhovIW5ergBYirqnkLXkyEn3oUUF/QZgyecA1cF1QFyTE8bRRl8Tfg1pfLA==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     chalk "^4.0.0"
-    jest-get-type "^27.0.1"
-    jest-util "^27.0.2"
-    pretty-format "^27.0.2"
-
-jest-environment-jsdom@27.0.3, jest-environment-jsdom@^27.0.3:
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz#ed73e913ddc03864eb9f934b5cbabf1b63504e2e"
-  integrity sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==
-  dependencies:
-    "@jest/environment" "^27.0.3"
-    "@jest/fake-timers" "^27.0.3"
-    "@jest/types" "^27.0.2"
+    jest-get-type "^27.0.6"
+    jest-util "^27.0.6"
+    pretty-format "^27.0.6"
+
+jest-environment-jsdom@27.0.6, jest-environment-jsdom@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.6.tgz#f66426c4c9950807d0a9f209c590ce544f73291f"
+  integrity sha512-FvetXg7lnXL9+78H+xUAsra3IeZRTiegA3An01cWeXBspKXUhAwMM9ycIJ4yBaR0L7HkoMPaZsozCLHh4T8fuw==
+  dependencies:
+    "@jest/environment" "^27.0.6"
+    "@jest/fake-timers" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
-    jest-mock "^27.0.3"
-    jest-util "^27.0.2"
+    jest-mock "^27.0.6"
+    jest-util "^27.0.6"
     jsdom "^16.6.0"
 
-jest-environment-node@^27.0.3:
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.3.tgz#b4acb3679d2552a4215732cab8b0ca7ec4398ee0"
-  integrity sha512-co2/IVnIFL3cItpFULCvXFg9us4gvWXgs7mutAMPCbFhcqh56QAOdKhNzC2+RycsC/k4mbMj1VF+9F/NzA0ROg==
+jest-environment-node@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.6.tgz#a6699b7ceb52e8d68138b9808b0c404e505f3e07"
+  integrity sha512-+Vi6yLrPg/qC81jfXx3IBlVnDTI6kmRr08iVa2hFCWmJt4zha0XW7ucQltCAPhSR0FEKEoJ3i+W4E6T0s9is0w==
   dependencies:
-    "@jest/environment" "^27.0.3"
-    "@jest/fake-timers" "^27.0.3"
-    "@jest/types" "^27.0.2"
+    "@jest/environment" "^27.0.6"
+    "@jest/fake-timers" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
-    jest-mock "^27.0.3"
-    jest-util "^27.0.2"
+    jest-mock "^27.0.6"
+    jest-util "^27.0.6"
 
-jest-get-type@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.1.tgz#34951e2b08c8801eb28559d7eb732b04bbcf7815"
-  integrity sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==
+jest-get-type@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe"
+  integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==
 
-jest-haste-map@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.2.tgz#3f1819400c671237e48b4d4b76a80a0dbed7577f"
-  integrity sha512-37gYfrYjjhEfk37C4bCMWAC0oPBxDpG0qpl8lYg8BT//wf353YT/fzgA7+Dq0EtM7rPFS3JEcMsxdtDwNMi2cA==
+jest-haste-map@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.6.tgz#4683a4e68f6ecaa74231679dca237279562c8dc7"
+  integrity sha512-4ldjPXX9h8doB2JlRzg9oAZ2p6/GpQUNAeiYXqcpmrKbP0Qev0wdZlxSMOmz8mPOEnt4h6qIzXFLDi8RScX/1w==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@types/graceful-fs" "^4.1.2"
     "@types/node" "*"
     anymatch "^3.0.3"
     fb-watchman "^2.0.0"
     graceful-fs "^4.2.4"
-    jest-regex-util "^27.0.1"
-    jest-serializer "^27.0.1"
-    jest-util "^27.0.2"
-    jest-worker "^27.0.2"
+    jest-regex-util "^27.0.6"
+    jest-serializer "^27.0.6"
+    jest-util "^27.0.6"
+    jest-worker "^27.0.6"
     micromatch "^4.0.4"
     walker "^1.0.7"
   optionalDependencies:
     fsevents "^2.3.2"
 
-jest-jasmine2@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.4.tgz#c669519ccf4904a485338555e1e66cad36bb0670"
-  integrity sha512-yj3WrjjquZwkJw+eA4c9yucHw4/+EHndHWSqgHbHGQfT94ihaaQsa009j1a0puU8CNxPDk0c1oAPeOpdJUElwA==
+jest-jasmine2@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.6.tgz#fd509a9ed3d92bd6edb68a779f4738b100655b37"
+  integrity sha512-cjpH2sBy+t6dvCeKBsHpW41mjHzXgsavaFMp+VWRf0eR4EW8xASk1acqmljFtK2DgyIECMv2yCdY41r2l1+4iA==
   dependencies:
     "@babel/traverse" "^7.1.0"
-    "@jest/environment" "^27.0.3"
-    "@jest/source-map" "^27.0.1"
-    "@jest/test-result" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/environment" "^27.0.6"
+    "@jest/source-map" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     chalk "^4.0.0"
     co "^4.6.0"
-    expect "^27.0.2"
+    expect "^27.0.6"
     is-generator-fn "^2.0.0"
-    jest-each "^27.0.2"
-    jest-matcher-utils "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-runtime "^27.0.4"
-    jest-snapshot "^27.0.4"
-    jest-util "^27.0.2"
-    pretty-format "^27.0.2"
+    jest-each "^27.0.6"
+    jest-matcher-utils "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-runtime "^27.0.6"
+    jest-snapshot "^27.0.6"
+    jest-util "^27.0.6"
+    pretty-format "^27.0.6"
     throat "^6.0.1"
 
-jest-leak-detector@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz#ce19aa9dbcf7a72a9d58907a970427506f624e69"
-  integrity sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==
+jest-leak-detector@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.6.tgz#545854275f85450d4ef4b8fe305ca2a26450450f"
+  integrity sha512-2/d6n2wlH5zEcdctX4zdbgX8oM61tb67PQt4Xh8JFAIy6LRKUnX528HulkaG6nD5qDl5vRV1NXejCe1XRCH5gQ==
   dependencies:
-    jest-get-type "^27.0.1"
-    pretty-format "^27.0.2"
+    jest-get-type "^27.0.6"
+    pretty-format "^27.0.6"
 
-jest-matcher-utils@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz#f14c060605a95a466cdc759acc546c6f4cbfc4f0"
-  integrity sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==
+jest-matcher-utils@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.6.tgz#2a8da1e86c620b39459f4352eaa255f0d43e39a9"
+  integrity sha512-OFgF2VCQx9vdPSYTHWJ9MzFCehs20TsyFi6bIHbk5V1u52zJOnvF0Y/65z3GLZHKRuTgVPY4Z6LVePNahaQ+tA==
   dependencies:
     chalk "^4.0.0"
-    jest-diff "^27.0.2"
-    jest-get-type "^27.0.1"
-    pretty-format "^27.0.2"
+    jest-diff "^27.0.6"
+    jest-get-type "^27.0.6"
+    pretty-format "^27.0.6"
 
-jest-message-util@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.2.tgz#181c9b67dff504d8f4ad15cba10d8b80f272048c"
-  integrity sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==
+jest-message-util@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.6.tgz#158bcdf4785706492d164a39abca6a14da5ab8b5"
+  integrity sha512-rBxIs2XK7rGy+zGxgi+UJKP6WqQ+KrBbD1YMj517HYN3v2BG66t3Xan3FWqYHKZwjdB700KiAJ+iES9a0M+ixw==
   dependencies:
     "@babel/code-frame" "^7.12.13"
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@types/stack-utils" "^2.0.0"
     chalk "^4.0.0"
     graceful-fs "^4.2.4"
     micromatch "^4.0.4"
-    pretty-format "^27.0.2"
+    pretty-format "^27.0.6"
     slash "^3.0.0"
     stack-utils "^2.0.3"
 
-jest-mock@^27.0.3:
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.3.tgz#5591844f9192b3335c0dca38e8e45ed297d4d23d"
-  integrity sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==
+jest-mock@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.6.tgz#0efdd40851398307ba16778728f6d34d583e3467"
+  integrity sha512-lzBETUoK8cSxts2NYXSBWT+EJNzmUVtVVwS1sU9GwE1DLCfGsngg+ZVSIe0yd0ZSm+y791esiuo+WSwpXJQ5Bw==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
 
 jest-pnp-resolver@^1.2.2:
@@ -2873,76 +2889,76 @@ jest-pnp-resolver@^1.2.2:
   resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c"
   integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==
 
-jest-regex-util@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.1.tgz#69d4b1bf5b690faa3490113c47486ed85dd45b68"
-  integrity sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==
+jest-regex-util@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5"
+  integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==
 
-jest-resolve-dependencies@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.4.tgz#a07a242d70d668afd3fcf7f4270755eebb1fe579"
-  integrity sha512-F33UPfw1YGWCV2uxJl7wD6TvcQn5IC0LtguwY3r4L7R6H4twpLkp5Q2ZfzRx9A2I3G8feiy0O0sqcn/Qoym71A==
+jest-resolve-dependencies@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.6.tgz#3e619e0ef391c3ecfcf6ef4056207a3d2be3269f"
+  integrity sha512-mg9x9DS3BPAREWKCAoyg3QucCr0n6S8HEEsqRCKSPjPcu9HzRILzhdzY3imsLoZWeosEbJZz6TKasveczzpJZA==
   dependencies:
-    "@jest/types" "^27.0.2"
-    jest-regex-util "^27.0.1"
-    jest-snapshot "^27.0.4"
+    "@jest/types" "^27.0.6"
+    jest-regex-util "^27.0.6"
+    jest-snapshot "^27.0.6"
 
-jest-resolve@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.4.tgz#8a27bc3f2f00c8ea28f3bc99bbf6f468300a703d"
-  integrity sha512-BcfyK2i3cG79PDb/6gB6zFeFQlcqLsQjGBqznFCpA0L/3l1L/oOsltdUjs5eISAWA9HS9qtj8v2PSZr/yWxONQ==
+jest-resolve@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.6.tgz#e90f436dd4f8fbf53f58a91c42344864f8e55bff"
+  integrity sha512-yKmIgw2LgTh7uAJtzv8UFHGF7Dm7XfvOe/LQ3Txv101fLM8cx2h1QVwtSJ51Q/SCxpIiKfVn6G2jYYMDNHZteA==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     chalk "^4.0.0"
     escalade "^3.1.1"
     graceful-fs "^4.2.4"
     jest-pnp-resolver "^1.2.2"
-    jest-util "^27.0.2"
-    jest-validate "^27.0.2"
+    jest-util "^27.0.6"
+    jest-validate "^27.0.6"
     resolve "^1.20.0"
     slash "^3.0.0"
 
-jest-runner@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.4.tgz#2787170a9509b792ae129794f6944d27d5d12a4f"
-  integrity sha512-NfmvSYLCsCJk2AG8Ar2NAh4PhsJJpO+/r+g4bKR5L/5jFzx/indUpnVBdrfDvuqhGLLAvrKJ9FM/Nt8o1dsqxg==
+jest-runner@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.6.tgz#1325f45055539222bbc7256a6976e993ad2f9520"
+  integrity sha512-W3Bz5qAgaSChuivLn+nKOgjqNxM7O/9JOJoKDCqThPIg2sH/d4A/lzyiaFgnb9V1/w29Le11NpzTJSzga1vyYQ==
   dependencies:
-    "@jest/console" "^27.0.2"
-    "@jest/environment" "^27.0.3"
-    "@jest/test-result" "^27.0.2"
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/console" "^27.0.6"
+    "@jest/environment" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     chalk "^4.0.0"
     emittery "^0.8.1"
     exit "^0.1.2"
     graceful-fs "^4.2.4"
-    jest-docblock "^27.0.1"
-    jest-environment-jsdom "^27.0.3"
-    jest-environment-node "^27.0.3"
-    jest-haste-map "^27.0.2"
-    jest-leak-detector "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-resolve "^27.0.4"
-    jest-runtime "^27.0.4"
-    jest-util "^27.0.2"
-    jest-worker "^27.0.2"
+    jest-docblock "^27.0.6"
+    jest-environment-jsdom "^27.0.6"
+    jest-environment-node "^27.0.6"
+    jest-haste-map "^27.0.6"
+    jest-leak-detector "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-runtime "^27.0.6"
+    jest-util "^27.0.6"
+    jest-worker "^27.0.6"
     source-map-support "^0.5.6"
     throat "^6.0.1"
 
-jest-runtime@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.4.tgz#2e4a6aa77cac32ac612dfe12768387a8aa15c2f0"
-  integrity sha512-voJB4xbAjS/qYPboV+e+gmg3jfvHJJY4CagFWBOM9dQKtlaiTjcpD2tWwla84Z7PtXSQPeIpXY0qksA9Dum29A==
-  dependencies:
-    "@jest/console" "^27.0.2"
-    "@jest/environment" "^27.0.3"
-    "@jest/fake-timers" "^27.0.3"
-    "@jest/globals" "^27.0.3"
-    "@jest/source-map" "^27.0.1"
-    "@jest/test-result" "^27.0.2"
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+jest-runtime@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.6.tgz#45877cfcd386afdd4f317def551fc369794c27c9"
+  integrity sha512-BhvHLRVfKibYyqqEFkybsznKwhrsu7AWx2F3y9G9L95VSIN3/ZZ9vBpm/XCS2bS+BWz3sSeNGLzI3TVQ0uL85Q==
+  dependencies:
+    "@jest/console" "^27.0.6"
+    "@jest/environment" "^27.0.6"
+    "@jest/fake-timers" "^27.0.6"
+    "@jest/globals" "^27.0.6"
+    "@jest/source-map" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/yargs" "^16.0.0"
     chalk "^4.0.0"
     cjs-module-lexer "^1.0.0"
@@ -2950,30 +2966,30 @@ jest-runtime@^27.0.4:
     exit "^0.1.2"
     glob "^7.1.3"
     graceful-fs "^4.2.4"
-    jest-haste-map "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-mock "^27.0.3"
-    jest-regex-util "^27.0.1"
-    jest-resolve "^27.0.4"
-    jest-snapshot "^27.0.4"
-    jest-util "^27.0.2"
-    jest-validate "^27.0.2"
+    jest-haste-map "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-mock "^27.0.6"
+    jest-regex-util "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-snapshot "^27.0.6"
+    jest-util "^27.0.6"
+    jest-validate "^27.0.6"
     slash "^3.0.0"
     strip-bom "^4.0.0"
     yargs "^16.0.3"
 
-jest-serializer@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.1.tgz#2464d04dcc33fb71dc80b7c82e3c5e8a08cb1020"
-  integrity sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==
+jest-serializer@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1"
+  integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==
   dependencies:
     "@types/node" "*"
     graceful-fs "^4.2.4"
 
-jest-snapshot@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.4.tgz#2b96e22ca90382b3e93bd0aae2ce4c78bf51fb5b"
-  integrity sha512-hnjrvpKGdSMvKfbHyaG5Kul7pDJGZvjVy0CKpzhu28MmAssDXS6GpynhXzgst1wBQoKD8c9b2VS2a5yhDLQRCA==
+jest-snapshot@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.6.tgz#f4e6b208bd2e92e888344d78f0f650bcff05a4bf"
+  integrity sha512-NTHaz8He+ATUagUgE7C/UtFcRoHqR2Gc+KDfhQIyx+VFgwbeEMjeP+ILpUTLosZn/ZtbNdCF5LkVnN/l+V751A==
   dependencies:
     "@babel/core" "^7.7.2"
     "@babel/generator" "^7.7.2"
@@ -2981,79 +2997,79 @@ jest-snapshot@^27.0.4:
     "@babel/plugin-syntax-typescript" "^7.7.2"
     "@babel/traverse" "^7.7.2"
     "@babel/types" "^7.0.0"
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/babel__traverse" "^7.0.4"
     "@types/prettier" "^2.1.5"
     babel-preset-current-node-syntax "^1.0.0"
     chalk "^4.0.0"
-    expect "^27.0.2"
+    expect "^27.0.6"
     graceful-fs "^4.2.4"
-    jest-diff "^27.0.2"
-    jest-get-type "^27.0.1"
-    jest-haste-map "^27.0.2"
-    jest-matcher-utils "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-resolve "^27.0.4"
-    jest-util "^27.0.2"
+    jest-diff "^27.0.6"
+    jest-get-type "^27.0.6"
+    jest-haste-map "^27.0.6"
+    jest-matcher-utils "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-util "^27.0.6"
     natural-compare "^1.4.0"
-    pretty-format "^27.0.2"
+    pretty-format "^27.0.6"
     semver "^7.3.2"
 
-jest-util@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.2.tgz#fc2c7ace3c75ae561cf1e5fdb643bf685a5be7c7"
-  integrity sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==
+jest-util@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.6.tgz#e8e04eec159de2f4d5f57f795df9cdc091e50297"
+  integrity sha512-1JjlaIh+C65H/F7D11GNkGDDZtDfMEM8EBXsvd+l/cxtgQ6QhxuloOaiayt89DxUvDarbVhqI98HhgrM1yliFQ==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     chalk "^4.0.0"
     graceful-fs "^4.2.4"
     is-ci "^3.0.0"
     picomatch "^2.2.3"
 
-jest-validate@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.2.tgz#7fe2c100089449cd5cbb47a5b0b6cb7cda5beee5"
-  integrity sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==
+jest-validate@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.6.tgz#930a527c7a951927df269f43b2dc23262457e2a6"
+  integrity sha512-yhZZOaMH3Zg6DC83n60pLmdU1DQE46DW+KLozPiPbSbPhlXXaiUTDlhHQhHFpaqIFRrInko1FHXjTRpjWRuWfA==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     camelcase "^6.2.0"
     chalk "^4.0.0"
-    jest-get-type "^27.0.1"
+    jest-get-type "^27.0.6"
     leven "^3.1.0"
-    pretty-format "^27.0.2"
+    pretty-format "^27.0.6"
 
-jest-watcher@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.2.tgz#dab5f9443e2d7f52597186480731a8c6335c5deb"
-  integrity sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==
+jest-watcher@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.6.tgz#89526f7f9edf1eac4e4be989bcb6dec6b8878d9c"
+  integrity sha512-/jIoKBhAP00/iMGnTwUBLgvxkn7vsOweDrOTSPzc7X9uOyUtJIDthQBTI1EXz90bdkrxorUZVhJwiB69gcHtYQ==
   dependencies:
-    "@jest/test-result" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/test-result" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     ansi-escapes "^4.2.1"
     chalk "^4.0.0"
-    jest-util "^27.0.2"
+    jest-util "^27.0.6"
     string-length "^4.0.1"
 
-jest-worker@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.2.tgz#4ebeb56cef48b3e7514552f80d0d80c0129f0b05"
-  integrity sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==
+jest-worker@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.6.tgz#a5fdb1e14ad34eb228cfe162d9f729cdbfa28aed"
+  integrity sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==
   dependencies:
     "@types/node" "*"
     merge-stream "^2.0.0"
     supports-color "^8.0.0"
 
-jest@27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest/-/jest-27.0.4.tgz#91d4d564b36bcf93b98dac1ab19f07089e670f53"
-  integrity sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==
+jest@27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest/-/jest-27.0.6.tgz#10517b2a628f0409087fbf473db44777d7a04505"
+  integrity sha512-EjV8aETrsD0wHl7CKMibKwQNQc3gIRBXlTikBmmHUeVMKaPFxdcUIBfoDqTSXDoGJIivAYGqCWVlzCSaVjPQsA==
   dependencies:
-    "@jest/core" "^27.0.4"
+    "@jest/core" "^27.0.6"
     import-local "^3.0.2"
-    jest-cli "^27.0.4"
+    jest-cli "^27.0.6"
 
 js-tokens@^4.0.0:
   version "4.0.0"
@@ -3599,12 +3615,12 @@ prepend-http@^2.0.0:
   resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
   integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
 
-pretty-format@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.2.tgz#9283ff8c4f581b186b2d4da461617143dca478a4"
-  integrity sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==
+pretty-format@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.6.tgz#ab770c47b2c6f893a21aefc57b75da63ef49a11f"
+  integrity sha512-8tGD7gBIENgzqA+UBzObyWqQ5B778VIFZA/S66cclyd5YkFLYs2Js7gxDKf0MXtTc9zcS7t1xhdfcElJ3YIvkQ==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     ansi-regex "^5.0.0"
     ansi-styles "^5.0.0"
     react-is "^17.0.1"
@@ -3718,9 +3734,9 @@ readdir-glob@^1.0.0:
     minimatch "^3.0.4"
 
 regexpp@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
-  integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+  integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
 
 registry-auth-token@^4.0.0:
   version "4.2.1"
@@ -4341,10 +4357,10 @@ v8-compile-cache@^2.0.3:
   resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
   integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
 
-v8-to-istanbul@^7.0.0:
-  version "7.1.2"
-  resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1"
-  integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==
+v8-to-istanbul@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz#4229f2a99e367f3f018fa1d5c2b8ec684667c69c"
+  integrity sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==
   dependencies:
     "@types/istanbul-lib-coverage" "^2.0.1"
     convert-source-map "^1.6.0"
@@ -4403,9 +4419,9 @@ whatwg-mimetype@^2.3.0:
   integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
 
 whatwg-url@^8.0.0, whatwg-url@^8.5.0:
-  version "8.6.0"
-  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.6.0.tgz#27c0205a4902084b872aecb97cf0f2a7a3011f4c"
-  integrity sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==
+  version "8.7.0"
+  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
+  integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==
   dependencies:
     lodash "^4.7.0"
     tr46 "^2.1.0"
@@ -4455,9 +4471,9 @@ write-file-atomic@^3.0.0:
     typedarray-to-buffer "^3.1.5"
 
 ws@^7.4.5:
-  version "7.4.6"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
-  integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
+  version "7.5.1"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.1.tgz#44fc000d87edb1d9c53e51fbc69a0ac1f6871d66"
+  integrity sha512-2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow==
 
 xdg-basedir@^4.0.0:
   version "4.0.0"
@@ -4500,9 +4516,9 @@ yallist@^4.0.0:
   integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
 
 yargs-parser@^20.2.2:
-  version "20.2.7"
-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a"
-  integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==
+  version "20.2.9"
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
+  integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
 
 yargs@^16.0.3:
   version "16.2.0"
diff --git a/pkgs/applications/networking/browsers/vieb/yarn.nix b/pkgs/applications/networking/browsers/vieb/yarn.nix
index 11cf84050d0..a92d6defef9 100644
--- a/pkgs/applications/networking/browsers/vieb/yarn.nix
+++ b/pkgs/applications/networking/browsers/vieb/yarn.nix
@@ -18,163 +18,171 @@
       };
     }
     {
-      name = "_babel_code_frame___code_frame_7.12.13.tgz";
+      name = "_babel_code_frame___code_frame_7.14.5.tgz";
       path = fetchurl {
-        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_code_frame___code_frame_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz";
+        sha1 = "23b08d740e83f49c5e59945fbf1b43e80bbf4edb";
       };
     }
     {
-      name = "_babel_compat_data___compat_data_7.14.4.tgz";
+      name = "_babel_compat_data___compat_data_7.14.7.tgz";
       path = fetchurl {
-        name = "_babel_compat_data___compat_data_7.14.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.4.tgz";
-        sha1 = "45720fe0cecf3fd42019e1d12cc3d27fadc98d58";
+        name = "_babel_compat_data___compat_data_7.14.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz";
+        sha1 = "7b047d7a3a89a67d2258dc61f604f098f1bc7e08";
       };
     }
     {
-      name = "_babel_core___core_7.14.3.tgz";
+      name = "_babel_core___core_7.14.6.tgz";
       path = fetchurl {
-        name = "_babel_core___core_7.14.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz";
-        sha1 = "5395e30405f0776067fbd9cf0884f15bfb770a38";
+        name = "_babel_core___core_7.14.6.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.14.6.tgz";
+        sha1 = "e0814ec1a950032ff16c13a2721de39a8416fcab";
       };
     }
     {
-      name = "_babel_generator___generator_7.14.3.tgz";
+      name = "_babel_generator___generator_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.14.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.3.tgz";
-        sha1 = "0c2652d91f7bddab7cccc6ba8157e4f40dcedb91";
+        name = "_babel_generator___generator_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz";
+        sha1 = "848d7b9f031caca9d0cd0af01b063f226f52d785";
       };
     }
     {
-      name = "_babel_helper_compilation_targets___helper_compilation_targets_7.14.4.tgz";
+      name = "_babel_helper_compilation_targets___helper_compilation_targets_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.14.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz";
-        sha1 = "33ebd0ffc34248051ee2089350a929ab02f2a516";
+        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz";
+        sha1 = "7a99c5d0967911e972fe2c3411f7d5b498498ecf";
       };
     }
     {
-      name = "_babel_helper_function_name___helper_function_name_7.14.2.tgz";
+      name = "_babel_helper_function_name___helper_function_name_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_function_name___helper_function_name_7.14.2.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz";
-        sha1 = "397688b590760b6ef7725b5f0860c82427ebaac2";
+        name = "_babel_helper_function_name___helper_function_name_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz";
+        sha1 = "89e2c474972f15d8e233b52ee8c480e2cfcd50c4";
       };
     }
     {
-      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.12.13.tgz";
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.14.5.tgz";
       path = fetchurl {
-        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_get_function_arity___helper_get_function_arity_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz";
+        sha1 = "25fbfa579b0937eee1f3b805ece4ce398c431815";
       };
     }
     {
-      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.13.12.tgz";
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.13.12.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz";
-        sha1 = "dfe368f26d426a07299d8d6513821768216e6d72";
+        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz";
+        sha1 = "e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d";
       };
     }
     {
-      name = "_babel_helper_module_imports___helper_module_imports_7.13.12.tgz";
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.14.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_imports___helper_module_imports_7.13.12.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz";
-        sha1 = "c6a369a6f3621cb25da014078684da9196b61977";
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.14.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz";
+        sha1 = "97e56244beb94211fe277bd818e3a329c66f7970";
       };
     }
     {
-      name = "_babel_helper_module_transforms___helper_module_transforms_7.14.2.tgz";
+      name = "_babel_helper_module_imports___helper_module_imports_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_transforms___helper_module_transforms_7.14.2.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz";
-        sha1 = "ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5";
+        name = "_babel_helper_module_imports___helper_module_imports_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz";
+        sha1 = "6d1a44df6a38c957aa7c312da076429f11b422f3";
       };
     }
     {
-      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.12.13.tgz";
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.14.5.tgz";
       path = fetchurl {
-        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_module_transforms___helper_module_transforms_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz";
+        sha1 = "7de42f10d789b423eb902ebd24031ca77cb1e10e";
       };
     }
     {
-      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.13.0.tgz";
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz";
-        sha1 = "806526ce125aed03373bc416a828321e3a6a33af";
+        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz";
+        sha1 = "f27395a8619e0665b3f0364cddb41c25d71b499c";
       };
     }
     {
-      name = "_babel_helper_replace_supers___helper_replace_supers_7.14.4.tgz";
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_replace_supers___helper_replace_supers_7.14.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz";
-        sha1 = "b2ab16875deecfff3ddfcd539bc315f72998d836";
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz";
+        sha1 = "5ac822ce97eec46741ab70a517971e443a70c5a9";
       };
     }
     {
-      name = "_babel_helper_simple_access___helper_simple_access_7.13.12.tgz";
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_simple_access___helper_simple_access_7.13.12.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz";
-        sha1 = "dd6c538afb61819d205a012c31792a39c7a5eaf6";
+        name = "_babel_helper_replace_supers___helper_replace_supers_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz";
+        sha1 = "0ecc0b03c41cd567b4024ea016134c28414abb94";
       };
     }
     {
-      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.12.13.tgz";
+      name = "_babel_helper_simple_access___helper_simple_access_7.14.5.tgz";
       path = fetchurl {
-        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_simple_access___helper_simple_access_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz";
+        sha1 = "66ea85cf53ba0b4e588ba77fc813f53abcaa41c4";
       };
     }
     {
-      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.0.tgz";
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz";
-        sha1 = "d26cad8a47c65286b15df1547319a5d0bcf27288";
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz";
+        sha1 = "22b23a54ef51c2b7605d851930c1976dd0bc693a";
       };
     }
     {
-      name = "_babel_helper_validator_option___helper_validator_option_7.12.17.tgz";
+      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_validator_option___helper_validator_option_7.12.17.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz";
-        sha1 = "d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831";
+        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz";
+        sha1 = "d0f0e277c512e0c938277faa85a3968c9a44c0e8";
       };
     }
     {
-      name = "_babel_helpers___helpers_7.14.0.tgz";
+      name = "_babel_helper_validator_option___helper_validator_option_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helpers___helpers_7.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz";
-        sha1 = "ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62";
+        name = "_babel_helper_validator_option___helper_validator_option_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz";
+        sha1 = "6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3";
       };
     }
     {
-      name = "_babel_highlight___highlight_7.14.0.tgz";
+      name = "_babel_helpers___helpers_7.14.6.tgz";
       path = fetchurl {
-        name = "_babel_highlight___highlight_7.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz";
-        sha1 = "3197e375711ef6bf834e67d0daec88e4f46113cf";
+        name = "_babel_helpers___helpers_7.14.6.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.6.tgz";
+        sha1 = "5b58306b95f1b47e2a0199434fa8658fa6c21635";
       };
     }
     {
-      name = "_babel_parser___parser_7.14.4.tgz";
+      name = "_babel_highlight___highlight_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_parser___parser_7.14.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.4.tgz";
-        sha1 = "a5c560d6db6cd8e6ed342368dea8039232cbab18";
+        name = "_babel_highlight___highlight_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz";
+        sha1 = "6861a52f03966405001f6aa534a01a24d99e8cd9";
+      };
+    }
+    {
+      name = "_babel_parser___parser_7.14.7.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.14.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz";
+        sha1 = "6099720c8839ca865a2637e6c85852ead0bdb595";
       };
     }
     {
@@ -266,43 +274,43 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.12.13.tgz";
+      name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.14.5.tgz";
       path = fetchurl {
-        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_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz";
+        sha1 = "c1cfdadc35a646240001f06138247b741c34d94c";
       };
     }
     {
-      name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.12.13.tgz";
+      name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz";
-        sha1 = "9dff111ca64154cef0f4dc52cf843d9f12ce4474";
+        name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz";
+        sha1 = "b82c6ce471b165b5ce420cf92914d6fb46225716";
       };
     }
     {
-      name = "_babel_template___template_7.12.13.tgz";
+      name = "_babel_template___template_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_template___template_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz";
-        sha1 = "530265be8a2589dbb37523844c5bcb55947fb327";
+        name = "_babel_template___template_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz";
+        sha1 = "a9bc9d8b33354ff6e55a9c60d1109200a68974f4";
       };
     }
     {
-      name = "_babel_traverse___traverse_7.14.2.tgz";
+      name = "_babel_traverse___traverse_7.14.7.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.14.2.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz";
-        sha1 = "9201a8d912723a831c2679c7ebbf2fe1416d765b";
+        name = "_babel_traverse___traverse_7.14.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz";
+        sha1 = "64007c9774cfdc3abd23b0780bc18a3ce3631753";
       };
     }
     {
-      name = "_babel_types___types_7.14.4.tgz";
+      name = "_babel_types___types_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_types___types_7.14.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.14.4.tgz";
-        sha1 = "bfd6980108168593b38b3eb48a24aa026b919bc0";
+        name = "_babel_types___types_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz";
+        sha1 = "3bb997ba829a2104cedb20689c4a5b8121d383ff";
       };
     }
     {
@@ -314,43 +322,43 @@
       };
     }
     {
-      name = "_cliqz_adblocker_content___adblocker_content_1.22.1.tgz";
+      name = "_cliqz_adblocker_content___adblocker_content_1.22.2.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_content___adblocker_content_1.22.1.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.22.1.tgz";
-        sha1 = "71bc0d0d473ae96d5086badb2f4d624769fa56c4";
+        name = "_cliqz_adblocker_content___adblocker_content_1.22.2.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.22.2.tgz";
+        sha1 = "643849d5f08c167eb84a2e7e3f1f9fbc41a3889b";
       };
     }
     {
-      name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.22.1.tgz";
+      name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.22.2.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.22.1.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.22.1.tgz";
-        sha1 = "8ce8c18d0ce5f7afa7c1dfe1f4cba30ada86f4af";
+        name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.22.2.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.22.2.tgz";
+        sha1 = "eea674767a60abe4e5f9ccb46188d33656f551d0";
       };
     }
     {
-      name = "_cliqz_adblocker_electron___adblocker_electron_1.22.1.tgz";
+      name = "_cliqz_adblocker_electron___adblocker_electron_1.22.2.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_electron___adblocker_electron_1.22.1.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.22.1.tgz";
-        sha1 = "13fe6de4be0c3beb2851634b27ea1223d10ca92b";
+        name = "_cliqz_adblocker_electron___adblocker_electron_1.22.2.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.22.2.tgz";
+        sha1 = "85af3b49f7f653e6fb0d008b6523e3b3ba0dd41e";
       };
     }
     {
-      name = "_cliqz_adblocker_extended_selectors___adblocker_extended_selectors_1.22.1.tgz";
+      name = "_cliqz_adblocker_extended_selectors___adblocker_extended_selectors_1.22.2.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_extended_selectors___adblocker_extended_selectors_1.22.1.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.22.1.tgz";
-        sha1 = "234ee70a1736e3690b25a7a073818f5a851bf9a8";
+        name = "_cliqz_adblocker_extended_selectors___adblocker_extended_selectors_1.22.2.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.22.2.tgz";
+        sha1 = "1cad3c1569b765d9e7f8672c85b2a7b1e8e9ee90";
       };
     }
     {
-      name = "_cliqz_adblocker___adblocker_1.22.1.tgz";
+      name = "_cliqz_adblocker___adblocker_1.22.2.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker___adblocker_1.22.1.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.22.1.tgz";
-        sha1 = "dae3dd6c59f16244012d1e736150f618b2d578e6";
+        name = "_cliqz_adblocker___adblocker_1.22.2.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.22.2.tgz";
+        sha1 = "99a14d56327734d3083a077d96fe7b91c236bf7a";
       };
     }
     {
@@ -402,91 +410,91 @@
       };
     }
     {
-      name = "_jest_console___console_27.0.2.tgz";
+      name = "_jest_console___console_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_console___console_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/console/-/console-27.0.2.tgz";
-        sha1 = "b8eeff8f21ac51d224c851e1729d2630c18631e6";
+        name = "_jest_console___console_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/console/-/console-27.0.6.tgz";
+        sha1 = "3eb72ea80897495c3d73dd97aab7f26770e2260f";
       };
     }
     {
-      name = "_jest_core___core_27.0.4.tgz";
+      name = "_jest_core___core_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_core___core_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/core/-/core-27.0.4.tgz";
-        sha1 = "679bf9ac07900da2ddbb9667bb1afa8029038f53";
+        name = "_jest_core___core_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/core/-/core-27.0.6.tgz";
+        sha1 = "c5f642727a0b3bf0f37c4b46c675372d0978d4a1";
       };
     }
     {
-      name = "_jest_environment___environment_27.0.3.tgz";
+      name = "_jest_environment___environment_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_environment___environment_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.3.tgz";
-        sha1 = "68769b1dfdd213e3456169d64fbe9bd63a5fda92";
+        name = "_jest_environment___environment_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.6.tgz";
+        sha1 = "ee293fe996db01d7d663b8108fa0e1ff436219d2";
       };
     }
     {
-      name = "_jest_fake_timers___fake_timers_27.0.3.tgz";
+      name = "_jest_fake_timers___fake_timers_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_fake_timers___fake_timers_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.3.tgz";
-        sha1 = "9899ba6304cc636734c74478df502e18136461dd";
+        name = "_jest_fake_timers___fake_timers_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.6.tgz";
+        sha1 = "cbad52f3fe6abe30e7acb8cd5fa3466b9588e3df";
       };
     }
     {
-      name = "_jest_globals___globals_27.0.3.tgz";
+      name = "_jest_globals___globals_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_globals___globals_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.3.tgz";
-        sha1 = "1cf8933b7791bba0b99305cbf39fd4d2e3fe4060";
+        name = "_jest_globals___globals_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.6.tgz";
+        sha1 = "48e3903f99a4650673d8657334d13c9caf0e8f82";
       };
     }
     {
-      name = "_jest_reporters___reporters_27.0.4.tgz";
+      name = "_jest_reporters___reporters_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_reporters___reporters_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.4.tgz";
-        sha1 = "95609b1be97afb80d55d8aa3d7c3179c15810e65";
+        name = "_jest_reporters___reporters_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.6.tgz";
+        sha1 = "91e7f2d98c002ad5df94d5b5167c1eb0b9fd5b00";
       };
     }
     {
-      name = "_jest_source_map___source_map_27.0.1.tgz";
+      name = "_jest_source_map___source_map_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_source_map___source_map_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.1.tgz";
-        sha1 = "2afbf73ddbaddcb920a8e62d0238a0a9e0a8d3e4";
+        name = "_jest_source_map___source_map_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz";
+        sha1 = "be9e9b93565d49b0548b86e232092491fb60551f";
       };
     }
     {
-      name = "_jest_test_result___test_result_27.0.2.tgz";
+      name = "_jest_test_result___test_result_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_test_result___test_result_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.2.tgz";
-        sha1 = "0451049e32ceb609b636004ccc27c8fa22263f10";
+        name = "_jest_test_result___test_result_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.6.tgz";
+        sha1 = "3fa42015a14e4fdede6acd042ce98c7f36627051";
       };
     }
     {
-      name = "_jest_test_sequencer___test_sequencer_27.0.4.tgz";
+      name = "_jest_test_sequencer___test_sequencer_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_test_sequencer___test_sequencer_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.4.tgz";
-        sha1 = "976493b277594d81e589896f0ed21f198308928a";
+        name = "_jest_test_sequencer___test_sequencer_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.6.tgz";
+        sha1 = "80a913ed7a1130545b1cd777ff2735dd3af5d34b";
       };
     }
     {
-      name = "_jest_transform___transform_27.0.2.tgz";
+      name = "_jest_transform___transform_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_transform___transform_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.2.tgz";
-        sha1 = "b073b7c589e3f4b842102468875def2bb722d6b5";
+        name = "_jest_transform___transform_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.6.tgz";
+        sha1 = "189ad7107413208f7600f4719f81dd2f7278cc95";
       };
     }
     {
-      name = "_jest_types___types_27.0.2.tgz";
+      name = "_jest_types___types_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_types___types_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/types/-/types-27.0.2.tgz";
-        sha1 = "e153d6c46bda0f2589f0702b071f9898c7bbd37e";
+        name = "_jest_types___types_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-27.0.6.tgz";
+        sha1 = "9a992bc517e0c49f035938b8549719c2de40706b";
       };
     }
     {
@@ -626,19 +634,19 @@
       };
     }
     {
-      name = "_types_babel__traverse___babel__traverse_7.11.1.tgz";
+      name = "_types_babel__traverse___babel__traverse_7.14.0.tgz";
       path = fetchurl {
-        name = "_types_babel__traverse___babel__traverse_7.11.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz";
-        sha1 = "654f6c4f67568e24c23b367e947098c6206fa639";
+        name = "_types_babel__traverse___babel__traverse_7.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.0.tgz";
+        sha1 = "a34277cf8acbd3185ea74129e1f100491eb1da7f";
       };
     }
     {
-      name = "_types_chrome___chrome_0.0.144.tgz";
+      name = "_types_chrome___chrome_0.0.145.tgz";
       path = fetchurl {
-        name = "_types_chrome___chrome_0.0.144.tgz";
-        url  = "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.144.tgz";
-        sha1 = "7dd9188e355aa17e3ad397f50b5cd3ad12caf788";
+        name = "_types_chrome___chrome_0.0.145.tgz";
+        url  = "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.145.tgz";
+        sha1 = "6c53ae0af5f25350b07bfd24cf459b5fe65cd9b8";
       };
     }
     {
@@ -650,11 +658,11 @@
       };
     }
     {
-      name = "_types_filesystem___filesystem_0.0.30.tgz";
+      name = "_types_filesystem___filesystem_0.0.31.tgz";
       path = fetchurl {
-        name = "_types_filesystem___filesystem_0.0.30.tgz";
-        url  = "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.30.tgz";
-        sha1 = "a7373a2edf34d13e298baf7ee1101f738b2efb7e";
+        name = "_types_filesystem___filesystem_0.0.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.31.tgz";
+        sha1 = "121a1ded274a2dc731d5e0d90163a920ad6a9ef1";
       };
     }
     {
@@ -738,19 +746,19 @@
       };
     }
     {
-      name = "_types_node___node_15.12.2.tgz";
+      name = "_types_node___node_15.12.5.tgz";
       path = fetchurl {
-        name = "_types_node___node_15.12.2.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-15.12.2.tgz";
-        sha1 = "1f2b42c4be7156ff4a6f914b2fb03d05fa84e38d";
+        name = "_types_node___node_15.12.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-15.12.5.tgz";
+        sha1 = "9a78318a45d75c9523d2396131bd3cca54b2d185";
       };
     }
     {
-      name = "_types_node___node_14.17.3.tgz";
+      name = "_types_node___node_14.17.4.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.17.3.tgz";
-        sha1 = "6d327abaa4be34a74e421ed6409a0ae2f47f4c3d";
+        name = "_types_node___node_14.17.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.17.4.tgz";
+        sha1 = "218712242446fc868d0e007af29a4408c7765bc0";
       };
     }
     {
@@ -762,11 +770,11 @@
       };
     }
     {
-      name = "_types_prettier___prettier_2.2.3.tgz";
+      name = "_types_prettier___prettier_2.3.0.tgz";
       path = fetchurl {
-        name = "_types_prettier___prettier_2.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz";
-        sha1 = "ef65165aea2924c9359205bf748865b8881753c0";
+        name = "_types_prettier___prettier_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.0.tgz";
+        sha1 = "2e8332cc7363f887d32ec5496b207d26ba8052bb";
       };
     }
     {
@@ -842,11 +850,11 @@
       };
     }
     {
-      name = "acorn___acorn_8.3.0.tgz";
+      name = "acorn___acorn_8.4.1.tgz";
       path = fetchurl {
-        name = "acorn___acorn_8.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.3.0.tgz";
-        sha1 = "1193f9b96c4e8232f00b11a9edff81b2c8b98b88";
+        name = "acorn___acorn_8.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz";
+        sha1 = "56c36251fc7cabc7096adc18f05afe814321a28c";
       };
     }
     {
@@ -970,11 +978,11 @@
       };
     }
     {
-      name = "app_builder_lib___app_builder_lib_22.11.5.tgz";
+      name = "app_builder_lib___app_builder_lib_22.11.7.tgz";
       path = fetchurl {
-        name = "app_builder_lib___app_builder_lib_22.11.5.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.11.5.tgz";
-        sha1 = "d49f49dc2d9fd225249e4ae7e30add2996e7062f";
+        name = "app_builder_lib___app_builder_lib_22.11.7.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.11.7.tgz";
+        sha1 = "c0ad1119ebfbf4189a8280ad693625f5e684dca6";
       };
     }
     {
@@ -1082,11 +1090,11 @@
       };
     }
     {
-      name = "babel_jest___babel_jest_27.0.2.tgz";
+      name = "babel_jest___babel_jest_27.0.6.tgz";
       path = fetchurl {
-        name = "babel_jest___babel_jest_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.2.tgz";
-        sha1 = "7dc18adb01322acce62c2af76ea2c7cd186ade37";
+        name = "babel_jest___babel_jest_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.6.tgz";
+        sha1 = "e99c6e0577da2655118e3608b68761a5a69bd0d8";
       };
     }
     {
@@ -1098,11 +1106,11 @@
       };
     }
     {
-      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.0.1.tgz";
+      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.0.6.tgz";
       path = fetchurl {
-        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz";
-        sha1 = "a6d10e484c93abff0f4e95f437dad26e5736ea11";
+        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz";
+        sha1 = "f7c6b3d764af21cb4a2a1ab6870117dbde15b456";
       };
     }
     {
@@ -1114,11 +1122,11 @@
       };
     }
     {
-      name = "babel_preset_jest___babel_preset_jest_27.0.1.tgz";
+      name = "babel_preset_jest___babel_preset_jest_27.0.6.tgz";
       path = fetchurl {
-        name = "babel_preset_jest___babel_preset_jest_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz";
-        sha1 = "7a50c75d16647c23a2cf5158d5bb9eb206b10e20";
+        name = "babel_preset_jest___babel_preset_jest_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz";
+        sha1 = "909ef08e9f24a4679768be2f60a3df0856843f9d";
       };
     }
     {
@@ -1162,11 +1170,11 @@
       };
     }
     {
-      name = "boolean___boolean_3.1.0.tgz";
+      name = "boolean___boolean_3.1.2.tgz";
       path = fetchurl {
-        name = "boolean___boolean_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/boolean/-/boolean-3.1.0.tgz";
-        sha1 = "a245080649ebb80e7c0ea218a480e4e913136336";
+        name = "boolean___boolean_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/boolean/-/boolean-3.1.2.tgz";
+        sha1 = "e30f210a26b02458482a8cc353ab06f262a780c2";
       };
     }
     {
@@ -1258,11 +1266,19 @@
       };
     }
     {
-      name = "builder_util___builder_util_22.11.5.tgz";
+      name = "builder_util_runtime___builder_util_runtime_8.7.7.tgz";
+      path = fetchurl {
+        name = "builder_util_runtime___builder_util_runtime_8.7.7.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.7.tgz";
+        sha1 = "6c83cc3abe7a7a5c8b4ec8878f68adc828c07f0d";
+      };
+    }
+    {
+      name = "builder_util___builder_util_22.11.7.tgz";
       path = fetchurl {
-        name = "builder_util___builder_util_22.11.5.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.11.5.tgz";
-        sha1 = "08836d00e6bef39bdffd8a66fb07d2d5021b9c3c";
+        name = "builder_util___builder_util_22.11.7.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.11.7.tgz";
+        sha1 = "ae9707afa6a31feafa13c274ac83b4fe28ef1467";
       };
     }
     {
@@ -1298,11 +1314,11 @@
       };
     }
     {
-      name = "caniuse_lite___caniuse_lite_1.0.30001236.tgz";
+      name = "caniuse_lite___caniuse_lite_1.0.30001241.tgz";
       path = fetchurl {
-        name = "caniuse_lite___caniuse_lite_1.0.30001236.tgz";
-        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001236.tgz";
-        sha1 = "0a80de4cdf62e1770bb46a30d884fc8d633e3958";
+        name = "caniuse_lite___caniuse_lite_1.0.30001241.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz";
+        sha1 = "cd3fae47eb3d7691692b406568d7a3e5b23c7598";
       };
     }
     {
@@ -1522,19 +1538,19 @@
       };
     }
     {
-      name = "convert_source_map___convert_source_map_1.7.0.tgz";
+      name = "convert_source_map___convert_source_map_1.8.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 = "convert_source_map___convert_source_map_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz";
+        sha1 = "f3373c32d21b4d780dd8004514684fb791ca4369";
       };
     }
     {
-      name = "core_js___core_js_3.14.0.tgz";
+      name = "core_js___core_js_3.15.2.tgz";
       path = fetchurl {
-        name = "core_js___core_js_3.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.14.0.tgz";
-        sha1 = "62322b98c71cc2018b027971a69419e2425c2a6c";
+        name = "core_js___core_js_3.15.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz";
+        sha1 = "740660d2ff55ef34ce664d7e2455119c5bdd3d61";
       };
     }
     {
@@ -1642,11 +1658,11 @@
       };
     }
     {
-      name = "decimal.js___decimal.js_10.2.1.tgz";
+      name = "decimal.js___decimal.js_10.3.1.tgz";
       path = fetchurl {
-        name = "decimal.js___decimal.js_10.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz";
-        sha1 = "238ae7b0f0c793d3e3cea410108b35a2c01426a3";
+        name = "decimal.js___decimal.js_10.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz";
+        sha1 = "d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783";
       };
     }
     {
@@ -1730,11 +1746,11 @@
       };
     }
     {
-      name = "diff_sequences___diff_sequences_27.0.1.tgz";
+      name = "diff_sequences___diff_sequences_27.0.6.tgz";
       path = fetchurl {
-        name = "diff_sequences___diff_sequences_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.1.tgz";
-        sha1 = "9c9801d52ed5f576ff0a20e3022a13ee6e297e7c";
+        name = "diff_sequences___diff_sequences_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz";
+        sha1 = "3305cb2e55a033924054695cc66019fd7f8e5723";
       };
     }
     {
@@ -1746,11 +1762,11 @@
       };
     }
     {
-      name = "dmg_builder___dmg_builder_22.11.5.tgz";
+      name = "dmg_builder___dmg_builder_22.11.7.tgz";
       path = fetchurl {
-        name = "dmg_builder___dmg_builder_22.11.5.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.11.5.tgz";
-        sha1 = "0df9843def73a217097956982fa21bb4d6a5836e";
+        name = "dmg_builder___dmg_builder_22.11.7.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.11.7.tgz";
+        sha1 = "5956008c18d40ee72c0ea01ffea9590dbf51df89";
       };
     }
     {
@@ -1818,35 +1834,35 @@
       };
     }
     {
-      name = "electron_builder___electron_builder_22.11.5.tgz";
+      name = "electron_builder___electron_builder_22.11.7.tgz";
       path = fetchurl {
-        name = "electron_builder___electron_builder_22.11.5.tgz";
-        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.11.5.tgz";
-        sha1 = "914d8183e1bab7cda43ef1d67fc3d17314c7e242";
+        name = "electron_builder___electron_builder_22.11.7.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.11.7.tgz";
+        sha1 = "cd97a0d9f6e6d388112e66b4376de431cca4d596";
       };
     }
     {
-      name = "electron_publish___electron_publish_22.11.5.tgz";
+      name = "electron_publish___electron_publish_22.11.7.tgz";
       path = fetchurl {
-        name = "electron_publish___electron_publish_22.11.5.tgz";
-        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.5.tgz";
-        sha1 = "2fcd3280c4267e70e4aa15003c9b7dc34923320e";
+        name = "electron_publish___electron_publish_22.11.7.tgz";
+        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.7.tgz";
+        sha1 = "4126cbb08ccf082a2aa7fef89ee629b3a4b8ae9a";
       };
     }
     {
-      name = "electron_to_chromium___electron_to_chromium_1.3.750.tgz";
+      name = "electron_to_chromium___electron_to_chromium_1.3.763.tgz";
       path = fetchurl {
-        name = "electron_to_chromium___electron_to_chromium_1.3.750.tgz";
-        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.750.tgz";
-        sha1 = "7e5ef6f478316b0bd656af5942fe502610e97eaf";
+        name = "electron_to_chromium___electron_to_chromium_1.3.763.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.763.tgz";
+        sha1 = "93f6f02506d099941f557b9db9ba50b30215bf15";
       };
     }
     {
-      name = "electron___electron_13.1.1.tgz";
+      name = "electron___electron_13.1.4.tgz";
       path = fetchurl {
-        name = "electron___electron_13.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/electron/-/electron-13.1.1.tgz";
-        sha1 = "de1ea908bcac2197d7a5a373fb68c0c66043e10e";
+        name = "electron___electron_13.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/electron/-/electron-13.1.4.tgz";
+        sha1 = "6d20d932a0651c3cba9f09a3d08cbaf5b69aa84b";
       };
     }
     {
@@ -2010,11 +2026,11 @@
       };
     }
     {
-      name = "eslint___eslint_7.28.0.tgz";
+      name = "eslint___eslint_7.29.0.tgz";
       path = fetchurl {
-        name = "eslint___eslint_7.28.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz";
-        sha1 = "435aa17a0b82c13bb2be9d51408b617e49c1e820";
+        name = "eslint___eslint_7.29.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.29.0.tgz";
+        sha1 = "ee2a7648f2e729485e4d0bd6383ec1deabc8b3c0";
       };
     }
     {
@@ -2098,11 +2114,11 @@
       };
     }
     {
-      name = "expect___expect_27.0.2.tgz";
+      name = "expect___expect_27.0.6.tgz";
       path = fetchurl {
-        name = "expect___expect_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/expect/-/expect-27.0.2.tgz";
-        sha1 = "e66ca3a4c9592f1c019fa1d46459a9d2084f3422";
+        name = "expect___expect_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/expect/-/expect-27.0.6.tgz";
+        sha1 = "a4d74fbe27222c718fff68ef49d78e26a8fd4c05";
       };
     }
     {
@@ -2842,131 +2858,131 @@
       };
     }
     {
-      name = "jest_changed_files___jest_changed_files_27.0.2.tgz";
+      name = "jest_changed_files___jest_changed_files_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_changed_files___jest_changed_files_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.2.tgz";
-        sha1 = "997253042b4a032950fc5f56abf3c5d1f8560801";
+        name = "jest_changed_files___jest_changed_files_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.6.tgz";
+        sha1 = "bed6183fcdea8a285482e3b50a9a7712d49a7a8b";
       };
     }
     {
-      name = "jest_circus___jest_circus_27.0.4.tgz";
+      name = "jest_circus___jest_circus_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_circus___jest_circus_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.4.tgz";
-        sha1 = "3b261514ee3b3da33def736a6352c98ff56bb6e6";
+        name = "jest_circus___jest_circus_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.6.tgz";
+        sha1 = "dd4df17c4697db6a2c232aaad4e9cec666926668";
       };
     }
     {
-      name = "jest_cli___jest_cli_27.0.4.tgz";
+      name = "jest_cli___jest_cli_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_cli___jest_cli_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.4.tgz";
-        sha1 = "491b12c754c0d7c6873b13a66f26b3a80a852910";
+        name = "jest_cli___jest_cli_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.6.tgz";
+        sha1 = "d021e5f4d86d6a212450d4c7b86cb219f1e6864f";
       };
     }
     {
-      name = "jest_config___jest_config_27.0.4.tgz";
+      name = "jest_config___jest_config_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_config___jest_config_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.4.tgz";
-        sha1 = "c4f41378acf40ca77860fb4e213b12109d87b8cf";
+        name = "jest_config___jest_config_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.6.tgz";
+        sha1 = "119fb10f149ba63d9c50621baa4f1f179500277f";
       };
     }
     {
-      name = "jest_diff___jest_diff_27.0.2.tgz";
+      name = "jest_diff___jest_diff_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_diff___jest_diff_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.2.tgz";
-        sha1 = "f315b87cee5dc134cf42c2708ab27375cc3f5a7e";
+        name = "jest_diff___jest_diff_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.6.tgz";
+        sha1 = "4a7a19ee6f04ad70e0e3388f35829394a44c7b5e";
       };
     }
     {
-      name = "jest_docblock___jest_docblock_27.0.1.tgz";
+      name = "jest_docblock___jest_docblock_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_docblock___jest_docblock_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.1.tgz";
-        sha1 = "bd9752819b49fa4fab1a50b73eb58c653b962e8b";
+        name = "jest_docblock___jest_docblock_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz";
+        sha1 = "cc78266acf7fe693ca462cbbda0ea4e639e4e5f3";
       };
     }
     {
-      name = "jest_each___jest_each_27.0.2.tgz";
+      name = "jest_each___jest_each_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_each___jest_each_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.2.tgz";
-        sha1 = "865ddb4367476ced752167926b656fa0dcecd8c7";
+        name = "jest_each___jest_each_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.6.tgz";
+        sha1 = "cee117071b04060158dc8d9a66dc50ad40ef453b";
       };
     }
     {
-      name = "jest_environment_jsdom___jest_environment_jsdom_27.0.3.tgz";
+      name = "jest_environment_jsdom___jest_environment_jsdom_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_environment_jsdom___jest_environment_jsdom_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz";
-        sha1 = "ed73e913ddc03864eb9f934b5cbabf1b63504e2e";
+        name = "jest_environment_jsdom___jest_environment_jsdom_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.6.tgz";
+        sha1 = "f66426c4c9950807d0a9f209c590ce544f73291f";
       };
     }
     {
-      name = "jest_environment_node___jest_environment_node_27.0.3.tgz";
+      name = "jest_environment_node___jest_environment_node_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_environment_node___jest_environment_node_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.3.tgz";
-        sha1 = "b4acb3679d2552a4215732cab8b0ca7ec4398ee0";
+        name = "jest_environment_node___jest_environment_node_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.6.tgz";
+        sha1 = "a6699b7ceb52e8d68138b9808b0c404e505f3e07";
       };
     }
     {
-      name = "jest_get_type___jest_get_type_27.0.1.tgz";
+      name = "jest_get_type___jest_get_type_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_get_type___jest_get_type_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.1.tgz";
-        sha1 = "34951e2b08c8801eb28559d7eb732b04bbcf7815";
+        name = "jest_get_type___jest_get_type_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz";
+        sha1 = "0eb5c7f755854279ce9b68a9f1a4122f69047cfe";
       };
     }
     {
-      name = "jest_haste_map___jest_haste_map_27.0.2.tgz";
+      name = "jest_haste_map___jest_haste_map_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_haste_map___jest_haste_map_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.2.tgz";
-        sha1 = "3f1819400c671237e48b4d4b76a80a0dbed7577f";
+        name = "jest_haste_map___jest_haste_map_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.6.tgz";
+        sha1 = "4683a4e68f6ecaa74231679dca237279562c8dc7";
       };
     }
     {
-      name = "jest_jasmine2___jest_jasmine2_27.0.4.tgz";
+      name = "jest_jasmine2___jest_jasmine2_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_jasmine2___jest_jasmine2_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.4.tgz";
-        sha1 = "c669519ccf4904a485338555e1e66cad36bb0670";
+        name = "jest_jasmine2___jest_jasmine2_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.6.tgz";
+        sha1 = "fd509a9ed3d92bd6edb68a779f4738b100655b37";
       };
     }
     {
-      name = "jest_leak_detector___jest_leak_detector_27.0.2.tgz";
+      name = "jest_leak_detector___jest_leak_detector_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_leak_detector___jest_leak_detector_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz";
-        sha1 = "ce19aa9dbcf7a72a9d58907a970427506f624e69";
+        name = "jest_leak_detector___jest_leak_detector_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.6.tgz";
+        sha1 = "545854275f85450d4ef4b8fe305ca2a26450450f";
       };
     }
     {
-      name = "jest_matcher_utils___jest_matcher_utils_27.0.2.tgz";
+      name = "jest_matcher_utils___jest_matcher_utils_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_matcher_utils___jest_matcher_utils_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz";
-        sha1 = "f14c060605a95a466cdc759acc546c6f4cbfc4f0";
+        name = "jest_matcher_utils___jest_matcher_utils_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.6.tgz";
+        sha1 = "2a8da1e86c620b39459f4352eaa255f0d43e39a9";
       };
     }
     {
-      name = "jest_message_util___jest_message_util_27.0.2.tgz";
+      name = "jest_message_util___jest_message_util_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_message_util___jest_message_util_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.2.tgz";
-        sha1 = "181c9b67dff504d8f4ad15cba10d8b80f272048c";
+        name = "jest_message_util___jest_message_util_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.6.tgz";
+        sha1 = "158bcdf4785706492d164a39abca6a14da5ab8b5";
       };
     }
     {
-      name = "jest_mock___jest_mock_27.0.3.tgz";
+      name = "jest_mock___jest_mock_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_mock___jest_mock_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.3.tgz";
-        sha1 = "5591844f9192b3335c0dca38e8e45ed297d4d23d";
+        name = "jest_mock___jest_mock_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.6.tgz";
+        sha1 = "0efdd40851398307ba16778728f6d34d583e3467";
       };
     }
     {
@@ -2978,99 +2994,99 @@
       };
     }
     {
-      name = "jest_regex_util___jest_regex_util_27.0.1.tgz";
+      name = "jest_regex_util___jest_regex_util_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_regex_util___jest_regex_util_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.1.tgz";
-        sha1 = "69d4b1bf5b690faa3490113c47486ed85dd45b68";
+        name = "jest_regex_util___jest_regex_util_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz";
+        sha1 = "02e112082935ae949ce5d13b2675db3d8c87d9c5";
       };
     }
     {
-      name = "jest_resolve_dependencies___jest_resolve_dependencies_27.0.4.tgz";
+      name = "jest_resolve_dependencies___jest_resolve_dependencies_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_resolve_dependencies___jest_resolve_dependencies_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.4.tgz";
-        sha1 = "a07a242d70d668afd3fcf7f4270755eebb1fe579";
+        name = "jest_resolve_dependencies___jest_resolve_dependencies_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.6.tgz";
+        sha1 = "3e619e0ef391c3ecfcf6ef4056207a3d2be3269f";
       };
     }
     {
-      name = "jest_resolve___jest_resolve_27.0.4.tgz";
+      name = "jest_resolve___jest_resolve_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_resolve___jest_resolve_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.4.tgz";
-        sha1 = "8a27bc3f2f00c8ea28f3bc99bbf6f468300a703d";
+        name = "jest_resolve___jest_resolve_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.6.tgz";
+        sha1 = "e90f436dd4f8fbf53f58a91c42344864f8e55bff";
       };
     }
     {
-      name = "jest_runner___jest_runner_27.0.4.tgz";
+      name = "jest_runner___jest_runner_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_runner___jest_runner_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.4.tgz";
-        sha1 = "2787170a9509b792ae129794f6944d27d5d12a4f";
+        name = "jest_runner___jest_runner_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.6.tgz";
+        sha1 = "1325f45055539222bbc7256a6976e993ad2f9520";
       };
     }
     {
-      name = "jest_runtime___jest_runtime_27.0.4.tgz";
+      name = "jest_runtime___jest_runtime_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_runtime___jest_runtime_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.4.tgz";
-        sha1 = "2e4a6aa77cac32ac612dfe12768387a8aa15c2f0";
+        name = "jest_runtime___jest_runtime_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.6.tgz";
+        sha1 = "45877cfcd386afdd4f317def551fc369794c27c9";
       };
     }
     {
-      name = "jest_serializer___jest_serializer_27.0.1.tgz";
+      name = "jest_serializer___jest_serializer_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_serializer___jest_serializer_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.1.tgz";
-        sha1 = "2464d04dcc33fb71dc80b7c82e3c5e8a08cb1020";
+        name = "jest_serializer___jest_serializer_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz";
+        sha1 = "93a6c74e0132b81a2d54623251c46c498bb5bec1";
       };
     }
     {
-      name = "jest_snapshot___jest_snapshot_27.0.4.tgz";
+      name = "jest_snapshot___jest_snapshot_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_snapshot___jest_snapshot_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.4.tgz";
-        sha1 = "2b96e22ca90382b3e93bd0aae2ce4c78bf51fb5b";
+        name = "jest_snapshot___jest_snapshot_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.6.tgz";
+        sha1 = "f4e6b208bd2e92e888344d78f0f650bcff05a4bf";
       };
     }
     {
-      name = "jest_util___jest_util_27.0.2.tgz";
+      name = "jest_util___jest_util_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_util___jest_util_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.2.tgz";
-        sha1 = "fc2c7ace3c75ae561cf1e5fdb643bf685a5be7c7";
+        name = "jest_util___jest_util_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.6.tgz";
+        sha1 = "e8e04eec159de2f4d5f57f795df9cdc091e50297";
       };
     }
     {
-      name = "jest_validate___jest_validate_27.0.2.tgz";
+      name = "jest_validate___jest_validate_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_validate___jest_validate_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.2.tgz";
-        sha1 = "7fe2c100089449cd5cbb47a5b0b6cb7cda5beee5";
+        name = "jest_validate___jest_validate_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.6.tgz";
+        sha1 = "930a527c7a951927df269f43b2dc23262457e2a6";
       };
     }
     {
-      name = "jest_watcher___jest_watcher_27.0.2.tgz";
+      name = "jest_watcher___jest_watcher_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_watcher___jest_watcher_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.2.tgz";
-        sha1 = "dab5f9443e2d7f52597186480731a8c6335c5deb";
+        name = "jest_watcher___jest_watcher_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.6.tgz";
+        sha1 = "89526f7f9edf1eac4e4be989bcb6dec6b8878d9c";
       };
     }
     {
-      name = "jest_worker___jest_worker_27.0.2.tgz";
+      name = "jest_worker___jest_worker_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_worker___jest_worker_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.2.tgz";
-        sha1 = "4ebeb56cef48b3e7514552f80d0d80c0129f0b05";
+        name = "jest_worker___jest_worker_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.6.tgz";
+        sha1 = "a5fdb1e14ad34eb228cfe162d9f729cdbfa28aed";
       };
     }
     {
-      name = "jest___jest_27.0.4.tgz";
+      name = "jest___jest_27.0.6.tgz";
       path = fetchurl {
-        name = "jest___jest_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest/-/jest-27.0.4.tgz";
-        sha1 = "91d4d564b36bcf93b98dac1ab19f07089e670f53";
+        name = "jest___jest_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest/-/jest-27.0.6.tgz";
+        sha1 = "10517b2a628f0409087fbf473db44777d7a04505";
       };
     }
     {
@@ -3762,11 +3778,11 @@
       };
     }
     {
-      name = "pretty_format___pretty_format_27.0.2.tgz";
+      name = "pretty_format___pretty_format_27.0.6.tgz";
       path = fetchurl {
-        name = "pretty_format___pretty_format_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.2.tgz";
-        sha1 = "9283ff8c4f581b186b2d4da461617143dca478a4";
+        name = "pretty_format___pretty_format_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.6.tgz";
+        sha1 = "ab770c47b2c6f893a21aefc57b75da63ef49a11f";
       };
     }
     {
@@ -3890,11 +3906,11 @@
       };
     }
     {
-      name = "regexpp___regexpp_3.1.0.tgz";
+      name = "regexpp___regexpp_3.2.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 = "regexpp___regexpp_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz";
+        sha1 = "0425a2768d8f23bad70ca4b90461fa2f1213e1b2";
       };
     }
     {
@@ -4658,11 +4674,11 @@
       };
     }
     {
-      name = "v8_to_istanbul___v8_to_istanbul_7.1.2.tgz";
+      name = "v8_to_istanbul___v8_to_istanbul_8.0.0.tgz";
       path = fetchurl {
-        name = "v8_to_istanbul___v8_to_istanbul_7.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz";
-        sha1 = "30898d1a7fa0c84d225a2c1434fb958f290883c1";
+        name = "v8_to_istanbul___v8_to_istanbul_8.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz";
+        sha1 = "4229f2a99e367f3f018fa1d5c2b8ec684667c69c";
       };
     }
     {
@@ -4730,11 +4746,11 @@
       };
     }
     {
-      name = "whatwg_url___whatwg_url_8.6.0.tgz";
+      name = "whatwg_url___whatwg_url_8.7.0.tgz";
       path = fetchurl {
-        name = "whatwg_url___whatwg_url_8.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.6.0.tgz";
-        sha1 = "27c0205a4902084b872aecb97cf0f2a7a3011f4c";
+        name = "whatwg_url___whatwg_url_8.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz";
+        sha1 = "656a78e510ff8f3937bc0bcbe9f5c0ac35941b77";
       };
     }
     {
@@ -4786,11 +4802,11 @@
       };
     }
     {
-      name = "ws___ws_7.4.6.tgz";
+      name = "ws___ws_7.5.1.tgz";
       path = fetchurl {
-        name = "ws___ws_7.4.6.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz";
-        sha1 = "5654ca8ecdeee47c33a9a4bf6d28e2be2980377c";
+        name = "ws___ws_7.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.5.1.tgz";
+        sha1 = "44fc000d87edb1d9c53e51fbc69a0ac1f6871d66";
       };
     }
     {
@@ -4858,11 +4874,11 @@
       };
     }
     {
-      name = "yargs_parser___yargs_parser_20.2.7.tgz";
+      name = "yargs_parser___yargs_parser_20.2.9.tgz";
       path = fetchurl {
-        name = "yargs_parser___yargs_parser_20.2.7.tgz";
-        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz";
-        sha1 = "61df85c113edfb5a7a4e36eb8aa60ef423cbc90a";
+        name = "yargs_parser___yargs_parser_20.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz";
+        sha1 = "2eb7dc3b0289718fc295f362753845c41a0c94ee";
       };
     }
     {
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index 816b986f883..240d9a972fb 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ wrapGAppsHook pkg-config ];
   buildInputs = [ gtk3 libsoup webkitgtk glib-networking gsettings-desktop-schemas ];
 
+  passthru = {
+    inherit gtk3;
+  };
+
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = {
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index dba21d2f21c..ad58a048c3e 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 = "4.0.2312.24-1";
+  version = "4.0.2312.38-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "0cyvnabjhcn1bm5py4nhfb1yhpz5nm9qm39vb4y1fwhjd0jv38hi";
+    sha256 = "1sdg22snphjsrmxi3fvy41dnjsxpajbhni9bpidk8msa9xgxvzpx";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/browsers/yandex-browser/default.nix b/pkgs/applications/networking/browsers/yandex-browser/default.nix
new file mode 100644
index 00000000000..5c62dbb7e20
--- /dev/null
+++ b/pkgs/applications/networking/browsers/yandex-browser/default.nix
@@ -0,0 +1,135 @@
+{ stdenv
+, lib
+, fetchurl
+, autoPatchelfHook
+, wrapGAppsHook
+, flac
+, gnome2
+, harfbuzzFull
+, nss
+, snappy
+, xdg-utils
+, xorg
+, alsa-lib
+, atk
+, cairo
+, cups
+, curl
+, dbus
+, expat
+, fontconfig
+, freetype
+, gdk-pixbuf
+, glib
+, gtk3
+, libX11
+, libxcb
+, libXScrnSaver
+, libXcomposite
+, libXcursor
+, libXdamage
+, libXext
+, libXfixes
+, libXi
+, libXrandr
+, libXrender
+, libXtst
+, libdrm
+, libnotify
+, libopus
+, libpulseaudio
+, libuuid
+, libxshmfence
+, mesa
+, nspr
+, pango
+, systemd
+, at-spi2-atk
+, at-spi2-core
+}:
+
+stdenv.mkDerivation rec {
+  pname = "yandex-browser";
+  version = "21.5.3.753-1";
+
+  src = fetchurl {
+    url = "http://repo.yandex.ru/yandex-browser/deb/pool/main/y/${pname}-beta/${pname}-beta_${version}_amd64.deb";
+    sha256 = "sha256-sI2p/fCaruUJ3qPMyy+12Bh5I1SH8m7sYX5yDex2rwg=";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    flac
+    harfbuzzFull
+    nss
+    snappy
+    xdg-utils
+    xorg.libxkbfile
+    alsa-lib
+    at-spi2-atk
+    at-spi2-core
+    atk
+    cairo
+    cups
+    curl
+    dbus
+    expat
+    fontconfig.lib
+    freetype
+    gdk-pixbuf
+    glib
+    gnome2.GConf
+    gtk3
+    libX11
+    libXScrnSaver
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXrandr
+    libXrender
+    libXtst
+    libdrm
+    libnotify
+    libopus
+    libuuid
+    libxcb
+    libxshmfence
+    mesa
+    nspr
+    nss
+    pango
+    stdenv.cc.cc.lib
+  ];
+
+  unpackPhase = ''
+    mkdir -p $TMP/ya $out/bin
+    cp $src $TMP/ya.deb
+    ar vx ya.deb
+    tar --no-overwrite-dir -xvf data.tar.xz -C $TMP/ya/
+  '';
+
+  installPhase = ''
+    cp -R $TMP/ya/opt $out/
+    ln -sf $out/opt/yandex/browser-beta/yandex_browser $out/bin/yandex-browser
+  '';
+
+  runtimeDependencies = [
+    libpulseaudio.out
+    (lib.getLib systemd)
+  ];
+
+  meta = with lib; {
+    description = "Yandex Web Browser";
+    homepage = "https://browser.yandex.ru/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix
index 1e44d46689f..757f39c5b35 100644
--- a/pkgs/applications/networking/charles/default.nix
+++ b/pkgs/applications/networking/charles/default.nix
@@ -1,5 +1,5 @@
-{
-lib, stdenv
+{ lib
+, stdenv
 , makeWrapper
 , makeDesktopItem
 , fetchurl
@@ -49,16 +49,16 @@ let
       meta = with lib; {
         description = "Web Debugging Proxy";
         homepage = "https://www.charlesproxy.com/";
-        maintainers = [ maintainers.kalbasit ];
-        license = lib.licenses.unfree;
-        platforms = lib.platforms.linux ++ lib.platforms.darwin;
+        maintainers = with maintainers; [ kalbasit ];
+        license = licenses.unfree;
+        platforms = platforms.unix;
       };
     };
 
 in {
   charles4 = (generic {
-    version = "4.6.1";
-    sha256 = "1kl83jjj5wjhdpj34gcj04vf1asxlqlfx9zi91ln4v90swlaaclv";
+    version = "4.6.2";
+    sha256 = "0r5rann7cq665ih0pa66k52081gylk85ashrwq1khbv2jf80yy52";
     platform = "_amd64";
     jdk = jdk11;
   });
@@ -68,4 +68,3 @@ in {
     jdk = jdk8.jre;
   });
 }
-
diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix
index 153f0a9cb99..374062f0d80 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.5.10";
+  version = "2021.7.0";
 
   src = fetchFromGitHub {
     owner  = "cloudflare";
     repo   = "cloudflared";
     rev    = version;
-    sha256 = "sha256-v/ehqaI3TPhHACtxU8PRB9tGp8qrl6AN6buxOhJdevI=";
+    sha256 = "sha256-FQejuKBDUCCcEq9ZmSMigdvqowTurCYEhOiXQN7exIE=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index 78d6ea1a1e7..a49879e5352 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -19,16 +19,16 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "3.0.7";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "sha256-lZTSUNtmJZKONt0Bv42dBAc+87L14HaPxvPxhFe8nyc=";
+    sha256 = "sha256-WErNPofVnV6L7DkYU/dh4mWm+u7UJNFUmRN6IZzMb2g=";
   };
 
-  vendorSha256 = "sha256-YjVAoMyGKMHLGEPeOOkCKCzeWFiUsXfJIKcw5GYoljg=";
+  vendorSha256 = "sha256-99N//woGPx9QEtkFsktaiAbu7TS+3DHArBA52OUJFU4=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index 05ba4187ce1..0dfb5507281 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.0.1";
-  commit = "33eaf11e3abd8c761c726e815cbb4b6af7dcb030";
+  version = "2.0.4";
+  commit = "0842d448107eb1397b251e63ec4d4bc1b4efdd6e";
   tag = "v${version}";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = tag;
-    sha256 = "sha256-j/RdiMeaYxlmEvo5CKrGvkp25MrFsSYh+XNYWNcs0PE=";
+    sha256 = "sha256-SKSAJtp20f6A+CvrsBEmbcNJAKI5b4Wm4K0cr/lGo64=";
   };
 
-  vendorSha256 = "sha256-8j5v99wOHM/SndJwpmGWiCFEyw4K513HEEbkPrD8C90=";
+  vendorSha256 = "sha256-RbEqivzTpXVQp4zl0zZWAh6qCr2KZSJ6Bj2pZaClQaQ=";
 
   nativeBuildInputs = [ packr makeWrapper installShellFiles ];
 
@@ -66,8 +66,9 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes";
-    homepage = "https://github.com/argoproj/argo";
+    description = "Declarative continuous deployment for Kubernetes";
+    downloadPage = "https://github.com/argoproj/argo-cd";
+    homepage = "https://argoproj.github.io/projects/argo-cd";
     license = licenses.asl20;
     maintainers = with maintainers; [ shahrukh330 superherointj ];
   };
diff --git a/pkgs/applications/networking/cluster/bosh-cli/default.nix b/pkgs/applications/networking/cluster/bosh-cli/default.nix
index 070af87f9c4..2354a41a6a6 100644
--- a/pkgs/applications/networking/cluster/bosh-cli/default.nix
+++ b/pkgs/applications/networking/cluster/bosh-cli/default.nix
@@ -8,13 +8,13 @@
 buildGoModule rec {
   pname = "bosh-cli";
 
-  version = "6.4.3";
+  version = "6.4.4";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1glxwk0fv52rjim7ihcxkjx19fsn9k7gzg9zmwxgx8wpsjrdcq3f";
+    sha256 = "sha256-N7GrxePNewxhHnkQP/XBdUIEL5FsFD4avouZaIO+BKc=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
index d7cf0a933df..baf67f2b681 100644
--- a/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,11 +1,11 @@
 { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
 
 let
-  version = "0.13.4";
+  version = "0.16.1";
 
   manifests = fetchzip {
     url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz";
-    sha256 = "sha256-+2JvJFzH1CjU/WQ7MLtqd5Adfi/ktX9lPq4IyxPcUD8=";
+    sha256 = "sha256-/uD0hxtTJSr+2tZcwzOIQcEbikHOshWukEBSaK3FiP4=";
     stripRoot = false;
   };
 in
@@ -19,10 +19,10 @@ buildGoModule rec {
     owner = "fluxcd";
     repo = "flux2";
     rev = "v${version}";
-    sha256 = "sha256-edyqxVl8oIwKp/eqFIbu+qn9zhYEnKJKwUbYZ7uxx0I=";
+    sha256 = "sha256-OjbyDg+3dSJco162NubK12pbmwib6uGlJQxVaJOzSig=";
   };
 
-  vendorSha256 = "sha256-keIzuqaLppu6+XK3MFiU0en+SVxWVLpfkKEKOAVOz7k=";
+  vendorSha256 = "sha256-GPbuHv/Xi9sWWZ6SIlW8cm5bY1gTO41vygx2C8dEt0k=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix
index fadaa94995c..bba0b74172a 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.22.2";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "sha256-qYdVplNHyD31m4IbIeL3x3nauZLl1XquslS3WrtUXBk=";
+    sha256 = "sha256-CJY7XjHJ6suJrjhnG+w5oM1FtVnegcbkCVGjyoBtBag=";
   };
 
-  vendorSha256 = "sha256-4uSw/9lI/rdDqy78jNC9eHYW/v/sMFb+sQvwYG6GZks=";
+  vendorSha256 = "sha256-aC6E+PpuUqFhZKvQT5AuxpPmHfhjCwHzwFHDzk5wazw=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/fn-cli/default.nix b/pkgs/applications/networking/cluster/fn-cli/default.nix
index 118e3e0fbe2..95e16797cf4 100644
--- a/pkgs/applications/networking/cluster/fn-cli/default.nix
+++ b/pkgs/applications/networking/cluster/fn-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fn";
-  version = "0.6.6";
+  version = "0.6.8";
 
   src = fetchFromGitHub {
     owner = "fnproject";
     repo = "cli";
     rev = version;
-    sha256 = "12s3xgrr11n8kfwsh8xpwcza1pr6b200dmc9h8igjy3s3cgg6sh7";
+    sha256 = "sha256-8b1VyukVMTXLAnvYcjXgTdPtMq3YxJgTpxe25Kj+Wpw=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index e861ef97be3..69961a2c0a0 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -2,20 +2,25 @@
 
 buildGoModule rec {
   pname = "helm";
-  version = "3.6.0";
+  version = "3.6.2";
+  gitCommit = "ee407bdf364942bcb8e8c665f82e15aa28009b71";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "sha256-sVa7d69MuOjH1IhUMcXu79kEE0BKylLYx6yrOV/DExY=";
+    sha256 = "1s40zbk83s1kylcglydw356282virf1828v9waj1zs1gjnjml69h";
   };
-  vendorSha256 = "sha256-PTAyRG6PZK+vaiheUd3oiu4iBGlnFjoCrci0CYbXjBk=";
+  vendorSha256 = "06ccsy30kd68ml13l5k7d4225vlax3fm2pi8dapsyr4gdr234c1x";
 
   doCheck = false;
 
   subPackages = [ "cmd/helm" ];
-  buildFlagsArray = [ "-ldflags=-w -s -X helm.sh/helm/v3/internal/version.version=v${version}" ];
+  ldflags = [
+    "-w" "-s"
+    "-X helm.sh/helm/v3/internal/version.version=v${version}"
+    "-X helm.sh/helm/v3/internal/version.gitCommit=${gitCommit}"
+  ];
 
   nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
index 4d7e170c201..ec3f21c69d1 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "helm-secrets";
-  version = "3.7.0";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = "jkroepke";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-AM+TLeSrXjn10DiQzXSqSwTqsc7CjTdnf6TWetden7g=";
+    hash = "sha256-UZu3jChEK59UrtUR2ze68Kkc6MkHRtTsfTOS/B96sLM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix
index 6dacc008304..7fda9c74c9b 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.139.7";
+  version = "0.139.9";
 
   src = fetchFromGitHub {
     owner = "roboll";
     repo = "helmfile";
     rev = "v${version}";
-    sha256 = "sha256-mxnl5ALave2E61AqJAHlLHDLHOwA2wwjs3sb4WnG82A=";
+    sha256 = "sha256-MHvfDeN4r9jwnXANHTpMEQUIoAZ+uXAmDtl8wdcpjHI=";
   };
 
-  vendorSha256 = "sha256-tdsQx2AvbRC8l7YZFBg2xVqo0CLrOOwA9Nmuei+1ozw=";
+  vendorSha256 = "sha256-QYI5HxEUNrZKSjk0LlbhjvxXlWCbbLup51Ht3HJDNC8=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/helmsman/default.nix b/pkgs/applications/networking/cluster/helmsman/default.nix
index 595dd3c61ae..ed4a201db3a 100644
--- a/pkgs/applications/networking/cluster/helmsman/default.nix
+++ b/pkgs/applications/networking/cluster/helmsman/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "helmsman";
-  version = "3.6.11";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "Praqma";
     repo = "helmsman";
     rev = "v${version}";
-    sha256 = "sha256-9G/A6eADt9jP0CZC6MTZnQOmGOItJFI0zTfmC7HXSaI=";
+    sha256 = "sha256-Xp86tCIM7XVtue/MjQ8/wGs2fHfxSWS3B6MzNMYRqg4=";
   };
 
   vendorSha256 = "sha256-icX8mOc8g+DhfAjD1pzneLWTXY17lXyAjdPOWAxkHwI=";
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index 85b6c623ae3..3c69fe05cfc 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -1,26 +1,20 @@
-{ lib, buildGoModule, fetchFromGitHub, go-bindata, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.9.4";
+  version = "1.10.2";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "sha256-QyiGDk9lA9Y49VpRNRGNbir/ql/Vzp6wsZ1LGodGTks=";
+    sha256 = "sha256-jzLffTAGlNeglzoJ3AG4d0pwrkXmT5ttJxr2z4MwP90=";
   };
-  vendorSha256 = "sha256-N+7xajNkxuaC1yDTkPCg80bl2gRy2+Sa4Qq1A8zSGD8=";
+  vendorSha256 = "sha256-q/m1H6gcnn35ULi+e8fVuJg8eIXhzizGwXJmyf1Hfy4=";
 
   doCheck = false;
 
-  nativeBuildInputs = [ go-bindata installShellFiles ];
-
-  # Bundle charts
-  preBuild = ''
-    patchShebangs operator/scripts
-    operator/scripts/create_assets_gen.sh
-  '';
+  nativeBuildInputs = [ installShellFiles ];
 
   # Bundle release metadata
   buildFlagsArray = let
diff --git a/pkgs/applications/networking/cluster/k0sctl/default.nix b/pkgs/applications/networking/cluster/k0sctl/default.nix
new file mode 100644
index 00000000000..59530f05457
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k0sctl/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "k0sctl";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "k0sproject";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-aW7x2XfeFU0z3lwPTsDHudHjdwTtfASgrbKGddVb6Rs=";
+  };
+
+  vendorSha256 = "sha256-bsXXWyeZXZLV6igEvyvPpS92FruGiLDx/5CCTKPe0EU=";
+
+  meta = with lib; {
+    description = "A bootstrapping and management tool for k0s clusters.";
+    homepage = "https://k0sproject.io/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nickcao ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix
index 878d7e1184f..dfeb61915ee 100644
--- a/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/default.nix
@@ -44,8 +44,8 @@ with lib;
 # Those pieces of software we entirely ignore upstream's handling of, and just
 # make sure they're in the path if desired.
 let
-  k3sVersion = "1.21.0+k3s1";     # k3s git tag
-  k3sCommit = "2705431d9645d128441c578309574cd262285ae6"; # k3s git commit at the above version
+  k3sVersion = "1.21.2+k3s1";     # k3s git tag
+  k3sCommit = "5a67e8dc473f8945e8e181f6f0b0dbbc387f6fca"; # k3s git commit at the above version
 
   traefikChartVersion = "9.18.2"; # taken from ./scripts/download at TRAEFIK_VERSION
   k3sRootVersion = "0.8.1";       # taken from ./scripts/download at ROOT_VERSION
@@ -97,7 +97,7 @@ let
   k3sRepo = fetchgit {
     url = "https://github.com/k3s-io/k3s";
     rev = "v${k3sVersion}";
-    sha256 = "sha256-xsXxf2ZYrkpOHlSFqTsHwWF3kChUjxWRjyDR3Dhg2ho=";
+    sha256 = "sha256-ZRkdHQ4RJ6XqE+DKE6wwpxetuKDG3k/4HaHyFxHev1U=";
   };
   # Stage 1 of the k3s build:
   # Let's talk about how k3s is structured.
diff --git a/pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch b/pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch
index 244da314f59..dd26810a456 100644
--- a/pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch
+++ b/pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch
@@ -1,21 +1,19 @@
-From 1891be119e298ef7c86347a6b74d40ff539cf06e Mon Sep 17 00:00:00 2001
-From: Euan Kemp <euank@euank.com>
-Date: Sun, 31 May 2020 19:02:37 -0700
-Subject: [PATCH 2/2] Add nixpkgs patches
-
-These patches let us re-use the upstream build scripts when building for
-nix.
----
- scripts/build       | 20 ++++----------------
- scripts/package-cli | 10 ++++++----
- 2 files changed, 10 insertions(+), 20 deletions(-)
-
+-Subject: [PATCH 2/2] Add nixpkgs patches
+-Original patch by: Euan Kemp <euank@euank.com>
+-Adapted by: superherointj
+-
+-This patch allows us to re-use upstream build scripts when building for nix.
+----
+- 2 files changed:
+-   scripts/build
+-   scripts/package-cli
+-
 diff --git a/scripts/build b/scripts/build
-index 4ca6333c4a..df15f7db1d 100755
+index 2f3d1dc496..4f4e5aa897 100755
 --- a/scripts/build
 +++ b/scripts/build
 @@ -12,7 +12,8 @@ PKG_CONTAINERD="github.com/containerd/containerd"
- PKG_RANCHER_CONTAINERD="github.com/rancher/containerd"
+ PKG_K3S_CONTAINERD="github.com/k3s-io/containerd"
  PKG_CRICTL="github.com/kubernetes-sigs/cri-tools"
  
 -buildDate=$(date -u '+%Y-%m-%dT%H:%M:%SZ')
@@ -24,7 +22,7 @@ index 4ca6333c4a..df15f7db1d 100755
  
  VENDOR_PREFIX="${PKG}/vendor/"
  VERSIONFLAGS="
-@@ -92,17 +93,7 @@ cleanup() {
+@@ -89,17 +90,7 @@ cleanup() {
  }
  
  INSTALLBIN=$(pwd)/bin
@@ -43,23 +41,23 @@ index 4ca6333c4a..df15f7db1d 100755
  # echo Building agent
  # CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/k3s-agent ./cmd/agent/main.go
  echo Building server
-@@ -118,10 +109,7 @@ ln -s containerd ./bin/ctr
+@@ -116,10 +107,7 @@ ln -s containerd ./bin/ctr
  #CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC_SQLITE" -o bin/ctr ./cmd/ctr/main.go
  # echo Building containerd
  # CGO_ENABLED=0 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/containerd ./cmd/containerd/
 -echo Building runc
--rm -f ./vendor/github.com/opencontainers/runc/runc
--make EXTRA_LDFLAGS="-w -s" BUILDTAGS="$RUNC_TAGS" -C ./vendor/github.com/opencontainers/runc $RUNC_STATIC
--cp -f ./vendor/github.com/opencontainers/runc/runc ./bin/runc
+-rm -f ./build/src/github.com/opencontainers/runc/runc
+-make GOPATH=$(pwd)/build EXTRA_LDFLAGS="-w -s" BUILDTAGS="$RUNC_TAGS" -C ./build/src/github.com/opencontainers/runc $RUNC_STATIC
+-cp -f ./build/src/github.com/opencontainers/runc/runc ./bin/runc
 +# nixpkgs: we build runc separately
  
  echo Building containerd-shim
  rm -f ./vendor/github.com/containerd/containerd/bin/containerd-shim
 diff --git a/scripts/package-cli b/scripts/package-cli
-index d1aad638d9..90479b6fa1 100755
+index ab4a6dac63..044b5587d0 100755
 --- a/scripts/package-cli
 +++ b/scripts/package-cli
-@@ -49,15 +49,18 @@ fi
+@@ -50,15 +50,17 @@ fi
  
  CMD_NAME=dist/artifacts/k3s${BIN_SUFFIX}
  
@@ -81,4 +79,3 @@ index d1aad638d9..90479b6fa1 100755
 -./scripts/build-upload ${CMD_NAME} ${COMMIT}
 +# nixpkgs: skip uploading
 +# ./scripts/build-upload ${CMD_NAME} ${COMMIT}
-+
diff --git a/pkgs/applications/networking/cluster/k9s/default.nix b/pkgs/applications/networking/cluster/k9s/default.nix
index 965c50cf03b..8da48f8485f 100644
--- a/pkgs/applications/networking/cluster/k9s/default.nix
+++ b/pkgs/applications/networking/cluster/k9s/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "k9s";
-  version = "0.24.9";
+  version = "0.24.13";
 
   src = fetchFromGitHub {
     owner  = "derailed";
     repo   = "k9s";
     rev    = "v${version}";
-    sha256 = "sha256-9/P6OaSZDJ98EQ9DM4Oib0T1sC1K3WxUXh4IQU3qXbs=";
+    sha256 = "sha256-5gMRjnrk1FyTj3Lzp+6scLuqfP8rCUvDDBK33/RzG28=";
   };
 
   buildFlagsArray = ''
@@ -18,7 +18,7 @@ buildGoModule rec {
       -X github.com/derailed/k9s/cmd.commit=${src.rev}
   '';
 
-  vendorSha256 = "sha256-hqmymxP4zK8GVqOxzB6vRfFyo+VIeI1suBu64/oEVig=";
+  vendorSha256 = "sha256-JBWQxRaMvIbUiOD7sJiZH1SHNCdysgh5FeSmYf+FdG4=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/kfctl/default.nix b/pkgs/applications/networking/cluster/kfctl/default.nix
new file mode 100644
index 00000000000..52a049ab1bb
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kfctl/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "kfctl";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "kubeflow";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-FY7o4QULobLY1djfcc2l6awE/v2stN7cc2lffMkjoPc=";
+  };
+
+  vendorSha256 = "sha256-+6sxXp0LKegZjEFv1CIQ6xYh+hXLn+o9LggRYamCzpI=";
+
+  subPackages = [ "cmd/kfctl" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+  installShellCompletion --cmd eksctl \
+    --bash <($out/bin/kfctl completion bash) \
+    --zsh <($out/bin/kfctl completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "A CLI for deploying and managing Kubeflow";
+    homepage = "https://github.com/kubeflow/kfctl";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mvnetbiz ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index 5566854a325..54d13f819ab 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -53,11 +53,6 @@ rec {
 
   mkKops = generic;
 
-  kops_1_18 = mkKops {
-    version = "1.18.2";
-    sha256 = "17na83j6sfhk69w9ssvicc0xd1904z952ad3zzbpha50lcy6nlhp";
-  };
-
   kops_1_19 = mkKops rec {
     version = "1.19.2";
     sha256 = "15csxih1xy8myky37n5dyzp5mc31pc4bq9asaw6zz51mgw8ad5r9";
@@ -65,8 +60,14 @@ rec {
   };
 
   kops_1_20 = mkKops rec {
-    version = "1.20.1";
-    sha256 = "sha256-k6ODXbh7Bh+rBw6bjSNLxLY0fz7JLnrmJibnXz5qnSc=";
+    version = "1.20.2";
+    sha256 = "011ib3xkj6nn7qax8d0ns8y4jhkwwmry1qnzxklvzssaxhmzs557";
+    rev = "v${version}";
+  };
+
+  kops_1_21 = mkKops rec {
+    version = "1.21.0";
+    sha256 = "sha256-T2i3qpg3GC7yaYCGrN1V5XXrUyT+Ce9Q4aV00gQJ7gM=";
     rev = "v${version}";
   };
 }
diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix
index 88ba44b2e24..e565657a5cb 100644
--- a/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kube3d";
-  version = "4.4.4";
+  version = "4.4.7";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = "k3d";
     rev = "v${version}";
-    sha256 = "sha256-pfyU25MASKQMwd49IbNyyEiz3gmSOBmLdWtIKhYU2wg=";
+    sha256 = "sha256-S1vHmXUCP1ayPo3vvHAbNCqNm1ueJ0jE4NUBvg5P3MU=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kubeconform/default.nix b/pkgs/applications/networking/cluster/kubeconform/default.nix
index c62cbb2a67a..cc0f1e0bf64 100644
--- a/pkgs/applications/networking/cluster/kubeconform/default.nix
+++ b/pkgs/applications/networking/cluster/kubeconform/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubeconform";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchFromGitHub {
     owner = "yannh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ahVdKMx3u2KnJ30wi9rV8JCVg9wPmbgdrtG8IpWWlCs=";
+    sha256 = "sha256-XD8xGqtE7eaBxPL4Z0Kw4BEqM2fdgww7wl8wJ1U3u0U=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix b/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix
index fa893f3fa7d..e552113310f 100644
--- a/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix
+++ b/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "kubelogin";
-  version = "1.23.2";
+  version = "1.23.3";
 
   src = fetchFromGitHub {
     owner = "int128";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Vj7qk1x4d94GgthmHhWbQvsfnZE1UL3Bdk5zjAb3vWs=";
+    sha256 = "sha256-qhdt/j1yFlCr+CCM3VQHxRVMEelZDsjhDJW9CYNCx2U=";
   };
 
   subPackages = ["."];
 
-  vendorSha256 = "sha256-JsBseRIbStsX44rLsGAERFUSWUuLcNycRDAcOMconnE=";
+  vendorSha256 = "sha256-RxIrnwIHDi9umu9bqpz3lnpNFdIWoTP657Te9iBv4IA=";
 
   # Rename the binary instead of symlinking to avoid conflict with the
   # Azure version of kubelogin
diff --git a/pkgs/applications/networking/cluster/kubeone/default.nix b/pkgs/applications/networking/cluster/kubeone/default.nix
index 4876233cd29..b570ebc09dc 100644
--- a/pkgs/applications/networking/cluster/kubeone/default.nix
+++ b/pkgs/applications/networking/cluster/kubeone/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "kubeone";
-  version = "1.2.1";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "kubermatic";
     repo = "kubeone";
     rev = "v${version}";
-    sha256 = "1abm7735c4pjv31pfggkvia7br19zbhjpp2w0n5zckwrjm9hxns6";
+    sha256 = "sha256-oInE8fwE+7a+F4NevKPuYQqCP9GkPhqayLu8HCmVbLs=";
   };
 
-  vendorSha256 = "01rl4sd9prfw4ivx7dwrr9irjr0xryihp4fzpcjd2zg8f1ibkwsn";
+  vendorSha256 = "sha256-VvO5YnDofdEku9+RC6PPHWSZY8qZt9N3JNzlm5omNAc=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 60d5dec48a5..2dfbac5c5ac 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kubernetes";
-  version = "1.21.1";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "sha256-gJjCw28SqU49kIiRH+MZgeYN4VBgKVEaRPr5A/2c5Pc=";
+    sha256 = "sha256-GAX8ODjGj5LM44KgJC0N5uuOH4z33lDWoQgImOl8/xo=";
   };
 
   nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];
diff --git a/pkgs/applications/networking/cluster/linkerd/default.nix b/pkgs/applications/networking/cluster/linkerd/default.nix
index 0dd6363d07e..9bd9a8e7a18 100644
--- a/pkgs/applications/networking/cluster/linkerd/default.nix
+++ b/pkgs/applications/networking/cluster/linkerd/default.nix
@@ -1,27 +1,71 @@
-{ lib, fetchFromGitHub, buildGoModule }:
+{ lib, fetchFromGitHub, buildGoModule, installShellFiles }:
 
-buildGoModule {
-  pname = "linkerd-unstable";
-  version = "2020-05-01";
+let generic = { channel, version, sha256, vendorSha256 }:
+  buildGoModule rec {
+    pname = "linkerd-${channel}";
+    inherit version vendorSha256;
 
-  src = fetchFromGitHub {
-    owner = "linkerd";
-    repo = "linkerd2";
-    rev = "9e9f3bb1e2aeab8cf20f98f5cad159bbb6f24883";
-    sha256 = "1pvj31wz1klwhcqga1m8kixdqsxwmppp9ix6r3wpp4dwfig45fm0";
-  };
+    src = fetchFromGitHub {
+      owner = "linkerd";
+      repo = "linkerd2";
+      rev = "${channel}-${version}";
+      inherit sha256;
+    };
+
+    subPackages = [ "cli" ];
+    runVend = true;
+
+    preBuild = ''
+      env GOFLAGS="" go generate ./pkg/charts/static
+      env GOFLAGS="" go generate ./jaeger/static
+      env GOFLAGS="" go generate ./multicluster/static
+      env GOFLAGS="" go generate ./viz/static
+    '';
+
+    buildFlagsArray = [
+      "-tags=prod"
+    ];
+
+    ldflags = [
+      "-s" "-w"
+      "-X github.com/linkerd/linkerd2/pkg/version.Version=${src.rev}"
+    ];
 
-  vendorSha256 = "0vls58ld50jca5yn73kvg3lx4z83cc7skky54a90pkbj737y58pz";
+    nativeBuildInputs = [ installShellFiles ];
 
-  doCheck = false;
+    postInstall = ''
+      mv $out/bin/cli $out/bin/linkerd
+      installShellCompletion --cmd linkerd \
+        --bash <($out/bin/linkerd completion bash) \
+        --zsh <($out/bin/linkerd completion zsh) \
+        --fish <($out/bin/linkerd completion fish)
+    '';
 
-  subPackages = [ "cli/cmd" ];
+    doInstallCheck = true;
+    installCheckPhase = ''
+      $out/bin/linkerd version --client | grep ${src.rev} > /dev/null
+    '';
 
-  meta = with lib; {
-    description = "A service mesh for Kubernetes and beyond";
-    homepage = "https://linkerd.io/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ Gonzih ];
-    broken = true;
+    meta = with lib; {
+      description = "A simple Kubernetes service mesh that improves security, observability and reliability";
+      downloadPage = "https://github.com/linkerd/linkerd2/";
+      homepage = "https://linkerd.io/";
+      license = licenses.asl20;
+      maintainers = with maintainers; [ Gonzih bryanasdev000 superherointj ];
+    };
   };
-}
+in
+  {
+    stable = generic {
+      channel = "stable";
+      version = "2.10.2";
+      sha256 = "sha256-dOD0S4FJ2lXE+1VZooi8tKvC8ndGEHAxmAvSqoWI/m0=";
+      vendorSha256 = "sha256-Qb0FZOvKL9GgncfUl538PynkYbm3V8Q6lUpApUoIp5s=";
+    };
+    edge = generic {
+      channel = "edge";
+      version = "21.7.2";
+      sha256 = "sha256-rEO84t6znNb59a9i+SHgT4r0xzja6eMYi9lWmdU24Cc=";
+      vendorSha256 = "sha256-esVy+oIZa/ucvucdNV7MfUGFkIql9T2zl0+eu3hZAt8=";
+    };
+  }
diff --git a/pkgs/applications/networking/cluster/luigi/default.nix b/pkgs/applications/networking/cluster/luigi/default.nix
index ef85494bd14..2c839e84a4e 100644
--- a/pkgs/applications/networking/cluster/luigi/default.nix
+++ b/pkgs/applications/networking/cluster/luigi/default.nix
@@ -9,7 +9,7 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "b4b1ccf086586d041d7e91e68515d495c550f30e4d179d63863fea9ccdbb78eb";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [ dateutil tornado python-daemon boto3 ];
+  propagatedBuildInputs = with python3.pkgs; [ python-dateutil tornado python-daemon boto3 ];
 
   # Requires tox, hadoop, and google cloud
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 929c254a1bd..ac7a301fe06 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -12,9 +12,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.20.0";
+  version = "1.21.0";
 
-  vendorSha256 = "sha256-ncgf2C4PZMoVMZIMDn9LwP2EDqg7T/WbUPRd/SqGGnU=";
+  vendorSha256 = "sha256-3G9QO5OMnMkMCsGIze/E9bvx6fvlXtOqiv8lGTkLN3s=";
 
   doCheck = false;
 
@@ -22,7 +22,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-TnvbO8OLjnI5WGy3QR4OZbesOBat2VsL7ElCnj2Tkmk=";
+    sha256 = "sha256-PbCwGPJZvnJCIVK7FYa1gI4aO4sIeh8iQtYOHAQBaZE=";
   };
 
   nativeBuildInputs = [ go-bindata installShellFiles pkg-config which ];
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index 7be59ee1661..418f3259178 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,23 +10,21 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "0.8.3";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mBoqyDfGho2e4RuFwkiU2R+zb38LzByWtH4pOhguueY=";
+    sha256 = "sha256-cqIIpdkQ6DF7DKXvwCoJBQKG0+lL8iP/Vx0q7rL8prg=";
   };
 
-  vendorSha256 = "sha256-S3Gp7HkBIZNZ8rkp64XaUQUj1TggGwI9FMrVkyLCQWA=";
+  vendorSha256 = "sha256-0+k1e7Sn+NYGAJDVUbUm0oedc1t2blezUhsjDIuIKvA=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
-  preBuild = let t = "github.com/containerd/nerdctl/pkg/version"; in
-    ''
-      buildFlagsArray+=("-ldflags" "-s -w -X ${t}.Version=v${version} -X ${t}.Revision=<unknown>")
-    '';
+  ldflags = let t = "github.com/containerd/nerdctl/pkg/version"; in
+    [ "-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.Revision=<unknown>" ];
 
   # Many checks require a containerd socket and running nerdctl after it's built
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/nomad/1.0.nix b/pkgs/applications/networking/cluster/nomad/1.0.nix
index 0c9ced385fe..ac6938e4ddc 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.7";
-  sha256 = "12izilr2x9qw8dxhjqcivakwzhf6jc86g0pmxf52fr9rwaqmpc95";
+  version = "1.0.8";
+  sha256 = "1kjwa9lnxh5zfzijqgkp94wslkzn6kspwi42kf46vrn0qkiz39f2";
 }
diff --git a/pkgs/applications/networking/cluster/nomad/1.1.nix b/pkgs/applications/networking/cluster/nomad/1.1.nix
index 7c14ca5f4b3..cfc38c2f59e 100644
--- a/pkgs/applications/networking/cluster/nomad/1.1.nix
+++ b/pkgs/applications/networking/cluster/nomad/1.1.nix
@@ -6,6 +6,6 @@
 
 callPackage ./generic.nix {
   inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
-  version = "1.1.1";
-  sha256 = "0y7p85dvxfgzaafgzdmnw3fp9h87zx3z8m1ka4qaiacwah5xwqlv";
+  version = "1.1.2";
+  sha256 = "08ynfr2lqzv66ymj37qbc72lf2iq41kf94n76pdvynymk4dq98nq";
 }
diff --git a/pkgs/applications/networking/cluster/octant/default.nix b/pkgs/applications/networking/cluster/octant/default.nix
index d032577ce19..dbbf6524871 100644
--- a/pkgs/applications/networking/cluster/octant/default.nix
+++ b/pkgs/applications/networking/cluster/octant/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "octant";
-  version = "0.20.0";
+  version = "0.22.0";
 
   src =
     let
@@ -19,10 +19,10 @@ stdenv.mkDerivation rec {
       };
     in
     fetchsrc version {
-      x86_64-linux = "sha256-VFlZP5d6/YhzVIhveqMc4HfapBt0K/XjtqjCQNc514A=";
-      aarch64-linux = "sha256-RfdMfimmoHG4ixBtUVJ/V+mDhQ9aD+yeohkeUMUP8Zg=";
-      x86_64-darwin = "sha256-2Qgl3RdA4mMRTqR7o3Q86Zip5wtgvFp1vZn689FUtSI=";
-      aarch64-darwin = "sha256-+eZVg+B5YYf+XnDhNd6OU4+yFM9GtyiavcAr/EXh7XE=";
+      x86_64-linux = "sha256-1/vyV6pUqovVpovTYFF4d75wJvtTNdrbLZyjw1lLacA=";
+      aarch64-linux = "sha256-1duNW0Edj0jrpv/RMrebtZF4ph6j3PXCJ2RFejOopGQ=";
+      x86_64-darwin = "sha256-Ur5jBPk5hA6cGg+pPf36Ijh94gWEdaWlJK3yCMBYyEU=";
+      aarch64-darwin = "sha256-RaiXW+MUihk291UWmrf6gLpyrd5stIkhyWNFEQ0daCk=";
     };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/cluster/octant/desktop.nix b/pkgs/applications/networking/cluster/octant/desktop.nix
index 8bc76834752..e793df71a58 100644
--- a/pkgs/applications/networking/cluster/octant/desktop.nix
+++ b/pkgs/applications/networking/cluster/octant/desktop.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "octant-desktop";
-  version = "0.20.0";
+  version = "0.22.0";
   name = "${pname}-${version}";
 
   inherit (stdenv.hostPlatform) system;
@@ -15,8 +15,8 @@ let
   src = fetchurl {
     url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/Octant-${version}.${suffix}";
     sha256 = {
-      x86_64-linux = "sha256-mPD5qa/IYsakjcoPnWVpkmhgkhnRK0qTGQ6hanzDt/Y=";
-      x86_64-darwin = "sha256-nxpwBRUeLSPqNEFjF8hKzRhA2ahqh/KyAitnSxYdyJ8=";
+      x86_64-linux = "sha256-xMdNoH0UE/KLIQ0DjJfb+ZB/q2F+kyFEncrQ9YYJgE0=";
+      x86_64-darwin = "sha256-y3fmxrsQ0hCa1wuMiRGHf79kpi25qXv/idKrVT87oc0=";
     }.${system};
   };
 
diff --git a/pkgs/applications/networking/cluster/octant/update.sh b/pkgs/applications/networking/cluster/octant/update.sh
index 6c34fc4b37a..3e2b56b7a61 100755
--- a/pkgs/applications/networking/cluster/octant/update.sh
+++ b/pkgs/applications/networking/cluster/octant/update.sh
@@ -30,9 +30,11 @@ OCTANT_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/vmwa
 OCTANT_LINUX_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-64bit")
 OCTANT_LINUX_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-arm64")
 OCTANT_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-64bit")
+OCTANT_DARWIN_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-arm64")
 
 sed -i "s/version = \".*\"/version = \"$OCTANT_VER\"/" "$NIX_DRV"
 
 replace_sha "x86_64-linux" "$OCTANT_LINUX_X64_SHA256"
 replace_sha "aarch64-linux" "$OCTANT_LINUX_AARCH64_SHA256"
 replace_sha "x86_64-darwin" "$OCTANT_DARWIN_X64_SHA256"
+replace_sha "aarch64-darwin" "$OCTANT_DARWIN_AARCH64_SHA256"
diff --git a/pkgs/applications/networking/cluster/stern/default.nix b/pkgs/applications/networking/cluster/stern/default.nix
index 96264799344..09851e67ab5 100644
--- a/pkgs/applications/networking/cluster/stern/default.nix
+++ b/pkgs/applications/networking/cluster/stern/default.nix
@@ -4,16 +4,18 @@ let isCrossBuild = stdenv.hostPlatform != stdenv.buildPlatform;
 in
 buildGoModule rec {
   pname = "stern";
-  version = "1.14.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "stern";
     repo = "stern";
     rev = "v${version}";
-    sha256 = "sha256-8l/Tr+IxR3yPmt9hI70XuUQ4YEYzRTMLbo8BsngoU60=";
+    sha256 = "sha256-jgmURvc1did3YgtqWlAzFbWxc3jHHylOfCVOLeAC7V8=";
   };
 
-  vendorSha256 = "sha256-pvFT4A7bDBvBf1odyv3z4inw1/IsvOA+++OPbfNjzxM=";
+  vendorSha256 = "sha256-p8WoFDwABXcO54WKP5bszoht2JdjHlRJjbG8cMyNo6A=";
+
+  subPackages = [ "." ];
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/tanka/default.nix b/pkgs/applications/networking/cluster/tanka/default.nix
index 715f75ddc8a..bf11b35d71a 100644
--- a/pkgs/applications/networking/cluster/tanka/default.nix
+++ b/pkgs/applications/networking/cluster/tanka/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tanka";
-  version = "0.15.1";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-aCgr56nXZCkG8k/ZGH2/cDOaqkznnyb6JLEcImqLH64=";
+    sha256 = "sha256-9UfSKMyapmDyikRqs7UiA4YYcvj/Tin9pRqC9iFLPWE=";
   };
 
   vendorSha256 = "sha256-vpm2y/CxRNWkz6+AOMmmZH5AjRQWAa6WD5Fnx5lqJYw=";
diff --git a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
index 03f02c55ad2..0db134bdb21 100644
--- a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
+++ b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
@@ -2,20 +2,18 @@
 
 buildGoModule rec {
   pname = "tektoncd-cli";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "tektoncd";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-fWcHjpfbpj2lrJ0FawhQJuSxAEX1WwOY7m+CAgag4qk=";
+    sha256 = "sha256-aVR1xNmL6M/m+1znt70vrCtuABCqDz0sDp8mDFI2uIg=";
   };
 
   vendorSha256 = null;
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}")
-  '';
+  ldflags = [ "-s" "-w" "-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}" ];
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -27,7 +25,7 @@ buildGoModule rec {
     # Some tests try to write to the home dir
     export HOME="$TMPDIR"
     # Change the golden files to match our desired version
-    sed -i "s/dev/${version}/" pkg/cmd/version/testdata/TestGetVersions-*.golden
+    sed -i "s/dev/${version}/" pkg/cmd/version/testdata/{TestGetVersions-,TestGetComponentVersions/}*.golden
   '';
 
   postInstall = ''
@@ -43,8 +41,7 @@ buildGoModule rec {
   installCheckPhase = ''
     runHook preInstallCheck
     $out/bin/tkn --help
-    # New tkn version functionality outputs empty https://github.com/tektoncd/cli/issues/1389
-    # $out/bin/tkn version | grep "Client version: ${version}"
+    $out/bin/tkn version | grep "Client version: ${version}"
     runHook postInstallCheck
   '';
 
diff --git a/pkgs/applications/networking/cluster/temporal/default.nix b/pkgs/applications/networking/cluster/temporal/default.nix
new file mode 100644
index 00000000000..26967b7ed85
--- /dev/null
+++ b/pkgs/applications/networking/cluster/temporal/default.nix
@@ -0,0 +1,43 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "temporal";
+  version = "1.10.5";
+
+  src = fetchFromGitHub {
+    owner = "temporalio";
+    repo = "temporal";
+    rev = "v${version}";
+    sha256 = "sha256-+rU/Tn3k/VmAgZl169tVZsRf5SL4bI9r3p1svVfKN2E=";
+  };
+
+  vendorSha256 = "sha256-jbQPhGfZPPxjYTSJ9wMLzQIOhAwxJZypRzqwL421RfM=";
+
+  # Errors:
+  #  > === RUN   TestNamespaceHandlerGlobalNamespaceDisabledSuite
+  # gocql: unable to dial control conn 127.0.0.1:9042: dial tcp 127.0.0.1:9042: connect: connection refused
+  doCheck = false;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    install -Dm755 "$GOPATH/bin/cli" -T $out/bin/tctl
+    install -Dm755 "$GOPATH/bin/cassandra" -T $out/bin/temporal-cassandra
+    install -Dm755 "$GOPATH/bin/server" -T $out/bin/temporal-server
+    install -Dm755 "$GOPATH/bin/sql" -T $out/bin/temporal-sql
+    runHook postInstall
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/tctl --version | grep ${version} > /dev/null
+  '';
+
+  meta = with lib; {
+    description = "A microservice orchestration platform which enables developers to build scalable applications without sacrificing productivity or reliability";
+    downloadPage = "https://github.com/temporalio/temporal";
+    homepage = "https://temporal.io";
+    license = licenses.mit;
+    maintainers = with maintainers; [ superherointj ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-docs/default.nix b/pkgs/applications/networking/cluster/terraform-docs/default.nix
index 54520b54c88..bc04d283507 100644
--- a/pkgs/applications/networking/cluster/terraform-docs/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-docs/default.nix
@@ -1,23 +1,19 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "terraform-docs";
-  version = "0.13.0";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "terraform-docs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lx+yp0ybgZfmxvPM2BY2yq39qA6XebcKGrFd0AJa4yg=";
+    sha256 = "sha256-Jm0ySxn4GFW4iAH3tOIvclcDGJMKzH7m7fhWnAf4+gs=";
   };
 
-  vendorSha256 = "sha256-qoZUgSSr7jsDVVPBUyfN5Uw4CnH9EnD/4tX+TCSNV0Q=";
+  vendorSha256 = "sha256-IzmAlthE6SVvGHj72wrY1/KLehOv8Ck9VaTv5jMpt48=";
 
   subPackages = [ "." ];
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-X main.version=${version}")
-  '';
-
   meta = with lib; {
     description = "A utility to generate documentation from Terraform modules in various output formats";
     homepage = "https://github.com/terraform-docs/terraform-docs/";
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 6e8a80ebdd5..f7eb378e716 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -175,11 +175,13 @@
     "version": "0.1.0"
   },
   "cloudflare": {
-    "owner": "terraform-providers",
+    "owner": "cloudflare",
+    "provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v2.7.0",
-    "sha256": "1r18lxhfi2sd42ja4bzxbkf5bli8iljrpqbgdcn1a7rcf44vnxa2",
-    "version": "2.7.0"
+    "rev": "v2.23.0",
+    "sha256": "0cyw6lddw3pj5lqra78qn0nd16ffay86vc8sqa68grx7ik9jgn7l",
+    "vendorSha256": "19fdwif81lqp848jhawd09b0lalslrwadd519vsdw03v2wp4p962",
+    "version": "2.23.0"
   },
   "cloudinit": {
     "owner": "hashicorp",
@@ -391,10 +393,10 @@
     "owner": "grafana",
     "provider-source-address": "registry.terraform.io/grafana/grafana",
     "repo": "terraform-provider-grafana",
-    "rev": "v1.10.0",
-    "sha256": "0q3j30q1zxpdm0fmda3ivnl754q2p61xn9l30l0a3n0r5b25w8pk",
-    "vendorSha256": null,
-    "version": "1.10.0"
+    "rev": "v1.12.0",
+    "sha256": "0jqm8ql8kams2rh90fwdmv9nnf4npzpxaagm9725nsf0iqn3qlhn",
+    "vendorSha256": "0pxd3sgpkry7gik6rgfl3cpgawhvgpb0sn1rkhdp9p11iwx7xxbi",
+    "version": "1.12.0"
   },
   "gridscale": {
     "owner": "terraform-providers",
@@ -513,10 +515,10 @@
     "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"
+    "rev": "v0.3.3",
+    "sha256": "10il2mmsrk27zgzdkwn495sfhlad2nnc2xa7qzn7rlqzh92bb8rb",
+    "vendorSha256": "1gxx561s7jghiq6kqb2nns52bbcp0ks2dylrb1lvy7g2798cpspf",
+    "version": "0.3.3"
   },
   "kafka-connect": {
     "owner": "Mongey",
@@ -531,10 +533,10 @@
     "owner": "mrparkers",
     "provider-source-address": "registry.terraform.io/mrparkers/keycloak",
     "repo": "terraform-provider-keycloak",
-    "rev": "v3.0.0",
-    "sha256": "1q9vzmj9c7mznv6al58d3rs5kk1fh28k1qccx46hcbk82z52da3a",
-    "vendorSha256": "0kh6lljvqd577s19gx0fmfsmx9wm3ikla3jz16lbwwb8ahbqcw1f",
-    "version": "3.0.0"
+    "rev": "v3.1.1",
+    "sha256": "0qh0y1j3y5hzcr8h8wzralv7h8dmrg8jnjccz0fzcmhbkazfrs4p",
+    "vendorSha256": "0il4rvwa23zghrq0b8qrzgxyjy0211v9z2a4ln2xmlhcz0105zg8",
+    "version": "3.1.1"
   },
   "ksyun": {
     "owner": "terraform-providers",
@@ -565,10 +567,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/kubernetes-alpha",
     "repo": "terraform-provider-kubernetes-alpha",
-    "rev": "v0.3.3",
-    "sha256": "18i9yp0w6mmic95p6d6ah1hl3rmgkh264z1a05973yslpqhyx9yl",
+    "rev": "v0.5.0",
+    "sha256": "0yqm3wlya69w9g9kzgvm28mbbwp6wik51syjnbnj8dis5kspx8gd",
     "vendorSha256": null,
-    "version": "0.3.3"
+    "version": "0.5.0"
   },
   "launchdarkly": {
     "owner": "terraform-providers",
@@ -1121,10 +1123,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/vsphere",
     "repo": "terraform-provider-vsphere",
-    "rev": "v1.24.3",
-    "sha256": "1sc60x3r4nb48p8yb7778fpk78acq808jzcd5ijnwxqakccml5kl",
+    "rev": "v2.0.1",
+    "sha256": "0ah3bi4zpg8j59v4bj9a8vyknpnyl1g8bx4qyfwwz4gnqp9m4anr",
     "vendorSha256": null,
-    "version": "1.24.3"
+    "version": "2.0.1"
   },
   "vthunder": {
     "owner": "terraform-providers",
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 66185b2cc3d..e4a8c0c0abb 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -1,10 +1,21 @@
-{ stdenv, lib, buildGoModule, fetchFromGitHub, makeWrapper, coreutils
-, runCommand, runtimeShell, writeText, terraform-providers, fetchpatch }:
+{ stdenv
+, lib
+, buildGoModule
+, fetchFromGitHub
+, makeWrapper
+, coreutils
+, runCommand
+, runtimeShell
+, writeText
+, terraform-providers
+, fetchpatch
+}:
 
 let
   generic = { version, sha256, vendorSha256 ? null, ... }@attrs:
     let attrs' = builtins.removeAttrs attrs [ "version" "sha256" "vendorSha256" ];
-    in buildGoModule ({
+    in
+    buildGoModule ({
       name = "terraform-${version}";
 
       inherit vendorSha256;
@@ -62,33 +73,37 @@ let
           actualPlugins = plugins terraform.plugins;
 
           # Make providers available in Terraform 0.13 and 0.12 search paths.
-          pluginDir = lib.concatMapStrings (pl: let
-            inherit (pl) version GOOS GOARCH;
+          pluginDir = lib.concatMapStrings
+            (pl:
+              let
+                inherit (pl) version GOOS GOARCH;
 
-            pname = pl.pname or (throw "${pl.name} is missing a pname attribute");
+                pname = pl.pname or (throw "${pl.name} is missing a pname attribute");
 
-            # This is just the name, without the terraform-provider- prefix
-            plugin_name = lib.removePrefix "terraform-provider-" pname;
+                # This is just the name, without the terraform-provider- prefix
+                plugin_name = lib.removePrefix "terraform-provider-" pname;
 
-            slug = pl.passthru.provider-source-address or "registry.terraform.io/nixpkgs/${plugin_name}";
+                slug = pl.passthru.provider-source-address or "registry.terraform.io/nixpkgs/${plugin_name}";
 
-            shim = writeText "shim" ''
-              #!${runtimeShell}
-              exec ${pl}/bin/${pname}_v${version} "$@"
-            '';
-            in ''
-              TF_0_13_PROVIDER_PATH=$out/plugins/${slug}/${version}/${GOOS}_${GOARCH}/${pname}_v${version}
-              mkdir -p "$(dirname $TF_0_13_PROVIDER_PATH)"
+                shim = writeText "shim" ''
+                  #!${runtimeShell}
+                  exec ${pl}/bin/${pname}_v${version} "$@"
+                '';
+              in
+              ''
+                TF_0_13_PROVIDER_PATH=$out/plugins/${slug}/${version}/${GOOS}_${GOARCH}/${pname}_v${version}
+                mkdir -p "$(dirname $TF_0_13_PROVIDER_PATH)"
 
-              cp ${shim} "$TF_0_13_PROVIDER_PATH"
-              chmod +x "$TF_0_13_PROVIDER_PATH"
+                cp ${shim} "$TF_0_13_PROVIDER_PATH"
+                chmod +x "$TF_0_13_PROVIDER_PATH"
 
-              TF_0_12_PROVIDER_PATH=$out/plugins/${pname}_v${version}
+                TF_0_12_PROVIDER_PATH=$out/plugins/${pname}_v${version}
 
-              cp ${shim} "$TF_0_12_PROVIDER_PATH"
-              chmod +x "$TF_0_12_PROVIDER_PATH"
-          ''
-          ) actualPlugins;
+                cp ${shim} "$TF_0_12_PROVIDER_PATH"
+                chmod +x "$TF_0_12_PROVIDER_PATH"
+              ''
+            )
+            actualPlugins;
 
           # Wrap PATH of plugins propagatedBuildInputs, plugins may have runtime dependencies on external binaries
           wrapperInputs = lib.unique (lib.flatten
@@ -110,9 +125,10 @@ let
           };
           # Don't bother wrapping unless we actually have plugins, since the wrapper will stop automatic downloading
           # of plugins, which might be counterintuitive if someone just wants a vanilla Terraform.
-        in if actualPlugins == [ ] then
+        in
+        if actualPlugins == [ ] then
           terraform.overrideAttrs
-          (orig: { passthru = orig.passthru // passthru; })
+            (orig: { passthru = orig.passthru // passthru; })
         else
           lib.appendToName "with-plugins" (stdenv.mkDerivation {
             inherit (terraform) name meta;
@@ -127,76 +143,84 @@ let
 
             inherit passthru;
           });
-    in withPlugins (_: [ ]);
+    in
+    withPlugins (_: [ ]);
 
   plugins = removeAttrs terraform-providers [
     "override"
     "overrideDerivation"
     "recurseForDerivations"
   ];
-in rec {
-  terraform_0_12 = pluggable (generic {
+in
+rec {
+  # Constructor for other terraform versions
+  mkTerraform = attrs: pluggable (generic attrs);
+
+  terraform_0_12 = mkTerraform {
     version = "0.12.31";
     sha256 = "03p698xdbk5gj0f9v8v1fpd74zng3948dyy4f2hv7zgks9hid7fg";
     patches = [
-        ./provider-path.patch
-        (fetchpatch {
-            name = "fix-mac-mojave-crashes.patch";
-            url = "https://github.com/hashicorp/terraform/commit/cd65b28da051174a13ac76e54b7bb95d3051255c.patch";
-            sha256 = "1k70kk4hli72x8gza6fy3vpckdm3sf881w61fmssrah3hgmfmbrs";
-        }) ];
+      ./provider-path.patch
+      (fetchpatch {
+        name = "fix-mac-mojave-crashes.patch";
+        url = "https://github.com/hashicorp/terraform/commit/cd65b28da051174a13ac76e54b7bb95d3051255c.patch";
+        sha256 = "1k70kk4hli72x8gza6fy3vpckdm3sf881w61fmssrah3hgmfmbrs";
+      })
+    ];
     passthru = { inherit plugins; };
-  });
+  };
 
-  terraform_0_13 = pluggable (generic {
+  terraform_0_13 = mkTerraform {
     version = "0.13.7";
     sha256 = "1cahnmp66dk21g7ga6454yfhaqrxff7hpwpdgc87cswyq823fgjn";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
-  });
+  };
 
-  terraform_0_14 = pluggable (generic {
+  terraform_0_14 = mkTerraform {
     version = "0.14.11";
     sha256 = "1yi1jj3n61g1kn8klw6l78shd23q79llb7qqwigqrx3ki2mp279j";
     vendorSha256 = "1d93aqkjdrvabkvix6h1qaxpjzv7w1wa7xa44czdnjs2lapx4smm";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
-  });
+  };
 
-  terraform_0_15 = pluggable (generic {
+  terraform_0_15 = mkTerraform {
     version = "0.15.5";
     sha256 = "18f4a6l24s3cym7gk40agxikd90i56q84wziskw1spy9rgv2yx6d";
     vendorSha256 = "12hrpxay6k3kz89ihyhl91c4lw4wp821ppa245w9977fq09fhnx0";
     patches = [ ./provider-path-0_15.patch ];
     passthru = { inherit plugins; };
-  });
+  };
 
-  terraform_1_0_0 = pluggable (generic {
-    version = "1.0.0";
-    sha256 = "sha256-ddcT/I2Qn1pKFyhXgh+CcD3fSv2steSNmjyyiS2SE/o=";
-    vendorSha256 = "sha256-oFvoEsDunJR4IULdGwS6nHBKWEgUehgT+nNM41W/GYo=";
+  terraform_1_0 = mkTerraform {
+    version = "1.0.2";
+    sha256 = "0gnv6hajpn1ks4944cr8rgkvly9cgvx4zj1zwc7nf1sikqfa8r1a";
+    vendorSha256 = "0q1frza5625b1va0ipak7ns3myca9mb02r60h0py3v5gyl2cb4dk";
     patches = [ ./provider-path-0_15.patch ];
     passthru = { inherit plugins; };
-  });
+  };
 
   # Tests that the plugins are being used. Terraform looks at the specific
   # file pattern and if the plugin is not found it will try to download it
   # from the Internet. With sandboxing enable this test will fail if that is
   # the case.
-  terraform_plugins_test = let
-    mainTf = writeText "main.tf" ''
-      resource "random_id" "test" {}
-    '';
-    terraform = terraform_0_12.withPlugins (p: [ p.random ]);
-    test =
-      runCommand "terraform-plugin-test" { buildInputs = [ terraform ]; } ''
-        set -e
-        # make it fail outside of sandbox
-        export HTTP_PROXY=http://127.0.0.1:0 HTTPS_PROXY=https://127.0.0.1:0
-        cp ${mainTf} main.tf
-        terraform init
-        touch $out
+  terraform_plugins_test =
+    let
+      mainTf = writeText "main.tf" ''
+        resource "random_id" "test" {}
       '';
-  in test;
+      terraform = terraform_1_0.withPlugins (p: [ p.random ]);
+      test =
+        runCommand "terraform-plugin-test" { buildInputs = [ terraform ]; } ''
+          set -e
+          # make it fail outside of sandbox
+          export HTTP_PROXY=http://127.0.0.1:0 HTTPS_PROXY=https://127.0.0.1:0
+          cp ${mainTf} main.tf
+          terraform init
+          touch $out
+        '';
+    in
+    test;
 
 }
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index 2c3deff9f15..1717d320900 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,22 +2,20 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.29.9";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xgoKxA8lc72yhFVHeFkbF5j5/vGAd9TTaJ/aDEYL8Wg=";
+    sha256 = "sha256-JRIwPOExPbwLS7ps4pJpvIRaZ9jZZjVK+POaUHAmiPI=";
   };
 
-  vendorSha256 = "sha256-qlSCQtiGHmlk3DyETMoQbbSYhuUSZTsvAnBKuDJI8x8=";
+  vendorSha256 = "sha256-lck4nabDhFA8N0lo+cIKiJjlg2TGx3qMExbblHQwbvQ=";
 
   doCheck = false;
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X main.VERSION=v${version}")
-  '';
+  ldflags = [ "-s" "-w" "-X main.VERSION=v${version}" ];
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/pkgs/applications/networking/cluster/tfswitch/default.nix b/pkgs/applications/networking/cluster/tfswitch/default.nix
new file mode 100644
index 00000000000..f56f8bc6d65
--- /dev/null
+++ b/pkgs/applications/networking/cluster/tfswitch/default.nix
@@ -0,0 +1,32 @@
+{ buildGoModule, lib, fetchFromGitHub }:
+buildGoModule rec {
+  pname = "tfswitch";
+  version = "0.12.1119";
+
+  src = fetchFromGitHub {
+    owner = "warrensbox";
+    repo = "terraform-switcher";
+    rev = version;
+    sha256 = "1xsmr4hnmdg2il3rp39cyhv55ha4qcilcsr00iiija3bzxsm4rya";
+  };
+
+  vendorSha256 = "0mpm4m07v8w02g95cnj73m5gvd118id4ag2pym8d9r2svkyz5n70";
+
+  # Disable tests since it requires network access and relies on the
+  # presence of release.hashicorp.com
+  doCheck = false;
+
+  runVend = true;
+
+  postInstall = ''
+    # The binary is named tfswitch
+    mv $out/bin/terraform-switcher $out/bin/tfswitch
+  '';
+
+  meta = with lib; {
+    description = "A command line tool to switch between different versions of terraform";
+    homepage = "https://github.com/warrensbox/terraform-switcher";
+    license = licenses.mit;
+    maintainers = with maintainers; [ psibi ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/waypoint/default.nix b/pkgs/applications/networking/cluster/waypoint/default.nix
index 3675aba028c..b0d0d6193e2 100644
--- a/pkgs/applications/networking/cluster/waypoint/default.nix
+++ b/pkgs/applications/networking/cluster/waypoint/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "waypoint";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yeD7XtcB/2ph6cCnOcv0yFQqvAMPDLXMrUWWkgmBUaA=";
+    sha256 = "sha256-JB/0nU/05Agh4fWFeSfrUHFtR8cQjxdXW0QHAoH0dDc=";
   };
 
   deleteVendor = true;
-  vendorSha256 = "sha256-xZGYPh3Yp3g22GraYfMESVpp7j5fOZASUEvN4YaDd1g=";
+  vendorSha256 = "sha256-2YrCRdpRk+gPHN8flahgWb2sbK5dYL5ivVqeJSsiy8Y=";
 
   nativeBuildInputs = [ go-bindata installShellFiles ];
 
diff --git a/pkgs/applications/networking/dnscontrol/default.nix b/pkgs/applications/networking/dnscontrol/default.nix
index a17f3d2e40d..69f71a7479e 100644
--- a/pkgs/applications/networking/dnscontrol/default.nix
+++ b/pkgs/applications/networking/dnscontrol/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dnscontrol";
-  version = "3.9.0";
+  version = "3.10.1";
 
   src = fetchFromGitHub {
     owner = "StackExchange";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9lIjQaMYy0FGMkR29Es3BMIAcn+jQYudyFJHwezlXKM=";
+    sha256 = "sha256-fYQqH/J027XJPML/qKMpuu2Nxuvb0cyjOu2czLH8SoM=";
   };
 
-  vendorSha256 = "sha256-thvbqDhLdY+g/byFHJ9Tdiw8WYRccu4X1Rb0pdhE34E=";
+  vendorSha256 = "sha256-225TR9jTZSGEJZz3csl/pR/v2unUK67l08x5ESQTJzA=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix b/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix
index a80d0aa28d0..9b173e85682 100644
--- a/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix
+++ b/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix
@@ -20,14 +20,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gnome-feeds";
-  version = "0.16.1";
+  version = "0.16.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "gfeeds";
     rev = version;
-    sha256 = "10hq06nx7lcm3dqq34qkxc6k6383mvjs7pxii9y9995d9kk5a49k";
+    sha256 = "sha256-66dwVR9owg050aHCHJek7jYnT+/yyCKo4AaUE0hCqBA=";
   };
 
   format = "other";
@@ -51,7 +51,7 @@ python3.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3.pkgs; [
     beautifulsoup4
-    dateutil
+    python-dateutil
     feedparser
     html5lib
     listparser
diff --git a/pkgs/applications/networking/feedreaders/newsboat/default.nix b/pkgs/applications/networking/feedreaders/newsboat/default.nix
index 22fadca3cb3..289f631ee8f 100644
--- a/pkgs/applications/networking/feedreaders/newsboat/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsboat/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "newsboat";
-  version = "2.23";
+  version = "2.24";
 
   src = fetchFromGitHub {
     owner = "newsboat";
     repo = "newsboat";
     rev = "r${version}";
-    sha256 = "0a0g9km515kipqmz6c09aj3lgy3nkzqwgnp87fh8f2vr098fn144";
+    sha256 = "0qb10w7pn9hiczjjpc0xanmc83p22ngcqcrkjwji5rl0sh8v9ii4";
   };
 
-  cargoSha256 = "03g14npkisz159gibhfxj7l36vzm7cvg355hndzpxzvhf5r5yjqg";
+  cargoSha256 = "0vhr8qyw4f3lc208mgl1m3z42igkbwly6wcv7g7jrq3c6dcwyhjn";
 
   # TODO: Check if that's still needed
   postPatch = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/applications/networking/feedreaders/newsflash/default.nix b/pkgs/applications/networking/feedreaders/newsflash/default.nix
index b5011c122d9..24ec320cc43 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsflash/default.nix
@@ -15,33 +15,27 @@
 , webkitgtk
 , glib-networking
 , librsvg
-, gst_all_1
 , xdg-utils
+, gst_all_1
 }:
 
 stdenv.mkDerivation rec {
   pname = "newsflash";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitLab {
     owner = "news-flash";
     repo = "news_flash_gtk";
     rev = version;
-    hash = "sha256-pskmvztKOwutXRHVnW5u68/0DAuV9Gb+Ovp2JbXiMYo=";
+    hash = "sha256-8W158GrvVGu5b3TG5bomK+hAF6jttZuImkmtcZOl91o=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-qq8cZplt5YWUwsXUShMDhQm3RGH2kCEBk64x6bOa50E=";
+    hash = "sha256-zHtD3NVWYQ5njg17Z2YmEttiK2oiq01OiAXIZofIqKI=";
   };
 
-  # https://github.com/CasualX/obfstr/blob/v0.2.4/build.rs#L5
-  # obfstr 0.2.4 fails to set RUSTC_BOOTSTRAP in its build script because cargo
-  # build scripts are forbidden from setting RUSTC_BOOTSTRAP since rustc 1.52.0
-  # https://github.com/rust-lang/rust/blob/1.52.0/RELEASES.md#compatibility-notes
-  RUSTC_BOOTSTRAP = 1;
-
   patches = [
     # Post install tries to generate an icon cache & update the
     # desktop database. The gtk setup hook drop-icon-theme-cache.sh
@@ -79,14 +73,14 @@ stdenv.mkDerivation rec {
     sqlite
     webkitgtk
 
-    # open link in browser
-    xdg-utils
-
     # TLS support for loading external content in webkitgtk WebView
     glib-networking
 
     # SVG support for gdk-pixbuf
     librsvg
+
+    # Open links in browser
+    xdg-utils
   ] ++ (with gst_all_1; [
     # Audio & video support for webkitgtk WebView
     gstreamer
@@ -100,5 +94,6 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.com/news-flash/news_flash_gtk";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ kira-bruneau ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch b/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch
index cfdec206e77..b638f30cd44 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch
+++ b/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch
@@ -1,5 +1,5 @@
 diff --git a/meson.build b/meson.build
-index 53f911c..361a233 100644
+index 1d7089c..1952e7f 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -61,5 +61,3 @@ meson.add_dist_script(
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 228c6b47150..b898ce33742 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -1,12 +1,13 @@
 { lib, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
-  pname = "FlexGet";
-  version = "3.1.127";
+  pname = "flexget";
+  version = "3.1.131";
 
   src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "25a973eb54f2f9ccd422d536b29038c570de3584b8174d993119e3c6b434cc54";
+    pname = "FlexGet";
+    inherit version;
+    sha256 = "sha256-wjMtCrffRhk7NL+Z0PeljuDc3WjVWSMsjWLbqo8qUjU=";
   };
 
   postPatch = ''
@@ -46,7 +47,7 @@ python3Packages.buildPythonApplication rec {
     pynzb
     pyparsing
     PyRSS2Gen
-    dateutil
+    python-dateutil
     pyyaml
     rebulk
     requests
@@ -61,9 +62,9 @@ python3Packages.buildPythonApplication rec {
   ];
 
   meta = with lib; {
-    homepage    = "https://flexget.com/";
+    homepage = "https://flexget.com/";
     description = "Multipurpose automation tool for all of your media";
-    license     = licenses.mit;
+    license = licenses.mit;
     maintainers = with maintainers; [ marsam ];
   };
 }
diff --git a/pkgs/applications/networking/giara/default.nix b/pkgs/applications/networking/giara/default.nix
index 940756855b9..1f4d2e0a2d9 100644
--- a/pkgs/applications/networking/giara/default.nix
+++ b/pkgs/applications/networking/giara/default.nix
@@ -48,7 +48,7 @@ python3.pkgs.buildPythonApplication rec {
   pythonPath = with python3.pkgs; [
     pygobject3
     pycairo
-    dateutil
+    python-dateutil
     praw
     pillow
     mistune
diff --git a/pkgs/applications/networking/hyprspace/default.nix b/pkgs/applications/networking/hyprspace/default.nix
index 863b05f8edc..7f792957199 100644
--- a/pkgs/applications/networking/hyprspace/default.nix
+++ b/pkgs/applications/networking/hyprspace/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "hyprspace";
-  version = "0.1.2";
+  version = "0.1.5";
 
   propagatedBuildInputs = lib.optional stdenv.isDarwin iproute2mac;
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YQJaK6i4GWEGSlf/1+hzjVhdN6ZjZC55v8w9KEedNg4=";
+    sha256 = "sha256-aLODIaDbSLVEog/F0FVx6ykadCggE0Vebzwjw0sqYJ0=";
   };
 
-  vendorSha256 = "sha256-ErqK2jDTpqUyvll+epdGKRYCJvyvCa90W1GVbbhF0a4=";
+  vendorSha256 = "sha256-rw75xNBBV58F+HBVtD/EslPWxZxLbI3/mJVdJF4usKI=";
 
   meta = with lib; {
     description = "A Lightweight VPN Built on top of Libp2p for Truly Distributed Networks.";
diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix
index 714ca1c8990..938626806ca 100644
--- a/pkgs/applications/networking/ids/snort/default.nix
+++ b/pkgs/applications/networking/ids/snort/default.nix
@@ -3,13 +3,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.9.16.1";
+  version = "2.9.18";
   pname = "snort";
 
   src = fetchurl {
     name = "${pname}-${version}.tar.gz";
     url = "https://snort.org/downloads/archive/snort/${pname}-${version}.tar.gz";
-    sha256 = "13lzvjli6kbsnkd7lf0rm71l2mnz38pxk76ia9yrjb6clfhlbb73";
+    sha256 = "0xrc7crchflfrk4x5dq5zx22zkmgcrbkww5r1pvkc3cyyr18cc6h";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/ids/suricata/default.nix b/pkgs/applications/networking/ids/suricata/default.nix
index 22a7d74e14d..5d24f589abc 100644
--- a/pkgs/applications/networking/ids/suricata/default.nix
+++ b/pkgs/applications/networking/ids/suricata/default.nix
@@ -34,11 +34,11 @@
 in
 stdenv.mkDerivation rec {
   pname = "suricata";
-  version = "6.0.2";
+  version = "6.0.3";
 
   src = fetchurl {
     url = "https://www.openinfosecfoundation.org/download/${pname}-${version}.tar.gz";
-    sha256 = "sha256-XkZHoHyzG11tAEmXKkU3XBN96QipZKROLW0jH6OtS1I=";
+    sha256 = "sha256-2vE0uy18mAA16a5g96rzEzI6gJNAAJ8m5IEQzN6B9gI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/ids/zeek/default.nix b/pkgs/applications/networking/ids/zeek/default.nix
index 7ee55c45299..979d765e9e6 100644
--- a/pkgs/applications/networking/ids/zeek/default.nix
+++ b/pkgs/applications/networking/ids/zeek/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zeek";
-  version = "4.0.2";
+  version = "4.0.3";
 
   src = fetchurl {
     url = "https://download.zeek.org/zeek-${version}.tar.gz";
-    sha256 = "15gxxgg7nmfmswlbxhvcp6alq5k9wpvrm5cwyf1qfd7xsfli61sm";
+    sha256 = "1nrkwaj0dilyzhfl6yma214vyakvpi97acyffdr7n4kdm4m6pvik";
   };
 
   nativeBuildInputs = [ cmake flex bison file ];
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index 03f0bf63818..122433d197a 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
     platforms = with lib.platforms; linux;
     maintainers = with lib.maintainers; [raskin];
     license = lib.licenses.bsd3;
-    inherit version;
     downloadPage = "http://www.creytiv.com/pub/";
     updateWalker = true;
     downloadURLRegexp = "/baresip-.*[.]tar[.].*";
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
index 6e57e0e9423..adc19f5dcfd 100644
--- a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
@@ -38,14 +38,17 @@
 , xdg-utils
 }:
 
+let
+  getFirst = n: v: builtins.concatStringsSep "." (lib.take n (lib.splitString "." v));
+in
+
 stdenv.mkDerivation rec {
   pname = "bluejeans";
-  version = "2.21.3";
-  buildNumber = "2";
+  version = "2.22.0.87";
 
   src = fetchurl {
-    url = "https://swdl.bluejeans.com/desktop-app/linux/${version}/BlueJeans_${version}.${buildNumber}.rpm";
-    sha256 = "sha256-a/REuxkqZmLLa7N3CUgUAdq74VMD9D10a/Sx2jOj1QA=";
+    url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm";
+    sha256 = "sha256-0nobn+YcvqakwvBdkoEJrzHoL+OGym2zJ806oUabYfo=";
   };
 
   nativeBuildInputs = [ rpmextract makeWrapper ];
@@ -106,7 +109,7 @@ stdenv.mkDerivation rec {
       --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
       opt/BlueJeans/resources/BluejeansHelper
 
-    cc $localtime64_stub -shared -o "$out"/opt/BlueJeans/liblocaltime64_stub.so
+    cc $localtime64_stub -shared -o "${placeholder "out"}"/opt/BlueJeans/liblocaltime64_stub.so
 
     makeWrapper $out/opt/BlueJeans/bluejeans-v2 $out/bin/bluejeans \
       --set LD_LIBRARY_PATH "${libPath}":"${placeholder "out"}"/opt/BlueJeans \
@@ -119,6 +122,8 @@ stdenv.mkDerivation rec {
     patchShebangs "$out"
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Video, audio, and web conferencing that works together with the collaboration tools you use every day";
     homepage = "https://www.bluejeans.com";
@@ -127,3 +132,4 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
   };
 }
+
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/update.sh b/pkgs/applications/networking/instant-messengers/bluejeans/update.sh
new file mode 100755
index 00000000000..2c527462003
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/update.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl pup common-updater-scripts
+
+set -eu -o pipefail
+
+version="$(curl -Ls https://www.bluejeans.com/download | \
+    pup 'a[aria-label~="Linux"] attr{href}' | \
+    #output contains *.deb and *.rpm
+    grep "\.rpm" | \
+    awk -F'[ ._ ]' '{printf $6"."$7"."$8"."$9"\n"}')"
+
+update-source-version bluejeans-gui "$version"
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix
index 0134fac0e20..ee43e4475d7 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix
+++ b/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "deltachat-electron";
-  version = "1.15.5";
+  version = "1.20.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://download.delta.chat/desktop/v${version}/DeltaChat-${version}.AppImage";
-    sha256 = "sha256-BTGwgC0zSr1tq/X4v/fS/12E7/mGVYQ0m+Bt6o7VL4o=";
+    sha256 = "sha256-u0YjaXb+6BOBWaZANPcaxp7maqlBWAtecSsCGbr67dk=";
   };
 
   appimageContents = appimageTools.extract { inherit name src; };
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix
index d4332c0265c..7f0127c28fd 100644
--- a/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -4,7 +4,6 @@
 , xorg, libXdmcp, libxkbcommon
 , libnotify, libsoup, libgee
 , librsvg, libsignal-protocol-c
-, fetchpatch
 , libgcrypt
 , epoxy
 , at-spi2-core
diff --git a/pkgs/applications/networking/instant-messengers/discord/base.nix b/pkgs/applications/networking/instant-messengers/discord/base.nix
index a8b2b02f0bf..2d67236c90e 100644
--- a/pkgs/applications/networking/instant-messengers/discord/base.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/base.nix
@@ -5,6 +5,7 @@
 , libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
 , libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence
 , mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu
+, writeScript, common-updater-scripts
 }:
 
 let
@@ -71,7 +72,15 @@ in stdenv.mkDerivation rec {
     mimeType = "x-scheme-handler/discord";
   };
 
-  passthru.updateScript = ./update-discord.sh;
+  passthru.updateScript = writeScript "discord-update-script" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl gnugrep common-updater-scripts
+    set -eou pipefail;
+    url=$(curl -sI "https://discordapp.com/api/download/${builtins.replaceStrings ["discord-" "discord"] ["" "stable"] pname}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
+    version=''${url##https://dl*.discordapp.net/apps/linux/}
+    version=''${version%%/*.tar.gz}
+    update-source-version ${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix
+  '';
 
   meta = with lib; {
     description = "All-in-one cross-platform voice and text chat for gamers";
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index e486cd9de62..d2d8c9a3ec5 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.124";
+    version = "0.0.126";
     src = fetchurl {
       url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-      sha256 = "060ypr9rn5yl8iwh4v3ax1v6501yaq72sx50q47sm0wyxn7gpv91";
+      sha256 = "EraTDRKd6t0c9U68tSRdGkeB1hfqNS4KUewEXwkL8io=";
     };
   };
 }.${branch}
diff --git a/pkgs/applications/networking/instant-messengers/discord/update-discord.sh b/pkgs/applications/networking/instant-messengers/discord/update-discord.sh
deleted file mode 100755
index 34c1574c65a..00000000000
--- a/pkgs/applications/networking/instant-messengers/discord/update-discord.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env bash
-# script to generate ./default.nix
-
-set -e
-exec >"${BASH_SOURCE%/*}/default.nix"
-
-cat <<EOF
-{ branch ? "stable", pkgs }:
-# Generated by ./update-discord.sh
-let
-  inherit (pkgs) callPackage fetchurl;
-in {
-EOF
-
-for branch in "" ptb canary; do
-    url=$(curl -sI "https://discordapp.com/api/download${branch:+/}${branch}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
-    version=${url##https://dl*.discordapp.net/apps/linux/}
-    version=${version%%/*.tar.gz}
-    echo "  ${branch:-stable} = callPackage ./base.nix rec {"
-    echo "    pname = \"discord${branch:+-}${branch}\";"
-    case $branch in
-        "") suffix="" ;;
-        ptb) suffix="PTB" ;;
-        canary) suffix="Canary" ;;
-    esac
-    echo "    binaryName = \"Discord${suffix}\";"
-    echo "    desktopName = \"Discord${suffix:+ }${suffix}\";"
-    echo "    version = \"${version}\";"
-    echo "    src = fetchurl {"
-    echo "      url = \"${url//${version}/\$\{version\}}\";"
-    echo "      sha256 = \"$(nix-prefetch-url "$url")\";"
-    echo "    };"
-    echo "  };"
-done
-
-echo "}.\${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 5293c55f127..063c64fa377 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.30",
+  "version": "1.7.31",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
@@ -43,8 +43,8 @@
   },
   "devDependencies": {
     "asar": "^2.0.1",
-    "electron-builder": "22.10.5",
-    "electron-builder-squirrel-windows": "22.10.5",
+    "electron-builder": "22.11.4",
+    "electron-builder-squirrel-windows": "22.11.4",
     "electron-devtools-installer": "^3.1.1",
     "electron-notarize": "^1.0.0",
     "eslint": "7.18.0",
@@ -68,7 +68,7 @@
   },
   "build": {
     "appId": "im.riot.app",
-    "electronVersion": "12.0.9",
+    "electronVersion": "12.0.11",
     "files": [
       "package.json",
       {
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 258f5cb2dad..733cfa3a11a 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
@@ -2,14 +2,6 @@
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
-      name = "7zip_bin___7zip_bin_5.0.3.tgz";
-      path = fetchurl {
-        name = "7zip_bin___7zip_bin_5.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz";
-        sha1 = "bc5b5532ecafd923a61f2fb097e3b108c0106a3f";
-      };
-    }
-    {
       name = "7zip_bin___7zip_bin_5.1.1.tgz";
       path = fetchurl {
         name = "7zip_bin___7zip_bin_5.1.1.tgz";
@@ -138,11 +130,11 @@
       };
     }
     {
-      name = "_electron_universal___universal_1.0.4.tgz";
+      name = "_electron_universal___universal_1.0.5.tgz";
       path = fetchurl {
-        name = "_electron_universal___universal_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.4.tgz";
-        sha1 = "231ac246c39d45b80e159bd21c3f9027dcaa10f5";
+        name = "_electron_universal___universal_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz";
+        sha1 = "b812340e4ef21da2b3ee77b2b4d35c9b86defe37";
       };
     }
     {
@@ -418,6 +410,14 @@
       };
     }
     {
+      name = "_malept_flatpak_bundler___flatpak_bundler_0.4.0.tgz";
+      path = fetchurl {
+        name = "_malept_flatpak_bundler___flatpak_bundler_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz";
+        sha1 = "e8a32c30a95d20c2b1bb635cc580981a06389858";
+      };
+    }
+    {
       name = "_sindresorhus_is___is_0.14.0.tgz";
       path = fetchurl {
         name = "_sindresorhus_is___is_0.14.0.tgz";
@@ -450,11 +450,11 @@
       };
     }
     {
-      name = "_types_fs_extra___fs_extra_9.0.9.tgz";
+      name = "_types_fs_extra___fs_extra_9.0.11.tgz";
       path = fetchurl {
-        name = "_types_fs_extra___fs_extra_9.0.9.tgz";
-        url  = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.9.tgz";
-        sha1 = "11ed43b3f3c6b3490f1ef9bd17f58da896e2d861";
+        name = "_types_fs_extra___fs_extra_9.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.11.tgz";
+        sha1 = "8cc99e103499eab9f347dbc6ca4e99fb8d2c2b87";
       };
     }
     {
@@ -514,11 +514,11 @@
       };
     }
     {
-      name = "_types_yargs___yargs_15.0.13.tgz";
+      name = "_types_yargs___yargs_16.0.3.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";
+        name = "_types_yargs___yargs_16.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.3.tgz";
+        sha1 = "4b6d35bb8e680510a7dc2308518a80ee1ef27e01";
       };
     }
     {
@@ -730,19 +730,19 @@
       };
     }
     {
-      name = "app_builder_bin___app_builder_bin_3.5.12.tgz";
+      name = "app_builder_bin___app_builder_bin_3.5.13.tgz";
       path = fetchurl {
-        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_bin___app_builder_bin_3.5.13.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.13.tgz";
+        sha1 = "6dd7f4de34a4e408806f99b8c7d6ef1601305b7e";
       };
     }
     {
-      name = "app_builder_lib___app_builder_lib_22.10.5.tgz";
+      name = "app_builder_lib___app_builder_lib_22.11.4.tgz";
       path = fetchurl {
-        name = "app_builder_lib___app_builder_lib_22.10.5.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.10.5.tgz";
-        sha1 = "24a88581c891e5b187a0d569aa44e7c4a0dc8de2";
+        name = "app_builder_lib___app_builder_lib_22.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.11.4.tgz";
+        sha1 = "f476e8f1c843d2bcce0348d60e2deae3a71b3474";
       };
     }
     {
@@ -938,11 +938,11 @@
       };
     }
     {
-      name = "balanced_match___balanced_match_1.0.0.tgz";
+      name = "balanced_match___balanced_match_1.0.2.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 = "balanced_match___balanced_match_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz";
+        sha1 = "e83e3a7e3f300b34cb9d87f615fa0cbf357690ee";
       };
     }
     {
@@ -986,14 +986,6 @@
       };
     }
     {
-      name = "binaryextensions___binaryextensions_4.15.0.tgz";
-      path = fetchurl {
-        name = "binaryextensions___binaryextensions_4.15.0.tgz";
-        url  = "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-4.15.0.tgz";
-        sha1 = "c63a502e0078ff1b0e9b00a9f74d3c2b0f8bd32e";
-      };
-    }
-    {
       name = "bl___bl_4.0.3.tgz";
       path = fetchurl {
         name = "bl___bl_4.0.3.tgz";
@@ -1098,19 +1090,19 @@
       };
     }
     {
-      name = "builder_util_runtime___builder_util_runtime_8.7.3.tgz";
+      name = "builder_util_runtime___builder_util_runtime_8.7.5.tgz";
       path = fetchurl {
-        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_runtime___builder_util_runtime_8.7.5.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.5.tgz";
+        sha1 = "fbe59e274818885e0d2e358d5b7017c34ae6b0f5";
       };
     }
     {
-      name = "builder_util___builder_util_22.10.5.tgz";
+      name = "builder_util___builder_util_22.11.4.tgz";
       path = fetchurl {
-        name = "builder_util___builder_util_22.10.5.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.10.5.tgz";
-        sha1 = "8d0b04a3be6acc74938679aa90dcb3181b1ae86b";
+        name = "builder_util___builder_util_22.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.11.4.tgz";
+        sha1 = "5deee8e067d6e3248791977ce2928b98fe514342";
       };
     }
     {
@@ -1138,6 +1130,14 @@
       };
     }
     {
+      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_12.0.3.tgz";
       path = fetchurl {
         name = "cacache___cacache_12.0.3.tgz";
@@ -1226,6 +1226,14 @@
       };
     }
     {
+      name = "chalk___chalk_4.1.1.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz";
+        sha1 = "c80b3fab28bf6371e6863325eee67e618b77e6ad";
+      };
+    }
+    {
       name = "chownr___chownr_1.1.4.tgz";
       path = fetchurl {
         name = "chownr___chownr_1.1.4.tgz";
@@ -1266,6 +1274,14 @@
       };
     }
     {
+      name = "ci_info___ci_info_3.2.0.tgz";
+      path = fetchurl {
+        name = "ci_info___ci_info_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz";
+        sha1 = "2876cb948a498797b5236f0095bc057d0dca38b6";
+      };
+    }
+    {
       name = "cidr_regex___cidr_regex_2.0.10.tgz";
       path = fetchurl {
         name = "cidr_regex___cidr_regex_2.0.10.tgz";
@@ -1658,6 +1674,14 @@
       };
     }
     {
+      name = "debug___debug_3.2.7.tgz";
+      path = fetchurl {
+        name = "debug___debug_3.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz";
+        sha1 = "72580b7e9145fb39b6676f9c5e5fb100b934179a";
+      };
+    }
+    {
       name = "debug___debug_3.2.6.tgz";
       path = fetchurl {
         name = "debug___debug_3.2.6.tgz";
@@ -1818,19 +1842,19 @@
       };
     }
     {
-      name = "dmg_builder___dmg_builder_22.10.5.tgz";
+      name = "dmg_builder___dmg_builder_22.11.4.tgz";
       path = fetchurl {
-        name = "dmg_builder___dmg_builder_22.10.5.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.10.5.tgz";
-        sha1 = "65a33c106ead5a350c7de8997c546559bd6e0e7c";
+        name = "dmg_builder___dmg_builder_22.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.11.4.tgz";
+        sha1 = "8e3a31bd835d51d3b686d1a6be6c0d08d3e7b1f4";
       };
     }
     {
-      name = "dmg_license___dmg_license_1.0.8.tgz";
+      name = "dmg_license___dmg_license_1.0.9.tgz";
       path = fetchurl {
-        name = "dmg_license___dmg_license_1.0.8.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.8.tgz";
-        sha1 = "d52e234815f1a07a59706e5f2a2fea71991cf784";
+        name = "dmg_license___dmg_license_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.9.tgz";
+        sha1 = "a2fb8d692af0e30b0730b5afc91ed9edc2d9cb4f";
       };
     }
     {
@@ -1850,11 +1874,11 @@
       };
     }
     {
-      name = "dot_prop___dot_prop_4.2.0.tgz";
+      name = "dot_prop___dot_prop_4.2.1.tgz";
       path = fetchurl {
-        name = "dot_prop___dot_prop_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz";
-        sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57";
+        name = "dot_prop___dot_prop_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz";
+        sha1 = "45884194a71fc2cda71cbb4bceb3a4dd2f433ba4";
       };
     }
     {
@@ -1882,11 +1906,11 @@
       };
     }
     {
-      name = "dotenv___dotenv_8.2.0.tgz";
+      name = "dotenv___dotenv_9.0.2.tgz";
       path = fetchurl {
-        name = "dotenv___dotenv_8.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz";
-        sha1 = "97e619259ada750eea3e4ea3e26bceea5424b16a";
+        name = "dotenv___dotenv_9.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz";
+        sha1 = "dacc20160935a37dea6364aa1bef819fb9b6ab05";
       };
     }
     {
@@ -1914,14 +1938,6 @@
       };
     }
     {
-      name = "editions___editions_6.1.0.tgz";
-      path = fetchurl {
-        name = "editions___editions_6.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/editions/-/editions-6.1.0.tgz";
-        sha1 = "ba6c6cf9f4bb571d9e53ea34e771a602e5a66549";
-      };
-    }
-    {
       name = "editor___editor_1.0.0.tgz";
       path = fetchurl {
         name = "editor___editor_1.0.0.tgz";
@@ -1938,19 +1954,19 @@
       };
     }
     {
-      name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.10.5.tgz";
+      name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.11.4.tgz";
       path = fetchurl {
-        name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.10.5.tgz";
-        url  = "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-22.10.5.tgz";
-        sha1 = "83d3bf498110341a522cc5263fb4474ae6e05caf";
+        name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-22.11.4.tgz";
+        sha1 = "6dc50a26396d813f58a4d8e5b90ee3cedb56f4d8";
       };
     }
     {
-      name = "electron_builder___electron_builder_22.10.5.tgz";
+      name = "electron_builder___electron_builder_22.11.4.tgz";
       path = fetchurl {
-        name = "electron_builder___electron_builder_22.10.5.tgz";
-        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.10.5.tgz";
-        sha1 = "03b156b93e6012609027c3aaa69201a3ad21e454";
+        name = "electron_builder___electron_builder_22.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.11.4.tgz";
+        sha1 = "aadb57a4fc90863e82ebdbc66131400fc3bb4c82";
       };
     }
     {
@@ -1970,11 +1986,11 @@
       };
     }
     {
-      name = "electron_publish___electron_publish_22.10.5.tgz";
+      name = "electron_publish___electron_publish_22.11.4.tgz";
       path = fetchurl {
-        name = "electron_publish___electron_publish_22.10.5.tgz";
-        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.10.5.tgz";
-        sha1 = "9cbe46266b6c79d8c6e99840755682e2262d3543";
+        name = "electron_publish___electron_publish_22.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.4.tgz";
+        sha1 = "0f526edb7e0c3f0155103ff3b8a2e363a3a392f1";
       };
     }
     {
@@ -2010,11 +2026,11 @@
       };
     }
     {
-      name = "encoding___encoding_0.1.12.tgz";
+      name = "encoding___encoding_0.1.13.tgz";
       path = fetchurl {
-        name = "encoding___encoding_0.1.12.tgz";
-        url  = "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz";
-        sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
+        name = "encoding___encoding_0.1.13.tgz";
+        url  = "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz";
+        sha1 = "56574afdd791f54a8e9b2785c0582a2d26210fa9";
       };
     }
     {
@@ -2050,14 +2066,6 @@
       };
     }
     {
-      name = "errlop___errlop_4.1.0.tgz";
-      path = fetchurl {
-        name = "errlop___errlop_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/errlop/-/errlop-4.1.0.tgz";
-        sha1 = "8e7b8f4f1bf0a6feafce4d14f0c0cf4bf5ef036b";
-      };
-    }
-    {
       name = "errno___errno_0.1.7.tgz";
       path = fetchurl {
         name = "errno___errno_0.1.7.tgz";
@@ -2474,19 +2482,19 @@
       };
     }
     {
-      name = "fs_extra___fs_extra_8.1.0.tgz";
+      name = "fs_extra___fs_extra_10.0.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_extra___fs_extra_10.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz";
+        sha1 = "9ff61b655dde53fb34a82df84bb214ce802e17c1";
       };
     }
     {
-      name = "fs_extra___fs_extra_9.0.1.tgz";
+      name = "fs_extra___fs_extra_8.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_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz";
+        sha1 = "49d43c45a88cd9677668cb7be1b46efdb8d2e1c0";
       };
     }
     {
@@ -2498,6 +2506,14 @@
       };
     }
     {
+      name = "fs_extra___fs_extra_9.0.1.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_minipass___fs_minipass_1.2.7.tgz";
       path = fetchurl {
         name = "fs_minipass___fs_minipass_1.2.7.tgz";
@@ -2642,11 +2658,11 @@
       };
     }
     {
-      name = "glob_parent___glob_parent_5.1.1.tgz";
+      name = "glob_parent___glob_parent_5.1.2.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_parent___glob_parent_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz";
+        sha1 = "869832c58034fe68a4093c17dc15e8340d8401c4";
       };
     }
     {
@@ -2658,6 +2674,14 @@
       };
     }
     {
+      name = "glob___glob_7.1.7.tgz";
+      path = fetchurl {
+        name = "glob___glob_7.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz";
+        sha1 = "3b193e9233f01d42d0b3f78294bbeeb418f94a90";
+      };
+    }
+    {
       name = "global_dirs___global_dirs_0.1.1.tgz";
       path = fetchurl {
         name = "global_dirs___global_dirs_0.1.1.tgz";
@@ -2722,6 +2746,14 @@
       };
     }
     {
+      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_fs___graceful_fs_4.2.4.tgz";
       path = fetchurl {
         name = "graceful_fs___graceful_fs_4.2.4.tgz";
@@ -2810,27 +2842,11 @@
       };
     }
     {
-      name = "hosted_git_info___hosted_git_info_2.8.5.tgz";
-      path = fetchurl {
-        name = "hosted_git_info___hosted_git_info_2.8.5.tgz";
-        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz";
-        sha1 = "759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c";
-      };
-    }
-    {
-      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 = "hosted_git_info___hosted_git_info_3.0.8.tgz";
+      name = "hosted_git_info___hosted_git_info_2.8.9.tgz";
       path = fetchurl {
-        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";
+        name = "hosted_git_info___hosted_git_info_2.8.9.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz";
+        sha1 = "dffc0bf9a21c02209090f2aa69429e1414daf3f9";
       };
     }
     {
@@ -2890,11 +2906,11 @@
       };
     }
     {
-      name = "iconv_corefoundation___iconv_corefoundation_1.1.5.tgz";
+      name = "iconv_corefoundation___iconv_corefoundation_1.1.6.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_corefoundation___iconv_corefoundation_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.6.tgz";
+        sha1 = "27c135470237f6f8d13462fa1f5eaf250523c29a";
       };
     }
     {
@@ -2906,11 +2922,11 @@
       };
     }
     {
-      name = "iconv_lite___iconv_lite_0.6.2.tgz";
+      name = "iconv_lite___iconv_lite_0.6.3.tgz";
       path = fetchurl {
-        name = "iconv_lite___iconv_lite_0.6.2.tgz";
-        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz";
-        sha1 = "ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01";
+        name = "iconv_lite___iconv_lite_0.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz";
+        sha1 = "a52f80bf38da1952eb5c681790719871a1a72501";
       };
     }
     {
@@ -3122,19 +3138,19 @@
       };
     }
     {
-      name = "is_cidr___is_cidr_3.1.0.tgz";
+      name = "is_ci___is_ci_3.0.0.tgz";
       path = fetchurl {
-        name = "is_cidr___is_cidr_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.1.0.tgz";
-        sha1 = "72e233d8e1c4cd1d3f11713fcce3eba7b0e3476f";
+        name = "is_ci___is_ci_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz";
+        sha1 = "c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994";
       };
     }
     {
-      name = "is_core_module___is_core_module_2.2.0.tgz";
+      name = "is_cidr___is_cidr_3.1.0.tgz";
       path = fetchurl {
-        name = "is_core_module___is_core_module_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz";
-        sha1 = "97037ef3d52224d85163f5597b2b63d9afed981a";
+        name = "is_cidr___is_cidr_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.1.0.tgz";
+        sha1 = "72e233d8e1c4cd1d3f11713fcce3eba7b0e3476f";
       };
     }
     {
@@ -3330,6 +3346,14 @@
       };
     }
     {
+      name = "isbinaryfile___isbinaryfile_4.0.8.tgz";
+      path = fetchurl {
+        name = "isbinaryfile___isbinaryfile_4.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz";
+        sha1 = "5d34b94865bd4946633ecc78a026fc76c5b11fcf";
+      };
+    }
+    {
       name = "isexe___isexe_2.0.0.tgz";
       path = fetchurl {
         name = "isexe___isexe_2.0.0.tgz";
@@ -3346,14 +3370,6 @@
       };
     }
     {
-      name = "istextorbinary___istextorbinary_5.12.0.tgz";
-      path = fetchurl {
-        name = "istextorbinary___istextorbinary_5.12.0.tgz";
-        url  = "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-5.12.0.tgz";
-        sha1 = "2f84777838668fdf524c305a2363d6057aaeec84";
-      };
-    }
-    {
       name = "jake___jake_10.8.2.tgz";
       path = fetchurl {
         name = "jake___jake_10.8.2.tgz";
@@ -3394,11 +3410,11 @@
       };
     }
     {
-      name = "js_yaml___js_yaml_4.0.0.tgz";
+      name = "js_yaml___js_yaml_4.1.0.tgz";
       path = fetchurl {
-        name = "js_yaml___js_yaml_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz";
-        sha1 = "f426bc0ff4b4051926cd588c71113183409a121f";
+        name = "js_yaml___js_yaml_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz";
+        sha1 = "c1fb65f8f5017901cdd2c951864ba18458a10602";
       };
     }
     {
@@ -3482,11 +3498,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";
       };
     }
     {
@@ -3570,6 +3586,14 @@
       };
     }
     {
+      name = "lazy_val___lazy_val_1.0.5.tgz";
+      path = fetchurl {
+        name = "lazy_val___lazy_val_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz";
+        sha1 = "6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d";
+      };
+    }
+    {
       name = "lazystream___lazystream_1.0.0.tgz";
       path = fetchurl {
         name = "lazystream___lazystream_1.0.0.tgz";
@@ -4162,11 +4186,11 @@
       };
     }
     {
-      name = "node_fetch_npm___node_fetch_npm_2.0.2.tgz";
+      name = "node_fetch_npm___node_fetch_npm_2.0.4.tgz";
       path = fetchurl {
-        name = "node_fetch_npm___node_fetch_npm_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz";
-        sha1 = "7258c9046182dca345b4208eda918daf33697ff7";
+        name = "node_fetch_npm___node_fetch_npm_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz";
+        sha1 = "6507d0e17a9ec0be3bec516958a497cec54bf5a4";
       };
     }
     {
@@ -4218,14 +4242,6 @@
       };
     }
     {
-      name = "normalize_package_data___normalize_package_data_3.0.2.tgz";
-      path = fetchurl {
-        name = "normalize_package_data___normalize_package_data_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz";
-        sha1 = "cae5c410ae2434f9a6c1baa65d5bc3b9366c8699";
-      };
-    }
-    {
       name = "normalize_path___normalize_path_3.0.0.tgz";
       path = fetchurl {
         name = "normalize_path___normalize_path_3.0.0.tgz";
@@ -4234,11 +4250,11 @@
       };
     }
     {
-      name = "normalize_url___normalize_url_4.5.0.tgz";
+      name = "normalize_url___normalize_url_4.5.1.tgz";
       path = fetchurl {
-        name = "normalize_url___normalize_url_4.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz";
-        sha1 = "453354087e6ca96957bd8f5baf753f5982142129";
+        name = "normalize_url___normalize_url_4.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz";
+        sha1 = "0dd90cf1288ee1d1313b87081c9a5932ee48518a";
       };
     }
     {
@@ -4346,14 +4362,6 @@
       };
     }
     {
-      name = "npm_registry_fetch___npm_registry_fetch_4.0.2.tgz";
-      path = fetchurl {
-        name = "npm_registry_fetch___npm_registry_fetch_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.2.tgz";
-        sha1 = "2b1434f93ccbe6b6385f8e45f45db93e16921d7a";
-      };
-    }
-    {
       name = "npm_registry_fetch___npm_registry_fetch_4.0.7.tgz";
       path = fetchurl {
         name = "npm_registry_fetch___npm_registry_fetch_4.0.7.tgz";
@@ -5026,11 +5034,11 @@
       };
     }
     {
-      name = "read_config_file___read_config_file_6.0.0.tgz";
+      name = "read_config_file___read_config_file_6.2.0.tgz";
       path = fetchurl {
-        name = "read_config_file___read_config_file_6.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.0.0.tgz";
-        sha1 = "224b5dca6a5bdc1fb19e63f89f342680efdb9299";
+        name = "read_config_file___read_config_file_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz";
+        sha1 = "71536072330bcd62ba814f91458b12add9fc7ade";
       };
     }
     {
@@ -5234,14 +5242,6 @@
       };
     }
     {
-      name = "resolve___resolve_1.20.0.tgz";
-      path = fetchurl {
-        name = "resolve___resolve_1.20.0.tgz";
-        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz";
-        sha1 = "629a013fb3f70755d6f0b7935cc1c2c5378b1975";
-      };
-    }
-    {
       name = "responselike___responselike_1.0.2.tgz";
       path = fetchurl {
         name = "responselike___responselike_1.0.2.tgz";
@@ -5290,11 +5290,11 @@
       };
     }
     {
-      name = "safe_buffer___safe_buffer_5.2.0.tgz";
+      name = "safe_buffer___safe_buffer_5.2.1.tgz";
       path = fetchurl {
-        name = "safe_buffer___safe_buffer_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz";
-        sha1 = "b74daec49b1148f88c64b68d49b1e815c1f2f519";
+        name = "safe_buffer___safe_buffer_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz";
+        sha1 = "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6";
       };
     }
     {
@@ -5306,14 +5306,6 @@
       };
     }
     {
-      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 = "safer_buffer___safer_buffer_2.1.2.tgz";
       path = fetchurl {
         name = "safer_buffer___safer_buffer_2.1.2.tgz";
@@ -5386,6 +5378,14 @@
       };
     }
     {
+      name = "semver___semver_7.3.5.tgz";
+      path = fetchurl {
+        name = "semver___semver_7.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz";
+        sha1 = "0b621c879348d8998e4b0e4be94b3f12e6018ef7";
+      };
+    }
+    {
       name = "set_blocking___set_blocking_2.0.0.tgz";
       path = fetchurl {
         name = "set_blocking___set_blocking_2.0.0.tgz";
@@ -5842,11 +5842,11 @@
       };
     }
     {
-      name = "temp_file___temp_file_3.3.7.tgz";
+      name = "temp_file___temp_file_3.4.0.tgz";
       path = fetchurl {
-        name = "temp_file___temp_file_3.3.7.tgz";
-        url  = "https://registry.yarnpkg.com/temp-file/-/temp-file-3.3.7.tgz";
-        sha1 = "686885d635f872748e384e871855958470aeb18a";
+        name = "temp_file___temp_file_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz";
+        sha1 = "766ea28911c683996c248ef1a20eea04d51652c7";
       };
     }
     {
@@ -5866,14 +5866,6 @@
       };
     }
     {
-      name = "textextensions___textextensions_5.12.0.tgz";
-      path = fetchurl {
-        name = "textextensions___textextensions_5.12.0.tgz";
-        url  = "https://registry.yarnpkg.com/textextensions/-/textextensions-5.12.0.tgz";
-        sha1 = "b908120b5c1bd4bb9eba41423d75b176011ab68a";
-      };
-    }
-    {
       name = "through2___through2_2.0.5.tgz";
       path = fetchurl {
         name = "through2___through2_2.0.5.tgz";
@@ -5930,6 +5922,14 @@
       };
     }
     {
+      name = "tmp_promise___tmp_promise_3.0.2.tgz";
+      path = fetchurl {
+        name = "tmp_promise___tmp_promise_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.2.tgz";
+        sha1 = "6e933782abff8b00c3119d63589ca1fb9caaa62a";
+      };
+    }
+    {
       name = "tmp___tmp_0.1.0.tgz";
       path = fetchurl {
         name = "tmp___tmp_0.1.0.tgz";
@@ -5938,6 +5938,14 @@
       };
     }
     {
+      name = "tmp___tmp_0.2.1.tgz";
+      path = fetchurl {
+        name = "tmp___tmp_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz";
+        sha1 = "8457fc3037dcf4719c251367a1af6500ee1ccf14";
+      };
+    }
+    {
       name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
       path = fetchurl {
         name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
@@ -6282,22 +6290,6 @@
       };
     }
     {
-      name = "version_compare___version_compare_1.1.0.tgz";
-      path = fetchurl {
-        name = "version_compare___version_compare_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/version-compare/-/version-compare-1.1.0.tgz";
-        sha1 = "7b3e67e7e6cec5c72d9c9e586f8854e419ade17c";
-      };
-    }
-    {
-      name = "version_range___version_range_1.1.0.tgz";
-      path = fetchurl {
-        name = "version_range___version_range_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/version-range/-/version-range-1.1.0.tgz";
-        sha1 = "1c233064202ee742afc9d56e21da3b2e15260acf";
-      };
-    }
-    {
       name = "walk___walk_2.3.14.tgz";
       path = fetchurl {
         name = "walk___walk_2.3.14.tgz";
@@ -6514,19 +6506,19 @@
       };
     }
     {
-      name = "y18n___y18n_3.2.1.tgz";
+      name = "y18n___y18n_3.2.2.tgz";
       path = fetchurl {
-        name = "y18n___y18n_3.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz";
-        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+        name = "y18n___y18n_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz";
+        sha1 = "85c901bd6470ce71fc4bb723ad209b70f7f28696";
       };
     }
     {
-      name = "y18n___y18n_4.0.0.tgz";
+      name = "y18n___y18n_4.0.3.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_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz";
+        sha1 = "b5f259c82cd6e336921efd7bfd8bf560de9eeedf";
       };
     }
     {
@@ -6602,11 +6594,11 @@
       };
     }
     {
-      name = "yargs___yargs_16.2.0.tgz";
+      name = "yargs___yargs_17.0.1.tgz";
       path = fetchurl {
-        name = "yargs___yargs_16.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz";
-        sha1 = "1c82bf0f6b6a66eafce7ef30e376f49a12477f66";
+        name = "yargs___yargs_17.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-17.0.1.tgz";
+        sha1 = "6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb";
       };
     }
     {
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index 6424972cbf7..f8f4d31d6ec 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.30";
+  version = "1.7.31";
   src = fetchFromGitHub {
     owner = "vector-im";
     repo = "element-desktop";
     rev = "v${version}";
-    sha256 = "09k1xxmzqvw8c1x9ndsdvwj4598rdx9zqraz3rmr3i58s51vycxp";
+    sha256 = "14vyqzf69g4n3i7qjm1pgq2kwym6cira0jwvirzdrwxkfsl0dsq6";
   };
 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 5baed75ba52..d9aec35b04b 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.30";
+  version = "1.7.31";
 
   src = fetchurl {
     url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz";
-    sha256 = "1pnmgdyacxfk8hdf930rqqvqrcvckc3m4pb5mkznlirsmw06nfay";
+    sha256 = "1p0vg5bkri7qiqv5yic56hjjbb5zvhvyzsm5zi7fx3yb7zdxmr3f";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/go-neb/default.nix b/pkgs/applications/networking/instant-messengers/go-neb/default.nix
index 04418dc64fc..f1e335133d7 100644
--- a/pkgs/applications/networking/instant-messengers/go-neb/default.nix
+++ b/pkgs/applications/networking/instant-messengers/go-neb/default.nix
@@ -1,20 +1,20 @@
-{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests, olm }:
 
 buildGoModule {
   pname = "go-neb";
-  version = "unstable-2020-04-09";
+  version = "unstable-2021-03-24";
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "go-neb";
-    rev = "1e297c50ad2938e511a3c86f4b190fd3fc3559d6";
-    sha256 = "1azwy4s4kmypps1fjbz76flpi1b7sjzjj4qwx94cry0hn3qfnrc6";
+    rev = "b6edd50d6e33de3bcdb35055fa6c5f0157f45321";
+    sha256 = "sha256-wFqkN4C0rWzWxa6+/LiHMMS8i/g3Q57f5z4cG2XZQzs=";
   };
 
   subPackages = [ "." ];
 
-  patches = [ ./go-mod.patch ];
+  buildInputs = [ olm ];
 
-  vendorSha256 = "1k3980yf6zl00dkd1djwhm2f9nnffzrsbs3kq3alpw2gm0aln739";
+  vendorSha256 = "sha256-sWrLWjODf25Z8QqCDg4KyVWmTc3PRiYpRL88yxK0j/M";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/instant-messengers/go-neb/go-mod.patch b/pkgs/applications/networking/instant-messengers/go-neb/go-mod.patch
deleted file mode 100644
index 1c725652d43..00000000000
--- a/pkgs/applications/networking/instant-messengers/go-neb/go-mod.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/go.mod b/go.mod
-index 8ed4e68..83526e7 100644
---- a/go.mod
-+++ b/go.mod
-@@ -4,24 +4,15 @@ go 1.14
- 
- require (
- 	github.com/PuerkitoBio/goquery v1.5.1 // indirect
--	github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
--	github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4 // indirect
- 	github.com/andygrunwald/go-jira v1.11.0
- 	github.com/beorn7/perks v1.0.1 // indirect
--	github.com/cespare/xxhash/v2 v2.1.1 // indirect
- 	github.com/dghubble/oauth1 v0.6.0
- 	github.com/die-net/lrucache v0.0.0-20190707192454-883874fe3947
--	github.com/go-kit/kit v0.9.0 // indirect
--	github.com/go-logfmt/logfmt v0.4.0 // indirect
--	github.com/go-stack/stack v1.8.0 // indirect
--	github.com/gogo/protobuf v1.1.1 // indirect
- 	github.com/golang/protobuf v1.3.2 // indirect
- 	github.com/google/go-cmp v0.4.0 // indirect
- 	github.com/google/go-github v2.0.1-0.20160719063544-b5e5babef39c+incompatible
- 	github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79
- 	github.com/jaytaylor/html2text v0.0.0-20200220170450-61d9dc4d7195
--	github.com/json-iterator/go v1.1.9 // indirect
--	github.com/julienschmidt/httprouter v1.2.0 // indirect
- 	github.com/kr/pretty v0.1.0 // indirect
- 	github.com/lib/pq v1.3.0
- 	github.com/matrix-org/dugong v0.0.0-20180820122854-51a565b5666b
-@@ -32,9 +23,6 @@ require (
- 	github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
- 	github.com/mmcdole/gofeed v1.0.0-beta2
- 	github.com/mmcdole/goxpp v0.0.0-20181012175147-0068e33feabf // indirect
--	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
--	github.com/modern-go/reflect2 v1.0.1 // indirect
--	github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223 // indirect
- 	github.com/olekukonko/tablewriter v0.0.4 // indirect
- 	github.com/pkg/errors v0.8.1 // indirect
- 	github.com/prometheus/client_golang v0.8.1-0.20160916180340-5636dc67ae77
-@@ -47,10 +35,7 @@ require (
- 	github.com/stretchr/testify v1.4.0 // indirect
- 	golang.org/x/net v0.0.0-20200301022130-244492dfa37a
- 	golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
--	golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e // indirect
- 	golang.org/x/sys v0.0.0-20200122134326-e047566fdf82 // indirect
--	golang.org/x/tools v0.0.0-20200311090712-aafaee8bce8c // indirect
--	gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect
- 	gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
- 	gopkg.in/yaml.v2 v2.2.8
- )
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 27bc38cf6c2..b932e699ac6 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
@@ -11,11 +11,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "jitsi-meet-electron";
-  version = "2.8.6";
+  version = "2.8.8";
 
   src = fetchurl {
     url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
-    sha256 = "sha256-kLX8SZERlyNVSvszkV/fkQh/Z/Z20PAPJ9eug2oKlqI=";
+    sha256 = "sha256-ORj0xSFzdyOVuybaDyTrawsVkJymKEHLbFxGUgzXNWY=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/kaidan/default.nix b/pkgs/applications/networking/instant-messengers/kaidan/default.nix
new file mode 100644
index 00000000000..74449ae705e
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/kaidan/default.nix
@@ -0,0 +1,62 @@
+{ mkDerivation
+, lib
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, pkg-config
+, qtquickcontrols2
+, qtmultimedia
+, qtlocation
+, qqc2-desktop-style
+, kirigami2
+, knotifications
+, zxing-cpp
+, qxmpp
+, gst_all_1
+}:
+
+mkDerivation rec {
+  pname = "kaidan";
+  version = "0.8.0";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "network";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "070njci5zyzahmz3nqyp660chxnqx1mxp31w17syfllvrw403qmg";
+  };
+
+  nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
+
+  buildInputs = with gst_all_1; [
+    qtquickcontrols2
+    qtmultimedia
+    qtlocation
+    qqc2-desktop-style
+    kirigami2
+    knotifications
+    zxing-cpp
+    qxmpp
+    gstreamer
+    gst-plugins-bad
+    gst-plugins-base
+    gst-plugins-good
+  ];
+  postInstall = ''
+    qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
+  '';
+
+  meta = with lib; {
+    description = "User-friendly and modern chat app, using XMPP";
+    homepage = "https://www.kaidan.im";
+    license = with licenses; [
+      gpl3Plus
+      mit
+      asl20
+      cc-by-sa-40
+    ];
+    maintainers = with maintainers; [ astro ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix b/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
index 87ffa16736e..4918a4d91f8 100644
--- a/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "kdeltachat";
-  version = "unstable-2021-06-06";
+  version = "unstable-2021-07-04";
 
   src = fetchFromSourcehut {
     owner = "~link2xt";
     repo = "kdeltachat";
-    rev = "321c19b7415e837acc4e66d535e82518618bc096";
-    sha256 = "19py9mxpjz09fhyyvxf75s77nq0jwwfiljq9289192p61grk6625";
+    rev = "5d3cddc47773b49d4a801d031c1de96c38617908";
+    sha256 = "1sah27pvdkilnyj41xf4awri9ya14gxayr99qksllz92ywd9lxad";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/mirage/default.nix b/pkgs/applications/networking/instant-messengers/mirage/default.nix
index 42ea1c52fa9..db30ede8a10 100644
--- a/pkgs/applications/networking/instant-messengers/mirage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mirage/default.nix
@@ -54,6 +54,5 @@ mkDerivation rec {
     maintainers = with maintainers; [ colemickens ];
     broken = stdenv.isDarwin;
     inherit (qtbase.meta) platforms;
-    inherit version;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/neochat/default.nix b/pkgs/applications/networking/instant-messengers/neochat/default.nix
index c0e0c80b459..b6706d64786 100644
--- a/pkgs/applications/networking/instant-messengers/neochat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/neochat/default.nix
@@ -3,56 +3,58 @@
 , fetchFromGitLab
 , pkg-config
 , cmake
-, qtquickcontrols2
-, qtmultimedia
-, qtgraphicaleffects
-, qtkeychain
-, libpulseaudio
-, olm
-, libsecret
 , cmark
 , extra-cmake-modules
+, kconfig
+, kdbusaddons
+, ki18n
 , kirigami2
 , kitemmodels
-, ki18n
 , knotifications
-, kdbusaddons
-, kconfig
-, libquotient
 , kquickimageedit
+, libpulseaudio
+, libquotient
+, libsecret
+, olm
+, qqc2-desktop-style
+, qtgraphicaleffects
+, qtkeychain
+, qtmultimedia
+, qtquickcontrols2
 }:
 
 mkDerivation rec {
   pname = "neochat";
-  version = "1.1.1";
+  version = "1.2";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "network";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HvLPsU+fxlyPDP7i9OSnZ/C1RjouOQCp+4WCl6FlFJo=";
+    sha256 = "sha256-Kpv7BY/qS0A3xFlYFhz1RRNwQVsyhOTHHGDbWRTTv1I=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
 
   buildInputs = [
-    qtkeychain
-    qtquickcontrols2
-    qtmultimedia
-    qtgraphicaleffects
-    olm
-    libsecret
     cmark
+    kconfig
+    kdbusaddons
+    ki18n
     kirigami2
     kitemmodels
-    ki18n
     knotifications
-    kdbusaddons
-    kconfig
-    libquotient
     kquickimageedit
     libpulseaudio
+    libquotient
+    libsecret
+    olm
+    qtgraphicaleffects
+    qtkeychain
+    qtmultimedia
+    qtquickcontrols2
+    qqc2-desktop-style
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/oysttyer/default.nix b/pkgs/applications/networking/instant-messengers/oysttyer/default.nix
index e3595e07a78..33f3b90873d 100644
--- a/pkgs/applications/networking/instant-messengers/oysttyer/default.nix
+++ b/pkgs/applications/networking/instant-messengers/oysttyer/default.nix
@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    inherit version;
     description = "Perl Console Twitter Client";
     homepage    = "http://oysttyer.github.io/";
     maintainers = with maintainers; [ woffs ];
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-mm-sms/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-mm-sms/default.nix
new file mode 100644
index 00000000000..3bdecf504ce
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-mm-sms/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, glibmm, pidgin, pkg-config, modemmanager, fetchFromGitLab } :
+
+stdenv.mkDerivation rec {
+  pname = "purple-mm-sms";
+  version = "0.1.7";
+
+  src = fetchFromGitLab {
+    domain = "source.puri.sm";
+    owner = "Librem5";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0917gjig35hmi6isqb62vhxd3lkc2nwdn13ym2gvzgcjfgjzjajr";
+  };
+
+  makeFlags = [
+    "DATA_ROOT_DIR_PURPLE=$(out)/share"
+    "PLUGIN_DIR_PURPLE=$(out)/lib/purple-2"
+  ];
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ glibmm pidgin modemmanager ];
+
+  meta = with lib; {
+    homepage = "https://source.puri.sm/Librem5/purple-mm-sms";
+    description = "A libpurple plugin for sending and receiving SMS via Modemmanager";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tomfitzhenry ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index dc5a8739760..b5bdef03db7 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -2,8 +2,9 @@
 , gtkspell2, aspell
 , gst_all_1, startupnotification, gettext
 , perlPackages, libxml2, nss, nspr, farstream
-, libXScrnSaver, ncurses, avahi, dbus, dbus-glib, intltool, libidn
-, lib, python, libICE, libXext, libSM
+, libXScrnSaver, avahi, dbus, dbus-glib, intltool, libidn
+, lib, python3, libICE, libXext, libSM
+, libgnt, ncurses
 , cyrus_sasl ? null
 , openssl ? null
 , gnutls ? null
@@ -16,28 +17,27 @@
 let unwrapped = stdenv.mkDerivation rec {
   pname = "pidgin";
   majorVersion = "2";
-  version = "${majorVersion}.13.0";
+  version = "${majorVersion}.14.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/pidgin/${pname}-${version}.tar.bz2";
-    sha256 = "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7";
+    sha256 = "bb45f7c032f9efd6922a5dbf2840995775e5584771b23992d04f6eff7dff5336";
   };
 
-  inherit nss ncurses;
-
   nativeBuildInputs = [ makeWrapper ];
 
   NIX_CFLAGS_COMPILE = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0";
 
   buildInputs = let
-    python-with-dbus = python.withPackages (pp: with pp; [ dbus-python ]);
+    python-with-dbus = python3.withPackages (pp: with pp; [ dbus-python ]);
   in [
     aspell startupnotification
     gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
     libxml2 nss nspr
-    libXScrnSaver ncurses python-with-dbus
+    libXScrnSaver python-with-dbus
     avahi dbus dbus-glib intltool libidn
     libICE libXext libSM cyrus_sasl
+    libgnt ncurses # optional: build finch - the console UI
   ]
   ++ (lib.optional (openssl != null) openssl)
   ++ (lib.optional (gnutls != null) gnutls)
@@ -62,6 +62,7 @@ let unwrapped = stdenv.mkDerivation rec {
     "--disable-meanwhile"
     "--disable-nm"
     "--disable-tcl"
+    "--disable-gevolution"
   ]
   ++ (lib.optionals (cyrus_sasl != null) [ "--enable-cyrus-sasl=yes" ])
   ++ (lib.optionals (gnutls != null) ["--enable-gnutls=yes" "--enable-nss=no"])
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index 03f8f7b961a..01a8a71f032 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -1,38 +1,103 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake
-, qtbase, qtmultimedia, qtx11extras, qttools, qtwebengine
-, libidn, qca-qt5, libXScrnSaver, hunspell
-, libsecret, libgcrypt, libotr, html-tidy, libgpgerror, libsignal-protocol-c
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, qtbase
+, qtmultimedia
+, qtx11extras
+, qttools
+, libidn
+, qca-qt5
+, libXScrnSaver
+, hunspell
+, libsecret
+, libgcrypt
+, libotr
+, html-tidy
+, libgpgerror
+, libsignal-protocol-c
 , usrsctp
+
+, chatType ? "basic" # See the assertion below for available options
+, qtwebkit
+, qtwebengine
+
+, enablePlugins ? true
+
+  # Voice messages
+, voiceMessagesSupport ? true
+, gst_all_1
+
+, enablePsiMedia ? false
+, pkg-config
 }:
 
+assert builtins.elem (lib.toLower chatType) [
+  "basic" # Basic implementation, no web stuff involved
+  "webkit" # Legacy one, based on WebKit (see https://wiki.qt.io/Qt_WebKit)
+  "webengine" # QtWebEngine (see https://wiki.qt.io/QtWebEngine)
+];
+
+assert enablePsiMedia -> enablePlugins;
+
 mkDerivation rec {
   pname = "psi-plus";
-  version = "1.5.1520";
+  version = "1.5.1549";
 
   src = fetchFromGitHub {
     owner = "psi-plus";
     repo = "psi-plus-snapshots";
     rev = version;
-    sha256 = "0cj811qv0n8xck2qrnps2ybzrpvyjqz7nxkyccpaivq6zxj6mc12";
+    sha256 = "0jpv6qzfg6xjwkrnci7fav27nxm174i9l5g4vmsbchqpwfk90z2m";
   };
 
   cmakeFlags = [
-    "-DENABLE_PLUGINS=ON"
+    "-DCHAT_TYPE=${chatType}"
+    "-DENABLE_PLUGINS=${if enablePlugins then "ON" else "OFF"}"
+    "-DBUILD_PSIMEDIA=${if enablePsiMedia then "ON" else "OFF"}"
   ];
 
-  nativeBuildInputs = [ cmake qttools ];
+  nativeBuildInputs = [
+    cmake
+    qttools
+  ] ++ lib.optionals enablePsiMedia [
+    pkg-config
+  ];
 
   buildInputs = [
-    qtbase qtmultimedia qtx11extras qtwebengine
-    libidn qca-qt5 libXScrnSaver hunspell
-    libsecret libgcrypt libotr html-tidy libgpgerror libsignal-protocol-c
+    qtbase
+    qtmultimedia
+    qtx11extras
+    libidn
+    qca-qt5
+    libXScrnSaver
+    hunspell
+    libsecret
+    libgcrypt
+    libotr
+    html-tidy
+    libgpgerror
+    libsignal-protocol-c
     usrsctp
+  ] ++ lib.optionals voiceMessagesSupport [
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+  ] ++ lib.optionals (chatType == "webkit") [
+    qtwebkit
+  ] ++ lib.optionals (chatType == "webengine") [
+    qtwebengine
   ];
 
+  preFixup = lib.optionalString voiceMessagesSupport ''
+    qtWrapperArgs+=(
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+    )
+  '';
+
   meta = with lib; {
     homepage = "https://psi-plus.com";
     description = "XMPP (Jabber) client";
-    maintainers = with maintainers; [ orivej misuzu ];
+    maintainers = with maintainers; [ orivej misuzu unclechu ];
     license = licenses.gpl2Only;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index f918cbdc2b8..31b37fc2dfb 100644
--- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -42,6 +42,5 @@ mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
     inherit (qtbase.meta) platforms;
-    inherit version;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix b/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix
index 8277028ac7b..a8e711c447d 100644
--- a/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix
+++ b/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix
@@ -55,7 +55,7 @@ in {
       sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml";
     };
 
-    propagatedBuildInputs = with pythonPackages; [twisted dateutil];
+    propagatedBuildInputs = with pythonPackages; [twisted python-dateutil];
 
     meta = with lib; {
       description = "Some (mainly XMPP-related) additions to twisted";
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 616a0857102..daf1c476e67 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -28,7 +28,7 @@ let
       else "");
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.4.1"; # Please backport all updates to the stable channel.
+  version = "5.9.0"; # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "1f1narpqj8gcyi4r574nqm1cbyi3azk1y7d1j300scr51gk74fq6";
+    sha256 = "1pmyi9b0b5h6mi6dwml41x4igy8rfpsv6j67izh78m5gla8wp34h";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index 13778355211..39cff6de85d 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , dpkg
 , undmg
@@ -19,6 +20,7 @@
 , glib
 , gnome2
 , gtk3
+, libGL
 , libappindicator-gtk3
 , libdrm
 , libnotify
@@ -42,29 +44,31 @@ let
 
   pname = "slack";
 
-  x86_64-darwin-version = "4.16.0";
-  x86_64-darwin-sha256 = "078f49sgazfa99vn0yyacfya3jl2vhqz7kgxh0qp56b66pnzwbxz";
+  x86_64-darwin-version = "4.17.0";
+  x86_64-darwin-sha256 = "0r5cafxw73qnn14ljprn7w8bfn67zbkcniq60k9pf2zbqgb4cyj9";
 
-  x86_64-linux-version = "4.16.0";
-  x86_64-linux-sha256 = "0dj5k7r044mibis0zymh6wryhbw2fzsch30nddfrnn6ij89hhirv";
+  x86_64-linux-version = "4.17.0";
+  x86_64-linux-sha256 = "07ccms58pq27ilkyhcf6cgwb7qrddwil5kgy8yv95ljikqzi5rxi";
 
   version = {
     x86_64-darwin = x86_64-darwin-version;
     x86_64-linux = x86_64-linux-version;
   }.${system} or throwSystem;
 
-  src = let
-    base = "https://downloads.slack-edge.com";
-  in {
-    x86_64-darwin = fetchurl {
-      url = "${base}/releases/macos/${version}/prod/x64/Slack-${version}-macOS.dmg";
-      sha256 = x86_64-darwin-sha256;
-    };
-    x86_64-linux = fetchurl {
-      url = "${base}/linux_releases/slack-desktop-${version}-amd64.deb";
-      sha256 = x86_64-linux-sha256;
-    };
-  }.${system} or throwSystem;
+  src =
+    let
+      base = "https://downloads.slack-edge.com";
+    in
+      {
+        x86_64-darwin = fetchurl {
+          url = "${base}/releases/macos/${version}/prod/x64/Slack-${version}-macOS.dmg";
+          sha256 = x86_64-darwin-sha256;
+        };
+        x86_64-linux = fetchurl {
+          url = "${base}/linux_releases/slack-desktop-${version}-amd64.deb";
+          sha256 = x86_64-linux-sha256;
+        };
+      }.${system} or throwSystem;
 
   meta = with lib; {
     description = "Desktop client for Slack";
@@ -95,6 +99,7 @@ let
       glib
       gnome2.GConf
       gtk3
+      libGL
       libappindicator-gtk3
       libdrm
       libnotify
@@ -118,13 +123,13 @@ let
       xorg.libXi
       xorg.libXrandr
       xorg.libXrender
-      xorg.libxshmfence
       xorg.libXtst
       xorg.libxkbfile
+      xorg.libxshmfence
     ] + ":${stdenv.cc.cc.lib}/lib64";
 
     buildInputs = [
-      gtk3  # needed for GSETTINGS_SCHEMAS_PATH
+      gtk3 # needed for GSETTINGS_SCHEMAS_PATH
     ];
 
     nativeBuildInputs = [ dpkg makeWrapper nodePackages.asar ];
@@ -153,7 +158,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 : ${lib.makeBinPath [xdg-utils]}
 
       # Fix the desktop link
       substituteInPlace $out/share/applications/slack.desktop \
@@ -177,6 +182,7 @@ let
       /usr/bin/defaults write com.tinyspeck.slackmacgap SlackNoAutoUpdates -bool YES
     '';
   };
-in if stdenv.isDarwin
-  then darwin
-  else linux
+in
+if stdenv.isDarwin
+then darwin
+else linux
diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix
index db8d4472b07..1267340c098 100644
--- a/pkgs/applications/networking/instant-messengers/teams/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -12,7 +12,9 @@
 , coreutils
 , gawk
 , xdg-utils
-, systemd }:
+, systemd
+, nodePackages
+, enableRectOverlay ? false }:
 
 stdenv.mkDerivation rec {
   pname = "teams";
@@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
     sha256 = "1kx4j837fd344zy90nl0j3r8cdvihy6i6gf56wd5n56zngx1fhjv";
   };
 
-  nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook ];
+  nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook nodePackages.asar ];
 
   unpackCmd = "dpkg -x $curSrc .";
 
@@ -39,11 +41,27 @@ stdenv.mkDerivation rec {
   ];
 
   preFixup = ''
-    gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin:${xdg-utils}/bin")
+    gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin")
     gappsWrapperArgs+=(--add-flags --disable-namespace-sandbox)
     gappsWrapperArgs+=(--add-flags --disable-setuid-sandbox)
   '';
 
+
+  buildPhase = ''
+    runHook preBuild
+
+    asar extract share/teams/resources/app.asar "$TMP/work"
+    substituteInPlace $TMP/work/main.bundle.js \
+        --replace "/usr/share/pixmaps/" "$out/share/pixmaps" \
+        --replace "/usr/bin/xdg-mime" "${xdg-utils}/bin/xdg-mime" \
+        --replace "Exec=/usr/bin/" "Exec=" # Remove usage of absolute path in autostart.
+    asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" share/teams/resources/app.asar
+
+    runHook postBuild
+  '';
+
+  preferLocalBuild = true;
+
   installPhase = ''
     runHook preInstall
 
@@ -57,9 +75,11 @@ stdenv.mkDerivation rec {
 
     ln -s $out/opt/teams/teams $out/bin/
 
+    ${lib.optionalString (!enableRectOverlay) ''
     # Work-around screen sharing bug
     # https://docs.microsoft.com/en-us/answers/questions/42095/sharing-screen-not-working-anymore-bug.html
     rm $out/opt/teams/resources/app.asar.unpacked/node_modules/slimcore/bin/rect-overlay
+    ''}
 
     runHook postInstall
   '';
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
index daa97b68217..44430ef62e2 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
@@ -4,13 +4,13 @@ let
   arch = if stdenv.is64bit then "amd64" else "x86";
 in stdenv.mkDerivation rec {
   pname = "teamspeak-server";
-  version = "3.13.5";
+  version = "3.13.6";
 
   src = fetchurl {
     url = "https://files.teamspeak-services.com/releases/server/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2";
     sha256 = if stdenv.is64bit
-      then "sha256-2tSX/ET2lZsi0mVB3KnbnBXMSTRsneGUA8w6mZ6TmlY="
-      else "sha256-RdxG4nGXTTSY+P5oZu4uP5l7gKcU9C6uIILyNldSK50=";
+      then "sha256-U3BNJ4Jjhd39gD7iMsHT8CGtm/GFQDE2kYQa2btyK+w="
+      else "sha256-8UKiFedv6w5bmqNvo3AXwQnUROwbZnU0ZTh9V17zmxQ=";
   };
 
   buildInputs = [ stdenv.cc.cc postgresql.lib ];
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 02330d11078..d9f9cd91a52 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
@@ -11,7 +11,7 @@
 with lib;
 
 let
-  tg_owt = callPackage ../tdesktop/tg_owt.nix {};
+  tg_owt = callPackage ./tg_owt.nix {};
 in mkDerivation rec {
   pname = "kotatogram-desktop";
   version = "1.4.1";
diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
new file mode 100644
index 00000000000..614183b72d0
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
@@ -0,0 +1,36 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, ninja, yasm
+, libjpeg, openssl, libopus, ffmpeg, alsa-lib, libpulseaudio, protobuf
+, xorg, libXtst
+}:
+
+let
+  rev = "2d804d2c9c5d05324c8ab22f2e6ff8306521b3c3";
+  sha256 = "0kz0i381iwsgcc3yzsq7njx3gkqja4bb9fsgc24vhg0md540qhyn";
+
+in stdenv.mkDerivation {
+  pname = "tg_owt";
+  version = "git-${rev}";
+
+  src = fetchFromGitHub {
+    owner = "desktop-app";
+    repo = "tg_owt";
+    inherit rev sha256;
+    fetchSubmodules = true;
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ pkg-config cmake ninja yasm ];
+
+  buildInputs = [
+    libjpeg openssl libopus ffmpeg alsa-lib libpulseaudio protobuf
+    xorg.libX11 libXtst
+  ];
+
+  cmakeFlags = [
+    # Building as a shared library isn't officially supported and currently broken:
+    "-DBUILD_SHARED_LIBS=OFF"
+  ];
+
+  meta.license = lib.licenses.bsd3;
+}
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index acdf4e660c7..47aa7c7330f 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,8 +1,9 @@
-{ mkDerivation, lib, fetchurl, fetchpatch, callPackage
+{ mkDerivation, lib, fetchFromGitHub, callPackage
 , pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook, removeReferencesTo
-, qtbase, qtimageformats, gtk3, libsForQt5, enchant2, lz4, xxHash
-, dee, ffmpeg, openalSoft, minizip, libopus, alsa-lib, libpulseaudio, range-v3
-, tl-expected, hunspell, glibmm, webkitgtk, libtgvoip
+, qtbase, qtimageformats, gtk3, libsForQt5, lz4, xxHash
+, ffmpeg, openalSoft, minizip, libopus, alsa-lib, libpulseaudio, range-v3
+, tl-expected, hunspell, glibmm, webkitgtk
+, libtgvoip, rnnoise, abseil-cpp, extra-cmake-modules
 # Transitive dependencies:
 , pcre, xorg, util-linux, libselinux, libsepol, epoxy
 , at-spi2-core, libXtst, libthai, libdatrie
@@ -22,29 +23,19 @@ let
   tg_owt = callPackage ./tg_owt.nix {};
 in mkDerivation rec {
   pname = "telegram-desktop";
-  version = "2.7.5";
+  version = "2.8.4";
+  # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
 
   # Telegram-Desktop with submodules
-  src = fetchurl {
-    url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
-    sha256 = "sha256-9GxBw5ii9Musjq7D3KMf/P5BA4h690EgXRbhynHwO98=";
+  src = fetchFromGitHub {
+    owner = "telegramdesktop";
+    repo = "tdesktop";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "sha256-IN3GQgdNM66/GxKa5EGKB/LIkgBxS8Y4mkPBaSEphmw=";
   };
 
-  patches = [
-    # fixes issue with ffmpeg>=4.4 crashes, hasn't been upstreamed yet
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/gentoo/gentoo/1c91884873968997be4b0c954169d04dc839f1db/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-crash.patch";
-      sha256 = "sha256-inLXcP70yJlkkmdeXlc3HRL7Vt+Sf00LLJG33gwBKdY=";
-    })
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/gentoo/gentoo/1c91884873968997be4b0c954169d04dc839f1db/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-ffmpeg44.patch";
-      sha256 = "sha256-p57LipNf7BDhVvNKRuicVqx0vU6IBL/Cvr5BAfLF4Hs=";
-    })
-  ];
-
   postPatch = ''
-    substituteInPlace Telegram/lib_spellcheck/spellcheck/platform/linux/linux_enchant.cpp \
-      --replace '"libenchant-2.so.2"' '"${enchant2}/lib/libenchant-2.so.2"'
     substituteInPlace Telegram/CMakeLists.txt \
       --replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"'
   '';
@@ -56,10 +47,11 @@ in mkDerivation rec {
   nativeBuildInputs = [ pkg-config cmake ninja python3 wrapGAppsHook wrapQtAppsHook removeReferencesTo ];
 
   buildInputs = [
-    qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu enchant2 lz4 xxHash
-    dee ffmpeg openalSoft minizip libopus alsa-lib libpulseaudio range-v3
+    qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu lz4 xxHash
+    ffmpeg openalSoft minizip libopus alsa-lib libpulseaudio range-v3
     tl-expected hunspell glibmm webkitgtk
-    tg_owt libtgvoip
+    libtgvoip rnnoise abseil-cpp extra-cmake-modules
+    tg_owt
     # Transitive dependencies:
     pcre xorg.libpthreadstubs xorg.libXdmcp util-linux libselinux libsepol epoxy
     at-spi2-core libXtst libthai libdatrie libsysprof-capture libpsl brotli
@@ -104,6 +96,7 @@ in mkDerivation rec {
 
   passthru = {
     inherit tg_owt;
+    updateScript = ./update.py;
   };
 
   meta = {
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 614183b72d0..46076bca68c 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
@@ -1,20 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, ninja, yasm
+{ lib, stdenv, fetchFromGitHub, fetchpatch
+, pkg-config, cmake, ninja, yasm
 , libjpeg, openssl, libopus, ffmpeg, alsa-lib, libpulseaudio, protobuf
-, xorg, libXtst
+, xorg, libXtst, libXcomposite, libXdamage, libXext, libXrender, libXrandr
+, glib, abseil-cpp, pcre, util-linuxMinimal, libselinux, libsepol, pipewire
+, libXi
 }:
 
-let
-  rev = "2d804d2c9c5d05324c8ab22f2e6ff8306521b3c3";
-  sha256 = "0kz0i381iwsgcc3yzsq7njx3gkqja4bb9fsgc24vhg0md540qhyn";
-
-in stdenv.mkDerivation {
+stdenv.mkDerivation {
   pname = "tg_owt";
-  version = "git-${rev}";
+  version = "unstable-2021-06-27";
 
   src = fetchFromGitHub {
     owner = "desktop-app";
     repo = "tg_owt";
-    inherit rev sha256;
+    rev = "91d836dc84a16584c6ac52b36c04c0de504d9c34";
+    sha256 = "1ir4svv5mijpzr0rmx65088iikck83vhcdqrpf9dnk6yp4j9v4v2";
     fetchSubmodules = true;
   };
 
@@ -24,7 +24,9 @@ in stdenv.mkDerivation {
 
   buildInputs = [
     libjpeg openssl libopus ffmpeg alsa-lib libpulseaudio protobuf
-    xorg.libX11 libXtst
+    xorg.libX11 libXtst libXcomposite libXdamage libXext libXrender libXrandr
+    glib abseil-cpp pcre util-linuxMinimal libselinux libsepol pipewire
+    libXi
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
new file mode 100755
index 00000000000..8f39533e298
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
@@ -0,0 +1,77 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i python3 -p python3 nix nix-prefetch-git
+
+import fileinput
+import json
+import os
+import re
+import subprocess
+
+from datetime import datetime
+from urllib.request import urlopen, Request
+
+
+DIR = os.path.dirname(os.path.abspath(__file__))
+HEADERS = {'Accept': 'application/vnd.github.v3+json'}
+
+
+def github_api_request(endpoint):
+    base_url = 'https://api.github.com/'
+    request = Request(base_url + endpoint, headers=HEADERS)
+    with urlopen(request) as http_response:
+        return json.loads(http_response.read().decode('utf-8'))
+
+
+def get_commit_date(repo, sha):
+    url = f'https://api.github.com/repos/{repo}/commits/{sha}'
+    request = Request(url, headers=HEADERS)
+    with urlopen(request) as http_response:
+        commit = json.loads(http_response.read().decode())
+        date = commit['commit']['committer']['date'].rstrip('Z')
+        date = datetime.fromisoformat(date).date().isoformat()
+        return 'unstable-' + date
+
+
+def nix_prefetch_git(url, rev):
+    """Prefetches the requested Git revision (incl. submodules) of the given repository URL."""
+    print(f'nix-prefetch-git {url} {rev}')
+    out = subprocess.check_output(['nix-prefetch-git', '--quiet', '--url', url, '--rev', rev, '--fetch-submodules'])
+    return json.loads(out)['sha256']
+
+
+def nix_prefetch_url(url, unpack=False):
+    """Prefetches the content of the given URL."""
+    print(f'nix-prefetch-url {url}')
+    options = ['--type', 'sha256']
+    if unpack:
+        options += ['--unpack']
+    out = subprocess.check_output(['nix-prefetch-url'] + options + [url])
+    return out.decode('utf-8').rstrip()
+
+
+def update_file(relpath, version, sha256, rev=None):
+    file_path = os.path.join(DIR, relpath)
+    with fileinput.FileInput(file_path, inplace=True) as f:
+        for line in f:
+            result = line
+            result = re.sub(r'^  version = ".+";', f'  version = "{version}";', result)
+            result = re.sub(r'^    sha256 = ".+";', f'    sha256 = "{sha256}";', result)
+            if rev:
+                result = re.sub(r'^    rev = ".*";', f'    rev = "{rev}";', result)
+            print(result, end='')
+
+
+if __name__ == "__main__":
+    tdesktop_tag = github_api_request('repos/telegramdesktop/tdesktop/releases/latest')['tag_name']
+    tdesktop_version = tdesktop_tag.lstrip('v')
+    tdesktop_hash = nix_prefetch_git('https://github.com/telegramdesktop/tdesktop.git', tdesktop_tag)
+    update_file('default.nix', tdesktop_version, tdesktop_hash)
+    tg_owt_ref = github_api_request('repos/desktop-app/tg_owt/commits/master')['sha']
+    tg_owt_version = get_commit_date('desktop-app/tg_owt', tg_owt_ref)
+    tg_owt_hash = nix_prefetch_git('https://github.com/desktop-app/tg_owt.git', tg_owt_ref)
+    update_file('tg_owt.nix', tg_owt_version, tg_owt_hash, tg_owt_ref)
+    tg_owt_ref = github_api_request('repos/desktop-app/tg_owt/commits/master')['sha']
+    libtgvoip_ref = github_api_request(f'repos/telegramdesktop/tdesktop/contents/Telegram/ThirdParty/libtgvoip?ref={tdesktop_tag}')['sha']
+    libtgvoip_version = get_commit_date('telegramdesktop/libtgvoip', libtgvoip_ref)
+    libtgvoip_hash = nix_prefetch_url(f'https://github.com/telegramdesktop/libtgvoip/archive/{libtgvoip_ref}.tar.gz', unpack=True)
+    update_file('../../../../../development/libraries/libtgvoip/default.nix', libtgvoip_version, libtgvoip_hash, libtgvoip_ref)
diff --git a/pkgs/applications/networking/instant-messengers/tensor/default.nix b/pkgs/applications/networking/instant-messengers/tensor/default.nix
index 3969627a67a..5bbdc6460c6 100644
--- a/pkgs/applications/networking/instant-messengers/tensor/default.nix
+++ b/pkgs/applications/networking/instant-messengers/tensor/default.nix
@@ -60,6 +60,5 @@ mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
     inherit (qtbase.meta) platforms;
-    inherit version;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/vk-cli/default.nix b/pkgs/applications/networking/instant-messengers/vk-cli/default.nix
new file mode 100644
index 00000000000..e1b3cc4f775
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/vk-cli/default.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, lib
+, fetchurl
+, curl
+, zulip
+, p7zip
+, glibc
+, ncurses
+, openssl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "vk-cli";
+  version = "0.7.6";
+
+  src = fetchurl {
+    url = "https://github.com/vk-cli/vk/releases/download/${version}/vk-${version}-64-bin.7z";
+    sha256 = "sha256-Y40oLjddunrd7ZF1JbCcgjSCn8jFTubq69jhAVxInXw=";
+  };
+
+  nativeBuildInputs = [
+    p7zip
+  ];
+
+  buildInputs = [
+    curl
+    ncurses
+    openssl
+  ];
+
+  unpackPhase = ''
+    mkdir -p $TMP/
+    7z x $src -o$TMP/
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin/
+    mv $TMP/vk-${version}-64-bin vk-cli
+    install -D vk-cli --target-directory=$out/bin/
+  '';
+
+  postFixup = ''
+    patchelf $out/bin/vk-cli \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${lib.makeLibraryPath [ curl zulip glibc ]}"
+  '';
+
+  meta = with lib; {
+    description = "A console (ncurses) client for vk.com written in D";
+    homepage = "https://github.com/vk-cli/vk";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index 3a22ea0681e..fc8fbdcede3 100644
--- a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
@@ -22,13 +22,13 @@ let
   pname = "wire-desktop";
 
   version = {
-    x86_64-darwin = "3.25.4095";
-    x86_64-linux = "3.25.2940";
+    x86_64-darwin = "3.26.4145";
+    x86_64-linux = "3.26.2941";
   }.${system} or throwSystem;
 
   sha256 = {
-    x86_64-darwin = "01gbmbxs3w7lwsy5wjpr7fgqkb20rj5fv1r3dsmjkfwy45pd835j";
-    x86_64-linux = "1vb2fy8hijjp0193d32d8hw7h00w6wympf3zc96skk8hz3ks6xz8";
+    x86_64-darwin = "1ck74a9z2mrwmljrqm347bqhjiaf1v0bf1jfnp58cqngh5ygqnf2";
+    x86_64-linux = "01gy84gr0gw5ap7hpy72azaf6hlzac7vxkn5cgad5sfbyzxgjgc9";
   }.${system} or throwSystem;
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 16846580714..78cfa89e6d4 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -29,11 +29,11 @@
 assert pulseaudioSupport -> libpulseaudio != null;
 
 let
-  version = "5.6.22045.0607";
+  version = "5.7.26030.0627";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
-      sha256 = "0zdk02zq9apxnfbxwnlda9z8nqkqa1h1javbh9wwj8yy3y3a1lb5";
+      sha256 = "1nooaafH+ajRtdrknXmFPclC4fJMpRTo+gBsaPHYfT0=";
     };
   };
 
diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index 1b648108e78..e96602a54c5 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.8.0";
+  version = "0.9.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 = "sha256-uK3+Ekr5AM6mmGmjFSj1Rotm5pbH657BYUlP9B39WEw=";
+    sha256 = "sha256:1fyffnw1d860w7gwm6ijbgrh68297z5bmvww8yqfshm3xgvcs6bf";
   };
 
   # tarball contains multiple files/directories
diff --git a/pkgs/applications/networking/irc/convos/default.nix b/pkgs/applications/networking/irc/convos/default.nix
index ba1837ee96f..8ff5c50b8a7 100644
--- a/pkgs/applications/networking/irc/convos/default.nix
+++ b/pkgs/applications/networking/irc/convos/default.nix
@@ -6,13 +6,13 @@ with lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "convos";
-  version = "6.11";
+  version = "6.24";
 
   src = fetchFromGitHub {
     owner = "convos-chat";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19nzm7f3glvj34nj9pvnp0h9xx6baq58c11ddkqfmq7w3sci49hi";
+    sha256 = "0hrz74fybypkjf9hraknylxrhnz7bhk00pk6wla2wfg8s2798zlx";
   };
 
   nativeBuildInputs = [ makeWrapper ]
diff --git a/pkgs/applications/networking/irc/kirc/default.nix b/pkgs/applications/networking/irc/kirc/default.nix
new file mode 100644
index 00000000000..c4f63613fc5
--- /dev/null
+++ b/pkgs/applications/networking/irc/kirc/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "kirc";
+  version = "0.2.7";
+
+  src = fetchFromGitHub {
+    owner = "mcpcpc";
+    repo = pname;
+    rev = version;
+    hash = "sha256-iaqj4xB15DB3w/RaiCOMdAu8eONhTw1Dz0j5kykAHV4=";
+  };
+
+  dontConfigure = true;
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  meta = with lib; {
+    homepage = "http://kirc.io/";
+    description = "Tiny IRC client written in C99";
+    longDescription = ''
+      kirc is a tiny open-source Internet Relay Chat (IRC) client designed with
+      usability and cross-platform compatibility in mind.
+
+      It features:
+      - No dependencies other than a C99 compiler.
+      - Simple Authentication and Security Layer (SASL) procotol support.
+      - Client-to-client (CTCP) protocol support.
+      - Transport Layer Security (TLS) protocol support (via external
+        utilities).
+      - Simple chat history logging.
+      - Asynchronous message handling.
+      - Multi-channel joining at server connection.
+      - Full support for all RFC 2812 commands.
+      - Easy customized color scheme definition.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index ac6be7c9791..69fca696d4d 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -10,6 +10,7 @@
 , rubySupport ? true, ruby
 , tclSupport ? true, tcl
 , extraBuildInputs ? []
+, fetchpatch
 }:
 
 let
@@ -37,6 +38,15 @@ let
         sha256 = "0pck4lczkk52mgwa1n0habp1xqi9xsgsh5q6bbsjmdbandvy5vc8";
       };
 
+      patches = [
+        # weechat 3.2 fails to build on Darwin, but is fixed for the next release:
+        (fetchpatch {
+          url = "https://github.com/weechat/weechat/commit/0b7e4977bef763993e361c23db0f52117b799949.patch";
+          sha256 = "eVdrhr4mrqv+OkqYOv1E7mUkmzd5NC3LmZhbXJnCpFg=";
+          excludes = [ "ChangeLog.adoc" ];
+        })
+      ];
+
       outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
 
       cmakeFlags = with lib; [
diff --git a/pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix b/pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix
new file mode 100644
index 00000000000..a2e9fc3265a
--- /dev/null
+++ b/pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchurl, weechat }:
+
+stdenv.mkDerivation {
+  pname = "buffer_autoset";
+  version = "1.2";
+
+  src = fetchurl {
+    url = "https://raw.githubusercontent.com/weechat/scripts/2b308b44df39ba6563d02b2bcd40c384ec2777dc/python/buffer_autoset.py";
+    sha256 = "0csl3sfpijdbq1j6wabx347lvn91a24a2jfx5b5pspfxz7gixli1";
+  };
+
+  dontUnpack = true;
+
+  passthru.scripts = [ "buffer_autoset.py" ];
+
+  installPhase = ''
+    install -D $src $out/share/buffer_autoset.py
+  '';
+
+  meta = with lib; {
+    inherit (weechat.meta) platforms;
+    description = "buffer_autoset.py is a weechat script which auto-set buffer properties when a buffer is opened.";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ govanify ];
+  };
+}
diff --git a/pkgs/applications/networking/irc/weechat/scripts/default.nix b/pkgs/applications/networking/irc/weechat/scripts/default.nix
index 1042c2d1dee..4b5d9e83334 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/default.nix
@@ -20,4 +20,10 @@
   weechat-autosort = callPackage ./weechat-autosort { };
 
   weechat-otr = callPackage ./weechat-otr { };
+
+  weechat-go = callPackage ./weechat-go { };
+
+  buffer_autoset = callPackage ./buffer_autoset { };
+
+  highmon = callPackage ./highmon { };
 }
diff --git a/pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix b/pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix
new file mode 100644
index 00000000000..f6532246570
--- /dev/null
+++ b/pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchurl, weechat }:
+
+stdenv.mkDerivation {
+  pname = "highmon";
+  version = "2.7";
+
+  src = fetchurl {
+    url = "https://raw.githubusercontent.com/KenjiE20/highmon/182e67d070c75efc81999e68c2ac7fdfe44d2872/highmon.pl";
+    sha256 = "1vvgzscb12l3cp2nq954fx6j3awvpjsb0nqylal51ps9cq9a3wir";
+  };
+
+  dontUnpack = true;
+
+  passthru.scripts = [ "highmon.pl" ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D $src $out/share/highmon.pl
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    inherit (weechat.meta) platforms;
+    homepage = "https://github.com/KenjiE20/highmon/";
+    description = "highmon.pl is a weechat script that adds 'Highlight Monitor'.";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ govanify ];
+  };
+}
diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix
index 698ee80edf6..aebe906659e 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
       env = "${buildEnv {
         name = "wee-slack-env";
         paths = with python3Packages; [
-          websocket_client
+          websocket-client
           six
         ];
       }}/${python3Packages.python.sitePackages}";
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix
new file mode 100644
index 00000000000..623b2570b47
--- /dev/null
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchurl, weechat }:
+
+stdenv.mkDerivation {
+  pname = "weechat-go";
+  version = "2.7";
+
+  src = fetchurl {
+    url = "https://github.com/weechat/scripts/raw/414cff3ee605ba204b607742430a21443c035b08/python/go.py";
+    sha256 = "0bnbfpj1qg4yzwbikh1aw5ajc8l44lkb0y0m6mz8grpf5bxk5cwm";
+  };
+
+  dontUnpack = true;
+
+  passthru.scripts = [ "go.py" ];
+
+  installPhase = ''
+    install -D $src $out/share/go.py
+  '';
+
+  meta = with lib; {
+    inherit (weechat.meta) platforms;
+    description = "go.py is a weechat script to quickly jump to different buffers";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ govanify ];
+  };
+}
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
index c82fb9ca739..a900a469e03 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
@@ -21,7 +21,7 @@ let
     python_magic
   ]);
 
-  version = "0.2.0";
+  version = "0.3.0";
 in buildPythonPackage {
   pname = "weechat-matrix";
   inherit version;
@@ -30,7 +30,7 @@ in buildPythonPackage {
     owner = "poljar";
     repo = "weechat-matrix";
     rev = version;
-    hash = "sha256-qsTdF9mGHac4rPs53mgoOElcujicRNXbJ7GsoptWSGc=";
+    hash = "sha256-o4kgneszVLENG167nWnk2FxM+PsMzi+PSyMUMIktZcc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/networking/juju/default.nix b/pkgs/applications/networking/juju/default.nix
new file mode 100644
index 00000000000..a91255f54e3
--- /dev/null
+++ b/pkgs/applications/networking/juju/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "juju";
+  version = "2.9.5";
+
+  src = fetchFromGitHub {
+    owner = "juju";
+    repo = "juju";
+    rev = "juju-${version}";
+    sha256 = "sha256-oBwusx63a8AWNHqlNtG0S/SiIRM55fbc/CGN2MFJDYA=";
+  };
+
+  vendorSha256 = "sha256-VHUDqDsfY0c6r5sJbMX7JcXTIBXze9cd5qHqZWZAC2g=";
+
+  # Disable tests because it attempts to use a mongodb instance
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Open source modelling tool for operating software in the cloud";
+    homepage = "https://juju.is";
+    license = licenses.mit;
+    maintainers = with maintainers; [ citadelcore ];
+  };
+}
diff --git a/pkgs/applications/networking/maestral-qt/default.nix b/pkgs/applications/networking/maestral-qt/default.nix
index 69d3bde42e8..18189f64a6d 100644
--- a/pkgs/applications/networking/maestral-qt/default.nix
+++ b/pkgs/applications/networking/maestral-qt/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "maestral-qt";
-  version = "1.4.3";
+  version = "1.4.6";
   disabled = python3.pkgs.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral-qt";
     rev = "v${version}";
-    sha256 = "sha256-+eBwBZx+kp2ACbFjtYK6ux9lcPmEQsunvxAAZ2HgAYw=";
+    sha256 = "sha256-Y4n67LJyNUsLmGMu7B73n888qmCQ9HjxCSM1MlfTbqQ=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -45,6 +45,6 @@ python3.pkgs.buildPythonApplication rec {
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.linux;
-    inherit (src.meta) homepage;
+    homepage = "https://maestral.app";
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
index e28680c245f..5090b1fd027 100644
--- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, lib, fetchgit, wrapGAppsHook, autoreconfHook, bison, flex
+{ stdenv, lib, fetchgit, fetchpatch, 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
+# Selector between the GTK+ 3 and GTK+ 2 releases.
+, useGtk3
 
 # Package compatibility: old parameters whose name were not directly derived
 , enablePgp ? true
@@ -57,16 +57,15 @@
 with lib;
 
 let
-  version = if useGtk3 then "3.99.0" else "3.17.8";
+  # Last release and hash for both the GTK+ 3 and GTK+ 2 version.
+  version = if useGtk3 then "4.0.0" else "3.18.0";
 
-  # The official release uses gtk2 and contains the version tag.
   gtk2src = {
-    sha256 = "0l4f8q11iyj8pi120lrapgq51k5j64xf0jlczkzbm99rym752ch5";
+    sha256 = "1vsiy3xsppw4d8ylsz70wsyrvmgy88lp2hj7vrc353ckny80r9lh";
   };
 
-  # The corresponding commit in the gtk3 branch.
   gtk3src = {
-    sha256 = "176h1swh1zx6dqyzfz470x4a1xicnv0zhy8ir47k7p23g6y17i2k";
+    sha256 = "0mwnjiqg2sj61va0y9yi3v52iyr5kzmbnvsqxav3a48m2f8p27qn";
   };
 
   python = if useGtk3 then python3 else python2;
@@ -125,7 +124,19 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  patches = [ ./mime.patch ];
+  patches = [
+    ./mime.patch
+
+    # Fixes a bug with the automatic authentication method, resulting in errors
+    # with certain mail providers.
+    # <https://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=4497>
+    # This MUST be removed for the next release.
+    (fetchpatch {
+      name = "fix-automatic-auth.patch";
+      url = "https://git.claws-mail.org/?p=claws.git;a=patch;h=9c2585c58b49815a0eab8d683f0a94f75cbbe64e";
+      sha256 = "0v8v5q2p4h93lp7yq3gnlvarsrcssv96aks1wqy3187vsr4kdw7a";
+    })
+  ];
 
   preConfigure = ''
     # autotools check tries to dlopen libpython as a requirement for the python plugin
diff --git a/pkgs/applications/networking/mailreaders/electron-mail/default.nix b/pkgs/applications/networking/mailreaders/electron-mail/default.nix
new file mode 100644
index 00000000000..1f7d663cf8e
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/electron-mail/default.nix
@@ -0,0 +1,33 @@
+{ appimageTools, lib, fetchurl }:
+
+let
+  pname = "electron-mail";
+  version = "4.12.2";
+  name = "ElectronMail-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage";
+    sha256 = "D+0qoIb0EwUVbgKOiKQpqoLDgm8l/UKDWm/BjhW4MYU=";
+  };
+
+  appimageContents = appimageTools.extract { inherit name src; };
+in appimageTools.wrapType2 {
+  inherit name src;
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+
+    install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/${pname}.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+    cp -r ${appimageContents}/usr/share/icons $out/share
+  '';
+
+  meta = with lib; {
+    description = "ElectronMail is an Electron-based unofficial desktop client for ProtonMail";
+    homepage = "https://github.com/vladimiry/ElectronMail";
+    license = licenses.mit;
+    maintainers = [ maintainers.princemachiavelli ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/mailcheck/default.nix b/pkgs/applications/networking/mailreaders/mailcheck/default.nix
index d66dcbf47c1..e9e5fb5f70e 100644
--- a/pkgs/applications/networking/mailreaders/mailcheck/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailcheck/default.nix
@@ -17,8 +17,6 @@ stdenv.mkDerivation rec {
     license     = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ kovirobi ];
     platforms   = lib.platforms.linux;
-    inherit version;
-
     longDescription = ''
       A simple command line tool to check for new mail in local mbox and
       maildir and remote POP3 and IMAP mailboxes.
diff --git a/pkgs/applications/networking/mailreaders/mailspring/default.nix b/pkgs/applications/networking/mailreaders/mailspring/default.nix
index 6c0de05a740..8fe93fb1a44 100644
--- a/pkgs/applications/networking/mailreaders/mailspring/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailspring/default.nix
@@ -8,6 +8,7 @@
 , dpkg
 , glib
 , gtk3
+, wrapGAppsHook
 , libkrb5
 , libsecret
 , nss
@@ -28,6 +29,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoPatchelfHook
     dpkg
+    wrapGAppsHook
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index b5f938b264e..0c2ffdc7fff 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "2.0.7";
+  version = "2.1.1";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "sha256-lXaIxqUhVhmS1PLyfPn+sjnHxsAELGBhwOR0p90mzJE=";
+    sha256 = "0jjjvqkqmpj55v111p1a1i2ry7mpd1bpphn1bhvlr18rgw7xdrja";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 6919e31342e..dceb9c92deb 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.4";
+  version = "0.32.1";
   pname = "notmuch";
 
   passthru = {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "https://git.notmuchmail.org/git/notmuch";
-    sha256 = "sha256-M+LEf257OcDlHOCYYxzEVQpop+i2gzO/QJPdajz/CRM=";
+    sha256 = "sha256:06r0hdz8mxnzag74md62a9m6c2zm0fxn45n4n1c26j5cmrys7j16";
     rev = version;
   };
 
diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
index 48a212b4ffb..9a65bec21c2 100644
--- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix
+++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, pkg-config, gtk2, openssl ? null, gpgme ? null
-, gpgSupport ? true, sslSupport ? true }:
+, gpgSupport ? true, sslSupport ? true, fetchpatch }:
 
 assert gpgSupport -> gpgme != null;
 assert sslSupport -> openssl != null;
@@ -15,6 +15,17 @@ stdenv.mkDerivation rec {
     sha256 = "0j9y5vdzch251s264diw9clrn88dn20bqqkwfmis9l7m8vmwasqd";
   };
 
+  patches = [
+    (fetchpatch {
+      # patch upstream bug https://sylpheed.sraoss.jp/redmine/issues/306
+      name = "patch-libsylph_ssl_c.patch";
+      url = "https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/mail/sylpheed/patches/patch-libsylph_ssl_c?rev=1.4&content-type=text/plain";
+      sha256 = "sha256-k9OwPtHrEjaxXdH0trNqXgJMhR8kjgtei9pi6OFvILk=";
+    })
+  ];
+
+  patchFlags = [ "-p0" ];
+
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ gtk2 ]
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index f3634b744aa..ae4999b4f5f 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -41,6 +41,7 @@
 , pango
 , runtimeShell
 , writeScript
+, xdg-utils
 , xidel
 }:
 
@@ -164,6 +165,7 @@ stdenv.mkDerivation {
         --set MOZ_LEGACY_PROFILES 1 \
         --set MOZ_ALLOW_DOWNGRADE 1 \
         --prefix PATH : "${lib.getBin gnupg}/bin" \
+        --prefix PATH : "${lib.getBin xdg-utils}/bin" \
         --prefix LD_LIBRARY_PATH : "${lib.getLib gpgme}/lib"
     '';
 
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 82bf1800bb0..4b9e47aef5b 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.11.0";
+  version = "78.12.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/af/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/af/thunderbird-78.12.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "061da958c7e0b52c76cc3152cf541eabd855e7189f976b9743792e52ab733ea8";
+      sha256 = "39671f52392f2c10c7398376047e01d85c42ca8eb21d2c536e11fa575cca4874";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ar/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ar/thunderbird-78.12.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "915ca02f6e7639adef01d8e332133762bd3f88df6a1c12e86a86c04010efcd69";
+      sha256 = "b3ac3c166b5eec0ae3857a89817a0a7088dddd5545aa4864705caf79aa8bae1a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ast/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ast/thunderbird-78.12.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "6a1995efbca69e251ca70af570b02d94a99f83ef7927d667f9f856febc53ff40";
+      sha256 = "2a98210aef008bd04206eb4019d9b6d0301e21085d8c96e5d8f023c77b079900";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/be/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/be/thunderbird-78.12.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "28c87eb1651bb4fd00d8b52b3f0a4e0520ceeed76305ea124915c238562f28a2";
+      sha256 = "6309d4959ebcc9be6d139277f990562f8d912766d57d64fc3ec4078e214097cc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/bg/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/bg/thunderbird-78.12.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "24bb2cd51bdf4e99fe88a13c70289f3896cb17c911d556150f1c6e216f3ef5ce";
+      sha256 = "20fd0b411962c3ed0da4f6eb95d8c47dc57a7b366dee0e771708c2c67772619f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/br/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/br/thunderbird-78.12.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "473fe2acadfa6e4f6ba8eddcfd4377c3eeb583f6510461e6f51b9dcd89d36ace";
+      sha256 = "e9f43ff375066cbb23340f2138c0ebf7b2c18e0a57d7049437034a580d8ebc74";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ca/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ca/thunderbird-78.12.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "d128adb596f6be2a940a2544ad653c812c177b3d08ddac7de716fc3ce603b71c";
+      sha256 = "2eaf6674ea616116457b7100b90f2b813eab906091a53bce71d52f4bdae17fb9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/cak/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/cak/thunderbird-78.12.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "cff975db463997677d392264e55bd73a3c1a36e34991f8bcbb0673980f428589";
+      sha256 = "f56dc013fad49782a074ef7d0721a12f43af5f029e690937d72e6a14d79c1505";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/cs/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/cs/thunderbird-78.12.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "90836d8c099594ca0e459d7d07232ab47d811cafc79ca5ad2999186f242fa8c2";
+      sha256 = "87fecc8661be9ee8891b74f83bd9a6746b826700a6ac46b550d5e2bcc93e560e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/cy/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/cy/thunderbird-78.12.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "2a844b7afe834dc6e0ad291a6d5cb9ca0389d703f9a8ca385aabf5e5f012c4c5";
+      sha256 = "4177b225e02341b96baa6528f1053c718e2e85d452b730a40ebf124a4c70d118";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/da/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/da/thunderbird-78.12.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "a37075627a6955abfc15508d2bb4a16ba330a4c64c89f95084635319ad5106e6";
+      sha256 = "9d8cb26a9011130ce973e9e7ecd20650296d406b7ce8b4cf8740ab7e9759e641";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/de/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/de/thunderbird-78.12.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "6e03c8b0f791cc09b04b3114e8b44950de974beabf0563705af625ac1226dbb2";
+      sha256 = "ee19d3702cd0fc0b193e09a3fc470c450ddc919d78471df071183c89c063f443";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/dsb/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/dsb/thunderbird-78.12.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "546f10d4653940798540797deeec54287cd1275b5ebf350661d49cd313228ddb";
+      sha256 = "20d78a72fb2c5d91e2534dd21aa00d9f958d2df61bec297e1662d7f594c76a5e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/el/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/el/thunderbird-78.12.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "b6fa7ae657a03c4f91905e95931af05b9af588a067a03a3a8a0d9faa8d40b59d";
+      sha256 = "c5014ec8b8382814e3184839192aa71e5610c8c0a6df8dfc9b6b596afbd22bcb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/en-CA/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/en-CA/thunderbird-78.12.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "5507e9b74cea95681a2c7c21cb5127a7369366bbdaa6a24dbafc7a4fbe11b924";
+      sha256 = "79f1c4166607a01cb32eec5ddb60892822f9047f43c7af3cdeb877ba9c7b7584";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/en-GB/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/en-GB/thunderbird-78.12.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "fcaa2b652b43367fcb720e8386cdc92346318bab67fd720c5958e7ec236c0844";
+      sha256 = "8dfe9daac9224dd4c64d689b7b066c126f72e75f283d8a66dcf3fa846e46c881";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/en-US/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/en-US/thunderbird-78.12.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "688a2f7274581fa4735a6d2f8166ba262999694889635bf3bc30ac77ad746fb3";
+      sha256 = "43c021edf529f388856432315d99fd1261a0034aa1cead97cc104598eba63d7e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/es-AR/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/es-AR/thunderbird-78.12.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "506a63de366968c6a3e66503def57e621cc2458ccf07ccc53ffdad72fdab8914";
+      sha256 = "5f6f86557456d717790a16053e663dce8878a4e7b60f4ee15d02ae753b5c8e78";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/es-ES/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/es-ES/thunderbird-78.12.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "974acf65d509929d6b8175ac99a2886f17d4dbc4a6b8d4ef50e82585e1ea9fe6";
+      sha256 = "f6e85e580871e225e5315eeb0aa7f2982f43352c6c4065966ead1eff47037989";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/et/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/et/thunderbird-78.12.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "504c97962170388d6fe249c24b6f5a62025ebf9bf4b30b65fbfd3baf12756809";
+      sha256 = "37ea60b93f1d57a1c5f30acdc93dcd73a35ab7107dc05b8e8eebe3a996454186";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/eu/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/eu/thunderbird-78.12.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "b4c4bd5b228f2b945dc8f280b12a72dd68dff10562c4f19b5a27fa94a95d9128";
+      sha256 = "9f7a1fc4b94017d6341c993209987e9647bf29973c3ffc3427ece6277cf92c5a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/fa/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fa/thunderbird-78.12.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "4384d9579304ec344f616e00a51bebbf5038e212cc54d07586182fce9558af91";
+      sha256 = "dc36f3eb91e32ea44a30792f8d65ed225455567ec4b7ec386fe6ec6510caa5da";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/fi/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fi/thunderbird-78.12.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "89bba8ff928caa79b8b1947be761388e441f01655f200f4a7fb9d9894b3ea4e6";
+      sha256 = "1fa2cfe9354f7a5b4c9aa0927ae83cad535e8cb448d8a2d82f7a946b5c142b22";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/fr/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fr/thunderbird-78.12.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "c2953ff1879ed8f80f6b9f1a26c08ba1f5969e8b47b81a3eb3ab690698142bbb";
+      sha256 = "49887ce333f50f404a383291d813e3e8f891045247d2de353627998c47821a12";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/fy-NL/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fy-NL/thunderbird-78.12.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "58057f7bb143512c1171296413050178f0a7a0651513e7c67d153af5874aa382";
+      sha256 = "e408da5478ea01797c260b414ff513e87e71c6de41d6ca0c8bc11780c06fad28";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ga-IE/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ga-IE/thunderbird-78.12.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "94c070e79bba7a43f3fcc8b0b1759e424366f3ced72e2e53c5fe75689602a0ed";
+      sha256 = "6dc99c43a076c4575163e640260b27aaebef01ffcc1ce8b6c6e2da8c993eee72";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/gd/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/gd/thunderbird-78.12.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "a655074ab7d0f86318199ab32b77c889ccfd366f6a0d9d43b4bbeba54ae2ee1a";
+      sha256 = "3ba9424491565e4e576dbfe656e681892ff1084fcd8b9659beb6a17b36cc4c27";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/gl/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/gl/thunderbird-78.12.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "2835735ebf7f518aaf8d16ca3cedd3e7f7414e0cc1177a185b6e896da7e2c87f";
+      sha256 = "a8348d99ba729122d2d2cc0a10d60c38ff4b7e83eaf7ebd04a58d7fad5326664";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/he/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/he/thunderbird-78.12.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "804c359b76026631e5a0ecf40258782f24f0be4d34b700b2aa0532607e4c5651";
+      sha256 = "fcba79332eeba50f074a7f1864120414ca20152a16b4b9aed02dbc05d487cf10";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/hr/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hr/thunderbird-78.12.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "d7278bc20c7eb6c071648b639064338ae8cf7535476c0493b642d45c0ae9804d";
+      sha256 = "d6a51f6c92ab53a73abb5733a9737d36f59aee7acd248ea656b7aa3c406e3980";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/hsb/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hsb/thunderbird-78.12.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "fb520d80d1505b50b8d9e2a43c10512e001b120790c823eb41dcc076e68eca51";
+      sha256 = "a99dbdd453d31674178faecf37e61b414cc24468a39b8a5e5afa037bf938ffd7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/hu/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hu/thunderbird-78.12.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "20639f623995f76b2f7d5f8d81e08145767d2a67d97fbd31542599abd4c80a57";
+      sha256 = "aa8384952169ea4f60c8bb11d47c39b81a9c327546ceacdefedb1a37a91e80b0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/hy-AM/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hy-AM/thunderbird-78.12.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "bf4c1fcaa9bf928607dade6d8fd16b47fff6c248c07ef86fcb20c0b3a6841ba1";
+      sha256 = "2a3fd50c42b1aeea61e921e70f05c4ca74e03904c8400b7fa0e245816e42e0f9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/id/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/id/thunderbird-78.12.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "03665c9cfdd39e8ebb568151a28ecf02e425bae4241de74bdb47a0f9f38e26ba";
+      sha256 = "5b606b68a3f618ca0d3fadc5a8ee1da7aa636b6d1c1aee0b3e46c978c4a95ef3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/is/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/is/thunderbird-78.12.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "1efb313ae0fc03d402f306ca0258ea4c784a762a642f947065e154c382e9135b";
+      sha256 = "af75f627fc5eb5c0628bbc3ece9549c0daf967e267de850503314830384b340c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/it/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/it/thunderbird-78.12.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "95e1c07248c8ef1ab36b8a57729615a4f2ab9a4cb6148f1b0bca20554901ffca";
+      sha256 = "de55f082a0de2c6a3f5c04e6a3bc00f4dd79dc4c8c91d7218bbc50c5e31421a4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ja/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ja/thunderbird-78.12.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "95c592c41b1199bc280c219a8b4873e2bdb18171c4cccff4809a5a87ccb52d0f";
+      sha256 = "5db89a1ef3e1546ac48e870c06a235e2f525a9634fed09ce706773cf2582c15b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ka/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ka/thunderbird-78.12.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "85566d54dd72a9ae9d6e3e5b85ed2ad01fe7d6e08e33b02985bc4e78e55dc5e9";
+      sha256 = "524d9508d2b8ee337658d5538f9b290e08f0df9ef0c7ed0da9dc5e1e8dc2a9de";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/kab/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/kab/thunderbird-78.12.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "cf7f8a9975f9ce163bba8438121cd8090a498877d65d91694aac198f4307bc90";
+      sha256 = "7dd3d55f7a5b68b0ebaa96efb2091c320553bbee17b0329dce2ffdb5bed0954c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/kk/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/kk/thunderbird-78.12.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "9ef1e12e02ed3e8a05f58da73e0221ac6545c515eb2e236b4a99b4594afc10af";
+      sha256 = "f49fe966e1f22e542b62f7e2f3aa8a7377ec6997d5d0b3dc8f0e6986e0418111";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ko/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ko/thunderbird-78.12.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "6d028659f0b239b81dae7dfe44b96015ef1a217cddb135fee3bd8884e7b442c5";
+      sha256 = "f48b05376ce85123a163ec54be9baa1325e38e1994753696a3054028a6f60ab2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/lt/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/lt/thunderbird-78.12.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "90f11349d4f5a674457f541b4edadd83b6a8f32f56eaa0a4d49e9b2c26dbbe47";
+      sha256 = "124b0f6e6f1db1cac8ac33f0878d8583c29913c65fb5ca1be4653a9592967407";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ms/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ms/thunderbird-78.12.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "f235748f67ad749d8b020288df8c7251bcbd9d1bc4bb979554928f54270c1f88";
+      sha256 = "c2917bf55feb4c9efa905920add0bea79b715dc631960e283cb413d05e1e51ec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/nb-NO/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/nb-NO/thunderbird-78.12.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "de2bfc3bfc2f285a42cbcc800867395d132a56f3aaed8ff687c9e95706164ad0";
+      sha256 = "1a5f059665aacea4f12f0f604979bc6de5059e50ab85710cf25d6f0478fd1acb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/nl/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/nl/thunderbird-78.12.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "4b7be1a4717a4b42bdf3b7583b2a1fa6cc9cfcad52ac7fafa4435230dec70048";
+      sha256 = "4efc6479b4948aa96e4c4a14f25ca6401058ddfea4b4175cdce851839327dd8e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/nn-NO/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/nn-NO/thunderbird-78.12.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "0ba39f2e8b6895216d97e13809749fb6a1237c5bfd0c1f8ef9e365218d1422e4";
+      sha256 = "910661eecc2d65c27f63597ed5bdc96973e39603a0c702e7dd760e87b373d7c8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/pa-IN/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pa-IN/thunderbird-78.12.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "2bf07cc1f213c20b2f181cd104eb6cdd6b5f885ccff2774817ad95840addf3ef";
+      sha256 = "50aa0006b3252d7ba020a162b36f863c632fb3f6d13bf0589334ba3f34ae6ba4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/pl/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pl/thunderbird-78.12.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "9d2607c5d61ef121a383eb71d5bb650ba0ccb6b441666bbac5a9f3b91377f574";
+      sha256 = "6f75b4492c9cf6bd3b03800a55b0e91a121e7e13ca1f451571cf25abde040487";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/pt-BR/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pt-BR/thunderbird-78.12.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "cab1a3fabb975895b0c57bb4cb3b90f9386d0c33228b24edc13095d7d644d727";
+      sha256 = "ed8834d038affbd7fadc93dbb72d972a7dca77d9d9af4b5cbdb0cf4c36bd7b70";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/pt-PT/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pt-PT/thunderbird-78.12.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "53b44f8caae2a2ca878435d988dbaec7c188c2fe236efcda8b92b4310aa3119f";
+      sha256 = "6add8c6de555561d892b23909e5b4828230567789f71467600483c8eb0f4e6d1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/rm/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/rm/thunderbird-78.12.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "f170779793afc440c273b8826cc456af903a98ac9694b1aae6ee50a5bec2be26";
+      sha256 = "c9ceb44aea4f61d4376d2519b233356ca48ab7eed6c62e0402c1c435baac379c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ro/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ro/thunderbird-78.12.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "d0628abef66e2585db898834ddbd3ad9e97edea7269538dbd4b4520f22969b4a";
+      sha256 = "5d2889df62325331b5869e17af8125179ff9371c8860ad52b4cc8d4c21253e6e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ru/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ru/thunderbird-78.12.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "077b682cc7365aab8fb3100d5f487fc873a16a4fcf71dc25e63a2604b57ccc00";
+      sha256 = "07aeda5b10bcdca5474ef156be35c38ebd15de68a3670e4e2532b045964d7164";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/si/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/si/thunderbird-78.12.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "7fc582c2f23b197da426ff0150941ea59fe1da26c84df41bff88039ff3fdf4fb";
+      sha256 = "a70410319bcab48a407f4b379e82029528b8998ec89d7105a85ffce5e804a285";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/sk/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sk/thunderbird-78.12.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "cde3c240b1718085b36e9479eb9717202c1a179d9cd2cd094901074d666fb763";
+      sha256 = "4b110a5b7d3cab0a9145635c0e458e22eddddd97e407a229d8c8a5f5761d150d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/sl/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sl/thunderbird-78.12.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "54ee18a338c727838db7cdca4c458d4b9248c626a3338ec83c41001d124d2917";
+      sha256 = "d253ee57d3eac036b1b758d45609db39b47dae05e282ccaace739993ef3cfccc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/sq/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sq/thunderbird-78.12.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "511209ca3eb810250fef3b0b01f71941bc0436410716974244aa9b5b1193582b";
+      sha256 = "700a8e7798f8b92c6874febd71b188ab0a97a2ca62930db4cb36fb12e02cefe8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/sr/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sr/thunderbird-78.12.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "d22da1e4ab790ffb3e8a8c3928adfe8c1b7b65c08a5dbaf2bb63473b08fb5207";
+      sha256 = "5485ce5280b71f9adc8ae2a544eecb8c8a12720efd604d93d5f2bf051f3edc0d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/sv-SE/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sv-SE/thunderbird-78.12.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "c7826bfef5b705fb5d00b6ade07d092bfed25d74b6992308027e8ea99f2ed16b";
+      sha256 = "a3d0f4d3d32ebb2ec9b67fcbbbabf5640b714fbcd01a742c7cabd872c5bd94f4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/th/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/th/thunderbird-78.12.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "cba4789bcd072a21d5e131f0aed7aed1775f6122776f873b54fd9832bc5b621b";
+      sha256 = "2d6963ec130e14f5d0721782d5a4f724eaac5bab1b4e3469e19dbbdf1512396d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/tr/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/tr/thunderbird-78.12.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "8f8345e6722931b495755ccf67b0546443e11d435cfe809edd00f6e3565a17bc";
+      sha256 = "b6ada3486cbba66992db5a04138f03f12ac6fc004cb86558a4b8787481f39383";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/uk/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/uk/thunderbird-78.12.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "cce394a934ab0352cbd980d29a61fc1be4e66636ab5e31d358fa2efc82e17c19";
+      sha256 = "c24fa7aab502cfdb88703c0abe2444cfd1bc7b94cab1f34b0626240c2a75a8cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/uz/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/uz/thunderbird-78.12.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "4a94d98472bcbb34a19b58c8e4caeb2e29c58d4d7496ba0d4af02a8aa0fe3802";
+      sha256 = "119d29856eb9656d89b5d06301f3abef4db106ddf3793dc0b9c0c7f2cb03428c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/vi/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/vi/thunderbird-78.12.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "a48de334712d154917d6285a84ab115f48e672fdbcd9a7469013d3b07524562e";
+      sha256 = "4aa063fd673684488c9565ca7f35b8b6aa2c944cec921131de8ac2dd483b5b8c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/zh-CN/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/zh-CN/thunderbird-78.12.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "6892a5236ac0abecaa657b98929fd9feeaa0ac9d4d64e000ced26687c4fa96a3";
+      sha256 = "78fd8d25250632336c574b4d02a9c397d2a01d91660a17a3dedc98155cce84d1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/zh-TW/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/zh-TW/thunderbird-78.12.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "292ae08c031cd40a493348dcf39adfecbb9372288cd2cc4bb5ada9eaee5a7649";
+      sha256 = "724451f25a3e45cc23a277c4d1bf3ce76457d883d43b5a5f172340e6d8e81f41";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/af/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/af/thunderbird-78.12.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "26a1e66facb1839a8a2dcb2fffe3677a5d6f9c68343293625b22faf553ff1244";
+      sha256 = "6ee9ef2596d099bed0962199cf95bae3f8ce322cbc2d9d78195c1caa661297d2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ar/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ar/thunderbird-78.12.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "6625bb6b5374ae174b21d53735c4d51d3d8464556ff42ac9b270908991837989";
+      sha256 = "dfa41ea4a15f074b2530b8e8383b76617e1a916344567e30dcc370660f0ab05a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ast/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ast/thunderbird-78.12.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "57e8de5bbace8def637356ac7b519155411f8b5b2dd6496ebbdde102fea490fc";
+      sha256 = "602d1ee72a11a88004236572cb2fa22fdd86cbda81a74f89342e8371a295a140";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/be/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/be/thunderbird-78.12.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "c045e2b129cd373ed1b2a6ce4d12d4dd3dbcf92c380a1dd8fa237f001f7c5bda";
+      sha256 = "1e7d385da89801d9a949fef16de5904314e6e012a2693a936c122e9b8276b267";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/bg/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/bg/thunderbird-78.12.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "5bd9ded232f60b88be72a5cd301b02c6bc6a6651be48e08ebe5358aaa801dd6e";
+      sha256 = "e8c52029a88272d3371c42cdab8d8fd97d8a816032377d22285154686a557f08";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/br/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/br/thunderbird-78.12.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "1dc7583fe66a26b040e1a46281964898c5a79ead6516e02a0c1ec7a175962621";
+      sha256 = "49d0c56d04033da26b9e73cce83e7de55755b269e2c15003537c2cc53d1e57c1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ca/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ca/thunderbird-78.12.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "68cc1ba9382be6d5b90e94fdc6fd1403b2b07c67759be80d2623fcd41b16f51f";
+      sha256 = "c31cc0421858f4a31840d6924882ed692db260e66c16b4c916d82e2eb07ec229";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/cak/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/cak/thunderbird-78.12.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "006d1806c7ce336fb51bcc74d4907a6aacb43c0902e0b323b638f9a9d2664ed1";
+      sha256 = "5be14239cea98b350a05230efb5e15dbac7bb530f1c3f2b7f17c12b0d2ff75ba";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/cs/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/cs/thunderbird-78.12.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "5b342803243a51a9e521705c1082c87cc528ac59475d6b893ca475ecb10ee02c";
+      sha256 = "51260bbdeebf1cc18b7d36ad2a302841b29eee797d096ef033b5be03162177ad";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/cy/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/cy/thunderbird-78.12.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "55bf6bc1aa371ad52097e89dc26af4fd11a2afc73b4ece79ae3c3bf0294fe5fc";
+      sha256 = "8c6e1fce7834da9a3a820bcb9df6a27f77c132f0c513ed074c24af9de8858798";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/da/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/da/thunderbird-78.12.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "41d21b7065bb4a11b80990daf550a29e5d588965c83cb48a762bba7bcbbec502";
+      sha256 = "fabc99558863a646565eff20badf08805e2460e541a3907fab9c6b029dadc0de";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/de/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/de/thunderbird-78.12.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "190339793ab6b5bcbbea2e81a1c783fa91dc18ac702870bd045ba597d0c826d0";
+      sha256 = "dc6d7c639e6e9b3ef9f4c13054ec543ed1ec6d789ae2c5e0fce5650c7fa7932b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/dsb/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/dsb/thunderbird-78.12.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "068243c6d19d9c5ba9ff4ce9793db643555657593659176fb543eba5cbde7c44";
+      sha256 = "86edac99d1e2a8da228718f2fd78448948e207e3398f781ddec43d4c9ac9e425";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/el/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/el/thunderbird-78.12.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "ab93bb707a7bf50813b067c7d2f5f72e858073080e28094a917a4e5715612053";
+      sha256 = "0113409e306300aa4bbc9dacdd85ca52e5d71ca52962ff4628a96c4103337a1b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/en-CA/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/en-CA/thunderbird-78.12.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "2bbc9fe5efb8905d069174d939933b64dfeba6716f81487b4aedcea7e00fb48a";
+      sha256 = "1e792a76d371479abd43bdfb993cada3b23fbb547cfadf691b25f51cacf4265e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/en-GB/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/en-GB/thunderbird-78.12.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "6ac3648deccc9b3b01575791fadec6bb9210aeae4d32934f7ae7ddee7d857b93";
+      sha256 = "596ccfcaee2a005ea2ee0a93f9644666a5e7e955e22b799bf91766908dac7db9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/en-US/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/en-US/thunderbird-78.12.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "e423d465824e4b56f3899fb15dbac1b016832446ded5c46b8bde0c279ddd3df2";
+      sha256 = "97fcb2332b1343f9b5e06efff7ea5a73c80212512ac2b2959537d1e255a8ce44";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/es-AR/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/es-AR/thunderbird-78.12.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "925c762d84e4620b96b8feb73a4b5506fe3dc339c0ef316e23ef7ea636ad8da6";
+      sha256 = "0af5917c4828c08425709f0fc3aca7c74668ece53721666d6e4004b637469b17";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/es-ES/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/es-ES/thunderbird-78.12.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "d75ea97c5cfa524c93055af618cbbd27a6ef8c2125ebe963467f0e93f9f80ea3";
+      sha256 = "6283c85e34f6ab7d25fdebb5ed70b1d26c601b3416cef45cc8f06a15e723d9b7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/et/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/et/thunderbird-78.12.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "f925832734574c0056ce60edc9630db70d262b993c913da167f01b51f9ec14b1";
+      sha256 = "ab1cefeb07ead51998a7f54befb0a291c065d8a0d440a6d2c7972fa64f345948";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/eu/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/eu/thunderbird-78.12.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "60f27f7d725bb90ec93ab247c708442506e9532c050bc7a66b5d23db2dcab91a";
+      sha256 = "f4ce3787e3cd46c8bcadbc6ab2a728e3b76ee2556ad5e4129e4418e844a8c4e6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/fa/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fa/thunderbird-78.12.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "505373b341db6e20b90d555815974a232b6ec685b4301e9b81305092806d721e";
+      sha256 = "35da798ea7f613489820e4e42b1c78c078c21ee7f7521ef5ba21a7602fb302ae";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/fi/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fi/thunderbird-78.12.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "6f9c715ae0d7db81db3ee72d822ea1d9395b30d0a4a2f46c50f77e4a156df27f";
+      sha256 = "dd97b6c745b88a6493d280e5efc2165bc5895ec7ac56c1df63d7adcb860eec59";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/fr/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fr/thunderbird-78.12.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "5600b094c00d9607e91f2c28aa99de75c87999a1d16739f926812a0e9bdcda53";
+      sha256 = "9d49108417933e1f79a285b99cf0e49f6a009a121084148da70f4cf93a238c34";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/fy-NL/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fy-NL/thunderbird-78.12.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "3fd24a4704df03e83bdebdf9a98a085849a72de939aa21c8fb93051ca9ddab85";
+      sha256 = "efe33dbc8d7c6347359d30c63034a3553720ac806c1754752b0649d91ce293a4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ga-IE/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ga-IE/thunderbird-78.12.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "1f69cea70de04de5458a877b9ac3c2cb9cb04a60f888cdb19118bb04156540e2";
+      sha256 = "c99c54902c522ec9472ed6ea4a85e6be9dd0e013a2835a38d90b4b77554c05dc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/gd/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/gd/thunderbird-78.12.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "d33666cb1812541a81f91b457a7d9d3dba3ede5b90f0e56d31d90dd8359e077b";
+      sha256 = "af46f3aa8480469783a625553688f7ef5ff00bdcd9be9c98af7d49f98e8cba7e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/gl/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/gl/thunderbird-78.12.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "5694106a7bccd7dacc35d89f4c2dc3080be40f937d5b3a18e6797a2dad1dfdc4";
+      sha256 = "bdf94938571db3959781b490fc74aaf1a48b42663b22ae32dfab97600772be0c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/he/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/he/thunderbird-78.12.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "77e2e3e1872c67de101d3fca87a3c308b26eb47f06222f0504a95e42f9248d39";
+      sha256 = "1e9f6f580751bcf518813a123a0e1f2f66cee92110516867b4844bbcaa2fa67f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/hr/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hr/thunderbird-78.12.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "513c4d88387c7ac3463047b4e84c2f049dcb0dcc205bcf0d1b6935f94db16a88";
+      sha256 = "a6727dce9ac4074ed5685086f224cc956eacf04b3aa54fc4b7d669e2d3a548e2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/hsb/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hsb/thunderbird-78.12.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "f2731aff055f734befefbd17778ccf8962c882266443b9ff5e6e6babcc09c0c4";
+      sha256 = "16f985d7c4520bd81bc1e5a8e939a2ce97e807ab0635625d38290b073defa79d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/hu/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hu/thunderbird-78.12.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "c29018382b2d0d45727e23bbaf3a37661ccb7908912a24ed5ff3042766ecdec9";
+      sha256 = "9e7c771cd0dfd8dd1b42721f9129d1fdd760c2d3f7bce407adec6c4f3e0fc955";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/hy-AM/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hy-AM/thunderbird-78.12.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "f9152a462ac758fe21c46e734bc8d8e727479f4cc8c7c26cda43bfc896244596";
+      sha256 = "4a5878d9be7d0b60347a19c2533fe22ff0f02aeb5228070ecdc1bb5bd0ca5490";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/id/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/id/thunderbird-78.12.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "e336ee15d25b0edca6492a765af7a6b0eed3ef30155c908e4940985e373304b5";
+      sha256 = "80bb061ed6efa9396627bb05ef26247e92b49fe50787e04add488cc3c69c5304";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/is/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/is/thunderbird-78.12.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "6495cec1de969c1f30ef042fe604027014161497ed77eb327451eb4a70f7b1a2";
+      sha256 = "4d96a6de273846f133a307967e4d96f6594c8f4fdd6c16efd39f10bd5121cf60";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/it/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/it/thunderbird-78.12.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "7bb395c5b3cda42c41196f06be6ed2f35eff958c3a9325807c42616b971087c3";
+      sha256 = "f10c633cd2ab40a4845fe7c681094bbe18b2d0240c10d77ab2e47c633e10baaf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ja/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ja/thunderbird-78.12.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "ec313b0754cffa5ed388e983faa394b146cb5227c99e74ee681ab833540b1cf4";
+      sha256 = "b97a41e3e48c29f60aa22e9ce98bb4bab641ba633877d3086e92d1904bc7e34a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ka/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ka/thunderbird-78.12.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "13b8d137d2b1da647ed603208a4cd275e5cc11d3395a5709629ed8965c5c355d";
+      sha256 = "c2a0bdf08c8ae9f5ca5df56eef07331834d52d4d8fefbe87e3f5f7bd31f83457";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/kab/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/kab/thunderbird-78.12.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "a8780a5af7cd112d05a2b13469ff40d09c1909b2a09012a4ac7883b8555c3b71";
+      sha256 = "4475c84a76bf254c6126384c15bb9721750cb935b2ab49b4825bc1d2c9552cc4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/kk/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/kk/thunderbird-78.12.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "1a1b0ac46b10eda11ffa4a53dcf53c1dce2a2a52355e08e44960d135a8feea91";
+      sha256 = "5e74e269de716b9239dd45254d660679f8cacba3264aab7565be68c16143bf40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ko/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ko/thunderbird-78.12.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "312c211b3079191b5d53cf5052e0225fee2b4e699a848b3d29a8efdf3192185b";
+      sha256 = "b40047124044f3ba15f08526c1898f12d88e186f422202ce3aab1ee0f23cd0c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/lt/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/lt/thunderbird-78.12.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "817b079ecff259043a0bf3abece031c15e04a2a615b49314d8377da6ee8feebc";
+      sha256 = "f7bb95f825b8aa20f40851fd0e99ac1574e26f2a5c69dd7bfdc2f865a11051b5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ms/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ms/thunderbird-78.12.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "737b88b2fd394851143a798508b537b921fde8c0648856e09426102e7962ef7d";
+      sha256 = "473ea13ae580d09237a04e08331d883eff6c419d61f0ba1afaa1c5a948da98b8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/nb-NO/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/nb-NO/thunderbird-78.12.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "9754dd9cc6ca38970a50b3f26d0d2fe1cb1c3a66a77829489cf6f2098f7f244f";
+      sha256 = "efe8ac1e38a085caec95b817548c5cc06f45aac03bee5545cb65b93eb19efbf7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/nl/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/nl/thunderbird-78.12.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "b43da367f973e7b2899967c777514262f4503778d550bee27c5b11651555cc17";
+      sha256 = "a646a84098185d299118305c651788bef0a88f805b08ff51bcc87067a5460c06";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/nn-NO/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/nn-NO/thunderbird-78.12.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "cb0bae6a905c2ffc39f173519ab9dcdd7835c1b9c169f778727b55eeb8c67cfa";
+      sha256 = "14b765aa23671318b6356886f3bee0847570158c4215e0d106bc823df045414b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/pa-IN/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pa-IN/thunderbird-78.12.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "d9d7c15ca519636ff93e0f1ec956e131b5bc92bb18a67c7958140ebd75ca84c0";
+      sha256 = "ddc9dae4e4f7a9cd99d8e2e5041ac52432b6835f7b6e0867bc7ea2ff7283ba95";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/pl/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pl/thunderbird-78.12.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "7cbe410b721565b676d6a9c0d09e163a7452b0a9137672f654f8fdeca6212a27";
+      sha256 = "396373ad618f35be40c79f1e67ba67f1e72dbb2ee250459f610cc1ad2b7bd2c4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/pt-BR/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pt-BR/thunderbird-78.12.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "aa4fbe2a656d937559c8556549f0cc2d9f8fa0c75ad1ede55c9e8877a63538cd";
+      sha256 = "0e62406a68fc33d7c77b10c2ae427c508ee491e33041be114b03c4eb630e8003";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/pt-PT/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pt-PT/thunderbird-78.12.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "63a2c44c1ec1486574c8addf920e8561f792d01fb8179239fb268e5277e68782";
+      sha256 = "ba8e89a5a15fe69660758a83e3801800d1a15ab051d8ee581dd1b97b6a67ddd0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/rm/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/rm/thunderbird-78.12.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "8610c130d68a8d5f38ea179b13bdd17ab349cca8647470b4e2987937676f3c5e";
+      sha256 = "ac9705e6c64093d375db018116f66792eadef36fa32919bc467a0d08ed20fadc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ro/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ro/thunderbird-78.12.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "d809cc26b134f707579e78e624f654b569d33d2282391943eeabfd494388f4f9";
+      sha256 = "4fdcb748d23044effd6fe4e94c525381e2dce3941c1829625c84eab795dc4797";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ru/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ru/thunderbird-78.12.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "1d73258212131087d878fac0087f758cd11209aeeaff075b0352f8414769d3d7";
+      sha256 = "63f0d9be0baa91b3a65189ce9bee01d5984e04eba319484c69560cd10af750e9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/si/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/si/thunderbird-78.12.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "342ddb753fc1870321613e7668a741269bfff786f21ff22f4f8f84f5e1df9c2a";
+      sha256 = "db371618474a3812c641d9518f04035c353c9e184b91f713d9b70f09b693f6d0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/sk/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sk/thunderbird-78.12.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "241cae2dbe7130a3df8d64e99fce375c0966df0cf4dbd6cbddfb069f736c3450";
+      sha256 = "6b5370c99076c0955e3b3fb58be9649656fd12a32126a4bf2d54d51e9147c7c5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/sl/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sl/thunderbird-78.12.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "d09d44f1fd9e90e71e67334eed2df3eacdbc2509782e625e25aea3b993b1f28a";
+      sha256 = "5c5ef16ae617f18f4ad4774bda932d8858c35d6ef6e61a5bd1c730564193bedb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/sq/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sq/thunderbird-78.12.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "afa21cf461d53c2a3e781e45b7802a0b5ffcb0ca4c4452865bdbf2bceeb13776";
+      sha256 = "e8462127bcfdfec2b651b11d569918e7ffff37c7ab0b556c10434273e59b43d9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/sr/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sr/thunderbird-78.12.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "15b3faf5cef87e1101629410cdb169f81da94b5e1b0902d02b161ef67df15e8f";
+      sha256 = "9fe5e0091ebb9d3b0d07a6cc6dcb167b7608b0acc7ef5a5e24604e8d007001f5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/sv-SE/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sv-SE/thunderbird-78.12.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "b42f3e8aefc4ebfc718ace6eda4d9416752dbec346f1a212fa637edfe08277dc";
+      sha256 = "1b6d4b29e53b933418ba25b8284d62d218076b1dde09006e0508a060190b81ca";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/th/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/th/thunderbird-78.12.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "0972ee48e0f8f0e6f81831a5c8b3d832c7af05477a3f824afb252c1f32d6843a";
+      sha256 = "68a90653d02c8b9f022b52693884f5bce8d60bb89c5099784347dd9c9e578c87";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/tr/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/tr/thunderbird-78.12.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "5dccdb0c97511aab0926caf679dced22609fb0e702b87078ac9379c94b3aed37";
+      sha256 = "9776f2eceb7bfc15292d621d874a7fa3f092223752b81b65623a3294044022d0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/uk/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/uk/thunderbird-78.12.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "526e1cdadbf15a0aee1b31607f39710f90fdd6ea23623c74fbc87928b0b2056c";
+      sha256 = "9c3dde23f775176780ff24d89d46659b293b22cee45df9a2dcf1bf3f8257c19c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/uz/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/uz/thunderbird-78.12.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "46454f21518cdeee20dcd0ed3f57a45cf8ab3a240d55cf2df36aed253307fb99";
+      sha256 = "b2d9d4b3e43fe3af5c602c4b429d4fb29461ace04498cf14b0f75fba7ea0c667";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/vi/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/vi/thunderbird-78.12.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "d624ec4f25277ae1b4b463e0c8381371562cf4185aab3ed67b9463b3dadde5dd";
+      sha256 = "c2c7a721d82ad59022020cad3dd152271a83207fbd0f61b91d3c464aed16bcaf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/zh-CN/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/zh-CN/thunderbird-78.12.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "3699eefc2f941a4b32305a934a02bb94b5213c4584bfeb816859de471e2d2f08";
+      sha256 = "9e26860c8d78d13fffcc9eb418fb4d34a7da07b5604f8d01eddc10471e57dd70";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/zh-TW/thunderbird-78.11.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/zh-TW/thunderbird-78.12.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "9d6878ab69fcf266f1b226100a5b26d78d8d604f741827ae8f62fca665adf557";
+      sha256 = "403ab2f3262ce3e79d2261ca2afd8ddca98c116086dda620bbe54c45d2111632";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 8e28190fea4..7b74cdc0208 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -50,6 +50,7 @@
 , unzip
 , which
 , writeScript
+, xdg-utils
 , xidel
 , xorg
 , yasm
@@ -73,13 +74,13 @@ assert waylandSupport -> gtk3Support == true;
 
 stdenv.mkDerivation rec {
   pname = "thunderbird";
-  version = "78.11.0";
+  version = "78.12.0";
 
   src = fetchurl {
     url =
       "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
     sha512 =
-      "1m12kx830pfzvby8j9i5nb9c5v71vlg4wr0qrjgg3pw5ml9j5x7myrqyfd49l2qppm3xjn08srvmf45avnwq0lrys4sb83iwsd46sf6";
+      "8a9275f6a454b16215e9440d8b68926e56221dbb416f77ea0cd0a42853bdd26f35514e792564879c387271bd43d8ee966577f133f8ae7781f43e8bec9ab78696";
   };
 
   nativeBuildInputs = [
@@ -311,6 +312,7 @@ stdenv.mkDerivation rec {
       --set MOZ_LEGACY_PROFILES 1
       --set MOZ_ALLOW_DOWNGRADE 1
       --prefix PATH : "${lib.getBin gnupg}/bin"
+      --prefix PATH : "${lib.getBin xdg-utils}/bin"
       --prefix LD_LIBRARY_PATH : "${lib.getLib gpgme}/lib"
     )
   '';
@@ -335,7 +337,7 @@ stdenv.mkDerivation rec {
     attrPath = "thunderbird-78";
     baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
     inherit writeScript lib common-updater-scripts xidel coreutils gnused
-      gnugrep curl runtimeShell;
+      gnugrep gnupg curl runtimeShell;
   };
 
   requiredSystemFeatures = [ "big-parallel" ];
diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix
index 33030e0c7ee..2fa486b83a9 100644
--- a/pkgs/applications/networking/mullvad-vpn/default.nix
+++ b/pkgs/applications/networking/mullvad-vpn/default.nix
@@ -42,11 +42,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "mullvad-vpn";
-  version = "2021.3";
+  version = "2021.4";
 
   src = fetchurl {
     url = "https://github.com/mullvad/mullvadvpn-app/releases/download/${version}/MullvadVPN-${version}_amd64.deb";
-    sha256 = "sha256-f7ZCDZ/RN+Z0Szmnx8mbzhKZiRPjqXTsgClfWViFYzo=";
+    sha256 = "sha256-JnHG4qD6nH2l7RCYHmb7Uszn0mrMsFtMHQ3cKpXcq00=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index e0c5b50be0f..d93fea1f702 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -63,7 +63,7 @@ let
       description = "Low-latency, high quality voice chat software";
       homepage = "https://mumble.info";
       license = licenses.bsd3;
-      maintainers = with maintainers; [ petabyteboy infinisil ];
+      maintainers = with maintainers; [ petabyteboy infinisil felixsinger ];
       platforms = platforms.linux;
     };
   });
diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix
index 90bbd31a888..b6afe0aa44e 100644
--- a/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/pkgs/applications/networking/newsreaders/pan/default.nix
@@ -1,24 +1,40 @@
 { spellChecking ? true
-, lib, stdenv, fetchurl, pkg-config, gtk3, gtkspell3 ? null
-, gmime2, gettext, intltool, itstool, libxml2, libnotify, gnutls
-, makeWrapper, gnupg
-, gnomeSupport ? true, libsecret, gcr
+, lib
+, stdenv
+, fetchurl
+, pkg-config
+, gtk3
+, gtkspell3
+, gmime2
+, gettext
+, intltool
+, itstool
+, libxml2
+, libnotify
+, gnutls
+, makeWrapper
+, gnupg
+, gnomeSupport ? true
+, libsecret
+, gcr
 }:
 
-assert spellChecking -> gtkspell3 != null;
-
-let version = "0.146"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "pan";
-  inherit version;
+  version = "0.146";
 
   src = fetchurl {
-    url = "http://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2";
+    url = "https://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2";
     sha256 = "17agd27sn4a7nahvkpg0w39kv74njgdrrygs74bbvpaj8rk2hb55";
   };
 
+  patches = [
+    # Take <glib.h>, <gmime.h>, "gtk-compat.h" out of extern "C"
+    ./move-out-of-extern-c.diff
+  ];
+
   nativeBuildInputs = [ pkg-config gettext intltool itstool libxml2 makeWrapper ];
+
   buildInputs = [ gtk3 gmime2 libnotify gnutls ]
     ++ lib.optional spellChecking gtkspell3
     ++ lib.optionals gnomeSupport [ libsecret gcr ];
@@ -29,7 +45,7 @@ stdenv.mkDerivation {
     "--with-gnutls"
     "--enable-libnotify"
   ] ++ lib.optional spellChecking "--with-gtkspell"
-    ++ lib.optional gnomeSupport "--enable-gkr";
+  ++ lib.optional gnomeSupport "--enable-gkr";
 
   postInstall = ''
     wrapProgram $out/bin/pan --suffix PATH : ${gnupg}/bin
@@ -42,6 +58,6 @@ stdenv.mkDerivation {
     homepage = "http://pan.rebelbase.com/";
     maintainers = [ maintainers.eelco ];
     platforms = platforms.linux;
-    license = with licenses; [ gpl2 fdl11 ];
+    license = with licenses; [ gpl2Only fdl11 ];
   };
 }
diff --git a/pkgs/applications/networking/newsreaders/pan/move-out-of-extern-c.diff b/pkgs/applications/networking/newsreaders/pan/move-out-of-extern-c.diff
new file mode 100644
index 00000000000..02b19b58ee5
--- /dev/null
+++ b/pkgs/applications/networking/newsreaders/pan/move-out-of-extern-c.diff
@@ -0,0 +1,1113 @@
+diff --git a/pan/data-impl/article-filter.cc b/pan/data-impl/article-filter.cc
+index b06d0c2..f424738 100644
+--- a/pan/data-impl/article-filter.cc
++++ b/pan/data-impl/article-filter.cc
+@@ -25,10 +25,7 @@
+ #include <gmime/gmime.h>
+ 
+ //#include <glib/gprintf.h>
+-extern "C"
+-{
+-  #include <glib.h>
+-}
++#include <glib.h>
+ 
+ #include "article-filter.h"
+ 
+diff --git a/pan/data-impl/data-impl.cc b/pan/data-impl/data-impl.cc
+index 88012cc..4465966 100644
+--- a/pan/data-impl/data-impl.cc
++++ b/pan/data-impl/data-impl.cc
+@@ -22,10 +22,8 @@
+ **************/
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include <glib.h> // for g_build_filename
+-}
++#include <glib/gi18n.h>
++#include <glib.h> // for g_build_filename
+ #include <pan/general/debug.h>
+ #include <pan/general/file-util.h>
+ #include <pan/general/log.h>
+diff --git a/pan/data-impl/data-io.cc b/pan/data-impl/data-io.cc
+index bea1a90..d938634 100644
+--- a/pan/data-impl/data-io.cc
++++ b/pan/data-impl/data-io.cc
+@@ -27,9 +27,9 @@ extern "C" {
+   #include <sys/types.h> // for chmod
+   #include <sys/stat.h> // for chmod
+   #include <unistd.h>
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+ }
++#include <glib.h>
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/file-util.h>
+ #include <pan/general/line-reader.h>
+diff --git a/pan/data-impl/groups.cc b/pan/data-impl/groups.cc
+index 244feb9..da0183a 100644
+--- a/pan/data-impl/groups.cc
++++ b/pan/data-impl/groups.cc
+@@ -29,9 +29,9 @@
+ #include <vector>
+ 
+ #include <glib.h>
++#include <glib/gi18n.h>
+ extern "C" {
+   #include <unistd.h>
+-  #include <glib/gi18n.h>
+ }
+ 
+ #include <pan/general/debug.h>
+diff --git a/pan/data-impl/headers.cc b/pan/data-impl/headers.cc
+index f8c4466..16d5672 100644
+--- a/pan/data-impl/headers.cc
++++ b/pan/data-impl/headers.cc
+@@ -25,10 +25,10 @@
+ #include <string>
+ #include <cmath>
+ #include <glib.h>
++#include <glib/gi18n.h>
+ extern "C" {
+   #include <sys/types.h> // for chmod
+   #include <sys/stat.h> // for chmod
+-  #include <glib/gi18n.h>
+ }
+ #include <pan/general/debug.h>
+ #include <pan/general/log.h>
+diff --git a/pan/data-impl/profiles.cc b/pan/data-impl/profiles.cc
+index e999fda..a6e6bb5 100644
+--- a/pan/data-impl/profiles.cc
++++ b/pan/data-impl/profiles.cc
+@@ -26,9 +26,9 @@
+ extern "C" {
+   #include <sys/types.h> // for chmod
+   #include <sys/stat.h> // for chmod
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+ }
++#include <glib.h>
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/string-view.h>
+ #include <pan/general/file-util.h>
+diff --git a/pan/data-impl/server.cc b/pan/data-impl/server.cc
+index 9ea55d4..b23782f 100644
+--- a/pan/data-impl/server.cc
++++ b/pan/data-impl/server.cc
+@@ -25,10 +25,8 @@
+ #include <map>
+ #include <set>
+ #include <vector>
+-extern "C" {
+-  #include <glib.h> // for GMarkup
+-  #include <glib/gi18n.h>
+-}
++#include <glib.h> // for GMarkup
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/file-util.h>
+ #include <pan/general/log.h>
+diff --git a/pan/data-impl/xover.cc b/pan/data-impl/xover.cc
+index ff8644f..a199556 100644
+--- a/pan/data-impl/xover.cc
++++ b/pan/data-impl/xover.cc
+@@ -20,10 +20,8 @@
+ #include <config.h>
+ #include <cmath>
+ #include <fstream>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include <gmime/gmime.h>
+-}
++#include <glib/gi18n.h>
++#include <gmime/gmime.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/log.h>
+ #include <pan/general/macros.h>
+diff --git a/pan/data/article-cache.cc b/pan/data/article-cache.cc
+index 1855153..30fa0f9 100644
+--- a/pan/data/article-cache.cc
++++ b/pan/data/article-cache.cc
+@@ -26,11 +26,10 @@ extern "C"
+   #include <sys/stat.h>
+   #include <unistd.h>
+   #include <dirent.h>
+-
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+-  #include <gmime/gmime.h>
+ }
++#include <glib.h>
++#include <gmime/gmime.h>
++#include <glib/gi18n.h>
+ 
+ #include <pan/general/debug.h>
+ #include <pan/general/file-util.h>
+diff --git a/pan/data/article-cache.h b/pan/data/article-cache.h
+index 2ac722b..1304bfe 100644
+--- a/pan/data/article-cache.h
++++ b/pan/data/article-cache.h
+@@ -22,9 +22,7 @@
+ 
+ #include <map>
+ #include <vector>
+-extern "C" {
+-  #include <glib.h> // for guint64
+-}
++#include <glib.h> // for guint64
+ #include <pan/general/string-view.h>
+ #include <pan/general/quark.h>
+ 
+diff --git a/pan/data/cert-store.cc b/pan/data/cert-store.cc
+index 340fc8b..f6cd46e 100644
+--- a/pan/data/cert-store.cc
++++ b/pan/data/cert-store.cc
+@@ -34,10 +34,8 @@
+ #include <iostream>
+ #include <string>
+ 
+-extern "C" {
+ #include <glib/gi18n.h>
+ #include <glib.h>
+-}
+ 
+ #include <pan/general/debug.h>
+ #include <pan/general/e-util.h>
+diff --git a/pan/data/encode-cache.cc b/pan/data/encode-cache.cc
+index 3a82ea9..61c67a2 100644
+--- a/pan/data/encode-cache.cc
++++ b/pan/data/encode-cache.cc
+@@ -28,11 +28,10 @@ extern "C"
+   #include <sys/stat.h>
+   #include <unistd.h>
+   #include <dirent.h>
+-
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+-  #include <gmime/gmime.h>
+ }
++#include <gmime/gmime.h>
++#include <glib.h>
++#include <glib/gi18n.h>
+ 
+ #include <pan/general/debug.h>
+ #include <pan/general/file-util.h>
+diff --git a/pan/data/encode-cache.h b/pan/data/encode-cache.h
+index 8bbd530..1affc0c 100644
+--- a/pan/data/encode-cache.h
++++ b/pan/data/encode-cache.h
+@@ -22,9 +22,7 @@
+ 
+ #include <map>
+ #include <vector>
+-extern "C" {
+-  #include <glib.h> // for guint64
+-}
++#include <glib.h> // for guint64
+ #include <pan/general/string-view.h>
+ #include <pan/general/quark.h>
+ 
+diff --git a/pan/general/e-util.cc b/pan/general/e-util.cc
+index af5ccd0..62879ee 100644
+--- a/pan/general/e-util.cc
++++ b/pan/general/e-util.cc
+@@ -26,9 +26,9 @@
+ #include <ctime>
+ extern "C" {
+   #include <ctype.h>
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+ }
++#include <glib.h>
++#include <glib/gi18n.h>
+ #include "debug.h"
+ #include "e-util.h"
+ 
+diff --git a/pan/general/file-util.cc b/pan/general/file-util.cc
+index 02e9ed1..9efa269 100644
+--- a/pan/general/file-util.cc
++++ b/pan/general/file-util.cc
+@@ -27,12 +27,12 @@ extern "C"
+   #include <unistd.h>
+   #include <sys/stat.h>
+   #include <sys/types.h>
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+   #ifndef G_OS_WIN32
+     #include <pwd.h>
+   #endif
+ }
++#include <glib.h>
++#include <glib/gi18n.h>
+ 
+ #include "debug.h"
+ #include "log.h"
+diff --git a/pan/general/file-util.h b/pan/general/file-util.h
+index c125c8d..8c67639 100644
+--- a/pan/general/file-util.h
++++ b/pan/general/file-util.h
+@@ -25,9 +25,9 @@
+ extern "C" {
+   #include <stddef.h>
+   #include <stdio.h>
+-  #include <glib.h>
+-  #include <glib/gstdio.h>
+ }
++#include <glib.h>
++#include <glib/gstdio.h>
+ #include <pan/general/string-view.h>
+ 
+ #define g_freopen freopen
+diff --git a/pan/general/line-reader.cc b/pan/general/line-reader.cc
+index afb9be8..6b80fc4 100644
+--- a/pan/general/line-reader.cc
++++ b/pan/general/line-reader.cc
+@@ -1,9 +1,7 @@
+ #include <config.h>
+ #include <cstdio>
+ #include <cstdlib>
+-extern "C"{ 
+-  #include <glib/gi18n.h>
+-}
++#include <glib/gi18n.h>
+ #include <cerrno>
+ #include "file-util.h"
+ #include "line-reader.h"
+diff --git a/pan/general/macros.h b/pan/general/macros.h
+index 6dcf908..b16230f 100644
+--- a/pan/general/macros.h
++++ b/pan/general/macros.h
+@@ -63,9 +63,6 @@
+ ***  g_assert
+ **/
+ 
+-extern "C"
+-{
+-  #include <glib.h>
+-}
++#include <glib.h>
+ 
+ #endif
+diff --git a/pan/general/text-match.cc b/pan/general/text-match.cc
+index fcacbe2..d390de0 100644
+--- a/pan/general/text-match.cc
++++ b/pan/general/text-match.cc
+@@ -20,9 +20,9 @@
+ #include <config.h>
+ extern "C" {
+   #include <ctype.h>
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+ }
++#include <glib.h>
++#include <glib/gi18n.h>
+ #include "debug.h"
+ #include "log.h"
+ #include "text-match.h"
+diff --git a/pan/general/utf8-utils.cc b/pan/general/utf8-utils.cc
+index be79a13..fea6100 100644
+--- a/pan/general/utf8-utils.cc
++++ b/pan/general/utf8-utils.cc
+@@ -21,9 +21,7 @@
+ #include <string>
+ #include <vector>
+ #include <string.h>
+-extern "C" {
+ #include <glib/gi18n.h>
+-}
+ #include <locale.h>
+ #include <gmime/gmime.h>
+ #include <pan/general/debug.h>
+diff --git a/pan/gui/actions.cc b/pan/gui/actions.cc
+index 520c08b..5ec397c 100644
+--- a/pan/gui/actions.cc
++++ b/pan/gui/actions.cc
+@@ -18,11 +18,9 @@
+  */
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include "gtk-compat.h"
+ 
++#include <glib/gi18n.h>
+ #include <pan/general/macros.h>
+ #include <pan/general/debug.h>
+ #include <pan/data-impl/data-impl.h>
+diff --git a/pan/gui/body-pane.cc b/pan/gui/body-pane.cc
+index 53e9124..e9841e2 100644
+--- a/pan/gui/body-pane.cc
++++ b/pan/gui/body-pane.cc
+@@ -22,11 +22,9 @@
+ #include <cmath>
+ #include <iostream>
+ #include <sstream>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-  #include <gmime/gmime.h>
+-}
++#include "gtk-compat.h"
++#include <gmime/gmime.h>
++#include <glib/gi18n.h>
+ #include <gdk-pixbuf/gdk-pixbuf.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/log.h>
+diff --git a/pan/gui/dl-headers-ui.cc b/pan/gui/dl-headers-ui.cc
+index 5841651..e9f4b2d 100644
+--- a/pan/gui/dl-headers-ui.cc
++++ b/pan/gui/dl-headers-ui.cc
+@@ -18,11 +18,9 @@
+  */
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include <glib.h>
++#include <glib/gi18n.h>
++#include "gtk-compat.h"
+ #include <pan/general/macros.h>
+ #include <pan/tasks/queue.h>
+ #include <pan/tasks/task-xover.h>
+diff --git a/pan/gui/group-pane.cc b/pan/gui/group-pane.cc
+index 28ad581..3ff103e 100644
+--- a/pan/gui/group-pane.cc
++++ b/pan/gui/group-pane.cc
+@@ -20,10 +20,8 @@
+ #include <config.h>
+ #include <cassert>
+ #include <deque>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include "gtk-compat.h"
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ //#include <pan/general/gdk-threads.h>
+ #include <pan/general/log.h>
+diff --git a/pan/gui/group-prefs-dialog.cc b/pan/gui/group-prefs-dialog.cc
+index 677b07a..0d7df8b 100644
+--- a/pan/gui/group-prefs-dialog.cc
++++ b/pan/gui/group-prefs-dialog.cc
+@@ -18,14 +18,14 @@
+  */
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include <glib.h>
+-  #include "gtk-compat.h"
++#include <glib/gi18n.h>
++#include <glib.h>
+ #ifdef HAVE_GTKSPELL
++extern "C" {
+   #include <enchant/enchant.h>
+-#endif
+ }
++#endif
++#include "gtk-compat.h"
+ #include <pan/general/debug.h>
+ #include <pan/general/macros.h>
+ #include <pan/data/data.h>
+diff --git a/pan/gui/group-prefs.cc b/pan/gui/group-prefs.cc
+index 3e9851b..b06a949 100644
+--- a/pan/gui/group-prefs.cc
++++ b/pan/gui/group-prefs.cc
+@@ -21,8 +21,8 @@ extern "C" {
+   #include <config.h>
+   #include <sys/types.h> // chmod
+   #include <sys/stat.h> // chmod
+-  #include <glib.h>
+ }
++#include <glib.h>
+ #include <iostream>
+ #include <fstream>
+ #include <pan/general/file-util.h>
+diff --git a/pan/gui/gui.cc b/pan/gui/gui.cc
+index f79aa1e..9f8787e 100644
+--- a/pan/gui/gui.cc
++++ b/pan/gui/gui.cc
+@@ -25,9 +25,9 @@
+ extern "C" {
+   #include <sys/types.h> // for chmod
+   #include <sys/stat.h> // for chmod
+-  #include <glib/gi18n.h>
+   #include <dirent.h>
+ }
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/e-util.h>
+ #include <pan/general/file-util.h>
+diff --git a/pan/gui/header-pane.cc b/pan/gui/header-pane.cc
+index dc65a77..a4a9952 100644
+--- a/pan/gui/header-pane.cc
++++ b/pan/gui/header-pane.cc
+@@ -19,10 +19,9 @@
+ 
+ extern "C" {
+   #include <config.h>
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-  #include "gtk-compat.h"
+ }
++#include "gtk-compat.h"
++#include <glib/gi18n.h>
+ #include <cctype>
+ #include <cmath>
+ #include <algorithm>
+diff --git a/pan/gui/log-ui.cc b/pan/gui/log-ui.cc
+index 7b11493..b204298 100644
+--- a/pan/gui/log-ui.cc
++++ b/pan/gui/log-ui.cc
+@@ -21,10 +21,8 @@
+ #include <ostream>
+ #include <fstream>
+ #include <iostream>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include "gtk-compat.h"
++#include <glib/gi18n.h>
+ #include <pan/general/log.h>
+ #include <pan/general/macros.h>
+ #include <pan/general/string-view.h>
+diff --git a/pan/gui/pan-file-entry.cc b/pan/gui/pan-file-entry.cc
+index 705fc91..c67acf8 100644
+--- a/pan/gui/pan-file-entry.cc
++++ b/pan/gui/pan-file-entry.cc
+@@ -19,10 +19,8 @@
+ 
+ #include <config.h>
+ #include <string>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include "gtk-compat.h"
++#include <glib/gi18n.h>
+ #include <pan/general/file-util.h>
+ #include "pad.h"
+ #include "pan-file-entry.h"
+diff --git a/pan/gui/pan.cc b/pan/gui/pan.cc
+index fb3a696..46c1a5d 100644
+--- a/pan/gui/pan.cc
++++ b/pan/gui/pan.cc
+@@ -24,9 +24,6 @@
+ #include <signal.h>
+ 
+ extern "C" {
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-  #include <gmime/gmime.h>
+   #include <gio/gio.h>
+   #include <sys/types.h>
+   #include <sys/stat.h>
+@@ -34,6 +31,9 @@ extern "C" {
+   #include <uulib/crc32.h>
+ }
+ 
++#include "gtk-compat.h"
++#include <glib/gi18n.h>
++#include <gmime/gmime.h>
+ #ifdef G_OS_WIN32
+   #undef _WIN32_WINNT
+   #define _WIN32_WINNT 0x0501
+diff --git a/pan/gui/post-ui.cc b/pan/gui/post-ui.cc
+index 8769ec5..92c757d 100644
+--- a/pan/gui/post-ui.cc
++++ b/pan/gui/post-ui.cc
+@@ -23,14 +23,14 @@
+ #include <sstream>
+ #include <unistd.h>
+ extern "C" {
+-  #include <gmime/gmime.h>
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+   #include <sys/time.h>
+ #ifdef HAVE_GTKSPELL
+   #include <gtkspell/gtkspell.h>
+ #endif
+ }
++#include "gtk-compat.h"
++#include <gmime/gmime.h>
++#include <glib/gi18n.h>
+ #include <pan/data/data.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/file-util.h>
+diff --git a/pan/gui/prefs-file.cc b/pan/gui/prefs-file.cc
+index bde7ef3..64c540f 100644
+--- a/pan/gui/prefs-file.cc
++++ b/pan/gui/prefs-file.cc
+@@ -24,8 +24,8 @@
+ extern "C" {
+   #include <sys/types.h> // for chmod
+   #include <sys/stat.h> // for chmod
+-  #include <glib.h>
+ }
++#include <glib.h>
+ #include <pan/general/file-util.h>
+ #include "prefs-file.h"
+ 
+diff --git a/pan/gui/prefs-ui.cc b/pan/gui/prefs-ui.cc
+index f7dc0f0..aac9ec1 100644
+--- a/pan/gui/prefs-ui.cc
++++ b/pan/gui/prefs-ui.cc
+@@ -18,10 +18,8 @@
+  */
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include "gtk-compat.h"
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/macros.h>
+ #include <pan/general/file-util.h>
+diff --git a/pan/gui/prefs.cc b/pan/gui/prefs.cc
+index fdbd908..64dd8da 100644
+--- a/pan/gui/prefs.cc
++++ b/pan/gui/prefs.cc
+@@ -23,10 +23,8 @@
+ #include <iostream>
+ #include <sstream>
+ #include <string>
+-extern "C" {
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+-}
++#include <glib.h>
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/log.h>
+ #include <pan/general/macros.h>
+diff --git a/pan/gui/profiles-dialog.cc b/pan/gui/profiles-dialog.cc
+index 26ff029..cf8bd44 100644
+--- a/pan/gui/profiles-dialog.cc
++++ b/pan/gui/profiles-dialog.cc
+@@ -23,10 +23,8 @@
+ 
+ #include <config.h>
+ #include <iostream>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include "gtk-compat.h"
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/macros.h>
+ #include <pan/usenet-utils/gnksa.h>
+diff --git a/pan/gui/progress-view.cc b/pan/gui/progress-view.cc
+index 241ad1c..43ef4f2 100644
+--- a/pan/gui/progress-view.cc
++++ b/pan/gui/progress-view.cc
+@@ -18,9 +18,7 @@
+  */
+ 
+ #include <config.h>
+-extern "C" {
+-  #include "gtk-compat.h"
+-}
++#include "gtk-compat.h"
+ #include <pan/general/string-view.h>
+ #include <pan/usenet-utils/mime-utils.h>
+ #include "progress-view.h"
+diff --git a/pan/gui/save-attach-ui.cc b/pan/gui/save-attach-ui.cc
+index 0b08b6f..0e86a1b 100644
+--- a/pan/gui/save-attach-ui.cc
++++ b/pan/gui/save-attach-ui.cc
+@@ -18,10 +18,8 @@
+  */
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include "gtk-compat.h"
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/macros.h>
+ #include <pan/icons/pan-pixbufs.h>
+diff --git a/pan/gui/save-ui.cc b/pan/gui/save-ui.cc
+index 0f034e5..1df0cfb 100644
+--- a/pan/gui/save-ui.cc
++++ b/pan/gui/save-ui.cc
+@@ -18,10 +18,8 @@
+  */
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include "gtk-compat.h"
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/macros.h>
+ #include <pan/icons/pan-pixbufs.h>
+diff --git a/pan/gui/score-add-ui.cc b/pan/gui/score-add-ui.cc
+index e72bdb5..3b81167 100644
+--- a/pan/gui/score-add-ui.cc
++++ b/pan/gui/score-add-ui.cc
+@@ -20,9 +20,7 @@
+ #include <config.h>
+ #include <cassert>
+ #include <climits>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-}
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/text-match.h>
+ #include "hig.h"
+diff --git a/pan/gui/score-view-ui.cc b/pan/gui/score-view-ui.cc
+index d6c81c1..1327426 100644
+--- a/pan/gui/score-view-ui.cc
++++ b/pan/gui/score-view-ui.cc
+@@ -18,10 +18,8 @@
+  */
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include "gtk-compat.h"
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include "pad.h"
+ #include "score-add-ui.h"
+diff --git a/pan/gui/server-ui.cc b/pan/gui/server-ui.cc
+index b42bc18..268114b 100644
+--- a/pan/gui/server-ui.cc
++++ b/pan/gui/server-ui.cc
+@@ -21,11 +21,9 @@
+ #include <cstdlib>
+ #include <cstring>
+ #include <climits>
+-extern "C" {
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include <glib.h>
++#include <glib/gi18n.h>
++#include "gtk-compat.h"
+ 
+ #include <pan/icons/pan-pixbufs.h>
+ #include <pan/general/file-util.h>
+diff --git a/pan/gui/task-pane.cc b/pan/gui/task-pane.cc
+index 4f77922..18a8f74 100644
+--- a/pan/gui/task-pane.cc
++++ b/pan/gui/task-pane.cc
+@@ -18,11 +18,9 @@
+  */
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+-  #include "gtk-compat.h"
+-}
++#include <glib.h>
++#include <glib/gi18n.h>
++#include "gtk-compat.h"
+ #include <pan/general/e-util.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/file-util.h>
+diff --git a/pan/gui/url.cc b/pan/gui/url.cc
+index e1173ae..94ffb52 100644
+--- a/pan/gui/url.cc
++++ b/pan/gui/url.cc
+@@ -20,10 +20,8 @@
+ #include <config.h>
+ #include <iostream>
+ #include <string>
+-extern "C" {
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+-};
++#include <glib.h>
++#include <glib/gi18n.h>
+ #include <pan/general/log.h>
+ #include "url.h"
+ 
+diff --git a/pan/tasks/decoder.cc b/pan/tasks/decoder.cc
+index b4c21ae..f8cb6db 100644
+--- a/pan/tasks/decoder.cc
++++ b/pan/tasks/decoder.cc
+@@ -28,8 +28,8 @@
+ extern "C" {
+ #  define PROTOTYPES
+ #  include <uulib/uudeview.h>
+-#  include <glib/gi18n.h>
+ };
++#include <glib/gi18n.h>
+ #include <pan/general/worker-pool.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/file-util.h>
+diff --git a/pan/tasks/encoder.cc b/pan/tasks/encoder.cc
+index 7960b84..5989059 100644
+--- a/pan/tasks/encoder.cc
++++ b/pan/tasks/encoder.cc
+@@ -31,10 +31,10 @@
+ extern "C" {
+ #define PROTOTYPES
+ #include <uulib/uudeview.h>
+-#include <glib/gi18n.h>
+ #include <sys/time.h>
+ };
+ 
++#include <glib/gi18n.h>
+ #include <pan/general/worker-pool.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/file-util.h>
+diff --git a/pan/tasks/nntp.cc b/pan/tasks/nntp.cc
+index ceb1574..71c5cf1 100644
+--- a/pan/tasks/nntp.cc
++++ b/pan/tasks/nntp.cc
+@@ -22,10 +22,8 @@
+ #include <cstdarg>
+ #include <cstdlib> // abort, atoi, strtoul
+ #include <cstdio> // snprintf
+-extern "C" {
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+-}
++#include <glib.h>
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/log.h>
+ #include <pan/general/messages.h>
+diff --git a/pan/tasks/nzb.cc b/pan/tasks/nzb.cc
+index af890e5..14df6f6 100644
+--- a/pan/tasks/nzb.cc
++++ b/pan/tasks/nzb.cc
+@@ -24,9 +24,7 @@
+ #include <sstream>
+ #include <string>
+ #include <map>
+-extern "C" {
+-  #include <glib.h>
+-}
++#include <glib.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/file-util.h>
+ #include <pan/general/log.h>
+diff --git a/pan/tasks/socket-impl-gio.cc b/pan/tasks/socket-impl-gio.cc
+index d3339dd..7dc2ec1 100644
+--- a/pan/tasks/socket-impl-gio.cc
++++ b/pan/tasks/socket-impl-gio.cc
+@@ -31,9 +31,9 @@
+ 
+ extern "C" {
+   #include <unistd.h>
+-  #include <glib/gi18n.h>
+ }
+ 
++#include <glib/gi18n.h>
+ #include <pan/general/file-util.h>
+ #include <pan/general/log.h>
+ #include <pan/general/macros.h>
+diff --git a/pan/tasks/socket-impl-main.cc b/pan/tasks/socket-impl-main.cc
+index c33edfd..688183c 100644
+--- a/pan/tasks/socket-impl-main.cc
++++ b/pan/tasks/socket-impl-main.cc
+@@ -30,10 +30,7 @@
+ //#include <glib/giochannel.h>
+ //#include <glib/gstring.h>
+ 
+-extern "C"
+-{
+-  #include <glib.h>
+-}
++#include <glib.h>
+ 
+ #include <pan/tasks/socket.h>
+ 
+diff --git a/pan/tasks/socket-impl-openssl.cc b/pan/tasks/socket-impl-openssl.cc
+index b58e074..5b1b0b0 100644
+--- a/pan/tasks/socket-impl-openssl.cc
++++ b/pan/tasks/socket-impl-openssl.cc
+@@ -34,13 +34,14 @@
+ 
+ extern "C" {
+   #include <unistd.h>
+-  #include <glib/gi18n.h>
+   #include <errno.h>
+   #include <fcntl.h>
+   #include <sys/time.h>
+   #include <sys/types.h>
+ }
+ 
++#include <glib/gi18n.h>
++
+ #include <pan/usenet-utils/ssl-utils.h>
+ #include <pan/general/file-util.h>
+ #include <pan/general/log.h>
+diff --git a/pan/tasks/socket-impl-openssl.h b/pan/tasks/socket-impl-openssl.h
+index e48cbae..eea41d4 100644
+--- a/pan/tasks/socket-impl-openssl.h
++++ b/pan/tasks/socket-impl-openssl.h
+@@ -27,10 +27,7 @@
+ #include <string>
+ //#include <glib/giochannel.h>
+ //#include <glib/gstring.h>
+-extern "C"
+-{
+-  #include <glib.h>
+-}
++#include <glib.h>
+ 
+ #include <pan/general/debug.h>
+ #include <pan/general/quark.h>
+diff --git a/pan/tasks/socket.cc b/pan/tasks/socket.cc
+index 78d53fb..2c7a28d 100644
+--- a/pan/tasks/socket.cc
++++ b/pan/tasks/socket.cc
+@@ -21,9 +21,7 @@
+ #include <cstdarg>
+ #include <ctime>
+ #include <cmath>
+-extern "C" {
+-  #include <glib.h>
+-}
++#include <glib.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/string-view.h>
+ #include "socket.h"
+diff --git a/pan/tasks/task-article.cc b/pan/tasks/task-article.cc
+index 9c96b7d..1dc17ba 100644
+--- a/pan/tasks/task-article.cc
++++ b/pan/tasks/task-article.cc
+@@ -24,10 +24,7 @@
+ #include <config.h>
+ #include <algorithm>
+ #include <cassert>
+-extern "C"
+-{
+-  #include <glib/gi18n.h>
+-}
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/file-util.h>
+ #include <pan/general/utf8-utils.h>
+diff --git a/pan/tasks/task-groups.cc b/pan/tasks/task-groups.cc
+index b8618d6..9b72369 100644
+--- a/pan/tasks/task-groups.cc
++++ b/pan/tasks/task-groups.cc
+@@ -20,9 +20,9 @@
+ #include <config.h>
+ #include <cassert>
+ extern "C" {
+-  #include <glib/gi18n.h>
+   #include <stdlib.h>
+ }
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/macros.h>
+ #include <pan/general/messages.h>
+diff --git a/pan/tasks/task-post.cc b/pan/tasks/task-post.cc
+index bb80fb9..4ab9c2f 100644
+--- a/pan/tasks/task-post.cc
++++ b/pan/tasks/task-post.cc
+@@ -18,9 +18,7 @@
+  */
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-}
++#include <glib/gi18n.h>
+ #include "task-post.h"
+ #include <pan/general/debug.h>
+ #include <pan/general/log.h>
+diff --git a/pan/tasks/task-upload.h b/pan/tasks/task-upload.h
+index 7bd4fe0..e5377c6 100644
+--- a/pan/tasks/task-upload.h
++++ b/pan/tasks/task-upload.h
+@@ -37,10 +37,10 @@
+ extern "C" {
+   #define PROTOTYPES
+   #include <uulib/uudeview.h>
+-  #include <gmime/gmime.h>
+-  #include <glib/gi18n.h>
+ };
+ 
++#include <gmime/gmime.h>
++#include <glib/gi18n.h>
+ #include <set>
+ 
+ namespace pan
+diff --git a/pan/tasks/task-xover.cc b/pan/tasks/task-xover.cc
+index c3c8260..64b41a4 100644
+--- a/pan/tasks/task-xover.cc
++++ b/pan/tasks/task-xover.cc
+@@ -26,10 +26,10 @@ extern "C"
+ #define PROTOTYPES
+ #include <stdio.h>
+ #include <uulib/uudeview.h>
+-#include <glib/gi18n.h>
+-#include <gmime/gmime-utils.h>
+ }
+ 
++#include <gmime/gmime-utils.h>
++#include <glib/gi18n.h>
+ #include <fstream>
+ #include <iostream>
+ #include <pan/general/debug.h>
+diff --git a/pan/tasks/task-xoverinfo.cc b/pan/tasks/task-xoverinfo.cc
+index c598bf8..9a9e488 100644
+--- a/pan/tasks/task-xoverinfo.cc
++++ b/pan/tasks/task-xoverinfo.cc
+@@ -24,10 +24,10 @@ extern "C" {
+   #define PROTOTYPES
+   #include <stdio.h>
+   #include <uulib/uudeview.h>
+-  #include <glib/gi18n.h>
+-  #include <gmime/gmime-utils.h>
+   #include <zlib.h>
+ }
++#include <glib/gi18n.h>
++#include <gmime/gmime-utils.h>
+ #include <fstream>
+ #include <iostream>
+ #include <pan/general/debug.h>
+diff --git a/pan/usenet-utils/filter-info.cc b/pan/usenet-utils/filter-info.cc
+index f464428..6b1a5c9 100644
+--- a/pan/usenet-utils/filter-info.cc
++++ b/pan/usenet-utils/filter-info.cc
+@@ -18,10 +18,8 @@
+  */
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+-}
++#include <glib.h>
++#include <glib/gi18n.h>
+ #include <pan/general/macros.h>
+ #include "filter-info.h"
+ 
+diff --git a/pan/usenet-utils/gnksa.cc b/pan/usenet-utils/gnksa.cc
+index db1f2c4..fb888d5 100644
+--- a/pan/usenet-utils/gnksa.cc
++++ b/pan/usenet-utils/gnksa.cc
+@@ -37,10 +37,10 @@ extern "C"
+ {
+   #include <ctype.h>
+   #include <unistd.h>
+-  #include <glib/gi18n.h>
+   #include <sys/time.h>
+ }
+ 
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/macros.h>
+ #include <pan/general/log.h>
+diff --git a/pan/usenet-utils/gpg.cc b/pan/usenet-utils/gpg.cc
+index 4df4525..8755777 100644
+--- a/pan/usenet-utils/gpg.cc
++++ b/pan/usenet-utils/gpg.cc
+@@ -28,9 +28,9 @@ extern "C" {
+   #include <stdlib.h>
+   #include <unistd.h>
+   #include <string.h>
+-  #include <glib/gi18n.h>
+-  #include <gmime/gmime.h>
+ }
++#include <glib/gi18n.h>
++#include <gmime/gmime.h>
+ 
+ #ifdef HAVE_GMIME_CRYPTO
+ 
+diff --git a/pan/usenet-utils/message-check.cc b/pan/usenet-utils/message-check.cc
+index a511556..461ce86 100644
+--- a/pan/usenet-utils/message-check.cc
++++ b/pan/usenet-utils/message-check.cc
+@@ -21,9 +21,7 @@
+ #include <ctype.h>
+ #include <string.h>
+ #include <glib.h>
+-extern "C" {
+ #include <glib/gi18n.h>
+-}
+ #include <pan/general/debug.h>
+ #include <pan/general/macros.h>
+ #include <pan/general/string-view.h>
+diff --git a/pan/usenet-utils/rules-info.cc b/pan/usenet-utils/rules-info.cc
+index 1c03adc..91e78be 100644
+--- a/pan/usenet-utils/rules-info.cc
++++ b/pan/usenet-utils/rules-info.cc
+@@ -22,10 +22,8 @@
+ 
+ 
+ #include <config.h>
+-extern "C" {
+-  #include <glib.h>
+-  #include <glib/gi18n.h>
+-}
++#include <glib.h>
++#include <glib/gi18n.h>
+ #include <pan/general/macros.h>
+ #include "rules-info.h"
+ 
+diff --git a/pan/usenet-utils/scorefile.cc b/pan/usenet-utils/scorefile.cc
+index 8b56a2a..4b151f0 100644
+--- a/pan/usenet-utils/scorefile.cc
++++ b/pan/usenet-utils/scorefile.cc
+@@ -23,9 +23,7 @@
+ #include <iostream>
+ #include <sstream>
+ #include <string>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-}
++#include <glib/gi18n.h>
+ #include <pan/general/debug.h>
+ #include <pan/general/log.h>
+ #include <pan/general/macros.h>
+diff --git a/pan/usenet-utils/ssl-utils.h b/pan/usenet-utils/ssl-utils.h
+index 2286250..0beb32f 100644
+--- a/pan/usenet-utils/ssl-utils.h
++++ b/pan/usenet-utils/ssl-utils.h
+@@ -43,9 +43,7 @@
+ #include <map>
+ #include <sstream>
+ #include <iostream>
+-extern "C" {
+-  #include <glib/gi18n.h>
+-}
++#include <glib/gi18n.h>
+ 
+ namespace pan
+ {
+diff --git a/pan/usenet-utils/text-massager.cc b/pan/usenet-utils/text-massager.cc
+index 4fcd8d5..15a818b 100644
+--- a/pan/usenet-utils/text-massager.cc
++++ b/pan/usenet-utils/text-massager.cc
+@@ -22,9 +22,7 @@
+ #include <map>
+ #include <cstring>
+ #include <glib.h>
+-extern "C" {
+ #include <glib/gi18n.h>
+-}
+ #include "text-massager.h"
+ #include <pan/general/log.h>
+ #include <pan/general/e-util.h>
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index db01ec014ee..cba8dd820b4 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -16,17 +16,18 @@
 , qtquickcontrols2
 , qtgraphicaleffects
 , sqlite
+, inkscape
 }:
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.2.2";
+  version = "3.2.4";
 
   src = fetchFromGitHub {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "sha256-UPWr5P6oEBtDK/Cuz8nZlHqKFyGEf44vbMfrphxNkMU=";
+    sha256 = "sha256-+APRR3Qj8jdDG2wc4hXFF40aTeoLGAXlsCsB4zKDI3Q=";
   };
 
   patches = [
@@ -37,6 +38,7 @@ mkDerivation rec {
   nativeBuildInputs = [
     pkg-config
     cmake
+    inkscape
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix
index 761d0e6b244..34ab19f6e27 100644
--- a/pkgs/applications/networking/owncloud-client/default.nix
+++ b/pkgs/applications/networking/owncloud-client/default.nix
@@ -1,16 +1,16 @@
-{ lib, fetchurl, mkDerivation, cmake, pkg-config, qtbase, qtkeychain, sqlite, libsecret }:
+{ lib, fetchurl, mkDerivation, cmake, extra-cmake-modules, pkg-config, qtbase, qtkeychain, sqlite, libsecret }:
 
 mkDerivation rec {
   pname = "owncloud-client";
-  version = "2.6.3.14058";
+  version = "2.8.2.4246";
 
   src = fetchurl {
-    url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz";
-    sha256 = "1xcklhvbyg34clm9as2rjnjfwxpwq77lmdxj6qc0w7q43viqvlz3";
+    url = "https://download.owncloud.com/desktop/ownCloud/stable/${version}/source/ownCloud-${version}.tar.xz";
+    sha256 = "0cc2e5154a1349bd21941ac3c32e8621778a9ff150730a19de2710e22d32fc43";
   };
 
-  nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = [ qtbase qtkeychain sqlite ];
+  nativeBuildInputs = [ pkg-config cmake extra-cmake-modules ];
+  buildInputs = [ qtbase qtkeychain sqlite libsecret ];
 
   qtWrapperArgs = [
     "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret ]}"
diff --git a/pkgs/applications/networking/p2p/zeronet/default.nix b/pkgs/applications/networking/p2p/zeronet/default.nix
index 4440b24a2b1..19da740938c 100644
--- a/pkgs/applications/networking/p2p/zeronet/default.nix
+++ b/pkgs/applications/networking/p2p/zeronet/default.nix
@@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   propagatedBuildInputs = with python3Packages; [
-    gevent msgpack base58 merkletools rsa pysocks pyasn1 websocket_client
+    gevent msgpack base58 merkletools rsa pysocks pyasn1 websocket-client
     gevent-websocket rencode bitcoinlib maxminddb pyopenssl
   ];
 
diff --git a/pkgs/applications/networking/pcloud/default.nix b/pkgs/applications/networking/pcloud/default.nix
index b3968ed8604..e1936bf06a7 100644
--- a/pkgs/applications/networking/pcloud/default.nix
+++ b/pkgs/applications/networking/pcloud/default.nix
@@ -26,14 +26,14 @@
 
 let
   pname = "pcloud";
-  version = "1.9.2";
-  code = "XZCBKnXZdbHEAu1ec7bMDQCb1oCztBc169Py";
+  version = "1.9.3";
+  code = "XZh0QTXZIYkI66plpzLAJ4G2mwDvJFvKvEzy";
   name = "${pname}-${version}";
 
   # Archive link's code thanks to: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pcloud-drive
   src = fetchzip {
     url = "https://api.pcloud.com/getpubzip?code=${code}&filename=${name}.zip";
-    hash = "sha256-9I4xl9cO1MDvdXaTv6ER/NPdqKoo0y7HNWxGl0Fn1O0=";
+    hash = "sha256-NFbSYZRysRIg6q0aaDocpK7xJbiCWc1S0McXKlCRGjU=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/networking/powerdns-admin/default.nix b/pkgs/applications/networking/powerdns-admin/default.nix
index 4ef89e26163..9dba30e3d88 100644
--- a/pkgs/applications/networking/powerdns-admin/default.nix
+++ b/pkgs/applications/networking/powerdns-admin/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, mkYarnPackage, writeText, python3Packages }:
+{ lib, stdenv, fetchFromGitHub, mkYarnPackage, writeText, python3 }:
 
 let
   version = "0.2.3";
@@ -9,10 +9,22 @@ let
     sha256 = "16faz57d77mxkflkvwyi8gb9wvnq2vhw79b84v1fmqvxri1yaphw";
   };
 
-  pythonDeps = with python3Packages; [
+  python = python3.override {
+    packageOverrides = self: super: {
+      dnspython = super.dnspython.overridePythonAttrs (oldAttrs: rec {
+        version = "1.16.0";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01";
+        };
+      });
+    };
+  };
+
+  pythonDeps = with python.pkgs; [
     flask flask_assets flask_login flask_sqlalchemy flask_migrate flask-seasurf flask_mail flask-sslify
     mysqlclient sqlalchemy
-    configobj bcrypt requests ldap pyotp qrcode dnspython_1
+    configobj bcrypt requests ldap pyotp qrcode dnspython
     gunicorn python3-saml pyopenssl pytz cssmin jsmin authlib bravado-core
     lima pytimeparse pyyaml
   ];
@@ -64,7 +76,7 @@ in stdenv.mkDerivation rec {
 
   inherit src version;
 
-  nativeBuildInputs = [ python3Packages.wrapPython ];
+  nativeBuildInputs = [ python.pkgs.wrapPython ];
 
   pythonPath = pythonDeps;
 
@@ -96,7 +108,7 @@ in stdenv.mkDerivation rec {
     echo "$gunicornScript" > $out/bin/powerdns-admin
     chmod +x $out/bin/powerdns-admin
     wrapProgram $out/bin/powerdns-admin \
-      --set PATH ${python3Packages.python}/bin \
+      --set PATH ${python.pkgs.python}/bin \
       --set PYTHONPATH $out/share:$program_PYTHONPATH
 
     runHook postInstall
diff --git a/pkgs/applications/networking/remote/aws-workspaces/default.nix b/pkgs/applications/networking/remote/aws-workspaces/default.nix
index 3451cbb129f..9efaa18e31f 100644
--- a/pkgs/applications/networking/remote/aws-workspaces/default.nix
+++ b/pkgs/applications/networking/remote/aws-workspaces/default.nix
@@ -5,15 +5,15 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-workspaces";
-  version = "3.1.5.1105";
+  version = "3.1.8.1198";
 
   src = fetchurl {
     # ref https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/Packages
     urls = [
       "https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
-      "https://web.archive.org/web/20210411145948/https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
+      "https://web.archive.org/web/20210626165043/https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
     ];
-    sha256 = "08c8912502d27e61cc2399bf99947e26c1daa1f317d5aa8cc7348d7bf8734e1b";
+    sha256 = "e784bc4401c2ffaf19f3cc42cb6c6f229c73adba36df49093a1d8cd30c86aaf0";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/remote/citrix-workspace/sources.nix b/pkgs/applications/networking/remote/citrix-workspace/sources.nix
index 1256f47041a..3fadac3f291 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/sources.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/sources.nix
@@ -89,6 +89,17 @@ let
       x86suffix = "38";
       homepage  = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
     };
+
+    "21.06.0" = {
+      major     = "21";
+      minor     = "6";
+      patch     = "0";
+      x64hash   = "f3f98c60b0aaac31eb44dc98f22ee7ae7df229c960d5d29785eb5e9554f85f68";
+      x86hash   = "c2d9652ad9488a9ff171e62df8455ebe6890bcfade1cc289893ee35322d9d812";
+      x64suffix = "28";
+      x86suffix = "28";
+      homepage  = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
+    };
   };
 
   # Retain attribute-names for abandoned versions of Citrix workspace to
diff --git a/pkgs/applications/networking/remote/putty/default.nix b/pkgs/applications/networking/remote/putty/default.nix
index e7544258acf..aab30c24e20 100644
--- a/pkgs/applications/networking/remote/putty/default.nix
+++ b/pkgs/applications/networking/remote/putty/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.74";
+  version = "0.75";
   pname = "putty";
 
   src = fetchurl {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
       "https://the.earth.li/~sgtatham/putty/${version}/${pname}-${version}.tar.gz"
       "ftp://ftp.wayne.edu/putty/putty-website-mirror/${version}/${pname}-${version}.tar.gz"
     ];
-    sha256 = "0zc43g8ycyf712cdrja4k8ih5s3agw1k0nq0jkifdn8xwn4d7mfx";
+    sha256 = "1xgrr1fbirw79zafspg2b6crzfmlfw910y79md4r7gnxgq1kn5yk";
   };
 
   # glib-2.62 deprecations
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index e2f1cf2c8a2..f61a00f89ad 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -13,13 +13,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "remmina";
-  version = "1.4.13";
+  version = "1.4.20";
 
   src = fetchFromGitLab {
     owner  = "Remmina";
     repo   = "Remmina";
     rev    = "v${version}";
-    sha256 = "sha256-R+RfczAnt5R0YmXt5SmH8gOuWOH0LZ/70pOMDAXJgsE=";
+    sha256 = "sha256-m3DUaoOD8COxMwCVBTipzCAz3mqIdunEbVPjyjAl9So=";
   };
 
   nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook ];
diff --git a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
index 48ea229c244..7c6e46c1379 100644
--- a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
+++ b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
@@ -39,19 +39,19 @@
 , zlib
 }:
 let
-  version = "2012";
+  version = "2103";
 
   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 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/CART21FQ4/VMware-Horizon-Client-Linux-2012-8.1.0-17349998.tar.gz";
-      sha256 = "0afda1f3116e75a4e7f89990d8ee60ccea5f3bb8a2360652162fa11c795724ce";
+      url = "https://download3.vmware.com/software/view/viewclients/CART22FQ1/VMware-Horizon-Client-Linux-2103-8.2.0-17742757.tar.gz";
+      sha256 = "62f95bb802b058a98f5ee6c2296b89bd7e15884a24dc8a8ba7ce89de7e0798e4";
     };
     nativeBuildInputs = [ makeWrapper ];
     installPhase = ''
diff --git a/pkgs/applications/networking/remote/wayvnc/default.nix b/pkgs/applications/networking/remote/wayvnc/default.nix
index 3e2231c10e8..f5641c762ec 100644
--- a/pkgs/applications/networking/remote/wayvnc/default.nix
+++ b/pkgs/applications/networking/remote/wayvnc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, meson, pkg-config, ninja, scdoc
+{ lib, stdenv, fetchFromGitHub, meson, pkg-config, ninja, scdoc, wayland-scanner
 , pixman, libxkbcommon, wayland, neatvnc, libdrm, libX11, aml, pam
 }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0q48fgh6gf3jicy4bk3kq18h9lhqfq9qz32ri6j9ffvbb8mcw64s";
   };
 
-  nativeBuildInputs = [ meson pkg-config ninja scdoc wayland ];
+  nativeBuildInputs = [ meson pkg-config ninja scdoc wayland-scanner ];
   buildInputs = [ pixman libxkbcommon wayland neatvnc libdrm libX11 aml pam ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/rofi-vpn/default.nix b/pkgs/applications/networking/rofi-vpn/default.nix
new file mode 100644
index 00000000000..8ff83db294f
--- /dev/null
+++ b/pkgs/applications/networking/rofi-vpn/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, makeWrapper
+, networkmanager
+, rofi-unwrapped
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rofi-vpn";
+  version = "0.2.0";
+
+  src = fetchFromGitLab {
+    owner = "DamienCassou";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "04jcfb2jy8yyrk4mg68krwh3zb5qcyj1aq1bwk96fhybrq9k2hhp";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D --target-directory=$out/bin/ ./rofi-vpn
+
+    wrapProgram $out/bin/rofi-vpn \
+      --prefix PATH ":" ${lib.makeBinPath [ rofi-unwrapped networkmanager ]}
+
+    runHook postInstall
+  '';
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  meta = with lib; {
+    description = "Rofi-based interface to enable VPN connections with NetworkManager";
+    homepage = "https://gitlab.com/DamienCassou/rofi-vpn";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ DamienCassou ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index 6b73f03531d..446da4cdea3 100644
--- a/pkgs/applications/networking/seafile-client/default.nix
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -1,27 +1,18 @@
-{ mkDerivation, lib, fetchFromGitHub, fetchpatch, pkg-config, cmake, qtbase, qttools
+{ mkDerivation, lib, fetchFromGitHub, pkg-config, cmake, qtbase, qttools
 , seafile-shared, jansson, libsearpc
 , withShibboleth ? true, qtwebengine }:
 
 mkDerivation rec {
   pname = "seafile-client";
-  version = "8.0.1";
+  version = "8.0.3";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile-client";
-    rev = "b4b944921c7efef13a93d693c45c997943899dec";
-    sha256 = "2vV+6ZXjVg81JVLfWeD0UK+RdmpBxBU2Ozx790WFSyw=";
+    rev = "v${version}";
+    sha256 = "cG3OSqRhYnxlzfauQia6pM/1gu+iE5mtHTGk3kGMFH0=";
   };
 
-  patches = [
-    # Fix compilation failure with "error: template with C linkage", fixes #122505
-    (fetchpatch {
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/fix_build_with_glib2.diff?h=seafile-client&id=7be253aaa2bdb6771721f45aa08bc875c8001c5a";
-      name = "fix_build_with_glib2.diff";
-      sha256 = "0hl7rcqfr8k62c1pr133bp3j63b905izaaggmgvr1af4jibal05v";
-    })
-  ];
-
   nativeBuildInputs = [ pkg-config cmake ];
   buildInputs = [ qtbase qttools seafile-shared jansson libsearpc ]
     ++ lib.optional withShibboleth qtwebengine;
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index 522cef2b8a7..36518db0991 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "2.50";
+  version = "2.56";
 
   src = fetchFromGitHub {
     owner = "chrislusf";
     repo = "seaweedfs";
     rev = version;
-    sha256 = "sha256-ai8/XryFw/7GYuWAmLkqHzK97QgTBPyE6m3dflck94w=";
+    sha256 = "1y9abk2i0qk5c00dnw8wvasy7dmmy6az8d1cf9bq0dwh8g8kylbn";
   };
 
-  vendorSha256 = "sha256-gJQDcACMWZWS4CgS2NDALoBzxu7Hh4ZW3f0gUFUALCM=";
+  vendorSha256 = "015qvd0h786z1iwv81i107z92mqhzldp1hkcsp75wzf4j7nmzxvf";
 
   subPackages = [ "weed" ];
 
diff --git a/pkgs/applications/networking/shellhub-agent/default.nix b/pkgs/applications/networking/shellhub-agent/default.nix
index 7ecb8936a69..aa5175fca9e 100644
--- a/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/pkgs/applications/networking/shellhub-agent/default.nix
@@ -9,18 +9,18 @@
 
 buildGoModule rec {
   pname = "shellhub-agent";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "shellhub-io";
     repo = "shellhub";
     rev = "v${version}";
-    sha256 = "0fgkjv7p2p0k58ifs77qfy0ni2yhrmk8rqyysjxq0im6j3f3az11";
+    sha256 = "02ka7acynkwkml2pavlv4j5vkm6x5aq5sfxgydv26qzs39f1wdgc";
   };
 
   modRoot = "./agent";
 
-  vendorSha256 = "1avl5xvav9y2vni5w3ksvrcz67x2kkadqw9p1cfq5rkjny1c2jrg";
+  vendorSha256 = "18z3vwcwkyj6hcvl35qmj034237h9l18dvcbx1hxry7qdwv807c9";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.AgentVersion=v${version}" ];
 
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 4fe5272bc07..d9bc78bb2fe 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.6";
+  version = "3.4.7";
   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 = "0a26kcj3n1a2kw1f3fc6s1x3rw3f3bj2cq6rp7k0kc4ciwh7i9hj";
+    sha256 = "17d00kl0s010wg2dfhy7sdbr2qm54lsi317fmbcvjz4rxx8ywk3c";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/sync/acd_cli/default.nix b/pkgs/applications/networking/sync/acd_cli/default.nix
index 519242b887c..f630cb4071a 100644
--- a/pkgs/applications/networking/sync/acd_cli/default.nix
+++ b/pkgs/applications/networking/sync/acd_cli/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchFromGitHub, buildPythonApplication, fuse
-, appdirs, colorama, dateutil, requests, requests_toolbelt
+, appdirs, colorama, python-dateutil, requests, requests_toolbelt
 , fusepy, sqlalchemy, setuptools }:
 
 buildPythonApplication rec {
@@ -15,7 +15,7 @@ buildPythonApplication rec {
     sha256 = "0a0fr632l24a3jmgla3b1vcm50ayfa9hdbp677ch1chwj5dq4zfp";
   };
 
-  propagatedBuildInputs = [ appdirs colorama dateutil fusepy requests
+  propagatedBuildInputs = [ appdirs colorama python-dateutil fusepy requests
                             requests_toolbelt setuptools sqlalchemy ];
 
   makeWrapperArgs = [ "--prefix LIBFUSE_PATH : ${fuse}/lib/libfuse.so" ];
diff --git a/pkgs/applications/networking/sync/onedrive/default.nix b/pkgs/applications/networking/sync/onedrive/default.nix
index b7e9f220f00..d53464df7a9 100644
--- a/pkgs/applications/networking/sync/onedrive/default.nix
+++ b/pkgs/applications/networking/sync/onedrive/default.nix
@@ -1,22 +1,34 @@
-{ stdenv, lib, fetchFromGitHub, autoreconfHook, ldc, installShellFiles, pkg-config
-, curl, sqlite, libnotify
-, withSystemd ? stdenv.isLinux, systemd ? null }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, autoreconfHook
+, ldc
+, installShellFiles
+, pkg-config
+, curl
+, sqlite
+, libnotify
+, withSystemd ? stdenv.isLinux
+, systemd
+}:
 
 stdenv.mkDerivation rec {
   pname = "onedrive";
-  version = "2.4.11";
+  version = "2.4.12";
 
   src = fetchFromGitHub {
     owner = "abraunegg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ioOrkhVeHHqIjoEXcYo8ATJW+2+nZOehf3XbAJUEXpY=";
+    sha256 = "sha256-rG9W90+wGLnhnfhqJjUIFGP6ZcmaxGkrdhPxQVRyxoc=";
   };
 
   nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];
 
   buildInputs = [
-    curl sqlite libnotify
+    curl
+    sqlite
+    libnotify
   ] ++ lib.optional withSystemd systemd;
 
   configureFlags = [
@@ -36,8 +48,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A complete tool to interact with OneDrive on Linux";
     homepage = "https://github.com/abraunegg/onedrive";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ srgom ianmjones ];
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ srgom peterhoeg ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix
index 23bbd19b00e..9ab8d441508 100644
--- a/pkgs/applications/networking/sync/unison/default.nix
+++ b/pkgs/applications/networking/sync/unison/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchFromGitHub, ocamlPackages, fontschumachermisc, xset, makeWrapper, ncurses, gnugrep
+{lib, stdenv, fetchFromGitHub, ocamlPackages, fontschumachermisc, xset, makeWrapper, ncurses, gnugrep, fetchpatch
 , enableX11 ? true}:
 
 let inherit (ocamlPackages) ocaml lablgtk; in
@@ -17,6 +17,16 @@ stdenv.mkDerivation (rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ ocaml ncurses ];
 
+  patches = [
+    # Patch to fix build with ocaml 4.12. Remove in 2.51.4
+    # https://github.com/bcpierce00/unison/pull/481
+    (fetchpatch {
+      name = "fix-compile-with-ocaml-4.12.patch";
+      url = "https://github.com/bcpierce00/unison/commit/14b885316e0a4b41cb80fe3daef7950f88be5c8f.patch?full_index=1";
+      sha256 = "0j1rma1cwdsfql19zvzhfj2ys5c4lbhjcp6jrnck04xnckxxiy3d";
+    })
+  ];
+
   preBuild = (if enableX11 then ''
     sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" src/Makefile.OCaml
   '' else "") + ''
diff --git a/pkgs/applications/networking/syncthing-gtk/default.nix b/pkgs/applications/networking/syncthing-gtk/default.nix
index 158999f86fe..caa46942ca9 100644
--- a/pkgs/applications/networking/syncthing-gtk/default.nix
+++ b/pkgs/applications/networking/syncthing-gtk/default.nix
@@ -1,6 +1,6 @@
 { lib, fetchFromGitHub, fetchpatch, libnotify, librsvg, killall
 , gtk3, libappindicator-gtk3, substituteAll, syncthing, wrapGAppsHook
-, gnome, buildPythonApplication, dateutil, pyinotify, pygobject3
+, gnome, buildPythonApplication, python-dateutil, pyinotify, pygobject3
 , bcrypt, gobject-introspection, gsettings-desktop-schemas
 , pango, gdk-pixbuf, atk }:
 
@@ -30,7 +30,7 @@ buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = [
-    dateutil pyinotify pygobject3 bcrypt
+    python-dateutil pyinotify pygobject3 bcrypt
   ];
 
   patches = [
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 4b983faaf0b..9db0abd0cb0 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -4,16 +4,16 @@ let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
       pname = stname;
-      version = "1.17.0";
+      version = "1.18.0";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "1bm2xj5ypn63wxxpdix9b4hbam3s2z08jx2rk5adzd5yg499sxx0";
+        sha256 = "0hrdlc1dxbxvqxylk0i2f110c6bfp9azsnzqzmjj2b29xxbrmwca";
       };
 
-      vendorSha256 = "1jvd7d095wvf94y2di48pvqv9hiw3bj859q5yx9v6lglkwdgz6nw";
+      vendorSha256 = "1qqpxm4s1s2yp1zmi4m25y1a6r7kxc5rmvfsg50jmqsfnwligpz6";
 
       doCheck = false;
 
diff --git a/pkgs/applications/networking/termius/default.nix b/pkgs/applications/networking/termius/default.nix
index b1c9adfd9c1..fec77560393 100644
--- a/pkgs/applications/networking/termius/default.nix
+++ b/pkgs/applications/networking/termius/default.nix
@@ -12,11 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "termius";
-  version = "7.1.0";
+  version = "7.16.0";
 
   src = fetchurl {
+    # find the latest version by
+    # curl https://deb.termius.com/dists/squeeze/main/binary-amd64/Packages
     url = "https://deb.termius.com/pool/main/t/termius-app/termius-app_${version}_amd64.deb";
-    sha256 = "801579b931ca0ad5340085df8863042336e2b609dd1cd6771260c873f3d2bb73";
+    sha256 = "013nli61bk4x4hkhr6gcpzm1y8ycmqk3vr7q0w2dn2bfdwjg559v";
   };
 
   desktopItem = makeDesktopItem {
@@ -41,6 +43,8 @@ stdenv.mkDerivation rec {
   unpackPhase = "dpkg-deb -x $src .";
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p "$out/bin"
     cp -R "opt" "$out"
     cp -R "usr/share" "$out/share"
@@ -48,6 +52,8 @@ stdenv.mkDerivation rec {
     # Desktop file
     mkdir -p "$out/share/applications"
     cp "${desktopItem}/share/applications/"* "$out/share/applications"
+
+    runHook postInstall
   '';
 
   runtimeDependencies = [ (lib.getLib udev) ];
@@ -58,7 +64,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    broken = true;
     description = "A cross-platform SSH client with cloud data sync and more";
     homepage = "https://termius.com/";
     downloadPage = "https://termius.com/linux/";
diff --git a/pkgs/applications/networking/testssl/default.nix b/pkgs/applications/networking/testssl/default.nix
index b4d17a1a493..3abc0458a00 100644
--- a/pkgs/applications/networking/testssl/default.nix
+++ b/pkgs/applications/networking/testssl/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "testssl.sh";
-  version = "3.0.4";
+  version = "3.0.5";
 
   src = fetchFromGitHub {
     owner = "drwetter";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Rcvkzw1DfoRXrk0vlpL6CojEHYfYga3voc2hm4qxdmw=";
+    sha256 = "sha256-p2jPpPHtOOmv0CCsXOECgMT9sqa4ZykcJwuGOSkYLaY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
       TLS/SSL ciphers, protocols as well as recent cryptographic flaws and more.
     '';
     homepage = "https://testssl.sh/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ etu ];
   };
 }
diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix
index e32502749dc..0554713feb8 100644
--- a/pkgs/applications/office/abiword/default.nix
+++ b/pkgs/applications/office/abiword/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     # default and this patch can be removed.
     # https://github.com/NixOS/nixpkgs/issues/38506
     (fetchurl {
-      url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/enchant-2.1.patch?h=packages/abiword";
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/d3ff951d3c7249927e7113b3de1653031db24596/abiword/trunk/enchant-2.1.patch";
       sha256 = "444dc2aadea3c80310a509b690097541573f6d2652c573d04da66a0f385fcfb2";
     })
   ];
diff --git a/pkgs/applications/office/espanso/default.nix b/pkgs/applications/office/espanso/default.nix
index 5cbfa5b1b2a..adeb087ae8b 100644
--- a/pkgs/applications/office/espanso/default.nix
+++ b/pkgs/applications/office/espanso/default.nix
@@ -10,6 +10,7 @@
 , openssl
 , xclip
 , xdotool
+, makeWrapper
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -28,6 +29,7 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [
     extra-cmake-modules
     pkg-config
+    makeWrapper
   ];
 
   buildInputs = [
@@ -35,6 +37,7 @@ rustPlatform.buildRustPackage rec {
     libXtst
     libXi
     libnotify
+    xclip
     openssl
     xdotool
   ];
@@ -42,6 +45,11 @@ rustPlatform.buildRustPackage rec {
   # Some tests require networking
   doCheck = false;
 
+  postInstall = ''
+    wrapProgram $out/bin/espanso \
+      --prefix PATH : ${lib.makeBinPath [ libnotify xclip ]}
+  '';
+
   meta = with lib; {
     description = "Cross-platform Text Expander written in Rust";
     homepage = "https://espanso.org";
diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix
index cdef23cff4c..92f48eb91b8 100644
--- a/pkgs/applications/office/fava/default.nix
+++ b/pkgs/applications/office/fava/default.nix
@@ -2,11 +2,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fava";
-  version = "1.18";
+  version = "1.19";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "21336b695708497e6f00cab77135b174c51feb2713b657e0e208282960885bf5";
+    sha256 = "def7c0210bf0ce8dfffdb46ce21b3efcf71eba5a4e903565258419e4c53c2d43";
   };
 
   nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index aacc2a2a579..5ab9be9fa75 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -7,11 +7,11 @@ let
   inherit (python3Packages) python pygobject3;
 in stdenv.mkDerivation rec {
   pname = "gnumeric";
-  version = "1.12.49";
+  version = "1.12.50";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "kcBy7JXDLgCxVv/oAVyTsyuO3zaPkEFDYZPPoy6E7Vc=";
+    sha256 = "dYgZuhvWmDgp+efG1xp/ogzXWjZSonHluwA9XYvMFLg=";
   };
 
   configureFlags = [ "--disable-component" ];
diff --git a/pkgs/applications/office/ledger-autosync/default.nix b/pkgs/applications/office/ledger-autosync/default.nix
index 74fcf1af8f9..4f992c3ebe9 100644
--- a/pkgs/applications/office/ledger-autosync/default.nix
+++ b/pkgs/applications/office/ledger-autosync/default.nix
@@ -1,23 +1,27 @@
-{ lib, python3Packages, fetchFromGitHub, ledger, hledger, useLedger ? true, useHledger ? true }:
+{ lib
+, python3Packages
+, fetchFromGitHub
+, ledger
+, hledger
+, useLedger ? true
+, useHledger ? true
+}:
 
 python3Packages.buildPythonApplication rec {
   pname = "ledger-autosync";
-  version = "unstable-2021-04-01";
+  version = "1.0.3";
+  format = "pyproject";
 
   # no tests included in PyPI tarball
   src = fetchFromGitHub {
     owner = "egh";
     repo = "ledger-autosync";
-    rev = "0b674c57c833f75b1a36d8caf78e1567c8e2180c";
-    sha256 = "0q404gr85caib5hg83cnmgx4684l72w9slxyxrwsiwhlf7gm443q";
+    rev = "v${version}";
+    sha256 = "0n3y4qxsv1cyvyap95h3rj4bj1sinyfgsajygm7s8di3j5aabqr2";
   };
 
-  patches = [
-    # ledger-autosync specifies an URL for its ofxparse
-    # dependency. This patch removes the URL to only use the
-    # `ofxparse` name. This works because nixpkgs' version of ofxparse
-    # is more recent than the latest release.
-    ./fix-ofxparse-dependency.patch
+  nativeBuildInputs = with python3Packages; [
+    poetry-core
   ];
 
   propagatedBuildInputs = with python3Packages; [
@@ -45,10 +49,14 @@ python3Packages.buildPythonApplication rec {
 
   # Checks require ledger as a python package,
   # ledger does not support python3 while ledger-autosync requires it.
-  checkInputs = with python3Packages; [ ledger hledger nose mock ];
-  checkPhase = ''
-    nosetests -a generic -a ledger -a hledger
-  '';
+  checkInputs = with python3Packages; [ ledger hledger nose mock pytestCheckHook ];
+
+  # Disable some non-passing tests:
+  # https://github.com/egh/ledger-autosync/issues/127
+  disabledTests = [
+    "test_payee_match"
+    "test_args_only"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/egh/ledger-autosync";
diff --git a/pkgs/applications/office/ledger-autosync/fix-ofxparse-dependency.patch b/pkgs/applications/office/ledger-autosync/fix-ofxparse-dependency.patch
deleted file mode 100644
index cb12ba9f335..00000000000
--- a/pkgs/applications/office/ledger-autosync/fix-ofxparse-dependency.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index eda6db5..ed6b90b 100644
---- a/setup.py
-+++ b/setup.py
-@@ -38,7 +38,7 @@ setup(
-     install_requires=[
-         'setuptools>=26',
-         'ofxclient',
--        "ofxparse @ https://github.com/jseutter/ofxparse/tarball/3236cfd96434feb6bc79a8b66f3400f18e2ad3c4"
-+        'ofxparse'
-     ],
- 
-     extras_require={
\ No newline at end of file
diff --git a/pkgs/applications/office/notes-up/default.nix b/pkgs/applications/office/notes-up/default.nix
index 8271b2974ce..de09bc1c761 100644
--- a/pkgs/applications/office/notes-up/default.nix
+++ b/pkgs/applications/office/notes-up/default.nix
@@ -1,9 +1,10 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , nix-update-script
 , pantheon
 , pkg-config
-, vala_0_46
+, vala
 , cmake
 , ninja
 , gtk3
@@ -12,27 +13,28 @@
 , gtkspell3
 , glib
 , libgee
+, pcre
 , sqlite
 , discount
 , wrapGAppsHook
-, withPantheon ? false }:
+, withPantheon ? false
+}:
 
 stdenv.mkDerivation rec {
   pname = "notes-up";
-  version = "2.0.2";
+  version = "unstable-2020-12-29";
 
   src = fetchFromGitHub {
     owner = "Philip-Scott";
     repo = "Notes-up";
-    rev = version;
-    sha256 = "0bklgp8qrrj9y5m77xqbpy1ld2d9ya3rlxklgzx3alffq5312i4s";
+    rev = "2ea9f35f588769758f5d2d4436d71c4059141a6f";
+    sha256 = "sha256-lKOM9+s34xYB9bF9pgip9DFu+6AaxSE4HjFVhoWtttk=";
   };
 
   nativeBuildInputs = [
     cmake
     ninja
-    # fails with newer vala: https://github.com/Philip-Scott/Notes-up/issues/349
-    vala_0_46
+    vala
     pkg-config
     wrapGAppsHook
   ];
@@ -45,6 +47,7 @@ stdenv.mkDerivation rec {
     gtkspell3
     libgee
     pantheon.granite
+    pcre
     sqlite
     webkitgtk
   ];
@@ -60,9 +63,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Markdown notes editor and manager designed for elementary OS"
-    + lib.optionalString withPantheon " - built with Contractor support";
+      + lib.optionalString withPantheon " - built with Contractor support";
     homepage = "https://github.com/Philip-Scott/Notes-up";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ davidak ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/office/paperless/default.nix b/pkgs/applications/office/paperless/default.nix
index c2578696c68..68032ebe849 100644
--- a/pkgs/applications/office/paperless/default.nix
+++ b/pkgs/applications/office/paperless/default.nix
@@ -122,7 +122,7 @@ let
 
   runtimePackages = with python.pkgs; [
     dateparser
-    dateutil
+    python-dateutil
     django
     django-cors-headers
     django-crispy-forms
diff --git a/pkgs/applications/office/paperwork/paperwork-gtk.nix b/pkgs/applications/office/paperwork/paperwork-gtk.nix
index 8f1278d9926..16ee7733ed2 100644
--- a/pkgs/applications/office/paperwork/paperwork-gtk.nix
+++ b/pkgs/applications/office/paperwork/paperwork-gtk.nix
@@ -122,7 +122,7 @@ python3Packages.buildPythonApplication rec {
     openpaperwork-core
     pypillowfight
     pyxdg
-    dateutil
+    python-dateutil
     setuptools
   ];
 
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index 17c6398f4ff..eb2c0b0f1e7 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.52.0";
+  version = "0.53.1";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "1pvjckh7z803piqyzrvk54jd43f2vcyx20zjcgmq1va8jc3q69k1";
+    sha256 = "0hddq1nijxhr6kgf7gydw0nh07lh86fs8srkhm29ik4hmv8ch19p";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/pyspread/default.nix b/pkgs/applications/office/pyspread/default.nix
index 54d3b8f5c3e..3c68c19aa97 100644
--- a/pkgs/applications/office/pyspread/default.nix
+++ b/pkgs/applications/office/pyspread/default.nix
@@ -34,7 +34,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
-    dateutil
+    python-dateutil
     markdown2
     matplotlib
     numpy
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index 71717c010dd..4f3fde81e98 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "21.5.2";
+  version = "21.7.4";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
     # Fetch the checksum of current version with curl:
     # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
-    sha256 = "cf68dc78e641ca66403621cef4002ddd09463ead2eb060812d8124d6749ba03b";
+    sha256 = "3957dc623b419582ef7ccc5cb04b8f97bed4e96e8ecc2e99bef9dca7ce255b8e";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/office/softmaker/generic.nix b/pkgs/applications/office/softmaker/generic.nix
index 56a951919e3..3c139e1eead 100644
--- a/pkgs/applications/office/softmaker/generic.nix
+++ b/pkgs/applications/office/softmaker/generic.nix
@@ -123,7 +123,7 @@ in stdenv.mkDerivation {
     description = "An office suite with a word processor, spreadsheet and presentation program";
     homepage = "https://www.softmaker.com/";
     license = licenses.unfree;
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/office/super-productivity/default.nix b/pkgs/applications/office/super-productivity/default.nix
index 7793db2138c..7cb9a9b7e99 100644
--- a/pkgs/applications/office/super-productivity/default.nix
+++ b/pkgs/applications/office/super-productivity/default.nix
@@ -5,11 +5,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "super-productivity";
-  version = "6.5.2";
+  version = "7.2.1";
 
   src = fetchurl {
     url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage";
-    sha256 = "1ivl7chsv9axgk6nqkf580pav651hchi3di0mrp0pylpsqgk6f1f";
+    sha256 = "93eeb56fe923c48a9384cde0633e98a9d9dc5c0869fce63b9724ff74bb400049";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/office/timedoctor/default.nix b/pkgs/applications/office/timedoctor/default.nix
new file mode 100644
index 00000000000..4b97f7b3dcd
--- /dev/null
+++ b/pkgs/applications/office/timedoctor/default.nix
@@ -0,0 +1,123 @@
+{ appimageTools
+, fetchurl
+, lib
+}:
+
+# You can debug this package with: $ ELECTRON_ENABLE_LOGGING=true timedoctor
+let
+  version = "3.12.12";
+  sha256 = "01j149c6lacgysll3sajxlb43m1al08kdcwc6zyzw80nrp4iagf6";
+in
+appimageTools.wrapType2 {
+  name = "timedoctor-${version}";
+  src = fetchurl {
+    inherit sha256;
+    url = "https://repo2.timedoctor.com/td-desktop-hybrid/prod/v${version}/timedoctor-desktop_${version}_linux-x86_64.AppImage";
+  };
+  multiPkgs = _: with _; [
+    alsa-lib
+    atk
+    at-spi2-atk
+    at-spi2-core
+    cairo
+    coreutils
+    cups
+    dbus
+    dbus.lib
+    desktop-file-utils
+    expat
+    expat.dev
+    file
+    freetype
+    gcc
+    gcc-unwrapped.lib
+    gdb
+    gdk-pixbuf
+    git
+    glib
+    glibc
+    gdk-pixbuf
+    gtk3
+    gtk3.dev
+    gnome.zenity
+    gnome2.GConf
+    gnumake
+    gnutar
+    gpsd
+    gtk3
+    gtk3.dev
+    gtk3-x11
+    gtk3-x11.dev
+    plasma5Packages.kdialog
+    libappindicator-gtk2.out
+    libexif
+    (libjpeg.override { enableJpeg8 = true; }).out
+    libnotify
+    libpng
+    libxml2
+    libxslt
+    netcat
+    nettools
+    nodePackages.asar
+    nspr
+    nss
+    openjdk
+    pango
+    patchelf
+    python38
+    strace
+    sqlite
+    sqlite.dev
+    udev
+    unzip
+    util-linux
+    watch
+    wget
+    which
+    wrapGAppsHook
+    xdg-utils
+    xorg.libX11
+    xorg.libXau
+    xorg.libXaw
+    xorg.libXaw3d
+    xorg.libxcb
+    xorg.libXcomposite
+    xorg.libXcursor
+    xorg.libXdamage
+    xorg.libXdmcp
+    xorg.libXext
+    xorg.libXfixes
+    xorg.libXfont
+    xorg.libXfont2
+    xorg.libXft
+    xorg.libXi
+    xorg.libXinerama
+    xorg.libXmu
+    xorg.libXp
+    xorg.libXpm
+    xorg.libXpresent
+    xorg.libXrandr
+    xorg.libXrender
+    xorg.libXres
+    xorg.libXScrnSaver
+    xorg.libXt
+    xorg.libXTrap
+    xorg.libXtst
+    xorg.libXv
+    xorg.libXvMC
+    xorg.libXxf86dga
+    xorg.libXxf86misc
+    xorg.libXxf86vm
+    xorg.xcbutilkeysyms
+    zip
+    zlib
+    zsh
+  ];
+  meta = with lib; {
+    description = "Employee time tracking software";
+    homepage = "https://www.timedoctor.com";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ kamadorueda ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix
index d6b7e08b4be..a1be66c56f1 100644
--- a/pkgs/applications/office/trilium/default.nix
+++ b/pkgs/applications/office/trilium/default.nix
@@ -19,16 +19,16 @@ let
     maintainers = with maintainers; [ fliegendewurst ];
   };
 
-  version = "0.47.4";
+  version = "0.47.5";
 
   desktopSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "0hvp6rpvgda12ficzqkj7kllgmpzc8n4rvpgv0zi6fa5alkr944x";
+    sha256 = "16sm93vzlsqmrykbzdvgwszbhq79brd74zp9n9q5wrf4s44xizzv";
   };
 
   serverSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-    sha256 = "01bbg7ssszrq27zk7xzil2mawk1659h1hw68yvk8lbgc4n9phkqk";
+    sha256 = "0jk9pf3ljzfdv7d91wxda8z9qz653qas58wsrx42gnf7zxn1l648";
   };
 
 in {
diff --git a/pkgs/applications/office/tryton/default.nix b/pkgs/applications/office/tryton/default.nix
index b3a5ae44c93..ff4835411ef 100644
--- a/pkgs/applications/office/tryton/default.nix
+++ b/pkgs/applications/office/tryton/default.nix
@@ -36,7 +36,7 @@ python3Packages.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3Packages; [
-    dateutil
+    python-dateutil
     pygobject3
     goocalendar
     pycairo
diff --git a/pkgs/applications/office/watson/default.nix b/pkgs/applications/office/watson/default.nix
index b212ae05a9d..74e06d4311c 100644
--- a/pkgs/applications/office/watson/default.nix
+++ b/pkgs/applications/office/watson/default.nix
@@ -2,8 +2,23 @@
 
 with pythonPackages;
 
-buildPythonApplication rec {
+let
+  # Watson is currently not compatible with Click 8. See the following
+  # upstream issues / MRs:
+  #
+  # https://github.com/TailorDev/Watson/issues/430
+  # https://github.com/TailorDev/Watson/pull/432
+  #
+  # Workaround the issue by providing click 7 explicitly.
+  click7 = pythonPackages.callPackage ../../../development/python-modules/click/7.nix {};
+  click7-didyoumean = click-didyoumean.override {
+    click = click7;
+  };
+in buildPythonApplication rec {
   pname = "watson";
+
+  # When you update Watson, please check whether the Click 7
+  # workaround above can go away.
   version = "2.0.1";
 
   src = fetchFromGitHub {
@@ -19,7 +34,7 @@ buildPythonApplication rec {
   '';
 
   checkInputs = [ pytestCheckHook pytest-mock mock pytest-datafiles ];
-  propagatedBuildInputs = [ arrow click click-didyoumean requests ];
+  propagatedBuildInputs = [ arrow click7 click7-didyoumean requests ];
   nativeBuildInputs = [ installShellFiles ];
 
   meta = with lib; {
diff --git a/pkgs/applications/printing/pappl/default.nix b/pkgs/applications/printing/pappl/default.nix
index de0b9bada53..9752ebc0e7c 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.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "michaelrsweet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-L4ptgAJAvyTUCVl6YotA8DnlISc9PwZM0WjXyOvxGJg=";
+    sha256 = "sha256-B3g6R0/li+5D4odFG21qj+SR3K4PFnzzxIGCwbk1buo=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/applications/radio/gnuradio/3.8.nix b/pkgs/applications/radio/gnuradio/3.8.nix
index f20ffe01bdc..05a87a480f3 100644
--- a/pkgs/applications/radio/gnuradio/3.8.nix
+++ b/pkgs/applications/radio/gnuradio/3.8.nix
@@ -42,14 +42,14 @@
 , versionAttr ? {
   major = "3.8";
   minor = "3";
-  patch = "0";
+  patch = "1";
 }
 # We use our build of volk and not the one bundled with the release
 , fetchSubmodules ? false
 }:
 
 let
-  sourceSha256 = "0lwbj3slhc8bjjvfw7yz45if21hajydgy2vsjvj2barzmhfb37fd";
+  sourceSha256 = "0vd39azp8n576dbqsanax7bgsnxwc80riaxid2ihxs4xzyjmbw9r";
   featuresInfo = {
     # Needed always
     basic = {
@@ -242,6 +242,7 @@ stdenv.mkDerivation rec {
     # From some reason, if these are not set, libcodec2 and gsm are not
     # detected properly. The issue is reported upstream:
     # https://github.com/gnuradio/gnuradio/issues/4278
+    # The above issue was fixed for GR3.9 without a backporting patch.
     #
     # NOTE: qradiolink needs libcodec2 to be detected in
     # order to build, see https://github.com/qradiolink/qradiolink/issues/67
diff --git a/pkgs/applications/radio/gnuradio/default.nix b/pkgs/applications/radio/gnuradio/default.nix
index 528ea126453..c62b031d813 100644
--- a/pkgs/applications/radio/gnuradio/default.nix
+++ b/pkgs/applications/radio/gnuradio/default.nix
@@ -22,6 +22,7 @@
 , uhd
 , SDL
 , gsl
+, soapysdr
 , libsodium
 , libsndfile
 , libunwind
@@ -44,14 +45,14 @@
 , pname ? "gnuradio"
 , versionAttr ? {
   major = "3.9";
-  minor = "1";
+  minor = "2";
   patch = "0";
 }
 , fetchSubmodules ? false
 }:
 
 let
-  sourceSha256 = "0zydmrr3gkaqiv4jv8f42awrfzs177bqb349q34rnr6j3d32z2vp";
+  sourceSha256 = "01wyqazrpphmb0fl69j93k0w4vm4d1l4177m1fyg7qx8hzia0aaq";
   featuresInfo = {
     # Needed always
     basic = {
@@ -205,6 +206,12 @@ let
     gr-network = {
       cmakeEnableFlag = "GR_NETWORK";
     };
+    gr-soapy = {
+      cmakeEnableFlag = "GR_SOAPY";
+      runtime = [
+        soapysdr
+      ];
+    };
   };
   shared = (import ./shared.nix {
     inherit
@@ -233,6 +240,7 @@ stdenv.mkDerivation rec {
     src
     nativeBuildInputs
     buildInputs
+    cmakeFlags
     disallowedReferences
     stripDebugList
     doCheck
@@ -248,25 +256,9 @@ stdenv.mkDerivation rec {
   } // lib.optionalAttrs (hasFeature "gr-qtgui" features) {
     inherit (libsForQt5) qwt;
   };
-  cmakeFlags = shared.cmakeFlags
-    # From some reason, if these are not set, libcodec2 and gsm are not
-    # detected properly.
-    ++ lib.optionals (hasFeature "gr-vocoder" features) [
-      "-DLIBCODEC2_FOUND=TRUE"
-      "-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so"
-      "-DLIBCODEC2_INCLUDE_DIRS=${codec2}/include"
-      "-DLIBCODEC2_HAS_FREEDV_API=ON"
-      "-DLIBGSM_FOUND=TRUE"
-      "-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
-      "-DLIBGSM_INCLUDE_DIRS=${gsm}/include/gsm"
-    ]
-  ;
 
   postInstall = shared.postInstall
     # This is the only python reference worth removing, if needed.
-    # Even if python support is enabled, and we don't care about this
-    # reference, pybind's path is not properly set. See:
-    # https://github.com/gnuradio/gnuradio/issues/4380
     + lib.optionalString (!hasFeature "python-support" features) ''
       ${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake
       ${removeReferencesTo}/bin/remove-references-to -t ${python} $(readlink -f $out/lib/libgnuradio-runtime.so)
diff --git a/pkgs/applications/radio/soapyairspy/default.nix b/pkgs/applications/radio/soapyairspy/default.nix
index 0541c3abf91..7e8a09d67b9 100644
--- a/pkgs/applications/radio/soapyairspy/default.nix
+++ b/pkgs/applications/radio/soapyairspy/default.nix
@@ -2,18 +2,15 @@
 , airspy, soapysdr
 } :
 
-let
-  version = "0.1.2";
-
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "soapyairspy";
-  inherit version;
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "pothosware";
     repo = "SoapyAirspy";
     rev = "soapy-airspy-${version}";
-    sha256 = "061r77vs6ywxbxfif12y6v5xkz6gcvbz9k060q12vmdh6sisdwk2";
+    sha256 = "0g23yybnmq0pg2m8m7dbhif8lw0hdsmnnjym93fdyxfk5iln7fsc";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/radio/soapysdr/default.nix b/pkgs/applications/radio/soapysdr/default.nix
index ea8c8fad106..ccd4b8799ce 100644
--- a/pkgs/applications/radio/soapysdr/default.nix
+++ b/pkgs/applications/radio/soapysdr/default.nix
@@ -8,7 +8,7 @@
 
 let
 
-  version = "0.7.2";
+  version = "0.8.0";
   modulesVersion = with lib; versions.major version + "." + versions.minor version;
   modulesPath = "lib/SoapySDR/modules" + modulesVersion;
   extraPackagesSearchPath = lib.makeSearchPath modulesPath extraPackages;
@@ -21,7 +21,7 @@ in stdenv.mkDerivation {
     owner = "pothosware";
     repo = "SoapySDR";
     rev = "soapy-sdr-${version}";
-    sha256 = "102wnpjxrwba20pzdh1vvx0yg1h8vqd8z914idxflg9p14r6v5am";
+    sha256 = "1dy25zxk7wmg7ik82dx7h3bbbynvalbz1dxsl7kgm3374yxhnixv";
   };
 
   nativeBuildInputs = [ cmake makeWrapper pkg-config ];
diff --git a/pkgs/applications/science/astronomy/phd2/default.nix b/pkgs/applications/science/astronomy/phd2/default.nix
index 0e0ad06bbe9..543e6820a76 100644
--- a/pkgs/applications/science/astronomy/phd2/default.nix
+++ b/pkgs/applications/science/astronomy/phd2/default.nix
@@ -1,19 +1,32 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, gtk3, wxGTK30-gtk3,
-  curl, gettext, glib, indi-full, libnova, wrapGAppsHook }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, gtk3, wxGTK30-gtk3
+, curl, gettext, glib, indi-full, libnova, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "phd2";
-  version = "2.6.9dev1";
+  version = "2.6.10";
 
   src = fetchFromGitHub {
     owner = "OpenPHDGuiding";
     repo = "phd2";
     rev = "v${version}";
-    sha256 = "1ih7m9lilh12xbhmwm9kkicaqy72mi3firl6df7m5x38n2zj3zm4";
+    sha256 = "sha256-2ZiPjhlguWXFcC53xG1aqAode7twtoHWszFUMQkK5xU=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
-  buildInputs = [ gtk3 wxGTK30-gtk3 curl gettext glib indi-full libnova ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    wxGTK30-gtk3
+    curl
+    gettext
+    glib
+    indi-full
+    libnova
+  ];
 
   cmakeFlags = [
     "-DOPENSOURCE_ONLY=1"
@@ -27,8 +40,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://openphdguiding.org/";
     description = "Telescope auto-guidance application";
+    changelog = "https://github.com/OpenPHDGuiding/phd2/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ hjones2199 ];
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/astronomy/siril/default.nix b/pkgs/applications/science/astronomy/siril/default.nix
index fd49957aa35..b50cb4b71d0 100644
--- a/pkgs/applications/science/astronomy/siril/default.nix
+++ b/pkgs/applications/science/astronomy/siril/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab, fetchpatch, pkg-config, meson, ninja
+{ lib, stdenv, fetchFromGitLab, pkg-config, meson, ninja
 , git, criterion, gtk3, libconfig, gnuplot, opencv, json-glib
 , fftwFloat, cfitsio, gsl, exiv2, librtprocess, wcslib, ffmpeg
 , libraw, libtiff, libpng, libjpeg, libheif, ffms, wrapGAppsHook
@@ -6,23 +6,15 @@
 
 stdenv.mkDerivation rec {
   pname = "siril";
-  version = "0.99.8.1";
+  version = "0.99.10.1";
 
   src = fetchFromGitLab {
     owner = "free-astro";
     repo = pname;
     rev = version;
-    sha256 = "0h3slgpj6zdc0rwmyr9zb0vgf53283hpwb7h26skdswmggsk90i5";
+    sha256 = "sha256-gqV+pJNaU+GnYiUo/imofgNdeM+AtDg/pSH7aoqhkYA=";
   };
 
-  patches = [
-    # Backport fix for broken build on glib-2.68
-    (fetchpatch {
-      url = "https://gitlab.com/free-astro/siril/-/commit/d319fceca5b00f156e1c5e3512d3ac1f41beb16a.diff";
-      sha256 = "00lq9wq8z48ly3hmkgzfqbdjaxr0hzyl2qwbj45bdnxfwqragh5m";
-    })
-  ];
-
   nativeBuildInputs = [
     meson ninja pkg-config git criterion wrapGAppsHook
   ];
@@ -47,7 +39,8 @@ stdenv.mkDerivation rec {
     homepage = "https://www.siril.org/";
     description = "Astrophotographic image processing tool";
     license = licenses.gpl3Plus;
+    changelog = "https://gitlab.com/free-astro/siril/-/blob/HEAD/ChangeLog";
     maintainers = with maintainers; [ hjones2199 ];
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 7922f4d02ad..2e28d9d83e5 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.21.0";
+  version = "0.21.1";
 
   src = fetchFromGitHub {
     owner = "Stellarium";
     repo = "stellarium";
     rev = "v${version}";
-    sha256 = "sha256-LOBWfKLtoFemiWBUVayIBG0DORvjI6h9kgaPH9hGmKY=";
+    sha256 = "sha256-dAdB57phD5phl8dQZIHtqtnA2LZqR+JoXTzIBtqBevA=";
   };
 
   nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
diff --git a/pkgs/applications/science/astronomy/xplanet/default.nix b/pkgs/applications/science/astronomy/xplanet/default.nix
index 82331a9496d..8c0cb2be32b 100644
--- a/pkgs/applications/science/astronomy/xplanet/default.nix
+++ b/pkgs/applications/science/astronomy/xplanet/default.nix
@@ -16,12 +16,12 @@ stdenv.mkDerivation rec {
   patches = [
     (fetchpatch {
       name = "giflib6.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/giflib6.patch?h=packages/xplanet&id=ce6f25eb369dc011161613894f01fd0a6ae85a09";
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/ce6f25eb369dc011161613894f01fd0a6ae85a09/trunk/giflib6.patch";
       sha256 = "173l0xkqq0v2bpaff7hhwc7y2aw5cclqw8988k1nalhyfbrjb8bl";
     })
     (fetchpatch {
       name = "xplanet-c++11.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/xplanet-c++11.patch?h=packages/xplanet&id=ce6f25eb369dc011161613894f01fd0a6ae85a09";
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/ce6f25eb369dc011161613894f01fd0a6ae85a09/trunk/xplanet-c++11.patch";
       sha256 = "0vldai78ixw49bxch774pps6pq4sp0p33qvkvxywcz7p8kzpg8q2";
     })
   ];
diff --git a/pkgs/applications/science/biology/bcftools/default.nix b/pkgs/applications/science/biology/bcftools/default.nix
index 46d39c1a7ba..d0196c0e25a 100644
--- a/pkgs/applications/science/biology/bcftools/default.nix
+++ b/pkgs/applications/science/biology/bcftools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bcftools";
-  version = "1.11";
+  version = "1.13";
 
   src = fetchurl {
     url = "https://github.com/samtools/bcftools/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0r508mp15pqzf8r1269kb4v5naw9zsvbwd3cz8s1yj7carsf9viw";
+    sha256 = "sha256-E7+h2ipe3aj6URlqR6C0r7P+8XUWRR5PDnhHfz3TC5A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/biology/truvari/default.nix b/pkgs/applications/science/biology/truvari/default.nix
index fffeca2c740..31c1fc50ee3 100644
--- a/pkgs/applications/science/biology/truvari/default.nix
+++ b/pkgs/applications/science/biology/truvari/default.nix
@@ -5,15 +5,20 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "truvari";
-  version = "2.0.2";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "spiralgenetics";
     repo = "truvari";
     rev = "v${version}";
-    sha256 = "0lp1wnldjv92k4ncga1h0icb0dpjsrx427vggg40x04a7kp9lwx0";
+    sha256 = "14nsdbj063qm175xxixs34cihvsiskc9gym8pg7gbwsh13k5a00h";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'python-Levenshtein==0.12.1' 'python-Levenshtein>=0.12.1'
+  '';
+
   propagatedBuildInputs = with python3Packages; [
     pyvcf
     python-Levenshtein
diff --git a/pkgs/applications/science/chemistry/cp2k/default.nix b/pkgs/applications/science/chemistry/cp2k/default.nix
new file mode 100644
index 00000000000..6bb99ce556d
--- /dev/null
+++ b/pkgs/applications/science/chemistry/cp2k/default.nix
@@ -0,0 +1,117 @@
+{ lib, stdenv, fetchFromGitHub, python3, gfortran, blas, lapack
+, fftw, libint, libvori, libxc, mpi, gsl, scalapack, openssh, makeWrapper
+, libxsmm, spglib, which
+} :
+
+let
+  cp2kVersion = "psmp";
+  arch = "Linux-x86-64-gfortran";
+
+in stdenv.mkDerivation rec {
+  pname = "cp2k";
+  version = "8.2.0";
+
+  src = fetchFromGitHub {
+    owner = "cp2k";
+    repo = "cp2k";
+    rev = "v${version}";
+    sha256 = "0kykq5p318hxjzd4gzqjwv9gqshbdvbg0gnjbd9bdfjx1r6jkjn3";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ python3 which openssh makeWrapper ];
+  buildInputs = [
+    gfortran
+    fftw
+    gsl
+    libint
+    libvori
+    libxc
+    libxsmm
+    spglib
+    scalapack
+    blas
+    lapack
+  ];
+
+  propagatedBuildInputs = [ mpi ];
+  propagatedUserEnvPkgs = [ mpi ];
+
+  makeFlags = [
+    "ARCH=${arch}"
+    "VERSION=${cp2kVersion}"
+  ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  postPatch = ''
+    patchShebangs tools exts/dbcsr/tools/build_utils exts/dbcsr/.cp2k
+    substituteInPlace exts/dbcsr/.cp2k/Makefile --replace '/usr/bin/env python3' '${python3}/bin/python'
+  '';
+
+  configurePhase = ''
+    cat > arch/${arch}.${cp2kVersion} << EOF
+    CC         = mpicc
+    CPP        =
+    FC         = mpif90
+    LD         = mpif90
+    AR         = ar -r
+    DFLAGS     = -D__FFTW3 -D__LIBXC -D__LIBINT -D__parallel -D__SCALAPACK \
+                 -D__MPI_VERSION=3 -D__F2008 -D__LIBXSMM -D__SPGLIB \
+                 -D__MAX_CONTR=4 -D__LIBVORI
+    CFLAGS    = -fopenmp
+    FCFLAGS    = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \
+                 -ftree-vectorize -funroll-loops -msse2 \
+                 -std=f2008 \
+                 -fopenmp -ftree-vectorize -funroll-loops \
+                 -I${libxc}/include -I${libxsmm}/include \
+                 -I${libint}/include
+    LIBS       = -lfftw3 -lfftw3_threads \
+                 -lscalapack -lblas -llapack \
+                 -lxcf03 -lxc -lxsmmf -lxsmm -lsymspg \
+                 -lint2 -lstdc++ -lvori \
+                 -lgomp -lpthread -lm \
+                 -fopenmp
+    LDFLAGS    = \$(FCFLAGS) \$(LIBS)
+    EOF
+  '';
+
+  checkPhase = ''
+    export OMP_NUM_THREADS=1
+
+    export HYDRA_IFACE=lo  # Fix to make mpich run in a sandbox
+    export OMPI_MCA_rmaps_base_oversubscribe=1
+    export CP2K_DATA_DIR=data
+
+    mpirun -np 2 exe/${arch}/libcp2k_unittest.${cp2kVersion}
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/cp2k
+
+    cp exe/${arch}/* $out/bin
+
+    for i in cp2k cp2k_shell graph; do
+      wrapProgram $out/bin/$i.${cp2kVersion} \
+        --set-default CP2K_DATA_DIR $out/share/cp2k
+    done
+
+    wrapProgram $out/bin/cp2k.popt \
+      --set-default CP2K_DATA_DIR $out/share/cp2k \
+      --set OMP_NUM_THREADS 1
+
+    cp -r data/* $out/share/cp2k
+  '';
+
+  passthru = { inherit mpi; };
+
+  meta = with lib; {
+    description = "Quantum chemistry and solid state physics program";
+    homepage = "https://www.cp2k.org";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.sheepforce ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/science/chemistry/dkh/default.nix b/pkgs/applications/science/chemistry/dkh/default.nix
new file mode 100644
index 00000000000..a0bed24336a
--- /dev/null
+++ b/pkgs/applications/science/chemistry/dkh/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, gfortran, fetchFromGitHub, cmake } :
+
+stdenv.mkDerivation rec {
+  pname = "dkh";
+  version = "1.2";
+
+  src = fetchFromGitHub  {
+    owner = "psi4";
+    repo = pname;
+    rev = "v${version}";
+    sha256= "1wb4qmb9f8rnrwnnw1gdhzx1fmhy628bxfrg56khxy3j5ljxkhck";
+  };
+
+  nativeBuildInputs = [
+    gfortran
+    cmake
+  ];
+
+  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
+
+  hardeningDisable = [
+    "format"
+  ];
+
+  meta = with lib; {
+    description = "Arbitrary-order scalar-relativistic Douglas-Kroll-Hess module";
+    license = licenses.lgpl3Only;
+    homepage = "https://github.com/psi4/dkh";
+    platforms = platforms.unix;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/pkgs/applications/science/chemistry/element/default.nix b/pkgs/applications/science/chemistry/element/default.nix
new file mode 100644
index 00000000000..812272e2fb9
--- /dev/null
+++ b/pkgs/applications/science/chemistry/element/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "element";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "gennaro-tedesco";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "gjdcNvYNnxb6hOE/MQjTezZeYGBWTr4E8/Pt8YQv3lY=";
+  };
+
+  vendorSha256 = "A4g2rQTaYrA4/0rqldUv7iuibzNINEvx9StUnaN2/Yg=";
+
+  meta = with lib; {
+    description = "The periodic table on the command line";
+    homepage = "https://github.com/gennaro-tedesco/element";
+    license = licenses.asl20;
+    maintainers = [ maintainers.j0hax ];
+  };
+}
diff --git a/pkgs/applications/science/chemistry/gwyddion/default.nix b/pkgs/applications/science/chemistry/gwyddion/default.nix
index ca80262eb76..43007cb1f0f 100644
--- a/pkgs/applications/science/chemistry/gwyddion/default.nix
+++ b/pkgs/applications/science/chemistry/gwyddion/default.nix
@@ -35,10 +35,10 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gwyddion";
-   version = "2.58";
+   version = "2.59";
   src = fetchurl {
     url = "mirror://sourceforge/gwyddion/gwyddion-${version}.tar.xz";
-    sha256 = "sha256-0xNnzYkuW3nEsO2o+0WEA+Z71XWoq6FYXm342OWO9Sw=";
+    sha256 = "sha256-APMOJeZt/zp8JvXghKZ5lQFRKWO/4TVDORok8qAgEBk=";
   };
 
   nativeBuildInputs = [ pkg-config file ];
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
index 93ec987e2c6..5d2158843ed 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.39";
+  version = "14.31.44";
   pname = "jmol";
 
   src = let
     baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
   in fetchurl {
     url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
-    sha256 = "sha256-ss+QvBsmivqNdjXW45Sv9h/JXuZpryCGmRTsUgcDlRE=";
+    sha256 = "sha256-MHfqoQzUEL7nje7Y/hbaA8iktxfN7464TJXum5B6OCc=";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix
index 74ed1873efe..1927950c4fc 100644
--- a/pkgs/applications/science/chemistry/octopus/default.nix
+++ b/pkgs/applications/science/chemistry/octopus/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab, symlinkJoin, gfortran, perl, procps
+{ lib, stdenv, fetchFromGitLab, gfortran, perl, procps
 , libyaml, libxc, fftw, blas, lapack, gsl, netcdf, arpack, autoreconfHook
 , python3
 }:
@@ -7,19 +7,24 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "octopus";
-  version = "10.3";
+  version = "10.5";
 
   src = fetchFromGitLab {
     owner = "octopus-code";
     repo = "octopus";
     rev = version;
-    sha256 = "1axr3j53mi30gm3f645ga5jkhxbc7rbx432w2k2lgg6g9dv3fcs4";
+    sha256 = "1bgdkmsp6pwq3b6nxxkimrdmz71wqr8qi25gdzwpcv9wmcf1q27v";
   };
 
-  nativeBuildInputs = [ perl procps autoreconfHook ];
+  nativeBuildInputs = [
+    perl
+    procps
+    autoreconfHook
+    gfortran
+  ];
+
   buildInputs = [
     libyaml
-    gfortran
     libxc
     blas
     lapack
diff --git a/pkgs/applications/science/electronics/diylc/default.nix b/pkgs/applications/science/electronics/diylc/default.nix
index dac6713a495..96a2c9a0489 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.17.0";
+  version = "4.18.0";
   files = {
     app = fetchurl {
       url = "https://github.com/bancika/diy-layout-creator/releases/download/v${version}/diylc-${version}.zip";
-      sha256 = "0cysqkrddhbs7rprm8xm21c286mz4apw66fxakhzlg50kjn0nwjv";
+      sha256 = "09fpp3dn086clgnjz5yj4fh5bnjvj6mvxkx9n3zamcwszjmxr40d";
     };
     icon16 = fetchurl {
       url = "https://raw.githubusercontent.com/bancika/diy-layout-creator/v${version}/diylc/diylc-core/src/org/diylc/core/images/icon_small.png";
@@ -41,8 +41,8 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    install -d $out/share/diylc
-    ${unzip}/bin/unzip -UU ${files.app} -d $out/share/diylc
+    mkdir -p $out/share/diylc
+    unzip -UU ${files.app} -d $out/share/diylc
     rm $out/share/diylc/diylc.exe
     rm $out/share/diylc/run.sh
 
@@ -51,10 +51,10 @@ stdenv.mkDerivation rec {
     install -Dm644 ${files.icon32} $out/share/icons/hicolor/32x32/apps/diylc_icon.png
     install -Dm644 ${files.icon48} $out/share/icons/hicolor/48x48/apps/diylc_icon.png
 
-    install -d $out/share/applications
+    mkdir -p $out/share/applications
     ln -s ${launcher}/share/applications/* $out/share/applications/
 
-    install -d $out/bin
+    mkdir -p $out/bin
     cat <<EOF > $out/bin/diylc
     #!${bash}/bin/sh
     cd $out/share/diylc
diff --git a/pkgs/applications/science/electronics/fritzing/default.nix b/pkgs/applications/science/electronics/fritzing/default.nix
index 79c01d3ec71..30cbd8f92b5 100644
--- a/pkgs/applications/science/electronics/fritzing/default.nix
+++ b/pkgs/applications/science/electronics/fritzing/default.nix
@@ -1,86 +1,75 @@
-{ mkDerivation, lib, fetchpatch, fetchFromGitHub, qmake, pkg-config
-, qtbase, qtsvg, qttools, qtserialport, boost, libgit2
+{ mkDerivation
+, lib
+, fetchFromGitHub
+, qmake
+, pkg-config
+, qtbase
+, qtsvg
+, qttools
+, qtserialport
+, boost
+, libgit2
 }:
 
 let
   # build number corresponding to a release, has no further relation
   # see https://github.com/fritzing/fritzing-app/releases/tag/CD-498
-  fritzingBuild = "498";
+  # fritzingBuild = "498";
+  # version 0.9.6 is properly tagged, hope it continues
+
   # SHA256 of the fritzing-parts HEAD on the master branch,
   # which contains the latest stable parts definitions
-  partsSha = "e79a69765026f3fda8aab1b3e7a4952c28047a62";
+  partsSha = "6f04697be286768bc9e4d64f8707e8e40cbcafcb";
 in
 
 mkDerivation rec {
   pname = "fritzing";
-  version = "0.9.4-${fritzingBuild}";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
-    owner = "fritzing";
+    owner = pname;
     repo = "fritzing-app";
-    rev = "CD-${fritzingBuild}";
-    sha256 = "0aljj2wbmm1vd64nhj6lh9qy856pd5avlgydsznya2vylyz20p34";
+    rev = version;
+    sha256 = "083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs";
   };
 
   parts = fetchFromGitHub {
-    owner = "fritzing";
+    owner = pname;
     repo = "fritzing-parts";
     name = "fritzing-parts";
     rev = partsSha;
-    sha256 = "0spka33a5qq34aq79j01arw1aly4vh0hzv7mahryhdlcdk22qqvc";
+    sha256 = "1f4w0hz44n4iw1rc5vhcgzvlji54rf4yr8bvzkqv99hn2xf5pjgs";
   };
 
   buildInputs = [ qtbase qtsvg qtserialport boost libgit2 ];
-
   nativeBuildInputs = [ qmake pkg-config qttools ];
 
-  patches = [(fetchpatch {
-    name = "fix-libgit2-version.patch";
-    url = "https://github.com/fritzing/fritzing-app/commit/472951243d70eeb40a53b1f7e16e6eab0588d079.patch";
-    sha256 = "0v1zi609cjnqac80xgnk23n54z08g1lia37hbzfl8jcq9sn9adak";
-  })];
-
   postPatch = ''
     substituteInPlace phoenix.pro \
       --replace 'LIBGIT_STATIC = true' 'LIBGIT_STATIC = false'
 
-    substituteInPlace tools/linux_release_script/release.sh \
-      --replace 'git status' 'echo >/dev/null' \
-      --replace 'git clean' 'echo >/dev/null' \
-      --replace 'git clone' 'echo >/dev/null' \
-      --replace 'release_folder="' 'release_folder="$out" #' \
-      --replace './Fritzing -db' '# run after fixup'
-
     substituteInPlace src/fapplication.cpp \
       --replace 'PartsChecker::getSha(dir.absolutePath());' '"${partsSha}";'
-  '';
-
-  buildPhase = ''
-    bash tools/linux_release_script/release.sh ${version}
-  '';
 
-  installPhase = ''
-    rm "$out/Fritzing" # remove script file
-    mkdir "$out/bin"
-    mv "$out/lib/Fritzing" "$out/bin/Fritzing"
-    mkdir --parents "$out/share/applications" "$out/share/metainfo"
-    mv --target-directory="$out/share/applications" "$out/org.fritzing.Fritzing.desktop"
-    mv --target-directory="$out/share/metainfo" "$out/org.fritzing.Fritzing.appdata.xml"
-    cp --recursive --no-target-directory "$parts" "$out/fritzing-parts"
+    mkdir parts
+    cp -a ${parts}/* parts/
   '';
 
   postFixup = ''
     # generate the parts.db file
-    QT_QPA_PLATFORM=offscreen "$out/bin/Fritzing" -db "$out/fritzing-parts/parts.db" -pp "$out/fritzing-parts" -folder "$out"
+    QT_QPA_PLATFORM=offscreen "$out/bin/Fritzing" \
+      -db "$out/share/fritzing/parts/parts.db" \
+      -pp "$out/fritzing/parts" \
+      -folder "$out/share/fritzing"
   '';
 
   qmakeFlags = [ "phoenix.pro" ];
 
-  meta = {
+  meta = with lib; {
     description = "An open source prototyping tool for Arduino-based projects";
     homepage = "https://fritzing.org/";
-    license = lib.licenses.gpl3;
-    maintainers = [ lib.maintainers.robberer ];
-    platforms = lib.platforms.linux;
+    license = with licenses; [ gpl3 cc-by-sa-30 ];
+    maintainers = with maintainers; [ robberer ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index af5441f07e2..b539df7592a 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkwave";
-  version = "3.3.109";
+  version = "3.3.110";
 
   src = fetchurl {
     url    = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
-    sha256 = "sha256-NUYezNm4tEcMqnirmo8U7Ky8ye/2MDPY3OWAk+eG3rc=";
+    sha256 = "sha256-Ku25IVa8ot3SWxODeMrOaxBY5X022TnvD3l2kAa3Wao=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
diff --git a/pkgs/applications/science/electronics/kicad/base.nix b/pkgs/applications/science/electronics/kicad/base.nix
index 9848eb58399..596083c2709 100644
--- a/pkgs/applications/science/electronics/kicad/base.nix
+++ b/pkgs/applications/science/electronics/kicad/base.nix
@@ -62,6 +62,7 @@ assert lib.assertMsg (!(stable && (sanitizeAddress || sanitizeThreads)))
   "Only kicad-unstable(-small) supports address/thread sanitation";
 assert lib.assertMsg (!(sanitizeAddress && sanitizeThreads))
   "'sanitizeAddress' and 'sanitizeThreads' are mutually exclusive, use one.";
+
 let
   inherit (lib) optional optionals;
 in
@@ -81,14 +82,16 @@ stdenv.mkDerivation rec {
 
   makeFlags = optionals (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
 
-  cmakeFlags = optionals (withScripting) [
+  cmakeFlags = optionals (stable && withScripting) [
     "-DKICAD_SCRIPTING=ON"
     "-DKICAD_SCRIPTING_MODULES=ON"
     "-DKICAD_SCRIPTING_PYTHON3=ON"
     "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
   ]
-  ++ optional (!withScripting)
+  ++ optionals (!withScripting) [
     "-DKICAD_SCRIPTING=OFF"
+    "-DKICAD_SCRIPTING_WXPYTHON=OFF"
+  ]
   ++ optional (withNgspice) "-DKICAD_SPICE=ON"
   ++ optional (!withOCE) "-DKICAD_USE_OCE=OFF"
   ++ optional (!withOCC) "-DKICAD_USE_OCC=OFF"
@@ -152,7 +155,10 @@ stdenv.mkDerivation rec {
     openssl
     boost
   ]
-  ++ optionals (withScripting) [ swig python wxPython ]
+  # unstable requires swig and python
+  # wxPython still optional
+  ++ optionals (withScripting || (!stable)) [ swig python ]
+  ++ optional (withScripting) wxPython
   ++ optional (withNgspice) libngspice
   ++ optional (withOCE) opencascade
   ++ optional (withOCC) opencascade-occt
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index c30c074a5de..ae403d3f733 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -27,23 +27,23 @@
   };
   "kicad-unstable" = {
     kicadVersion = {
-      version =			"2021-05-16";
+      version =			"2021-07-12";
       src = {
-        rev =			"c33b2cfa8d16072b9d1bce558e443c4afa889d06";
-        sha256 =		"1fvbxjpf880ikjqjhzj8wlxj0845gzrj1yv35rk7akbg4vl9ph72";
+        rev =			"76a6177eb7fc2efe8b5fd522355e70c44a33b150";
+        sha256 =		"1a94z29if73cnxjx75vkgasm339dasbrjwbg2zk1c35pfygnwrj5";
       };
     };
     libVersion = {
-      version =			"2021-05-16";
+      version =			"2021-07-12";
       libSources = {
         i18n.rev =		"e89d9a89bec59199c1ade56ee2556591412ab7b0";
         i18n.sha256 =		"04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
-        symbols.rev =		"32de73ea01347a005790119eb4102c550815685c";
-        symbols.sha256 =	"0gj10v06rkxlxngc40d1sfmlcagy5p7jfxid0lch4w0wxfjmks7z";
+        symbols.rev =		"a6f64c12c9cdea4cda25cdd2c92708e7eb461d46";
+        symbols.sha256 =	"0j6ng3ysqlxcggjyq3bsgqzg6j50if74q2dpyrdh5pckfqvvmv20";
         templates.rev =		"073d1941c428242a563dcb5301ff5c7479fe9c71";
         templates.sha256 =	"14p06m2zvlzzz2w74y83f2zml7mgv5dhy2nyfkpblanxawrzxv1x";
-        footprints.rev =	"8fa36dfa3423d8777472e3475c1c2b0b2069624f";
-        footprints.sha256 =	"138xfkr0prxw2djkwc1m4mlp9km99v12sivbqhm1jkq5yxngdbin";
+        footprints.rev =	"1bacc7562198e2a2985df7f2fbcd7620b4fd0d46";
+        footprints.sha256 =	"1h17q0xpl4k4klg3mafzsbl88wzrg73xjsh8llyni2jzs531545a";
         packages3d.rev =	"d8b7e8c56d535f4d7e46373bf24c754a8403da1f";
         packages3d.sha256 =	"0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd";
       };
diff --git a/pkgs/applications/science/electronics/nanovna-saver/default.nix b/pkgs/applications/science/electronics/nanovna-saver/default.nix
index 9f959bddf2d..af78fc71ebf 100644
--- a/pkgs/applications/science/electronics/nanovna-saver/default.nix
+++ b/pkgs/applications/science/electronics/nanovna-saver/default.nix
@@ -1,12 +1,25 @@
-{ lib, mkDerivationWith, wrapQtAppsHook, python3Packages, fetchFromGitHub
-, qtbase }:
+{ lib
+, python3
+, fetchFromGitHub
+, wrapQtAppsHook
+}:
 
 let
-  version = "0.3.8";
+  python = python3.override {
+    packageOverrides = self: super: {
+      scipy = super.scipy.overridePythonAttrs (oldAttrs: rec {
+        version = "1.4.1";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "0ndw7zyxd2dj37775mc75zm4fcyiipnqxclc45mkpxy8lvrvpqfy";
+        };
+        doCheck = false;
+      });
+    };
+  };
+in python.pkgs.buildPythonApplication rec {
   pname = "nanovna-saver";
-
-in mkDerivationWith python3Packages.buildPythonApplication {
-  inherit pname version;
+  version = "0.3.8";
 
   src = fetchFromGitHub {
     owner = "NanoVNA-Saver";
@@ -17,9 +30,9 @@ in mkDerivationWith python3Packages.buildPythonApplication {
 
   nativeBuildInputs = [ wrapQtAppsHook ];
 
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = with python.pkgs; [
     cython
-    scipy_1_4
+    scipy
     pyqt5
     pyserial
     numpy
@@ -30,10 +43,11 @@ in mkDerivationWith python3Packages.buildPythonApplication {
   dontWrapGApps = true;
   dontWrapQtApps = true;
 
-  postFixup = ''
-    wrapProgram $out/bin/NanoVNASaver \
-      "''${gappsWrapperArgs[@]}" \
+  preFixup = ''
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
       "''${qtWrapperArgs[@]}"
+    )
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/science/electronics/openhantek6022/default.nix b/pkgs/applications/science/electronics/openhantek6022/default.nix
index acdac346fd3..d2cdf20ab87 100644
--- a/pkgs/applications/science/electronics/openhantek6022/default.nix
+++ b/pkgs/applications/science/electronics/openhantek6022/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "openhantek6022";
-  version = "3.1.3";
+  version = "3.2.3";
 
   src = fetchFromGitHub {
     owner = "OpenHantek";
     repo = "OpenHantek6022";
     rev = version;
-    sha256 = "1n4l8ks5808d99zj1vj0ck0v1lb9s7iv3ahww7ximbf9iha39pbm";
+    sha256 = "0hnd3rdmv76dwwlmkykzwhp5sbxd1fr5ss8zdfdybxw28cxlpq8r";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
@@ -23,8 +23,8 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Free software for Hantek and compatible (Voltcraft/Darkwire/Protek/Acetech) USB digital signal oscilloscopes";
-    homepage    = "https://github.com/OpenHantek/OpenHantek6022";
-    license     = licenses.gpl3;
+    homepage = "https://github.com/OpenHantek/OpenHantek6022";
+    license = licenses.gpl3;
     maintainers = with maintainers; [ baracoder ];
     platforms = qtbase.meta.platforms;
   };
diff --git a/pkgs/applications/science/geometry/tetgen/default.nix b/pkgs/applications/science/geometry/tetgen/default.nix
index 75eaa089ecf..1e3c96ae8c6 100644
--- a/pkgs/applications/science/geometry/tetgen/default.nix
+++ b/pkgs/applications/science/geometry/tetgen/default.nix
@@ -16,7 +16,6 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    inherit version;
     description = "Quality Tetrahedral Mesh Generator and 3D Delaunay Triangulator";
     homepage = "http://tetgen.org/";
     license = lib.licenses.agpl3Plus;
diff --git a/pkgs/applications/science/logic/cedille/default.nix b/pkgs/applications/science/logic/cedille/default.nix
index 2b099e7664a..611bbbe979f 100644
--- a/pkgs/applications/science/logic/cedille/default.nix
+++ b/pkgs/applications/science/logic/cedille/default.nix
@@ -52,5 +52,10 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ marsam mpickering ];
     platforms = platforms.unix;
+
+    # Broken due to Agda update.  See
+    # https://github.com/NixOS/nixpkgs/pull/129606#issuecomment-881107449.
+    broken = true;
+    hydraPlatforms = platforms.none;
   };
 }
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index 9d6212fef11..b5c66289c9d 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -129,14 +129,15 @@ self = stdenv.mkDerivation {
     ++ optionals buildIde
       (if versionAtLeast "8.10"
        then [ ocamlPackages.lablgtk3-sourceview3 glib gnome.adwaita-icon-theme wrapGAppsHook ]
-       else [ ocamlPackages.lablgtk ]);
+       else [ ocamlPackages.lablgtk ])
+    ++ optional (versionAtLeast "8.14") ocamlPackages.dune_2
+  ;
 
   postPatch = ''
     UNAME=$(type -tp uname)
     RM=$(type -tp rm)
-    substituteInPlace configure --replace "/bin/uname" "$UNAME"
     substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
-    substituteInPlace configure.ml --replace '"md5 -q"' '"md5sum"'
+    ${if !versionAtLeast "8.7" then "substituteInPlace configure.ml --replace \"md5 -q\" \"md5sum\"" else ""}
     ${csdpPatch}
   '';
 
diff --git a/pkgs/applications/science/logic/elan/default.nix b/pkgs/applications/science/logic/elan/default.nix
index d20be86daf0..a49262e7cb6 100644
--- a/pkgs/applications/science/logic/elan/default.nix
+++ b/pkgs/applications/science/logic/elan/default.nix
@@ -7,16 +7,16 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "elan";
-  version = "1.0.2";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "leanprover";
     repo = "elan";
     rev = "v${version}";
-    sha256 = "sha256-nK4wvxK5Ne1+4kaMts6pIr5FvXBgXJsGdn68gGEZUdk=";
+    sha256 = "sha256-Ns8vSS/PDlfopigW4Nz3fdR9PCMG8gDoL36+/s0Qkeo=";
   };
 
-  cargoSha256 = "sha256-ptSbpq1ePNWmdBGfKtqFGfkdimDjU0YEo4F8VPtQMt4=";
+  cargoSha256 = "sha256-NDtldiVo4SyE88f6ntKn1WJDFdvwN5Ps4DxQH15iNZE=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
diff --git a/pkgs/applications/science/logic/eprover/default.nix b/pkgs/applications/science/logic/eprover/default.nix
index 14c46f88b27..3b757d40a69 100644
--- a/pkgs/applications/science/logic/eprover/default.nix
+++ b/pkgs/applications/science/logic/eprover/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "eprover";
-  version = "2.5";
+  version = "2.6";
 
   src = fetchurl {
     url = "https://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD/V_${version}/E.tgz";
-    sha256 = "0jj0zkiqpcx9xp16spkskrv3jycprz7jg1g97i67j43c4yvxylwa";
+    sha256 = "sha256-qh896qIpFR5g1gdWAwGkbNJLBqUQCeCpuoYHHkDXPt0=";
   };
 
   buildInputs = [ which ];
diff --git a/pkgs/applications/science/logic/gappa/default.nix b/pkgs/applications/science/logic/gappa/default.nix
index 73f34f60fc4..be1d6f253bc 100644
--- a/pkgs/applications/science/logic/gappa/default.nix
+++ b/pkgs/applications/science/logic/gappa/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, gmp, mpfr, boost }:
 
 stdenv.mkDerivation {
-  name = "gappa-1.3.5";
+  name = "gappa-1.4.0";
 
   src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/file/38044/gappa-1.3.5.tar.gz";
-    sha256 = "0q1wdiwqj6fsbifaayb1zkp20bz8a1my81sqjsail577jmzwi07w";
+    url = "https://gforge.inria.fr/frs/download.php/file/38436/gappa-1.4.0.tar.gz";
+    sha256 = "12x42z901pr05ldmparqdi8sq9s7fxbavhzk2dbq3l6hy247dwbb";
   };
 
   buildInputs = [ gmp mpfr boost.dev ];
diff --git a/pkgs/applications/science/logic/hol/default.nix b/pkgs/applications/science/logic/hol/default.nix
index 569c455e653..8427249c4ce 100644
--- a/pkgs/applications/science/logic/hol/default.nix
+++ b/pkgs/applications/science/logic/hol/default.nix
@@ -81,7 +81,7 @@ stdenv.mkDerivation {
     '';
     homepage = "http://hol.sourceforge.net/";
     license = licenses.bsd3;
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.unix;
     maintainers = with maintainers; [ mudri ];
   };
 }
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 214f4e218fd..ea2cd356e31 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.30.0";
+  version = "3.31.0";
 
   src = fetchFromGitHub {
     owner  = "leanprover-community";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     # from. this is then used to check whether an olean file should be
     # rebuilt. don't use a tag as rev because this will get replaced into
     # src/githash.h.in in preConfigure.
-    rev    = "a5822ea47ebc52eec6323d8f1b60f6ec025daf99";
-    sha256 = "sha256-gJhbkl19iilNyfCt2TfPmghYA3yCjg6kS+yk/x/k14Y=";
+    rev    = "333783350cd3fe38f25fed1da7d6a433d8f85b77";
+    sha256 = "sha256-N8Ju7pSGssvt84/0e1o6G/p7fWM1c0Mzw+ftL1/++J4=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/leo3/binary.nix b/pkgs/applications/science/logic/leo3/binary.nix
index dda18c49b72..6196f644370 100644
--- a/pkgs/applications/science/logic/leo3/binary.nix
+++ b/pkgs/applications/science/logic/leo3/binary.nix
@@ -3,27 +3,26 @@ stdenv.mkDerivation rec {
   pname = "leo3";
   version = "1.2";
 
-  jar = fetchurl {
+  src = fetchurl {
     url = "https://github.com/leoprover/Leo-III/releases/download/v${version}/leo3.jar";
     sha256 = "1lgwxbr1rnk72rnvc8raq5i1q71ckhn998pwd9xk6zf27wlzijk7";
   };
 
-  phases=["installPhase" "fixupPhase"];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p "$out"/{bin,lib/java/leo3}
-    cp "${jar}" "$out/lib/java/leo3/leo3.jar"
+    cp "${src}" "$out/lib/java/leo3/leo3.jar"
     echo "#!${runtimeShell}" > "$out/bin/leo3"
     echo "'${openjdk}/bin/java' -jar '$out/lib/java/leo3/leo3.jar' \"\$@\""  >> "$out/bin/leo3"
     chmod a+x "$out/bin/leo3"
   '';
 
-  meta = {
-    inherit version;
+  meta = with lib; {
     description = "An automated theorem prover for classical higher-order logic with choice";
-    license = lib.licenses.bsd3;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
+    license = licenses.bsd3;
+    maintainers = [maintainers.raskin];
+    platforms = platforms.linux;
     homepage = "https://page.mi.fu-berlin.de/lex/leo3/";
   };
 }
diff --git a/pkgs/applications/science/logic/potassco/clingcon.nix b/pkgs/applications/science/logic/potassco/clingcon.nix
index 4d64a813e62..0f3218b7673 100644
--- a/pkgs/applications/science/logic/potassco/clingcon.nix
+++ b/pkgs/applications/science/logic/potassco/clingcon.nix
@@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
-    inherit version;
     description = "Extension of clingo to handle constraints over integers";
     license = lib.licenses.gpl3; # for now GPL3, next version MIT!
     platforms = lib.platforms.unix;
diff --git a/pkgs/applications/science/logic/potassco/clingo.nix b/pkgs/applications/science/logic/potassco/clingo.nix
index 091b098fa3f..2e907a2d3a3 100644
--- a/pkgs/applications/science/logic/potassco/clingo.nix
+++ b/pkgs/applications/science/logic/potassco/clingo.nix
@@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
   cmakeFlags = [ "-DCLINGO_BUILD_WITH_PYTHON=OFF" ];
 
   meta = {
-    inherit version;
     description = "ASP system to ground and solve logic programs";
     license = lib.licenses.mit;
     maintainers = [lib.maintainers.raskin];
diff --git a/pkgs/applications/science/logic/satallax/default.nix b/pkgs/applications/science/logic/satallax/default.nix
index 8c88f47327e..9bfad1fa010 100644
--- a/pkgs/applications/science/logic/satallax/default.nix
+++ b/pkgs/applications/science/logic/satallax/default.nix
@@ -60,7 +60,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    inherit version;
     description = "Automated theorem prover for higher-order logic";
     license = lib.licenses.mit ;
     maintainers = [lib.maintainers.raskin];
diff --git a/pkgs/applications/science/logic/tlaplus/toolbox.nix b/pkgs/applications/science/logic/tlaplus/toolbox.nix
index defe218b119..ef2d97ef6bf 100644
--- a/pkgs/applications/science/logic/tlaplus/toolbox.nix
+++ b/pkgs/applications/science/logic/tlaplus/toolbox.nix
@@ -1,5 +1,5 @@
 { lib, fetchzip, makeWrapper, makeDesktopItem, stdenv
-, gtk3, libXtst, glib, zlib
+, gtk3, libXtst, glib, zlib, wrapGAppsHook
 }:
 
 let
@@ -25,7 +25,11 @@ in stdenv.mkDerivation rec {
     sha256 = "02a2y2mkfab5cczw8g604m61h4xr0apir49zbd1aq6mmgcgngw80";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ gtk3 ];
+
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
+
+  dontWrapGApps = true;
 
   phases = [ "installPhase" ];
 
@@ -36,6 +40,9 @@ in stdenv.mkDerivation rec {
     cp -r "$src" "$out/toolbox"
     chmod -R +w "$out/toolbox"
 
+    fixupPhase
+    gappsWrapperArgsHook
+
     patchelf \
       --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
       "$out/toolbox/toolbox"
@@ -52,7 +59,8 @@ in stdenv.mkDerivation rec {
     makeWrapper $out/toolbox/toolbox $out/bin/tla-toolbox \
       --run "set -x; cd $out/toolbox" \
       --add-flags "-data ~/.tla-toolbox" \
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk3 libXtst glib zlib ]}"
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk3 libXtst glib zlib ]}"  \
+      "''${gappsWrapperArgs[@]}"
 
     echo -e "\nCreating TLA Toolbox icons..."
     pushd "$src"
diff --git a/pkgs/applications/science/logic/verifast/default.nix b/pkgs/applications/science/logic/verifast/default.nix
index 2d625a1c1b2..e426f7b8098 100644
--- a/pkgs/applications/science/logic/verifast/default.nix
+++ b/pkgs/applications/science/logic/verifast/default.nix
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
     sha256 = "169kshjq4cf4i9v92azv0xaflrnik5686w7fwcgdhd6qkbzflzl6";
   };
 
+  dontConfigure = true;
   dontStrip = true;
-  phases = "unpackPhase installPhase";
   installPhase = ''
     mkdir -p $out/bin
     cp -R bin $out/libexec
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index c56e5445f0b..924ff3fd9fd 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -3,36 +3,33 @@
 
 stdenv.mkDerivation {
   pname = "why3";
-  version = "1.3.3";
+  version = "1.4.0";
 
   src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/file/38367/why3-1.3.3.tar.gz";
-    sha256 = "1n0a2nn1gnk0zg339lh698g4wpk7m8m1vyi2yvifd5adqvk4milw";
+    url = "https://gforge.inria.fr/frs/download.php/file/38425/why3-1.4.0.tar.gz";
+    sha256 = "0lw0cpx347zz9vvwqibmbxgs80fsd16scgk3isscvwxnajpc3rv8";
   };
 
   buildInputs = with ocamlPackages; [
     ocaml findlib ocamlgraph zarith menhir menhirLib
-    # Compressed Sessions
     # Emacs compilation of why3.el
     emacs
     # Documentation
     rubber hevea
     # GUI
-    lablgtk
+    lablgtk3-sourceview3
     # WebIDE
     js_of_ocaml js_of_ocaml-ppx
+    # S-expression output for why3pp
+    ppx_deriving ppx_sexp_conv
     # Coq Support
     coqPackages.coq coqPackages.flocq ocamlPackages.camlp5
   ];
 
-  propagatedBuildInputs = with ocamlPackages; [ camlzip num ];
+  propagatedBuildInputs = with ocamlPackages; [ camlzip num re sexplib ];
 
   enableParallelBuilding = true;
 
-  postPatch = ''
-    substituteInPlace Makefile.in --replace js_of_ocaml.ppx js_of_ocaml-ppx
-  '';
-
   configureFlags = [ "--enable-verbose-make" ];
 
   installTargets = [ "install" "install-lib" ];
diff --git a/pkgs/applications/science/logic/workcraft/default.nix b/pkgs/applications/science/logic/workcraft/default.nix
index 7fb73419c07..63a94636560 100644
--- a/pkgs/applications/science/logic/workcraft/default.nix
+++ b/pkgs/applications/science/logic/workcraft/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+  dontConfigure = true;
 
   installPhase = ''
   mkdir -p $out/share
@@ -28,6 +28,5 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.linux;
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ timor ];
-    inherit version;
   };
 }
diff --git a/pkgs/applications/science/logic/z3/tptp.nix b/pkgs/applications/science/logic/z3/tptp.nix
index bb912742b7c..23136ddf7a7 100644
--- a/pkgs/applications/science/logic/z3/tptp.nix
+++ b/pkgs/applications/science/logic/z3/tptp.nix
@@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    inherit version;
     inherit (z3.meta) license homepage platforms;
     description = "TPTP wrapper for Z3 prover";
     maintainers = [lib.maintainers.raskin];
diff --git a/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix b/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
index de6f9212983..d1523b571f4 100644
--- a/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
+++ b/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, boost169, flatbuffers, fmt, rapidjson, spdlog, zlib }:
+{ lib, stdenv, fetchFromGitHub, cmake, boost, flatbuffers, fmt, rapidjson, spdlog, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "vowpal-wabbit";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [
-    boost169
+    boost
     flatbuffers
     fmt
     rapidjson
diff --git a/pkgs/applications/science/math/4ti2/default.nix b/pkgs/applications/science/math/4ti2/default.nix
new file mode 100644
index 00000000000..bb6a89385ce
--- /dev/null
+++ b/pkgs/applications/science/math/4ti2/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, glpk
+, gmp
+}:
+
+stdenv.mkDerivation rec{
+  pname = "4ti2";
+  version = "1.6.9";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "Release_${builtins.replaceStrings ["."] ["_"] version}";
+    hash = "sha256-cywneIM0sHt1iQsNfjyQDoDfdRjxpz4l3rfysi9YN20=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  buildInputs = [
+    glpk
+    gmp
+  ];
+
+  installFlags = [ "install-exec" ];
+
+  meta = with lib;{
+    homepage = "https://4ti2.github.io/";
+    description = "A software package for algebraic, geometric and combinatorial problems on linear spaces";
+    license = with licenses; [ gpl2Plus ];
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix
index 565c6a17672..08bf84be7c8 100644
--- a/pkgs/applications/science/math/caffe/default.nix
+++ b/pkgs/applications/science/math/caffe/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
     let pp = python.pkgs; in ([
       pp.numpy pp.scipy pp.scikitimage pp.h5py
       pp.matplotlib pp.ipython pp.networkx pp.nose
-      pp.pandas pp.dateutil pp.protobuf pp.gflags
+      pp.pandas pp.python-dateutil pp.protobuf pp.gflags
       pp.pyyaml pp.pillow pp.six
     ] ++ lib.optional leveldbSupport pp.leveldb)
   );
diff --git a/pkgs/applications/science/math/engauge-digitizer/default.nix b/pkgs/applications/science/math/engauge-digitizer/default.nix
new file mode 100644
index 00000000000..4c26dc2887c
--- /dev/null
+++ b/pkgs/applications/science/math/engauge-digitizer/default.nix
@@ -0,0 +1,60 @@
+{ lib, stdenv, fetchFromGitHub, fftw, libjpeg, log4cpp, openjpeg
+, libpng12, poppler, qtbase, qt5, qmake, wrapQtAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "engauge-digitizer";
+  version = "12.2.2";
+
+  src = fetchFromGitHub {
+    owner = "markummitchell";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Wj9o3wWbtHsEi6LFH4xDpwVR9BwcWc472jJ/QFDQZvY=";
+  };
+
+  nativeBuildInputs = [ qmake wrapQtAppsHook ];
+
+  buildInputs = [
+    qtbase
+    qt5.qttools
+    poppler
+    libpng12
+    openjpeg
+    openjpeg.dev
+    log4cpp
+    libjpeg
+    fftw
+  ];
+
+  qmakeFlags = [
+    "CONFIG+=jpeg2000"
+    "CONFIG+=pdf"
+    "CONFIG+=log4cpp_null"
+  ];
+
+  POPPLER_INCLUDE = "${poppler.dev}/include/poppler/qt5";
+
+  POPPLER_LIB = "${poppler}/lib";
+
+  OPENJPEG_INCLUDE = "${openjpeg.dev}/include/${openjpeg.pname}-${lib.versions.majorMinor openjpeg.version}";
+
+  OPENJPEG_LIB = "${openjpeg}/lib";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp bin/engauge $out/bin/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Engauge Digitizer is a tool for recovering graph data from an image file";
+    homepage = "https://markummitchell.github.io/engauge-digitizer";
+    license = with licenses; [ gpl2Only ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/pkgs/applications/science/math/eukleides/default.nix b/pkgs/applications/science/math/eukleides/default.nix
index b5a9fc3fa86..6b6bfd7d6e5 100644
--- a/pkgs/applications/science/math/eukleides/default.nix
+++ b/pkgs/applications/science/math/eukleides/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, bison, flex, makeWrapper, texinfo, readline, texLive }:
+{ lib, stdenv, fetchurl, bison, flex, makeWrapper, texinfo4, getopt, readline, texlive }:
 
 lib.fix (eukleides: stdenv.mkDerivation rec {
   pname = "eukleides";
@@ -9,12 +9,16 @@ lib.fix (eukleides: stdenv.mkDerivation rec {
     sha256 = "0s8cyh75hdj89v6kpm3z24i48yzpkr8qf0cwxbs9ijxj1i38ki0q";
   };
 
-  # use $CC instead of hardcoded gcc
-  patches = [ ./use-CC.patch ];
+  patches = [
+    # use $CC instead of hardcoded gcc
+    ./use-CC.patch
+    # allow PostScript transparency in epstopdf call
+    ./gs-allowpstransparency.patch
+  ];
 
-  nativeBuildInputs = [ bison flex texinfo makeWrapper ];
+  nativeBuildInputs = [ bison flex texinfo4 makeWrapper ];
 
-  buildInputs = [ readline texLive ];
+  buildInputs = [ getopt readline ];
 
   preConfigure = ''
     substituteInPlace Makefile \
@@ -34,19 +38,15 @@ lib.fix (eukleides: stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram $out/bin/euktoeps \
-      --set-default TEXINPUTS : \
-      --prefix TEXINPUTS : "$tex/tex/latex/eukleides" \
-      --prefix PATH : "${texLive}/bin"
-    wrapProgram $out/bin/euktopdf \
-      --set-default TEXINPUTS : \
-      --prefix TEXINPUTS : "$tex/tex/latex/eukleides" \
-      --prefix PATH : "${texLive}/bin"
+      --prefix PATH : ${lib.makeBinPath [ getopt ]}
   '';
 
   outputs = [ "out" "doc" "tex" ];
 
   passthru.tlType = "run";
-  passthru.pkgs = [ eukleides.tex ];
+  passthru.pkgs = [ eukleides.tex ]
+    # packages needed by euktoeps, euktopdf and eukleides.sty
+    ++ (with texlive; collection-pstricks.pkgs ++ epstopdf.pkgs ++ iftex.pkgs ++ moreverb.pkgs);
 
   meta = {
     description = "Geometry Drawing Language";
diff --git a/pkgs/applications/science/math/eukleides/gs-allowpstransparency.patch b/pkgs/applications/science/math/eukleides/gs-allowpstransparency.patch
new file mode 100644
index 00000000000..aa92e6cc9fa
--- /dev/null
+++ b/pkgs/applications/science/math/eukleides/gs-allowpstransparency.patch
@@ -0,0 +1,10 @@
+--- a/bash/euktopdf
++++ b/bash/euktopdf
+@@ -55,6 +55,6 @@ do
+     exit 1
+   fi
+   dvips -q -E -o $base.eps $base.dvi &&
+-  epstopdf $base.eps &&
++  epstopdf --gsopt=-dALLOWPSTRANSPARENCY $base.eps &&
+   rm -f $base.{tex,log,dvi,eps}
+ done
diff --git a/pkgs/applications/science/math/getdp/default.nix b/pkgs/applications/science/math/getdp/default.nix
index 39d9c866cae..5ea3550d08a 100644
--- a/pkgs/applications/science/math/getdp/default.nix
+++ b/pkgs/applications/science/math/getdp/default.nix
@@ -1,15 +1,19 @@
 { lib, stdenv, fetchurl, cmake, gfortran, blas, lapack, mpi, petsc, python3 }:
 
 stdenv.mkDerivation rec {
-  name = "getdp-${version}";
+  pname = "getdp";
   version = "3.3.0";
   src = fetchurl {
     url = "http://getdp.info/src/getdp-${version}-source.tgz";
     sha256 = "1pfviy2bw8z5y6c15czvlvyjjg9pvpgrj9fr54xfi2gmvs7zkgpf";
   };
 
-  nativeBuildInputs = [ cmake gfortran ];
-  buildInputs = [ blas lapack mpi petsc python3 ];
+  inherit (petsc) mpiSupport;
+  nativeBuildInputs = [ cmake python3 ];
+  buildInputs = [ gfortran blas lapack petsc ]
+    ++ lib.optional mpiSupport mpi
+  ;
+  cmakeFlags = lib.optional mpiSupport "-DENABLE_MPI=1";
 
   meta = with lib; {
     description = "A General Environment for the Treatment of Discrete Problems";
diff --git a/pkgs/applications/science/math/gfan/default.nix b/pkgs/applications/science/math/gfan/default.nix
index 1a2835932c6..11a42d1cfdf 100644
--- a/pkgs/applications/science/math/gfan/default.nix
+++ b/pkgs/applications/science/math/gfan/default.nix
@@ -21,7 +21,6 @@ stdenv.mkDerivation rec {
   buildInputs = [ gmp mpir cddlib ];
 
   meta = {
-    inherit version;
     description = "A software package for computing Gröbner fans and tropical varieties";
     license = lib.licenses.gpl2 ;
     maintainers = [lib.maintainers.raskin];
diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix
index 208bb95f930..58b2a617bd6 100644
--- a/pkgs/applications/science/math/glsurf/default.nix
+++ b/pkgs/applications/science/math/glsurf/default.nix
@@ -1,7 +1,12 @@
-{ lib, stdenv, fetchurl, ocamlPackages, libGLU, libGL, freeglut, giflib
-, libmysqlclient, mpfr, gmp, libtiff, libjpeg, libpng
+{ lib, stdenv, fetchurl, ocamlPackages, makeWrapper
+, libGLU, libGL, freeglut, mpfr, gmp
+, pkgsHostTarget
 }:
 
+let
+  inherit (pkgsHostTarget.targetPackages.stdenv) cc;
+in
+
 stdenv.mkDerivation {
   name = "glsurf-3.3.1";
 
@@ -10,17 +15,32 @@ stdenv.mkDerivation {
     sha256 = "0w8xxfnw2snflz8wdr2ca9f5g91w5vbyp1hwlx1v7vg83d4bwqs7";
   };
 
-  buildInputs = [ freeglut libGLU libGL libmysqlclient mpfr giflib gmp
-    libtiff libjpeg libpng ]
-  ++ (with ocamlPackages; [
-    ocaml findlib ocaml_mysql lablgl camlimages_4_1_2 mlgmpidl
+  nativeBuildInputs = [
+    makeWrapper
+  ] ++ (with ocamlPackages; [
+    ocaml findlib
+  ]);
+
+  buildInputs = [
+    freeglut libGL libGLU mpfr gmp
+  ] ++ (with ocamlPackages; [
+    camlp4 lablgl camlimages_4_2_4
   ]);
 
+  postPatch = ''
+    for f in callbacks*/Makefile src/Makefile; do
+      substituteInPlace "$f" --replace "+camlp4" \
+        "${ocamlPackages.camlp4}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib/camlp4"
+    done
+  '';
+
   installPhase = ''
     mkdir -p $out/bin $out/share/doc/glsurf
     cp ./src/glsurf.opt $out/bin/glsurf
     cp ./doc/doc.pdf $out/share/doc/glsurf
     cp -r ./examples $out/share/doc/glsurf
+
+    wrapProgram "$out/bin/glsurf" --set CC "${cc}/bin/${cc.targetPrefix}cc"
   '';
 
   meta = {
diff --git a/pkgs/applications/science/math/gurobi/default.nix b/pkgs/applications/science/math/gurobi/default.nix
index 2bfeaa00568..91ee7c1c65e 100644
--- a/pkgs/applications/science/math/gurobi/default.nix
+++ b/pkgs/applications/science/math/gurobi/default.nix
@@ -1,35 +1,28 @@
-{ stdenv, lib, fetchurl, autoPatchelfHook, python2 }:
+{ stdenv, lib, fetchurl, autoPatchelfHook, python3 }:
 
-let
-  majorVersion = "8.1";
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "gurobi";
-  version = "${majorVersion}.0";
+  version = "9.1.2";
 
-  src = with lib; fetchurl {
-    url = "http://packages.gurobi.com/${versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
-    sha256 = "1yjqbzqnq4jjkjm616d36bgd3rmqr0a1ii17n0prpdjzmdlq63dz";
+  src = fetchurl {
+    url = "https://packages.gurobi.com/${lib.versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
+    sha256 = "7f60bd675f79476bb2b32cd632aa1d470f8246f2b033b7652d8de86f6e7e429b";
   };
 
   sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64";
 
   nativeBuildInputs = [ autoPatchelfHook ];
-  buildInputs = [ (python2.withPackages (ps: [ ps.gurobipy ])) ];
+  buildInputs = [ (python3.withPackages (ps: [ ps.gurobipy ])) ];
 
   strictDeps = true;
 
-  buildPhase = ''
-    cd src/build
-    make
-    cd ../..
-  '';
+  makeFlags = [ "--directory=src/build" ];
 
   installPhase = ''
     mkdir -p $out/bin
     cp bin/* $out/bin/
-    rm $out/bin/gurobi.env
     rm $out/bin/gurobi.sh
-    rm $out/bin/python2.7
+    rm $out/bin/python*
 
     cp lib/gurobi.py $out/bin/gurobi.sh
 
@@ -48,7 +41,7 @@ in stdenv.mkDerivation rec {
     ln -s $out/lib/gurobi-javadoc.jar $out/share/java/
   '';
 
-  passthru.libSuffix = lib.replaceStrings ["."] [""] majorVersion;
+  passthru.libSuffix = lib.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor version);
 
   meta = with lib; {
     description = "Optimization solver for mathematical programming";
diff --git a/pkgs/applications/science/math/mathematica/l10ns.nix b/pkgs/applications/science/math/mathematica/l10ns.nix
index d9f6a0c74e8..7de63c287ea 100644
--- a/pkgs/applications/science/math/mathematica/l10ns.nix
+++ b/pkgs/applications/science/math/mathematica/l10ns.nix
@@ -8,10 +8,10 @@ let allVersions = with lib; flip map
   # N.B. Versions in this list should be ordered from newest to oldest.
   [
     {
-      version = "12.3.0";
+      version = "12.3.1";
       lang = "en";
       language = "English";
-      sha256 = "045df045f6e796ded59f64eb2e0f1949ac88dcba1d5b6e05fb53ea0a4aed7215";
+      sha256 = "51b9cab12fd91b009ea7ad4968a2c8a59e94dc55d2e6cc1d712acd5ba2c4d509";
     }
     {
       version = "11.3.0";
diff --git a/pkgs/applications/science/math/nauty/default.nix b/pkgs/applications/science/math/nauty/default.nix
index 05a7d874d91..a941a633450 100644
--- a/pkgs/applications/science/math/nauty/default.nix
+++ b/pkgs/applications/science/math/nauty/default.nix
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
   '';
   checkTarget = "checks";
   meta = with lib; {
-    inherit version;
     description = "Programs for computing automorphism groups of graphs and digraphs";
     license = licenses.asl20;
     maintainers = teams.sage.members;
diff --git a/pkgs/applications/science/math/pcalc/default.nix b/pkgs/applications/science/math/pcalc/default.nix
index 1ee45ca266a..cbf07135dec 100644
--- a/pkgs/applications/science/math/pcalc/default.nix
+++ b/pkgs/applications/science/math/pcalc/default.nix
@@ -1,26 +1,26 @@
-{ lib, stdenv, fetchgit, bison, flex }:
-
-with lib;
+{ lib, stdenv, fetchFromGitHub, bison, flex }:
 
 stdenv.mkDerivation rec {
   pname = "pcalc";
-  version = "20141224";
+  version = "20181202";
 
-  src = fetchgit {
-    url = "git://git.code.sf.net/p/pcalc/code";
-    rev = "181d60d3c880da4344fef7138065943eb3b9255f";
-    sha256 = "1hd5bh20j5xzvv6qa0fmzmv0h8sf38r7zgi7y0b6nk17pjq33v90";
+  src = fetchFromGitHub {
+    owner = "vapier";
+    repo = "pcalc";
+    rev = "d93be9e19ecc0b2674cf00ec91cbb79d32ccb01d";
+    sha256 = "sha256-m4xdsEJGKxLgp/d5ipxQ+cKG3z7rlvpPL6hELnDu6Hk=";
   };
 
   makeFlags = [ "DESTDIR= BINDIR=$(out)/bin" ];
-  buildInputs = [ bison flex ];
+  nativeBuildInputs = [ bison flex ];
+
+  enableParallelBuilding = true;
 
-  meta = {
-    homepage = "http://pcalc.sourceforge.net/";
+  meta = with lib; {
+    homepage = "https://vapier.github.io/pcalc/";
     description = "Programmer's calculator";
     license = licenses.gpl2;
     maintainers = with lib.maintainers; [ ftrvxmtrx ];
     platforms = lib.platforms.linux;
-    inherit version;
   };
 }
diff --git a/pkgs/applications/science/math/polymake/default.nix b/pkgs/applications/science/math/polymake/default.nix
index 552881c5f1a..b1abb31c765 100644
--- a/pkgs/applications/science/math/polymake/default.nix
+++ b/pkgs/applications/science/math/polymake/default.nix
@@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    inherit version;
     description = "Software for research in polyhedral geometry";
     license = lib.licenses.gpl2 ;
     maintainers = [lib.maintainers.raskin];
diff --git a/pkgs/applications/science/math/programmer-calculator/default.nix b/pkgs/applications/science/math/programmer-calculator/default.nix
new file mode 100644
index 00000000000..0238e533357
--- /dev/null
+++ b/pkgs/applications/science/math/programmer-calculator/default.nix
@@ -0,0 +1,34 @@
+{ lib, gccStdenv, fetchFromGitHub, ncurses }:
+
+gccStdenv.mkDerivation rec {
+  pname = "programmer-calculator";
+  version = "2.1";
+
+  src = fetchFromGitHub {
+    owner = "alt-romes";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1vvpbj24ijl9ma0h669n9x0z1im3vqdf8zf2li0xf5h97b14gmv0";
+  };
+
+  buildInputs = [ ncurses ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm 555 pcalc -t "$out/bin"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A terminal calculator for programmers";
+    longDescription = ''
+      Terminal calculator made for programmers working with multiple number
+      representations, sizes, and overall close to the bits
+    '';
+    homepage = "https://alt-romes.github.io/programmer-calculator";
+    changelog = "https://github.com/alt-romes/programmer-calculator/releases/tag/v${version}";
+    license = licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ cjab ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/science/math/pynac/default.nix b/pkgs/applications/science/math/pynac/default.nix
index 54e26cd2ee8..138c97d73be 100644
--- a/pkgs/applications/science/math/pynac/default.nix
+++ b/pkgs/applications/science/math/pynac/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , autoreconfHook
 , pkg-config
 , flint
@@ -11,57 +10,16 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.27";
+  version = "0.7.29";
   pname = "pynac";
 
   src = fetchFromGitHub {
     owner = "pynac";
     repo = "pynac";
     rev = "pynac-${version}";
-    sha256 = "sha256-1HHCIeaNE2UsJNX92UlDGLJS8I4nC/8FnwX7Y4F9HpU=";
+    sha256 = "sha256-ocR7emXtKs+Xe2f6dh4xEDAacgiolY8mtlLnWnNBS8A=";
   };
 
-  patches = [
-    # the five patches below are included with sage 9.3. since pynac
-    # is a self-described "Sage Math support library", we include them
-    # here.
-
-    # https://trac.sagemath.org/ticket/30688
-    (fetchpatch {
-      name = "power_inf_loop.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/power_inf_loop.patch?h=9.3";
-      sha256 = "sha256-VYeaJl8u2wl7FQ/6xnpZv1KpdNYEmJoPhuMrBADyTRs=";
-    })
-
-    # https://trac.sagemath.org/ticket/31479
-    (fetchpatch {
-      name = "disable_poly_mul_expand.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/disable_poly_mul_expand.patch?h=9.3";
-      sha256 = "sha256-gRjoltU9Tzj7fjNyE25fY+iyDxERzSTOMigzxFpUqPo=";
-    })
-
-    # https://trac.sagemath.org/ticket/31530
-    (fetchpatch {
-      name = "too_much_sub.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/too_much_sub.patch?h=9.3";
-      sha256 = "sha256-lw7xSQ/l+rzPu+ghWF4omYF0mKksGGPuuHJTktvbdis=";
-    })
-
-    # https://trac.sagemath.org/ticket/31554
-    (fetchpatch {
-      name = "handle_factor.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/handle_factor.patch?h=9.3";
-      sha256 = "sha256-U1lb5qwBqZZgklfDMhBX4K5u8bz5x42O4w7hyNy2YVw=";
-    })
-
-    # https://trac.sagemath.org/ticket/31645
-    (fetchpatch {
-      name = "seriesbug.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/seriesbug.patch?h=9.3";
-      sha256 = "sha256-b3//oirN7JHDYqrvE+tDYcnKpSYQJ08yBzcNlII2Dts=";
-    })
-  ];
-
   buildInputs = [
     flint
     gmp
@@ -84,7 +42,7 @@ stdenv.mkDerivation rec {
       of the full GiNaC, and it is *only* meant to be used as a Python library.
     '';
     homepage    = "http://pynac.org";
-    license = licenses.gpl3;
+    license = licenses.gpl2Plus;
     maintainers = teams.sage.members;
     platforms   = platforms.unix;
   };
diff --git a/pkgs/applications/science/math/qalculate-gtk/default.nix b/pkgs/applications/science/math/qalculate-gtk/default.nix
index 56b6df94e8f..7807ae613e8 100644
--- a/pkgs/applications/science/math/qalculate-gtk/default.nix
+++ b/pkgs/applications/science/math/qalculate-gtk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qalculate-gtk";
-  version = "3.18.0";
+  version = "3.19.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "qalculate-gtk";
     rev = "v${version}";
-    sha256 = "sha256-hE0di7B6dCnMmMBLgFkb6vPS4hS/7zD6BbviIucrn1I=";
+    sha256 = "1nrx7gp6f1yalbdda1gb97azhbr4xclq2xf08vvbvsk8jfd6fd2v";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/science/math/ratpoints/default.nix b/pkgs/applications/science/math/ratpoints/default.nix
index 14330b0f19b..ec5d9ef366f 100644
--- a/pkgs/applications/science/math/ratpoints/default.nix
+++ b/pkgs/applications/science/math/ratpoints/default.nix
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
   preInstall = ''mkdir -p "$out"/{bin,share,lib,include}'';
 
   meta = {
-    inherit version;
     description = "A program to find rational points on hyperelliptic curves";
     license = lib.licenses.gpl2Plus;
     maintainers = [lib.maintainers.raskin];
diff --git a/pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch b/pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch
deleted file mode 100644
index f17897d4c89..00000000000
--- a/pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py
-index 6bad826a88..f4d7b8651c 100644
---- a/src/sage/misc/sagedoc.py
-+++ b/src/sage/misc/sagedoc.py
-@@ -24,7 +24,7 @@ see :trac:`12849`::
-     ....:     for line in fobj:
-     ....:         if "#sage.symbolic.expression.Expression.numerical_approx" in line:
-     ....:             print(line)
--    <code class="sig-name descname">numerical_approx</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">prec</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">digits</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">algorithm</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span>...
-+    <code class="sig-name descname"><span class="pre">numerical_approx</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prec</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">digits</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">algorithm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span>...
- 
- Check that sphinx is not imported at Sage start-up::
- 
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 57234c660a5..218ab920a87 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -16,7 +16,12 @@ let
   fetchSageDiff = { base, name, rev, sha256, ...}@args: (
     fetchpatch ({
       inherit name sha256;
-      url = "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}";
+
+      # We used to use
+      # "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}"
+      # but the former way does not squash multiple patches together.
+      url = "https://github.com/sagemath/sage/compare/${base}...${rev}.diff";
+
       # We don't care about sage's own build system (which builds all its dependencies).
       # Exclude build system changes to avoid conflicts.
       excludes = [ "build/*" ];
@@ -79,13 +84,6 @@ stdenv.mkDerivation rec {
     # ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests
     ./patches/ignore-cmp-deprecation.patch
 
-    # sphinx 3.5 pretty-prints code slightly differently than sphinx
-    # 3.1--3.3. a similar patch is available at the sphinx 4 ticket
-    # (https://trac.sagemath.org/ticket/31696), but sphinx 3.5 uses
-    # <code> tags while sphinx 4 uses <span> tags so we cannot just
-    # import the patch from trac.
-    ./patches/sphinx-3.5-code-output.patch
-
     # remove use of matplotlib function deprecated in 3.4
     # https://trac.sagemath.org/ticket/31827
     (fetchSageDiff {
@@ -95,16 +93,47 @@ stdenv.mkDerivation rec {
       sha256 = "sha256-SXcUGBMOoE9HpuBzgKC3P6cUmM5MiktXbe/7dVdrfWo=";
     })
 
-    # https://trac.sagemath.org/ticket/30801. this patch has
-    # positive_review but has not been merged upstream yet, so we
-    # don't use fetchSageDiff because it returns a file that contains
-    # each commit as a separate patch instead of a single diff, and
-    # some commits from the pari update branch are already in 9.3.rc5
-    # (auto-resolvable merge conflicts).
-    (fetchpatch {
+    # pari 2.13 update
+    # https://trac.sagemath.org/ticket/30801
+    #
+    # the last commit in that ticket is
+    # c78b1470fccd915e2fa93f95f2fefba6220fb1f7, but commits after
+    # 10a4531721d2700fd717e2b3a1364508ffd971c3 only deal with 32-bit
+    # and post-26635 breakage, none of which is relevant to us. since
+    # there are post-9.4.beta0 rebases after that, we just skip later
+    # commits.
+    (fetchSageDiff {
+      base = "9.3";
       name = "pari-2.13.1.patch";
-      url = "https://github.com/sagemath/sagetrac-mirror/compare/d6c5cd9be78cc448ee4c54bac93385b1244a234c...10a4531721d2700fd717e2b3a1364508ffd971c3.diff";
-      sha256 = "sha256-zMjRMEReoiTvmt+vvV0Ij1jtyLSLwSXBEVXqgvmq1D4=";
+      rev = "10a4531721d2700fd717e2b3a1364508ffd971c3";
+      sha256 = "sha256-gffWKK9CMREaNOb5zb63iZUgON4FvsPrMQNqe+5ZU9E=";
+    })
+
+    # sympy 1.8 update
+    # https://trac.sagemath.org/ticket/31647
+    (fetchSageDiff {
+      base = "9.4.beta0";
+      name = "sympy-1.8.patch";
+      rev = "fa864b36e15696450c36d54215b1e68183b29d25";
+      sha256 = "sha256-fj/9QEZlVF0fw9NpWflkTuBSKpGjCE6b96ECBgdn77o=";
+    })
+
+    # sphinx 4 update
+    # https://trac.sagemath.org/ticket/31696
+    (fetchSageDiff {
+      base = "9.4.beta3";
+      name = "sphinx-4.patch";
+      rev = "bc84af8c795b7da433d2000afc3626ee65ba28b8";
+      sha256 = "sha256-5Kvs9jarC8xRIU1rdmvIWxQLC25ehiTLJpg5skh8WNM=";
+    })
+
+    # eclib 20210625 update
+    # https://trac.sagemath.org/ticket/31443
+    (fetchSageDiff {
+      base = "9.4.beta3";
+      name = "eclib-20210625.patch";
+      rev = "789550ca04c94acfb1e803251538996a34962038";
+      sha256 = "sha256-VlyEn5hg3joG8t/GwiRfq9TzJ54AoHxLolsNQ3shc2c=";
     })
   ];
 
diff --git a/pkgs/applications/science/misc/golly/beta.nix b/pkgs/applications/science/misc/golly/beta.nix
index 7741f7ba65b..9846be8a43a 100644
--- a/pkgs/applications/science/misc/golly/beta.nix
+++ b/pkgs/applications/science/misc/golly/beta.nix
@@ -41,7 +41,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    inherit version;
     description = "Cellular automata simulation program";
     license = lib.licenses.gpl2;
     maintainers = [lib.maintainers.raskin];
diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix
index be61ec86b32..724a1008c1f 100644
--- a/pkgs/applications/science/misc/golly/default.nix
+++ b/pkgs/applications/science/misc/golly/default.nix
@@ -29,7 +29,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    inherit version;
     description = "Cellular automata simulation program";
     license = lib.licenses.gpl2;
     maintainers = [lib.maintainers.raskin];
diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix
index 75607fdda34..0da3014507a 100644
--- a/pkgs/applications/science/misc/root/5.nix
+++ b/pkgs/applications/science/misc/root/5.nix
@@ -1,6 +1,27 @@
-{ lib, stdenv, fetchurl, fetchpatch, cmake, pcre, pkg-config, python2
-, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lz4, xz, gsl_1, xxHash
-, Cocoa, OpenGL, noSplash ? false }:
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, cmake
+, pcre
+, pkg-config
+, python2
+, libX11
+, libXpm
+, libXft
+, libXext
+, libGLU
+, libGL
+, zlib
+, libxml2
+, lz4
+, xz
+, gsl_1
+, xxHash
+, Cocoa
+, OpenGL
+, noSplash ? false
+}:
 
 stdenv.mkDerivation rec {
   pname = "root";
@@ -15,7 +36,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pcre python2 zlib libxml2 lz4 xz gsl_1 xxHash ]
     ++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
     ++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
-    ;
+  ;
 
   patches = [
     ./sw_vers_root5.patch
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index b3d0e96a564..8aa9006d523 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -1,23 +1,73 @@
-{ stdenv, lib, fetchurl, makeWrapper, cmake, git, ftgl, gl2ps, glew, gsl
-, libX11, libXpm, libXft, libXext, libGLU, libGL, libxml2, lz4, xz, pcre, nlohmann_json
-, pkg-config, python, xxHash, zlib, zstd
-, libAfterImage, giflib, libjpeg, libtiff, libpng
-, Cocoa, OpenGL, noSplash ? false }:
+{ stdenv
+, lib
+, fetchurl
+, makeWrapper
+, cmake
+, git
+, ftgl
+, gl2ps
+, glew
+, gsl
+, libX11
+, libXpm
+, libXft
+, libXext
+, libGLU
+, libGL
+, libxml2
+, lz4
+, xz
+, pcre
+, nlohmann_json
+, pkg-config
+, python
+, xxHash
+, zlib
+, zstd
+, libAfterImage
+, giflib
+, libjpeg
+, libtiff
+, libpng
+, Cocoa
+, CoreSymbolication
+, OpenGL
+, noSplash ? false
+}:
 
 stdenv.mkDerivation rec {
   pname = "root";
-  version = "6.24.00";
+  version = "6.24.02";
 
   src = fetchurl {
     url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
-    sha256 = "12crjzd7pzx5qpk2pb3z0rhmxlw5gsqaqzfl48qiq8c9l940b8wx";
+    sha256 = "sha256-BQfhCV4nnMxyQPZR0llmAkMlF5+oWhJZtpS1ZyOtfBw=";
   };
 
   nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
-  buildInputs = [ ftgl gl2ps glew pcre zlib zstd libxml2 lz4 xz gsl xxHash libAfterImage giflib libjpeg libtiff libpng nlohmann_json python.pkgs.numpy ]
-    ++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
-    ++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
-    ;
+  buildInputs = [
+    ftgl
+    gl2ps
+    glew
+    pcre
+    zlib
+    zstd
+    libxml2
+    lz4
+    xz
+    gsl
+    xxHash
+    libAfterImage
+    giflib
+    libjpeg
+    libtiff
+    libpng
+    nlohmann_json
+    python.pkgs.numpy
+  ]
+  ++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
+  ++ lib.optionals (stdenv.isDarwin) [ Cocoa CoreSymbolication OpenGL ]
+  ;
 
   patches = [
     ./sw_vers.patch
@@ -38,6 +88,10 @@ stdenv.mkDerivation rec {
     patchShebangs build/unix/
   '' + lib.optionalString noSplash ''
     substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true"
+  '' + lib.optionalString stdenv.isDarwin ''
+    # Eliminate impure reference to /System/Library/PrivateFrameworks
+    substituteInPlace core/CMakeLists.txt \
+      --replace "-F/System/Library/PrivateFrameworks" ""
   '';
 
   cmakeFlags = [
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index 0818ca79622..5ecde839606 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -2,11 +2,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "snakemake";
-  version = "6.0.5";
+  version = "6.5.3";
 
   propagatedBuildInputs = with python3Packages; [
     appdirs
     ConfigArgParse
+    connection-pool
     datrie
     docutils
     filelock
@@ -19,13 +20,15 @@ python3Packages.buildPythonApplication rec {
     ratelimiter
     requests
     smart-open
+    stopit
+    tabulate
     toposort
     wrapt
   ];
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "9441169034cce46086a8b45486d75175db645b932e766d28fed312ec837792d3";
+    sha256 = "a06839346425c74542e6e2e6047db3133cd747ef89e1ebd87dad1fbba041f62d";
   };
 
   doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json
diff --git a/pkgs/applications/science/networking/sumo/default.nix b/pkgs/applications/science/networking/sumo/default.nix
index af252da04f8..9cdf576b9c6 100644
--- a/pkgs/applications/science/networking/sumo/default.nix
+++ b/pkgs/applications/science/networking/sumo/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sumo";
-  version = "1.8.0";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "eclipse";
     repo = "sumo";
     rev = "v${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "1w9im1zz8xnkdwmv4v11kn1xcqm889268g1fw4y2s9f6shi41mxx";
+    sha256 = "0zpd331vy1kfi4hfiszv3m8wl4m0wdfr3zzza200kkaakw5hjxhs";
     fetchSubmodules = true;
   };
 
@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
     jdk
     libGL
     libGLU
-    libX11
     libjpeg
     libpng
     libtiff
@@ -44,6 +43,7 @@ stdenv.mkDerivation rec {
     zlib
     python3
   ] ++ (with xorg; [
+    libX11
     libXcursor
     libXext
     libXfixes
diff --git a/pkgs/applications/science/physics/MCFM/default.nix b/pkgs/applications/science/physics/MCFM/default.nix
new file mode 100644
index 00000000000..7b6000dfea8
--- /dev/null
+++ b/pkgs/applications/science/physics/MCFM/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchurl, cmake, gfortran, lhapdf }:
+
+stdenv.mkDerivation rec {
+  pname = "MCFM";
+  version = "10.0.1";
+
+  src = fetchurl {
+    url = "https://mcfm.fnal.gov/downloads/${pname}-${version}.tar.gz";
+    sha256 = "sha256-3Dg4KoILb0XhgGkzItDh/1opCtYrrIvtbuALYqPUvE8=";
+  };
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace 'target_link_libraries(mcfm lhapdf_lib)' \
+                'target_link_libraries(mcfm ''${lhapdf_lib})'
+  '';
+
+  nativeBuildInputs = [ cmake gfortran ];
+  buildInputs = [ lhapdf ];
+
+  cmakeFlags = [
+    "-Duse_external_lhapdf=ON"
+    "-Duse_internal_lhapdf=OFF"
+  ];
+
+  meta = with lib; {
+    description = "Monte Carlo for FeMtobarn processes";
+    homepage = "https://mcfm.fnal.gov";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ veprbl ];
+    platforms = lib.platforms.x86_64;
+  };
+}
diff --git a/pkgs/applications/science/programming/fdr/default.nix b/pkgs/applications/science/programming/fdr/default.nix
index 62e4c6876fd..bc67c30aa61 100644
--- a/pkgs/applications/science/programming/fdr/default.nix
+++ b/pkgs/applications/science/programming/fdr/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
     zlib
   ];
 
-  phases = [ "unpackPhase" "installPhase" ];
+  dontConfigure = true;
   installPhase = ''
     mkdir -p "$out"
 
diff --git a/pkgs/applications/science/robotics/emuflight-configurator/default.nix b/pkgs/applications/science/robotics/emuflight-configurator/default.nix
new file mode 100644
index 00000000000..ab94df9ef18
--- /dev/null
+++ b/pkgs/applications/science/robotics/emuflight-configurator/default.nix
@@ -0,0 +1,50 @@
+{lib, stdenv, fetchurl, unzip, makeDesktopItem, copyDesktopItems, nwjs
+, wrapGAppsHook, gsettings-desktop-schemas, gtk3 }:
+
+stdenv.mkDerivation rec {
+  pname = "emuflight-configurator";
+  version = "0.3.6";
+
+  src = fetchurl {
+    url = "https://github.com/emuflight/EmuConfigurator/releases/download/${version}/emuflight-configurator_${version}_linux64.zip";
+    sha256 = "sha256-egSUd/+RNo0vr2EJibgk9nNnql5sHC11gctUMK+DzW0=";
+  };
+
+  nativeBuildInputs = [ wrapGAppsHook unzip copyDesktopItems ];
+
+  buildInputs = [ gsettings-desktop-schemas gtk3 ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/${pname}
+
+    cp -r . $out/share/${pname}/
+    install -m 444 -D icon/emu_icon_128.png $out/share/icons/hicolor/128x128/apps/${pname}.png
+
+    makeWrapper ${nwjs}/bin/nw $out/bin/${pname} --add-flags $out/share/${pname}
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      exec = pname;
+      icon = pname;
+      comment = "Emuflight configuration tool";
+      desktopName = "Emuflight Configurator";
+      genericName = "Flight controller configuration tool";
+    })
+  ];
+
+  meta = with lib; {
+    description = "The Emuflight flight control system configuration tool";
+    longDescription = ''
+      A crossplatform configuration tool for the Emuflight flight control system.
+      Various types of aircraft are supported by the tool and by Emuflight, e.g.
+      quadcopters, hexacopters, octocopters and fixed-wing aircraft.
+      The application allows you to configure the Emuflight software running on any supported Emuflight target.
+    '';
+    homepage    = "https://github.com/emuflight/EmuConfigurator";
+    license     = licenses.gpl3Only;
+    maintainers = with maintainers; [ beezow ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix
index 2652856511e..ba0c2530849 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.37";
+  version = "1.8.39";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0527c65b55652a130c44c131cce5644cc5ac00a3f85edb81899f79f5e3ee16fb";
+    sha256 = "sha256-1RXuAiz9i5ZnLtDGQ+o3DNgWJ2FDJGIoelmlDmEzrts=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/search/grepm/default.nix b/pkgs/applications/search/grepm/default.nix
index 1225f036a49..7a3210459d1 100644
--- a/pkgs/applications/search/grepm/default.nix
+++ b/pkgs/applications/search/grepm/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "0ppprhfw06779hz1b10qvq62gsw73shccsav982dyi6xmqb6jqji";
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   buildInputs = [ perlPackages.grepmail mutt ];
 
diff --git a/pkgs/applications/system/glances/default.nix b/pkgs/applications/system/glances/default.nix
index c142ba12bc2..e950fcfb1cd 100644
--- a/pkgs/applications/system/glances/default.nix
+++ b/pkgs/applications/system/glances/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildPythonApplication, fetchFromGitHub, isPyPy, lib
-, future, psutil, setuptools
+, defusedxml, future, psutil, setuptools
 # Optional dependencies:
 , bottle, pysnmp
 , hddtemp
@@ -9,14 +9,14 @@
 
 buildPythonApplication rec {
   pname = "glances";
-  version = "3.1.7";
+  version = "3.2.1";
   disabled = isPyPy;
 
   src = fetchFromGitHub {
     owner = "nicolargo";
     repo = "glances";
     rev = "v${version}";
-    sha256 = "sha256-82ZD32dqRYGbGM/uyaJ5VqVZbhDZthiEcTihkV43JOU=";
+    sha256 = "0m2cxmlyay2rr9hnc08s5q9xwdqy0nhzsl10by4f9ji0kiahnpl6";
   };
 
   # Some tests fail in the sandbox (they e.g. require access to /sys/class/power_supply):
@@ -37,6 +37,7 @@ buildPythonApplication rec {
 
   propagatedBuildInputs = [
     bottle
+    defusedxml
     future
     netifaces
     psutil
@@ -48,7 +49,7 @@ buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://nicolargo.github.io/glances/";
     description = "Cross-platform curses-based monitoring tool";
-    changelog = "https://github.com/nicolargo/glances/releases/tag/v${version}";
+    changelog = "https://github.com/nicolargo/glances/blob/v${version}/NEWS.rst";
     license = licenses.lgpl3Only;
     maintainers = with maintainers; [ jonringer primeos koral ];
   };
diff --git a/pkgs/applications/system/monitor/default.nix b/pkgs/applications/system/monitor/default.nix
index 11bdeeb3bf6..588839b859d 100644
--- a/pkgs/applications/system/monitor/default.nix
+++ b/pkgs/applications/system/monitor/default.nix
@@ -11,7 +11,7 @@
 , glib
 , gtk3
 , bamf
-, libwnck3
+, libwnck
 , libgee
 , libgtop
 , wrapGAppsHook
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     pantheon.wingpanel
     libgee
     libgtop
-    libwnck3
+    libwnck
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/system/qjournalctl/default.nix b/pkgs/applications/system/qjournalctl/default.nix
new file mode 100644
index 00000000000..31c256f46c8
--- /dev/null
+++ b/pkgs/applications/system/qjournalctl/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, qtbase
+, qmake
+, pkg-config
+, libssh
+, wrapQtAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "qjournalctl";
+  version = "0.6.3";
+
+  src = fetchFromGitHub {
+    owner = "pentix";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0j27cmfq29mwrbjfrrwi6m1grcamhbfhk47xzlfsx5wr2q9m6qkz";
+  };
+
+  postPatch = ''
+    substituteInPlace qjournalctl.pro --replace /usr/ $out/
+  '';
+
+  nativeBuildInputs = [
+    qmake
+    pkg-config
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    libssh
+    qtbase
+  ];
+
+  meta = with lib; {
+    description = "Qt-based graphical user interface for systemd's journalctl command";
+    homepage = "https://github.com/pentix/qjournalctl";
+    license = licenses.gpl3Only;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ dtzWill srgom romildo ];
+  };
+}
diff --git a/pkgs/applications/terminal-emulators/contour/default.nix b/pkgs/applications/terminal-emulators/contour/default.nix
new file mode 100644
index 00000000000..864a9e7c487
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/contour/default.nix
@@ -0,0 +1,27 @@
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, freetype, libGL, pcre }:
+
+mkDerivation rec {
+  pname = "contour";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "christianparpart";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-P7t+M75ZWjFcGWngcbaurdit6e+pb0ILljimhYqW0NI=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ freetype libGL pcre ];
+
+  meta = with lib; {
+    description = "Modern C++ Terminal Emulator";
+    homepage = "https://github.com/christianparpart/contour";
+    changelog = "https://github.com/christianparpart/contour/blob/HEAD/Changelog.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fortuneteller2k ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/terminal-emulators/foot/default.nix b/pkgs/applications/terminal-emulators/foot/default.nix
index 5062329834c..46d3c6c97c7 100644
--- a/pkgs/applications/terminal-emulators/foot/default.nix
+++ b/pkgs/applications/terminal-emulators/foot/default.nix
@@ -15,7 +15,9 @@
 , scdoc
 , tllist
 , wayland-protocols
+, wayland-scanner
 , pkg-config
+, utf8proc
 , allowPgo ? true
 , python3  # for PGO
 # for clang stdenv check
@@ -25,7 +27,7 @@
 }:
 
 let
-  version = "1.7.2";
+  version = "1.8.1";
 
   # build stimuli file for PGO build and the script to generate it
   # independently of the foot's build, so we can cache the result
@@ -39,7 +41,7 @@ let
 
     src = fetchurl {
       url = "https://codeberg.org/dnkl/foot/raw/tag/${version}/scripts/generate-alt-random-writes.py";
-      sha256 = "019bdiqfi3wx2lwrv3nhq83knc1r3lmqd5zgisa33wwshm2kyv7p";
+      sha256 = "0w4d0rxi54p8lvbynypcywqqwbbzmyyzc0svjab27ngmdj1034ii";
     };
 
     dontUnpack = true;
@@ -76,7 +78,7 @@ let
   }."${compilerName}";
 
   # ar with lto support
-  ar = {
+  ar = stdenv.cc.bintools.targetPrefix + {
     "clang" = "llvm-ar";
     "gcc" = "gcc-ar";
     "unknown" = "ar";
@@ -93,28 +95,34 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://codeberg.org/dnkl/${pname}/archive/${version}.tar.gz";
-    sha256 = "0iabj9c0dj1r0m89i5gk2jdmwj4wfsai8na54x2w4fq406q6g9nh";
+    sha256 = "0yrz7n0wls8g8w7ja934icwxmng3sxh70x87qmzc9c9cb1wyd989";
   };
 
+  depsBuildBuild = [
+    pkg-config
+  ];
+
   nativeBuildInputs = [
+    wayland-scanner
     meson
     ninja
     ncurses
     scdoc
-    tllist
-    wayland-protocols
     pkg-config
   ] ++ lib.optionals (compilerName == "clang") [
     stdenv.cc.cc.libllvm.out
   ];
 
   buildInputs = [
+    tllist
+    wayland-protocols
     fontconfig
     freetype
     pixman
     wayland
     libxkbcommon
     fcft
+    utf8proc
   ];
 
   # recommended build flags for performance optimized foot builds
@@ -129,7 +137,11 @@ stdenv.mkDerivation rec {
     export AR="${ar}"
   '';
 
-  mesonFlags = [ "--buildtype=release" "-Db_lto=true" ];
+  mesonFlags = [
+    "--buildtype=release"
+    "-Db_lto=true"
+    "-Dterminfo-install-location=${placeholder "terminfo"}/share/terminfo"
+  ];
 
   # build and run binary generating PGO profiles,
   # then reconfigure to build the normal foot binary utilizing PGO
@@ -146,6 +158,15 @@ stdenv.mkDerivation rec {
     llvm-profdata merge default_*profraw --output=default.profdata
   '';
 
+  outputs = [ "out" "terminfo" ];
+
+  # make sure nix-env and buildEnv also include the
+  # terminfo output when the package is installed
+  postInstall = ''
+    mkdir -p "$out/nix-support"
+    echo "$terminfo" >> "$out/nix-support/propagated-user-env-packages"
+  '';
+
   passthru.tests = {
     clang-default-compilation = foot.override {
       inherit (llvmPackages) stdenv;
diff --git a/pkgs/applications/terminal-emulators/guake/default.nix b/pkgs/applications/terminal-emulators/guake/default.nix
index 62cb6707c1b..8c4c6b383d5 100644
--- a/pkgs/applications/terminal-emulators/guake/default.nix
+++ b/pkgs/applications/terminal-emulators/guake/default.nix
@@ -9,7 +9,7 @@
 , libnotify
 , libutempter
 , vte
-, libwnck3
+, libwnck
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -41,7 +41,7 @@ python3.pkgs.buildPythonApplication rec {
     gtk3
     keybinder3
     libnotify
-    libwnck3
+    libwnck
     python3
     vte
   ];
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index e101d5d3a8c..441c9904c07 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -21,14 +21,14 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.21.1";
+  version = "0.21.2";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "sha256-/+OSVjC4++A4kaxEfI2kIgjXxL67lfoXCdH2PykLWxA=";
+    sha256 = "0y0mg8rr18mn0wzym7v48x6kl0ixd5q387kr5jhbdln55ph2jk9d";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/terminal-emulators/sakura/default.nix b/pkgs/applications/terminal-emulators/sakura/default.nix
index af56f54a414..fbebf6590d0 100644
--- a/pkgs/applications/terminal-emulators/sakura/default.nix
+++ b/pkgs/applications/terminal-emulators/sakura/default.nix
@@ -1,30 +1,41 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , cmake
-, pkg-config
+, glib
 , gtk3
+, makeWrapper
+, pcre2
 , perl
+, pkg-config
 , vte
-, pcre2
-, glib
-, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
   pname = "sakura";
-  version = "3.7.1";
+  version = "3.8.2";
 
   src = fetchurl {
     url = "https://launchpad.net/${pname}/trunk/${version}/+download/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-cppODnUKQpS9kFkkOqxU3yqAElAVn8VQtQsP4Carkos=";
+    sha256 = "sha256-nd/okZrg4RZzyiKHmuMkVl0Jh7FOlI4dK63/U4/htbk=";
   };
 
-  nativeBuildInputs = [ cmake perl pkg-config makeWrapper ];
+  nativeBuildInputs = [
+    cmake
+    makeWrapper
+    perl
+    pkg-config
+  ];
 
-  buildInputs = [ gtk3 vte pcre2 glib ];
+  buildInputs = [
+    glib
+    gtk3
+    pcre2
+    vte
+  ];
 
-  # Set path to gsettings-schemata so sakura knows
-  # where to find colorchooser, fontchooser etc.
+  # Set path to gsettings-schemata so sakura knows where to find colorchooser,
+  # fontchooser etc.
   postInstall = ''
     wrapProgram $out/bin/sakura \
       --suffix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/
diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix
index a5db5065707..eafa8930371 100644
--- a/pkgs/applications/terminal-emulators/xterm/default.nix
+++ b/pkgs/applications/terminal-emulators/xterm/default.nix
@@ -14,6 +14,14 @@ stdenv.mkDerivation rec {
     sha256 = "07y51l06n344pjyxdddq6sdvxw25nl10irl4avynkqjnqyqsiw97";
   };
 
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    makeWrapper
+    pkg-config
+    fontconfig
+  ];
+
   buildInputs = [
     xorg.libXaw
     xorg.xorgproto
@@ -24,11 +32,8 @@ stdenv.mkDerivation rec {
     xorg.libICE
     ncurses
     freetype
-    fontconfig
-    pkg-config
     xorg.libXft
     xorg.luit
-    makeWrapper
   ];
 
   patches = [ ./sixel-256.support.patch ]
diff --git a/pkgs/applications/version-management/gerrit/default.nix b/pkgs/applications/version-management/gerrit/default.nix
index d23f2847049..d9ebdbf5312 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.2";
+  version = "3.4.0";
 
   src = fetchurl {
     url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war";
-    sha256 = "sha256-tqlJANxJl2r0ZxPb7d8KU9cRMQUFPUIm/zMp4zREGL0=";
+    sha256 = "sha256-GNUpSK9cczGISyvo05KrLzeO+zRm5dEYOmX2Oy7TjzE=";
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/version-management/git-and-tools/bit/default.nix b/pkgs/applications/version-management/git-and-tools/bit/default.nix
index cce37df357b..c3524417829 100644
--- a/pkgs/applications/version-management/git-and-tools/bit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/bit/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "bit";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "chriswalz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-85GEx9y8r9Fjgfcwh1Bi8WDqBm6KF7uidutlF77my60=";
+    sha256 = "sha256-18R0JGbG5QBDghF4SyhXaKe9UY5UzF7Ap0Y061Z1SZ8=";
   };
 
   vendorSha256 = "sha256-3Y/B14xX5jaoL44rq9+Nn4niGViLPPXBa8WcJgTvYTA=";
diff --git a/pkgs/applications/version-management/git-and-tools/delta/default.nix b/pkgs/applications/version-management/git-and-tools/delta/default.nix
index f642a7d9afb..46d19f2814d 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.8.0";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "dandavison";
     repo = pname;
     rev = version;
-    sha256 = "01s73ld3npdmrjbay1lmd13bn9lg2pbmj14gklxi3j9aj0y2q8w8";
+    sha256 = "sha256-lwdsl3dzqrIL1JoBFmldwsCvNCWUcTlgeoEoCvmlTCQ=";
   };
 
-  cargoSha256 = "1pi4sm07nm1irigrfgysfw99vw96zzz07a1qw5m7bmj6aqp0r3fr";
+  cargoSha256 = "sha256-7TvxkSJ3iWJnjD3Xe7WDXBNWIyl8U9XTCn9muUG1AmI=";
 
   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 77ad7d8658d..95060714c24 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.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "so-fancy";
     repo = "diff-so-fancy";
     rev = "v${version}";
-    sha256 = "sha256-bV22x459QerWg4MVLWsXPDhM38QWG6BE+dVmKIFfDiE=";
+    sha256 = "sha256-1kBarsRiuB8fv7VLlWfpotPfHeMrfmIXHXTFu8TzC2A=";
   };
 
   nativeBuildInputs = [
@@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
       diff-so-fancy builds on the good-lookin' output of git contrib's
       diff-highlight to upgrade your diffs' appearances.
     '';
-    maintainers = with maintainers; [ fpletz globin ];
+    maintainers = with maintainers; [ fpletz globin ma27 ];
   };
 }
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 707aefdf0c1..16f87df678c 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "1.11.0";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-rUGhKiTB5uVMbW0HdOEvubGkWh1ARUXCnGR7ezmsT3g=";
+    sha256 = "sha256-P9fbkJSXRYZdVD1EKWWs0FKs8aQdPqHWESUqjsGgyPU=";
   };
 
   vendorSha256 = "sha256-ndsjmY/UCFyegm8yP7BopYMh5eZ8/fftWfxW4r5los0=";
diff --git a/pkgs/applications/version-management/git-and-tools/ghr/default.nix b/pkgs/applications/version-management/git-and-tools/ghr/default.nix
index be6d64646a5..5570dbf1014 100644
--- a/pkgs/applications/version-management/git-and-tools/ghr/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/ghr/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ghr";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "tcnksm";
     repo = "ghr";
     rev = "v${version}";
-    sha256 = "1nm5kdjkqayxh06j9nr5daic9sw9nx9w06y9gaqhdrw9byvjpr1a";
+    sha256 = "sha256-pF1TPvQLPa5BbXZ9rRCq7xWofXCBRa9CDgNxX/kaTMo=";
   };
 
-  vendorSha256 = "14avsngzhl1b8a05i43ph6sxh9vj0jls0acxr9j7r0h3f0vpamcj";
+  vendorSha256 = "sha256-+e9Q4Pw9pJyOXVz85KhOSuybj1PBcJi51fGR3a2Gixk=";
 
   # Tests require a Github API token, and networking
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix b/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
new file mode 100644
index 00000000000..c80db8ee958
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
@@ -0,0 +1,49 @@
+{ lib, fetchFromGitHub
+
+, coreutils
+, git
+, ncurses
+, rustPlatform
+, sqlite
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "git-branchless";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "arxanas";
+    repo = "git-branchless";
+    rev = "v${version}";
+    sha256 = "0pfiyb23ah1h6risrhjr8ky7b1k1f3yfc3z70s92q3czdlrk6k07";
+  };
+
+  cargoSha256 = "0gplx80xhpz8kwry7l4nv4rlj9z02jg0sgb6zy1y3vd9s2j5wals";
+
+  # Remove path hardcodes patching if they get fixed upstream, see:
+  # https://github.com/arxanas/git-branchless/issues/26
+  postPatch = ''
+    # Inline test hardcodes `echo` location.
+    substituteInPlace ./src/commands/wrap.rs --replace '/bin/echo' '${coreutils}/bin/echo'
+
+    # Tests in general hardcode `git` location.
+    substituteInPlace ./src/testing.rs --replace '/usr/bin/git' '${git}/bin/git'
+  '';
+
+  buildInputs = [
+    ncurses
+    sqlite
+  ];
+
+  preCheck = ''
+    # Tests require path to git.
+    export PATH_TO_GIT=${git}/bin/git
+  '';
+
+  meta = with lib; {
+    description = "A suite of tools to help you visualize, navigate, manipulate, and repair your commit history";
+    homepage = "https://github.com/arxanas/git-branchless";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nh2 ];
+  };
+}
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 707e0855d15..f0ff57b2cb0 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.9";
+  version = "3.10.1";
 
   src = fetchFromGitHub {
     owner = "git-cola";
     repo = "git-cola";
     rev = "v${version}";
-    sha256 = "11186pdgaw5p4iv10dqcnynf5pws2v9nhqqqca7z5b7m20fpfjl7";
+    sha256 = "120hds7v29v70qxz20ppxf2glmgbah16v7jyy9i6hb6cfqp68vr8";
   };
 
   buildInputs = [ git gettext ];
@@ -20,10 +20,8 @@ in buildPythonApplication rec {
 
   doCheck = false;
 
-  postFixup = ''
-    wrapQtApp $out/bin/git-cola
-    wrapQtApp $out/bin/git-dag
-
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index f93947d0515..3dd241840c7 100644
--- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonApplication rec {
   pname = "git-machete";
-  version = "3.1.1";
+  version = "3.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00f1rq80vya464dkvf3mzs9zpvkz15ki8srwg08snsm5kb7amwlm";
+    sha256 = "1sw6b1jaddacfm4kvvhgxn743khmsi1c4b4f5mgvm3rabv0h473h";
   };
 
   nativeBuildInputs = [ installShellFiles pbr ];
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 add7bfc5526..15d0fe9bc0f 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
@@ -1,15 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, coreutils, gnugrep, gnused, makeWrapper, git
-}:
+{ lib, stdenv, fetchFromGitHub, coreutils, git, gnugrep, gnused, makeWrapper, inotify-tools }:
 
 stdenv.mkDerivation rec {
   pname = "git-sync";
-  version = "20151024";
+  version = "unstable-2021-07-14";
 
   src = fetchFromGitHub {
     owner = "simonthum";
     repo = "git-sync";
-    rev = "eb9adaf2b5fd65aac1e83d6544b9076aae6af5b7";
-    sha256 = "01if8y93wa0mwbkzkzx2v1vqh47zlz4k1dysl6yh5rmppd1psknz";
+    rev = "7d3d34bf3ee2483fba00948f5b97f964b849a590";
+    sha256 = "sha256-PuYREW5NBkYF1tlcLTbOI8570nvHn5ifN8OIInfNNxI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -18,10 +17,11 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    cp -a git-sync $out/bin/git-sync
+    cp -a git-* $out/bin/
   '';
 
   wrapperPath = with lib; makeBinPath [
+    inotify-tools
     coreutils
     git
     gnugrep
diff --git a/pkgs/applications/version-management/git-and-tools/git-vendor/default.nix b/pkgs/applications/version-management/git-and-tools/git-vendor/default.nix
index c7884c2b52e..ec4db1631b0 100644
--- a/pkgs/applications/version-management/git-and-tools/git-vendor/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-vendor/default.nix
@@ -2,8 +2,8 @@
 }:
 
 let
-  version = "1.2.1";
-  sha256 = "sha256-sm5SmckaXVjF3odqzYrbC46E1nPzQ9cuNJnNSAa7RWY=";
+  version = "1.2.2";
+  sha256 = "sha256-PhxYiTMXg8qRqwbrZaw9UH7pdvXTEnrd09TiYPepzmk=";
 
 in stdenv.mkDerivation {
   pname = "git-vendor";
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 886f293d105..775c4dd09cd 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -78,7 +78,7 @@ stdenv.mkDerivation {
     ++ lib.optionals withLibsecret [ pkg-config glib libsecret ];
 
   # required to support pthread_cancel()
-  NIX_LDFLAGS = lib.optionalString (!stdenv.cc.isClang) "-lgcc_s"
+  NIX_LDFLAGS = lib.optionalString (stdenv.cc.isGNU && stdenv.hostPlatform.libc == "glibc") "-lgcc_s"
               + lib.optionalString (stdenv.isFreeBSD) "-lthr";
 
   configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
@@ -337,8 +337,11 @@ stdenv.mkDerivation {
 
   stripDebugList = [ "lib" "libexec" "bin" "share/git/contrib/credential/libsecret" ];
 
-  passthru.tests = {
-    buildbot-integration = nixosTests.buildbot;
+  passthru = {
+    shellPath = "/bin/git-shell";
+    tests = {
+      buildbot-integration = nixosTests.buildbot;
+    };
   };
 
   meta = {
diff --git a/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix b/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
index f4b74405eba..ab0ce9c7cd0 100644
--- a/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gitstatus";
-  version = "1.4.4";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "gitstatus";
     rev = "v${version}";
-    sha256 = "1w5kpca2v6iii912riywp1jscq7cpr5xv93mglr30pjnar1mk8gs";
+    sha256 = "sha256-MQG4thW73gDqY68bKP2FO8z5uc2R/tED+/X9qas/GOA=";
   };
 
   buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ];
diff --git a/pkgs/applications/version-management/git-and-tools/gitui/default.nix b/pkgs/applications/version-management/git-and-tools/gitui/default.nix
index 3049012160d..4fc1bce4474 100644
--- a/pkgs/applications/version-management/git-and-tools/gitui/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitui/default.nix
@@ -1,16 +1,16 @@
 { lib, stdenv, rustPlatform, fetchFromGitHub, libiconv, perl, python3, Security, AppKit, openssl, xclip }:
 rustPlatform.buildRustPackage rec {
   pname = "gitui";
-  version = "0.16.1";
+  version = "0.16.2";
 
   src = fetchFromGitHub {
     owner = "extrawurst";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8RPIPimDImLUR9oHVZZ7ZeKLtIhebv/d0kl4CQ5NFdU=";
+    sha256 = "sha256-FRPRkFGf6Z/+smK651wR6ETWrvvQ1AKalxXW6d6otIo=";
   };
 
-  cargoSha256 = "sha256-1IHbOjZV8Rc0el7J983B8pvnbt8+QtYiknZU/I85OnY=";
+  cargoSha256 = "sha256-3ubeZgB7XNKysy6s+cdg4GDj/Mn4Mdp9VupcbBRTRh4=";
 
   nativeBuildInputs = [ python3 perl ];
   buildInputs = [ openssl ]
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 12fd8357fc7..f2a5e2368b4 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.18.0";
+  version = "1.18.1";
 
   src = fetchFromGitHub {
     owner = "profclems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/WKfMmaFjnzRWCJZEZF/CguU0K7FOtgvKNMSQGvjODQ=";
+    sha256 = "sha256-ahP5y5i0SMj2+mP4RYc7MLZGElX5eLgKwiVhBYGOX2g=";
   };
 
-  vendorSha256 = "sha256-PCkVjLdOdOhJGNSkVPFK/ONRdJT7MS0COjYgPNT5dNw=";
+  vendorSha256 = "sha256-ssVmqcJ/DxUqAkHm9tn4RwWuKzTHvxoqJquXPIRy4b8=";
   runVend = true;
 
   # Tests are trying to access /homeless-shelter
diff --git a/pkgs/applications/version-management/git-and-tools/lefthook/default.nix b/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
index 264677dc1cd..374e68a71c7 100644
--- a/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lefthook";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "evilmartians";
     repo = "lefthook";
-    sha256 = "sha256-IKrutZJhs2iuwhXoV+81rDoaSi/xdYRpIlF1YjGFGY4=";
+    sha256 = "sha256-qCj6FsbzxnMISCITKFcIIYtqMiHzSNYNjlpgpE9S/Ss=";
   };
 
   vendorSha256 = "sha256-Rp67FnFU27u85t02MIs7wZQoOa8oGsHVVPQ9OdIyTJg=";
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index c84375cfece..3623dbba6b8 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.15.4";
+  version = "2.16";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "1ayw2pz9falcsi528q63z3w7npzkk7y8z258danqh41j6q9871js";
+    sha256 = "sha256-F36MuqgVkKM2RCIGEGJmL3/KpZy3eDRZ7WWUE15mTfU=";
   };
 
   # Fix 'NameError: name 'ssl' is not defined'
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index e92a5a38a28..bd61d984c62 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.14.2";
+  version = "1.14.5";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "sha256-0EvKk0/ro1YAqvc5yCt8vn2LkRoIbXrFTwcQtomoWsM=";
+    sha256 = "sha256-8nwLVpe/5IjXJqO179lN80B/3WGUL3LKM8OWdh/bYOE=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index c0cc9d5e2b1..3e10add49d4 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.6.1";
+  version = "7.7.0";
 
   src = fetchzip {
     url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
-    sha256 = "sha256-wpfTozXxanZkYtYQHY950PLsVO4lXLt5OOP/xDCrFEw=";
+    sha256 = "0zb94ipi777qkznxpgb7ah31mx9b63713k92vhxhz4glna59lvk3";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index d7e6261a932..b214b663ae6 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,13 +1,13 @@
 {
-  "version": "13.12.3",
-  "repo_hash": "0kpdl1gwcxy13lwyl96nsia62wysrnxdygil6sz6s72hg0y2fsgr",
+  "version": "14.0.5",
+  "repo_hash": "1rykrgzapqa3j2yqpd99fpyyrdp25h2xnx21gnjnkn58qljs4cgs",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v13.12.3-ee",
+  "rev": "v14.0.5-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "13.12.3",
-    "GITLAB_PAGES_VERSION": "1.39.0",
-    "GITLAB_SHELL_VERSION": "13.18.0",
-    "GITLAB_WORKHORSE_VERSION": "13.12.3"
+    "GITALY_SERVER_VERSION": "14.0.5",
+    "GITLAB_PAGES_VERSION": "1.40.0",
+    "GITLAB_SHELL_VERSION": "13.19.0",
+    "GITLAB_WORKHORSE_VERSION": "14.0.5"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 225b9f6c0cb..fffe8894405 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -191,7 +191,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     homepage = "http://www.gitlab.com/";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz globin krav talyz ];
+    maintainers = with maintainers; [ fpletz globin krav talyz yuka ];
   } // (if gitlabEnterprise then
     {
       license = licenses.unfreeRedistributable; # https://gitlab.com/gitlab-org/gitlab-ee/raw/master/LICENSE
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index adee2020f6f..20f1034fc90 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -13,7 +13,7 @@ gem 'faraday', '~> 1.0'
 gem 'rbtrace', require: false
 
 # Labkit provides observability functionality
-gem 'gitlab-labkit', '~> 0.16.2'
+gem 'gitlab-labkit', '~> 0.17.1'
 
 # Detects the open source license the repository includes
 # This version needs to be in sync with GitLab CE/EE
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index a8e2f3f5a67..af6a3ce8142 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -65,13 +65,13 @@ GEM
     gitlab-gollum-rugged_adapter (0.4.4.4.gitlab.1)
       mime-types (>= 1.15)
       rugged (~> 1.0)
-    gitlab-labkit (0.16.2)
+    gitlab-labkit (0.17.1)
       actionpack (>= 5.0.0, < 7.0.0)
       activesupport (>= 5.0.0, < 7.0.0)
       grpc (~> 1.19)
       jaeger-client (~> 1.1)
       opentracing (~> 0.4)
-      pg_query (~> 1.3)
+      pg_query (~> 2.0)
       redis (> 3.0.0, < 5.0.0)
     gitlab-markup (1.7.1)
     google-protobuf (3.14.0)
@@ -104,11 +104,11 @@ GEM
       mime-types-data (~> 3.2015)
     mime-types-data (3.2020.1104)
     mini_mime (1.0.2)
-    mini_portile2 (2.5.0)
+    mini_portile2 (2.5.1)
     minitest (5.14.2)
     msgpack (1.3.3)
     multipart-post (2.1.1)
-    nokogiri (1.11.1)
+    nokogiri (1.11.5)
       mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
     nokogumbo (1.5.0)
@@ -121,7 +121,8 @@ GEM
     parallel (1.19.2)
     parser (2.7.2.0)
       ast (~> 2.4.1)
-    pg_query (1.3.0)
+    pg_query (2.0.3)
+      google-protobuf (~> 3.15.5)
     proc_to_ast (0.1.0)
       coderay
       parser
@@ -221,7 +222,7 @@ DEPENDENCIES
   github-linguist (~> 7.12)
   gitlab-gollum-lib (~> 4.2.7.10.gitlab.1)
   gitlab-gollum-rugged_adapter (~> 0.4.4.4.gitlab.1)
-  gitlab-labkit (~> 0.16.2)
+  gitlab-labkit (~> 0.17.1)
   gitlab-markup (~> 1.7.1)
   google-protobuf (~> 3.14.0)
   grpc (~> 1.30.2)
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 6276dd75eaf..ced652e68d9 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -21,17 +21,17 @@ let
       };
   };
 in buildGoModule rec {
-  version = "13.12.3";
+  version = "14.0.5";
   pname = "gitaly";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-qqLVYNCE8rKPBY5tj6AAoWcyIEtQZkO980NVPg0WO18=";
+    sha256 = "sha256-aZ+EDF9BOdsbE+Xsde259eRmQhnb6H5piLQsvzgVpGM=";
   };
 
-  vendorSha256 = "sha256-drS0L0olEFHYJVC0VYwEZeNYa8fjwrfxlhrEQa4pqzY=";
+  vendorSha256 = "sha256-U962bMmXNnenCYkSdk0Uy7Bz+b9JGU5rJHfblZoyC/I=";
 
   passthru = {
     inherit rubyEnv;
diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index c3c742b6669..91e5217c271 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -269,10 +269,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0184rq6sal3xz4f0w5iaa5zf3q55i4dh0rlvr25l1g0s2imwr3fa";
+      sha256 = "1y1sk3xmxj14nzx7v2zgq4q4d5lh4v1pvhs03n03j3kp4fbrj469";
       type = "gem";
     };
-    version = "0.16.2";
+    version = "0.17.1";
   };
   gitlab-markup = {
     groups = ["default"];
@@ -441,10 +441,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7";
+      sha256 = "0xg1x4708a4pn2wk8qs2d8kfzzdyv9kjjachg2f1phsx62ap2rx2";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.5.1";
   };
   minitest = {
     groups = ["default" "development" "test"];
@@ -482,10 +482,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ajwkqr28hwqbyl1l3czx4a34c88acxywyqp8cjyy0zgsd6sbhj2";
+      sha256 = "1i80ny61maqzqr1fq5wgpkijmh5j8abisrmhn16kv7mzmxqg5w0m";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.5";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -549,14 +549,15 @@
     version = "2.7.2.0";
   };
   pg_query = {
+    dependencies = ["google-protobuf"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i9l3y502ddm2lq3ajhxhqq17vs9hgxkxm443yw221ccibcfh6qf";
+      sha256 = "1mii63kgppy2zil2qn54c94z93b6ama6x7gq6rbv4xxlfk8ncrag";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "2.0.3";
   };
   proc_to_ast = {
     dependencies = ["coderay" "parser" "unparser"];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index bdbde4dbde4..704d9080331 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "gitlab-shell";
-  version = "13.18.0";
+  version = "13.19.0";
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "sha256-TPe2quDg/ljI2v1HciDajosSPm4Z/iT2skeveNdrKdo=";
+    sha256 = "sha256-CmatKArkpDS3GGbIIkKjs4FwywLiU+lRL32GKEpOqZ0=";
   };
 
   buildInputs = [ ruby ];
 
   patches = [ ./remove-hardcoded-locations.patch ];
 
-  vendorSha256 = "sha256-MvWpZ/Z9ieNE0+p975BG302BPzFbCZD3cACXMW5fiTQ=";
+  vendorSha256 = "sha256-+nUMxHWo/d/WrQ4LAEG2+ghtNBF9vcnSyg6Ki412rPA=";
 
   postInstall = ''
     cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index e900a6522eb..e237c4fd480 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "13.12.3";
+  version = "14.0.5";
 
   src = fetchFromGitLab {
     owner = data.owner;
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   sourceRoot = "source/workhorse";
 
-  vendorSha256 = "sha256-JJN1KqqbP4fIW/k6LebIaWdYOmIzHqxCDgOKrkbB7Nw=";
+  vendorSha256 = "sha256-gTObI0pmRUX6Eh5FVdt+5LbckyBuFq1Ly4oPZztazHQ=";
   buildInputs = [ git ];
   buildFlagsArray = "-ldflags=-X main.Version=${version}";
   doCheck = false;
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 14dcc7ab4b1..03b275e11d2 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -2,7 +2,7 @@
 
 source 'https://rubygems.org'
 
-gem 'rails', '~> 6.0.3.6'
+gem 'rails', '~> 6.1.3.2'
 
 gem 'bootsnap', '~> 1.4.6'
 
@@ -129,7 +129,7 @@ gem 'fog-local', '~> 0.6'
 gem 'fog-openstack', '~> 1.0'
 gem 'fog-rackspace', '~> 0.1.1'
 gem 'fog-aliyun', '~> 0.3'
-gem 'gitlab-fog-azure-rm', '~> 1.0.1', require: false
+gem 'gitlab-fog-azure-rm', '~> 1.1.1', require: false
 
 # for Google storage
 gem 'google-api-client', '~> 0.33'
@@ -157,7 +157,7 @@ gem 'github-markup', '~> 1.7.0', require: 'github/markup'
 gem 'commonmarker', '~> 0.21'
 gem 'kramdown', '~> 2.3.1'
 gem 'RedCloth', '~> 4.3.2'
-gem 'rdoc', '~> 6.1.2'
+gem 'gitlab-rdoc', '~> 6.3.2', require: 'rdoc' # We need this fork until rdoc releases a new version. See https://gitlab.com/gitlab-org/gitlab/-/issues/334695
 gem 'org-ruby', '~> 0.9.12'
 gem 'creole', '~> 0.5.0'
 gem 'wikicloth', '0.8.1'
@@ -168,7 +168,7 @@ gem 'asciidoctor-kroki', '~> 0.4.0', require: false
 gem 'rouge', '~> 3.26.0'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
-gem 'nokogiri', '~> 1.11.1'
+gem 'nokogiri', '~> 1.11.4'
 gem 'escape_utils', '~> 1.1'
 
 # Calendar rendering
@@ -183,13 +183,8 @@ gem 'rack', '~> 2.2.3'
 # https://github.com/sharpstone/rack-timeout/blob/master/README.md#rails-apps-manually
 gem 'rack-timeout', '~> 0.5.1', require: 'rack/timeout/base'
 
-group :unicorn do
-  gem 'unicorn', '~> 5.5'
-  gem 'unicorn-worker-killer', '~> 0.4.4'
-end
-
 group :puma do
-  gem 'puma', '~> 5.1.1', require: false
+  gem 'puma', '~> 5.3.1', require: false
   gem 'puma_worker_killer', '~> 0.3.1', require: false
 end
 
@@ -254,7 +249,7 @@ gem 'flowdock', '~> 0.7'
 gem 'slack-messenger', '~> 2.3.4'
 
 # Hangouts Chat integration
-gem 'hangouts-chat', '~> 0.0.5'
+gem 'hangouts-chat', '~> 0.0.5', require: 'hangouts_chat'
 
 # Asana integration
 gem 'asana', '~> 0.10.3'
@@ -306,15 +301,20 @@ gem 'gitlab-license', '~> 1.5'
 gem 'rack-attack', '~> 6.3.0'
 
 # Sentry integration
-gem 'sentry-raven', '~> 3.0'
+gem 'sentry-raven', '~> 3.1'
 
 # PostgreSQL query parsing
-gem 'pg_query', '~> 1.3.0'
+#
+# We need this fork until https://github.com/pganalyze/pg_query/pull/212
+# and https://github.com/pganalyze/pg_query/pull/213 are
+# released. gitlab-labkit will need to be updated to use the pg_query
+# version.
+gem 'gitlab-pg_query', '~> 2.0.4', require: 'pg_query'
 
 gem 'premailer-rails', '~> 1.10.3'
 
 # LabKit: Tracing and Correlation
-gem 'gitlab-labkit', '~> 0.16.2'
+gem 'gitlab-labkit', '~> 0.18.0'
 # Thrift is a dependency of gitlab-labkit, we want a version higher than 0.14.0
 # because of https://gitlab.com/gitlab-org/gitlab/-/issues/321900
 gem 'thrift', '>= 0.14.0'
@@ -341,12 +341,11 @@ group :metrics do
 
   # Prometheus
   gem 'prometheus-client-mmap', '~> 0.12.0'
-  gem 'raindrops', '~> 0.18'
 end
 
 group :development do
   gem 'lefthook', '~> 0.7.0', require: false
-  gem 'solargraph', '~> 0.40.4', require: false
+  gem 'solargraph', '~> 0.42', require: false
 
   gem 'letter_opener_web', '~> 1.4.0'
 
@@ -403,7 +402,7 @@ group :development, :test do
 end
 
 group :development, :test, :danger do
-  gem 'gitlab-dangerfiles', '~> 2.0.0', require: false
+  gem 'gitlab-dangerfiles', '~> 2.1.2', require: false
 end
 
 group :development, :test, :coverage do
@@ -481,18 +480,21 @@ end
 gem 'spamcheck', '~> 0.1.0'
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 13.12.0.pre.rc1'
+gem 'gitaly', '~> 14.0.0.pre.rc2'
+
+# KAS GRPC protocol definitions
+gem 'kas-grpc', '~> 0.0.2'
 
 gem 'grpc', '~> 1.30.2'
 
-gem 'google-protobuf', '~> 3.14.0'
+gem 'google-protobuf', '~> 3.17.1'
 
 gem 'toml-rb', '~> 1.0.0'
 
 # Feature toggles
-gem 'flipper', '~> 0.17.1'
-gem 'flipper-active_record', '~> 0.17.1'
-gem 'flipper-active_support_cache_store', '~> 0.17.1'
+gem 'flipper', '~> 0.21.0'
+gem 'flipper-active_record', '~> 0.21.0'
+gem 'flipper-active_support_cache_store', '~> 0.21.0'
 gem 'unleash', '~> 0.1.5'
 gem 'gitlab-experiment', '~> 0.5.4'
 
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 31f362c9f9b..62222b56396 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -5,64 +5,68 @@ GEM
     abstract_type (0.0.7)
     acme-client (2.0.6)
       faraday (>= 0.17, < 2.0.0)
-    actioncable (6.0.3.6)
-      actionpack (= 6.0.3.6)
+    actioncable (6.1.3.2)
+      actionpack (= 6.1.3.2)
+      activesupport (= 6.1.3.2)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
-    actionmailbox (6.0.3.6)
-      actionpack (= 6.0.3.6)
-      activejob (= 6.0.3.6)
-      activerecord (= 6.0.3.6)
-      activestorage (= 6.0.3.6)
-      activesupport (= 6.0.3.6)
+    actionmailbox (6.1.3.2)
+      actionpack (= 6.1.3.2)
+      activejob (= 6.1.3.2)
+      activerecord (= 6.1.3.2)
+      activestorage (= 6.1.3.2)
+      activesupport (= 6.1.3.2)
       mail (>= 2.7.1)
-    actionmailer (6.0.3.6)
-      actionpack (= 6.0.3.6)
-      actionview (= 6.0.3.6)
-      activejob (= 6.0.3.6)
+    actionmailer (6.1.3.2)
+      actionpack (= 6.1.3.2)
+      actionview (= 6.1.3.2)
+      activejob (= 6.1.3.2)
+      activesupport (= 6.1.3.2)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (6.0.3.6)
-      actionview (= 6.0.3.6)
-      activesupport (= 6.0.3.6)
-      rack (~> 2.0, >= 2.0.8)
+    actionpack (6.1.3.2)
+      actionview (= 6.1.3.2)
+      activesupport (= 6.1.3.2)
+      rack (~> 2.0, >= 2.0.9)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actiontext (6.0.3.6)
-      actionpack (= 6.0.3.6)
-      activerecord (= 6.0.3.6)
-      activestorage (= 6.0.3.6)
-      activesupport (= 6.0.3.6)
+    actiontext (6.1.3.2)
+      actionpack (= 6.1.3.2)
+      activerecord (= 6.1.3.2)
+      activestorage (= 6.1.3.2)
+      activesupport (= 6.1.3.2)
       nokogiri (>= 1.8.5)
-    actionview (6.0.3.6)
-      activesupport (= 6.0.3.6)
+    actionview (6.1.3.2)
+      activesupport (= 6.1.3.2)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activejob (6.0.3.6)
-      activesupport (= 6.0.3.6)
+    activejob (6.1.3.2)
+      activesupport (= 6.1.3.2)
       globalid (>= 0.3.6)
-    activemodel (6.0.3.6)
-      activesupport (= 6.0.3.6)
-    activerecord (6.0.3.6)
-      activemodel (= 6.0.3.6)
-      activesupport (= 6.0.3.6)
+    activemodel (6.1.3.2)
+      activesupport (= 6.1.3.2)
+    activerecord (6.1.3.2)
+      activemodel (= 6.1.3.2)
+      activesupport (= 6.1.3.2)
     activerecord-explain-analyze (0.1.0)
       activerecord (>= 4)
       pg
-    activestorage (6.0.3.6)
-      actionpack (= 6.0.3.6)
-      activejob (= 6.0.3.6)
-      activerecord (= 6.0.3.6)
+    activestorage (6.1.3.2)
+      actionpack (= 6.1.3.2)
+      activejob (= 6.1.3.2)
+      activerecord (= 6.1.3.2)
+      activesupport (= 6.1.3.2)
       marcel (~> 1.0.0)
-    activesupport (6.0.3.6)
+      mini_mime (~> 1.0.2)
+    activesupport (6.1.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)
+      i18n (>= 1.6, < 2)
+      minitest (>= 5.1)
+      tzinfo (~> 2.0)
+      zeitwerk (~> 2.3)
     acts-as-taggable-on (7.0.0)
       activerecord (>= 5.0, < 6.2)
     adamantium (0.2.0)
@@ -126,7 +130,7 @@ GEM
       net-http-persistent (~> 4.0)
       nokogiri (~> 1.11.0.rc2)
     babosa (1.0.4)
-    backport (1.1.2)
+    backport (1.2.0)
     base32 (0.3.2)
     batch-loader (2.0.1)
     bcrypt (3.1.16)
@@ -341,13 +345,24 @@ GEM
     factory_bot_rails (6.1.0)
       factory_bot (~> 6.1.0)
       railties (>= 5.0.0)
-    faraday (1.0.1)
+    faraday (1.4.2)
+      faraday-em_http (~> 1.0)
+      faraday-em_synchrony (~> 1.0)
+      faraday-excon (~> 1.1)
+      faraday-net_http (~> 1.0)
+      faraday-net_http_persistent (~> 1.1)
       multipart-post (>= 1.2, < 3)
+      ruby2_keywords (>= 0.0.4)
     faraday-cookie_jar (0.0.7)
       faraday (>= 0.8.0)
       http-cookie (~> 1.0.0)
+    faraday-em_http (1.0.0)
+    faraday-em_synchrony (1.0.0)
+    faraday-excon (1.1.0)
     faraday-http-cache (2.2.0)
       faraday (>= 0.8)
+    faraday-net_http (1.0.1)
+    faraday-net_http_persistent (1.1.0)
     faraday_middleware (1.0.0)
       faraday (~> 1.0)
     faraday_middleware-aws-sigv4 (0.3.0)
@@ -359,19 +374,19 @@ GEM
     fast_blank (1.0.0)
     fast_gettext (1.6.0)
     ffaker (2.10.0)
-    ffi (1.13.1)
+    ffi (1.15.1)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
       rake
     ffi-yajl (2.3.4)
       libyajl2 (~> 1.2)
-    flipper (0.17.1)
-    flipper-active_record (0.17.1)
-      activerecord (>= 4.2, < 7)
-      flipper (~> 0.17.1)
-    flipper-active_support_cache_store (0.17.1)
-      activesupport (>= 4.2, < 7)
-      flipper (~> 0.17.1)
+    flipper (0.21.0)
+    flipper-active_record (0.21.0)
+      activerecord (>= 5.0, < 7)
+      flipper (~> 0.21.0)
+    flipper-active_support_cache_store (0.21.0)
+      activesupport (>= 5.0, < 7)
+      flipper (~> 0.21.0)
     flowdock (0.7.1)
       httparty (~> 0.7)
       multi_json
@@ -432,7 +447,7 @@ GEM
       rails (>= 3.2.0)
     git (1.7.0)
       rchardet (~> 1.8)
-    gitaly (13.12.0.pre.rc1)
+    gitaly (14.0.0.pre.rc2)
       grpc (~> 1.0)
     github-markup (1.7.0)
     gitlab (4.16.1)
@@ -440,13 +455,13 @@ GEM
       terminal-table (~> 1.5, >= 1.5.1)
     gitlab-chronic (0.10.5)
       numerizer (~> 0.2)
-    gitlab-dangerfiles (2.0.0)
+    gitlab-dangerfiles (2.1.2)
       danger-gitlab
     gitlab-experiment (0.5.4)
       activesupport (>= 3.0)
       request_store (>= 1.0)
       scientist (~> 1.6, >= 1.6.0)
-    gitlab-fog-azure-rm (1.0.1)
+    gitlab-fog-azure-rm (1.1.1)
       azure-storage-blob (~> 2.0)
       azure-storage-common (~> 2.0)
       fog-core (= 2.1.0)
@@ -460,13 +475,13 @@ GEM
       fog-xml (~> 0.1.0)
       google-api-client (>= 0.44.2, < 0.51)
       google-cloud-env (~> 1.2)
-    gitlab-labkit (0.16.2)
+    gitlab-labkit (0.18.0)
       actionpack (>= 5.0.0, < 7.0.0)
       activesupport (>= 5.0.0, < 7.0.0)
+      gitlab-pg_query (~> 2.0)
       grpc (~> 1.19)
       jaeger-client (~> 1.1)
       opentracing (~> 0.4)
-      pg_query (~> 1.3)
       redis (> 3.0.0, < 5.0.0)
     gitlab-license (1.5.0)
     gitlab-mail_room (0.0.9)
@@ -476,6 +491,9 @@ GEM
       addressable (~> 2.7)
       omniauth (~> 1.9)
       openid_connect (~> 1.2)
+    gitlab-pg_query (2.0.4)
+      google-protobuf (>= 3.17.1)
+    gitlab-rdoc (6.3.2)
     gitlab-sidekiq-fetcher (0.5.6)
       sidekiq (~> 5)
     gitlab-styles (6.2.0)
@@ -509,7 +527,7 @@ GEM
       signet (~> 0.12)
     google-cloud-env (1.4.0)
       faraday (>= 0.17.3, < 2.0)
-    google-protobuf (3.14.0)
+    google-protobuf (3.17.1)
     googleapis-common-protos-types (1.0.6)
       google-protobuf (~> 3.14)
     googleauth (0.14.0)
@@ -615,7 +633,7 @@ GEM
     http-cookie (1.0.3)
       domain_name (~> 0.5)
     http-form_data (2.3.0)
-    http-parser (1.2.1)
+    http-parser (1.2.3)
       ffi-compiler (>= 1.0, < 2.0)
     httparty (0.16.4)
       mime-types (~> 3.0)
@@ -669,7 +687,8 @@ GEM
       activerecord
       kaminari-core (= 1.2.1)
     kaminari-core (1.2.1)
-    kgio (2.11.3)
+    kas-grpc (0.0.2)
+      grpc (~> 1.0)
     knapsack (1.21.1)
       rake
     kramdown (2.3.1)
@@ -683,7 +702,7 @@ GEM
       rest-client (~> 2.0)
     launchy (2.5.0)
       addressable (~> 2.7)
-    lefthook (0.7.2)
+    lefthook (0.7.5)
     letter_opener (1.7.0)
       launchy (~> 2.2)
     letter_opener_web (1.4.0)
@@ -735,7 +754,7 @@ GEM
     mime-types-data (3.2020.0512)
     mini_histogram (0.3.1)
     mini_magick (4.10.1)
-    mini_mime (1.1.0)
+    mini_mime (1.0.2)
     mini_portile2 (2.5.0)
     minitest (5.11.3)
     mixlib-cli (2.1.8)
@@ -774,7 +793,7 @@ GEM
     netrc (0.11.0)
     nio4r (2.5.4)
     no_proxy_fix (0.1.2)
-    nokogiri (1.11.3)
+    nokogiri (1.11.4)
       mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
     nokogumbo (2.0.2)
@@ -896,7 +915,6 @@ GEM
     peek (1.1.0)
       railties (>= 4.0.0)
     pg (1.2.3)
-    pg_query (1.3.0)
     plist (3.6.0)
     png_quantizator (0.2.1)
     po_to_json (1.0.1)
@@ -922,12 +940,12 @@ GEM
       pry (~> 0.13.0)
     pry-rails (0.3.9)
       pry (>= 0.10.4)
-    pry-shell (0.4.0)
+    pry-shell (0.4.1)
       pry (~> 0.13.0)
       tty-markdown
       tty-prompt
     public_suffix (4.0.6)
-    puma (5.1.1)
+    puma (5.3.2)
       nio4r (~> 2.0)
     puma_worker_killer (0.3.1)
       get_process_mem (~> 0.2)
@@ -955,20 +973,20 @@ GEM
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
     rack-timeout (0.5.2)
-    rails (6.0.3.6)
-      actioncable (= 6.0.3.6)
-      actionmailbox (= 6.0.3.6)
-      actionmailer (= 6.0.3.6)
-      actionpack (= 6.0.3.6)
-      actiontext (= 6.0.3.6)
-      actionview (= 6.0.3.6)
-      activejob (= 6.0.3.6)
-      activemodel (= 6.0.3.6)
-      activerecord (= 6.0.3.6)
-      activestorage (= 6.0.3.6)
-      activesupport (= 6.0.3.6)
-      bundler (>= 1.3.0)
-      railties (= 6.0.3.6)
+    rails (6.1.3.2)
+      actioncable (= 6.1.3.2)
+      actionmailbox (= 6.1.3.2)
+      actionmailer (= 6.1.3.2)
+      actionpack (= 6.1.3.2)
+      actiontext (= 6.1.3.2)
+      actionview (= 6.1.3.2)
+      activejob (= 6.1.3.2)
+      activemodel (= 6.1.3.2)
+      activerecord (= 6.1.3.2)
+      activestorage (= 6.1.3.2)
+      activesupport (= 6.1.3.2)
+      bundler (>= 1.15.0)
+      railties (= 6.1.3.2)
       sprockets-rails (>= 2.0.0)
     rails-controller-testing (1.0.5)
       actionpack (>= 5.0.1.rc1)
@@ -982,14 +1000,13 @@ GEM
     rails-i18n (6.0.0)
       i18n (>= 0.7, < 2)
       railties (>= 6.0.0, < 7)
-    railties (6.0.3.6)
-      actionpack (= 6.0.3.6)
-      activesupport (= 6.0.3.6)
+    railties (6.1.3.2)
+      actionpack (= 6.1.3.2)
+      activesupport (= 6.1.3.2)
       method_source
       rake (>= 0.8.7)
-      thor (>= 0.20.3, < 2.0)
+      thor (~> 1.0)
     rainbow (3.0.0)
-    raindrops (0.19.1)
     rake (13.0.3)
     rb-fsevent (0.10.4)
     rb-inotify (0.10.1)
@@ -1001,7 +1018,6 @@ GEM
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
     rchardet (1.8.0)
-    rdoc (6.1.2)
     re2 (1.2.0)
     recaptcha (4.13.1)
       json
@@ -1123,7 +1139,7 @@ GEM
       nokogiri (>= 1.10.5)
       rexml
     ruby-statistics (2.1.2)
-    ruby2_keywords (0.0.2)
+    ruby2_keywords (0.0.4)
     ruby_parser (3.15.0)
       sexp_processor (~> 4.9)
     rubyntlm (0.6.2)
@@ -1162,7 +1178,7 @@ GEM
     selenium-webdriver (3.142.7)
       childprocess (>= 0.5, < 4.0)
       rubyzip (>= 1.2.2)
-    sentry-raven (3.0.4)
+    sentry-raven (3.1.2)
       faraday (>= 1.0)
     settingslogic (2.0.9)
     sexp_processor (4.15.1)
@@ -1193,10 +1209,11 @@ GEM
     slack-messenger (2.3.4)
     snowplow-tracker (0.6.1)
       contracts (~> 0.7, <= 0.11)
-    solargraph (0.40.4)
-      backport (~> 1.1)
+    solargraph (0.42.3)
+      backport (~> 1.2)
       benchmark
       bundler (>= 1.17.2)
+      diff-lcs (~> 1.4)
       e2mmap
       jaro_winkler (~> 1.5)
       kramdown (~> 2.3)
@@ -1248,8 +1265,8 @@ GEM
     terser (1.0.2)
       execjs (>= 0.3.0, < 3)
     test-prof (0.12.0)
-    test_file_finder (0.1.3)
-      faraday (~> 1.0.1)
+    test_file_finder (0.1.4)
+      faraday (~> 1.0)
     text (1.3.1)
     thin (1.8.0)
       daemons (~> 1.0, >= 1.0.9)
@@ -1298,8 +1315,8 @@ GEM
       tty-screen (~> 0.8)
       wisper (~> 2.0)
     tty-screen (0.8.1)
-    tzinfo (1.2.9)
-      thread_safe (~> 0.1)
+    tzinfo (2.0.4)
+      concurrent-ruby (~> 1.0)
     u2f (0.2.1)
     uber (0.1.0)
     unf (0.1.4)
@@ -1307,12 +1324,6 @@ GEM
     unf_ext (0.0.7.7)
     unicode-display_width (1.7.0)
     unicode_utils (1.4.0)
-    unicorn (5.5.5)
-      kgio (~> 2.6)
-      raindrops (~> 0.7)
-    unicorn-worker-killer (0.4.4)
-      get_process_mem (~> 0)
-      unicorn (>= 4, < 6)
     uniform_notifier (1.13.0)
     unleash (0.1.5)
       murmurhash3 (~> 0.1.6)
@@ -1449,9 +1460,9 @@ DEPENDENCIES
   faraday_middleware-aws-sigv4 (~> 0.3.0)
   fast_blank
   ffaker (~> 2.10)
-  flipper (~> 0.17.1)
-  flipper-active_record (~> 0.17.1)
-  flipper-active_support_cache_store (~> 0.17.1)
+  flipper (~> 0.21.0)
+  flipper-active_record (~> 0.21.0)
+  flipper-active_support_cache_store (~> 0.21.0)
   flowdock (~> 0.7)
   fog-aliyun (~> 0.3)
   fog-aws (~> 3.9)
@@ -1465,26 +1476,28 @@ DEPENDENCIES
   gettext (~> 3.3)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 13.12.0.pre.rc1)
+  gitaly (~> 14.0.0.pre.rc2)
   github-markup (~> 1.7.0)
   gitlab-chronic (~> 0.10.5)
-  gitlab-dangerfiles (~> 2.0.0)
+  gitlab-dangerfiles (~> 2.1.2)
   gitlab-experiment (~> 0.5.4)
-  gitlab-fog-azure-rm (~> 1.0.1)
+  gitlab-fog-azure-rm (~> 1.1.1)
   gitlab-fog-google (~> 1.13)
-  gitlab-labkit (~> 0.16.2)
+  gitlab-labkit (~> 0.18.0)
   gitlab-license (~> 1.5)
   gitlab-mail_room (~> 0.0.9)
   gitlab-markup (~> 1.7.1)
   gitlab-net-dns (~> 0.9.1)
   gitlab-omniauth-openid-connect (~> 0.4.0)
+  gitlab-pg_query (~> 2.0.4)
+  gitlab-rdoc (~> 6.3.2)
   gitlab-sidekiq-fetcher (= 0.5.6)
   gitlab-styles (~> 6.2.0)
   gitlab_chronic_duration (~> 0.10.6.2)
   gitlab_omniauth-ldap (~> 2.1.1)
   gon (~> 6.4.0)
   google-api-client (~> 0.33)
-  google-protobuf (~> 3.14.0)
+  google-protobuf (~> 3.17.1)
   gpgme (~> 2.0.19)
   grape (~> 1.5.2)
   grape-entity (~> 0.9.0)
@@ -1515,6 +1528,7 @@ DEPENDENCIES
   json_schemer (~> 0.2.12)
   jwt (~> 2.1.0)
   kaminari (~> 1.0)
+  kas-grpc (~> 0.0.2)
   knapsack (~> 1.21.1)
   kramdown (~> 2.3.1)
   kubeclient (~> 4.9.1)
@@ -1536,7 +1550,7 @@ DEPENDENCIES
   net-ldap (~> 0.16.3)
   net-ntp
   net-ssh (~> 6.0)
-  nokogiri (~> 1.11.1)
+  nokogiri (~> 1.11.4)
   oauth2 (~> 1.4)
   octokit (~> 4.15)
   ohai (~> 16.10)
@@ -1564,14 +1578,13 @@ DEPENDENCIES
   parslet (~> 1.8)
   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
   pry-rails (~> 0.3.9)
   pry-shell (~> 0.4.0)
-  puma (~> 5.1.1)
+  puma (~> 5.3.1)
   puma_worker_killer (~> 0.3.1)
   rack (~> 2.2.3)
   rack-attack (~> 6.3.0)
@@ -1579,14 +1592,12 @@ DEPENDENCIES
   rack-oauth2 (~> 1.16.0)
   rack-proxy (~> 0.6.0)
   rack-timeout (~> 0.5.1)
-  rails (~> 6.0.3.6)
+  rails (~> 6.1.3.2)
   rails-controller-testing
   rails-i18n (~> 6.0)
   rainbow (~> 3.0)
-  raindrops (~> 0.18)
   rblineprof (~> 0.3.6)
   rbtrace (~> 0.4)
-  rdoc (~> 6.1.2)
   re2 (~> 1.2.0)
   recaptcha (~> 4.11)
   redis (~> 4.0)
@@ -1615,7 +1626,7 @@ DEPENDENCIES
   sassc-rails (~> 2.1.0)
   seed-fu (~> 2.3.7)
   selenium-webdriver (~> 3.142)
-  sentry-raven (~> 3.0)
+  sentry-raven (~> 3.1)
   settingslogic (~> 2.0.9)
   shoulda-matchers (~> 4.0.1)
   sidekiq (~> 5.2.7)
@@ -1625,7 +1636,7 @@ DEPENDENCIES
   simplecov-cobertura (~> 1.3.1)
   slack-messenger (~> 2.3.4)
   snowplow-tracker (~> 0.6.1)
-  solargraph (~> 0.40.4)
+  solargraph (~> 0.42)
   spamcheck (~> 0.1.0)
   spring (~> 2.1.0)
   spring-commands-rspec (~> 1.0.4)
@@ -1644,8 +1655,6 @@ DEPENDENCIES
   truncato (~> 0.7.11)
   u2f (~> 0.2.1)
   unf (~> 0.1.4)
-  unicorn (~> 5.5)
-  unicorn-worker-killer (~> 0.4.4)
   unleash (~> 0.1.5)
   valid_email (~> 0.1)
   validates_hostname (~> 1.0.11)
@@ -1658,4 +1667,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4.1)
 
 BUNDLED WITH
-   2.1.4
+   2.2.20
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index f9b174c43f1..215f1467fed 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -21,15 +21,15 @@
     version = "2.0.6";
   };
   actioncable = {
-    dependencies = ["actionpack" "nio4r" "websocket-driver"];
+    dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver"];
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1543p34bfq7s4l83m0f84f0z5yr1ip1miyimv4gh2k136pgk23r9";
+      sha256 = "15r6ab17iwhhq92by4ah9z4wwvjbr07qn16x8pn2ypgqwvfy74h7";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -37,21 +37,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dnx7mhhzwr45lsxkd7y9ld9vazcadxzs7813jp19hk3wra4jvs3";
+      sha256 = "1q1r3x9fbq5wlgn4xhqw48la09q7f97zna7ld5fglk3jpmh973x5";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   actionmailer = {
-    dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
+    dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cnsv97qx7708wg00lxcl7a6h8amxn85h40s8ngszhknh8wpwj3f";
+      sha256 = "1nqdaykzgib8fsldkxdkw0w44jzz4grvb028crzg0qpwvv03g2wp";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -59,10 +59,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10rn7gmnnwpm593xv6lcf4qa72wmlbyjg4zmdc3lpb5596whd3yz";
+      sha256 = "1wdgv5llgbl4nayx5j78lfvhhjssrzfmypb45mjy37mgm8z5l5m5";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -70,10 +70,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13i7x4zp991sq3zsagpzs01bhm81zgy63lamqrpsp68nv584n5sx";
+      sha256 = "1zfrkcnp9wy1dm4b6iqf29858dp04a62asfmldainqmv4a7931q7";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -81,10 +81,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ikqpxsrsb7xmq6ds5iq22nj2j3ai16z8z2j5r6lk8pzbi0wwsz5";
+      sha256 = "1r6db2g3fsrca1hp9kbyvjx9psipsxw0g306qharkcblxl8h1ysn";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -92,10 +92,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sy9kyl7famlwrdw7gz6sy7azhkcsn1mjja44s44libcz3fl7jpc";
+      sha256 = "0p80rbahcxhxlkxgf4bh580hbifn9q4gr5g9fy8fd0z5g6gr9xxq";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -103,10 +103,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15kq8ghmkav331dz1pak1bc8q1v5xajw6pkj20hqr8m5zl6czcld";
+      sha256 = "1gpd3hh4ryyr84drj6m0b5sy6929nyf50bfgksw1hpc594542nal";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -114,10 +114,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a3hc2rammy4mfrjwzc9rsn497yq9xc0x89c00niiq45q3qs44vz";
+      sha256 = "0fg58qma2zgrz0gr61p61qcz8c3h88fd5lbdrkpkm96aq5shwh68";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   activerecord-explain-analyze = {
     dependencies = ["activerecord" "pg"];
@@ -131,15 +131,15 @@
     version = "0.1.0";
   };
   activestorage = {
-    dependencies = ["actionpack" "activejob" "activerecord" "marcel"];
+    dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jwdfqn01g7v7ssrrf2q2pvc8k6rdqccp26qkyfxiraaz9d1la62";
+      sha256 = "0sbpkk3r8qi47bd0ilznq4gpfyfwm2bwvxqb5z0wc75h3zj1jhqg";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -147,10 +147,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sls37x9pd2zmipn14c46gcjbfzlg269r413cvm0d58595qkiv7z";
+      sha256 = "1csxddyhl6k773ycxjvmyshyr4g9jb1icbs3pnm7crnavqs4h1yr";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   acts-as-taggable-on = {
     dependencies = ["activerecord"];
@@ -465,10 +465,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xmjljpyx5ly078gi0lmmgkv4y0msxxa3hmv74bzxzp3l8qbn5vc";
+      sha256 = "0xbzzjrgah0f8ifgd449kak2vyf30micpz6x2g82aipfv7ypsb4i";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.2.0";
   };
   base32 = {
     groups = ["default"];
@@ -1509,15 +1509,15 @@
     version = "6.1.0";
   };
   faraday = {
-    dependencies = ["multipart-post"];
-    groups = ["default" "development"];
+    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-net_http" "faraday-net_http_persistent" "multipart-post" "ruby2_keywords"];
+    groups = ["danger" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wwks9652xwgjm7yszcq5xr960pjypc07ivwzbjzpvy9zh2fw6iq";
+      sha256 = "07mhk70gv453pg38md346470hknyhipdqppnplq706ll3k3lzb7v";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.4.2";
   };
   faraday-cookie_jar = {
     dependencies = ["faraday" "http-cookie"];
@@ -1530,6 +1530,36 @@
     };
     version = "0.0.7";
   };
+  faraday-em_http = {
+    groups = ["danger" "default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  faraday-em_synchrony = {
+    groups = ["danger" "default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  faraday-excon = {
+    groups = ["danger" "default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
   faraday-http-cache = {
     dependencies = ["faraday"];
     groups = ["default" "development"];
@@ -1541,6 +1571,26 @@
     };
     version = "2.2.0";
   };
+  faraday-net_http = {
+    groups = ["danger" "default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  faraday-net_http_persistent = {
+    groups = ["danger" "default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0l2c835wl7gv34xp49fhd1bl4czkpw2g3ahqsak2251iqv5589ka";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
   faraday_middleware = {
     dependencies = ["faraday"];
     groups = ["default"];
@@ -1605,14 +1655,14 @@
     version = "2.10.0";
   };
   ffi = {
-    groups = ["default" "development" "kerberos" "puma" "test" "unicorn"];
+    groups = ["default" "development" "kerberos" "puma" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12lpwaw82bb0rm9f52v1498bpba8aj2l2q359mkwbxsswhpga5af";
+      sha256 = "15nn2v70rql15vb0pm9cg0f3xsaslwjkv6xgz0k5jh48idmfw9fi";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "1.15.1";
   };
   ffi-compiler = {
     dependencies = ["ffi" "rake"];
@@ -1641,10 +1691,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01gbn1qmcvn49gjcbvd5fga57qc8l3915kb04ikkffvb6n09q7f7";
+      sha256 = "00qjmmy4lx6cbyndpqgj330ys6pxi3chhqfaybd5c7m9y0kr6ck9";
       type = "gem";
     };
-    version = "0.17.1";
+    version = "0.21.0";
   };
   flipper-active_record = {
     dependencies = ["activerecord" "flipper"];
@@ -1652,10 +1702,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "154q9xajqs64gxa9fv4hwpad44x3rmwgpldrb941i8wi37dpzskg";
+      sha256 = "06j6fg8qdxklml0qvindy8dghx3ilq2k3x5rwdxlr8vjl5hljqm5";
       type = "gem";
     };
-    version = "0.17.1";
+    version = "0.21.0";
   };
   flipper-active_support_cache_store = {
     dependencies = ["activesupport" "flipper"];
@@ -1663,10 +1713,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mkbyn3mx3f411x4z1l1djc9vix3wrfzd5rhrmxb83iqp60r42hg";
+      sha256 = "00rb87d1f7wl1n3idv8bvjv45v3j1n1j5wm2vswisayv7z8wqp6r";
       type = "gem";
     };
-    version = "0.17.1";
+    version = "0.21.0";
   };
   flowdock = {
     dependencies = ["httparty" "multi_json"];
@@ -1891,10 +1941,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1l0zq04lhqbzg0grca1c0p3a5gb9jdlhy41dhlgnrsaf7k6xads6";
+      sha256 = "1wpp1zdwjmglsycliag6v9844jnhpvkblry9i14a16gspqdsfam4";
       type = "gem";
     };
-    version = "13.12.0.pre.rc1";
+    version = "14.0.0.pre.rc2";
   };
   github-markup = {
     groups = ["default"];
@@ -1934,10 +1984,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h40p9v034jczialkh4brrv7karrx6a95mhrfpfs17p800lighzz";
+      sha256 = "09vcxzbsvgis47ifgd82rjn12587qcw6q2q0n0y3cg5snag6fqdb";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.2";
   };
   gitlab-experiment = {
     dependencies = ["activesupport" "request_store" "scientist"];
@@ -1956,10 +2006,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05yc5fp45v7y6h838zrj4666ar1ddhn8i5bbdxm8j73yrn2kjnal";
+      sha256 = "1k5f3vyy2jqv3zdkdqal6sgn447zakz8xcc04432qd806s7g9i89";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.1.1";
   };
   gitlab-fog-google = {
     dependencies = ["addressable" "fog-core" "fog-json" "fog-xml" "google-api-client" "google-cloud-env"];
@@ -1973,15 +2023,15 @@
     version = "1.13.0";
   };
   gitlab-labkit = {
-    dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "pg_query" "redis"];
+    dependencies = ["actionpack" "activesupport" "gitlab-pg_query" "grpc" "jaeger-client" "opentracing" "redis"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0184rq6sal3xz4f0w5iaa5zf3q55i4dh0rlvr25l1g0s2imwr3fa";
+      sha256 = "1d18fx54dq2a2ngdix3dchbk4xpxfpqz1rkr2hi1kvi6idq4k6qp";
       type = "gem";
     };
-    version = "0.16.2";
+    version = "0.18.0";
   };
   gitlab-license = {
     groups = ["default"];
@@ -2034,6 +2084,27 @@
     };
     version = "0.4.0";
   };
+  gitlab-pg_query = {
+    dependencies = ["google-protobuf"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17whjbrmyh1wn3badapa1xhdcjpdrxgn7vz705fpi1p9r8q0a2vj";
+      type = "gem";
+    };
+    version = "2.0.4";
+  };
+  gitlab-rdoc = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04vdirkdj42as3rgj6qlgz5ly5vg45i9k184bmf5z556i3b1fyf9";
+      type = "gem";
+    };
+    version = "6.3.2";
+  };
   gitlab-sidekiq-fetcher = {
     dependencies = ["sidekiq"];
     groups = ["default"];
@@ -2127,10 +2198,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pbm2kjhxvazx9d5c071bxcjx5cbip6d2y36dii2a4558nqjd12p";
+      sha256 = "00jm6b5gpzj99cngha3g70s0xnr0c58si7kx3g7jiaj9ipp26qj5";
       type = "gem";
     };
-    version = "3.14.0";
+    version = "3.17.1";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -2503,10 +2574,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10wz818i7dq5zkcll0yf7pbjz1zqvs7mgh3xg3x6www2f2ccwxqj";
+      sha256 = "18qqvckvqjffh88hfib6c8pl9qwk9gp89w89hl3f2s1x8hgyqka1";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.2.3";
   };
   httparty = {
     dependencies = ["mime-types" "multi_xml"];
@@ -2740,15 +2811,16 @@
     };
     version = "1.2.1";
   };
-  kgio = {
-    groups = ["default" "unicorn"];
+  kas-grpc = {
+    dependencies = ["grpc"];
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ai6bzlvxbzpdl466p1qi4dlhx8ri2wcrp6x1l19y3yfs3a29rng";
+      sha256 = "05lsvxb6mpx5h3zmp3pgs3cp52r1kb3a8yr9j7s3ksajb58zf7qi";
       type = "gem";
     };
-    version = "2.11.3";
+    version = "0.0.2";
   };
   knapsack = {
     dependencies = ["rake"];
@@ -2810,10 +2882,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17bv6zfdzwbbh8n0iw8zgjngsvyp2imrrfshj62yrlxpka9ka0z3";
+      sha256 = "07r76qlzxcz9y4dmkqf8k4khkfq7s2v22dcq6b0w0v4cfiwqva3h";
       type = "gem";
     };
-    version = "0.7.2";
+    version = "0.7.5";
   };
   letter_opener = {
     dependencies = ["launchy"];
@@ -3065,10 +3137,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kb7jq3wjgckmkzna799y5qmvn6vg52878bkgw35qay6lflcrwih";
+      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.0.2";
   };
   mini_portile2 = {
     groups = ["default" "development" "test"];
@@ -3334,10 +3406,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19d78mdg2lbz9jb4ph6nk783c9jbsdm8rnllwhga6pd53xffp6x0";
+      sha256 = "05rfzi8wksps5pgaavq1n1vkngsrjhqz8rcd1qdb52hnpg9q9p9b";
       type = "gem";
     };
-    version = "1.11.3";
+    version = "1.11.4";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -3810,16 +3882,6 @@
     };
     version = "1.2.3";
   };
-  pg_query = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1i9l3y502ddm2lq3ajhxhqq17vs9hgxkxm443yw221ccibcfh6qf";
-      type = "gem";
-    };
-    version = "1.3.0";
-  };
   plist = {
     groups = ["default"];
     platforms = [];
@@ -3947,10 +4009,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1315j8klxd404xxmcw1c6rlx7j445dzx62q5sggzvd59sl1amkf5";
+      sha256 = "1wyx2rz58lfys1h62h6inz7ggq8xckqyfxndk8jq2cbkkdi2n6d7";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.4.1";
   };
   public_suffix = {
     groups = ["default" "development" "test"];
@@ -3968,10 +4030,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13640p5fk19705ygp8j6p07lccag3d80bx8bmjgpd5zsxxsdc50b";
+      sha256 = "0lmaq05a257m9588a81wql3a5p039f221f0dmq57bm2qjwxydjmj";
       type = "gem";
     };
-    version = "5.1.1";
+    version = "5.3.2";
   };
   puma_worker_killer = {
     dependencies = ["get_process_mem" "puma"];
@@ -4117,10 +4179,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01mwx4q9yz792dbi61j378iz6p7q63sxj3267jwwccjqmn6hf2kr";
+      sha256 = "0flnpli87b9j0zvb3c4l5addjbznbpkbmp1wzfjc1gh8qxlhcs1n";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -4172,10 +4234,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i50vbscdk6wqxd2p0xwsyi07lwda612njqk8pn1f56snz5z0dcr";
+      sha256 = "17r1pr8d467vh3zkciw4wmrcixj9zjrvd11nxn2z091bkzf66xq2";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -4187,16 +4249,6 @@
     };
     version = "3.0.0";
   };
-  raindrops = {
-    groups = ["metrics" "unicorn"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0zjja00mzgx2lddb7qrn14k7qrnwhf4bpmnlqj78m1pfxh7svync";
-      type = "gem";
-    };
-    version = "0.19.1";
-  };
   rake = {
     groups = ["default" "development" "test"];
     platforms = [];
@@ -4264,16 +4316,6 @@
     };
     version = "1.8.0";
   };
-  rdoc = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0zh39dpsqlhhi4aba1sbrk504d88p38djk8cansjq0fwndq7w4zb";
-      type = "gem";
-    };
-    version = "6.1.2";
-  };
   re2 = {
     groups = ["default"];
     platforms = [];
@@ -4788,14 +4830,14 @@
     version = "2.1.2";
   };
   ruby2_keywords = {
-    groups = ["default"];
+    groups = ["danger" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17pcc0wgvh3ikrkr7bm3nx0qhyiqwidd13ij0fa50k7gsbnr2p0l";
+      sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
       type = "gem";
     };
-    version = "0.0.2";
+    version = "0.0.4";
   };
   ruby_parser = {
     dependencies = ["sexp_processor"];
@@ -4983,10 +5025,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17j4br2lpnd8066d50mkg9kwk9v70hn3zfiqkvysd8p9nffmqnm0";
+      sha256 = "0jin9x4f43lplglhr9smv2wxsjgmph2ygqlci4s0v0aq5493ng8h";
       type = "gem";
     };
-    version = "3.0.4";
+    version = "3.1.2";
   };
   settingslogic = {
     groups = ["default"];
@@ -5136,15 +5178,15 @@
     version = "0.6.1";
   };
   solargraph = {
-    dependencies = ["backport" "benchmark" "e2mmap" "jaro_winkler" "kramdown" "kramdown-parser-gfm" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
+    dependencies = ["backport" "benchmark" "diff-lcs" "e2mmap" "jaro_winkler" "kramdown" "kramdown-parser-gfm" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
     groups = ["development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xrad7amwf3nmdbif566qprk6xvwydxwz0s7arnzpvr01anc9gcl";
+      sha256 = "1xqmvwh6k638h6r13wsx1l0n0jvz07qys1lr7z8aaynscs0k6hyi";
       type = "gem";
     };
-    version = "0.40.4";
+    version = "0.42.3";
   };
   spamcheck = {
     dependencies = ["grpc"];
@@ -5373,10 +5415,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mbhiz7g7nd3v1ai4cgwzp2zr34k1h5am0vn9bny5qqn1408rlgi";
+      sha256 = "1kgak2xqyp2wf7y1c1q1dpxw56iq9mgpqjji6vfbjkxckqrxhdmw";
       type = "gem";
     };
-    version = "0.1.3";
+    version = "0.1.4";
   };
   text = {
     groups = ["default" "development"];
@@ -5608,15 +5650,15 @@
     version = "0.8.1";
   };
   tzinfo = {
-    dependencies = ["thread_safe"];
+    dependencies = ["concurrent-ruby"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zwqqh6138s8b321fwvfbywxy00lw1azw4ql3zr0xh1aqxf8cnvj";
+      sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z";
       type = "gem";
     };
-    version = "1.2.9";
+    version = "2.0.4";
   };
   u2f = {
     groups = ["default"];
@@ -5679,28 +5721,6 @@
     };
     version = "1.4.0";
   };
-  unicorn = {
-    dependencies = ["kgio" "raindrops"];
-    groups = ["unicorn"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1cznkq0agsm7s66nbqbalmq5nlc5cdpd2h88r8jdzsc7wsi5a098";
-      type = "gem";
-    };
-    version = "5.5.5";
-  };
-  unicorn-worker-killer = {
-    dependencies = ["get_process_mem" "unicorn"];
-    groups = ["unicorn"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva";
-      type = "gem";
-    };
-    version = "0.4.4";
-  };
   uniform_notifier = {
     groups = ["default" "development" "test"];
     platforms = [];
diff --git a/pkgs/applications/version-management/gitlab/yarnPkgs.nix b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
index 12a350c26ec..2af33d3184f 100644
--- a/pkgs/applications/version-management/gitlab/yarnPkgs.nix
+++ b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
@@ -778,11 +778,11 @@
       };
     }
     {
-      name = "_eslint_eslintrc___eslintrc_0.4.1.tgz";
+      name = "_eslint_eslintrc___eslintrc_0.4.2.tgz";
       path = fetchurl {
-        name = "_eslint_eslintrc___eslintrc_0.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.1.tgz";
-        sha1 = "442763b88cecbe3ee0ec7ca6d6dd6168550cbf14";
+        name = "_eslint_eslintrc___eslintrc_0.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz";
+        sha1 = "f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179";
       };
     }
     {
@@ -818,11 +818,11 @@
       };
     }
     {
-      name = "_gitlab_svgs___svgs_1.197.0.tgz";
+      name = "_gitlab_svgs___svgs_1.199.0.tgz";
       path = fetchurl {
-        name = "_gitlab_svgs___svgs_1.197.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.197.0.tgz";
-        sha1 = "70be3217b4c0c84b494615d0672734f40e3695d4";
+        name = "_gitlab_svgs___svgs_1.199.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.199.0.tgz";
+        sha1 = "0512a854018defc4e286b8ecb2143958bb535146";
       };
     }
     {
@@ -834,11 +834,11 @@
       };
     }
     {
-      name = "_gitlab_ui___ui_29.27.0.tgz";
+      name = "_gitlab_ui___ui_29.35.0.tgz";
       path = fetchurl {
-        name = "_gitlab_ui___ui_29.27.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-29.27.0.tgz";
-        sha1 = "c5cbe1fee2164705ea6a431c85f6fdaa2ff7e166";
+        name = "_gitlab_ui___ui_29.35.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-29.35.0.tgz";
+        sha1 = "bb04d1e4f8796134bc406adaa869c1b5b1fdcaf2";
       };
     }
     {
@@ -1002,11 +1002,11 @@
       };
     }
     {
-      name = "_nuxt_opencollective___opencollective_0.3.0.tgz";
+      name = "_nuxt_opencollective___opencollective_0.3.2.tgz";
       path = fetchurl {
-        name = "_nuxt_opencollective___opencollective_0.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/@nuxt/opencollective/-/opencollective-0.3.0.tgz";
-        sha1 = "11d8944dcf2d526e31660bb69570be03f8fb72b7";
+        name = "_nuxt_opencollective___opencollective_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@nuxt/opencollective/-/opencollective-0.3.2.tgz";
+        sha1 = "83cb70cdb2bac5fad6f8c93529e7b11187d49c02";
       };
     }
     {
@@ -1026,67 +1026,67 @@
       };
     }
     {
-      name = "_rails_actioncable___actioncable_6.1.0.tgz";
+      name = "_rails_actioncable___actioncable_6.1.3_2.tgz";
       path = fetchurl {
-        name = "_rails_actioncable___actioncable_6.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.1.0.tgz";
-        sha1 = "f336f25450b1bc43b99bc60557a70b6e6bb1d3d2";
+        name = "_rails_actioncable___actioncable_6.1.3_2.tgz";
+        url  = "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.1.3-2.tgz";
+        sha1 = "de22e2d7474dcca051f7060829450412a17ecc04";
       };
     }
     {
-      name = "_rails_ujs___ujs_6.1.0.tgz";
+      name = "_rails_ujs___ujs_6.1.3_2.tgz";
       path = fetchurl {
-        name = "_rails_ujs___ujs_6.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.1.0.tgz";
-        sha1 = "9a48df6511cb2b472c9f596c1f37dc0af022e751";
+        name = "_rails_ujs___ujs_6.1.3_2.tgz";
+        url  = "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.1.3-2.tgz";
+        sha1 = "5d7e161e7061654e738a116a7ec8b58b51721a11";
       };
     }
     {
-      name = "_sentry_browser___browser_5.30.0.tgz";
+      name = "_sentry_browser___browser_5.26.0.tgz";
       path = fetchurl {
-        name = "_sentry_browser___browser_5.30.0.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.30.0.tgz";
-        sha1 = "c28f49d551db3172080caef9f18791a7fd39e3b3";
+        name = "_sentry_browser___browser_5.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.26.0.tgz";
+        sha1 = "e90a197fb94c5f26c8e05d6a539c118f33c7d598";
       };
     }
     {
-      name = "_sentry_core___core_5.30.0.tgz";
+      name = "_sentry_core___core_5.26.0.tgz";
       path = fetchurl {
-        name = "_sentry_core___core_5.30.0.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz";
-        sha1 = "6b203664f69e75106ee8b5a2fe1d717379b331f3";
+        name = "_sentry_core___core_5.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/core/-/core-5.26.0.tgz";
+        sha1 = "9b5fe4de8a869d733ebcc77f5ec9c619f8717a51";
       };
     }
     {
-      name = "_sentry_hub___hub_5.30.0.tgz";
+      name = "_sentry_hub___hub_5.26.0.tgz";
       path = fetchurl {
-        name = "_sentry_hub___hub_5.30.0.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.30.0.tgz";
-        sha1 = "2453be9b9cb903404366e198bd30c7ca74cdc100";
+        name = "_sentry_hub___hub_5.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.26.0.tgz";
+        sha1 = "b2bbd8128cd5915f2ee59cbc29fff30272d74ec5";
       };
     }
     {
-      name = "_sentry_minimal___minimal_5.30.0.tgz";
+      name = "_sentry_minimal___minimal_5.26.0.tgz";
       path = fetchurl {
-        name = "_sentry_minimal___minimal_5.30.0.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.30.0.tgz";
-        sha1 = "ce3d3a6a273428e0084adcb800bc12e72d34637b";
+        name = "_sentry_minimal___minimal_5.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.26.0.tgz";
+        sha1 = "851dea3644153ed3ac4837fa8ed5661d94e7a313";
       };
     }
     {
-      name = "_sentry_types___types_5.30.0.tgz";
+      name = "_sentry_types___types_5.26.0.tgz";
       path = fetchurl {
-        name = "_sentry_types___types_5.30.0.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz";
-        sha1 = "19709bbe12a1a0115bc790b8942917da5636f402";
+        name = "_sentry_types___types_5.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/types/-/types-5.26.0.tgz";
+        sha1 = "b0cbacb0b24cd86620fb296b46cf7277bb004a3e";
       };
     }
     {
-      name = "_sentry_utils___utils_5.30.0.tgz";
+      name = "_sentry_utils___utils_5.26.0.tgz";
       path = fetchurl {
-        name = "_sentry_utils___utils_5.30.0.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.30.0.tgz";
-        sha1 = "9a5bd7ccff85ccfe7856d493bffa64cabc41e980";
+        name = "_sentry_utils___utils_5.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.26.0.tgz";
+        sha1 = "09a3d01d91747f38f796cafeb24f8fd86e4fa05f";
       };
     }
     {
@@ -1154,203 +1154,203 @@
       };
     }
     {
-      name = "_tiptap_core___core_2.0.0_beta.54.tgz";
+      name = "_tiptap_core___core_2.0.0_beta.75.tgz";
       path = fetchurl {
-        name = "_tiptap_core___core_2.0.0_beta.54.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.0-beta.54.tgz";
-        sha1 = "3630c78aab0a72cff0ffa5dda7ff7a2623a307e5";
+        name = "_tiptap_core___core_2.0.0_beta.75.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.0-beta.75.tgz";
+        sha1 = "8295dfa7ca4b22de61e9c68a102763343b26e03a";
       };
     }
     {
-      name = "_tiptap_extension_blockquote___extension_blockquote_2.0.0_beta.11.tgz";
+      name = "_tiptap_extension_blockquote___extension_blockquote_2.0.0_beta.13.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_blockquote___extension_blockquote_2.0.0_beta.11.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.11.tgz";
-        sha1 = "ca0be20501506a5555f39c4ec61d0fb3fb8a1713";
+        name = "_tiptap_extension_blockquote___extension_blockquote_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.13.tgz";
+        sha1 = "72a26dd54e5edb9abc4488ad7c1f0a43d4089bd5";
       };
     }
     {
-      name = "_tiptap_extension_bold___extension_bold_2.0.0_beta.11.tgz";
+      name = "_tiptap_extension_bold___extension_bold_2.0.0_beta.13.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_bold___extension_bold_2.0.0_beta.11.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.11.tgz";
-        sha1 = "d8ac973d2795fc46231e5969d922ce8c3f7404b8";
+        name = "_tiptap_extension_bold___extension_bold_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.13.tgz";
+        sha1 = "d6b8f3797a6f7932ae38b9d761cc1effa886b715";
       };
     }
     {
-      name = "_tiptap_extension_bubble_menu___extension_bubble_menu_2.0.0_beta.15.tgz";
+      name = "_tiptap_extension_bubble_menu___extension_bubble_menu_2.0.0_beta.20.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_bubble_menu___extension_bubble_menu_2.0.0_beta.15.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.15.tgz";
-        sha1 = "307f94785caa6d57cbc33dcb37128fc9e910e184";
+        name = "_tiptap_extension_bubble_menu___extension_bubble_menu_2.0.0_beta.20.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.20.tgz";
+        sha1 = "248c70910bf232ed5fb9eb3a7c084bc592d2341d";
       };
     }
     {
-      name = "_tiptap_extension_bullet_list___extension_bullet_list_2.0.0_beta.11.tgz";
+      name = "_tiptap_extension_bullet_list___extension_bullet_list_2.0.0_beta.13.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_bullet_list___extension_bullet_list_2.0.0_beta.11.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.11.tgz";
-        sha1 = "6d3ccc047120bdd7576f0d1d286ae61a03c8b96e";
+        name = "_tiptap_extension_bullet_list___extension_bullet_list_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.13.tgz";
+        sha1 = "8b2c4ec8decc5562ae9bb5d97b0a99e0b27f9794";
       };
     }
     {
-      name = "_tiptap_extension_code_block_lowlight___extension_code_block_lowlight_2.0.0_beta.18.tgz";
+      name = "_tiptap_extension_code_block_lowlight___extension_code_block_lowlight_2.0.0_beta.25.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_code_block_lowlight___extension_code_block_lowlight_2.0.0_beta.18.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.0.0-beta.18.tgz";
-        sha1 = "f90e557f0b62761f104937b0d41a4c4dd5569ee8";
+        name = "_tiptap_extension_code_block_lowlight___extension_code_block_lowlight_2.0.0_beta.25.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.0.0-beta.25.tgz";
+        sha1 = "eb5f721fa8a4035244b7883e3cfc770f17fae27f";
       };
     }
     {
-      name = "_tiptap_extension_code_block___extension_code_block_2.0.0_beta.13.tgz";
+      name = "_tiptap_extension_code_block___extension_code_block_2.0.0_beta.15.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_code_block___extension_code_block_2.0.0_beta.13.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.13.tgz";
-        sha1 = "9a41d103ed5b5a4810564c67105a89725b12559a";
+        name = "_tiptap_extension_code_block___extension_code_block_2.0.0_beta.15.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.15.tgz";
+        sha1 = "3fb0f04c38f8276195a1a958cc7d3399b52dc46a";
       };
     }
     {
-      name = "_tiptap_extension_code___extension_code_2.0.0_beta.11.tgz";
+      name = "_tiptap_extension_code___extension_code_2.0.0_beta.13.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_code___extension_code_2.0.0_beta.11.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.0.0-beta.11.tgz";
-        sha1 = "484d63cde6ad5951e9075e2a47ebe0f6b633742f";
+        name = "_tiptap_extension_code___extension_code_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.0.0-beta.13.tgz";
+        sha1 = "fa2d14c61fe213c2c40b196e1b1b7a8862cec987";
       };
     }
     {
-      name = "_tiptap_extension_document___extension_document_2.0.0_beta.10.tgz";
+      name = "_tiptap_extension_document___extension_document_2.0.0_beta.12.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_document___extension_document_2.0.0_beta.10.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.0.0-beta.10.tgz";
-        sha1 = "2ccf4e5496f6b15c6bfa4f720b89af74fb871df4";
+        name = "_tiptap_extension_document___extension_document_2.0.0_beta.12.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.0.0-beta.12.tgz";
+        sha1 = "dfbc7e686075a38662a43708903cd2047cf7f4b2";
       };
     }
     {
-      name = "_tiptap_extension_dropcursor___extension_dropcursor_2.0.0_beta.11.tgz";
+      name = "_tiptap_extension_dropcursor___extension_dropcursor_2.0.0_beta.14.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_dropcursor___extension_dropcursor_2.0.0_beta.11.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.11.tgz";
-        sha1 = "620120a7f95e7cf21e6a3362ba38b2eacfa98a88";
+        name = "_tiptap_extension_dropcursor___extension_dropcursor_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.14.tgz";
+        sha1 = "b5e4137d4be1afe14a8f67d932af5e6d3df7cb56";
       };
     }
     {
-      name = "_tiptap_extension_floating_menu___extension_floating_menu_2.0.0_beta.12.tgz";
+      name = "_tiptap_extension_floating_menu___extension_floating_menu_2.0.0_beta.16.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_floating_menu___extension_floating_menu_2.0.0_beta.12.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.12.tgz";
-        sha1 = "de38a4fc5e24c0f70caafeeece79e6623bd8a579";
+        name = "_tiptap_extension_floating_menu___extension_floating_menu_2.0.0_beta.16.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.16.tgz";
+        sha1 = "109226c060351b83916441cd58d631eff47d6bb2";
       };
     }
     {
-      name = "_tiptap_extension_gapcursor___extension_gapcursor_2.0.0_beta.15.tgz";
+      name = "_tiptap_extension_gapcursor___extension_gapcursor_2.0.0_beta.17.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_gapcursor___extension_gapcursor_2.0.0_beta.15.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.15.tgz";
-        sha1 = "6bafbd095e8673449f976935200f22a623d4043c";
+        name = "_tiptap_extension_gapcursor___extension_gapcursor_2.0.0_beta.17.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.17.tgz";
+        sha1 = "774037fddab50379b21a58cab91bfd988b9b793f";
       };
     }
     {
-      name = "_tiptap_extension_hard_break___extension_hard_break_2.0.0_beta.11.tgz";
+      name = "_tiptap_extension_hard_break___extension_hard_break_2.0.0_beta.13.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_hard_break___extension_hard_break_2.0.0_beta.11.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.11.tgz";
-        sha1 = "b2d457bb5c4f97d052b2537a7624d9609822ef65";
+        name = "_tiptap_extension_hard_break___extension_hard_break_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.13.tgz";
+        sha1 = "36b5433e70e8eac121d6d26871ff60527b500442";
       };
     }
     {
-      name = "_tiptap_extension_heading___extension_heading_2.0.0_beta.11.tgz";
+      name = "_tiptap_extension_heading___extension_heading_2.0.0_beta.13.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_heading___extension_heading_2.0.0_beta.11.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.11.tgz";
-        sha1 = "9da6864aeafaeed83551559932253c9ab16621fb";
+        name = "_tiptap_extension_heading___extension_heading_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.13.tgz";
+        sha1 = "7d6f4a0e28af47ad1a1e455af01dbd1997a9f948";
       };
     }
     {
-      name = "_tiptap_extension_history___extension_history_2.0.0_beta.10.tgz";
+      name = "_tiptap_extension_history___extension_history_2.0.0_beta.12.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_history___extension_history_2.0.0_beta.10.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.0.0-beta.10.tgz";
-        sha1 = "bb14500e193118295eb8c55ae4c2ddc5f2ae5d72";
+        name = "_tiptap_extension_history___extension_history_2.0.0_beta.12.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.0.0-beta.12.tgz";
+        sha1 = "a25607aab594998d6b46576724d56701a2833689";
       };
     }
     {
-      name = "_tiptap_extension_horizontal_rule___extension_horizontal_rule_2.0.0_beta.14.tgz";
+      name = "_tiptap_extension_horizontal_rule___extension_horizontal_rule_2.0.0_beta.16.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_horizontal_rule___extension_horizontal_rule_2.0.0_beta.14.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.14.tgz";
-        sha1 = "bc23541ab5885c25a804b6b6f3c0ed2e505f7327";
+        name = "_tiptap_extension_horizontal_rule___extension_horizontal_rule_2.0.0_beta.16.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.16.tgz";
+        sha1 = "7f8a3e14de2fc8bbb52816a697450a61d8797689";
       };
     }
     {
-      name = "_tiptap_extension_image___extension_image_2.0.0_beta.11.tgz";
+      name = "_tiptap_extension_image___extension_image_2.0.0_beta.13.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_image___extension_image_2.0.0_beta.11.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.0.0-beta.11.tgz";
-        sha1 = "b7c2961118c9468fd4bdb8632663379f618978e9";
+        name = "_tiptap_extension_image___extension_image_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.0.0-beta.13.tgz";
+        sha1 = "58a2e66533e2ef63e67aeb7980fe642b75fa17a0";
       };
     }
     {
-      name = "_tiptap_extension_italic___extension_italic_2.0.0_beta.11.tgz";
+      name = "_tiptap_extension_italic___extension_italic_2.0.0_beta.13.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_italic___extension_italic_2.0.0_beta.11.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.11.tgz";
-        sha1 = "fa5668ede5dd5373277da4bafc26415a2771d7f6";
+        name = "_tiptap_extension_italic___extension_italic_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.13.tgz";
+        sha1 = "8b0810e41dc5c3bfb0640d638b0b40464cd81fea";
       };
     }
     {
-      name = "_tiptap_extension_link___extension_link_2.0.0_beta.15.tgz";
+      name = "_tiptap_extension_link___extension_link_2.0.0_beta.17.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_link___extension_link_2.0.0_beta.15.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.0.0-beta.15.tgz";
-        sha1 = "bb9adad12c55688e220f7d8a15d8456fbad47116";
+        name = "_tiptap_extension_link___extension_link_2.0.0_beta.17.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.0.0-beta.17.tgz";
+        sha1 = "5a3c28762cf332bb4de0fb13ce6973b11496697a";
       };
     }
     {
-      name = "_tiptap_extension_list_item___extension_list_item_2.0.0_beta.11.tgz";
+      name = "_tiptap_extension_list_item___extension_list_item_2.0.0_beta.13.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_list_item___extension_list_item_2.0.0_beta.11.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.0.0-beta.11.tgz";
-        sha1 = "22639904f9fdee8b80e344fe142e9065e9451337";
+        name = "_tiptap_extension_list_item___extension_list_item_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.0.0-beta.13.tgz";
+        sha1 = "49f32d70a554897ffa3b37b492ebaf5953f8a975";
       };
     }
     {
-      name = "_tiptap_extension_ordered_list___extension_ordered_list_2.0.0_beta.11.tgz";
+      name = "_tiptap_extension_ordered_list___extension_ordered_list_2.0.0_beta.13.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_ordered_list___extension_ordered_list_2.0.0_beta.11.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.11.tgz";
-        sha1 = "37dd6cbb8b271bf8902ffcbad2a2e282ea078f6e";
+        name = "_tiptap_extension_ordered_list___extension_ordered_list_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.13.tgz";
+        sha1 = "4df2264e1405f73848cd2fedcea95f3064911cd7";
       };
     }
     {
-      name = "_tiptap_extension_paragraph___extension_paragraph_2.0.0_beta.12.tgz";
+      name = "_tiptap_extension_paragraph___extension_paragraph_2.0.0_beta.14.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_paragraph___extension_paragraph_2.0.0_beta.12.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.12.tgz";
-        sha1 = "849aad4294a341abd93781174dbdc369d9b7570c";
+        name = "_tiptap_extension_paragraph___extension_paragraph_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.14.tgz";
+        sha1 = "6b8c64166f3b581a1f8e1ae415b895e5bd2952d1";
       };
     }
     {
-      name = "_tiptap_extension_strike___extension_strike_2.0.0_beta.12.tgz";
+      name = "_tiptap_extension_strike___extension_strike_2.0.0_beta.15.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_strike___extension_strike_2.0.0_beta.12.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.12.tgz";
-        sha1 = "0a7452e92d5042c8884eda38f6496a1ecc28e264";
+        name = "_tiptap_extension_strike___extension_strike_2.0.0_beta.15.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.15.tgz";
+        sha1 = "c274ae85b1067f80d45a1cb30d0cad24733c9be7";
       };
     }
     {
-      name = "_tiptap_extension_text___extension_text_2.0.0_beta.10.tgz";
+      name = "_tiptap_extension_text___extension_text_2.0.0_beta.12.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_text___extension_text_2.0.0_beta.10.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.0.0-beta.10.tgz";
-        sha1 = "50681ba2c8e8a54305a89efb1adb0e68d683e4eb";
+        name = "_tiptap_extension_text___extension_text_2.0.0_beta.12.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.0.0-beta.12.tgz";
+        sha1 = "b857f36dda5e8cedd350f9bad7115e4060f8d9c0";
       };
     }
     {
-      name = "_tiptap_vue_2___vue_2_2.0.0_beta.27.tgz";
+      name = "_tiptap_vue_2___vue_2_2.0.0_beta.34.tgz";
       path = fetchurl {
-        name = "_tiptap_vue_2___vue_2_2.0.0_beta.27.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.0.0-beta.27.tgz";
-        sha1 = "f9e3242a75957d46f1a4707e4a1bb29ec1d19e46";
+        name = "_tiptap_vue_2___vue_2_2.0.0_beta.34.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.0.0-beta.34.tgz";
+        sha1 = "df9309eb812b50a85315c4623ac222db751fc97a";
       };
     }
     {
@@ -1498,11 +1498,11 @@
       };
     }
     {
-      name = "_types_lowlight___lowlight_0.0.1.tgz";
+      name = "_types_lowlight___lowlight_0.0.2.tgz";
       path = fetchurl {
-        name = "_types_lowlight___lowlight_0.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/lowlight/-/lowlight-0.0.1.tgz";
-        sha1 = "221bc67a6c517bae71e6f200fa1cad0feaeeb965";
+        name = "_types_lowlight___lowlight_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/lowlight/-/lowlight-0.0.2.tgz";
+        sha1 = "bb517f1486477a8c59dea11be0dfaf96d629d35d";
       };
     }
     {
@@ -1650,11 +1650,11 @@
       };
     }
     {
-      name = "_types_prosemirror_transform___prosemirror_transform_1.1.2.tgz";
+      name = "_types_prosemirror_transform___prosemirror_transform_1.1.3.tgz";
       path = fetchurl {
-        name = "_types_prosemirror_transform___prosemirror_transform_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prosemirror-transform/-/prosemirror-transform-1.1.2.tgz";
-        sha1 = "fe883c19a5a9f1882346a294efd09d55c6764c7a";
+        name = "_types_prosemirror_transform___prosemirror_transform_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prosemirror-transform/-/prosemirror-transform-1.1.3.tgz";
+        sha1 = "cf30d275976978d1c0317d0659145426fc49ce6f";
       };
     }
     {
@@ -1738,11 +1738,11 @@
       };
     }
     {
-      name = "_vue_test_utils___test_utils_1.1.2.tgz";
+      name = "_vue_test_utils___test_utils_1.2.0.tgz";
       path = fetchurl {
-        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";
+        name = "_vue_test_utils___test_utils_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.2.0.tgz";
+        sha1 = "3bc8c17ed549157275f0aec6b95da40887f7297f";
       };
     }
     {
@@ -2058,11 +2058,11 @@
       };
     }
     {
-      name = "ajv___ajv_7.0.4.tgz";
+      name = "ajv___ajv_8.5.0.tgz";
       path = fetchurl {
-        name = "ajv___ajv_7.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-7.0.4.tgz";
-        sha1 = "827e5f5ae32f5e5c1637db61f253a112229b5e2f";
+        name = "ajv___ajv_8.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-8.5.0.tgz";
+        sha1 = "695528274bcb5afc865446aa275484049a18ae4b";
       };
     }
     {
@@ -2762,11 +2762,19 @@
       };
     }
     {
-      name = "bootstrap_vue___bootstrap_vue_2.17.3.tgz";
+      name = "boolbase___boolbase_1.0.0.tgz";
       path = fetchurl {
-        name = "bootstrap_vue___bootstrap_vue_2.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/bootstrap-vue/-/bootstrap-vue-2.17.3.tgz";
-        sha1 = "3d78b7b4ff992a8ad69d2ed1c7413fcfdcefaec7";
+        name = "boolbase___boolbase_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz";
+        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+      };
+    }
+    {
+      name = "bootstrap_vue___bootstrap_vue_2.18.1.tgz";
+      path = fetchurl {
+        name = "bootstrap_vue___bootstrap_vue_2.18.1.tgz";
+        url  = "https://registry.yarnpkg.com/bootstrap-vue/-/bootstrap-vue-2.18.1.tgz";
+        sha1 = "4378d26b713d4255b45b42b3f852f6fa0a11d400";
       };
     }
     {
@@ -3154,6 +3162,22 @@
       };
     }
     {
+      name = "cheerio_select___cheerio_select_1.4.0.tgz";
+      path = fetchurl {
+        name = "cheerio_select___cheerio_select_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.4.0.tgz";
+        sha1 = "3a16f21e37a2ef0f211d6d1aa4eff054bb22cdc9";
+      };
+    }
+    {
+      name = "cheerio___cheerio_1.0.0_rc.9.tgz";
+      path = fetchurl {
+        name = "cheerio___cheerio_1.0.0_rc.9.tgz";
+        url  = "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.9.tgz";
+        sha1 = "a3ae6b7ce7af80675302ff836f628e7cb786a67f";
+      };
+    }
+    {
       name = "chokidar___chokidar_3.4.0.tgz";
       path = fetchurl {
         name = "chokidar___chokidar_3.4.0.tgz";
@@ -3386,11 +3410,11 @@
       };
     }
     {
-      name = "colorette___colorette_1.2.1.tgz";
+      name = "colorette___colorette_1.2.2.tgz";
       path = fetchurl {
-        name = "colorette___colorette_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz";
-        sha1 = "4d0b921325c14faf92633086a536db6e89564b1b";
+        name = "colorette___colorette_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz";
+        sha1 = "cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94";
       };
     }
     {
@@ -3554,11 +3578,11 @@
       };
     }
     {
-      name = "consola___consola_2.10.1.tgz";
+      name = "consola___consola_2.15.3.tgz";
       path = fetchurl {
-        name = "consola___consola_2.10.1.tgz";
-        url  = "https://registry.yarnpkg.com/consola/-/consola-2.10.1.tgz";
-        sha1 = "4693edba714677c878d520e4c7e4f69306b4b927";
+        name = "consola___consola_2.15.3.tgz";
+        url  = "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz";
+        sha1 = "2e11f98d6a4be71ff72e0bdf07bd23e12cb61550";
       };
     }
     {
@@ -3690,11 +3714,11 @@
       };
     }
     {
-      name = "core_js___core_js_3.12.1.tgz";
+      name = "core_js___core_js_3.13.0.tgz";
       path = fetchurl {
-        name = "core_js___core_js_3.12.1.tgz";
-        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.12.1.tgz";
-        sha1 = "6b5af4ff55616c08a44d386f1f510917ff204112";
+        name = "core_js___core_js_3.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.13.0.tgz";
+        sha1 = "58ca436bf01d6903aee3d364089868d0d89fe58d";
       };
     }
     {
@@ -3826,6 +3850,14 @@
       };
     }
     {
+      name = "css_select___css_select_4.1.2.tgz";
+      path = fetchurl {
+        name = "css_select___css_select_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/css-select/-/css-select-4.1.2.tgz";
+        sha1 = "8b52b6714ed3a80d8221ec971c543f3b12653286";
+      };
+    }
+    {
       name = "css_selector_parser___css_selector_parser_1.3.0.tgz";
       path = fetchurl {
         name = "css_selector_parser___css_selector_parser_1.3.0.tgz";
@@ -3850,6 +3882,14 @@
       };
     }
     {
+      name = "css_what___css_what_5.0.0.tgz";
+      path = fetchurl {
+        name = "css_what___css_what_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-what/-/css-what-5.0.0.tgz";
+        sha1 = "f0bf4f8bac07582722346ab243f6a35b512cfc47";
+      };
+    }
+    {
       name = "css___css_2.2.4.tgz";
       path = fetchurl {
         name = "css___css_2.2.4.tgz";
@@ -4234,11 +4274,11 @@
       };
     }
     {
-      name = "dateformat___dateformat_3.0.3.tgz";
+      name = "dateformat___dateformat_4.5.1.tgz";
       path = fetchurl {
-        name = "dateformat___dateformat_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz";
-        sha1 = "a6e37499a4d9a9cf85ef5872044d62901c9889ae";
+        name = "dateformat___dateformat_4.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/dateformat/-/dateformat-4.5.1.tgz";
+        sha1 = "c20e7a9ca77d147906b6dc2261a8be0a5bd2173c";
       };
     }
     {
@@ -4586,14 +4626,6 @@
       };
     }
     {
-      name = "document_register_element___document_register_element_1.14.3.tgz";
-      path = fetchurl {
-        name = "document_register_element___document_register_element_1.14.3.tgz";
-        url  = "https://registry.yarnpkg.com/document-register-element/-/document-register-element-1.14.3.tgz";
-        sha1 = "3335d4578df6a1536a34595b91cca36dd5db61d7";
-      };
-    }
-    {
       name = "dom_accessibility_api___dom_accessibility_api_0.5.3.tgz";
       path = fetchurl {
         name = "dom_accessibility_api___dom_accessibility_api_0.5.3.tgz";
@@ -4626,6 +4658,14 @@
       };
     }
     {
+      name = "dom_serializer___dom_serializer_1.3.1.tgz";
+      path = fetchurl {
+        name = "dom_serializer___dom_serializer_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.1.tgz";
+        sha1 = "d845a1565d7c041a95e5dab62184ab41e3a519be";
+      };
+    }
+    {
       name = "dom_walk___dom_walk_0.1.2.tgz";
       path = fetchurl {
         name = "dom_walk___dom_walk_0.1.2.tgz";
@@ -4650,11 +4690,11 @@
       };
     }
     {
-      name = "domelementtype___domelementtype_2.1.0.tgz";
+      name = "domelementtype___domelementtype_2.2.0.tgz";
       path = fetchurl {
-        name = "domelementtype___domelementtype_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz";
-        sha1 = "a851c080a6d1c3d94344aed151d99f669edf585e";
+        name = "domelementtype___domelementtype_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz";
+        sha1 = "9a0b6c2782ed6a1c7323d42267183df9bd8b1d57";
       };
     }
     {
@@ -4674,11 +4714,19 @@
       };
     }
     {
-      name = "dompurify___dompurify_2.2.8.tgz";
+      name = "domhandler___domhandler_4.2.0.tgz";
+      path = fetchurl {
+        name = "domhandler___domhandler_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz";
+        sha1 = "f9768a5f034be60a89a27c2e4d0f74eba0d8b059";
+      };
+    }
+    {
+      name = "dompurify___dompurify_2.2.9.tgz";
       path = fetchurl {
-        name = "dompurify___dompurify_2.2.8.tgz";
-        url  = "https://registry.yarnpkg.com/dompurify/-/dompurify-2.2.8.tgz";
-        sha1 = "ce88e395f6d00b6dc53f80d6b2a6fdf5446873c6";
+        name = "dompurify___dompurify_2.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/dompurify/-/dompurify-2.2.9.tgz";
+        sha1 = "4b42e244238032d9286a0d2c87b51313581d9624";
       };
     }
     {
@@ -4690,6 +4738,14 @@
       };
     }
     {
+      name = "domutils___domutils_2.6.0.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_2.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-2.6.0.tgz";
+        sha1 = "2e15c04185d43fb16ae7057cb76433c6edb938b7";
+      };
+    }
+    {
       name = "dot_prop___dot_prop_5.2.0.tgz";
       path = fetchurl {
         name = "dot_prop___dot_prop_5.2.0.tgz";
@@ -5026,6 +5082,14 @@
       };
     }
     {
+      name = "escape_string_regexp___escape_string_regexp_4.0.0.tgz";
+      path = fetchurl {
+        name = "escape_string_regexp___escape_string_regexp_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
+        sha1 = "14ba83a5d373e3d311e5afca29cf5bfad965bf34";
+      };
+    }
+    {
       name = "escodegen___escodegen_1.14.3.tgz";
       path = fetchurl {
         name = "escodegen___escodegen_1.14.3.tgz";
@@ -5194,11 +5258,11 @@
       };
     }
     {
-      name = "eslint___eslint_7.26.0.tgz";
+      name = "eslint___eslint_7.28.0.tgz";
       path = fetchurl {
-        name = "eslint___eslint_7.26.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.26.0.tgz";
-        sha1 = "d416fdcdcb3236cd8f282065312813f8c13982f6";
+        name = "eslint___eslint_7.28.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz";
+        sha1 = "435aa17a0b82c13bb2be9d51408b617e49c1e820";
       };
     }
     {
@@ -5938,11 +6002,11 @@
       };
     }
     {
-      name = "glob___glob_7.1.6.tgz";
+      name = "glob___glob_7.1.7.tgz";
       path = fetchurl {
-        name = "glob___glob_7.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz";
-        sha1 = "141f33b81a7c2492e125594307480c46679278a6";
+        name = "glob___glob_7.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz";
+        sha1 = "3b193e9233f01d42d0b3f78294bbeeb418f94a90";
       };
     }
     {
@@ -6002,19 +6066,11 @@
       };
     }
     {
-      name = "globals___globals_12.3.0.tgz";
+      name = "globals___globals_13.9.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_13.8.0.tgz";
-      path = fetchurl {
-        name = "globals___globals_13.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz";
-        sha1 = "3e20f504810ce87a8d72e55aecf8435b50f4c1b3";
+        name = "globals___globals_13.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz";
+        sha1 = "4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb";
       };
     }
     {
@@ -6378,6 +6434,14 @@
       };
     }
     {
+      name = "htmlparser2___htmlparser2_6.1.0.tgz";
+      path = fetchurl {
+        name = "htmlparser2___htmlparser2_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz";
+        sha1 = "c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7";
+      };
+    }
+    {
       name = "http_cache_semantics___http_cache_semantics_4.1.0.tgz";
       path = fetchurl {
         name = "http_cache_semantics___http_cache_semantics_4.1.0.tgz";
@@ -7634,11 +7698,11 @@
       };
     }
     {
-      name = "jquery___jquery_3.5.1.tgz";
+      name = "jquery___jquery_3.6.0.tgz";
       path = fetchurl {
-        name = "jquery___jquery_3.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz";
-        sha1 = "d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5";
+        name = "jquery___jquery_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz";
+        sha1 = "c72a09f15c1bdce142f49dbf1170bdf8adac2470";
       };
     }
     {
@@ -8066,14 +8130,6 @@
       };
     }
     {
-      name = "lightercollective___lightercollective_0.3.0.tgz";
-      path = fetchurl {
-        name = "lightercollective___lightercollective_0.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/lightercollective/-/lightercollective-0.3.0.tgz";
-        sha1 = "1f07638642ec645d70bdb69ab2777676f35a28f0";
-      };
-    }
-    {
       name = "lines_and_columns___lines_and_columns_1.1.6.tgz";
       path = fetchurl {
         name = "lines_and_columns___lines_and_columns_1.1.6.tgz";
@@ -8314,6 +8370,14 @@
       };
     }
     {
+      name = "lodash.merge___lodash.merge_4.6.2.tgz";
+      path = fetchurl {
+        name = "lodash.merge___lodash.merge_4.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz";
+        sha1 = "558aa53b43b661e1925a0afdfa36a9a1085fe57a";
+      };
+    }
+    {
       name = "lodash.pick___lodash.pick_4.4.0.tgz";
       path = fetchurl {
         name = "lodash.pick___lodash.pick_4.4.0.tgz";
@@ -8338,6 +8402,14 @@
       };
     }
     {
+      name = "lodash.truncate___lodash.truncate_4.4.2.tgz";
+      path = fetchurl {
+        name = "lodash.truncate___lodash.truncate_4.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz";
+        sha1 = "5a350da0b1113b837ecfffd5812cbe58d6eae193";
+      };
+    }
+    {
       name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
       path = fetchurl {
         name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
@@ -8738,11 +8810,11 @@
       };
     }
     {
-      name = "mermaid___mermaid_8.9.2.tgz";
+      name = "mermaid___mermaid_8.10.2.tgz";
       path = fetchurl {
-        name = "mermaid___mermaid_8.9.2.tgz";
-        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.9.2.tgz";
-        sha1 = "40bb2052cc6c4feaf5d93a5e527a8d06d0bacea7";
+        name = "mermaid___mermaid_8.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.10.2.tgz";
+        sha1 = "e039df2e42faba08743f167fff85bdccff241f76";
       };
     }
     {
@@ -9082,6 +9154,14 @@
       };
     }
     {
+      name = "nanoid___nanoid_3.1.23.tgz";
+      path = fetchurl {
+        name = "nanoid___nanoid_3.1.23.tgz";
+        url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz";
+        sha1 = "f744086ce7c2bc47ee0a8472574d5c78e4183a81";
+      };
+    }
+    {
       name = "nanomatch___nanomatch_1.2.13.tgz";
       path = fetchurl {
         name = "nanomatch___nanomatch_1.2.13.tgz";
@@ -9290,6 +9370,14 @@
       };
     }
     {
+      name = "nth_check___nth_check_2.0.0.tgz";
+      path = fetchurl {
+        name = "nth_check___nth_check_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz";
+        sha1 = "1bb4f6dac70072fc313e8c9cd1417b5074c0a125";
+      };
+    }
+    {
       name = "num2fraction___num2fraction_1.2.2.tgz";
       path = fetchurl {
         name = "num2fraction___num2fraction_1.2.2.tgz";
@@ -9730,6 +9818,22 @@
       };
     }
     {
+      name = "parse5_htmlparser2_tree_adapter___parse5_htmlparser2_tree_adapter_6.0.1.tgz";
+      path = fetchurl {
+        name = "parse5_htmlparser2_tree_adapter___parse5_htmlparser2_tree_adapter_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz";
+        sha1 = "2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6";
+      };
+    }
+    {
+      name = "parse5___parse5_6.0.1.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz";
+        sha1 = "e1a1c085c569b3dc08321184f19a39cc27f7c30b";
+      };
+    }
+    {
       name = "parse5___parse5_5.1.1.tgz";
       path = fetchurl {
         name = "parse5___parse5_5.1.1.tgz";
@@ -10130,6 +10234,14 @@
       };
     }
     {
+      name = "postcss___postcss_8.2.15.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_8.2.15.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-8.2.15.tgz";
+        sha1 = "9e66ccf07292817d226fc315cbbf9bc148fbca65";
+      };
+    }
+    {
       name = "prelude_ls___prelude_ls_1.2.1.tgz";
       path = fetchurl {
         name = "prelude_ls___prelude_ls_1.2.1.tgz";
@@ -10274,19 +10386,19 @@
       };
     }
     {
-      name = "prosemirror_commands___prosemirror_commands_1.1.7.tgz";
+      name = "prosemirror_commands___prosemirror_commands_1.1.8.tgz";
       path = fetchurl {
-        name = "prosemirror_commands___prosemirror_commands_1.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.1.7.tgz";
-        sha1 = "5b31ae0fe82835d36d22c780641c0b651f27dd03";
+        name = "prosemirror_commands___prosemirror_commands_1.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.1.8.tgz";
+        sha1 = "61aec59ac101b7990ec59726199f2a31ef0cd8ca";
       };
     }
     {
-      name = "prosemirror_dropcursor___prosemirror_dropcursor_1.3.4.tgz";
+      name = "prosemirror_dropcursor___prosemirror_dropcursor_1.3.5.tgz";
       path = fetchurl {
-        name = "prosemirror_dropcursor___prosemirror_dropcursor_1.3.4.tgz";
-        url  = "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.3.4.tgz";
-        sha1 = "a7f799ff9ecb520d3e1dbb3cb39d27ce41066618";
+        name = "prosemirror_dropcursor___prosemirror_dropcursor_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.3.5.tgz";
+        sha1 = "d2808c17089df0e441ad66016aecc2b6457c8a1f";
       };
     }
     {
@@ -10370,11 +10482,11 @@
       };
     }
     {
-      name = "prosemirror_view___prosemirror_view_1.18.4.tgz";
+      name = "prosemirror_view___prosemirror_view_1.18.7.tgz";
       path = fetchurl {
-        name = "prosemirror_view___prosemirror_view_1.18.4.tgz";
-        url  = "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.18.4.tgz";
-        sha1 = "179141df117cf414434ade08115f2e233d135f6d";
+        name = "prosemirror_view___prosemirror_view_1.18.7.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.18.7.tgz";
+        sha1 = "d9843337a1649f532401589899b724e7e87e83c0";
       };
     }
     {
@@ -10482,6 +10594,22 @@
       };
     }
     {
+      name = "purgecss_from_html___purgecss_from_html_4.0.3.tgz";
+      path = fetchurl {
+        name = "purgecss_from_html___purgecss_from_html_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/purgecss-from-html/-/purgecss-from-html-4.0.3.tgz";
+        sha1 = "28d86d3dc8292581c4ab529a77a57daf7c2dd940";
+      };
+    }
+    {
+      name = "purgecss___purgecss_4.0.3.tgz";
+      path = fetchurl {
+        name = "purgecss___purgecss_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/purgecss/-/purgecss-4.0.3.tgz";
+        sha1 = "8147b429f9c09db719e05d64908ea8b672913742";
+      };
+    }
+    {
       name = "qjobs___qjobs_1.2.0.tgz";
       path = fetchurl {
         name = "qjobs___qjobs_1.2.0.tgz";
@@ -12058,11 +12186,11 @@
       };
     }
     {
-      name = "table___table_6.0.7.tgz";
+      name = "table___table_6.7.1.tgz";
       path = fetchurl {
-        name = "table___table_6.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz";
-        sha1 = "e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34";
+        name = "table___table_6.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz";
+        sha1 = "ee05592b7143831a8c94f3cee6aae4c1ccef33e2";
       };
     }
     {
@@ -12474,6 +12602,14 @@
       };
     }
     {
+      name = "tslib___tslib_2.2.0.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz";
+        sha1 = "fb2c475977e35e241311ede2693cee1ec6698f5c";
+      };
+    }
+    {
       name = "tsutils___tsutils_3.17.1.tgz";
       path = fetchurl {
         name = "tsutils___tsutils_3.17.1.tgz";
diff --git a/pkgs/applications/version-management/gitolite/default.nix b/pkgs/applications/version-management/gitolite/default.nix
index 8dd2766ff0e..e9712a859d7 100644
--- a/pkgs/applications/version-management/gitolite/default.nix
+++ b/pkgs/applications/version-management/gitolite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, git, lib, makeWrapper, nettools, perl }:
+{ stdenv, fetchFromGitHub, git, lib, makeWrapper, nettools, perl, perlPackages }:
 
 stdenv.mkDerivation rec {
   pname = "gitolite";
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     wrapProgram $out/bin/gitolite-shell \
-      --prefix PATH : ${lib.makeBinPath [ git perl ]}
+      --prefix PATH : ${lib.makeBinPath [ git (perl.withPackages (p: [ p.JSON ])) ]}
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/version-management/mercurial/4.9.nix b/pkgs/applications/version-management/mercurial/4.9.nix
index 030a35212ec..0a76f7df970 100644
--- a/pkgs/applications/version-management/mercurial/4.9.nix
+++ b/pkgs/applications/version-management/mercurial/4.9.nix
@@ -1,21 +1,19 @@
 { lib, stdenv, fetchurl, python2Packages, makeWrapper
 , guiSupport ? false, tk ? null
 , ApplicationServices
-, mercurialSrc ? fetchurl rec {
-    meta.name = "mercurial-${meta.version}";
-    meta.version = "4.9.1";
-    url = "https://mercurial-scm.org/release/${meta.name}.tar.gz";
-    sha256 = "0iybbkd9add066729zg01kwz5hhc1s6lhp9rrnsmzq6ihyxj3p8v";
-  }
 }:
 
 let
   inherit (python2Packages) docutils hg-git dulwich python;
 
-in python2Packages.buildPythonApplication {
+in python2Packages.buildPythonApplication rec {
+  pname = "mercurial";
+  version = "4.9.1";
 
-  inherit (mercurialSrc.meta) name version;
-  src = mercurialSrc;
+  src = fetchurl {
+    url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
+    sha256 = "0iybbkd9add066729zg01kwz5hhc1s6lhp9rrnsmzq6ihyxj3p8v";
+  };
 
   format = "other";
 
@@ -59,7 +57,6 @@ in python2Packages.buildPythonApplication {
     '';
 
   meta = {
-    inherit (mercurialSrc.meta) version;
     description = "A fast, lightweight SCM system for very large distributed projects";
     homepage = "https://www.mercurial-scm.org";
     downloadPage = "https://www.mercurial-scm.org/release/";
@@ -69,4 +66,3 @@ in python2Packages.buildPythonApplication {
     platforms = lib.platforms.unix;
   };
 }
-
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 3caf499d31a..128b70c38e8 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -1,95 +1,157 @@
-{ lib, stdenv, fetchurl, fetchpatch, python3Packages, makeWrapper, gettext
+{ lib, stdenv, fetchurl, fetchpatch, python3Packages, makeWrapper, gettext, installShellFiles
 , re2Support ? true
 , rustSupport ? stdenv.hostPlatform.isLinux, rustPlatform
-, guiSupport ? false, tk ? null
+, fullBuild ? false
+, gitSupport ? fullBuild
+, guiSupport ? fullBuild, tk
+, highlightSupport ? fullBuild
 , ApplicationServices
 }:
 
 let
-  inherit (python3Packages) docutils python fb-re2;
+  inherit (python3Packages) docutils python fb-re2 pygit2 pygments;
 
-in python3Packages.buildPythonApplication rec {
-  pname = "mercurial";
-  version = "5.8";
+  self = python3Packages.buildPythonApplication rec {
+    pname = "mercurial";
+    version = "5.8";
 
-  src = fetchurl {
-    url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-    sha256 = "17rhlmmkqz5ll3k68jfzpcifg3nndbcbc2nx7kw8xn3qcj7nlpgw";
-  };
+    src = fetchurl {
+      url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
+      sha256 = "17rhlmmkqz5ll3k68jfzpcifg3nndbcbc2nx7kw8xn3qcj7nlpgw";
+    };
+
+    patches = [
+      # https://phab.mercurial-scm.org/D10638, needed for below patch to apply
+      (fetchpatch {
+        url = "https://www.mercurial-scm.org/repo/hg/raw-rev/c365850b611490a5fdb235eb1cea310a542c2f84";
+        sha256 = "1gn3xvahbjdhbglffqpmj559w1bkqqsk70wqcanwv7nh972aqy9g";
+      })
+      # https://phab.mercurial-scm.org/D10639, fixes https://bz.mercurial-scm.org/show_bug.cgi?id=6514
+      (fetchpatch {
+        url = "https://www.mercurial-scm.org/repo/hg/raw-rev/c8f62920f07a40af3403ba9aefa1dac8a97d53ea";
+        sha256 = "1kw0xjg2c4jby0ncarjvpa5qafsyl1wzbk6jxls4hnxlxdl53nmn";
+      })
+    ];
+
+    format = "other";
+
+    passthru = { inherit python; }; # pass it so that the same version can be used in hg2git
+
+    cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
+      inherit src;
+      name = "${pname}-${version}";
+      sha256 = "1kc2giqvfwsdl5fb0qmz96ws1gdrs3skfdzvpiif2i8f7r4nqlhd";
+      sourceRoot = "${pname}-${version}/rust";
+    } else null;
+    cargoRoot = if rustSupport then "rust" else null;
+
+    propagatedBuildInputs = lib.optional re2Support fb-re2
+      ++ lib.optional gitSupport pygit2
+      ++ lib.optional highlightSupport pygments;
+    nativeBuildInputs = [ makeWrapper gettext installShellFiles ]
+      ++ lib.optionals rustSupport (with rustPlatform; [
+           cargoSetupHook
+           rust.cargo
+           rust.rustc
+         ]);
+    buildInputs = [ docutils ]
+      ++ lib.optionals stdenv.isDarwin [ ApplicationServices ];
 
-  patches = [
-    # https://phab.mercurial-scm.org/D10638, needed for below patch to apply
-    (fetchpatch {
-      url = "https://phab.mercurial-scm.org/file/data/oymk4awh2dd7q6cwjbzu/PHID-FILE-bfcr7qrp5spg42wspxpd/D10638.diff";
-      sha256 = "0mfi324is02l7cnd3j0gbmg5rpyyqn3afg3f73flnfwmz5njqa5f";
-    })
-    # https://phab.mercurial-scm.org/D10639, fixes https://bz.mercurial-scm.org/show_bug.cgi?id=6514
-    (fetchpatch {
-      url = "https://phab.mercurial-scm.org/file/data/re4uqdhtknjiacx2ogwu/PHID-FILE-4m26id65dno5gzix2ngh/D10639.diff";
-      sha256 = "0h5ilrd2x1789fr6sf4k1mcvxdh0xdyr94yawdacw87v3x12c8cb";
-    })
-  ];
-
-  format = "other";
-
-  passthru = { inherit python; }; # pass it so that the same version can be used in hg2git
-
-  cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
-    inherit src;
-    name = "${pname}-${version}";
-    sha256 = "1kc2giqvfwsdl5fb0qmz96ws1gdrs3skfdzvpiif2i8f7r4nqlhd";
-    sourceRoot = "${pname}-${version}/rust";
-  } else null;
-  cargoRoot = if rustSupport then "rust" else null;
-
-  propagatedBuildInputs = lib.optional re2Support fb-re2;
-  nativeBuildInputs = [ makeWrapper gettext ]
-    ++ lib.optionals rustSupport (with rustPlatform; [
-         cargoSetupHook
-         rust.cargo
-         rust.rustc
-       ]);
-  buildInputs = [ docutils ]
-    ++ lib.optionals stdenv.isDarwin [ ApplicationServices ];
-
-  makeFlags = [ "PREFIX=$(out)" ]
-    ++ lib.optional rustSupport "PURE=--rust";
-
-  postInstall = (lib.optionalString guiSupport ''
-    mkdir -p $out/etc/mercurial
-    cp contrib/hgk $out/bin
-    cat >> $out/etc/mercurial/hgrc << EOF
-    [extensions]
-    hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
-    EOF
-    # setting HG so that hgk can be run itself as well (not only hg view)
-    WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
-              --set HG $out/bin/hg
-              --prefix PATH : ${tk}/bin "
-  '') + ''
-    for i in $(cd $out/bin && ls); do
-      wrapProgram $out/bin/$i \
-        $WRAP_TK
-    done
-
-    # copy hgweb.cgi to allow use in apache
-    mkdir -p $out/share/cgi-bin
-    cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
-    chmod u+x $out/share/cgi-bin/hgweb.cgi
-
-    # install bash/zsh completions
-    install -v -m644 -D contrib/bash_completion $out/share/bash-completion/completions/_hg
-    install -v -m644 -D contrib/zsh_completion $out/share/zsh/site-functions/_hg
-  '';
-
-  meta = with lib; {
-    inherit version;
-    description = "A fast, lightweight SCM system for very large distributed projects";
-    homepage = "https://www.mercurial-scm.org";
-    downloadPage = "https://www.mercurial-scm.org/release/";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ eelco lukegb ];
-    updateWalker = true;
-    platforms = platforms.unix;
+    makeFlags = [ "PREFIX=$(out)" ]
+      ++ lib.optional rustSupport "PURE=--rust";
+
+    postInstall = (lib.optionalString guiSupport ''
+      mkdir -p $out/etc/mercurial
+      cp contrib/hgk $out/bin
+      cat >> $out/etc/mercurial/hgrc << EOF
+      [extensions]
+      hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
+      EOF
+      # setting HG so that hgk can be run itself as well (not only hg view)
+      WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
+                --set HG $out/bin/hg
+                --prefix PATH : ${tk}/bin "
+    '') + ''
+      for i in $(cd $out/bin && ls); do
+        wrapProgram $out/bin/$i \
+          $WRAP_TK
+      done
+
+      # copy hgweb.cgi to allow use in apache
+      mkdir -p $out/share/cgi-bin
+      cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
+      chmod u+x $out/share/cgi-bin/hgweb.cgi
+
+      installShellCompletion --cmd hg \
+        --bash contrib/bash_completion \
+        --zsh contrib/zsh_completion
+    '';
+
+    passthru.tests = {};
+
+    meta = with lib; {
+      description = "A fast, lightweight SCM system for very large distributed projects";
+      homepage = "https://www.mercurial-scm.org";
+      downloadPage = "https://www.mercurial-scm.org/release/";
+      license = licenses.gpl2Plus;
+      maintainers = with maintainers; [ eelco lukegb ];
+      updateWalker = true;
+      platforms = platforms.unix;
+    };
   };
-}
+in
+  self.overridePythonAttrs (origAttrs: {
+    passthru = origAttrs.passthru // rec {
+      # withExtensions takes a function which takes the python packages set and
+      # returns a list of extensions to install.
+      #
+      # for instance: mercurial.withExtension (pm: [ pm.hg-evolve ])
+      withExtensions = f: let
+        python = self.python;
+        mercurialHighPrio = ps: (ps.toPythonModule self).overrideAttrs (oldAttrs: {
+          meta = oldAttrs.meta // {
+            priority = 50;
+          };
+        });
+        plugins = (f python.pkgs) ++ [ (mercurialHighPrio python.pkgs) ];
+        env = python.withPackages (ps: plugins);
+      in stdenv.mkDerivation {
+        pname = "${self.pname}-with-extensions";
+
+        inherit (self) src version meta;
+
+        buildInputs = self.buildInputs ++ self.propagatedBuildInputs;
+        nativeBuildInputs = self.nativeBuildInputs;
+
+        phases = [ "installPhase" "installCheckPhase" ];
+
+        installPhase = ''
+          runHook preInstall
+
+          mkdir -p $out/bin
+
+          for bindir in ${lib.concatStringsSep " " (map (d: "${lib.getBin d}/bin") plugins)}; do
+            for bin in $bindir/*; do
+              ln -s ${env}/bin/$(basename $bin) $out/bin/
+            done
+          done
+
+          ln -s ${self}/share $out/share
+
+          runHook postInstall
+        '';
+
+        installCheckPhase = ''
+          runHook preInstallCheck
+
+          $out/bin/hg help >/dev/null || exit 1
+
+          runHook postInstallCheck
+        '';
+      };
+
+      tests = origAttrs.passthru.tests // {
+        withExtensions = withExtensions (pm: [ pm.hg-evolve ]);
+      };
+    };
+  })
diff --git a/pkgs/applications/version-management/monotone-viz/default.nix b/pkgs/applications/version-management/monotone-viz/default.nix
index cfde0721baf..3c92a93851b 100644
--- a/pkgs/applications/version-management/monotone-viz/default.nix
+++ b/pkgs/applications/version-management/monotone-viz/default.nix
@@ -46,7 +46,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    inherit version;
     description = "Monotone ancestry visualiser";
     license = lib.licenses.gpl2Plus ;
     maintainers = [lib.maintainers.raskin];
diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix
index 3bea6d89334..06a4b2c98a6 100644
--- a/pkgs/applications/version-management/nbstripout/default.nix
+++ b/pkgs/applications/version-management/nbstripout/default.nix
@@ -29,7 +29,6 @@ buildPythonApplication rec {
   '';
 
   meta = {
-    inherit version;
     description = "Strip output from Jupyter and IPython notebooks";
     homepage = "https://github.com/kynan/nbstripout";
     license = lib.licenses.mit;
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index a51e8c199bc..4c4cedd5a12 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.48";
+  version = "1.0.0-alpha.52";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "09sz5665nwj2jppx2695hbwdqr3ws6z6rg7mmc4ldb7hkp4yilig";
+    sha256 = "0m759zfh40kxswsv40z1l332lc8lfqppyv8188y4i6biqmgbx8f1";
   };
 
-  cargoSha256 = "1v5w5za7l3hy9anz136x0vgdmgg090f5sawzgrg5ylgxy2l9s2gn";
+  cargoSha256 = "0f31hw2zjvhkhsb0ykvw4c3d0qy8zirgsaz7yr89hy01rs23bh8z";
 
   cargoBuildFlags = lib.optional gitImportSupport "--features=git";
 
@@ -36,6 +36,6 @@ rustPlatform.buildRustPackage rec {
     description = "A distributed version control system";
     homepage = "https://pijul.org";
     license = with licenses; [ gpl2Plus ];
-    maintainers = with maintainers; [ gal_bolle dywedir ];
+    maintainers = with maintainers; [ gal_bolle dywedir fabianhjr ];
   };
 }
diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix
index f8143711318..d814e0ca0a5 100644
--- a/pkgs/applications/version-management/rcs/default.nix
+++ b/pkgs/applications/version-management/rcs/default.nix
@@ -1,55 +1,21 @@
-{ lib, stdenv, fetchurl, fetchpatch, ed }:
+{ lib, stdenv, fetchurl, fetchpatch, buildPackages, diffutils, ed }:
 
 stdenv.mkDerivation rec {
-  name = "rcs-5.9.4";
+  pname = "rcs";
+  version = "5.10.0";
 
   src = fetchurl {
-    url = "mirror://gnu/rcs/${name}.tar.xz";
-    sha256 = "1zsx7bb0rgvvvisiy4zlixf56ay8wbd9qqqcp1a1g0m1gl6mlg86";
+    url = "mirror://gnu/rcs/${pname}-${version}.tar.xz";
+    sha256 = "sha256-Og2flYx60wPkdehjRlSXTtvm3rOkVEkfOFfcGIm6xcU";
   };
 
-  buildInputs = [ ed ];
+  ac_cv_path_ED = "${ed}/bin/ed";
+  DIFF = "${diffutils}/bin/diff";
+  DIFF3 = "${diffutils}/bin/diff3";
 
-  patches = lib.optionals stdenv.isDarwin [
-    # This failure appears unrelated to the subject of the test. This
-    # test seems to rely on a bash bug where `test $x -nt $y` ignores
-    # subsecond values in timetamps. This bug has been fixed in Bash
-    # 5, and seemingly doesn't affect Darwin.
-    ./disable-t810.patch
-
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/macports/macports-ports/b76d1e48dac/editors/nano/files/secure_snprintf.patch";
-      extraPrefix = "";
-      sha256 = "1wy9pjw3vvp8fv8a7pmkqmiapgacfx54qj9fvsc5gwry0vv7vnc3";
-    })
-
-    # Expected to appear in the next release
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/Homebrew/formula-patches/3fff7c990b8df4174045834b9c1210e7736ff5a4/rcs/noreturn.patch";
-      sha256 = "10zniqrd6xagf3q03i1vksl0vd9nla3qcj0840n3m8z6jd4aypcx";
-    })
-  ];
-
-  doCheck = true;
-
-  checkFlags = [ "VERBOSE=1" ];
-
-  checkPhase = ''
-    # If neither LOGNAME or USER are set, rcs will default to
-    # getlogin(), which is unreliable on macOS. It will often return
-    # things like `_spotlight`, or `_mbsetupuser`. macOS sets both
-    # environment variables in user sessions, so this is unlikely to
-    # affect regular usage.
-
-    export LOGNAME=$(id -un)
-
-    print_logs_and_fail() {
-      grep -nH -e . -r tests/*.d/{out,err}
-      return 1
-    }
-
-    make $checkFlags check || print_logs_and_fail
-  '';
+  disallowedReferences =
+    lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform)
+      [ buildPackages.diffutils buildPackages.ed ];
 
   NIX_CFLAGS_COMPILE = "-std=c99";
 
diff --git a/pkgs/applications/version-management/rcs/disable-t810.patch b/pkgs/applications/version-management/rcs/disable-t810.patch
deleted file mode 100644
index 745f1868a36..00000000000
--- a/pkgs/applications/version-management/rcs/disable-t810.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- rcs-5.9.4-orig/tests/Makefile.in	2015-01-22 19:40:36.000000000 +0900
-+++ rcs-5.9.4/tests/Makefile.in	2019-04-16 20:04:30.557626000 +0900
-@@ -1372,7 +1372,6 @@
-  t803 \
-  t804 \
-  t805 \
-- t810 \
-  t900 \
-  t999
- 
diff --git a/pkgs/applications/version-management/srcml/default.nix b/pkgs/applications/version-management/srcml/default.nix
index c13a08a711c..11dbfc299a4 100644
--- a/pkgs/applications/version-management/srcml/default.nix
+++ b/pkgs/applications/version-management/srcml/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, cmake, libxml2, libxslt, boost, libarchive, python, antlr,
+{ lib, stdenv, fetchurl, cmake, libxml2, libxslt, boost, libarchive, python, antlr2,
   curl
 }:
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     ./gcc6.patch
   ];
 
-  nativeBuildInputs = [ cmake antlr ];
+  nativeBuildInputs = [ cmake antlr2 ];
   buildInputs = [ libxml2 libxslt boost libarchive python curl ];
 
   meta = {
diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix
index a0fa9318a13..73d8f3aa5ec 100644
--- a/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/pkgs/applications/version-management/tortoisehg/default.nix
@@ -1,29 +1,18 @@
 { lib, fetchurl, python3Packages
 , mercurial, qt5
-}@args:
-let
-  tortoisehgSrc = fetchurl rec {
-    meta.name = "tortoisehg-${meta.version}";
-    meta.version = "5.6";
-    url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${meta.version}.tar.gz";
-    sha256 = "031bafj88wggpvw0lgvl0djhlbhs9nls9vzwvni8yn0m0bgzc9gr";
-  };
-
-  tortoiseMercurial = (mercurial.override {
-    rustSupport = false;
-    re2Support = lib.versionAtLeast tortoisehgSrc.meta.version "5.8";
-  }).overridePythonAttrs (old: rec {
-    inherit (tortoisehgSrc.meta) version;
+}:
+
+python3Packages.buildPythonApplication rec {
+    pname = "tortoisehg";
+    version = "5.8";
+
     src = fetchurl {
-      url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-      sha256 = "1hk2y30zzdnlv8f71kabvh0xi9c7qhp28ksh20vpd0r712sv79yz";
+      url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${version}.tar.gz";
+      sha256 = "154q7kyrdk045wx7rsblzx41k3wbvp2f40kzkxmiiaa5n35srsm3";
     };
-    patches = [];
-  });
 
-in python3Packages.buildPythonApplication {
-    inherit (tortoisehgSrc.meta) name version;
-    src = tortoisehgSrc;
+    # Extension point for when thg's mercurial is lagging behind mainline.
+    tortoiseMercurial = mercurial;
 
     propagatedBuildInputs = with python3Packages; [
       tortoiseMercurial qscintilla-qt5 iniparse
@@ -49,7 +38,7 @@ in python3Packages.buildPythonApplication {
     meta = {
       description = "Qt based graphical tool for working with Mercurial";
       homepage = "https://tortoisehg.bitbucket.io/";
-      license = lib.licenses.gpl2;
+      license = lib.licenses.gpl2Only;
       platforms = lib.platforms.linux;
       maintainers = with lib.maintainers; [ danbst ];
     };
diff --git a/pkgs/applications/video/ccextractor/default.nix b/pkgs/applications/video/ccextractor/default.nix
index 881e6b687ef..aa40291790e 100644
--- a/pkgs/applications/video/ccextractor/default.nix
+++ b/pkgs/applications/video/ccextractor/default.nix
@@ -4,13 +4,13 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "ccextractor";
-  version = "0.88";
+  version = "0.89";
 
   src = fetchFromGitHub {
     owner = "CCExtractor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1sya45hvv4d46bk7541yimmafgvgyhkpsvwfz9kv6pm4yi1lz6nb";
+    sha256 = "sha256-847yt6pUTsDnVbrMQQPJ0pqu6UnKmYmr8UtR8+TP11A=";
   };
 
   sourceRoot = "source/src";
diff --git a/pkgs/applications/video/flowblade/default.nix b/pkgs/applications/video/flowblade/default.nix
new file mode 100644
index 00000000000..2e50dfa1218
--- /dev/null
+++ b/pkgs/applications/video/flowblade/default.nix
@@ -0,0 +1,45 @@
+{ lib, fetchFromGitHub, stdenv
+, ffmpeg, frei0r, sox, gtk3, python3, ladspaPlugins
+, gobject-introspection, makeWrapper, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "flowblade";
+  version = "2.8.0.3";
+
+  src = fetchFromGitHub {
+    owner = "jliljebl";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-/EkI3qiceB5eKTVQnpG+z4e6yaE9hDtn6I+iN/J+h/g=";
+  };
+
+  buildInputs = [
+    ffmpeg frei0r sox gtk3 gobject-introspection ladspaPlugins
+    (python3.withPackages (ps: with ps; [ mlt pygobject3 dbus-python numpy pillow ]))
+  ];
+
+  nativeBuildInputs = [ gobject-introspection makeWrapper wrapGAppsHook ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    cp -a ${src}/flowblade-trunk $out/flowblade
+
+    makeWrapper $out/flowblade/flowblade $out/bin/flowblade \
+      --set FREI0R_PATH ${frei0r}/lib/frei0r-1 \
+      --set LADSPA_PATH ${ladspaPlugins}/lib/ladspa \
+      ''${gappsWrapperArgs[@]}
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Multitrack Non-Linear Video Editor";
+    homepage = "https://jliljebl.github.io/flowblade/";
+    license = with licenses; [ gpl3Plus ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ polygon ];
+  };
+}
diff --git a/pkgs/applications/video/freetube/default.nix b/pkgs/applications/video/freetube/default.nix
index 0dbc328459b..5151f1f9e5e 100644
--- a/pkgs/applications/video/freetube/default.nix
+++ b/pkgs/applications/video/freetube/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "freetube";
-  version = "0.13.1";
+  version = "0.13.2";
 
   src = fetchurl {
     url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
-    sha256 = "sha256-DN78ASe29h7o6emCtN861arGqWKAWjjWKtsHs8jjROI=";
+    sha256 = "sha256:0rzx66nshzcrvvd9ky0wamvv5wb0xxlf3zi25xrxmh6haimqbrpv";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/video/imagination/default.nix b/pkgs/applications/video/imagination/default.nix
new file mode 100644
index 00000000000..732d8f547ff
--- /dev/null
+++ b/pkgs/applications/video/imagination/default.nix
@@ -0,0 +1,45 @@
+{ lib, stdenv, fetchurl, autoreconfHook, docbook_xsl, ffmpeg-full, glib, gtk3
+, intltool, libxslt, pkg-config, sox, wrapGAppsHook }:
+
+stdenv.mkDerivation rec {
+  pname = "imagination";
+  version = "3.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "139dgb9vfr2q7bxvjskykdz526xxwrn0bh463ir8m2p7rx5a3pw5";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook_xsl
+    intltool
+    libxslt
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [ ffmpeg-full glib gtk3 sox ];
+
+  preBuild = ''
+    substituteInPlace src/main-window.c \
+      --replace 'gtk_icon_theme_load_icon(icon_theme,"image", 20, 0, NULL)' \
+      'gtk_icon_theme_load_icon(icon_theme,"insert-image", 20, 0, NULL)' \
+      --replace 'gtk_icon_theme_load_icon(icon_theme,"sound", 20, 0, NULL)' \
+      'gtk_icon_theme_load_icon(icon_theme,"audio-x-generic", 20, 0, NULL)'
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+       --prefix PATH : "${lib.makeBinPath [ ffmpeg-full sox ]}"
+    )
+  '';
+
+  meta = with lib; {
+    description = "Lightweight and simple DVD slide show maker";
+    homepage = "http://imagination.sourceforge.net";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ austinbutler ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix
index 35b7d173257..f99b4930870 100644
--- a/pkgs/applications/video/kazam/default.nix
+++ b/pkgs/applications/video/kazam/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchurl, substituteAll, python3, gst_all_1, wrapGAppsHook, gobject-introspection
-, gtk3, libwnck3, keybinder3, intltool, libcanberra-gtk3, libappindicator-gtk3, libpulseaudio
+, gtk3, libwnck, keybinder3, intltool, libcanberra-gtk3, libappindicator-gtk3, libpulseaudio
 , fetchpatch }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = [ gobject-introspection python3.pkgs.distutils_extra intltool wrapGAppsHook ];
   buildInputs = [
-    gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gtk3 libwnck3
+    gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gtk3 libwnck
     keybinder3 libappindicator-gtk3
   ];
 
diff --git a/pkgs/applications/video/kodi-packages/a4ksubtitles/default.nix b/pkgs/applications/video/kodi-packages/a4ksubtitles/default.nix
index 5d714cf1799..8b91b5e5fa5 100644
--- a/pkgs/applications/video/kodi-packages/a4ksubtitles/default.nix
+++ b/pkgs/applications/video/kodi-packages/a4ksubtitles/default.nix
@@ -3,13 +3,13 @@
 buildKodiAddon rec {
   pname = "a4ksubtitles";
   namespace = "service.subtitles.a4ksubtitles";
-  version = "2.3.0";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "a4k-openproject";
     repo = "a4kSubtitles";
     rev = "${namespace}/${namespace}-${version}";
-    sha256 = "0hxvxkbihfyvixmlxf5n4ccn70w0244hhw3hr44rqvx00a0bg1lh";
+    sha256 = "1rzgrxdcws064ji65fdbzzmgd2pdlaak3apa5n1clkmzknn7n881";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/kodi-packages/certifi/default.nix b/pkgs/applications/video/kodi-packages/certifi/default.nix
index d122cacc878..b99a64f3eec 100644
--- a/pkgs/applications/video/kodi-packages/certifi/default.nix
+++ b/pkgs/applications/video/kodi-packages/certifi/default.nix
@@ -2,11 +2,11 @@
 buildKodiAddon rec {
   pname = "certifi";
   namespace = "script.module.certifi";
-  version = "2019.11.28+matrix.1";
+  version = "2020.12.05+matrix.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
-    sha256 = "0vsd68izv1ix0hb1gm74qq3zff0sxmhfhjyh7y9005zzp2gpi62v";
+    sha256 = "1z49b8va7wdyr714c8ixb2sldi0igffcjj3xpbmga58ph0z985vy";
   };
 
   passthru.updateScript = addonUpdateScript {
diff --git a/pkgs/applications/video/kodi-packages/chardet/default.nix b/pkgs/applications/video/kodi-packages/chardet/default.nix
index 7c069592c67..cfe3d501cbd 100644
--- a/pkgs/applications/video/kodi-packages/chardet/default.nix
+++ b/pkgs/applications/video/kodi-packages/chardet/default.nix
@@ -2,11 +2,11 @@
 buildKodiAddon rec {
   pname = "chardet";
   namespace = "script.module.chardet";
-  version = "3.0.4+matrix.3";
+  version = "4.0.0+matrix.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
-    sha256 = "05928dj4fsj2zg8ajdial3sdf8izddq64sr0al3zy1gqw91jp80f";
+    sha256 = "1jsd165mb1b8jdan2jbjd3y3xa0xam2cxcccmwazkybpa0r6a7dj";
   };
 
   passthru.updateScript = addonUpdateScript {
diff --git a/pkgs/applications/video/kodi-packages/idna/default.nix b/pkgs/applications/video/kodi-packages/idna/default.nix
index 662a45188ec..c90f52ffdc9 100644
--- a/pkgs/applications/video/kodi-packages/idna/default.nix
+++ b/pkgs/applications/video/kodi-packages/idna/default.nix
@@ -2,11 +2,11 @@
 buildKodiAddon rec {
   pname = "idna";
   namespace = "script.module.idna";
-  version = "2.8.1+matrix.1";
+  version = "2.10.0+matrix.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
-    sha256 = "02s75fhfmbs3a38wvxba51aj3lv5bidshjdkl6yjfji6waxpr9xh";
+    sha256 = "0pm86m8kh2p0brps3xzxcmmabvb4izkglzkj8dsn33br3vlc7cm7";
   };
 
   passthru.updateScript = addonUpdateScript {
diff --git a/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix b/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix
index 3ec8b19aed7..e3cf4621ca6 100644
--- a/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix
+++ b/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix
@@ -2,13 +2,13 @@
 buildKodiBinaryAddon rec {
   pname = "inputstream-adaptive";
   namespace = "inputstream.adaptive";
-  version = "2.6.16";
+  version = "2.6.17";
 
   src = fetchFromGitHub {
     owner = "xbmc";
     repo = "inputstream.adaptive";
     rev = "${version}-${rel}";
-    sha256 = "0c9cy284crmki2pmg9gvf443hrg13x1cr4vzd4yjsnpk6xpifad6";
+    sha256 = "sha256-MHwLTSyMF7vYiVTof3xePW2eOySCr4/xYlPvWSzBZUg=";
   };
 
   extraNativeBuildInputs = [ gtest ];
diff --git a/pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix b/pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix
index b42c32fed10..4ca45f8b7b9 100644
--- a/pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix
+++ b/pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix
@@ -2,11 +2,11 @@
 buildKodiAddon rec {
   pname = "inputstreamhelper";
   namespace = "script.module.inputstreamhelper";
-  version = "0.5.2+matrix.1";
+  version = "0.5.5+matrix.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
-    sha256 = "18lkksljfa57w69yklbldf7dgyykrm84pd10mdjdqdm88fdiiijk";
+    sha256 = "0y4xn3ygwv1kb7gya7iwdga0g9sa89snpnram0wwqzqn8wn2lyb4";
   };
 
   passthru.updateScript = addonUpdateScript {
diff --git a/pkgs/applications/video/kodi-packages/jellyfin/default.nix b/pkgs/applications/video/kodi-packages/jellyfin/default.nix
index 03a037ce538..b162ca11fa8 100644
--- a/pkgs/applications/video/kodi-packages/jellyfin/default.nix
+++ b/pkgs/applications/video/kodi-packages/jellyfin/default.nix
@@ -1,17 +1,17 @@
-{ lib, addonDir, buildKodiAddon, fetchFromGitHub, kodi, requests, dateutil, six, kodi-six, signals }:
+{ lib, addonDir, buildKodiAddon, fetchFromGitHub, kodi, requests, dateutil, six, kodi-six, signals, websocket }:
 let
   python = kodi.pythonPackages.python.withPackages (p: with p; [ pyyaml ]);
 in
 buildKodiAddon rec {
   pname = "jellyfin";
   namespace = "plugin.video.jellyfin";
-  version = "0.7.1";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "jellyfin";
     repo = "jellyfin-kodi";
     rev = "v${version}";
-    sha256 = "0fx20gmd5xlg59ks4433qh2b3jhbs5qrnc49zi4rkqqr4jr4nhnn";
+    sha256 = "1ykgz1l2gmpdlsp3fbm31q8757879i9dd13svslqykvxadg69x03";
   };
 
   nativeBuildInputs = [
@@ -19,13 +19,13 @@ buildKodiAddon rec {
   ];
 
   prePatch = ''
-    substituteInPlace .config/generate_xml.py \
-      --replace "'jellyfin-kodi/release.yaml'" "'release.yaml'" \
-      --replace "'jellyfin-kodi/addon.xml'" "'addon.xml'"
+    # ZIP does not support timestamps before 1980 - https://bugs.python.org/issue34097
+    substituteInPlace build.py \
+      --replace "with zipfile.ZipFile('{}/{}'.format(target, archive_name), 'w') as z:" "with zipfile.ZipFile('{}/{}'.format(target, archive_name), 'w', strict_timestamps=False) as z:"
   '';
 
   buildPhase = ''
-    ${python}/bin/python3 .config/generate_xml.py py3
+    ${python}/bin/python3 build.py --version=py3
   '';
 
   postInstall = ''
@@ -38,6 +38,7 @@ buildKodiAddon rec {
     six
     kodi-six
     signals
+    websocket
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/video/kodi-packages/netflix/default.nix b/pkgs/applications/video/kodi-packages/netflix/default.nix
index 1aac5f8e9b2..20317b26828 100644
--- a/pkgs/applications/video/kodi-packages/netflix/default.nix
+++ b/pkgs/applications/video/kodi-packages/netflix/default.nix
@@ -3,13 +3,13 @@
 buildKodiAddon rec {
   pname = "netflix";
   namespace = "plugin.video.netflix";
-  version = "1.15.1";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "CastagnaIT";
     repo = namespace;
     rev = "v${version}";
-    sha256 = "0c5cdi6s76vg2gyxzf0ylisxai1ii8vi6h4q4mznpfmplfdp667v";
+    sha256 = "0k5jz6zjsazf0z2xv7gk848p4hvkzd79d0kl71a5d20f96g3938k";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/kodi-packages/pvr-hdhomerun/default.nix b/pkgs/applications/video/kodi-packages/pvr-hdhomerun/default.nix
index ba1a0241ffe..7cdc5a0c635 100644
--- a/pkgs/applications/video/kodi-packages/pvr-hdhomerun/default.nix
+++ b/pkgs/applications/video/kodi-packages/pvr-hdhomerun/default.nix
@@ -2,13 +2,13 @@
 buildKodiBinaryAddon rec {
   pname = "pvr-hdhomerun";
   namespace = "pvr.hdhomerun";
-  version = "7.1.0";
+  version = "7.1.1";
 
   src = fetchFromGitHub {
     owner = "kodi-pvr";
     repo = "pvr.hdhomerun";
     rev = "${version}-${rel}";
-    sha256 = "0gbwjssnd319csq2kwlyjj1rskg19m1dxac5dl2dymvx5hn3zrgm";
+    sha256 = "sha256-mQeeeCOxhUTiUcOJ1OiIiJ+7envAIGO67Bp4EAf4sIE=";
   };
 
   extraBuildInputs = [ jsoncpp libhdhomerun ];
diff --git a/pkgs/applications/video/kodi-packages/requests/default.nix b/pkgs/applications/video/kodi-packages/requests/default.nix
index 7d79abd0872..0f2d5044f04 100644
--- a/pkgs/applications/video/kodi-packages/requests/default.nix
+++ b/pkgs/applications/video/kodi-packages/requests/default.nix
@@ -2,11 +2,11 @@
 buildKodiAddon rec {
   pname = "requests";
   namespace = "script.module.requests";
-  version = "2.22.0+matrix.1";
+  version = "2.25.1+matrix.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
-    sha256 = "09576galkyzhw8fhy2h4aablm5rm2v08g0mdmg9nn55dlxhkkljq";
+    sha256 = "00qhykizvspzfwgl7qz9cyxrazs54jgin40g49v5nzmjq3qf62hb";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/kodi-packages/six/default.nix b/pkgs/applications/video/kodi-packages/six/default.nix
index 8d7b8f936f3..1742d1f6f04 100644
--- a/pkgs/applications/video/kodi-packages/six/default.nix
+++ b/pkgs/applications/video/kodi-packages/six/default.nix
@@ -3,11 +3,11 @@
 buildKodiAddon rec {
   pname = "six";
   namespace = "script.module.six";
-  version = "1.14.0+matrix.2";
+  version = "1.15.0+matrix.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
-    sha256 = "1f9g43j4y5x7b1bgbwqqfj0p2bkqjpycj17dj7a9j271mcr5zhwb";
+    sha256 = "0c8vb0c4vhknkqqgvzj8l2ddgcm4iah0ca686slxbxbp800cydnf";
   };
 
   passthru.updateScript = addonUpdateScript {
diff --git a/pkgs/applications/video/kodi-packages/urllib3/default.nix b/pkgs/applications/video/kodi-packages/urllib3/default.nix
index e3127a8d118..12d8e60d67b 100644
--- a/pkgs/applications/video/kodi-packages/urllib3/default.nix
+++ b/pkgs/applications/video/kodi-packages/urllib3/default.nix
@@ -2,11 +2,11 @@
 buildKodiAddon rec {
   pname = "urllib3";
   namespace = "script.module.urllib3";
-  version = "1.25.8+matrix.1";
+  version = "1.26.4+matrix.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
-    sha256 = "080yq8ns0sag6rmdag1hjwi0whcmp35wzqjp3by92m81cpszs75q";
+    sha256 = "1d2k6gbsnhdadcl1xc7igz4m71z2fcnpln5ppfjv455cmkk110vf";
   };
 
   passthru.updateScript = addonUpdateScript {
diff --git a/pkgs/applications/video/kodi-packages/websocket/default.nix b/pkgs/applications/video/kodi-packages/websocket/default.nix
new file mode 100644
index 00000000000..3c83e1f9b00
--- /dev/null
+++ b/pkgs/applications/video/kodi-packages/websocket/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildKodiAddon, fetchzip, addonUpdateScript, six, addonDir }:
+
+buildKodiAddon rec {
+  pname = "websocket";
+  namespace = "script.module.websocket";
+  version = "0.58.0+matrix.2";
+
+  src = fetchzip {
+    url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
+    sha256 = "0j2fcrn3hc6207g0k0gx5ypj4j3ww9pd7rnlzq1fgdig00laa8y7";
+  };
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  passthru.updateScript = addonUpdateScript {
+    attrPath = "kodi.packages.websocket";
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/websocket-client/websocket-client";
+    description = "A WebSocket client for Python";
+    license = licenses.lgpl2Only;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/pkgs/applications/video/kodi-packages/youtube/default.nix b/pkgs/applications/video/kodi-packages/youtube/default.nix
index c108aa36f92..65613658e0f 100644
--- a/pkgs/applications/video/kodi-packages/youtube/default.nix
+++ b/pkgs/applications/video/kodi-packages/youtube/default.nix
@@ -3,11 +3,11 @@
 buildKodiAddon rec {
   pname = "youtube";
   namespace = "plugin.video.youtube";
-  version = "6.8.10+matrix.1";
+  version = "6.8.14+matrix.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
-    sha256 = "18z9zh6yqihnmfwd6cc4kpy2frzbarvhg8qpyc3w851ad053q7v0";
+    sha256 = "1a18whh3fisprwipwhxf26kc958sxhwpvs8pxwq2sq96vr7b4xq7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index da18a8d7abe..9ab35b92a86 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -72,6 +72,6 @@ in mkDerivation {
     license = licenses.unfree;
     homepage = "http://makemkv.com";
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ danieldk titanous ];
+    maintainers = with maintainers; [ titanous ];
   };
 }
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index bdcd3fbc8fd..1e439f57ef7 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -205,6 +205,7 @@ stdenv.mkDerivation rec {
        optional  fontconfigSupport "-lfontconfig"
     ++ optional  fribidiSupport "-lfribidi"
     ++ optionals x11Support [ "-lX11" "-lXext" ]
+    ++ optional  x264Support "-lx264"
     ++ [ "-lfreetype" ]
   );
 
diff --git a/pkgs/applications/video/natron/default.nix b/pkgs/applications/video/natron/default.nix
index bbbcf3d7687..ea8a801d195 100644
--- a/pkgs/applications/video/natron/default.nix
+++ b/pkgs/applications/video/natron/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, qt4, pkg-config, boost, expat, cairo, python2Packages,
   cmake, flex, bison, pango, librsvg, librevenge, libxml2, libcdr, libzip,
-  poppler, imagemagick, openexr, ffmpeg_3, opencolorio, openimageio,
+  poppler, imagemagick, openexr, ffmpeg_3, opencolorio_1, openimageio,
   qmake4Hook, libpng, libGL, lndir, libraw, openjpeg, libwebp, fetchFromGitHub }:
 
 let
@@ -58,7 +58,7 @@ let
       sha256 = "tUb6myG03mRieUAfgRZfv5Ap+cLvbpNrLMYCGTiAq8c=";
       nativeBuildInputs = [ pkg-config ];
       buildInputs = [
-        pango librsvg librevenge libcdr opencolorio libxml2 libzip
+        pango librsvg librevenge libcdr opencolorio_1 libxml2 libzip
         poppler imagemagick
       ];
       preConfigure = ''
@@ -74,7 +74,7 @@ let
       sha256 = "OQg6a5wNy9TFFySjmgd1subvXRxY/ZnSOCkaoUo+ZaA=";
       nativeBuildInputs = [ pkg-config ];
       buildInputs = [
-        libpng ffmpeg_3 openexr opencolorio openimageio boost libGL
+        libpng ffmpeg_3 openexr opencolorio_1 openimageio boost libGL
         seexpr libraw openjpeg libwebp
       ];
     })
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index ff56fa1c0fb..d7784279c31 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -114,13 +114,13 @@ in mkDerivation rec {
   ];
 
   postInstall = ''
-      wrapProgram $out/bin/obs \
-        --prefix "LD_LIBRARY_PATH" : "${xorg.libX11.out}/lib:${libvlc}/lib"
+    wrapProgram $out/bin/obs \
+      --prefix "LD_LIBRARY_PATH" : "${xorg.libX11.out}/lib:${libvlc}/lib"
   '';
 
   postFixup = lib.optionalString stdenv.isLinux ''
-      addOpenGLRunpath $out/lib/lib*.so
-      addOpenGLRunpath $out/lib/obs-plugins/*.so
+    addOpenGLRunpath $out/lib/lib*.so
+    addOpenGLRunpath $out/lib/obs-plugins/*.so
   '';
 
   meta = with lib; {
@@ -131,7 +131,7 @@ in mkDerivation rec {
       video content, efficiently
     '';
     homepage = "https://obsproject.com";
-    maintainers = with maintainers; [ jb55 MP2E ];
+    maintainers = with maintainers; [ jb55 MP2E V ];
     license = licenses.gpl2;
     platforms = [ "x86_64-linux" "i686-linux" ];
   };
diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix
new file mode 100644
index 00000000000..ef360487a6b
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -0,0 +1,10 @@
+{ callPackage, libsForQt5 }:
+
+{
+  obs-gstreamer = callPackage ./obs-gstreamer.nix {};
+  obs-move-transition = callPackage ./obs-move-transition.nix {};
+  obs-multi-rtmp = libsForQt5.callPackage ./obs-multi-rtmp.nix {};
+  obs-ndi = libsForQt5.callPackage ./obs-ndi.nix {};
+  wlrobs = callPackage ./wlrobs.nix {};
+  looking-glass-obs = callPackage ./looking-glass-obs.nix {};
+}
diff --git a/pkgs/applications/video/obs-studio/fix-search-path.patch b/pkgs/applications/video/obs-studio/plugins/fix-search-path.patch
index 4503447ff5d..4503447ff5d 100644
--- a/pkgs/applications/video/obs-studio/fix-search-path.patch
+++ b/pkgs/applications/video/obs-studio/plugins/fix-search-path.patch
diff --git a/pkgs/applications/video/obs-studio/hardcode-ndi-path.patch b/pkgs/applications/video/obs-studio/plugins/hardcode-ndi-path.patch
index caef96c381f..caef96c381f 100644
--- a/pkgs/applications/video/obs-studio/hardcode-ndi-path.patch
+++ b/pkgs/applications/video/obs-studio/plugins/hardcode-ndi-path.patch
diff --git a/pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix b/pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix
new file mode 100644
index 00000000000..1dbfef2a864
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchFromGitHub, cmake, libbfd, SDL2, obs-studio
+, looking-glass-client }:
+
+stdenv.mkDerivation {
+  pname = "looking-glass-obs";
+  version = looking-glass-client.version;
+
+  src = looking-glass-client.src;
+
+  sourceRoot = "source/obs";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ obs-studio libbfd SDL2 ];
+
+  NIX_CFLAGS_COMPILE = "-mavx";
+
+  installPhase = ''
+    mkdir -p $out/lib/obs-plugins/
+    mv liblooking-glass-obs.so $out/lib/obs-plugins/
+  '';
+
+  meta = with lib; {
+    description = "Plugin for OBS Studio for efficient capturing of looking-glass";
+    homepage = "https://looking-glass.io/docs/stable/obs/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ babbaj ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/video/obs-studio/obs-gstreamer.nix b/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix
index e32ec7575b2..d21d78c42b2 100644
--- a/pkgs/applications/video/obs-studio/obs-gstreamer.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix
@@ -22,18 +22,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config meson ninja ];
   buildInputs = [ gst_all_1.gstreamermm obs-studio ];
 
-  # obs-studio expects the shared object to be located in bin/32bit or bin/64bit
-  # https://github.com/obsproject/obs-studio/blob/d60c736cb0ec0491013293c8a483d3a6573165cb/libobs/obs-nix.c#L48
-  postInstall = let
-    pluginPath = {
-      i686-linux = "bin/32bit";
-      x86_64-linux = "bin/64bit";
-    }.${stdenv.targetPlatform.system} or (throw "Unsupported system: ${stdenv.targetPlatform.system}");
-  in ''
-    mkdir -p $out/share/obs/obs-plugins/obs-gstreamer/${pluginPath}
-    ln -s $out/lib/obs-plugins/obs-gstreamer.so $out/share/obs/obs-plugins/obs-gstreamer/${pluginPath}
-  '';
-
   meta = with lib; {
     description = "An OBS Studio source, encoder and video filter plugin to use GStreamer elements/pipelines in OBS Studio";
     homepage = "https://github.com/fswoch/obs-gstreamer";
diff --git a/pkgs/applications/video/obs-studio/rename-obs-move-transition-cmake.patch b/pkgs/applications/video/obs-studio/plugins/obs-move-transition-use-FindLibobs.cmake.patch
index ed6df1d565d..bc082de0bd5 100644
--- a/pkgs/applications/video/obs-studio/rename-obs-move-transition-cmake.patch
+++ b/pkgs/applications/video/obs-studio/plugins/obs-move-transition-use-FindLibobs.cmake.patch
@@ -1,5 +1,5 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d116619..a1366ce 100644
+index f6d8fa3..5f0657d 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -1,6 +1,17 @@
@@ -7,7 +7,7 @@ index d116619..a1366ce 100644
 +	cmake_policy(SET CMP0048 NEW)
 +endif (POLICY CMP0048)
 +
- project(move-transition VERSION 2.3.0)
+ project(move-transition VERSION 2.4.3)
  set(PROJECT_FULL_NAME "Move Transition")
  
 +include(FindLibobs.cmake)
@@ -20,7 +20,7 @@ index d116619..a1366ce 100644
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/version.h)
 
  set(move-transition_HEADERS
-@@ -34,4 +45,10 @@ target_link_libraries(move-transition
+@@ -38,4 +49,10 @@ target_link_libraries(move-transition
  	libobs)
  
  set_target_properties(move-transition PROPERTIES FOLDER "plugins/exeldro")
diff --git a/pkgs/applications/video/obs-studio/obs-move-transition.nix b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
index 9a896c7320a..b1f3e680ef2 100644
--- a/pkgs/applications/video/obs-studio/obs-move-transition.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-move-transition";
-  version = "2.3.0";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "exeldro";
     repo = "obs-move-transition";
     rev = version;
-    sha256 = "0cl6z3cvdjmbisvfcy281pcg6rhxmyfs31rwv7q4x39352rcs1nw";
+    sha256 = "sha256-/6PcNLOnBBqLZHVKMg1tdX9OktcllEEqnL93nXpuXL0=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     cp ${obs-studio.src}/cmake/external/FindLibobs.cmake FindLibobs.cmake
   '';
 
-  patches = [ ./rename-obs-move-transition-cmake.patch ];
+  patches = [ ./obs-move-transition-use-FindLibobs.cmake.patch ];
 
   postPatch = ''
     substituteInPlace move-source-filter.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>'
@@ -39,18 +39,6 @@ stdenv.mkDerivation rec {
     substituteInPlace audio-move.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>'
   '';
 
-  # obs-studio expects the shared object to be located in bin/32bit or bin/64bit
-  # https://github.com/obsproject/obs-studio/blob/d60c736cb0ec0491013293c8a483d3a6573165cb/libobs/obs-nix.c#L48
-  postInstall = let
-    pluginPath = {
-      i686-linux = "bin/32bit";
-      x86_64-linux = "bin/64bit";
-    }.${stdenv.targetPlatform.system} or (throw "Unsupported system: ${stdenv.targetPlatform.system}");
-  in ''
-    mkdir -p $out/share/obs/obs-plugins/move-transition/${pluginPath}
-    ln -s $out/lib/obs-plugins/move-transition.so $out/share/obs/obs-plugins/move-transition/${pluginPath}
-  '';
-
   meta = with lib; {
     description = "Plugin for OBS Studio to move source to a new position during scene transition";
     homepage = "https://github.com/exeldro/obs-move-transition";
diff --git a/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
index f716d93a360..0122cba0f3d 100644
--- a/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
@@ -20,18 +20,6 @@ stdenv.mkDerivation rec {
 
   dontWrapQtApps = true;
 
-  # obs-studio expects the shared object to be located in bin/32bit or bin/64bit
-  # https://github.com/obsproject/obs-studio/blob/d60c736cb0ec0491013293c8a483d3a6573165cb/libobs/obs-nix.c#L48
-  postInstall = let
-    pluginPath = {
-      i686-linux = "bin/32bit";
-      x86_64-linux = "bin/64bit";
-    }.${stdenv.targetPlatform.system} or (throw "Unsupported system: ${stdenv.targetPlatform.system}");
-  in ''
-    mkdir -p $out/share/obs/obs-plugins/obs-multi-rtmp/${pluginPath}
-    ln -s $out/lib/obs-plugins/obs-multi-rtmp.so $out/share/obs/obs-plugins/obs-multi-rtmp/${pluginPath}
-  '';
-
   meta = with lib; {
     homepage = "https://github.com/sorayuki/obs-multi-rtmp/";
     changelog = "https://github.com/sorayuki/obs-multi-rtmp/releases/tag/${version}";
diff --git a/pkgs/applications/video/obs-studio/obs-ndi.nix b/pkgs/applications/video/obs-studio/plugins/obs-ndi.nix
index b35398d65b5..1e2abb45a5b 100644
--- a/pkgs/applications/video/obs-studio/obs-ndi.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-ndi.nix
@@ -1,10 +1,3 @@
-# We don't have a wrapper which can supply obs-studio plugins so you have to
-# somewhat manually install this:
-
-# nix-env -f "<nixpkgs>" -iA obs-ndi
-# mkdir -p ~/.config/obs-studio/plugins/bin
-# ln -s ~/.nix-profile/lib/obs-plugins/obs-ndi.so ~/.config/obs-studio/plugins/bin/
-
 { lib, stdenv, fetchFromGitHub, obs-studio, cmake, qtbase, ndi }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/video/obs-studio/plugins/wlrobs.nix b/pkgs/applications/video/obs-studio/plugins/wlrobs.nix
new file mode 100644
index 00000000000..adae03036f8
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/wlrobs.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchhg
+, meson, pkg-config, ninja
+, wayland, obs-studio, libX11
+}:
+
+stdenv.mkDerivation {
+  pname = "wlrobs";
+  version = "unstable-2021-05-13";
+
+  src = fetchhg {
+    url = "https://hg.sr.ht/~scoopta/wlrobs";
+    rev = "4184a4a8ea7dc054c993efa16007f3a75b2c6f51";
+    sha256 = "146xirzd3nw1sd216y406v1riky9k08b6a0j4kwxrif5zyqa3adc";
+  };
+
+  nativeBuildInputs = [ meson pkg-config ninja ];
+  buildInputs = [ wayland obs-studio libX11 ];
+
+  meta = with lib; {
+    description = "An obs-studio plugin that allows you to screen capture on wlroots based wayland compositors";
+    homepage = "https://hg.sr.ht/~scoopta/wlrobs";
+    maintainers = with maintainers; [ grahamc V ];
+    license = licenses.gpl3Plus;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/video/obs-studio/v4l2sink.nix b/pkgs/applications/video/obs-studio/v4l2sink.nix
deleted file mode 100644
index 2716120682e..00000000000
--- a/pkgs/applications/video/obs-studio/v4l2sink.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, fetchpatch
-, cmake
-, qtbase
-, obs-studio
-}:
-
-stdenv.mkDerivation rec {
-  pname = "obs-v4l2sink";
-  version = "0.1.0-12-g1ec3c8a";
-
-  src = fetchFromGitHub {
-    owner = "CatxFish";
-    repo = "obs-v4l2sink";
-    rev = version;
-    sha256 = "03ah91cm1qz26k90mfx51l0d598i9bcmw39lkikjs1msm4c9dfxx";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qtbase obs-studio ];
-
-  dontWrapQtApps = true;
-
-  patches = [
-    # Fixes the segfault when stopping the plugin
-    (fetchpatch {
-      url = "https://github.com/CatxFish/obs-v4l2sink/commit/6604f01796d1b84a95714730ea51a6b8ac0e450b.diff";
-      sha256 = "0crcvw02dj0aqy7hnhizjdsnhiw03zmg6cbdkasxz2mrrbyc3s88";
-    })
-  ];
-
-  cmakeFlags = with lib; [
-    "-DLIBOBS_INCLUDE_DIR=${obs-studio.src}/libobs"
-  ];
-
-  # obs-studio expects the shared object to be located in bin/32bit or bin/64bit
-  # https://github.com/obsproject/obs-studio/blob/d60c736cb0ec0491013293c8a483d3a6573165cb/libobs/obs-nix.c#L48
-  postInstall = let
-    pluginPath = {
-      i686-linux = "bin/32bit";
-      x86_64-linux = "bin/64bit";
-    }.${stdenv.targetPlatform.system} or (throw "Unsupported system: ${stdenv.targetPlatform.system}");
-  in ''
-    mkdir -p $out/share/obs/obs-plugins/v4l2sink/${pluginPath}
-    ln -s $out/lib/obs-plugins/v4l2sink.so $out/share/obs/obs-plugins/v4l2sink/${pluginPath}
-  '';
-
-  meta = with lib; {
-    description = "obs studio output plugin for Video4Linux2 device";
-    homepage = "https://github.com/CatxFish/obs-v4l2sink";
-    maintainers = with maintainers; [ colemickens peelz ];
-    license = licenses.gpl2;
-    platforms = [ "x86_64-linux" "i686-linux" ];
-  };
-}
diff --git a/pkgs/applications/video/obs-studio/wlrobs.nix b/pkgs/applications/video/obs-studio/wlrobs.nix
deleted file mode 100644
index 47f6ea9e5dd..00000000000
--- a/pkgs/applications/video/obs-studio/wlrobs.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-# (the following is somewhat lifted from ./linuxbrowser.nix)
-# We don't have a wrapper which can supply obs-studio plugins so you have to
-# somewhat manually install this:
-
-# nix-env -f . -iA obs-wlrobs
-# mkdir -p ~/.config/obs-studio/plugins/wlrobs/bin/64bit
-# ln -s ~/.nix-profile/share/obs/obs-plugins/wlrobs/bin/64bit/libwlrobs.so ~/.config/obs-studio/plugins/wlrobs/bin/64bit
-{ stdenv, fetchhg, wayland, obs-studio
-, meson, ninja, pkg-config, libX11
-, dmabufSupport ? false, libdrm ? null, libGL ? null, lib}:
-
-assert dmabufSupport -> libdrm != null && libGL != null;
-
-stdenv.mkDerivation {
-  pname = "obs-wlrobs";
-  version = "20200622";
-
-  src = fetchhg {
-    url = "https://hg.sr.ht/~scoopta/wlrobs";
-    rev = "1d3acaaf64049da3da9721aa8b9b47582fe0081b";
-    sha256 = "0qrcf8024r4ynfjw0zx8vn59ygx9q5rb196s6nyxmy3gkv2lfxlq";
-  };
-
-  buildInputs = [ libX11 libGL libdrm meson ninja pkg-config wayland obs-studio ];
-
-  installPhase = ''
-    mkdir -p $out/share/obs/obs-plugins/wlrobs/bin/64bit
-    cp ./libwlrobs.so $out/share/obs/obs-plugins/wlrobs/bin/64bit/
-  '';
-
-  mesonFlags = [
-    "-Duse_dmabuf=${lib.boolToString dmabufSupport}"
-  ];
-
-  meta = with lib; {
-    description = "An obs-studio plugin that allows you to screen capture on wlroots based wayland compositors";
-    homepage = "https://hg.sr.ht/~scoopta/wlrobs";
-    maintainers = with maintainers; [ grahamc ];
-    license = licenses.gpl3;
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/video/obs-studio/wrapper.nix b/pkgs/applications/video/obs-studio/wrapper.nix
new file mode 100644
index 00000000000..3871151bbb2
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/wrapper.nix
@@ -0,0 +1,21 @@
+{ obs-studio, symlinkJoin, makeWrapper }:
+
+{ plugins ? [] }:
+
+symlinkJoin {
+  name = "wrapped-${obs-studio.name}";
+
+  nativeBuildInputs = [ makeWrapper ];
+  paths = [ obs-studio ] ++ plugins;
+
+  postBuild = ''
+    wrapProgram $out/bin/obs \
+      --set OBS_PLUGINS_PATH      "$out/lib/obs-plugins" \
+      --set OBS_PLUGINS_DATA_PATH "$out/share/obs/obs-plugins"
+  '';
+
+  inherit (obs-studio) meta;
+  passthru = obs-studio.passthru // {
+    passthru.unwrapped = obs-studio;
+  };
+}
diff --git a/pkgs/applications/video/olive-editor/default.nix b/pkgs/applications/video/olive-editor/default.nix
index 7bacf4138c1..c63011eebc0 100644
--- a/pkgs/applications/video/olive-editor/default.nix
+++ b/pkgs/applications/video/olive-editor/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, which, qmake, mkDerivation,
-  qtmultimedia, wrapQtAppsHook, frei0r, opencolorio, ffmpeg-full,
+  qtmultimedia, wrapQtAppsHook, frei0r, opencolorio_1, ffmpeg-full,
   CoreFoundation }:
 
 mkDerivation rec {
@@ -23,7 +23,7 @@ mkDerivation rec {
   buildInputs = [
     ffmpeg-full
     frei0r
-    opencolorio
+    opencolorio_1
     qtmultimedia
   ] ++ lib.optional stdenv.isDarwin CoreFoundation;
 
diff --git a/pkgs/applications/video/plex-mpv-shim/default.nix b/pkgs/applications/video/plex-mpv-shim/default.nix
index d0904790a9e..d1b88da37fa 100644
--- a/pkgs/applications/video/plex-mpv-shim/default.nix
+++ b/pkgs/applications/video/plex-mpv-shim/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "plex-mpv-shim";
-  version = "1.9.0";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "iwalton3";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06i6pp4jg0f9h6ash60fj1l5mbsdw3zyx7c6anbsrn86802i7paa";
+    sha256 = "18bd2nvlwzkmadimlkh7rs8rnp0ppfx1dzkxb11dq84pdpbl25pc";
   };
 
   propagatedBuildInputs = [ mpv requests python-mpv-jsonipc ];
diff --git a/pkgs/applications/video/pyca/default.nix b/pkgs/applications/video/pyca/default.nix
index df42bbec156..d7e1e03733c 100644
--- a/pkgs/applications/video/pyca/default.nix
+++ b/pkgs/applications/video/pyca/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchFromGitHub, pycurl, dateutil, configobj, sqlalchemy, sdnotify, flask }:
+{ lib, buildPythonApplication, fetchFromGitHub, pycurl, python-dateutil, configobj, sqlalchemy, sdnotify, flask }:
 
 buildPythonApplication rec {
   pname = "pyca";
@@ -13,7 +13,7 @@ buildPythonApplication rec {
 
   propagatedBuildInputs = [
     pycurl
-    dateutil
+    python-dateutil
     configobj
     sqlalchemy
     sdnotify
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index 94bd0877a7d..d7ade6899dc 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
     requests
     iso-639
     iso3166
-    websocket_client
+    websocket-client
     isodate
   ]) ++ [
     rtmpdump
diff --git a/pkgs/applications/video/subtitleeditor/default.nix b/pkgs/applications/video/subtitleeditor/default.nix
index cc3d518ff88..b1c8f436884 100644
--- a/pkgs/applications/video/subtitleeditor/default.nix
+++ b/pkgs/applications/video/subtitleeditor/default.nix
@@ -3,13 +3,9 @@
   libsigcxx, libxmlxx, xdg-utils, isocodes, wrapGAppsHook
 }:
 
-let
-  version = "0.54.0";
-in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "subtitleeditor";
-  inherit version;
+  version = "0.54.0";
 
   src = fetchFromGitHub {
     owner = "kitone";
diff --git a/pkgs/applications/video/vdr/plugins.nix b/pkgs/applications/video/vdr/plugins.nix
index cb2338c0e18..2e79cb25c49 100644
--- a/pkgs/applications/video/vdr/plugins.nix
+++ b/pkgs/applications/video/vdr/plugins.nix
@@ -23,13 +23,13 @@ in {
   ] mkPlugin);
 
   femon = stdenv.mkDerivation rec {
-
-    name = "vdr-femon-2.4.0";
+    pname = "vdr-femon";
+    version = "2.4.0";
 
     buildInputs = [ vdr ];
 
     src = fetchurl {
-      url = "http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/${name}.tgz";
+      url = "http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/${pname}-${version}.tgz";
       sha256 = "1hra1xslj8s68zbyr8zdqp8yap0aj1p6rxyc6cwy1j122kwcnapp";
     };
 
@@ -48,7 +48,6 @@ in {
   };
 
   vaapidevice = stdenv.mkDerivation {
-
     pname = "vdr-vaapidevice";
     version = "20190525";
 
@@ -84,7 +83,8 @@ in {
 
 
   markad = stdenv.mkDerivation rec {
-    name = "vdr-markad-2017-03-13";
+    pname = "vdr-markad";
+    version = "unstable-2017-03-13";
 
     src = fetchgit {
       url = "git://projects.vdr-developer.org/vdr-plugin-markad.git";
@@ -176,18 +176,16 @@ in {
 
   };
 
-  vnsiserver = let
-    name = "vnsiserver";
+  vnsiserver = stdenv.mkDerivation rec {
+    pname = "vdr-vnsiserver";
     version = "1.8.0";
-  in stdenv.mkDerivation {
-    name = "vdr-${name}-${version}";
 
     buildInputs = [ vdr ];
 
     installFlags = [ "DESTDIR=$(out)" ];
 
     src = fetchFromGitHub {
-      repo = "vdr-plugin-${name}";
+      repo = "vdr-plugin-vnsiserver";
       owner = "FernetMenta";
       rev = "v${version}";
       sha256 = "0n7idpxqx7ayd63scl6xwdx828ik4kb2mwz0c30cfjnmnxxd45lw";
@@ -204,7 +202,8 @@ in {
   };
 
   text2skin = stdenv.mkDerivation {
-    name = "vdr-text2skin-1.3.4-20170702";
+    pname = "vdr-text2skin";
+    version = "1.3.4-20170702";
 
     src = fetchgit {
       url = "git://projects.vdr-developer.org/vdr-plugin-text2skin.git";
@@ -308,7 +307,6 @@ in {
 
   in stdenv.mkDerivation rec {
     pname = "vdr-fritzbox";
-
     version = "1.5.3";
 
     src = fetchFromGitHub {
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index ed597615130..6098aeba051 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -24,11 +24,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "${optionalString onlyLibVLC "lib"}vlc";
-  version = "3.0.12";
+  version = "3.0.16";
 
   src = fetchurl {
     url = "http://get.videolan.org/vlc/${version}/vlc-${version}.tar.xz";
-    sha256 = "0ygqihw2c5vvzv8950dlf7rdwz1cpz1668jgyja604ljibrmix7g";
+    sha256 = "sha256-/641/GT2JcF1Vx0jRrxfYge+mXYlF/FUI+dPGDmUEPY=";
   };
 
   # VLC uses a *ton* of libraries for various pieces of functionality, many of
diff --git a/pkgs/applications/video/wf-recorder/default.nix b/pkgs/applications/video/wf-recorder/default.nix
index 0b8d1ad22b9..18b35c0d398 100644
--- a/pkgs/applications/video/wf-recorder/default.nix
+++ b/pkgs/applications/video/wf-recorder/default.nix
@@ -1,5 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland, scdoc
-, wayland-protocols, ffmpeg, x264, libpulseaudio, ocl-icd, opencl-headers
+{ lib, stdenv, fetchFromGitHub
+, meson, ninja, pkg-config, scdoc, wayland-scanner
+, wayland, wayland-protocols, ffmpeg, x264, libpulseaudio, ocl-icd, opencl-headers
 }:
 
 stdenv.mkDerivation rec {
@@ -13,9 +14,9 @@ stdenv.mkDerivation rec {
     sha256 = "1cw6kpcbl33wh95pvy32xrsrm6kkk1awccr3phyh885xjs3b3iim";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland scdoc ];
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner scdoc ];
   buildInputs = [
-    wayland-protocols ffmpeg x264 libpulseaudio ocl-icd opencl-headers
+    wayland wayland-protocols ffmpeg x264 libpulseaudio ocl-icd opencl-headers
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index 3a8e9dc0bee..e614b3da2b0 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -1,23 +1,24 @@
-{ lib, stdenv, fetchurl
-, pkg-config, libtool
-, gtk2, libGLU, libGL, readline, libX11, libXpm
-, docbook_xml_dtd_45, docbook_xsl
-, sdlSupport ? true, SDL2 ? null
-, termSupport ? true, ncurses ? null
-, wxSupport ? true, wxGTK ? null
-, wgetSupport ? false, wget ? null
-, curlSupport ? false, curl ? null
+{ lib
+, stdenv
+, fetchurl
+, SDL2
+, curl
+, docbook_xml_dtd_45
+, docbook_xsl
+, gtk2
+, libGL
+, libGLU
+, libX11
+, libXpm
+, libtool
+, ncurses
+, pkg-config
+, readline
+, wget
+, wxGTK
 }:
 
-assert sdlSupport -> (SDL2 != null);
-assert termSupport -> (ncurses != null);
-assert wxSupport -> (gtk2 != null && wxGTK != null);
-assert wgetSupport -> (wget != null);
-assert curlSupport -> (curl != null);
-
-with lib;
 stdenv.mkDerivation rec {
-
   pname = "bochs";
   version = "2.6.11";
 
@@ -27,18 +28,33 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    # A flip between two lines of code, in order to compile with GLIBC 2.26
     ./bochs-2.6.11-glibc-2.26.patch
-    ./fix-build-smp.patch
+    # Fix compilation for MSYS2 GCC 10; remove it when the next version arrives
     ./bochs_fix_narrowing_conv_warning.patch
+    # SMP-enabled configs; remove it when the next version arrives
+    ./fix-build-smp.patch
   ];
 
-  buildInputs =
-  [ pkg-config libtool gtk2 libGLU libGL readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
-  ++ optionals termSupport [ ncurses ]
-  ++ optionals sdlSupport [ SDL2 ]
-  ++ optionals wxSupport [ wxGTK ]
-  ++ optionals wgetSupport [ wget ]
-  ++ optionals curlSupport [ curl ];
+  nativeBuildInputs = [
+    docbook_xml_dtd_45
+    docbook_xsl
+    pkg-config
+  ];
+  buildInputs = [
+    SDL2
+    curl
+    gtk2
+    libGL
+    libtool
+    libGLU
+    libX11
+    libXpm
+    ncurses
+    readline
+    wget
+    wxGTK
+  ];
 
   configureFlags = [
     "--with-x=yes"
@@ -64,49 +80,51 @@ stdenv.mkDerivation rec {
     # Dangerous options - they are marked as "incomplete/experimental" on Bochs documentation
     "--enable-3dnow=no"
     "--enable-monitor-mwait=no"
-    "--enable-raw-serial=no" ]
-    # Boolean flags
-    ++ optionals termSupport [ "--with-term" ]
-    ++ optionals sdlSupport [ "--with-sdl2" ]
-    ++ optionals wxSupport [ "--with-wx" ]
+    "--enable-raw-serial=no"
+
     # These are completely configurable, and they don't depend of external tools
-    ++ [ "--enable-cpu-level=6" # from 3 to 6
-         "--enable-largefile"
-         "--enable-idle-hack"
-         "--enable-plugins=no" # Plugins are a bit buggy in Bochs
-         "--enable-a20-pin"
-         "--enable-x86-64"
-         "--enable-smp"
-         "--enable-large-ramfile"
-         "--enable-repeat-speedups"
-         "--enable-handlers-chaining"
-         "--enable-trace-linking"
-         "--enable-configurable-msrs"
-         "--enable-show-ips"
-         "--enable-debugger" #conflicts with gdb-stub option
-         "--enable-disasm"
-         "--enable-debugger-gui"
-         "--enable-gdb-stub=no" # conflicts with debugger option
-         "--enable-iodebug"
-         "--enable-fpu"
-         "--enable-svm"
-         "--enable-avx"
-         "--enable-evex"
-         "--enable-x86-debugger"
-         "--enable-pci"
-         "--enable-usb"
-         "--enable-usb-ohci"
-         "--enable-usb-ehci"
-         "--enable-usb-xhci"
-         "--enable-ne2000"
-         "--enable-pnic"
-         "--enable-e1000"
-         "--enable-clgd54xx"
-         "--enable-voodoo"
-         "--enable-cdrom"
-         "--enable-sb16"
-         "--enable-es1370"
-         "--enable-busmouse" ];
+    "--enable-a20-pin"
+    "--enable-avx"
+    "--enable-busmouse"
+    "--enable-cdrom"
+    "--enable-clgd54xx"
+    "--enable-configurable-msrs"
+    "--enable-cpu-level=6" # from 3 to 6
+    "--enable-debugger" #conflicts with gdb-stub option
+    "--enable-debugger-gui"
+    "--enable-disasm"
+    "--enable-e1000"
+    "--enable-es1370"
+    "--enable-evex"
+    "--enable-fpu"
+    "--enable-gdb-stub=no" # conflicts with debugger option
+    "--enable-handlers-chaining"
+    "--enable-idle-hack"
+    "--enable-iodebug"
+    "--enable-large-ramfile"
+    "--enable-largefile"
+    "--enable-ne2000"
+    "--enable-pci"
+    "--enable-plugins=no" # Plugins are a bit buggy in Bochs
+    "--enable-pnic"
+    "--enable-repeat-speedups"
+    "--enable-sb16"
+    "--enable-show-ips"
+    "--enable-smp"
+    "--enable-svm"
+    "--enable-trace-linking"
+    "--enable-usb"
+    "--enable-usb-ehci"
+    "--enable-usb-ohci"
+    "--enable-usb-xhci"
+    "--enable-voodoo"
+    "--enable-x86-64"
+    "--enable-x86-debugger"
+  ]
+  # Boolean flags
+  ++ lib.optionals (SDL2 != null) [ "--with-sdl2" ]
+  ++ lib.optionals (ncurses != null) [ "--with-term" ]
+  ++ lib.optionals (gtk2 != null && wxGTK != null) [ "--with-wx" ];
 
   NIX_CFLAGS_COMPILE="-I${gtk2.dev}/include/gtk-2.0/ -I${libtool}/include/";
   NIX_LDFLAGS="-L${libtool.lib}/lib";
@@ -115,19 +133,18 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with lib; {
+    homepage = "http://bochs.sourceforge.io/";
     description = "An open-source IA-32 (x86) PC emulator";
     longDescription = ''
       Bochs is an open-source (LGPL), highly portable IA-32 PC emulator, written
       in C++, that runs on most popular platforms. It includes emulation of the
       Intel x86 CPU, common I/O devices, and a custom BIOS.
     '';
-    homepage = "http://bochs.sourceforge.net/";
     license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
   };
 }
 # TODO: plugins
-# TODO: svga support - the Bochs sources explicitly cite /usr/include/vga.h
 # TODO: a better way to organize the options
diff --git a/pkgs/applications/virtualization/charliecloud/default.nix b/pkgs/applications/virtualization/charliecloud/default.nix
index f6d7ce3d619..cbd7d8e5512 100644
--- a/pkgs/applications/virtualization/charliecloud/default.nix
+++ b/pkgs/applications/virtualization/charliecloud/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
 
-  version = "0.23";
+  version = "0.24";
   pname = "charliecloud";
 
   src = fetchFromGitHub {
     owner = "hpc";
     repo = "charliecloud";
     rev = "v${version}";
-    sha256 = "sha256-JQNidKqJROFVm+O1exTDon1fwU91zONqgKJIpe9gspY=";
+    sha256 = "sha256-kdaVlwE3vdCxsmJTOUwx8J+9UcBuXbKDwS2MHX2ZPPM=";
   };
 
   nativeBuildInputs = [ autoreconfHook makeWrapper ];
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 5435c88f58d..ca9ae20f346 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -1,6 +1,6 @@
 { lib
 , fetchFromGitHub
-, buildGoPackage
+, buildGoModule
 , btrfs-progs
 , go-md2man
 , installShellFiles
@@ -8,19 +8,20 @@
 , nixosTests
 }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "containerd";
-  version = "1.5.1";
+  version = "1.5.2";
+
+  outputs = [ "out" "man" ];
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "sha256-jVyg+fyMuDnV/TM0Z2t+Cr17a6XBv11aWijhsqMnA5s=";
+    sha256 = "sha256-RDLAmPBjDHCx9al+gstUTrvKc/L0vAm8IEd/mvX5Als=";
   };
 
-  goPackagePath = "github.com/containerd/containerd";
-  outputs = [ "out" "man" ];
+  vendorSha256 = null;
 
   nativeBuildInputs = [ go-md2man installShellFiles util-linux ];
 
@@ -28,11 +29,9 @@ buildGoPackage rec {
 
   buildFlags = [ "VERSION=v${version}" "REVISION=${src.rev}" ];
 
-  BUILDTAGS = [ ]
-    ++ lib.optional (btrfs-progs == null) "no_btrfs";
+  BUILDTAGS = lib.optionals (btrfs-progs == null) [ "no_btrfs" ];
 
   buildPhase = ''
-    cd go/src/${goPackagePath}
     patchShebangs .
     make binaries man $buildFlags
   '';
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index 28e52a639ee..42095da8f52 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.21.0";
+  version = "1.21.1";
 
   src = fetchFromGitHub {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "sha256-qhS1RLkM7xDsH3qDVL+ORXmwULYz8UK1oJM29oRqJ0M=";
+    sha256 = "sha256-WoQeZkHuCQGv//UKTpvucJXq7xI9Fkil8V1B1qTM75k=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/virtualization/docker-compose/default.nix b/pkgs/applications/virtualization/docker-compose/default.nix
index 233ee13ead8..fd67aa554f0 100644
--- a/pkgs/applications/virtualization/docker-compose/default.nix
+++ b/pkgs/applications/virtualization/docker-compose/default.nix
@@ -3,17 +3,17 @@
 , mock, pytest, nose
 , pyyaml, backports_ssl_match_hostname, colorama, docopt
 , dockerpty, docker, ipaddress, jsonschema, requests
-, six, texttable, websocket_client, cached-property
+, six, texttable, websocket-client, cached-property
 , enum34, functools32, paramiko, distro, python-dotenv
 }:
 
 buildPythonApplication rec {
-  version = "1.28.6";
+  version = "1.29.2";
   pname = "docker-compose";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1d44906f7ab738ba2d1785130ed31b16111eee6dc5a1dbd7252091dae48c5281";
+    sha256 = "sha256-TIzZ0h0jdBJ5PRi9MxEASe6a+Nqz/iwhO70HM5WbCbc=";
   };
 
   # lots of networking and other fails
@@ -22,7 +22,7 @@ buildPythonApplication rec {
   checkInputs = [ mock pytest nose ];
   propagatedBuildInputs = [
     pyyaml colorama dockerpty docker
-    ipaddress jsonschema requests six texttable websocket_client
+    ipaddress jsonschema requests six texttable websocket-client
     docopt cached-property paramiko distro python-dotenv
   ] ++ lib.optional (pythonOlder "3.7") backports_ssl_match_hostname
   ++ lib.optional (pythonOlder "3.4") enum34
diff --git a/pkgs/applications/virtualization/docker-slim/default.nix b/pkgs/applications/virtualization/docker-slim/default.nix
index e9acf58713c..09ba9a75183 100644
--- a/pkgs/applications/virtualization/docker-slim/default.nix
+++ b/pkgs/applications/virtualization/docker-slim/default.nix
@@ -6,7 +6,7 @@
 
 buildGoPackage rec {
   pname = "docker-slim";
-  version = "1.35.2";
+  version = "1.36.1";
 
   goPackagePath = "github.com/docker-slim/docker-slim";
 
@@ -14,7 +14,7 @@ buildGoPackage rec {
     owner = "docker-slim";
     repo = "docker-slim";
     rev = version;
-    sha256 = "sha256-Pg3vPvnEo1OkCakwkwS/HaFnvmpjuHHlGqIjddO6jwQ=";
+    sha256 = "sha256-BoBZBzQYd/HbOCerpvcNcR/7Fds6+weY2QFRjqSfOjU=";
   };
 
   subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index bec51af81ac..ec358507c2d 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -8,10 +8,10 @@ rec {
       , moby-src
       , runcRev, runcSha256
       , containerdRev, containerdSha256
-      , tiniRev, tiniSha256, buildxSupport ? false
+      , tiniRev, tiniSha256, buildxSupport ? true
       # package dependencies
       , stdenv, fetchFromGitHub, buildGoPackage
-      , makeWrapper, installShellFiles, pkg-config
+      , makeWrapper, installShellFiles, pkg-config, glibc
       , go-md2man, go, containerd, runc, docker-proxy, tini, libtool
       , sqlite, iproute2, lvm2, systemd, docker-buildx
       , btrfs-progs, iptables, e2fsprogs, xz, util-linux, xfsprogs, git
@@ -56,7 +56,9 @@ rec {
       };
 
       # Do not remove static from make files as we want a static binary
-      patchPhase = "";
+      postPatch = "";
+
+      buildInputs = [ glibc glibc.static ];
 
       NIX_CFLAGS_COMPILE = "-DMINIMAL=ON";
     });
@@ -75,6 +77,10 @@ rec {
 
       extraPath = optionals (stdenv.isLinux) (makeBinPath [ iproute2 iptables e2fsprogs xz xfsprogs procps util-linux git ]);
 
+      postPatch = ''
+        patchShebangs hack/make.sh hack/make/
+      '';
+
       buildPhase = ''
         export GOCACHE="$TMPDIR/go-cache"
         # build engine
@@ -86,11 +92,6 @@ rec {
         cd -
       '';
 
-      postPatch = ''
-        patchShebangs .
-        substituteInPlace ./hack/make.sh --replace libsystemd-journal libsystemd
-      '';
-
       installPhase = ''
         cd ./go/src/${goPackagePath}
         install -Dm755 ./bundles/dynbinary-daemon/dockerd $out/libexec/docker/dockerd
@@ -142,6 +143,14 @@ rec {
       sqlite lvm2 btrfs-progs systemd libseccomp
     ] ++ optionals (buildxSupport) [ docker-buildx ];
 
+    postPatch = ''
+      patchShebangs man scripts/build/
+      substituteInPlace ./scripts/build/.variables --replace "set -eu" ""
+    '' + optionalString buildxSupport ''
+      substituteInPlace ./cli-plugins/manager/manager_unix.go --replace /usr/libexec/docker/cli-plugins \
+          ${lib.strings.makeSearchPathOutput "bin" "libexec/docker/cli-plugins" [docker-buildx]}
+    '';
+
     # Keep eyes on BUILDTIME format - https://github.com/docker/cli/blob/${version}/scripts/build/.variables
     buildPhase = ''
       export GOCACHE="$TMPDIR/go-cache"
@@ -160,14 +169,6 @@ rec {
       cd -
     '';
 
-    postPatch = ''
-      patchShebangs .
-      substituteInPlace ./scripts/build/.variables --replace "set -eu" ""
-    '' + optionalString buildxSupport ''
-      substituteInPlace ./cli-plugins/manager/manager_unix.go --replace /usr/libexec/docker/cli-plugins \
-          ${lib.strings.makeSearchPathOutput "bin" "libexec/docker/cli-plugins" [docker-buildx]}
-    '';
-
     outputs = ["out" "man"];
 
     installPhase = ''
@@ -209,7 +210,7 @@ rec {
       homepage = "https://www.docker.com/";
       description = "An open source project to pack, ship and run any application as a lightweight container";
       license = licenses.asl20;
-      maintainers = with maintainers; [ offline tailhook vdemeester periklis ];
+      maintainers = with maintainers; [ offline tailhook vdemeester periklis mikroskeem ];
       platforms = with platforms; linux ++ darwin;
     };
 
@@ -220,14 +221,14 @@ rec {
   # Get revisions from
   # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
   docker_20_10 = callPackage dockerGen rec {
-    version = "20.10.6";
+    version = "20.10.7";
     rev = "v${version}";
-    sha256 = "15kknb26vyzjgqmn8r81a1sy1i5br6bvngqd5xljihppnxvp2gvl";
+    sha256 = "1r854jrjph4v1n5lr82z0cl0241ycili4qr3qh3k3bmqx790cds3";
     moby-src = fetchFromGitHub {
       owner = "moby";
       repo = "moby";
       rev = "v${version}";
-      sha256 = "1l4ra9bsvydaxd2fy7dgxp7ynpp0mrlwvcdhxiafw596559ab6qk";
+      sha256 = "0xhn11kgcbzda4z9j0rflvq0nfivizh3jrzhanwn5vnghafy4zqw";
     };
     runcRev = "b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7"; # v1.0.0-rc95
     runcSha256 = "18sbvmlvb6kird4w3rqsfrjdj7n25firabvdxsl0rxjfy9r1g2xb";
diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix
new file mode 100644
index 00000000000..198e3b694ce
--- /dev/null
+++ b/pkgs/applications/virtualization/lima/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+, qemu
+, makeWrapper
+}:
+
+buildGoModule rec {
+  pname = "lima";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "AkihiroSuda";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-1952xGSfVFI2Fs5HLJKCyB6ZxKFf5uPKXIlctM/T+8o=";
+  };
+
+  vendorSha256 = "sha256-rPL/jxMHMkKffoYLSI3FFtFRYGtARKmrODmL9w+rN0E=";
+
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
+
+  buildPhase = ''
+    runHook preBuild
+    make "VERSION=v${version}" binaries
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out
+    cp -r _output/* $out
+    wrapProgram $out/bin/limactl \
+      --prefix PATH : ${lib.makeBinPath [ qemu ]}
+    installShellCompletion --cmd limactl \
+      --bash <($out/bin/limactl completion bash)
+    runHook postInstall
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    USER=nix $out/bin/limactl validate examples/default.yaml
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/AkihiroSuda/lima";
+    description = "Linux virtual machines (on macOS, in most cases)";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ anhduy ];
+  };
+}
+
diff --git a/pkgs/applications/virtualization/looking-glass-client/0001-client-all-fix-more-maybe-uninitialized-when-O3-is-i.patch b/pkgs/applications/virtualization/looking-glass-client/0001-client-all-fix-more-maybe-uninitialized-when-O3-is-i.patch
deleted file mode 100644
index 82ce050b587..00000000000
--- a/pkgs/applications/virtualization/looking-glass-client/0001-client-all-fix-more-maybe-uninitialized-when-O3-is-i.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 95a7293b30ff7b89d615daea00269ed32f4b70a2 Mon Sep 17 00:00:00 2001
-From: Geoffrey McRae <geoff@hostfission.com>
-Date: Tue, 23 Feb 2021 20:25:30 +1100
-Subject: [PATCH] [client] all: fix more `maybe-uninitialized` when `-O3` is in
- use
-
-Closes #475
----
- client/renderers/EGL/egl.c | 3 ++-
- client/src/main.c          | 5 +++--
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/client/renderers/EGL/egl.c b/client/renderers/EGL/egl.c
-index b7a5644..72ce50d 100644
---- a/client/renderers/EGL/egl.c
-+++ b/client/renderers/EGL/egl.c
-@@ -271,7 +271,8 @@ static void egl_calc_mouse_size(struct Inst * this)
-   if (!this->formatValid)
-     return;
- 
--  int w, h;
-+  int w  = 0, h = 0;
-+
-   switch(this->format.rotate)
-   {
-     case LG_ROTATE_0:
-diff --git a/client/src/main.c b/client/src/main.c
-index f05e929..f5d6fad 100644
---- a/client/src/main.c
-+++ b/client/src/main.c
-@@ -186,8 +186,9 @@ static void updatePositionInfo(void)
-   if (!g_state.haveSrcSize)
-     goto done;
- 
--  float srcW;
--  float srcH;
-+  float srcW = 0.0f;
-+  float srcH = 0.0f;
-+
-   switch(params.winRotate)
-   {
-     case LG_ROTATE_0:
--- 
-2.30.1
-
diff --git a/pkgs/applications/virtualization/looking-glass-client/default.nix b/pkgs/applications/virtualization/looking-glass-client/default.nix
index 345018bbe4e..0d158cc3f96 100644
--- a/pkgs/applications/virtualization/looking-glass-client/default.nix
+++ b/pkgs/applications/virtualization/looking-glass-client/default.nix
@@ -1,40 +1,54 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, SDL2, SDL2_ttf, spice-protocol
-, fontconfig, libX11, freefont_ttf, nettle, libpthreadstubs, libXau, libXdmcp
-, libXi, libXext, wayland, wayland-protocols, libffi, libGLU, libXScrnSaver
-, expat, libbfd
+
+{ stdenv, lib, fetchFromGitHub, fetchpatch, makeDesktopItem, cmake, pkg-config
+, SDL, SDL2_ttf, freefont_ttf, spice-protocol, nettle, libbfd, fontconfig
+, libXi, libXScrnSaver, libXinerama
+, wayland, wayland-protocols
 }:
 
+let
+  desktopItem = makeDesktopItem {
+    name = "looking-glass-client";
+    desktopName = "Looking Glass Client";
+    type = "Application";
+    exec = "looking-glass-client";
+    icon = "lg-logo";
+    terminal = true;
+  };
+in
 stdenv.mkDerivation rec {
   pname = "looking-glass-client";
-  version = "B3";
+  version = "B4";
 
   src = fetchFromGitHub {
     owner = "gnif";
     repo = "LookingGlass";
     rev = version;
-    sha256 = "1vmabjzn85p0brdian9lbpjq39agzn8k0limn8zjm713lh3n3c0f";
+    sha256 = "0fwmz0l1dcfwklgvxmv0galgj2q3nss90kc3jwgf6n80x27rsnhf";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [
-    SDL2 SDL2_ttf spice-protocol fontconfig libX11 freefont_ttf nettle
-    libpthreadstubs libXau libXdmcp libXi libXext wayland wayland-protocols
-    libffi libGLU libXScrnSaver expat libbfd
-  ];
-
-  patches = [
-    # error: ‘h’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
-    # Fixed upstream in master in 8771103abbfd04da9787dea760405364af0d82de, but not in B3.
-    # Including our own patch here since upstream commit patch doesnt apply cleanly on B3
-    ./0001-client-all-fix-more-maybe-uninitialized-when-O3-is-i.patch
+    SDL SDL2_ttf freefont_ttf spice-protocol
+    libbfd nettle fontconfig
+    libXi libXScrnSaver libXinerama
+    wayland wayland-protocols
   ];
-  patchFlags = "-p2";
 
-  sourceRoot = "source/client";
   NIX_CFLAGS_COMPILE = "-mavx"; # Fix some sort of AVX compiler problem.
 
+  postUnpack = ''
+    echo $version > source/VERSION
+    export sourceRoot="source/client"
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/pixmaps
+    ln -s ${desktopItem}/share/applications $out/share/
+    cp $src/resources/lg-logo.png $out/share/pixmaps
+  '';
+
   meta = with lib; {
     description = "A KVM Frame Relay (KVMFR) implementation";
     longDescription = ''
@@ -46,7 +60,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://looking-glass.io/";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ alexbakker ];
+    maintainers = with maintainers; [ alexbakker babbaj ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix
index e7479957444..74d87a1b740 100644
--- a/pkgs/applications/virtualization/open-vm-tools/default.nix
+++ b/pkgs/applications/virtualization/open-vm-tools/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook, fetchpatch,
-  fuse, libmspack, openssl, pam, xercesc, icu, libdnet, procps, libtirpc, rpcsvc-proto,
-  libX11, libXext, libXinerama, libXi, libXrender, libXrandr, libXtst,
-  pkg-config, glib, gdk-pixbuf-xlib, gtk3, gtkmm3, iproute2, dbus, systemd, which,
-  withX ? true }:
+{ stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook
+, bash, fuse, libmspack, openssl, pam, xercesc, icu, libdnet, procps, libtirpc, rpcsvc-proto
+, libX11, libXext, libXinerama, libXi, libXrender, libXrandr, libXtst
+, pkg-config, glib, gdk-pixbuf-xlib, gtk3, gtkmm3, iproute2, dbus, systemd, which
+, libdrm, udev
+, withX ? true
+}:
 
 stdenv.mkDerivation rec {
   pname = "open-vm-tools";
-  version = "11.2.5";
+  version = "11.3.0";
 
   src = fetchFromGitHub {
     owner  = "vmware";
     repo   = "open-vm-tools";
     rev    = "stable-${version}";
-    sha256 = "sha256-Jv+NSKw/+l+b4lfVGgCZFlcTScO/WAO/d7DtI0FAEV4=";
+    sha256 = "1yfffxc7drr1hyg28jcvly7jn1bm4ca76lmma5ykbmba2qqszx49";
   };
 
   sourceRoot = "${src.name}/open-vm-tools";
@@ -20,32 +22,15 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ];
-  buildInputs = [ fuse glib icu libdnet libmspack libtirpc openssl pam procps rpcsvc-proto xercesc ]
+  buildInputs = [ fuse glib icu libdnet libdrm libmspack libtirpc openssl pam procps rpcsvc-proto udev xercesc ]
       ++ lib.optionals withX [ gdk-pixbuf-xlib gtk3 gtkmm3 libX11 libXext libXinerama libXi libXrender libXrandr libXtst ];
 
-  patches = [
-    # Fix building with glib 2.68. Remove after next release.
-    # We drop AUTHORS due to conflicts when applying.
-    # https://github.com/vmware/open-vm-tools/pull/505
-    (fetchpatch {
-      url = "https://github.com/vmware/open-vm-tools/commit/82931a1bcb39d5132910c7fb2ddc086c51d06662.patch";
-      stripLen = 1;
-      excludes = [ "AUTHORS" ];
-      sha256 = "0yz5hnngr5vd4416hvmh8734a9vxa18d2xd37kl7if0p9vik6zlg";
-    })
-  ];
-
   postPatch = ''
-     # Build bugfix for 10.1.0, stolen from Arch PKGBUILD
-     mkdir -p common-agent/etc/config
-     sed -i 's|.*common-agent/etc/config/Makefile.*|\\|' configure.ac
-
      sed -i 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' Makefile.am
      sed -i 's,^confdir = ,confdir = ''${prefix},' scripts/Makefile.am
      sed -i 's,usr/bin,''${prefix}/usr/bin,' scripts/Makefile.am
      sed -i 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' services/vmtoolsd/Makefile.am
      sed -i 's,$(PAM_PREFIX),''${prefix}/$(PAM_PREFIX),' services/vmtoolsd/Makefile.am
-     sed -i 's,$(UDEVRULESDIR),''${prefix}/$(UDEVRULESDIR),' udev/Makefile.am
 
      # Avoid a glibc >= 2.25 deprecation warning that gets fatal via -Werror.
      sed 1i'#include <sys/sysmacros.h>' -i lib/wiper/wiperPosix.c
@@ -54,24 +39,28 @@ stdenv.mkDerivation rec {
      sed -i 's,/sbin/shutdown,shutdown,' lib/system/systemLinux.c
   '';
 
-  configureFlags = [ "--without-kernel-modules" "--without-xmlsecurity" ]
-    ++ lib.optional (!withX) "--without-x";
+  configureFlags = [
+    "--without-kernel-modules"
+    "--without-xmlsecurity"
+    "--with-udev-rules-dir=${placeholder "out"}/lib/udev/rules.d"
+  ] ++ lib.optional (!withX) "--without-x";
 
   enableParallelBuilding = true;
 
   NIX_CFLAGS_COMPILE = builtins.toString [
-    # igrone glib-2.62 deprecations
-    # Drop in next stable release.
-    "-DGLIB_DISABLE_DEPRECATION_WARNINGS"
-
     # fix build with gcc9
     "-Wno-error=address-of-packed-member"
     "-Wno-error=format-overflow"
   ];
 
+  preConfigure = ''
+    mkdir -p ${placeholder "out"}/lib/udev/rules.d
+  '';
+
   postInstall = ''
     wrapProgram "$out/etc/vmware-tools/scripts/vmware/network" \
       --prefix PATH ':' "${lib.makeBinPath [ iproute2 dbus systemd which ]}"
+    substituteInPlace "$out/lib/udev/rules.d/99-vmware-scsi-udev.rules" --replace "/bin/sh" "${bash}/bin/sh"
   '';
 
   meta = with lib; {
@@ -82,7 +71,7 @@ stdenv.mkDerivation rec {
       better management of, and seamless user interactions with, guests.
     '';
     license = licenses.gpl2;
-    platforms =  [ "x86_64-linux" "i686-linux" ];
+    platforms =  [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ joamaki ];
   };
 }
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 10a6d726aef..e604cb25920 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -17,19 +17,15 @@
 
 buildGoModule rec {
   pname = "podman";
-  version = "3.1.2";
+  version = "3.2.3";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    sha256 = "sha256-PS41e7myv5xCSJIeT+SRj4rLVCXpthq7KeHisYoSiOE=";
+    sha256 = "sha256-P8/4jehfcjM+r/pwW6fxrwquMVUqXxvvTur7Tesjmnc=";
   };
 
-  patches = [
-    ./remove-unconfigured-runtime-warn.patch
-  ];
-
   vendorSha256 = null;
 
   doCheck = false;
@@ -61,18 +57,16 @@ buildGoModule rec {
   installPhase = ''
     runHook preInstall
   '' + lib.optionalString stdenv.isDarwin ''
-    mv bin/{podman-remote,podman}
+    mv bin/{darwin/podman,podman}
   '' + ''
     install -Dm555 bin/podman $out/bin/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 cni/87-podman-bridge.conflist -t $out/etc/cni/net.d
     install -Dm644 contrib/tmpfile/podman.conf -t $out/lib/tmpfiles.d
     install -Dm644 contrib/systemd/system/podman.{socket,service} -t $out/lib/systemd/system
-  '' + ''
     runHook postInstall
   '';
 
diff --git a/pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch b/pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch
deleted file mode 100644
index 8530cd93cdf..00000000000
--- a/pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-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 c9ec18593df..820e8ad18bc 100644
--- a/pkgs/applications/virtualization/podman/wrapper.nix
+++ b/pkgs/applications/virtualization/podman/wrapper.nix
@@ -2,6 +2,7 @@
 , runCommand
 , makeWrapper
 , lib
+, stdenv
 , extraPackages ? []
 , podman # Docker compat
 , runc # Default container runtime
@@ -13,12 +14,14 @@
 , cni-plugins # not added to path
 , iptables
 , iproute2
+, qemu
+, xz
 }:
 
 let
   podman = podman-unwrapped;
 
-  binPath = lib.makeBinPath ([
+  binPath = lib.makeBinPath ([ ] ++ lib.optionals stdenv.isLinux [
     runc
     crun
     conmon
@@ -27,6 +30,9 @@ let
     util-linux
     iptables
     iproute2
+  ] ++ lib.optionals stdenv.isDarwin [
+    qemu
+    xz
   ] ++ extraPackages);
 
 in runCommand podman.name {
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 7fd01a8ffa9..df0e54798c5 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -114,6 +114,18 @@ stdenv.mkDerivation rec {
     # This means `-accel hvf` is broken for now, on aarch64-darwin only.
     substituteInPlace meson.build \
       --replace 'if exe_sign' 'if false'
+
+    # glibc 2.33 compat fix: if `has_statx = true` is set, `tools/virtiofsd/passthrough_ll.c` will
+    # rely on `stx_mnt_id`[1] which is not part of glibc's `statx`-struct definition.
+    #
+    # `has_statx` will be set to `true` if a simple C program which uses a few `statx`
+    # consts & struct fields successfully compiles. It seems as this only builds on glibc-2.33
+    # since most likely[2] and because of that, the problematic code-path will be used.
+    #
+    # [1] https://github.com/torvalds/linux/commit/fa2fcf4f1df1559a0a4ee0f46915b496cc2ebf60#diff-64bab5a0a3fcb55e1a6ad77b1dfab89d2c9c71a770a07ecf44e6b82aae76a03a
+    # [2] https://sourceware.org/git/?p=glibc.git;a=blobdiff;f=io/bits/statx-generic.h;h=c34697e3c1fd79cddd60db294302e461ed8db6e2;hp=7a09e94be2abb92d2df612090c132e686a24d764;hb=88a2cf6c4bab6e94a65e9c0db8813709372e9180;hpb=c4e4b2e149705559d28b16a9b47ba2f6142d6a6c
+    substituteInPlace meson.build \
+      --replace 'has_statx = cc.links(statx_test)' 'has_statx = false'
   '';
 
   preConfigure = ''
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index 795971a7492..2e024c20f41 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -1,6 +1,6 @@
 { lib
 , fetchFromGitHub
-, buildGoPackage
+, buildGoModule
 , go-md2man
 , installShellFiles
 , pkg-config
@@ -14,18 +14,18 @@
 , nixosTests
 }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "runc";
-  version = "1.0.0-rc95";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "runc";
     rev = "v${version}";
-    sha256 = "sha256-q4sXcvJO9gyo7m0vlaMrwh7ZZHYa58FJy3GatWndS6M=";
+    sha256 = "sha256-xd46HlZenTNCzmnCGN3x7Ah8pPLwbG9LSMGmiPIPyv0=";
   };
 
-  goPackagePath = "github.com/opencontainers/runc";
+  vendorSha256 = null;
   outputs = [ "out" "man" ];
 
   nativeBuildInputs = [ go-md2man installShellFiles makeWrapper pkg-config which ];
@@ -36,7 +36,6 @@ buildGoPackage rec {
 
   buildPhase = ''
     runHook preBuild
-    cd go/src/${goPackagePath}
     patchShebangs .
     make ${toString makeFlags} runc man
     runHook postBuild
diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix
index 2610e1f0fc6..bf3285a78ea 100644
--- a/pkgs/applications/virtualization/singularity/default.nix
+++ b/pkgs/applications/virtualization/singularity/default.nix
@@ -15,11 +15,11 @@ with lib;
 
 buildGoPackage rec {
   pname = "singularity";
-  version = "3.7.4";
+  version = "3.8.0";
 
   src = fetchurl {
     url = "https://github.com/hpcng/singularity/releases/download/v${version}/singularity-${version}.tar.gz";
-    sha256 = "sha256-wmY2movydH9E4HWYWMP8OyMluXWogYsmaPC5exJNAWQ=";
+    sha256 = "sha256-6WCLDgqMgFIYu+eV6RdkhIN7L3/LleVGm4U7OAmiQS4=";
   };
 
   goPackagePath = "github.com/sylabs/singularity";
diff --git a/pkgs/applications/virtualization/tini/default.nix b/pkgs/applications/virtualization/tini/default.nix
index dd7bcb19978..76668301c6b 100644
--- a/pkgs/applications/virtualization/tini/default.nix
+++ b/pkgs/applications/virtualization/tini/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, glibc }:
+{ lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   version = "0.19.0";
@@ -11,12 +11,11 @@ stdenv.mkDerivation rec {
     sha256 ="1hnnvjydg7gi5gx6nibjjdnfipblh84qcpajc08nvr44rkzswck4";
   };
 
-  patchPhase = "sed -i /tini-static/d CMakeLists.txt";
+  postPatch = "sed -i /tini-static/d CMakeLists.txt";
 
   NIX_CFLAGS_COMPILE = "-DPR_SET_CHILD_SUBREAPER=36 -DPR_GET_CHILD_SUBREAPER=37";
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ glibc glibc.static ];
 
   meta = with lib; {
     description = "A tiny but valid init for containers";
diff --git a/pkgs/applications/virtualization/xhyve/default.nix b/pkgs/applications/virtualization/xhyve/default.nix
index db9a7ef8257..f093e94696c 100644
--- a/pkgs/applications/virtualization/xhyve/default.nix
+++ b/pkgs/applications/virtualization/xhyve/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xhyve";
-  version = "20191001";
+  version = "20210203";
 
   src = fetchFromGitHub {
     owner = "machyve";
     repo = "xhyve";
-    rev = "1f46a3d0bbeb6c90883f302425844fcc3800a776";
-    sha256 = "0mm9xa0v6n7xl2qypnppq5abdncd31vffiklrhcrlni5ymyh9ia5";
+    rev = "83516a009c692ea5d2993d1071e68d05d359b11e";
+    sha256 = "1pjdg4ppy6qh3vr1ls5zyw3jzcvwny9wydnmfpadwij1hvns7lj3";
   };
 
   buildInputs = [ Hypervisor vmnet xpc libobjc zlib ];
diff --git a/pkgs/applications/window-managers/afterstep/default.nix b/pkgs/applications/window-managers/afterstep/default.nix
index fbb4a7a5e49..ec7d3ae5004 100644
--- a/pkgs/applications/window-managers/afterstep/default.nix
+++ b/pkgs/applications/window-managers/afterstep/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, pkg-config
-, libjpeg, libtiff, libpng, freetype
+, libtiff
 , fltk, gtk
-, libX11, libXext, libICE
+, libICE, libSM
 , dbus
 , fetchpatch
 }:
@@ -24,8 +24,16 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  postPatch = ''
+    # Causes fatal ldconfig cache generation attempt on non-NixOS Linux
+    for mkfile in autoconf/Makefile.common.lib.in libAfter{Base,Image}/Makefile.in; do
+      substituteInPlace $mkfile \
+        --replace 'test -w /etc' 'false'
+    done
+  '';
+
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libjpeg libtiff libpng freetype fltk gtk libX11 libXext libICE dbus dbus ];
+  buildInputs = [ libtiff fltk gtk libICE libSM dbus ];
 
   # A strange type of bug: dbus is not immediately found by pkg-config
   preConfigure = ''
diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix
index c07c3389e3c..e7c0eecbf82 100644
--- a/pkgs/applications/window-managers/bspwm/default.nix
+++ b/pkgs/applications/window-managers/bspwm/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A tiling window manager based on binary space partitioning";
     homepage = "https://github.com/baskerville/bspwm";
-    maintainers = with maintainers; [ meisternu epitrochoid rvolosatovs ];
+    maintainers = with maintainers; [ meisternu epitrochoid ];
     license = licenses.bsd2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix
index 1632ae027c0..963f8676883 100644
--- a/pkgs/applications/window-managers/cage/default.nix
+++ b/pkgs/applications/window-managers/cage/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub
-, meson, ninja, pkg-config, wayland, scdoc, makeWrapper
-, wlroots, wayland-protocols, pixman, libxkbcommon
+, meson, ninja, pkg-config, wayland-scanner, scdoc, makeWrapper
+, wlroots, wayland, wayland-protocols, pixman, libxkbcommon
 , systemd, libGL, libX11, mesa
 , xwayland ? null
 , nixosTests
@@ -8,16 +8,16 @@
 
 stdenv.mkDerivation rec {
   pname = "cage";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "Hjdskes";
     repo = "cage";
     rev = "v${version}";
-    sha256 = "0ixl45g0m8b75gvbjm3gf5qg0yplspgs0xpm2619wn5sygc47sb1";
+    sha256 = "0vm96gxinhy48m3x9p1sfldyd03w3gk6iflb7n9kn06j1vqyswr6";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland scdoc makeWrapper ];
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner scdoc makeWrapper ];
 
   buildInputs = [
     wlroots wayland wayland-protocols pixman libxkbcommon
diff --git a/pkgs/applications/window-managers/cage/wlroots-0_14.patch b/pkgs/applications/window-managers/cage/wlroots-0_14.patch
new file mode 100644
index 00000000000..2e56835f4fc
--- /dev/null
+++ b/pkgs/applications/window-managers/cage/wlroots-0_14.patch
@@ -0,0 +1,36 @@
+From 9a4523d47efeafd674d419169fe161e5a3b31cb3 Mon Sep 17 00:00:00 2001
+From: Jan Beich <jbeich@FreeBSD.org>
+Date: Thu, 3 Jun 2021 17:53:11 +0000
+Subject: [PATCH 1/3] view: chase swaywm/wlroots@9e58301df7f0
+
+view.c:238:52: error: no member named 'subsurfaces' in 'struct wlr_surface'
+        wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces, parent_link) {
+                                       ~~~~~~~~~~~~~~~~~  ^
+/usr/include/wayland-util.h:443:30: note: expanded from macro 'wl_list_for_each'
+        for (pos = wl_container_of((head)->next, pos, member);  \
+                                    ^~~~
+/usr/include/wayland-util.h:409:32: note: expanded from macro 'wl_container_of'
+        (__typeof__(sample))((char *)(ptr) -                            \
+                                      ^~~
+
+Based on https://github.com/swaywm/sway/commit/3162766eef14
+---
+ view.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/view.c b/view.c
+index b9ba9c2..3f3b0ed 100644
+--- a/view.c
++++ b/view.c
+@@ -235,7 +235,10 @@ view_map(struct cg_view *view, struct wlr_surface *surface)
+ 	view->wlr_surface = surface;
+ 
+ 	struct wlr_subsurface *subsurface;
+-	wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces, parent_link) {
++	wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces_below, parent_link) {
++		subsurface_create(view, subsurface);
++	}
++	wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces_above, parent_link) {
+ 		subsurface_create(view, subsurface);
+ 	}
+ 
diff --git a/pkgs/applications/window-managers/cagebreak/default.nix b/pkgs/applications/window-managers/cagebreak/default.nix
index d88bc0cdbdf..d3da358b639 100644
--- a/pkgs/applications/window-managers/cagebreak/default.nix
+++ b/pkgs/applications/window-managers/cagebreak/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , cairo
 , fontconfig
 , libxkbcommon
@@ -31,6 +32,15 @@ stdenv.mkDerivation rec {
     hash = "sha256-1IztedN5/I/4TDKHLJ26fSrDsvJ5QAr+cbzS2PQITDE=";
   };
 
+  patches = [
+    # To fix the build with wlroots 0.14.0:
+    (fetchpatch {
+      # Add fixes for wlroots 0.14.0
+      url = "https://github.com/project-repo/cagebreak/commit/d57869d43add58331386fc8e89c14bb2b74afe17.patch";
+      sha256 = "0g6sl8y4kk0bm5x6pxqbxw2j0gyg3ybr2v9m70q2pxp70kms4lqg";
+    })
+  ];
+
   nativeBuildInputs = [
     makeWrapper
     meson
diff --git a/pkgs/applications/window-managers/dwm/default.nix b/pkgs/applications/window-managers/dwm/default.nix
index 088581b6701..6235c93a281 100644
--- a/pkgs/applications/window-managers/dwm/default.nix
+++ b/pkgs/applications/window-managers/dwm/default.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
     in
     lib.optionalString (conf != null) "cp ${configFile} config.def.h";
 
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
   meta = with lib; {
     homepage = "https://dwm.suckless.org/";
     description = "An extremely fast, small, and dynamic window manager for X";
diff --git a/pkgs/applications/window-managers/hikari/default.nix b/pkgs/applications/window-managers/hikari/default.nix
index 23c7d9f680f..a9545757d79 100644
--- a/pkgs/applications/window-managers/hikari/default.nix
+++ b/pkgs/applications/window-managers/hikari/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchzip,
+{ lib, stdenv, fetchzip, fetchpatch,
   pkg-config, bmake,
   cairo, glib, libevdev, libinput, libxkbcommon, linux-pam, pango, pixman,
   libucl, wayland, wayland-protocols, wlroots, mesa,
@@ -12,7 +12,7 @@
 
 let
   pname = "hikari";
-  version = "2.3.0";
+  version = "2.3.1";
 in
 
 stdenv.mkDerivation {
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   src = fetchzip {
     url = "https://hikari.acmelabs.space/releases/${pname}-${version}.tar.gz";
-    sha256 = "0vxwma2r9mb2h0c3dkpvf8dbrc2x2ykhc5bb0vd72sl9pwj4jxmy";
+    sha256 = "sha256-o6YsUATcWHSuAEfU7WnwxKNxRNuBt069qCv0FKDWStg=";
   };
 
   nativeBuildInputs = [ pkg-config bmake ];
diff --git a/pkgs/applications/window-managers/i3/balance-workspace.nix b/pkgs/applications/window-managers/i3/balance-workspace.nix
index 335b18d3eb8..4647f0a0721 100644
--- a/pkgs/applications/window-managers/i3/balance-workspace.nix
+++ b/pkgs/applications/window-managers/i3/balance-workspace.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "i3-balance-workspace";
-  version = "1.8.4";
+  version = "1.8.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bb220eb373e290312b0aafe3d7b1cc1cca34c93189a4fca5bee93ef39aafbe3d";
+    sha256 = "7b5d72b756f79878a058484825bb343b100433e00a01f80c9c6d1ccc9f4af57a";
   };
 
   propagatedBuildInputs = [ i3ipc ];
diff --git a/pkgs/applications/window-managers/i3/lock-color.nix b/pkgs/applications/window-managers/i3/lock-color.nix
index 4182c8689ed..63a49953115 100644
--- a/pkgs/applications/window-managers/i3/lock-color.nix
+++ b/pkgs/applications/window-managers/i3/lock-color.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.13.c.3";
+  version = "2.13.c.4";
   pname = "i3lock-color";
 
   src = fetchFromGitHub {
     owner = "PandorasFox";
     repo = "i3lock-color";
     rev = version;
-    sha256 = "0spldmis8fvnclwwi9xvnq2rq3hmpbiv3ck5p9pjf40ismvsi16k";
+    sha256 = "sha256-bbjkvgSKD57sdOtPYGLAKpQoIsJnF6s6ySq4dTWC3tI=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index 043c9f44bcf..fe0cde61c6f 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.20.1";
+  version = "0.20.2";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "00gzm3g297s9bfp13vnb623p7dfac3g6cdhz2b3lc6l0kmnnqs1s";
+    sha256 = "sha256-9PXvQrh0gmn/G+b7sbQffQkPnUKu1eVrvUoJlRBsOEM=";
   };
 
-  cargoSha256 = "1dpklyv1b9h4n4k3ar5qbzivds8r4mml76986ic8zj71fy5fxn08";
+  cargoSha256 = "sha256-6orDR2Ml1Fy20uT47EDkEk0rGFxO0djHZsFiqlS1Tk8=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
diff --git a/pkgs/applications/window-managers/i3/workstyle.nix b/pkgs/applications/window-managers/i3/workstyle.nix
index b245139abef..3f7c252c2c3 100644
--- a/pkgs/applications/window-managers/i3/workstyle.nix
+++ b/pkgs/applications/window-managers/i3/workstyle.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "workstyle";
-  version = "0.2.1";
+  version = "unstable-2021-05-09";
 
   src = fetchFromGitHub {
     owner = "pierrechevalier83";
     repo = pname;
-    rev = "43b0b5bc0a66d40289ff26b8317f50510df0c5f9";
-    sha256 = "0f4hwf236823qmqy31fczjb1hf3fvvac3x79jz2l7li55r6fd8hn";
+    rev = "f2023750d802259ab3ee7d7d1762631ec157a0b1";
+    sha256 = "04xds691sw4pi2nq8xvdhn0312wwia60gkd8b1bjqy11zrqbivbx";
   };
 
-  cargoSha256 = "1hy68wvsxncsy4yx4biigfvwyq18c7yp1g543c6nca15cdzs1c54";
+  cargoSha256 = "0xwv8spr96z4aimjlr15bhwl6i3zqp7jr45d9zr3sbi9d8dbdja2";
 
   doCheck = false; # No tests
 
diff --git a/pkgs/applications/window-managers/labwc/default.nix b/pkgs/applications/window-managers/labwc/default.nix
index c82eb76f6bf..afa391e09d8 100644
--- a/pkgs/applications/window-managers/labwc/default.nix
+++ b/pkgs/applications/window-managers/labwc/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -21,15 +22,29 @@
 
 stdenv.mkDerivation rec {
   pname = "labwc";
-  version = "unstable-2021-03-15";
+  version = "0.2.1"; # We're effectively using that version
 
   src = fetchFromGitHub {
     owner = "johanmalm";
     repo = pname;
-    rev = "fddeb74527e5b860d9c1a91a237d390041c758b6";
-    sha256 = "0rhniv5j4bypqxxj0nbpa3hclmn8znal9rldv0mrgbizn3wsbs54";
+    rev = "6744e103014bcb0480133a029ec0f82f9b017e60";
+    sha256 = "0sdr4zkix8x3vmna4i946y3whpj7fqizpaac6yj7w0as9d6hj0iq";
   };
 
+  patches = [
+    # To fix the build with wlroots 0.14:
+    (fetchpatch {
+      # output: access texture width/height directly
+      url = "https://github.com/johanmalm/labwc/commit/892e93dd84c514b4e6f34a0fab01c727edd2d8de.patch";
+      sha256 = "1p1pg1kd98727wlcspa2sffl7ijhvsfad6bj2rxsw322q0bz3yrh";
+    })
+    (fetchpatch {
+      # xdg: chase swaywm/wlroots@9e58301
+      url = "https://github.com/johanmalm/labwc/commit/874cc9e63706dd54d9f9fcb071f2d2e0c19d3d7e.patch";
+      sha256 = "0ypd47q5ffq4wjkrcr3068qjknn2s66zszyxg3dl0f87q2pxh6wx";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config meson ninja scdoc ];
   buildInputs = [
     cairo
diff --git a/pkgs/applications/window-managers/leftwm/default.nix b/pkgs/applications/window-managers/leftwm/default.nix
index f4b72197f54..e8330ee2936 100644
--- a/pkgs/applications/window-managers/leftwm/default.nix
+++ b/pkgs/applications/window-managers/leftwm/default.nix
@@ -1,31 +1,32 @@
-{ lib, fetchFromGitHub, rustPlatform, libX11, libXinerama, makeWrapper }:
+{ lib, fetchFromGitHub, rustPlatform, libX11, libXinerama }:
 
 let
-    rpath = lib.makeLibraryPath [ libXinerama libX11 ];
+  rpathLibs = [ libXinerama libX11 ];
 in
 
 rustPlatform.buildRustPackage rec {
   pname = "leftwm";
-  version = "0.2.7";
+  version = "0.2.8";
 
   src = fetchFromGitHub {
     owner = "leftwm";
     repo = "leftwm";
     rev = version;
-    sha256 = "sha256-nRPt+Tyfq62o+3KjsXkHQHUMMslHFGNBd3s2pTb7l4w=";
+    sha256 = "sha256-T4A9NGT6sUSTKmLcAWjcp3Y8QQzZFAVSXevXtGm3szY=";
   };
 
-  cargoSha256 = "sha256-lmzA7XM8B5QJI4Wo0cKeMR3+np6jT6mdGzTry4g87ng=";
+  cargoSha256 = "sha256-2prRtdBxpYc2xI/bLZNlqs3mxESfO9GhNUSlKFF//eE=";
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ libX11 libXinerama ];
+  buildInputs = rpathLibs;
 
   postInstall = ''
-    wrapProgram $out/bin/leftwm --prefix LD_LIBRARY_PATH : "${rpath}"
-    wrapProgram $out/bin/leftwm-state --prefix LD_LIBRARY_PATH : "${rpath}"
-    wrapProgram $out/bin/leftwm-worker --prefix LD_LIBRARY_PATH : "${rpath}"
+    for p in $out/bin/leftwm*; do
+      patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}" $p
+    done
   '';
 
+  dontPatchELF = true;
+
   meta = with lib; {
     description = "A tiling window manager for the adventurer";
     homepage = "https://github.com/leftwm/leftwm";
diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix
index 5e3392b2002..093b6d1884c 100644
--- a/pkgs/applications/window-managers/openbox/default.nix
+++ b/pkgs/applications/window-managers/openbox/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     # Use fetchurl to avoid "fetchpatch: ignores file renames" #32084
     # This patch adds python3 support
     (fetchurl {
-      url = "https://git.archlinux.org/svntogit/community.git/plain/openbox/trunk/py3.patch?id=90cb57ef53d952bb6ab4c33a184f815bbe1791c0";
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/90cb57ef53d952bb6ab4c33a184f815bbe1791c0/openbox/trunk/py3.patch";
       sha256 = "1ks99awlkhd5ph9kz94s1r6m1bfvh42g4rmxd14dyg5b421p1ljc";
     })
   ];
diff --git a/pkgs/applications/window-managers/phosh/default.nix b/pkgs/applications/window-managers/phosh/default.nix
index 64677c8505f..9fa0959ed50 100644
--- a/pkgs/applications/window-managers/phosh/default.nix
+++ b/pkgs/applications/window-managers/phosh/default.nix
@@ -35,36 +35,16 @@ let
     rev = "ae1a34aafce7026b8c0f65a43c9192d756fe1057";
     sha256 = "0a4qh5pgyjki904qf7qmvqz2ksxb0p8xhgl2aixfbhixn0pw6saw";
   };
-
-  executable = writeText "phosh" ''
-    PHOC_INI=@out@/share/phosh/phoc.ini
-    GNOME_SESSION_ARGS="--disable-acceleration-check --session=phosh --debug"
-
-    if [ -f /etc/phosh/phoc.ini ]; then
-      PHOC_INI=/etc/phosh/phoc.ini
-    elif  [ -f /etc/phosh/rootston.ini ]; then
-      # honor old configs
-      PHOC_INI=/etc/phosh/rootston.ini
-    fi
-
-    # Run gnome-session through a login shell so it picks
-    # variables from /etc/profile.d (XDG_*)
-    [ -n "$WLR_BACKENDS" ] || WLR_BACKENDS=drm,libinput
-    export WLR_BACKENDS
-    exec "${phoc}/bin/phoc" -C "$PHOC_INI" \
-      -E "bash -lc 'XDG_DATA_DIRS=$XDG_DATA_DIRS:\$XDG_DATA_DIRS ${gnome.gnome-session}/bin/gnome-session $GNOME_SESSION_ARGS'"
-  '';
-
 in stdenv.mkDerivation rec {
   pname = "phosh";
-  version = "0.10.2";
+  version = "0.12.0";
 
   src = fetchFromGitLab {
     domain = "source.puri.sm";
     owner = "Librem5";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07i8wpzl7311dcf9s57s96qh1v672c75wv6cllrxx7fsmpf8fhx4";
+    sha256 = "1s0lgq04qz562iri535wpwvfkmmngdpclyl329cf7rc9ihy1kjvs";
   };
 
   nativeBuildInputs = [
@@ -104,6 +84,8 @@ in stdenv.mkDerivation rec {
   # Temporarily disabled - Test is broken (SIGABRT)
   doCheck = false;
 
+  mesonFlags = [ "-Dsystemd=true" "-Dcompositor=${phoc}/bin/phoc" ];
+
   postUnpack = ''
     rmdir $sourceRoot/subprojects/gvc
     ln -s ${gvc} $sourceRoot/subprojects/gvc
@@ -123,15 +105,11 @@ in stdenv.mkDerivation rec {
     runHook postCheck
   '';
 
-  # Replace the launcher script with ours
-  postInstall = ''
-    substituteAll ${executable} $out/bin/phosh
-  '';
-
   # Depends on GSettings schemas in gnome-shell
   preFixup = ''
     gappsWrapperArgs+=(
       --prefix XDG_DATA_DIRS : "${gnome.gnome-shell}/share/gsettings-schemas/${gnome.gnome-shell.name}"
+      --set GNOME_SESSION "${gnome.gnome-session}/bin/gnome-session"
     )
   '';
 
diff --git a/pkgs/applications/window-managers/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix
index ba7228f5b96..08b3a9834b6 100644
--- a/pkgs/applications/window-managers/qtile/default.nix
+++ b/pkgs/applications/window-managers/qtile/default.nix
@@ -39,7 +39,7 @@ python37Packages.buildPythonApplication rec {
     cairocffi-xcffib
     setuptools
     setuptools-scm
-    dateutil
+    python-dateutil
     dbus-python
     mpd2
     psutil
diff --git a/pkgs/applications/window-managers/river/default.nix b/pkgs/applications/window-managers/river/default.nix
index 6fbcf1b2870..317c08c5d89 100644
--- a/pkgs/applications/window-managers/river/default.nix
+++ b/pkgs/applications/window-managers/river/default.nix
@@ -12,19 +12,20 @@
 , pixman
 , udev
 , libevdev
+, libinput
 , libX11
 , libGL
 }:
 
 stdenv.mkDerivation rec {
   pname = "river";
-  version = "unstable-2021-06-06";
+  version = "unstable-2021-06-27";
 
   src = fetchFromGitHub {
     owner = "ifreund";
     repo = pname;
-    rev = "0e9dc089d14e2b5c923d483c62d342af29493cf0";
-    sha256 = "sha256-2rIZYr9Y+IBrox5MVrPpHeI8OVSXHsMZmcCagsX56lU=";
+    rev = "39578db1344ca298f2bb2fe2278a35108d5f2b66";
+    sha256 = "sha256-DQroN+FV7sq0PyczERZgnW73YKAVvj2JJQjfzidlBI8=";
     fetchSubmodules = true;
   };
 
@@ -38,6 +39,7 @@ stdenv.mkDerivation rec {
     pixman
     udev
     libevdev
+    libinput
     libX11
     libGL
   ];
diff --git a/pkgs/applications/window-managers/sway/bg.nix b/pkgs/applications/window-managers/sway/bg.nix
index 57b81c7831c..c2740530791 100644
--- a/pkgs/applications/window-managers/sway/bg.nix
+++ b/pkgs/applications/window-managers/sway/bg.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchFromGitHub
 , meson, ninja, pkg-config, scdoc
 , wayland, wayland-protocols, cairo, gdk-pixbuf
+, wayland-scanner
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "1lmqz5bmig90gq2m7lwf02d2g7z4hzf8fhqz78c8vk92c6p4xwbc";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config scdoc ];
+  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols cairo gdk-pixbuf ];
 
   mesonFlags = [
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index 03abea94a2e..92de633f0fa 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, substituteAll, swaybg
-, meson, ninja, pkg-config, wayland, scdoc
-, libxkbcommon, pcre, json_c, dbus, libevdev
+, meson, ninja, pkg-config, wayland-scanner, scdoc
+, wayland, libxkbcommon, pcre, json_c, dbus, libevdev
 , pango, cairo, libinput, libcap, pam, gdk-pixbuf, librsvg
 , wlroots, wayland-protocols, libdrm
 , nixosTests
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sway-unwrapped";
-  version = "1.6";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "sway";
     rev = version;
-    sha256 = "0vnplva11yafhbijrk68wy7pw0psn9jm0caaymswq1s951xsn1c8";
+    sha256 = "0j4sdbsrlvky1agacc0pcz9bwmaxjmrapjnzscbd2i0cria2fc5j";
   };
 
   patches = [
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [
-    meson ninja pkg-config wayland scdoc
+    meson ninja pkg-config wayland-scanner scdoc
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/window-managers/sway/idle.nix b/pkgs/applications/window-managers/sway/idle.nix
index acfbb1ad36b..8c1ae0b3592 100644
--- a/pkgs/applications/window-managers/sway/idle.nix
+++ b/pkgs/applications/window-managers/sway/idle.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub
-, meson, ninja, pkg-config, scdoc
+, meson, ninja, pkg-config, scdoc, wayland-scanner
 , wayland, wayland-protocols, systemd
 }:
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
       --replace "version: '1.5'" "version: '${version}'"
   '';
 
-  nativeBuildInputs = [ meson ninja pkg-config scdoc ];
+  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols systemd ];
 
   mesonFlags = [ "-Dman-pages=enabled" "-Dlogind=enabled" ];
diff --git a/pkgs/applications/window-managers/sway/lock.nix b/pkgs/applications/window-managers/sway/lock.nix
index 9b1523421ee..6dccedad827 100644
--- a/pkgs/applications/window-managers/sway/lock.nix
+++ b/pkgs/applications/window-managers/sway/lock.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub
-, meson, ninja, pkg-config, scdoc
+, meson, ninja, pkg-config, scdoc, wayland-scanner
 , wayland, wayland-protocols, libxkbcommon, cairo, gdk-pixbuf, pam
 }:
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
       --replace "version: '1.4'" "version: '${version}'"
   '';
 
-  nativeBuildInputs = [ meson ninja pkg-config scdoc ];
+  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
 
   mesonFlags = [
diff --git a/pkgs/applications/window-managers/tinywl/default.nix b/pkgs/applications/window-managers/tinywl/default.nix
new file mode 100644
index 00000000000..965ec67b6e9
--- /dev/null
+++ b/pkgs/applications/window-managers/tinywl/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, wlroots, pkg-config, wayland-scanner
+, libxkbcommon, pixman, udev, wayland, wayland-protocols
+}:
+
+stdenv.mkDerivation {
+  pname = "tinywl";
+  inherit (wlroots) version src;
+
+  sourceRoot = "source/tinywl";
+
+  nativeBuildInputs = [ pkg-config wayland-scanner ];
+  buildInputs = [ libxkbcommon pixman udev wayland wayland-protocols wlroots ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp tinywl $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/swaywm/wlroots/tree/master/tinywl";
+    description = ''A "minimum viable product" Wayland compositor based on wlroots'';
+    maintainers = with maintainers; [ qyliss ];
+    license = licenses.cc0;
+    inherit (wlroots.meta) platforms;
+  };
+}
diff --git a/pkgs/applications/window-managers/wayfire/default.nix b/pkgs/applications/window-managers/wayfire/default.nix
index 42b376a97f8..120ff6cf697 100644
--- a/pkgs/applications/window-managers/wayfire/default.nix
+++ b/pkgs/applications/window-managers/wayfire/default.nix
@@ -1,23 +1,26 @@
-{ stdenv, lib, fetchurl, meson, ninja, pkg-config, git
-, cairo, libdrm, libexecinfo, libinput, libjpeg, libxkbcommon, wayland
+{ lib, stdenv, fetchurl, cmake, meson, ninja, pkg-config
+, cairo, doctest, libdrm, libexecinfo, libinput, libjpeg, libxkbcommon, wayland
 , wayland-protocols, wf-config, wlroots, mesa
 }:
 
 stdenv.mkDerivation rec {
   pname = "wayfire";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchurl {
     url = "https://github.com/WayfireWM/wayfire/releases/download/v${version}/wayfire-${version}.tar.xz";
-    sha256 = "0wgvwbmdhn7gkdr2jl9jndgvl6w4x7ys8gmpj55gqh9b57wqhyaq";
+    sha256 = "1gasijjyfl00zpy6j9hh6qpwv0sw42h9irycbnm693j3vw9mcy66";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland ];
+  nativeBuildInputs = [ cmake meson ninja pkg-config wayland ];
   buildInputs = [
-    cairo libdrm libexecinfo libinput libjpeg libxkbcommon wayland
+    cairo doctest libdrm libexecinfo libinput libjpeg libxkbcommon wayland
     wayland-protocols wf-config wlroots mesa
   ];
 
+  # CMake is just used for finding doctest.
+  dontUseCmakeConfigure = true;
+
   mesonFlags = [ "--sysconfdir" "/etc" ];
 
   meta = with lib; {
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index 3a11444bcf4..598e78be264 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wayland
-, libGL, mesa, libxkbcommon, cairo, libxcb
+{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wayland-scanner
+, wayland, libGL, mesa, libxkbcommon, cairo, libxcb
 , libXcursor, xlibsWrapper, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput, libevdev
 , colord, lcms2, pipewire ? null
 , pango ? null, libunwind ? null, freerdp ? null, vaapi ? null, libva ? null
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sha256 = "1zlql0xgiqc3pvgbpnnvj4xvpd91pwva8qf83xfb23if377ddxaw";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland ];
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
   buildInputs = [
     wayland libGL mesa libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm
     mtdev libjpeg pam dbus libinput libevdev pango libunwind freerdp vaapi libva
diff --git a/pkgs/applications/window-managers/wio/default.nix b/pkgs/applications/window-managers/wio/default.nix
index 485fd0b8a62..03ec26f6fb8 100644
--- a/pkgs/applications/window-managers/wio/default.nix
+++ b/pkgs/applications/window-managers/wio/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wio";
-  version = "0.0.0+unstable=2021-06-01";
+  version = "0.0.0+unstable=2021-06-27";
 
   src = fetchFromBitbucket {
     owner = "anderson_torres";
     repo = pname;
-    rev = "ad57eb45ba0459cd0b16ba486cb6e01626079c29";
-    sha256 = "sha256-mCggAscQ+Ej3SNwhA6QxecV1nH6Rw8RDf8yAsbadqjE=";
+    rev = "e0b258777995055d69e61a0246a6a64985743f42";
+    sha256 = "sha256-8H9fOnZsNjjq9XvOv68F4RRglGNluxs5/jp/h4ROLiI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/wmii-hg/default.nix b/pkgs/applications/window-managers/wmii-hg/default.nix
index 0acad8edbe5..d0c35ab7cbb 100644
--- a/pkgs/applications/window-managers/wmii-hg/default.nix
+++ b/pkgs/applications/window-managers/wmii-hg/default.nix
@@ -41,7 +41,6 @@ stdenv.mkDerivation rec {
     description = "A small window manager controlled by a 9P filesystem";
     maintainers = with lib.maintainers; [ kovirobi ];
     license = lib.licenses.mit;
-    inherit version;
     platforms = with lib.platforms; linux;
   };
 }