about 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/contrast/default.nix4
-rw-r--r--pkgs/applications/audio/aacgain/default.nix4
-rw-r--r--pkgs/applications/audio/ardour/default.nix18
-rw-r--r--pkgs/applications/audio/asunder/default.nix4
-rw-r--r--pkgs/applications/audio/bambootracker/default.nix7
-rw-r--r--pkgs/applications/audio/bchoppr/default.nix2
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix8
-rw-r--r--pkgs/applications/audio/bsequencer/default.nix2
-rw-r--r--pkgs/applications/audio/bslizr/default.nix2
-rw-r--r--pkgs/applications/audio/cadence/default.nix2
-rw-r--r--pkgs/applications/audio/cantata/default.nix4
-rw-r--r--pkgs/applications/audio/cava/default.nix4
-rw-r--r--pkgs/applications/audio/clerk/default.nix4
-rw-r--r--pkgs/applications/audio/cozy-audiobooks/default.nix21
-rw-r--r--pkgs/applications/audio/csound/csound-qt/default.nix2
-rw-r--r--pkgs/applications/audio/drumkv1/default.nix4
-rw-r--r--pkgs/applications/audio/ecasound/default.nix2
-rw-r--r--pkgs/applications/audio/eflite/default.nix2
-rw-r--r--pkgs/applications/audio/faust/faust1.nix2
-rw-r--r--pkgs/applications/audio/faust/faust2.nix2
-rw-r--r--pkgs/applications/audio/faust/faust2jack.nix4
-rw-r--r--pkgs/applications/audio/faust/faust2jaqt.nix2
-rw-r--r--pkgs/applications/audio/faust/faustlive.nix2
-rw-r--r--pkgs/applications/audio/ft2-clone/default.nix8
-rw-r--r--pkgs/applications/audio/geonkick/default.nix20
-rw-r--r--pkgs/applications/audio/gnome-podcasts/default.nix4
-rw-r--r--pkgs/applications/audio/gspeech/default.nix2
-rw-r--r--pkgs/applications/audio/hybridreverb2/default.nix4
-rw-r--r--pkgs/applications/audio/jackmix/default.nix28
-rw-r--r--pkgs/applications/audio/jackmix/no_error.patch18
-rw-r--r--pkgs/applications/audio/jamulus/default.nix4
-rw-r--r--pkgs/applications/audio/littlegptracker/0002-Set-the-initial-directory-to-the-current-directory.patch27
-rw-r--r--pkgs/applications/audio/littlegptracker/default.nix9
-rw-r--r--pkgs/applications/audio/lollypop/default.nix6
-rw-r--r--pkgs/applications/audio/luppp/build-install.patch16
-rw-r--r--pkgs/applications/audio/luppp/default.nix21
-rw-r--r--pkgs/applications/audio/mamba/default.nix4
-rw-r--r--pkgs/applications/audio/mellowplayer/default.nix2
-rw-r--r--pkgs/applications/audio/midas/generic.nix4
-rw-r--r--pkgs/applications/audio/midas/m32edit.nix9
-rw-r--r--pkgs/applications/audio/midas/x32edit.nix9
-rw-r--r--pkgs/applications/audio/midi-visualizer/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/iris.nix2
-rw-r--r--pkgs/applications/audio/mopidy/local-images.nix32
-rw-r--r--pkgs/applications/audio/mopidy/local-sqlite.nix25
-rw-r--r--pkgs/applications/audio/mopidy/local.nix30
-rw-r--r--pkgs/applications/audio/mopidy/mopidy.nix21
-rw-r--r--pkgs/applications/audio/mopidy/musicbox-webclient.nix5
-rw-r--r--pkgs/applications/audio/mopidy/tunein.nix2
-rw-r--r--pkgs/applications/audio/muse/default.nix2
-rw-r--r--pkgs/applications/audio/musescore/darwin.nix3
-rw-r--r--pkgs/applications/audio/musescore/default.nix13
-rw-r--r--pkgs/applications/audio/musikcube/default.nix4
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix4
-rw-r--r--pkgs/applications/audio/ncpamixer/default.nix4
-rw-r--r--pkgs/applications/audio/ncspot/default.nix6
-rw-r--r--pkgs/applications/audio/noisetorch/config.patch13
-rw-r--r--pkgs/applications/audio/noisetorch/default.nix6
-rw-r--r--pkgs/applications/audio/nuclear/default.nix32
-rw-r--r--pkgs/applications/audio/ocenaudio/default.nix4
-rw-r--r--pkgs/applications/audio/openmpt123/default.nix4
-rw-r--r--pkgs/applications/audio/opustags/default.nix24
-rw-r--r--pkgs/applications/audio/orca-c/default.nix2
-rw-r--r--pkgs/applications/audio/padthv1/default.nix4
-rw-r--r--pkgs/applications/audio/pd-plugins/gem/default.nix18
-rw-r--r--pkgs/applications/audio/pianobooster/default.nix4
-rw-r--r--pkgs/applications/audio/picard/default.nix4
-rw-r--r--pkgs/applications/audio/picoloop/default.nix4
-rw-r--r--pkgs/applications/audio/plexamp/default.nix6
-rw-r--r--pkgs/applications/audio/projectm/default.nix4
-rw-r--r--pkgs/applications/audio/pt2-clone/default.nix8
-rw-r--r--pkgs/applications/audio/ptcollab/default.nix34
-rw-r--r--pkgs/applications/audio/puddletag/default.nix13
-rw-r--r--pkgs/applications/audio/pulseaudio-ctl/default.nix6
-rw-r--r--pkgs/applications/audio/pulseaudio-modules-bt/default.nix12
-rw-r--r--pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch2
-rw-r--r--pkgs/applications/audio/pulseeffects/default.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/qtractor/default.nix4
-rw-r--r--pkgs/applications/audio/samplv1/default.nix17
-rw-r--r--pkgs/applications/audio/sayonara/default.nix34
-rw-r--r--pkgs/applications/audio/shortwave/default.nix4
-rw-r--r--pkgs/applications/audio/spotify-cli-linux/default.nix29
-rw-r--r--pkgs/applications/audio/spotify/default.nix6
-rw-r--r--pkgs/applications/audio/spotifyd/default.nix2
-rw-r--r--pkgs/applications/audio/strawberry/default.nix8
-rw-r--r--pkgs/applications/audio/svox/default.nix33
-rw-r--r--pkgs/applications/audio/vmpk/default.nix17
-rw-r--r--pkgs/applications/audio/whipper/default.nix4
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix8
-rw-r--r--pkgs/applications/blockchains/bitcoin-abc.nix4
-rw-r--r--pkgs/applications/blockchains/bitcoin-classic.nix4
-rw-r--r--pkgs/applications/blockchains/bitcoin-knots.nix4
-rw-r--r--pkgs/applications/blockchains/bitcoin-unlimited.nix8
-rw-r--r--pkgs/applications/blockchains/bitcoin.nix4
-rw-r--r--pkgs/applications/blockchains/btc1.nix41
-rw-r--r--pkgs/applications/blockchains/clightning.nix4
-rw-r--r--pkgs/applications/blockchains/dashpay.nix4
-rw-r--r--pkgs/applications/blockchains/dogecoin.nix4
-rw-r--r--pkgs/applications/blockchains/ergo/default.nix4
-rw-r--r--pkgs/applications/blockchains/exodus/default.nix12
-rw-r--r--pkgs/applications/blockchains/freicoin.nix41
-rw-r--r--pkgs/applications/blockchains/go-ethereum.nix4
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix7
-rw-r--r--pkgs/applications/blockchains/litecoin.nix4
-rw-r--r--pkgs/applications/blockchains/monero-gui/default.nix22
-rw-r--r--pkgs/applications/blockchains/monero/default.nix11
-rw-r--r--pkgs/applications/blockchains/namecoin.nix2
-rw-r--r--pkgs/applications/blockchains/openethereum/default.nix16
-rw-r--r--pkgs/applications/blockchains/openethereum/lock.patch20
-rw-r--r--pkgs/applications/blockchains/pivx.nix6
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix42
-rw-r--r--pkgs/applications/blockchains/quorum.nix8
-rw-r--r--pkgs/applications/blockchains/sumokoin.nix2
-rw-r--r--pkgs/applications/blockchains/turbo-geth.nix29
-rw-r--r--pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--pkgs/applications/blockchains/zcash/default.nix4
-rw-r--r--pkgs/applications/display-managers/sddm/default.nix4
-rw-r--r--pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch14
-rw-r--r--pkgs/applications/editors/android-studio/default.nix12
-rw-r--r--pkgs/applications/editors/bluefish/default.nix4
-rw-r--r--pkgs/applications/editors/code-browser/default.nix2
-rw-r--r--pkgs/applications/editors/cudatext/default.nix8
-rw-r--r--pkgs/applications/editors/cudatext/deps.json35
-rw-r--r--pkgs/applications/editors/cudatext/dont-check-update.patch4
-rw-r--r--pkgs/applications/editors/eclipse/build-eclipse.nix5
-rw-r--r--pkgs/applications/editors/eclipse/default.nix21
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix12
-rw-r--r--pkgs/applications/editors/edbrowse/default.nix4
-rw-r--r--pkgs/applications/editors/elvis/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/prolog/default.nix8
-rw-r--r--pkgs/applications/editors/emacs/generic.nix7
-rw-r--r--pkgs/applications/editors/emacs/site-start.el5
-rw-r--r--pkgs/applications/editors/geany/default.nix4
-rw-r--r--pkgs/applications/editors/glow/default.nix8
-rw-r--r--pkgs/applications/editors/gnome-builder/default.nix4
-rw-r--r--pkgs/applications/editors/gnome-latex/default.nix4
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix44
-rw-r--r--pkgs/applications/editors/kakoune/default.nix9
-rw-r--r--pkgs/applications/editors/kakoune/plugins/case.kak.nix2
-rw-r--r--pkgs/applications/editors/kakoune/plugins/default.nix4
-rw-r--r--pkgs/applications/editors/kakoune/plugins/kak-prelude.nix2
-rw-r--r--pkgs/applications/editors/kakoune/wrapper.nix61
-rw-r--r--pkgs/applications/editors/kakoune/wrapper.sh30
-rw-r--r--pkgs/applications/editors/kibi/default.nix6
-rw-r--r--pkgs/applications/editors/kile/default.nix15
-rw-r--r--pkgs/applications/editors/leo-editor/default.nix2
-rw-r--r--pkgs/applications/editors/lite/default.nix2
-rw-r--r--pkgs/applications/editors/marker/default.nix49
-rw-r--r--pkgs/applications/editors/micro/default.nix25
-rw-r--r--pkgs/applications/editors/micro/deps.nix345
-rw-r--r--pkgs/applications/editors/nano/default.nix45
-rw-r--r--pkgs/applications/editors/nano/nanorc/default.nix43
-rw-r--r--pkgs/applications/editors/neovim/gnvim/wrapper.nix4
-rw-r--r--pkgs/applications/editors/neovim/utils.nix160
-rw-r--r--pkgs/applications/editors/neovim/wrapper.nix132
-rw-r--r--pkgs/applications/editors/quilter/default.nix4
-rw-r--r--pkgs/applications/editors/qxmledit/qxmledit.json2
-rw-r--r--pkgs/applications/editors/rednotebook/default.nix4
-rw-r--r--pkgs/applications/editors/sigil/default.nix8
-rw-r--r--pkgs/applications/editors/texmacs/default.nix51
-rw-r--r--pkgs/applications/editors/textadept/10/default.nix (renamed from pkgs/applications/editors/textadept/default.nix)16
-rw-r--r--pkgs/applications/editors/textadept/10/deps.nix (renamed from pkgs/applications/editors/textadept/deps.nix)24
-rw-r--r--pkgs/applications/editors/textadept/11/default.nix53
-rw-r--r--pkgs/applications/editors/textadept/11/deps.nix50
-rw-r--r--pkgs/applications/editors/thonny/default.nix4
-rw-r--r--pkgs/applications/editors/tiled/default.nix4
-rw-r--r--pkgs/applications/editors/uemacs/default.nix38
-rw-r--r--pkgs/applications/editors/vim/configurable.nix15
-rw-r--r--pkgs/applications/editors/vim/macvim.nix13
-rw-r--r--pkgs/applications/editors/vscode/generic.nix2
-rwxr-xr-xpkgs/applications/editors/vscode/update-vscode.sh5
-rwxr-xr-xpkgs/applications/editors/vscode/update-vscodium.sh5
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix6
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix6
-rw-r--r--pkgs/applications/gis/qgis/unwrapped.nix4
-rw-r--r--pkgs/applications/gis/qmapshack/default.nix (renamed from pkgs/applications/misc/qmapshack/default.nix)8
-rw-r--r--pkgs/applications/gis/saga/clang_patch.patch19
-rw-r--r--pkgs/applications/gis/saga/default.nix21
-rw-r--r--pkgs/applications/gis/saga/finite.patch13
-rw-r--r--pkgs/applications/gis/saga/opencv4.patch14
-rw-r--r--pkgs/applications/gis/whitebox-tools/default.nix10
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/graphics/akira/default.nix2
-rw-r--r--pkgs/applications/graphics/avocode/default.nix4
-rwxr-xr-xpkgs/applications/graphics/batik/builder.sh7
-rw-r--r--pkgs/applications/graphics/batik/default.nix26
-rw-r--r--pkgs/applications/graphics/cloudcompare/default.nix8
-rw-r--r--pkgs/applications/graphics/comical/default.nix4
-rw-r--r--pkgs/applications/graphics/deskew/default.nix6
-rw-r--r--pkgs/applications/graphics/digikam/default.nix11
-rw-r--r--pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--pkgs/applications/graphics/drawpile/default.nix2
-rw-r--r--pkgs/applications/graphics/feh/default.nix2
-rw-r--r--pkgs/applications/graphics/fondo/default.nix4
-rw-r--r--pkgs/applications/graphics/freecad/default.nix7
-rw-r--r--pkgs/applications/graphics/freecad/stable.nix85
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix13
-rw-r--r--pkgs/applications/graphics/gimp/default.nix6
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix125
-rw-r--r--pkgs/applications/graphics/gimp/wrapper.nix2
-rw-r--r--pkgs/applications/graphics/gnome-photos/default.nix20
-rw-r--r--pkgs/applications/graphics/gnuclad/default.nix2
-rw-r--r--pkgs/applications/graphics/graphicsmagick/default.nix6
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix4
-rw-r--r--pkgs/applications/graphics/hydrus/default.nix112
-rw-r--r--pkgs/applications/graphics/imgbrd-grabber/default.nix87
-rw-r--r--pkgs/applications/graphics/imv/default.nix55
-rw-r--r--pkgs/applications/graphics/inkscape/extensions.nix6
-rw-r--r--pkgs/applications/graphics/krita/default.nix4
-rw-r--r--pkgs/applications/graphics/lazpaint/default.nix16
-rw-r--r--pkgs/applications/graphics/lightburn/default.nix6
-rw-r--r--pkgs/applications/graphics/mandelbulber/default.nix4
-rw-r--r--pkgs/applications/graphics/mcomix3/default.nix99
-rw-r--r--pkgs/applications/graphics/meshlab/default.nix2
-rw-r--r--pkgs/applications/graphics/pdfcpu/default.nix6
-rw-r--r--pkgs/applications/graphics/photoflare/default.nix31
-rw-r--r--pkgs/applications/graphics/photoflow/CMakeLists.patch13
-rw-r--r--pkgs/applications/graphics/photoflow/default.nix70
-rw-r--r--pkgs/applications/graphics/qvge/default.nix39
-rw-r--r--pkgs/applications/graphics/qvge/set-graphviz-path.patch13
-rw-r--r--pkgs/applications/graphics/qview/default.nix4
-rw-r--r--pkgs/applications/graphics/rx/default.nix2
-rw-r--r--pkgs/applications/graphics/vuescan/default.nix107
-rw-r--r--pkgs/applications/graphics/write_stylus/default.nix2
-rw-r--r--pkgs/applications/graphics/xlife/default.nix28
-rw-r--r--pkgs/applications/graphics/xournalpp/default.nix8
-rw-r--r--pkgs/applications/graphics/yed/default.nix15
-rw-r--r--pkgs/applications/kde/bomber.nix2
-rw-r--r--pkgs/applications/kde/default.nix5
-rw-r--r--pkgs/applications/kde/elisa.nix2
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/granatier.nix2
-rw-r--r--pkgs/applications/kde/k3b.nix3
-rw-r--r--pkgs/applications/kde/kalzium.nix2
-rw-r--r--pkgs/applications/kde/kapman.nix2
-rw-r--r--pkgs/applications/kde/katomic.nix2
-rw-r--r--pkgs/applications/kde/kblackbox.nix2
-rw-r--r--pkgs/applications/kde/kblocks.nix2
-rw-r--r--pkgs/applications/kde/kbounce.nix2
-rw-r--r--pkgs/applications/kde/kdeconnect-kde.nix (renamed from pkgs/applications/misc/kdeconnect/default.nix)78
-rw-r--r--pkgs/applications/kde/kdenlive.nix12
-rw-r--r--pkgs/applications/kde/kdiamond.nix2
-rw-r--r--pkgs/applications/kde/kfloppy.nix2
-rw-r--r--pkgs/applications/kde/klettres.nix2
-rw-r--r--pkgs/applications/kde/klines.nix2
-rw-r--r--pkgs/applications/kde/kmag.nix2
-rw-r--r--pkgs/applications/kde/kmahjongg.nix2
-rw-r--r--pkgs/applications/kde/kmines.nix2
-rw-r--r--pkgs/applications/kde/knetwalk.nix2
-rw-r--r--pkgs/applications/kde/knights.nix2
-rw-r--r--pkgs/applications/kde/kollision.nix2
-rw-r--r--pkgs/applications/kde/kreversi.nix2
-rw-r--r--pkgs/applications/kde/kshisen.nix2
-rw-r--r--pkgs/applications/kde/ksquares.nix2
-rw-r--r--pkgs/applications/kde/ksudoku.nix2
-rw-r--r--pkgs/applications/kde/kteatime.nix2
-rw-r--r--pkgs/applications/kde/ktimer.nix2
-rw-r--r--pkgs/applications/kde/kturtle.nix2
-rw-r--r--pkgs/applications/kde/kwave.nix9
-rw-r--r--pkgs/applications/kde/libkmahjongg.nix2
-rw-r--r--pkgs/applications/kde/minuet.nix3
-rw-r--r--pkgs/applications/kde/okular.nix4
-rw-r--r--pkgs/applications/kde/srcs.nix1728
-rw-r--r--pkgs/applications/logging/humioctl/default.nix4
-rw-r--r--pkgs/applications/misc/ArchiSteamFarm/default.nix4
-rw-r--r--pkgs/applications/misc/OSCAR/default.nix46
-rw-r--r--pkgs/applications/misc/archiver/default.nix6
-rw-r--r--pkgs/applications/misc/ausweisapp2/default.nix2
-rw-r--r--pkgs/applications/misc/barrier/default.nix5
-rw-r--r--pkgs/applications/misc/batsignal/default.nix6
-rw-r--r--pkgs/applications/misc/birdtray/default.nix6
-rw-r--r--pkgs/applications/misc/blender/darwin.patch85
-rw-r--r--pkgs/applications/misc/blender/default.nix29
-rw-r--r--pkgs/applications/misc/blugon/default.nix6
-rw-r--r--pkgs/applications/misc/calcurse/default.nix4
-rw-r--r--pkgs/applications/misc/charm/default.nix6
-rw-r--r--pkgs/applications/misc/cheat/default.nix4
-rw-r--r--pkgs/applications/misc/chewing-editor/default.nix4
-rw-r--r--pkgs/applications/misc/clight/clightd.nix4
-rw-r--r--pkgs/applications/misc/clipcat/default.nix64
-rw-r--r--pkgs/applications/misc/clipit/default.nix6
-rw-r--r--pkgs/applications/misc/clipmenu/default.nix4
-rw-r--r--pkgs/applications/misc/cointop/default.nix4
-rw-r--r--pkgs/applications/misc/copyq/default.nix4
-rw-r--r--pkgs/applications/misc/corectrl/default.nix74
-rw-r--r--pkgs/applications/misc/dasel/default.nix30
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/digitalbitbox/default.nix23
-rw-r--r--pkgs/applications/misc/dmenu/default.nix6
-rw-r--r--pkgs/applications/misc/dmenu/xim.patch31
-rw-r--r--pkgs/applications/misc/dockbarx/default.nix2
-rw-r--r--pkgs/applications/misc/doing/default.nix2
-rw-r--r--pkgs/applications/misc/dstask/default.nix4
-rw-r--r--pkgs/applications/misc/dupeguru/default.nix2
-rw-r--r--pkgs/applications/misc/effitask/default.nix4
-rw-r--r--pkgs/applications/misc/electron-cash/default.nix6
-rw-r--r--pkgs/applications/misc/electrum/default.nix8
-rw-r--r--pkgs/applications/misc/electrum/ltc.nix2
-rw-r--r--pkgs/applications/misc/elf-dissector/default.nix26
-rw-r--r--pkgs/applications/misc/epr/default.nix2
-rw-r--r--pkgs/applications/misc/eureka-editor/default.nix1
-rw-r--r--pkgs/applications/misc/fetchmail/default.nix4
-rw-r--r--pkgs/applications/misc/font-manager/default.nix4
-rw-r--r--pkgs/applications/misc/fslint/default.nix2
-rw-r--r--pkgs/applications/misc/fsv/default.nix4
-rw-r--r--pkgs/applications/misc/fuzzel/default.nix2
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix5
-rw-r--r--pkgs/applications/misc/gammu/bashcomp-dir.patch2
-rw-r--r--pkgs/applications/misc/geoipupdate/default.nix6
-rw-r--r--pkgs/applications/misc/gmtp/default.nix2
-rw-r--r--pkgs/applications/misc/gnome-usage/default.nix6
-rw-r--r--pkgs/applications/misc/go-jira/default.nix6
-rw-r--r--pkgs/applications/misc/gollum/Gemfile.lock28
-rw-r--r--pkgs/applications/misc/gollum/gemset.nix48
-rw-r--r--pkgs/applications/misc/googler/default.nix2
-rw-r--r--pkgs/applications/misc/gphoto2/default.nix4
-rw-r--r--pkgs/applications/misc/gpscorrelate/default.nix3
-rw-r--r--pkgs/applications/misc/gpx/default.nix4
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix9
-rw-r--r--pkgs/applications/misc/gramps/default.nix8
-rw-r--r--pkgs/applications/misc/gremlin-console/default.nix4
-rw-r--r--pkgs/applications/misc/grsync/default.nix2
-rw-r--r--pkgs/applications/misc/haxor-news/default.nix44
-rw-r--r--pkgs/applications/misc/heimer/default.nix4
-rw-r--r--pkgs/applications/misc/hr/default.nix4
-rw-r--r--pkgs/applications/misc/hstr/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/default.nix10
-rw-r--r--pkgs/applications/misc/icesl/default.nix2
-rw-r--r--pkgs/applications/misc/imag/default.nix6
-rw-r--r--pkgs/applications/misc/inkcut/avoid-name-clash-between-inkcut-and-extension.patch85
-rw-r--r--pkgs/applications/misc/inkcut/default.nix25
-rw-r--r--pkgs/applications/misc/ipmiview/default.nix11
-rw-r--r--pkgs/applications/misc/j4-dmenu-desktop/default.nix4
-rw-r--r--pkgs/applications/misc/joplin-desktop/default.nix6
-rw-r--r--pkgs/applications/misc/josm/default.nix7
-rw-r--r--pkgs/applications/misc/jotta-cli/default.nix4
-rw-r--r--pkgs/applications/misc/k2pdfopt/default.nix4
-rw-r--r--pkgs/applications/misc/kanboard/default.nix4
-rw-r--r--pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix2
-rw-r--r--pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix4
-rw-r--r--pkgs/applications/misc/keepass/default.nix4
-rw-r--r--pkgs/applications/misc/keepassx/community.nix6
-rw-r--r--pkgs/applications/misc/keeweb/default.nix65
-rw-r--r--pkgs/applications/misc/klayout/default.nix6
-rw-r--r--pkgs/applications/misc/kondo/default.nix2
-rw-r--r--pkgs/applications/misc/koreader/default.nix4
-rw-r--r--pkgs/applications/misc/krename/default.nix4
-rw-r--r--pkgs/applications/misc/krusader/default.nix14
-rw-r--r--pkgs/applications/misc/kupfer/default.nix10
-rw-r--r--pkgs/applications/misc/libosmocore/default.nix2
-rw-r--r--pkgs/applications/misc/llpp/default.nix10
-rw-r--r--pkgs/applications/misc/llpp/fix-build-bash.patch28
-rw-r--r--pkgs/applications/misc/lsd2dsl/default.nix7
-rw-r--r--pkgs/applications/misc/lutris/fhsenv.nix2
-rw-r--r--pkgs/applications/misc/mapproxy/default.nix2
-rw-r--r--pkgs/applications/misc/marktext/default.nix2
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix4
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix4
-rw-r--r--pkgs/applications/misc/megasync/default.nix36
-rw-r--r--pkgs/applications/misc/minder/default.nix4
-rw-r--r--pkgs/applications/misc/moolticute/default.nix4
-rw-r--r--pkgs/applications/misc/mu-repo/default.nix15
-rw-r--r--pkgs/applications/misc/multibootusb/default.nix4
-rw-r--r--pkgs/applications/misc/mupdf/1.17.nix95
-rw-r--r--pkgs/applications/misc/mupdf/default.nix31
-rw-r--r--pkgs/applications/misc/mysql-workbench/default.nix8
-rw-r--r--pkgs/applications/misc/navi/default.nix6
-rw-r--r--pkgs/applications/misc/navit/default.nix2
-rw-r--r--pkgs/applications/misc/nnn/default.nix6
-rw-r--r--pkgs/applications/misc/nwg-launchers/default.nix4
-rw-r--r--pkgs/applications/misc/obsidian/default.nix6
-rw-r--r--pkgs/applications/misc/octoprint/m33-fio-one-library.patch175
-rw-r--r--pkgs/applications/misc/octoprint/plugins.nix275
-rw-r--r--pkgs/applications/misc/ola/default.nix2
-rw-r--r--pkgs/applications/misc/opentx/default.nix4
-rw-r--r--pkgs/applications/misc/orca/default.nix4
-rw-r--r--pkgs/applications/misc/osm2xmap/default.nix2
-rw-r--r--pkgs/applications/misc/pass-secret-service/default.nix61
-rw-r--r--pkgs/applications/misc/pdf-quench/default.nix6
-rw-r--r--pkgs/applications/misc/pdfpc/default.nix4
-rw-r--r--pkgs/applications/misc/pdfsam-basic/default.nix4
-rw-r--r--pkgs/applications/misc/peaclock/default.nix24
-rw-r--r--pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix2
-rw-r--r--pkgs/applications/misc/plater/default.nix30
-rw-r--r--pkgs/applications/misc/polar-bookshelf/default.nix23
-rw-r--r--pkgs/applications/misc/polybar/default.nix2
-rw-r--r--pkgs/applications/misc/prevo/tools.nix2
-rw-r--r--pkgs/applications/misc/projectlibre/default.nix2
-rw-r--r--pkgs/applications/misc/prusa-slicer/super-slicer.nix4
-rw-r--r--pkgs/applications/misc/pueue/default.nix13
-rw-r--r--pkgs/applications/misc/pwsafe/default.nix6
-rw-r--r--pkgs/applications/misc/pyditz/default.nix4
-rw-r--r--pkgs/applications/misc/qlcplus/default.nix6
-rw-r--r--pkgs/applications/misc/razergenie/default.nix4
-rw-r--r--pkgs/applications/misc/redshift/default.nix4
-rw-r--r--pkgs/applications/misc/rescuetime/default.nix11
-rw-r--r--pkgs/applications/misc/rofi/default.nix4
-rw-r--r--pkgs/applications/misc/rsibreak/default.nix2
-rw-r--r--pkgs/applications/misc/rss-bridge-cli/default.nix28
-rw-r--r--pkgs/applications/misc/sakura/default.nix36
-rw-r--r--pkgs/applications/misc/simplenote/default.nix4
-rw-r--r--pkgs/applications/misc/solaar/default.nix2
-rw-r--r--pkgs/applications/misc/spicetify-cli/default.nix32
-rw-r--r--pkgs/applications/misc/ssw/default.nix4
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix11
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix4
-rw-r--r--pkgs/applications/misc/teleprompter/default.nix12
-rw-r--r--pkgs/applications/misc/tellico/default.nix4
-rw-r--r--pkgs/applications/misc/tiv/default.nix27
-rw-r--r--pkgs/applications/misc/tmatrix/default.nix2
-rw-r--r--pkgs/applications/misc/todoist-electron/default.nix18
-rw-r--r--pkgs/applications/misc/tuir/default.nix2
-rw-r--r--pkgs/applications/misc/tzupdate/default.nix4
-rw-r--r--pkgs/applications/misc/udevil/default.nix8
-rw-r--r--pkgs/applications/misc/vifm/default.nix4
-rw-r--r--pkgs/applications/misc/visidata/default.nix7
-rw-r--r--pkgs/applications/misc/wofi/default.nix4
-rw-r--r--pkgs/applications/misc/wordnet/default.nix5
-rw-r--r--pkgs/applications/misc/wtf/default.nix6
-rw-r--r--pkgs/applications/misc/xautoclick/default.nix42
-rw-r--r--pkgs/applications/misc/xkbd/default.nix2
-rw-r--r--pkgs/applications/misc/xmenu/default.nix8
-rw-r--r--pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--pkgs/applications/misc/xmrig/proxy.nix4
-rw-r--r--pkgs/applications/misc/xsuspender/default.nix2
-rw-r--r--pkgs/applications/misc/xteddy/default.nix4
-rw-r--r--pkgs/applications/misc/xterm/default.nix71
-rw-r--r--pkgs/applications/misc/yarssr/default.nix2
-rw-r--r--pkgs/applications/misc/yubioath-desktop/0001-replace-git-with-normal-python-package.patch24
-rw-r--r--pkgs/applications/misc/yubioath-desktop/default.nix4
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix4
-rw-r--r--pkgs/applications/misc/zathura/pdf-mupdf/default.nix40
-rw-r--r--pkgs/applications/networking/Sylk/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/amfora/default.nix11
-rw-r--r--pkgs/applications/networking/browsers/bombadillo/default.nix21
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/README.md69
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix12
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix115
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix31
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/remove-webp-include-69.patch11
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.py46
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json47
-rw-r--r--pkgs/applications/networking/browsers/ephemeral/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix770
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix770
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/mozilla.ascbin0 -> 6109 bytes
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix770
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/update.nix6
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix107
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix9
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix8
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/next/default.nix95
-rw-r--r--pkgs/applications/networking/browsers/next/next-gtk-webkit.nix54
-rw-r--r--pkgs/applications/networking/browsers/nyxt/default.nix57
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix5
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/surf/default.nix19
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix14
-rw-r--r--pkgs/applications/networking/browsers/ungoogled-chromium/browser.nix13
-rw-r--r--pkgs/applications/networking/browsers/ungoogled-chromium/common.nix154
-rw-r--r--pkgs/applications/networking/browsers/ungoogled-chromium/default.nix43
-rw-r--r--pkgs/applications/networking/browsers/ungoogled-chromium/patches/dont-use-ANGLE-by-default.patch26
-rw-r--r--pkgs/applications/networking/browsers/ungoogled-chromium/patches/enable-vdpau-support-for-nvidia.patch65
-rw-r--r--pkgs/applications/networking/browsers/ungoogled-chromium/patches/enable-video-acceleration-on-linux.patch48
-rw-r--r--pkgs/applications/networking/browsers/ungoogled-chromium/patches/nix_plugin_paths_68.patch61
-rw-r--r--pkgs/applications/networking/browsers/ungoogled-chromium/patches/remove-webp-include-69.patch11
-rw-r--r--pkgs/applications/networking/browsers/ungoogled-chromium/ungoogled-src.nix6
-rwxr-xr-xpkgs/applications/networking/browsers/ungoogled-chromium/update.py30
-rw-r--r--pkgs/applications/networking/browsers/ungoogled-chromium/upstream-info.json42
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/webbrowser/default.nix8
-rw-r--r--pkgs/applications/networking/c14/default.nix2
-rw-r--r--pkgs/applications/networking/calls/default.nix5
-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.nix10
-rw-r--r--pkgs/applications/networking/cluster/argocd/use-go-module.patch3058
-rw-r--r--pkgs/applications/networking/cluster/atlantis/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/hyperkit.nix2
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/kvm.nix2
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/kvm2.nix2
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/xhyve.nix2
-rw-r--r--pkgs/applications/networking/cluster/fluxctl/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helmfile/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helmsman/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/hetzner-kube/default.nix13
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/jx/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/k3s/default.nix13
-rw-r--r--pkgs/applications/networking/cluster/k9s/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kpt/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kube-router/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kube3d/default.nix58
-rw-r--r--pkgs/applications/networking/cluster/kubelogin/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubeseal/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubespy/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeval/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/linkerd/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/minishift/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nomad/0.11.nix4
-rw-r--r--pkgs/applications/networking/cluster/nomad/0.12.nix4
-rw-r--r--pkgs/applications/networking/cluster/octant/default.nix49
-rw-r--r--pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix26
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/popeye/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/prow/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/sonobuoy/default.nix20
-rw-r--r--pkgs/applications/networking/cluster/spacegun/node-composition.nix2
-rw-r--r--pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix34
-rw-r--r--pkgs/applications/networking/cluster/starboard/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/tanka/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/tektoncd-cli/default.nix47
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/cloudfoundry/default.nix29
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/default.nix141
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/hcloud/default.nix32
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/linuxbox/default.nix26
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/lxd/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json170
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix25
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/velero/default.nix12
-rw-r--r--pkgs/applications/networking/compactor/default.nix4
-rw-r--r--pkgs/applications/networking/datovka/default.nix4
-rw-r--r--pkgs/applications/networking/dnscontrol/default.nix6
-rw-r--r--pkgs/applications/networking/dropbox/default.nix2
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/default.nix4
-rw-r--r--pkgs/applications/networking/feedreaders/rss2email/default.nix2
-rw-r--r--pkgs/applications/networking/feedreaders/rssguard/default.nix4
-rw-r--r--pkgs/applications/networking/firehol/default.nix4
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/default.nix6
-rw-r--r--pkgs/applications/networking/gns3/server.nix4
-rw-r--r--pkgs/applications/networking/google-drive-ocamlfuse/default.nix22
-rw-r--r--pkgs/applications/networking/gopher/sacc/default.nix11
-rw-r--r--pkgs/applications/networking/hydroxide/default.nix2
-rw-r--r--pkgs/applications/networking/ids/zeek/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/bluejeans/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/cordless/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/dino/default.nix13
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix8
-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/ferdi/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/fractal/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/franz/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/franz/generic.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/gitter/default.nix54
-rw-r--r--pkgs/applications/networking/instant-messengers/gomuks/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-dl/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/mcabber/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/mirage/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/mm/default.nix26
-rw-r--r--pkgs/applications/networking/instant-messengers/pantalaimon/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/psi/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/quaternion/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-cli/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/skype-call-recorder/conference.patch148
-rw-r--r--pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix28
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix21
-rwxr-xr-xpkgs/applications/networking/instant-messengers/slack/update.sh41
-rw-r--r--pkgs/applications/networking/instant-messengers/spectral/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/ssh-chat/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/teams/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/client.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix33
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix24
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/toxic/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/viber/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/wire-desktop/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix12
-rw-r--r--pkgs/applications/networking/ipfs-cluster/default.nix2
-rw-r--r--pkgs/applications/networking/ipfs-migrator/default.nix4
-rw-r--r--pkgs/applications/networking/irc/convos/default.nix4
-rw-r--r--pkgs/applications/networking/irc/ircdog/default.nix28
-rw-r--r--pkgs/applications/networking/irc/tiny/default.nix8
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix4
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix8
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/alpine/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/bubblemail/default.nix76
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/inboxer/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/meli/default.nix10
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix16
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix530
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix10
-rw-r--r--pkgs/applications/networking/mkchromecast/default.nix84
-rw-r--r--pkgs/applications/networking/mpop/default.nix4
-rw-r--r--pkgs/applications/networking/msmtp/default.nix4
-rw-r--r--pkgs/applications/networking/mullvad-vpn/default.nix6
-rw-r--r--pkgs/applications/networking/mumble/default.nix4
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix6
-rw-r--r--pkgs/applications/networking/nextdns/default.nix4
-rw-r--r--pkgs/applications/networking/nym/default.nix29
-rw-r--r--pkgs/applications/networking/omping/default.nix2
-rw-r--r--pkgs/applications/networking/ostinato/default.nix22
-rw-r--r--pkgs/applications/networking/p2p/freenet/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix4
-rw-r--r--pkgs/applications/networking/p2p/magnetico/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/opentracker/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/soulseekqt/default.nix4
-rw-r--r--pkgs/applications/networking/pcloud/default.nix110
-rw-r--r--pkgs/applications/networking/protonmail-bridge/default.nix83
-rw-r--r--pkgs/applications/networking/protonvpn-gui/default.nix2
-rw-r--r--pkgs/applications/networking/ps2client/default.nix4
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/generic.nix13
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/sources.nix13
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix16
-rw-r--r--pkgs/applications/networking/remote/waypipe/default.nix7
-rw-r--r--pkgs/applications/networking/remote/x2goserver/default.nix4
-rw-r--r--pkgs/applications/networking/resilio-sync/default.nix2
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix24
-rw-r--r--pkgs/applications/networking/sniffers/sngrep/default.nix4
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/networking/super-productivity/default.nix2
-rw-r--r--pkgs/applications/networking/sync/backintime/common.nix32
-rw-r--r--pkgs/applications/networking/sync/backintime/qt.nix26
-rw-r--r--pkgs/applications/networking/sync/backintime/qt4.nix28
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix4
-rw-r--r--pkgs/applications/networking/sync/rsync/default.nix16
-rw-r--r--pkgs/applications/networking/sync/unison/4.08-compatibility.patch52
-rw-r--r--pkgs/applications/networking/sync/unison/default.nix10
-rw-r--r--pkgs/applications/networking/sync/unison/lablgtk.patch31
-rw-r--r--pkgs/applications/networking/syncplay/default.nix4
-rw-r--r--pkgs/applications/networking/syncthing-gtk/default.nix1
-rw-r--r--pkgs/applications/networking/syncthing/default.nix6
-rw-r--r--pkgs/applications/networking/termius/default.nix9
-rw-r--r--pkgs/applications/networking/testssl/default.nix4
-rw-r--r--pkgs/applications/networking/trebleshot/default.nix2
-rw-r--r--pkgs/applications/networking/tsung/default.nix2
-rw-r--r--pkgs/applications/networking/versus/default.nix22
-rw-r--r--pkgs/applications/office/atlassian-cli/default.nix12
-rw-r--r--pkgs/applications/office/calligra/default.nix4
-rw-r--r--pkgs/applications/office/elementary-planner/default.nix4
-rw-r--r--pkgs/applications/office/fava/default.nix4
-rw-r--r--pkgs/applications/office/flexibee/default.nix4
-rw-r--r--pkgs/applications/office/grisbi/default.nix2
-rw-r--r--pkgs/applications/office/gtg/default.nix13
-rw-r--r--pkgs/applications/office/jabref/default.nix52
-rw-r--r--pkgs/applications/office/libreoffice/default.nix23
-rwxr-xr-xpkgs/applications/office/libreoffice/generate-libreoffice-srcs.py4
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/download.nix264
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/primary.nix10
-rw-r--r--pkgs/applications/office/minetime/default.nix4
-rw-r--r--pkgs/applications/office/paperless/python-modules/default.nix2
-rw-r--r--pkgs/applications/office/paperwork/backend.nix48
-rw-r--r--pkgs/applications/office/paperwork/openpaperwork-core.nix42
-rw-r--r--pkgs/applications/office/paperwork/openpaperwork-gtk.nix52
-rw-r--r--pkgs/applications/office/paperwork/paperwork-backend.nix77
-rw-r--r--pkgs/applications/office/paperwork/paperwork-gtk.nix (renamed from pkgs/applications/office/paperwork/default.nix)59
-rw-r--r--pkgs/applications/office/paperwork/paperwork-shell.nix59
-rw-r--r--pkgs/applications/office/paperwork/src.nix12
-rw-r--r--pkgs/applications/office/portfolio/default.nix6
-rw-r--r--pkgs/applications/office/scribus/unstable.nix45
-rw-r--r--pkgs/applications/office/skrooge/default.nix1
-rw-r--r--pkgs/applications/office/softmaker/freeoffice.nix4
-rw-r--r--pkgs/applications/office/softmaker/generic.nix35
-rw-r--r--pkgs/applications/office/timekeeper/default.nix44
-rw-r--r--pkgs/applications/office/todo.txt-cli/default.nix4
-rw-r--r--pkgs/applications/office/todoman/default.nix49
-rw-r--r--pkgs/applications/office/trilium/default.nix2
-rw-r--r--pkgs/applications/office/vnote/default.nix4
-rw-r--r--pkgs/applications/office/wordgrinder/default.nix8
-rw-r--r--pkgs/applications/office/zanshin/default.nix37
-rw-r--r--pkgs/applications/radio/aldo/default.nix17
-rw-r--r--pkgs/applications/radio/dump1090/default.nix4
-rw-r--r--pkgs/applications/radio/ebook2cw/Makefile.patch12
-rw-r--r--pkgs/applications/radio/ebook2cw/configfile.patch11
-rw-r--r--pkgs/applications/radio/ebook2cw/default.nix15
-rw-r--r--pkgs/applications/radio/fldigi/default.nix4
-rw-r--r--pkgs/applications/radio/flmsg/default.nix4
-rw-r--r--pkgs/applications/radio/flrig/default.nix4
-rw-r--r--pkgs/applications/radio/gqrx/default.nix4
-rw-r--r--pkgs/applications/radio/limesuite/default.nix4
-rw-r--r--pkgs/applications/radio/noaa-apt/default.nix11
-rw-r--r--pkgs/applications/radio/quisk/default.nix39
-rw-r--r--pkgs/applications/radio/rtl-sdr/default.nix8
-rw-r--r--pkgs/applications/radio/rtl_433/default.nix17
-rw-r--r--pkgs/applications/radio/sdrangel/default.nix29
-rw-r--r--pkgs/applications/radio/urh/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/astrolabe-generator/default.nix2
-rw-r--r--pkgs/applications/science/astronomy/kstars/default.nix37
-rw-r--r--pkgs/applications/science/astronomy/kstars/indi-fix.patch50
-rw-r--r--pkgs/applications/science/astronomy/phd2/default.nix29
-rw-r--r--pkgs/applications/science/biology/bedtools/default.nix2
-rw-r--r--pkgs/applications/science/biology/dcm2niix/default.nix2
-rw-r--r--pkgs/applications/science/biology/deeptools/default.nix16
-rw-r--r--pkgs/applications/science/biology/delly/default.nix17
-rw-r--r--pkgs/applications/science/biology/igv/default.nix4
-rw-r--r--pkgs/applications/science/biology/kallisto/default.nix2
-rw-r--r--pkgs/applications/science/biology/last/default.nix4
-rw-r--r--pkgs/applications/science/biology/lumpy/default.nix50
-rw-r--r--pkgs/applications/science/biology/mosdepth/default.nix6
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/biology/plink/default.nix25
-rw-r--r--pkgs/applications/science/biology/sambamba/default.nix31
-rw-r--r--pkgs/applications/science/biology/samblaster/default.nix26
-rw-r--r--pkgs/applications/science/biology/samtools/default.nix6
-rw-r--r--pkgs/applications/science/biology/snpeff/default.nix2
-rw-r--r--pkgs/applications/science/biology/star/default.nix4
-rw-r--r--pkgs/applications/science/biology/tebreak/default.nix8
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/marvin/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/openmolcas/default.nix19
-rw-r--r--pkgs/applications/science/chemistry/openmolcas/openblasPath.patch12
-rw-r--r--pkgs/applications/science/electronics/appcsxcad/default.nix1
-rw-r--r--pkgs/applications/science/electronics/flatcam/default.nix4
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/electronics/horizon-eda/default.nix4
-rw-r--r--pkgs/applications/science/electronics/kicad/base.nix11
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix11
-rwxr-xr-xpkgs/applications/science/electronics/kicad/update.sh6
-rw-r--r--pkgs/applications/science/electronics/kicad/versions.nix40
-rw-r--r--pkgs/applications/science/electronics/librepcb/default.nix44
-rw-r--r--pkgs/applications/science/electronics/magic-vlsi/default.nix22
-rw-r--r--pkgs/applications/science/electronics/nanovna-saver/default.nix51
-rw-r--r--pkgs/applications/science/electronics/ngspice/default.nix4
-rw-r--r--pkgs/applications/science/electronics/openhantek6022/default.nix4
-rw-r--r--pkgs/applications/science/electronics/qcsxcad/default.nix50
-rw-r--r--pkgs/applications/science/electronics/verilog/default.nix58
-rw-r--r--pkgs/applications/science/electronics/vhd2vl/default.nix10
-rw-r--r--pkgs/applications/science/geometry/antiprism/default.nix29
-rw-r--r--pkgs/applications/science/logic/btor2tools/default.nix2
-rw-r--r--pkgs/applications/science/logic/coq/default.nix1
-rw-r--r--pkgs/applications/science/logic/coq2html/default.nix4
-rw-r--r--pkgs/applications/science/logic/cryptoverif/default.nix4
-rw-r--r--pkgs/applications/science/logic/key/default.nix74
-rw-r--r--pkgs/applications/science/logic/lean/default.nix14
-rw-r--r--pkgs/applications/science/logic/ott/default.nix2
-rw-r--r--pkgs/applications/science/logic/potassco/clingcon.nix2
-rw-r--r--pkgs/applications/science/logic/workcraft/default.nix4
-rw-r--r--pkgs/applications/science/logic/z3/4.4.0.nix2
-rw-r--r--pkgs/applications/science/logic/z3/default.nix5
-rw-r--r--pkgs/applications/science/machine-learning/labelimg/default.nix2
-rw-r--r--pkgs/applications/science/math/R/default.nix6
-rw-r--r--pkgs/applications/science/math/bliss/default.nix4
-rw-r--r--pkgs/applications/science/math/calc/default.nix4
-rw-r--r--pkgs/applications/science/math/geogebra/default.nix92
-rw-r--r--pkgs/applications/science/math/geogebra/geogebra6.nix92
-rw-r--r--pkgs/applications/science/math/gfan/default.nix8
-rw-r--r--pkgs/applications/science/math/gfan/gfan-0.6.2-cddlib-prefix.patch55
-rw-r--r--pkgs/applications/science/math/ginac/default.nix4
-rw-r--r--pkgs/applications/science/math/gmsh/default.nix4
-rw-r--r--pkgs/applications/science/math/lrcalc/default.nix2
-rw-r--r--pkgs/applications/science/math/mathematica/default.nix3
-rw-r--r--pkgs/applications/science/math/maxima/5.41.nix102
-rw-r--r--pkgs/applications/science/math/maxima/default.nix31
-rw-r--r--pkgs/applications/science/math/maxima/known-ecl-failures.patch21
-rw-r--r--pkgs/applications/science/math/nauty/default.nix2
-rw-r--r--pkgs/applications/science/math/palp/default.nix2
-rw-r--r--pkgs/applications/science/math/pari/default.nix2
-rw-r--r--pkgs/applications/science/math/pari/gp2c.nix4
-rw-r--r--pkgs/applications/science/math/pspp/default.nix8
-rw-r--r--pkgs/applications/science/math/pynac/default.nix9
-rw-r--r--pkgs/applications/science/math/qalculate-gtk/default.nix4
-rw-r--r--pkgs/applications/science/math/rofi-calc/default.nix6
-rw-r--r--pkgs/applications/science/math/sage/flask-oldsessions.nix2
-rw-r--r--pkgs/applications/science/math/sage/flask-openid.nix2
-rw-r--r--pkgs/applications/science/math/sage/pybrial.nix2
-rw-r--r--pkgs/applications/science/math/sage/python-openid.nix2
-rw-r--r--pkgs/applications/science/math/sage/sage.nix2
-rw-r--r--pkgs/applications/science/math/sage/sagenb.nix2
-rw-r--r--pkgs/applications/science/math/singular/default.nix2
-rw-r--r--pkgs/applications/science/math/symmetrica/default.nix2
-rw-r--r--pkgs/applications/science/misc/convertall/default.nix37
-rw-r--r--pkgs/applications/science/misc/cytoscape/default.nix4
-rw-r--r--pkgs/applications/science/misc/foldingathome/control.nix4
-rw-r--r--pkgs/applications/science/misc/foldingathome/viewer.nix4
-rw-r--r--pkgs/applications/science/misc/nextinspace/default.nix24
-rw-r--r--pkgs/applications/science/misc/openmodelica/default.nix2
-rw-r--r--pkgs/applications/science/misc/rink/default.nix2
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix5
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix6
-rw-r--r--pkgs/applications/science/physics/elmerfem/default.nix2
-rw-r--r--pkgs/applications/science/physics/xflr5/default.nix10
-rw-r--r--pkgs/applications/science/programming/scyther/default.nix2
-rw-r--r--pkgs/applications/science/robotics/mavproxy/default.nix4
-rw-r--r--pkgs/applications/search/recoll/default.nix102
-rw-r--r--pkgs/applications/system/glances/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/alacritty/default.nix (renamed from pkgs/applications/misc/alacritty/default.nix)10
-rw-r--r--pkgs/applications/terminal-emulators/aminal/default.nix (renamed from pkgs/applications/misc/aminal/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/cool-retro-term/default.nix (renamed from pkgs/applications/misc/cool-retro-term/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/eterm/default.nix (renamed from pkgs/applications/misc/eterm/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/evilvte/default.nix (renamed from pkgs/applications/misc/evilvte/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/foot/default.nix (renamed from pkgs/applications/misc/foot/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/guake/default.nix (renamed from pkgs/applications/misc/guake/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/havoc/default.nix (renamed from pkgs/applications/misc/havoc/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/hyper/default.nix (renamed from pkgs/applications/misc/hyper/default.nix)4
-rw-r--r--pkgs/applications/terminal-emulators/iterm2/default.nix (renamed from pkgs/applications/misc/iterm2/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/iterm2/disable_updates.patch (renamed from pkgs/applications/misc/iterm2/disable_updates.patch)0
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix (renamed from pkgs/applications/misc/kitty/default.nix)14
-rw-r--r--pkgs/applications/terminal-emulators/kitty/fix-paths.patch (renamed from pkgs/applications/misc/kitty/fix-paths.patch)0
-rw-r--r--pkgs/applications/terminal-emulators/lilyterm/default.nix (renamed from pkgs/applications/misc/lilyterm/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/lxterminal/default.nix (renamed from pkgs/applications/misc/lxterminal/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/lxterminal/respect-xml-catalog-files-var.patch (renamed from pkgs/applications/misc/lxterminal/respect-xml-catalog-files-var.patch)0
-rw-r--r--pkgs/applications/terminal-emulators/microcom/default.nix (renamed from pkgs/applications/misc/microcom/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/mlterm/default.nix (renamed from pkgs/applications/misc/mlterm/default.nix)66
-rw-r--r--pkgs/applications/terminal-emulators/mrxvt/default.nix (renamed from pkgs/applications/misc/mrxvt/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/nimmm/default.nix (renamed from pkgs/applications/misc/nimmm/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/roxterm/default.nix (renamed from pkgs/applications/misc/roxterm/default.nix)4
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/default.nix (renamed from pkgs/applications/misc/rxvt-unicode-plugins/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix (renamed from pkgs/applications/misc/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-bidi/default.nix (renamed from pkgs/applications/misc/rxvt-unicode-plugins/urxvt-bidi/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix (renamed from pkgs/applications/misc/rxvt-unicode-plugins/urxvt-font-size/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix (renamed from pkgs/applications/misc/rxvt-unicode-plugins/urxvt-perl/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perls/default.nix (renamed from pkgs/applications/misc/rxvt-unicode-plugins/urxvt-perls/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-resize-font/default.nix (renamed from pkgs/applications/misc/rxvt-unicode-plugins/urxvt-resize-font/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-tabbedex/default.nix (renamed from pkgs/applications/misc/rxvt-unicode-plugins/urxvt-tabbedex/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-theme-switch/default.nix (renamed from pkgs/applications/misc/rxvt-unicode-plugins/urxvt-theme-switch/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-vtwheel/default.nix (renamed from pkgs/applications/misc/rxvt-unicode-plugins/urxvt-vtwheel/default.nix)4
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/default.nix (renamed from pkgs/applications/misc/rxvt-unicode/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/patches/256-color-resources.patch (renamed from pkgs/applications/misc/rxvt-unicode/patches/256-color-resources.patch)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/patches/9.06-font-width.patch (renamed from pkgs/applications/misc/rxvt-unicode/patches/9.06-font-width.patch)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/patches/makefile-phony.patch (renamed from pkgs/applications/misc/rxvt-unicode/patches/makefile-phony.patch)0
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix (renamed from pkgs/applications/misc/rxvt-unicode/wrapper.nix)2
-rw-r--r--pkgs/applications/terminal-emulators/rxvt/default.nix (renamed from pkgs/applications/misc/rxvt/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/sakura/default.nix50
-rw-r--r--pkgs/applications/terminal-emulators/st/default.nix (renamed from pkgs/applications/misc/st/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/st/xst.nix (renamed from pkgs/applications/misc/st/xst.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/stupidterm/default.nix (renamed from pkgs/applications/misc/stupidterm/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/terminator/default.nix (renamed from pkgs/applications/misc/terminator/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/terminus/default.nix (renamed from pkgs/applications/misc/terminus/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/termite/add_errno_header.patch (renamed from pkgs/applications/misc/termite/add_errno_header.patch)0
-rw-r--r--pkgs/applications/terminal-emulators/termite/default.nix (renamed from pkgs/applications/misc/termite/default.nix)23
-rw-r--r--pkgs/applications/terminal-emulators/termite/remove_ldflags_macos.patch (renamed from pkgs/applications/misc/termite/remove_ldflags_macos.patch)0
-rw-r--r--pkgs/applications/terminal-emulators/termite/url_regexp_trailing.patch (renamed from pkgs/applications/misc/termite/url_regexp_trailing.patch)0
-rw-r--r--pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch61
-rw-r--r--pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch56
-rw-r--r--pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch29
-rw-r--r--pkgs/applications/terminal-emulators/termite/wrapper.nix (renamed from pkgs/applications/misc/termite/wrapper.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/termonad/default.nix (renamed from pkgs/applications/misc/termonad/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/tilda/default.nix (renamed from pkgs/applications/misc/tilda/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/tilix/default.nix (renamed from pkgs/applications/misc/tilix/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/wayst/default.nix91
-rw-r--r--pkgs/applications/terminal-emulators/wayst/utf8proc.patch24
-rw-r--r--pkgs/applications/terminal-emulators/x3270/default.nix (renamed from pkgs/applications/misc/x3270/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/xterm/default.nix119
-rw-r--r--pkgs/applications/terminal-emulators/xterm/sixel-256.support.patch (renamed from pkgs/applications/misc/xterm/sixel-256.support.patch)0
-rw-r--r--pkgs/applications/terminal-emulators/xtermcontrol/default.nix (renamed from pkgs/applications/misc/xtermcontrol/default.nix)0
-rw-r--r--pkgs/applications/terminal-emulators/yaft/default.nix (renamed from pkgs/applications/misc/yaft/default.nix)0
-rw-r--r--pkgs/applications/version-management/bcompare/default.nix4
-rw-r--r--pkgs/applications/version-management/commitizen/node-composition.nix2
-rw-r--r--pkgs/applications/version-management/commitizen/node-env.nix8
-rw-r--r--pkgs/applications/version-management/cvs-fast-export/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/bump2version/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix12
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix11
-rw-r--r--pkgs/applications/version-management/git-and-tools/ghorg/default.nix37
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-absorb/default.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-bug/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-chglog/default.nix22
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cola/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix28
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-extras/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-filter-repo/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-gone/default.nix6
-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-recent/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-stree/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-trim/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-vanity-hash/default.nix27
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix19
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitstatus/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitui/default.nix16
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/lab/default.nix7
-rw-r--r--pkgs/applications/version-management/git-and-tools/pass-git-helper/default.nix12
-rw-r--r--pkgs/applications/version-management/git-and-tools/thicket/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/topgit/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/transcrypt/default.nix6
-rw-r--r--pkgs/applications/version-management/git-lfs/default.nix4
-rw-r--r--pkgs/applications/version-management/git-review/default.nix21
-rw-r--r--pkgs/applications/version-management/git-up/default.nix2
-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-triage/Gemfile3
-rw-r--r--pkgs/applications/version-management/gitlab-triage/Gemfile.lock35
-rw-r--r--pkgs/applications/version-management/gitlab-triage/default.nix14
-rw-r--r--pkgs/applications/version-management/gitlab-triage/gemset.nix118
-rw-r--r--pkgs/applications/version-management/gitlab/data.json16
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix9
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile25
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock141
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix14
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/deps.nix270
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/fix-executable-check.patch13
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix299
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix8
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix1507
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch13
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix14
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/deps.nix1241
-rw-r--r--pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch10
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile160
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock814
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix1239
-rwxr-xr-xpkgs/applications/version-management/gitlab/update.py7
-rw-r--r--pkgs/applications/version-management/gitlab/yarnPkgs.nix4464
-rw-r--r--pkgs/applications/version-management/gitoxide/default.nix6
-rw-r--r--pkgs/applications/version-management/meld/default.nix1
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix10
-rw-r--r--pkgs/applications/version-management/nbstripout/default.nix4
-rw-r--r--pkgs/applications/version-management/p4/default.nix4
-rw-r--r--pkgs/applications/version-management/pijul/default.nix80
-rw-r--r--pkgs/applications/version-management/pijul/thrussh-build-fix.patch12
-rw-r--r--pkgs/applications/version-management/sparkleshare/default.nix2
-rw-r--r--pkgs/applications/version-management/sublime-merge/default.nix8
-rw-r--r--pkgs/applications/video/bombono/default.nix80
-rw-r--r--pkgs/applications/video/clipgrab/default.nix4
-rw-r--r--pkgs/applications/video/devede/default.nix14
-rw-r--r--pkgs/applications/video/dvb-apps/default.nix24
-rw-r--r--pkgs/applications/video/epgstation/default.nix163
-rwxr-xr-xpkgs/applications/video/epgstation/generate.sh34
-rw-r--r--pkgs/applications/video/epgstation/package.json102
-rw-r--r--pkgs/applications/video/epgstation/update.nix66
-rw-r--r--pkgs/applications/video/filebot/default.nix6
-rw-r--r--pkgs/applications/video/gnomecast/default.nix4
-rw-r--r--pkgs/applications/video/go-chromecast/default.nix24
-rw-r--r--pkgs/applications/video/gpac/default.nix4
-rw-r--r--pkgs/applications/video/hdhomerun-config-gui/default.nix4
-rw-r--r--pkgs/applications/video/k9copy/default.nix63
-rw-r--r--pkgs/applications/video/k9copy/gcc6.patch26
-rw-r--r--pkgs/applications/video/kodi/default.nix8
-rw-r--r--pkgs/applications/video/lightworks/default.nix4
-rw-r--r--pkgs/applications/video/linuxstopmotion/default.nix32
-rw-r--r--pkgs/applications/video/linuxstopmotion/linuxstopmotion-fix-wrong-isProcess-logic.patch33
-rw-r--r--pkgs/applications/video/makemkv/default.nix29
-rw-r--r--pkgs/applications/video/minitube/default.nix14
-rw-r--r--pkgs/applications/video/mjpg-streamer/default.nix2
-rw-r--r--pkgs/applications/video/mkclean/default.nix2
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/motion/default.nix4
-rw-r--r--pkgs/applications/video/mpc-qt/default.nix11
-rw-r--r--pkgs/applications/video/mplayer/default.nix4
-rw-r--r--pkgs/applications/video/mpv/default.nix37
-rw-r--r--pkgs/applications/video/mpv/scripts/mpris.nix4
-rw-r--r--pkgs/applications/video/mpv/wrapper.nix2
-rw-r--r--pkgs/applications/video/obs-studio/default.nix24
-rw-r--r--pkgs/applications/video/obs-studio/linuxbrowser.nix49
-rw-r--r--pkgs/applications/video/obs-studio/obs-move-transition.nix60
-rw-r--r--pkgs/applications/video/obs-studio/obs-ndi.nix6
-rw-r--r--pkgs/applications/video/obs-studio/rename-obs-move-transition-cmake.patch34
-rw-r--r--pkgs/applications/video/obs-studio/wlrobs.nix4
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix11
-rw-r--r--pkgs/applications/video/openshot-qt/libopenshot-audio.nix14
-rw-r--r--pkgs/applications/video/openshot-qt/libopenshot.nix10
-rw-r--r--pkgs/applications/video/pitivi/default.nix82
-rw-r--r--pkgs/applications/video/plex-media-player/default.nix8
-rw-r--r--pkgs/applications/video/plex-media-player/deps.nix14
-rw-r--r--pkgs/applications/video/plex-mpv-shim/default.nix6
-rw-r--r--pkgs/applications/video/shotcut/default.nix55
-rw-r--r--pkgs/applications/video/streamlink-twitch-gui/bin.nix4
-rw-r--r--pkgs/applications/video/vcs/default.nix4
-rw-r--r--pkgs/applications/video/vdr/plugins.nix4
-rw-r--r--pkgs/applications/video/webcamoid/default.nix4
-rw-r--r--pkgs/applications/video/webtorrent_desktop/default.nix2
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix4
-rw-r--r--pkgs/applications/virtualization/charliecloud/default.nix4
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix10
-rw-r--r--pkgs/applications/virtualization/cri-o/wrapper.nix4
-rw-r--r--pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker-slim/default.nix2
-rw-r--r--pkgs/applications/virtualization/docker/default.nix33
-rw-r--r--pkgs/applications/virtualization/firecracker/default.nix10
-rw-r--r--pkgs/applications/virtualization/looking-glass-client/default.nix32
-rw-r--r--pkgs/applications/virtualization/nvidia-docker/avoid-static-libtirpc-build.patch21
-rw-r--r--pkgs/applications/virtualization/nvidia-docker/libnvc.nix54
-rw-r--r--pkgs/applications/virtualization/open-vm-tools/default.nix13
-rw-r--r--pkgs/applications/virtualization/open-vm-tools/find_gdk_pixbuf_xlib.patch12
-rw-r--r--pkgs/applications/virtualization/open-vm-tools/recognize_nixos.patch33
-rw-r--r--pkgs/applications/virtualization/podman/wrapper.nix4
-rw-r--r--pkgs/applications/virtualization/qemu/CVE-2020-27617.patch43
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix22
-rw-r--r--pkgs/applications/virtualization/runc/default.nix9
-rw-r--r--pkgs/applications/virtualization/singularity/default.nix9
-rw-r--r--pkgs/applications/virtualization/virt-manager/qt.nix4
-rw-r--r--pkgs/applications/virtualization/virt-top/default.nix10
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix7
-rw-r--r--pkgs/applications/virtualization/virtualbox/extpack.nix2
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix8
-rw-r--r--pkgs/applications/window-managers/berry/default.nix24
-rw-r--r--pkgs/applications/window-managers/cagebreak/default.nix4
-rw-r--r--pkgs/applications/window-managers/hikari/default.nix4
-rw-r--r--pkgs/applications/window-managers/i3/altlayout.nix21
-rw-r--r--pkgs/applications/window-managers/i3/default.nix4
-rw-r--r--pkgs/applications/window-managers/i3/gaps.nix4
-rw-r--r--pkgs/applications/window-managers/i3/layout-manager.nix2
-rw-r--r--pkgs/applications/window-managers/i3/lock-fancy.nix2
-rw-r--r--pkgs/applications/window-managers/i3/lock.nix4
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix29
-rw-r--r--pkgs/applications/window-managers/i3/wmfocus.nix8
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix4
-rw-r--r--pkgs/applications/window-managers/leftwm/default.nix8
-rw-r--r--pkgs/applications/window-managers/picom/default.nix4
-rw-r--r--pkgs/applications/window-managers/qtile/default.nix13
-rw-r--r--pkgs/applications/window-managers/sawfish/default.nix36
-rw-r--r--pkgs/applications/window-managers/sway/default.nix8
-rw-r--r--pkgs/applications/window-managers/sway/lock-effects.nix4
-rw-r--r--pkgs/applications/window-managers/windowchef/default.nix4
-rw-r--r--pkgs/applications/window-managers/windowlab/default.nix2
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix38
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix27
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/default.nix20
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix30
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix38
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix32
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix43
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix29
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix20
-rw-r--r--pkgs/applications/window-managers/xmonad/log-applet/default.nix1
1038 files changed, 18522 insertions, 15445 deletions
diff --git a/pkgs/applications/accessibility/contrast/default.nix b/pkgs/applications/accessibility/contrast/default.nix
index 192bf041c64e6..8f70f632cd6ec 100644
--- a/pkgs/applications/accessibility/contrast/default.nix
+++ b/pkgs/applications/accessibility/contrast/default.nix
@@ -6,7 +6,7 @@
 , gettext
 , glib
 , gtk3
-, libhandy
+, libhandy_0
 , meson
 , ninja
 , pango
@@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
     dbus
     glib
     gtk3
-    libhandy
+    libhandy_0
     pango
   ];
 
diff --git a/pkgs/applications/audio/aacgain/default.nix b/pkgs/applications/audio/aacgain/default.nix
index 194514c65b535..83b359b1b1cbe 100644
--- a/pkgs/applications/audio/aacgain/default.nix
+++ b/pkgs/applications/audio/aacgain/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchFromGitHub, fetchpatch }:
+{ stdenv, fetchFromGitLab, fetchpatch }:
 
 stdenv.mkDerivation {
   name = "aacgain-1.9.0";
 
-  src = fetchFromGitHub {
+  src = fetchFromGitLab {
     owner = "mulx";
     repo = "aacgain";
     rev = "7c29dccd878ade1301710959aeebe87a8f0828f5";
diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix
index 0c38057d56f8f..49579e3329466 100644
--- a/pkgs/applications/audio/ardour/default.nix
+++ b/pkgs/applications/audio/ardour/default.nix
@@ -12,17 +12,14 @@
 , fftw
 , fftwSinglePrec
 , flac
-, fluidsynth
 , glibc
 , glibmm
 , graphviz
 , gtkmm2
-, hidapi
 , itstool
 , libarchive
 , libjack2
 , liblo
-, libltc
 , libogg
 , libpulseaudio
 , librdf_raptor
@@ -42,11 +39,11 @@
 , perl
 , pkg-config
 , python3
-, qm-dsp
 , readline
 , rubberband
 , serd
 , sord
+, soundtouch
 , sratom
 , suil
 , taglib
@@ -55,13 +52,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "ardour";
-  version = "6.2";
+  version = "6.3";
 
   # don't fetch releases from the GitHub mirror, they are broken
   src = fetchgit {
     url = "git://git.ardour.org/ardour/ardour.git";
     rev = version;
-    sha256 = "17jxbqavricy01x4ymq6d302djsqfnv84m7dm4fd8cpka0dqjp1y";
+    sha256 = "050p1adgyirr790a3xp878pq3axqwzcmrk3drgm9z6v753h0xhcd";
   };
 
   patches = [
@@ -91,15 +88,12 @@ stdenv.mkDerivation rec {
     fftw
     fftwSinglePrec
     flac
-    fluidsynth
     glibmm
     gtkmm2
-    hidapi
     itstool
     libarchive
     libjack2
     liblo
-    libltc
     libogg
     libpulseaudio
     librdf_raptor
@@ -118,11 +112,11 @@ stdenv.mkDerivation rec {
     pango
     perl
     python3
-    qm-dsp
     readline
     rubberband
     serd
     sord
+    soundtouch
     sratom
     suil
     taglib
@@ -136,11 +130,11 @@ stdenv.mkDerivation rec {
     "--no-phone-home"
     "--optimize"
     "--ptformat"
-    "--qm-dsp-include=${qm-dsp}/include/qm-dsp"
     "--run-tests"
     "--test"
-    "--use-external-libs"
   ];
+  # removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437
+  # "--use-external-libs"
 
   # Ardour's wscript requires git revision and date to be available.
   # Since they are not, let's generate the file manually.
diff --git a/pkgs/applications/audio/asunder/default.nix b/pkgs/applications/audio/asunder/default.nix
index 998535a8eb0bd..610085a137aa0 100644
--- a/pkgs/applications/audio/asunder/default.nix
+++ b/pkgs/applications/audio/asunder/default.nix
@@ -12,11 +12,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.9.6";
+  version = "2.9.7";
   pname = "asunder";
   src = fetchurl {
     url = "http://littlesvr.ca/asunder/releases/${pname}-${version}.tar.bz2";
-    sha256 = "1ycnd82lh7qy1pcbngd4b41s16j9hnm2kyfrncg4cwr3bfk7yg7a";
+    sha256 = "1x3l308ss0iqhz90qyjb94gyd8b4piyrm2nzjmg5kf049k9prjf1";
   };
 
   nativeBuildInputs = [ intltool makeWrapper pkgconfig ];
diff --git a/pkgs/applications/audio/bambootracker/default.nix b/pkgs/applications/audio/bambootracker/default.nix
index a26431a82edff..f1f97de256e6b 100644
--- a/pkgs/applications/audio/bambootracker/default.nix
+++ b/pkgs/applications/audio/bambootracker/default.nix
@@ -3,7 +3,6 @@
 , fetchFromGitHub
 , qmake
 , qtbase
-, qtmultimedia
 , qttools
 , alsaSupport ? stdenv.hostPlatform.isLinux
 , alsaLib
@@ -19,20 +18,20 @@ let
 in
 mkDerivation rec {
   pname = "bambootracker";
-  version = "0.4.4";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "rerrahkr";
     repo = "BambooTracker";
     rev = "v${version}";
-    sha256 = "0d0f4jqzknsiq725pvfndarfjg183f92rb0lim3wzshnsixr5vdc";
+    sha256 = "0ibi0sykxf6cp5la2c4pgxf5gvy56yv259fbmdwdrdyv6vlddf42";
   };
 
   sourceRoot = "source/BambooTracker";
 
   nativeBuildInputs = [ qmake qttools ];
 
-  buildInputs = [ qtbase qtmultimedia ]
+  buildInputs = [ qtbase ]
     ++ optional alsaSupport alsaLib
     ++ optional pulseSupport libpulseaudio
     ++ optional jackSupport libjack2;
diff --git a/pkgs/applications/audio/bchoppr/default.nix b/pkgs/applications/audio/bchoppr/default.nix
index 7d4d53408d282..33827287712aa 100644
--- a/pkgs/applications/audio/bchoppr/default.nix
+++ b/pkgs/applications/audio/bchoppr/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
-    rev = "${version}";
+    rev = version;
     sha256 = "1nd6byy75f0rbz9dm9drhxmpsfhxhg0y7q3v2m3098llynhy9k2j";
   };
 
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
index 7e5099f3c3188..6841cd6e75d99 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
@@ -1,17 +1,17 @@
-{ fetchurl, bitwig-studio1, pulseaudio, xorg }:
+{ fetchurl, bitwig-studio1, pulseaudio, libjack2, xorg }:
 
 bitwig-studio1.overrideAttrs (oldAttrs: rec {
   name = "bitwig-studio-${version}";
-  version = "3.2.7";
+  version = "3.2.8";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
-    sha256 = "1mj9kii4bnk5w2p18hypwy8swkpzkaqw98q5fsjq362x4qm0b3py";
+    sha256 = "18ldgmnv7bigb4mch888kjpf4abalpiwmlhwd7rjb9qf6p72fhpj";
   };
 
   buildInputs = oldAttrs.buildInputs ++ [ xorg.libXtst ];
 
-  runtimeDependencies = [ pulseaudio ];
+  runtimeDependencies = [ pulseaudio libjack2 ];
 
   installPhase = ''
     ${oldAttrs.installPhase}
diff --git a/pkgs/applications/audio/bsequencer/default.nix b/pkgs/applications/audio/bsequencer/default.nix
index 2c9217183e4aa..093e9450de8bb 100644
--- a/pkgs/applications/audio/bsequencer/default.nix
+++ b/pkgs/applications/audio/bsequencer/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
-    rev = "${version}";
+    rev = version;
     sha256 = "0hagnn104ybzdp13r95idw20fhmzif8p3kmiypnr20m6c64rdd29";
   };
 
diff --git a/pkgs/applications/audio/bslizr/default.nix b/pkgs/applications/audio/bslizr/default.nix
index 5a2675187c025..e239a89b89952 100644
--- a/pkgs/applications/audio/bslizr/default.nix
+++ b/pkgs/applications/audio/bslizr/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
-    rev = "${version}";
+    rev = version;
     sha256 = "1f7xrljvsy7a1p8c7wln2zhwarl3ara7gbjxkpyh47wfdpigpdb0";
   };
 
diff --git a/pkgs/applications/audio/cadence/default.nix b/pkgs/applications/audio/cadence/default.nix
index 4f4ad4b8c5b03..53adb3f146f1e 100644
--- a/pkgs/applications/audio/cadence/default.nix
+++ b/pkgs/applications/audio/cadence/default.nix
@@ -94,7 +94,7 @@ mkDerivation rec {
     homepage = "https://github.com/falkTX/Cadence/";
     description = "Collection of tools useful for audio production";
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [ genesis worldofpeace ];
+    maintainers = with stdenv.lib.maintainers; [ worldofpeace ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix
index df19ac9422882..85806ca9a0d23 100644
--- a/pkgs/applications/audio/cantata/default.nix
+++ b/pkgs/applications/audio/cantata/default.nix
@@ -31,7 +31,7 @@ assert withReplaygain -> withTaglib;
 assert withLibVlc -> withHttpStream;
 
 let
-  version = "2.4.1";
+  version = "2.4.2";
   pname = "cantata";
   fstat = x: fn: "-DENABLE_" + fn + "=" + (if x then "ON" else "OFF");
   fstats = x: map (fstat x);
@@ -47,7 +47,7 @@ in mkDerivation {
     owner  = "CDrummond";
     repo   = "cantata";
     rev    = "v${version}";
-    sha256 = "0ix7xp352bziwz31mw79y7wxxmdn6060p8ry2px243ni1lz1qx1c";
+    sha256 = "15qfx9bpfdplxxs08inwf2j8kvf7g5cln5sv1wj1l2l41vbf1mjr";
   };
 
   patches = [
diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix
index 26cc8cd78da3e..a92a5325f16d8 100644
--- a/pkgs/applications/audio/cava/default.nix
+++ b/pkgs/applications/audio/cava/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "cava";
-  version = "0.7.2";
+  version = "0.7.3";
 
   buildInputs = [
     alsaLib
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     owner = "karlstav";
     repo = "cava";
     rev = version;
-    sha256 = "1chc08spjf5i17n8y48aqzdxsj8vvf0r2l62ldw2pqgw60dacvs1";
+    sha256 = "04j5hb29hivcbk542sfsx9m57dbnj2s6qpvy9fs488zvgjbgxrai";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/applications/audio/clerk/default.nix b/pkgs/applications/audio/clerk/default.nix
index 3c78295db6745..912662b7726c6 100644
--- a/pkgs/applications/audio/clerk/default.nix
+++ b/pkgs/applications/audio/clerk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, makeWrapper, rofi, mpc_cli, perl,
-utillinux, pythonPackages, libnotify }:
+util-linux, pythonPackages, libnotify }:
 
 stdenv.mkDerivation {
   name = "clerk-2016-10-14";
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   installPhase = ''
     DESTDIR=$out PREFIX=/ make install
     wrapProgram $out/bin/clerk \
-      --prefix PATH : "${stdenv.lib.makeBinPath [ rofi mpc_cli perl utillinux libnotify ]}"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ rofi mpc_cli perl util-linux libnotify ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/cozy-audiobooks/default.nix b/pkgs/applications/audio/cozy-audiobooks/default.nix
index a5947bd37f19a..1a78b783f53a0 100644
--- a/pkgs/applications/audio/cozy-audiobooks/default.nix
+++ b/pkgs/applications/audio/cozy-audiobooks/default.nix
@@ -20,7 +20,7 @@ python3Packages.buildPythonApplication rec {
   format = "other"; # no setup.py
 
   pname = "cozy";
-  version = "0.6.7";
+  version = "0.7.2";
 
   # Temporary fix
   # See https://github.com/NixOS/nixpkgs/issues/57029
@@ -31,7 +31,7 @@ python3Packages.buildPythonApplication rec {
     owner = "geigi";
     repo = pname;
     rev = version;
-    sha256 = "0f8dyqj6111czn8spgsnic1fqs3kimjwl1b19mw55fa924b9bhsa";
+    sha256 = "0fmbddi4ga0bppwg3rm3yjmf7jgqc6zfslmavnr1pglbzkjhy9fs";
   };
 
   nativeBuildInputs = [
@@ -55,18 +55,23 @@ python3Packages.buildPythonApplication rec {
   ]);
 
   propagatedBuildInputs = with python3Packages; [
-    gst-python
-    pygobject3
+    apsw
+    cairo
     dbus-python
+    distro
+    gst-python
+    magic
     mutagen
+    packaging
     peewee
-    magic
+    pygobject3
+    pytz
+    requests
   ];
 
   postPatch = ''
-    chmod +x data/meson_post_install.py
-    patchShebangs data/meson_post_install.py
-    substituteInPlace cozy/magic/magic.py --replace "ctypes.util.find_library('magic')" "'${file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}'"
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/audio/csound/csound-qt/default.nix b/pkgs/applications/audio/csound/csound-qt/default.nix
index 895609d3c0232..e6060c056ccb1 100644
--- a/pkgs/applications/audio/csound/csound-qt/default.nix
+++ b/pkgs/applications/audio/csound/csound-qt/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
                  ];
 
   meta = with stdenv.lib; {
-    description = "CsoundQt is a frontend for Csound with editor, integrated help, widgets and other features.";
+    description = "CsoundQt is a frontend for Csound with editor, integrated help, widgets and other features";
     homepage = "https://csoundqt.github.io/";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix
index 7a6acb25e8027..82a47b8173a22 100644
--- a/pkgs/applications/audio/drumkv1/default.nix
+++ b/pkgs/applications/audio/drumkv1/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "drumkv1";
-  version = "0.9.16";
+  version = "0.9.18";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumkv1/${pname}-${version}.tar.gz";
-    sha256 = "1r55575w9r0ifysw9mgxjvv0fszvx8ykjgim3zczf3mb5s9ngavv";
+    sha256 = "1bzkaz7sqx1pvirja8zm7i2ckzl5ad6xspr4840389ik3l8qpnr5";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
diff --git a/pkgs/applications/audio/ecasound/default.nix b/pkgs/applications/audio/ecasound/default.nix
index 13c48fc12af31..adb6f6b742742 100644
--- a/pkgs/applications/audio/ecasound/default.nix
+++ b/pkgs/applications/audio/ecasound/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ alsaLib audiofile libjack2 liblo liboil libsamplerate libsndfile lilv lv2 ];
 
   meta = {
-    description = "Ecasound is a software package designed for multitrack audio processing";
+    description = "Software package designed for multitrack audio processing";
     license = with stdenv.lib.licenses;  [ gpl2 lgpl21 ];
     homepage = "http://nosignal.fi/ecasound/";
   };
diff --git a/pkgs/applications/audio/eflite/default.nix b/pkgs/applications/audio/eflite/default.nix
index f9a579512caba..30a35501771be 100644
--- a/pkgs/applications/audio/eflite/default.nix
+++ b/pkgs/applications/audio/eflite/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://eflite.sourceforge.net";
-    description = "EFlite is a speech server for screen readers";
+    description = "Speech server for screen readers";
     longDescription = ''
       EFlite is a speech server for Emacspeak and other screen
       readers that allows them to interface with Festival Lite,
diff --git a/pkgs/applications/audio/faust/faust1.nix b/pkgs/applications/audio/faust/faust1.nix
index 64b8e72443115..16956433655c9 100644
--- a/pkgs/applications/audio/faust/faust1.nix
+++ b/pkgs/applications/audio/faust/faust1.nix
@@ -17,7 +17,7 @@ let
   };
 
   meta = with stdenv.lib; {
-    homepage = "http://faust.grame.fr/";
+    homepage = "https://faust.grame.fr/";
     downloadPage = "https://sourceforge.net/projects/faudiostream/files/";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index 515f8a6f9af2a..1c096374a42ba 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -31,7 +31,7 @@ let
   };
 
   meta = with stdenv.lib; {
-    homepage = "http://faust.grame.fr/";
+    homepage = "https://faust.grame.fr/";
     downloadPage = "https://github.com/grame-cncm/faust/";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/faust/faust2jack.nix b/pkgs/applications/audio/faust/faust2jack.nix
index 0f703704961ab..dd4cdd29c6639 100644
--- a/pkgs/applications/audio/faust/faust2jack.nix
+++ b/pkgs/applications/audio/faust/faust2jack.nix
@@ -2,7 +2,7 @@
 , gtk2
 , jack2Full
 , alsaLib
-, opencv2
+, opencv
 , libsndfile
 , which
 }:
@@ -20,7 +20,7 @@ faust.wrapWithBuildEnv {
     gtk2
     jack2Full
     alsaLib
-    opencv2
+    opencv
     libsndfile
     which
   ];
diff --git a/pkgs/applications/audio/faust/faust2jaqt.nix b/pkgs/applications/audio/faust/faust2jaqt.nix
index 753208c54c259..76e4b5ce8dbbd 100644
--- a/pkgs/applications/audio/faust/faust2jaqt.nix
+++ b/pkgs/applications/audio/faust/faust2jaqt.nix
@@ -1,6 +1,5 @@
 { faust
 , jack2Full
-, opencv2
 , qt4
 , libsndfile
 , alsaLib
@@ -18,7 +17,6 @@ faust.wrapWithBuildEnv {
 
   propagatedBuildInputs = [
     jack2Full
-    opencv2
     qt4
     libsndfile
     alsaLib
diff --git a/pkgs/applications/audio/faust/faustlive.nix b/pkgs/applications/audio/faust/faustlive.nix
index 03ca4ce8eb0cb..00682b13bef02 100644
--- a/pkgs/applications/audio/faust/faustlive.nix
+++ b/pkgs/applications/audio/faust/faustlive.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
       together the convenience of a standalone interpreted language with the
       efficiency of a compiled language. It's ideal for fast prototyping.
     '';
-    homepage = "http://faust.grame.fr/";
+    homepage = "https://faust.grame.fr/";
     license = licenses.gpl3;
   };
 }
diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix
index bcdc1fe719cd5..7045d6811d38f 100644
--- a/pkgs/applications/audio/ft2-clone/default.nix
+++ b/pkgs/applications/audio/ft2-clone/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ft2-clone";
-  version = "1.31";
+  version = "1.41_fix";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "ft2-clone";
     rev = "v${version}";
-    sha256 = "02j876d4xmbdmqairrs5190dzdm3k4s5hi3g9wvx62cxnnw7igha";
+    sha256 = "0c7jli79ckachl5n2rbhc4yzml8nc36pl9yzxcwgaz544q8pzmaa";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -32,7 +32,9 @@ stdenv.mkDerivation rec {
     homepage = "https://16-bits.org/ft2.php";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fgaz ];
-    platforms = platforms.all;
+    # From HOW-TO-COMPILE.txt:
+    # > This code is NOT big-endian compatible
+    platforms = platforms.littleEndian;
   };
 }
 
diff --git a/pkgs/applications/audio/geonkick/default.nix b/pkgs/applications/audio/geonkick/default.nix
index e32bef008d991..8064c76074663 100644
--- a/pkgs/applications/audio/geonkick/default.nix
+++ b/pkgs/applications/audio/geonkick/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchFromGitLab, cmake, pkg-config, redkite, libsndfile, rapidjson, libjack2, lv2, libX11, cairo }:
+{ stdenv, fetchFromGitLab, cmake, pkg-config, redkite, libsndfile, rapidjson
+, libjack2, lv2, libX11, cairo }:
 
 stdenv.mkDerivation rec {
   pname = "geonkick";
-  version = "2.3.8";
+  version = "2.5.0";
 
   src = fetchFromGitLab {
     owner = "iurie-sw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07809yy2q7dd6fcp0yndlg1vw2ca2zisnsplb3xrxvzdvrqlw910";
+    sha256 = "19zbz4v2n5ph4af721xls7ignmis2q2yqyd0m97g9b3njrgnfy3n";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
@@ -16,13 +17,16 @@ stdenv.mkDerivation rec {
   buildInputs = [ redkite libsndfile rapidjson libjack2 lv2 libX11 cairo ];
 
   # https://github.com/iurie-sw/geonkick/issues/120
-  cmakeFlags = [ "-DGKICK_REDKITE_SDK_PATH=${redkite}" "-DCMAKE_INSTALL_LIBDIR=lib" ];
+  cmakeFlags = [
+    "-DGKICK_REDKITE_SDK_PATH=${redkite}"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+  ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "https://gitlab.com/iurie-sw/geonkick";
     description = "A free software percussion synthesizer";
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.magnetophon ];
   };
 }
diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix
index c7df55118c7a5..cf3a8ae4197b3 100644
--- a/pkgs/applications/audio/gnome-podcasts/default.nix
+++ b/pkgs/applications/audio/gnome-podcasts/default.nix
@@ -10,7 +10,7 @@
 , python3
 , pkgconfig
 , glib
-, libhandy
+, libhandy_0
 , gtk3
 , dbus
 , openssl
@@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [
     glib
     gtk3
-    libhandy
+    libhandy_0
     dbus
     openssl
     sqlite
diff --git a/pkgs/applications/audio/gspeech/default.nix b/pkgs/applications/audio/gspeech/default.nix
index 920c06038fe31..21a4d6748beda 100644
--- a/pkgs/applications/audio/gspeech/default.nix
+++ b/pkgs/applications/audio/gspeech/default.nix
@@ -63,7 +63,7 @@ python3.pkgs.buildPythonApplication rec {
   strictDeps = false;
 
   meta = with lib; {
-    description = "A minimal GUI for the Text To Speech 'Svox Pico'. Read clipboard or selected text in different languages and manage it : pause, stop, replay.";
+    description = "A minimal GUI for the Text To Speech 'Svox Pico'. Read clipboard or selected text in different languages and manage it : pause, stop, replay";
     homepage = "https://github.com/mothsART/gSpeech";
     maintainers = with maintainers; [ mothsart ];
     license = licenses.gpl3;
diff --git a/pkgs/applications/audio/hybridreverb2/default.nix b/pkgs/applications/audio/hybridreverb2/default.nix
index 3f1fac79623d5..831df6ba3c8d6 100644
--- a/pkgs/applications/audio/hybridreverb2/default.nix
+++ b/pkgs/applications/audio/hybridreverb2/default.nix
@@ -4,7 +4,7 @@
 
 let
   pname = "HybridReverb2";
-  version = "2.1.1";
+  version = "2.1.2";
   owner = "jpcima";
   DBversion = "1.0.0";
 in
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     inherit owner;
     repo = pname;
     rev = "v${version}";
-    sha256 = "15mba9qvlis0qrklr50wp3jdysvmk33m7pvclp0k1is9pirj97cb";
+    sha256 = "16r20plz1w068bgbkrydv01a991ygjybdya3ah7bhp3m5xafjwqb";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/jackmix/default.nix b/pkgs/applications/audio/jackmix/default.nix
index 405217675a3ef..14cda8a81b52d 100644
--- a/pkgs/applications/audio/jackmix/default.nix
+++ b/pkgs/applications/audio/jackmix/default.nix
@@ -1,17 +1,21 @@
-{ stdenv, fetchurl, pkgconfig, sconsPackages, qt4, lash, libjack2, jack ? libjack2, alsaLib }:
+{ mkDerivation, lib, fetchFromGitHub, pkgconfig, sconsPackages, qtbase, lash, libjack2, jack ? libjack2, alsaLib }:
 
-stdenv.mkDerivation {
-  name = "jackmix-0.5.2";
-  src = fetchurl {
-    url = "https://github.com/kampfschlaefer/jackmix/archive/v0.5.2.tar.gz";
-    sha256 = "18f5v7g66mgarhs476frvayhch7fy4nyjf2xivixc061ipn0m82j";
+mkDerivation rec {
+  pname = "jackmix";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "kampfschlaefer";
+    repo = "jackmix";
+    rev = version;
+    sha256 = "0p59411vk38lccn24r7nih10jpgg9i46yc26zpc3x13amxwwpd4h";
   };
 
   patches = [ ./no_error.patch ];
 
   nativeBuildInputs = [ sconsPackages.scons_3_1_2 pkgconfig ];
   buildInputs = [
-    qt4
+    qtbase
     lash
     jack
     alsaLib
@@ -21,11 +25,11 @@ stdenv.mkDerivation {
     install -D jackmix/jackmix $out/bin/jackmix
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Matrix-Mixer for the Jack-Audio-connection-Kit";
-    homepage = "http://www.arnoldarts.de/jackmix/";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.kampfschlaefer ];
-    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://github.com/kampfschlaefer/jackmix";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ kampfschlaefer ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/jackmix/no_error.patch b/pkgs/applications/audio/jackmix/no_error.patch
index d1a714ded9ca9..593800134e1fa 100644
--- a/pkgs/applications/audio/jackmix/no_error.patch
+++ b/pkgs/applications/audio/jackmix/no_error.patch
@@ -1,13 +1,13 @@
 diff --git a/SConstruct b/SConstruct
-index 4290fa5..0a7a679 100644
+index 8bf6517..a432aa9 100644
 --- a/SConstruct
 +++ b/SConstruct
 @@ -16,7 +16,7 @@ env = Environment(
- env.Replace( LIBS="" )
- env.Replace( LIBPATH="" )
-
--env.MergeFlags( ['-Wall', '-Werror', '-g', '-fpic'] )
-+env.MergeFlags( ['-g', '-fpic'] )
-
- tests = { }
- tests.update( env['PKGCONFIG_TESTS'] )
+ env.Replace(LIBS="")
+ env.Replace(LIBPATH="")
+ 
+-env.MergeFlags(['-Wall', '-Werror', '-g', '-fpic', '-std=c++11'])
++env.MergeFlags(['-g', '-fpic', '-std=c++11'])
+ 
+ tests = {}
+ tests.update(env['PKGCONFIG_TESTS'])
diff --git a/pkgs/applications/audio/jamulus/default.nix b/pkgs/applications/audio/jamulus/default.nix
index 7a5887d4f92b6..1839aa9c7adaa 100644
--- a/pkgs/applications/audio/jamulus/default.nix
+++ b/pkgs/applications/audio/jamulus/default.nix
@@ -3,12 +3,12 @@
 
 mkDerivation rec {
   pname = "jamulus";
-  version = "3.5.10";
+  version = "3.6.0";
   src = fetchFromGitHub {
     owner = "corrados";
     repo = "jamulus";
     rev = "r${stdenv.lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "0bw2v40csjmlkvkhr3dh0g1a7mfqrs1xkqjsii61yfzy2ckbsi82";
+    sha256 = "06x9b2kjsgk8kddhif0x59nwzhnwjmq40x3w5nrphqaimqlrhlcf";
   };
 
   nativeBuildInputs = [ pkg-config qmake ];
diff --git a/pkgs/applications/audio/littlegptracker/0002-Set-the-initial-directory-to-the-current-directory.patch b/pkgs/applications/audio/littlegptracker/0002-Set-the-initial-directory-to-the-current-directory.patch
deleted file mode 100644
index 3e1c822be2ae9..0000000000000
--- a/pkgs/applications/audio/littlegptracker/0002-Set-the-initial-directory-to-the-current-directory.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From c3865405ca707e3284a81709577d85ce2b3db72c Mon Sep 17 00:00:00 2001
-From: Francesco Gazzetta <fgaz@fgaz.me>
-Date: Wed, 19 Aug 2020 15:06:58 +0200
-Subject: [PATCH 2/2] Set the initial directory to the current directory
-
-otherwise the user has to navigate from the nix store, which makes the program
-crash due to its size
----
- sources/Adapters/DEB/System/DEBSystem.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sources/Adapters/DEB/System/DEBSystem.cpp b/sources/Adapters/DEB/System/DEBSystem.cpp
-index 6e86693..65d2cdd 100644
---- a/sources/Adapters/DEB/System/DEBSystem.cpp
-+++ b/sources/Adapters/DEB/System/DEBSystem.cpp
-@@ -54,7 +54,7 @@ void DEBSystem::Boot(int argc,char **argv) {
- 	}
- 	Path::SetAlias("bin",dirname(buff)) ;
- 
--	Path::SetAlias("root","bin:..") ;
-+	Path::SetAlias("root",".") ;
- 
- #ifdef _DEBUG
-   Trace::GetInstance()->SetLogger(*(new StdOutLogger()));
--- 
-2.25.4
-
diff --git a/pkgs/applications/audio/littlegptracker/default.nix b/pkgs/applications/audio/littlegptracker/default.nix
index 91d709687949f..9b1a1869c283a 100644
--- a/pkgs/applications/audio/littlegptracker/default.nix
+++ b/pkgs/applications/audio/littlegptracker/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "littlegptracker";
-  version = "unstable-2019-04-14";
+  version = "unstable-2020-11-26";
 
   src = fetchFromGitHub {
     owner = "Mdashdotdashn";
     repo = "littlegptracker";
-    rev = "0ed729b46739e3df5e111c6fa4d548fde2d3b891";
-    sha256 = "1pc6lg2qp6xh7ahs5d5pb63ms4h2dz7ryp3c7mci4g37gbwbsj5b";
+    rev = "4aca8cd765e1ad586da62decd019e66cb64b45b8";
+    sha256 = "0f2ip8z5wxk8fvlw47mczsbcrzh4nh1hgw1fwf5gjrqnzm8v111x";
   };
 
   buildInputs = [
@@ -26,9 +26,6 @@ stdenv.mkDerivation rec {
     # Remove outdated (pre-64bit) checks that would fail on modern platforms
     # (see description in patch file)
     ./0001-Remove-coherency-checks.patch
-    # Set starting directory to cwd, default is in /nix/store and causes a crash
-    # (see description in patch file)
-    ./0002-Set-the-initial-directory-to-the-current-directory.patch
   ];
 
   preBuild = "cd projects";
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index f325185920d70..14ab2aaf2d0b7 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -7,6 +7,7 @@
 , python3
 , gtk3
 , gst_all_1
+, libhandy
 , libsecret
 , libsoup
 , appstream-glib
@@ -24,7 +25,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "1.3.2";
+  version = "1.4.5";
 
   format = "other";
   doCheck = false;
@@ -33,7 +34,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "14854j1dhq67s1vzs0lqy345vbl6f5w8nb36n4i33fmpva2flsk3";
+    sha256 = "1i5qcpp3fpkda08g6nkiiff8lsjmv5xsvpa0512kigq5z0lsagrx";
   };
 
   nativeBuildInputs = [
@@ -57,6 +58,7 @@ python3.pkgs.buildPythonApplication rec  {
     gst-plugins-ugly
     gstreamer
     gtk3
+    libhandy
     libsoup
     pango
     totem-pl-parser
diff --git a/pkgs/applications/audio/luppp/build-install.patch b/pkgs/applications/audio/luppp/build-install.patch
deleted file mode 100644
index 4dae65438cb5f..0000000000000
--- a/pkgs/applications/audio/luppp/build-install.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-commit 4ec09e6f6e00e40622a5207ed24dc657da9a9090
-Author: Pavol Rusnak <stick@gk2.sk>
-Date:   Tue Dec 4 12:06:22 2018 +0100
-
-    build: add install: true to executable in meson.build
-
-diff --git a/meson.build b/meson.build
-index 050e1b1..9224ed5 100644
---- a/meson.build
-+++ b/meson.build
-@@ -39,4 +39,5 @@ endforeach
- 
- # compile the main project
- executable('luppp', luppp_src + [version_hxx],
-+    install: true,
-     dependencies: deps)
diff --git a/pkgs/applications/audio/luppp/default.nix b/pkgs/applications/audio/luppp/default.nix
index c1494ffc3334e..6cf2575b8e5fd 100644
--- a/pkgs/applications/audio/luppp/default.nix
+++ b/pkgs/applications/audio/luppp/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub
+{ stdenv
+, fetchFromGitHub
 , meson
 , ninja
 , pkgconfig
@@ -12,26 +13,32 @@
 
 stdenv.mkDerivation rec {
   pname = "luppp";
-  version = "1.2.0";
-  patches = [ ./build-install.patch ];
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "openAVproductions";
     repo = "openAV-Luppp";
     rev = "release-${version}";
-    sha256 = "194yq0lqc2psq9vyxmzif40ccawcvd9jndcn18mkz4f8h5w5rc1a";
+    sha256 = "1ncbn099fyfnr7jw2bp3wf2g9k738lw53m6ssw6wji2wxwmghv78";
   };
 
   nativeBuildInputs = [
-    meson ninja pkgconfig
+    meson
+    ninja
+    pkgconfig
   ];
 
   buildInputs = [
-    jack2 cairo liblo libsndfile libsamplerate ntk
+    jack2
+    cairo
+    liblo
+    libsndfile
+    libsamplerate
+    ntk
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://openavproductions.com/luppp/";
+    homepage = "http://openavproductions.com/luppp/";  # https does not work
     description = "A music creation tool, intended for live use";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ prusnak ];
diff --git a/pkgs/applications/audio/mamba/default.nix b/pkgs/applications/audio/mamba/default.nix
index 23a94668ded15..dc8620fdd4e15 100644
--- a/pkgs/applications/audio/mamba/default.nix
+++ b/pkgs/applications/audio/mamba/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mamba";
-  version = "1.6";
+  version = "1.8";
 
   src = fetchFromGitHub {
     owner = "brummer10";
     repo = "Mamba";
     rev = "v${version}";
-    sha256 = "02w47347cbfqxybh908ww5ifd9jcns8v0msycq59y9q7x0a2h6fh";
+    sha256 = "049gvdvvv3hkh1b47h0bia02g1p71agwh6g7q0n4yxz4d81b8kha";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/mellowplayer/default.nix b/pkgs/applications/audio/mellowplayer/default.nix
index a117611fdfa2d..26736ea3e8a3c 100644
--- a/pkgs/applications/audio/mellowplayer/default.nix
+++ b/pkgs/applications/audio/mellowplayer/default.nix
@@ -62,7 +62,7 @@ mkDerivation rec {
   meta = with lib; {
     inherit (qtbase.meta) platforms;
 
-    description = "Cloud music integration for your desktop.";
+    description = "Cloud music integration for your desktop";
     homepage = "https://gitlab.com/ColinDuquesnoy/MellowPlayer";
     license = licenses.gpl2;
     maintainers = with maintainers; [ kalbasit ];
diff --git a/pkgs/applications/audio/midas/generic.nix b/pkgs/applications/audio/midas/generic.nix
index 293d1b0b6c82b..769593919d46c 100644
--- a/pkgs/applications/audio/midas/generic.nix
+++ b/pkgs/applications/audio/midas/generic.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, lib, libX11, libXext, alsaLib, freetype, brand, type, version, homepage, sha256, ... }:
+{ stdenv, fetchurl, lib, libX11, libXext, alsaLib, freetype, brand, type, version, homepage, url, sha256, ... }:
 stdenv.mkDerivation rec {
   inherit type;
   baseName = "${type}-Edit";
   name = "${lib.toLower baseName}-${version}";
 
   src = fetchurl {
-    url = "http://downloads.music-group.com/software/behringer/${type}/${type}-Edit_LINUX_64bit_${version}.tar.gz";
+    inherit url;
     inherit sha256;
   };
 
diff --git a/pkgs/applications/audio/midas/m32edit.nix b/pkgs/applications/audio/midas/m32edit.nix
index 6af11d42e31f9..082da1621be39 100644
--- a/pkgs/applications/audio/midas/m32edit.nix
+++ b/pkgs/applications/audio/midas/m32edit.nix
@@ -1,9 +1,10 @@
 { callPackage, ... } @ args:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix (args // rec {
   brand = "Midas";
   type = "M32";
-  version = "3.2";
-  sha256 = "1cds6qinz37086l6pmmgrzrxadygjr2z96sjjyznnai2wz4z2nrd";
-  homepage = "http://www.musictri.be/Categories/Midas/Mixers/Digital/M32/p/P0B3I/downloads";
+  version = "4.1";
+  url = "https://mediadl.musictribe.com/download/software/midas_${type}/${type}-Edit_LINUX_64-Bit_${version}.tar.gz";
+  sha256 = "0aqhdrxqa49liyvbbw5x32kwk0h1spzvmizmdxklrfs64vvr9bvh";
+  homepage = "https://midasconsoles.com/midas/product?modelCode=P0B3I";
 })
diff --git a/pkgs/applications/audio/midas/x32edit.nix b/pkgs/applications/audio/midas/x32edit.nix
index 7e364ff984a5f..a07c83a9dfe4f 100644
--- a/pkgs/applications/audio/midas/x32edit.nix
+++ b/pkgs/applications/audio/midas/x32edit.nix
@@ -1,9 +1,10 @@
 { callPackage, ... } @ args:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix (args // rec {
   brand = "Behringer";
   type = "X32";
-  version = "3.2";
-  sha256 = "1lzmhd0sqnlzc0khpwm82sfi48qhv7rg153a57qjih7hhhy41mzk";
-  homepage = "http://www.musictri.be/Categories/Behringer/Mixers/Digital/X32/p/P0ASF/downloads";
+  version = "4.1";
+  url = "https://mediadl.musictribe.com/download/software/behringer/${type}/${type}-Edit_LINUX_64-Bit_${version}.tar.gz";
+  sha256 = "0zsw7qfmcci87skkpq8vx5zxk35phn8y4byispvki9ascifnnb33";
+  homepage = "https://www.behringer.com/behringer/product?modelCode=P0ASF";
 })
diff --git a/pkgs/applications/audio/midi-visualizer/default.nix b/pkgs/applications/audio/midi-visualizer/default.nix
index c66771be1c9dd..64c0cae7a6486 100644
--- a/pkgs/applications/audio/midi-visualizer/default.nix
+++ b/pkgs/applications/audio/midi-visualizer/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "MIDIVisualizer";
-  version = "5.1";
+  version = "5.2";
 
   src = fetchFromGitHub {
     owner = "kosua20";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1fjlfa0qjpnjxl3bx5cq3dkswv9wihxmgfpkjijqp7kvf3q127rq";
+    sha256 = "19z8m6clirz8kwfjp0z1j69fjfna8ar7hkgqnlm3lrc84gyx2rpf";
   };
 
   nativeBuildInputs = [ cmake pkg-config makeWrapper];
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index 23322ca5663e4..fc532482cba43 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -14,9 +14,7 @@ let
 
     mopidy-gmusic = callPackage ./gmusic.nix { };
 
-    mopidy-local-images = callPackage ./local-images.nix { };
-
-    mopidy-local-sqlite = callPackage ./local-sqlite.nix { };
+    mopidy-local = callPackage ./local.nix { };
 
     mopidy-spotify = callPackage ./spotify.nix { };
 
diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix
index 467ba6fe3f707..48f955fd7137d 100644
--- a/pkgs/applications/audio/mopidy/iris.nix
+++ b/pkgs/applications/audio/mopidy/iris.nix
@@ -1,4 +1,4 @@
-{ stdenv, python3Packages, mopidy, mopidy-local-images }:
+{ stdenv, python3Packages, mopidy }:
 
 python3Packages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
diff --git a/pkgs/applications/audio/mopidy/local-images.nix b/pkgs/applications/audio/mopidy/local-images.nix
deleted file mode 100644
index 085fe855e8a8a..0000000000000
--- a/pkgs/applications/audio/mopidy/local-images.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchFromGitHub, pythonPackages, mopidy, gobject-introspection }:
-
-pythonPackages.buildPythonApplication rec {
-  pname = "mopidy-local-images";
-  version = "1.0.0";
-
-  src = fetchFromGitHub {
-    owner = "mopidy";
-    repo = "mopidy-local-images";
-    rev = "v${version}";
-    sha256 = "0gdqxws0jish50mmi57mlqcs659wrllzv00czl18niz94vzvyc0d";
-  };
-
-  buildInputs = [ gobject-introspection ];
-
-  checkInputs = [
-    pythonPackages.mock
-  ];
-
-  propagatedBuildInputs = [
-    mopidy
-    pythonPackages.pykka
-    pythonPackages.uritools
-  ];
-
-  meta = with stdenv.lib; {
-    homepage = "https://github.com/mopidy/mopidy-local-images";
-    description = "Mopidy local library proxy extension for handling embedded album art";
-    license = licenses.asl20;
-    maintainers = [ maintainers.rvolosatovs ];
-  };
-}
diff --git a/pkgs/applications/audio/mopidy/local-sqlite.nix b/pkgs/applications/audio/mopidy/local-sqlite.nix
deleted file mode 100644
index 23e01c02a0f50..0000000000000
--- a/pkgs/applications/audio/mopidy/local-sqlite.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchFromGitHub, pythonPackages, mopidy }:
-
-pythonPackages.buildPythonApplication rec {
-  pname = "mopidy-local-sqlite";
-  version = "1.0.0";
-
-  src = fetchFromGitHub {
-    owner = "mopidy";
-    repo = "mopidy-local-sqlite";
-    rev = "v${version}";
-    sha256 = "1fjd9ydbfwd1n9b9zw8zjn4l7c5hpam2n0xs51pjkjn82m3zq9zv";
-  };
-
-  propagatedBuildInputs = [
-    mopidy
-    pythonPackages.uritools
-  ];
-
-  meta = with stdenv.lib; {
-    homepage = "https://github.com/mopidy/mopidy-local-sqlite";
-    description = "Mopidy SQLite local library extension";
-    license = licenses.asl20;
-    maintainers = [ maintainers.rvolosatovs ];
-  };
-}
diff --git a/pkgs/applications/audio/mopidy/local.nix b/pkgs/applications/audio/mopidy/local.nix
new file mode 100644
index 0000000000000..43554280565e2
--- /dev/null
+++ b/pkgs/applications/audio/mopidy/local.nix
@@ -0,0 +1,30 @@
+{ lib
+, mopidy
+, python3Packages
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "Mopidy-Local";
+  version = "3.1.1";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "13m0iz14lyplnpm96gfpisqvv4n89ls30kmkg21z7v238lm0h19j";
+  };
+
+  propagatedBuildInputs = [
+    mopidy
+    python3Packages.uritools
+  ];
+
+  checkInputs = [
+    python3Packages.pytestCheckHook
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/mopidy/mopidy-local";
+    description = "Mopidy extension for playing music from your local music archive";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ruuda ];
+  };
+}
diff --git a/pkgs/applications/audio/mopidy/mopidy.nix b/pkgs/applications/audio/mopidy/mopidy.nix
index 28216020b78a9..eb5672fe135b4 100644
--- a/pkgs/applications/audio/mopidy/mopidy.nix
+++ b/pkgs/applications/audio/mopidy/mopidy.nix
@@ -16,13 +16,24 @@ pythonPackages.buildPythonApplication rec {
   nativeBuildInputs = [ wrapGAppsHook ];
 
   buildInputs = with gst_all_1; [
-    gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad
-    glib-networking gobject-introspection
+    glib-networking
+    gst-plugins-bad
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-ugly
   ];
 
-  propagatedBuildInputs = with pythonPackages; [
-    gst-python pygobject3 pykka tornado requests setuptools
-  ] ++ stdenv.lib.optional (!stdenv.isDarwin) dbus-python;
+  propagatedBuildInputs = [
+    gobject-introspection
+  ] ++ (with pythonPackages; [
+      gst-python
+      pygobject3
+      pykka
+      requests
+      setuptools
+      tornado
+    ] ++ stdenv.lib.optional (!stdenv.isDarwin) dbus-python
+  );
 
   # There are no tests
   doCheck = false;
diff --git a/pkgs/applications/audio/mopidy/musicbox-webclient.nix b/pkgs/applications/audio/mopidy/musicbox-webclient.nix
index d628e5894a28b..b10accedc6f8e 100644
--- a/pkgs/applications/audio/mopidy/musicbox-webclient.nix
+++ b/pkgs/applications/audio/mopidy/musicbox-webclient.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy-musicbox-webclient";
-  version = "2.4.0";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "pimusicbox";
     repo = "mopidy-musicbox-webclient";
     rev = "v${version}";
-    sha256 = "0784s32pap9rbki3f0f7swaf6946sdv4xzidns13jmw9ilifk5z4";
+    sha256 = "1lzarazq67gciyn6r8cdms0f7j0ayyfwhpf28z93ydb280mfrrb9";
   };
 
   propagatedBuildInputs = [ mopidy ];
@@ -18,6 +18,7 @@ pythonPackages.buildPythonApplication rec {
   meta = with stdenv.lib; {
     description = "Mopidy extension for playing music from SoundCloud";
     license = licenses.mit;
+    broken = stdenv.isDarwin;
     maintainers = [ maintainers.spwhitt ];
   };
 }
diff --git a/pkgs/applications/audio/mopidy/tunein.nix b/pkgs/applications/audio/mopidy/tunein.nix
index 569d08fb4a033..9ab0323205283 100644
--- a/pkgs/applications/audio/mopidy/tunein.nix
+++ b/pkgs/applications/audio/mopidy/tunein.nix
@@ -20,7 +20,7 @@ python3Packages.buildPythonApplication rec {
   pythonImportsCheck = [ "mopidy_tunein.tunein" ];
 
   meta = with stdenv.lib; {
-    description = "Mopidy extension for playing music from tunein.";
+    description = "Mopidy extension for playing music from tunein";
     homepage = "https://github.com/kingosticks/mopidy-tunein";
     license = licenses.asl20;
     maintainers = with maintainers; [ hexa ];
diff --git a/pkgs/applications/audio/muse/default.nix b/pkgs/applications/audio/muse/default.nix
index 6ba29226b585f..e7332aa187591 100644
--- a/pkgs/applications/audio/muse/default.nix
+++ b/pkgs/applications/audio/muse/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "https://www.muse-sequencer.org/";
+    homepage = "https://muse-sequencer.github.io/";
     description = "MIDI/Audio sequencer with recording and editing capabilities";
     longDescription = ''
       MusE is a MIDI/Audio sequencer with recording and editing capabilities
diff --git a/pkgs/applications/audio/musescore/darwin.nix b/pkgs/applications/audio/musescore/darwin.nix
index 8870a144c9f5a..4a2ae29f36ad8 100644
--- a/pkgs/applications/audio/musescore/darwin.nix
+++ b/pkgs/applications/audio/musescore/darwin.nix
@@ -11,6 +11,9 @@ stdenv.mkDerivation rec {
   pname = "musescore-darwin";
   version = concatStringsSep "." versionComponents;
 
+  # The disk image contains the .app and a symlink to /Applications.
+  sourceRoot = "${appName}.app";
+
   src = fetchurl {
     url =  "ftp://ftp.osuosl.org/pub/musescore/releases/MuseScore-${concatStringsSep "." (take 3 versionComponents)}/MuseScore-${version}.dmg";
     sha256 = "19xkaxlkbrhvfip6n3iw6q7463ngr6y5gfisrpjqg2xl2igyl795";
diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix
index 71c639ca40684..c9a1f44ec6390 100644
--- a/pkgs/applications/audio/musescore/default.nix
+++ b/pkgs/applications/audio/musescore/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, mkDerivation, lib, fetchzip, cmake, pkgconfig
+{ stdenv, mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig
 , alsaLib, freetype, libjack2, lame, libogg, libpulseaudio, libsndfile, libvorbis
 , portaudio, portmidi, qtbase, qtdeclarative, qtgraphicaleffects
 , qtquickcontrols2, qtscript, qtsvg, qttools
@@ -7,12 +7,13 @@
 
 mkDerivation rec {
   pname = "musescore";
-  version = "3.5.0";
+  version = "3.5.2";
 
-  src = fetchzip {
-    url = "https://github.com/musescore/MuseScore/releases/download/v3.5/MuseScore-${version}.zip";
-    sha256 = "0m598xh0s4f5m4l2ymy7g44bbvc14bcfi4gifhjnrg091rsk57c9";
-    stripRoot = false;
+  src = fetchFromGitHub {
+    owner = "musescore";
+    repo = "MuseScore";
+    rev = "v${version}";
+    sha256 = "VA0+npLUUXQJHalD01pmFTTum2Re7FiiyAwU1XvR93s=";
   };
 
   patches = [
diff --git a/pkgs/applications/audio/musikcube/default.nix b/pkgs/applications/audio/musikcube/default.nix
index 8fc0616ff73bc..c6d1a264a9c38 100644
--- a/pkgs/applications/audio/musikcube/default.nix
+++ b/pkgs/applications/audio/musikcube/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "musikcube";
-  version = "0.93.1";
+  version = "0.95.0";
 
   src = fetchFromGitHub {
     owner = "clangen";
     repo = pname;
     rev = version;
-    sha256 = "05qsxyr7x8l0vlmn4yjg4gglxvcw9raf6vfzvblsl2ngsdsrnizy";
+    sha256 = "16ksr4yjkg88bpij1i49dzi07ffhqq8b36r090y4fq5czrc420rc";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index ca61aa0cd6f03..97aa06453e52b 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -10,13 +10,13 @@ assert pcreSupport -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "ncmpc";
-  version = "0.39";
+  version = "0.42";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "ncmpc";
     rev    = "v${version}";
-    sha256 = "08xrcinfm1a7hjycf8la7gnsxbp3six70ks987dr7j42kd42irfq";
+    sha256 = "1c21sbdm6pp3kwhnzc7c6ksna7madvsmfa7j91as2g8485symqv2";
   };
 
   buildInputs = [ glib ncurses mpd_clientlib boost ]
diff --git a/pkgs/applications/audio/ncpamixer/default.nix b/pkgs/applications/audio/ncpamixer/default.nix
index 32d8df2f0487f..89a0da5e0d636 100644
--- a/pkgs/applications/audio/ncpamixer/default.nix
+++ b/pkgs/applications/audio/ncpamixer/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
 
   pname = "ncpamixer";
-  version = "1.3.3";
+  version = "1.3.3.1";
 
   src = fetchFromGitHub {
     owner = "fulhax";
     repo = "ncpamixer";
     rev = version;
-    sha256 = "19pxfvfhhrbfk1wz5awx60y51jccrgrcvlq7lb622sw2z0wzw4ac";
+    sha256 = "1v3bz0vpgh18257hdnz3yvbnl51779g1h5b265zgc21ks7m1jw5z";
   };
 
   buildInputs = [ ncurses libpulseaudio ];
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index 2fcbf82107d60..60fb40c5f7433 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -14,16 +14,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "ncspot";
-  version = "0.2.2";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "hrkfdn";
     repo = "ncspot";
     rev = "v${version}";
-    sha256 = "1i17pidw2hylijwfn96f2bnswfxxwdln2ydsq8b1q4hfzfbxlfk2";
+    sha256 = "0vdg1ybzfj7xg8nmrb8q9vr8bpwcs52730v9v0413wjyxb7hcll2";
   };
 
-  cargoSha256 = "1cpy4wrj9dz2crva4p18f8hzym73x4m2mcfds4ppri4ir7qg29dr";
+  cargoSha256 = "0afaxx8dv7jn48934ba0r8kd1h8l3k00sl83v07a1xqmfcmil2qf";
 
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
 
diff --git a/pkgs/applications/audio/noisetorch/config.patch b/pkgs/applications/audio/noisetorch/config.patch
deleted file mode 100644
index f6e258862db67..0000000000000
--- a/pkgs/applications/audio/noisetorch/config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/config.go b/config.go
-index de16249..fb91ec0 100644
---- a/config.go
-+++ b/config.go
-@@ -20,7 +20,7 @@ const configFile = "config.toml"
- 
- func initializeConfigIfNot() {
- 	log.Println("Checking if config needs to be initialized")
--	conf := config{Threshold: 95, DisplayMonitorSources: false, EnableUpdates: true}
-+	conf := config{Threshold: 95, DisplayMonitorSources: false, EnableUpdates: false}
- 	configdir := configDir()
- 	ok, err := exists(configdir)
- 	if err != nil {
diff --git a/pkgs/applications/audio/noisetorch/default.nix b/pkgs/applications/audio/noisetorch/default.nix
index 1739d27870a0b..1932f239cfd7a 100644
--- a/pkgs/applications/audio/noisetorch/default.nix
+++ b/pkgs/applications/audio/noisetorch/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "NoiseTorch";
-  version = "0.5.2-beta";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "lawl";
     repo = "NoiseTorch";
     rev = version;
-    sha256 = "1q0gfpqczlpybxcjjkiybcy6yc0gnrq8x27r0mpg4pvgwy7mps47";
+    sha256 = "14i04rmraxbddcvk0k9c6ak9invln7002g5jms54kcjzv9p39hbf";
   };
 
-  patches = [ ./version.patch ./config.patch ./embedlibrnnoise.patch ];
+  patches = [ ./version.patch ./embedlibrnnoise.patch ];
 
   vendorSha256 = null;
 
diff --git a/pkgs/applications/audio/nuclear/default.nix b/pkgs/applications/audio/nuclear/default.nix
new file mode 100644
index 0000000000000..6b2a5b67122d0
--- /dev/null
+++ b/pkgs/applications/audio/nuclear/default.nix
@@ -0,0 +1,32 @@
+{ appimageTools, lib, fetchurl }:
+let
+  pname = "nuclear";
+  version = "0.6.6";
+  name = "${pname}-v${version}";
+
+  src = fetchurl {
+    url = "https://github.com/nukeop/nuclear/releases/download/v${version}/${name}.AppImage";
+    sha256 = "0c1335m76fv0wfbk07s8r6ln7zbmlqd66052gqfisakl8a1aafl6";
+  };
+
+  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=$out/bin/nuclear'
+    cp -r ${appimageContents}/usr/share/icons $out/share
+  '';
+
+  meta = with lib; {
+    description = "Streaming music player that finds free music for you";
+    homepage = "https://nuclear.js.org/";
+    license = licenses.agpl3Plus;
+    maintainers = [ maintainers.ivar ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/audio/ocenaudio/default.nix b/pkgs/applications/audio/ocenaudio/default.nix
index 19f6d7bfb5ae2..0de043d35dbad 100644
--- a/pkgs/applications/audio/ocenaudio/default.nix
+++ b/pkgs/applications/audio/ocenaudio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ocenaudio";
-  version = "3.9.2";
+  version = "3.9.5";
 
   src = fetchurl {
     url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}";
-    sha256 = "1fvpba3dnzb7sm6gp0znbrima02ckfiy2zwb66x1gr05y9a56inv";
+    sha256 = "13hvdfydlgp2qf49ddhdzghz5jkyx1rhnsj8sf8khfxf9k8phkjd";
   };
 
 
diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix
index 0646407582ed2..91bf47dddd6b4 100644
--- a/pkgs/applications/audio/openmpt123/default.nix
+++ b/pkgs/applications/audio/openmpt123/default.nix
@@ -2,14 +2,14 @@
 , usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
 
 let
-  version = "0.5.2";
+  version = "0.5.3";
 in stdenv.mkDerivation {
   pname = "openmpt123";
   inherit version;
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "1cwpc4j90dpxa2siia68rg9qwwm2xk6bhxnslfjj364507jy6s4l";
+    sha256 = "1f155yf5v57dwhzb7z0kh67lckr3yq4x8040dm54qgbxw582la77";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/audio/opustags/default.nix b/pkgs/applications/audio/opustags/default.nix
new file mode 100644
index 0000000000000..8e5546aec8b6c
--- /dev/null
+++ b/pkgs/applications/audio/opustags/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, cmake, pkgconfig, libogg, fetchFromGitHub, libiconv }:
+stdenv.mkDerivation rec {
+  pname = "opustags";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "fmang";
+    repo = "opustags";
+    rev = version;
+    sha256 = "1y0czl72paawy342ff9ickaamkih43k59yfcdw7bnddypyfa7nbg";
+  };
+
+  buildInputs = [ libogg ];
+
+  nativeBuildInputs = [ cmake pkgconfig ] ++ lib.optional stdenv.isDarwin libiconv;
+
+  meta = with lib; {
+    homepage = "https://github.com/fmang/opustags";
+    description = "Ogg Opus tags editor";
+    platforms = platforms.all;
+    maintainers = [ maintainers.kmein ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/applications/audio/orca-c/default.nix b/pkgs/applications/audio/orca-c/default.nix
index 3a4f4b2ce2b8e..74c74578beb98 100644
--- a/pkgs/applications/audio/orca-c/default.nix
+++ b/pkgs/applications/audio/orca-c/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    description = "An esoteric programming language designed to quickly create procedural sequencers.";
+    description = "An esoteric programming language designed to quickly create procedural sequencers";
     homepage = "https://github.com/hundredrabbits/Orca-c";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/applications/audio/padthv1/default.nix b/pkgs/applications/audio/padthv1/default.nix
index 29ef027f2f20f..e321119d838f5 100644
--- a/pkgs/applications/audio/padthv1/default.nix
+++ b/pkgs/applications/audio/padthv1/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "padthv1";
-  version = "0.9.17";
+  version = "0.9.18";
 
   src = fetchurl {
     url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz";
-    sha256 = "098fk8fwcgssnfr1gilqg8g17zvch62lrn3rqsswpzbr3an5adb3";
+    sha256 = "1karrprb3ijrbiwpr43rl3nxnzc33lnmwrd1832psgr3flnr9fp5";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftwFloat ];
diff --git a/pkgs/applications/audio/pd-plugins/gem/default.nix b/pkgs/applications/audio/pd-plugins/gem/default.nix
index 2c0d0a24c5730..a44ba689a6186 100644
--- a/pkgs/applications/audio/pd-plugins/gem/default.nix
+++ b/pkgs/applications/audio/pd-plugins/gem/default.nix
@@ -15,27 +15,15 @@
 
 stdenv.mkDerivation rec {
   pname = "gem-unstable";
-  # The patch below applies to the latest release (v0.94), but then the build
-  # fails. I didn't track down what changed between that version and the
-  # current master that fixes the build on Nix
-  version = "2020-03-26";
+  version = "2020-09-22";
 
   src = fetchFromGitHub {
     owner = "umlaeute";
     repo = "Gem";
-    rev = "f38748d71bfca00e4d2b2f31d6c4e3759c03d599";
-    sha256 = "0bkky5fk0a836bapslrgzil272iq9y704y7hw254cfq5ffjd4qjy";
+    rev = "2edfde4f0587e72ef325e7f53681936dcc19655b";
+    sha256 = "0k5sq128wxi2qhaidspkw310pdgysxs47agv09pkjgvch2n4d5dq";
   };
 
-  patches = [
-    # Update autoconf OpenGL/GLU/GLUT detection scripts
-    # https://github.com/umlaeute/Gem/pull/251
-    (fetchpatch {
-      url = "https://github.com/umlaeute/Gem/commit/343a486c2b5c3427696f77aeabdff440e6590fc7.diff";
-      sha256 = "0gkzxv80rgg8lgp9av5qp6xng3ldhnbjz9d6r7ym784fw8yx41yj";
-    })
-  ];
-
   nativeBuildInputs = [
     autoreconfHook
     file
diff --git a/pkgs/applications/audio/pianobooster/default.nix b/pkgs/applications/audio/pianobooster/default.nix
index 4832fce1e9626..b92808775c8a1 100644
--- a/pkgs/applications/audio/pianobooster/default.nix
+++ b/pkgs/applications/audio/pianobooster/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkg-config, qttools
-, alsaLib, ftgl, libGLU, libjack2, qtbase, rtmidi
+, alsaLib, ftgl, libGLU, libjack2, qtbase, rtmidi, wrapQtAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "03xcdnlpsij22ca3i6xj19yqzn3q2ch0d32r73v0c96nm04gvhjj";
   };
 
-  nativeBuildInputs = [ cmake pkg-config qttools ];
+  nativeBuildInputs = [ cmake pkg-config qttools wrapQtAppsHook ];
 
   buildInputs = [ alsaLib ftgl libGLU libjack2 qtbase rtmidi ];
 
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index d8c927be268b6..fb6f59d0ded74 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -12,13 +12,13 @@ let
   ;
 in pythonPackages.buildPythonApplication rec {
   pname = "picard";
-  version = "2.4.4";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "metabrainz";
     repo = pname;
     rev = "release-${version}";
-    sha256 = "0iw2v37j70881v0a2rjp2miq97nscq04x1ysk1dqmi1b9hi0y17q";
+    sha256 = "193pk6fhrqar2ra8krj6xdd7sm5qfw0p708iazzwk4b8c8g0q72j";
   };
 
   nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ]
diff --git a/pkgs/applications/audio/picoloop/default.nix b/pkgs/applications/audio/picoloop/default.nix
index 1dc9c70af87bb..69052988f26f6 100644
--- a/pkgs/applications/audio/picoloop/default.nix
+++ b/pkgs/applications/audio/picoloop/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     SDL2_image
     SDL2_ttf
     alsaLib
-    libjack2 
+    libjack2
   ];
 
   sourceRoot = "source/picoloop";
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Picoloop is a synth and a stepsequencer (a clone of the famous nanoloop).";
+    description = "A synth and a stepsequencer (a clone of the famous nanoloop)";
     homepage = "https://github.com/yoyz/picoloop";
     platforms = platforms.linux;
     license = licenses.bsd3;
diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix
index 36462aa28bcb4..2c33584e36217 100644
--- a/pkgs/applications/audio/plexamp/default.nix
+++ b/pkgs/applications/audio/plexamp/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "plexamp";
-  version = "3.2.0";
+  version = "3.3.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
-    sha256 = "R1BhobnwoU7oJ7bNes8kH2neXqHlMPbRCNjcHyzUPqo=";
     name="${pname}-${version}.AppImage";
+    sha256 = "6/asP8VR+rJ52lKKds46gSw1or9suUEmyR75pjdWHIQ=";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -30,7 +30,7 @@ in appimageTools.wrapType2 {
   '';
 
   meta = with lib; {
-    description = "A beautiful Plex music player for audiophiles, curators, and hipsters.";
+    description = "A beautiful Plex music player for audiophiles, curators, and hipsters";
     homepage = "https://plexamp.com/";
     license = licenses.unfree;
     maintainers = with maintainers; [ killercup ];
diff --git a/pkgs/applications/audio/projectm/default.nix b/pkgs/applications/audio/projectm/default.nix
index d55b79ece5950..845435be60eb1 100644
--- a/pkgs/applications/audio/projectm/default.nix
+++ b/pkgs/applications/audio/projectm/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "projectm";
-  version = "3.1.7";
+  version = "3.1.8";
 
   src = fetchFromGitHub {
     owner = "projectM-visualizer";
     repo = "projectM";
     rev = "v${version}";
-    sha256 = "1wm5fym6c1yb972pmil7j9axinqqwrj68cwd2sc7ky8c5z2fsdna";
+    sha256 = "17zyxj1q0zj17jskq8w9bn2ijn34ldvdq61wy01yf5wgngax2r4z";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix
index eaabcf4bef7de..4b931813bea58 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.23";
+  version = "1.25_fix";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "pt2-clone";
     rev = "v${version}";
-    sha256 = "1vixpp0vqpawqviwl44wn8zf602zyyrgqnjzrlwjrmdzydx9c93y";
+    sha256 = "1slv8qjxsj67z6984nl67g53mq0sdls2cbikvfjmgmad1wkh98ma";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -29,7 +29,9 @@ stdenv.mkDerivation rec {
     homepage = "https://16-bits.org/pt2.php";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fgaz ];
-    platforms = platforms.all;
+    # From HOW-TO-COMPILE.txt:
+    # > This code is NOT big-endian compatible
+    platforms = platforms.littleEndian;
   };
 }
 
diff --git a/pkgs/applications/audio/ptcollab/default.nix b/pkgs/applications/audio/ptcollab/default.nix
new file mode 100644
index 0000000000000..ff190fdcdd36c
--- /dev/null
+++ b/pkgs/applications/audio/ptcollab/default.nix
@@ -0,0 +1,34 @@
+{ mkDerivation
+, stdenv
+, fetchFromGitHub
+, qmake
+, qtbase
+, qtmultimedia
+, libvorbis
+}:
+
+mkDerivation rec {
+  pname = "ptcollab";
+  version = "0.3.5.1";
+
+  src = fetchFromGitHub {
+    owner = "yuxshao";
+    repo = "ptcollab";
+    rev = "v${version}";
+    sha256 = "1ahfxjm1chz8k65rs7rgn4s2bgippq58fjcxl8fr21pzn718wqf1";
+  };
+
+  nativeBuildInputs = [ qmake ];
+
+  buildInputs = [ qtbase qtmultimedia libvorbis ];
+
+  meta = with stdenv.lib; {
+    description = "Experimental pxtone editor where you can collaborate with friends";
+    homepage = "https://yuxshao.github.io/ptcollab/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.all;
+    # Requires Qt5.15
+    broken = stdenv.hostPlatform.isDarwin;
+  };
+}
diff --git a/pkgs/applications/audio/puddletag/default.nix b/pkgs/applications/audio/puddletag/default.nix
index 56fcdcc94cd2d..55cde08fe871d 100644
--- a/pkgs/applications/audio/puddletag/default.nix
+++ b/pkgs/applications/audio/puddletag/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python3Packages, chromaprint }:
+{ stdenv, fetchFromGitHub, python3Packages, wrapQtAppsHook, chromaprint }:
 
 python3Packages.buildPythonApplication rec {
   pname = "puddletag";
@@ -13,6 +13,8 @@ python3Packages.buildPythonApplication rec {
 
   sourceRoot = "source/source";
 
+  nativeBuildInputs = [ wrapQtAppsHook ];
+
   propagatedBuildInputs = [ chromaprint ] ++ (with python3Packages; [
     configobj
     mutagen
@@ -20,9 +22,13 @@ python3Packages.buildPythonApplication rec {
     pyqt5
   ]);
 
-  doCheck = false;   # there are no tests
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
+  doCheck = false; # there are no tests
 
-  dontStrip = true;  # we are not generating any binaries
+  dontStrip = true; # we are not generating any binaries
 
   meta = with stdenv.lib; {
     description = "An audio tag editor similar to the Windows program, Mp3tag";
@@ -30,6 +36,5 @@ python3Packages.buildPythonApplication rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.linux;
-    broken = true; # Needs Qt wrapping
   };
 }
diff --git a/pkgs/applications/audio/pulseaudio-ctl/default.nix b/pkgs/applications/audio/pulseaudio-ctl/default.nix
index 125dafc132e07..6a19d959a23d8 100644
--- a/pkgs/applications/audio/pulseaudio-ctl/default.nix
+++ b/pkgs/applications/audio/pulseaudio-ctl/default.nix
@@ -7,13 +7,13 @@ let
 
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "1.67";
+  version = "1.68";
 
   src = fetchFromGitHub {
     owner = "graysky2";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1mf5r7x6aiqmx9mz7gpckrqvvzxnr5gs2q1k4m42rjk6ldkpdb46";
+    sha256 = "0wrzfanwy18wyawpg8rfvfgjh3lwngqwmfpi4ww3530rfmi84cf0";
   };
 
   postPatch = ''
@@ -32,7 +32,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Control pulseaudio volume from the shell or mapped to keyboard shortcuts. No need for alsa-utils.";
+    description = "Control pulseaudio volume from the shell or mapped to keyboard shortcuts. No need for alsa-utils";
     homepage = "https://bbs.archlinux.org/viewtopic.php?id=124513";
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix
index 556dd5f106194..42e780af0989a 100644
--- a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix
+++ b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix
@@ -18,8 +18,12 @@
 let
   pulseSources = runCommand "pulseaudio-sources" {} ''
     mkdir $out
-    tar -xf ${pulseaudio.src}
-    mv pulseaudio*/* $out/
+    if [ -d ${pulseaudio.src} ]; then
+      ln -s ${pulseaudio.src}/* $out/
+    else
+      tar -xf ${pulseaudio.src}
+      mv pulseaudio*/* $out/
+    fi
   '';
 
 in stdenv.mkDerivation rec {
@@ -61,7 +65,7 @@ in stdenv.mkDerivation rec {
 
     # Pulseaudio version is detected with a -rebootstrapped suffix which build system assumptions
     substituteInPlace config.h.in --replace PulseAudio_VERSION ${pulseaudio.version}
-    substituteInPlace CMakeLists.txt --replace '${"\${PulseAudio_VERSION}"}' ${pulseaudio.version}
+    substituteInPlace CMakeLists.txt --replace '${"\${PULSE_DIR}"}' ${pulseaudio.pulseDir}
 
     # Fraunhofer recommends to enable afterburner but upstream has it set to false by default
     substituteInPlace src/modules/bluetooth/a2dp/a2dp_aac.c \
@@ -72,7 +76,7 @@ in stdenv.mkDerivation rec {
     for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do
       orig_rpath=$(patchelf --print-rpath "$so")
       patchelf \
-        --set-rpath "${ldacbt}/lib:${lib.getLib ffmpeg}/lib:$out/lib/pulse-${pulseaudio.version}/modules:$orig_rpath" \
+        --set-rpath "${ldacbt}/lib:${lib.getLib ffmpeg}/lib:$out/${pulseaudio.pulseDir}/modules:$orig_rpath" \
         "$so"
     done
   '';
diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch
index 3c498fe8af1b5..7cdb7de4dd13e 100644
--- a/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch
+++ b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch
@@ -8,4 +8,4 @@ index 8d20dbf..63fe7ba 100644
          module-bluetooth-policy
 -        LIBRARY DESTINATION ${PulseAudio_modlibexecdir})
 -
-+        LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pulse-${PulseAudio_VERSION}/modules/)
++        LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PULSE_DIR}/modules/)
diff --git a/pkgs/applications/audio/pulseeffects/default.nix b/pkgs/applications/audio/pulseeffects/default.nix
index a7b97e9daaf89..427d29768d66b 100644
--- a/pkgs/applications/audio/pulseeffects/default.nix
+++ b/pkgs/applications/audio/pulseeffects/default.nix
@@ -44,13 +44,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "pulseeffects";
-  version = "4.8.1";
+  version = "4.8.2";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "pulseeffects";
     rev = "v${version}";
-    sha256 = "17yfs3ja7vflywhxbn3n3r8n6hl829x257kzplg2vpppppg6ylj6";
+    sha256 = "19h47mrxjm6x83pqcxfsshf48kd1babfk0kwdy1c7fjri7kj0g0s";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 84ff9f787d53f..e6f41711fdf6a 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -29,11 +29,11 @@
 # handle that.
 
 mkDerivation rec {
-  name = "qmmp-1.4.1";
+  name = "qmmp-1.4.2";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "0p18r2ri75vbyjzfa7bcl1dm372m6jvn9zj2p5ia2rh1g77fbm9a";
+    sha256 = "1kvzw0n90crg3dgy8834qrjv0zb3ia5cny7virax9ax73y653jfa";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix
index 2975e6464e1cb..961314088d1a0 100644
--- a/pkgs/applications/audio/qtractor/default.nix
+++ b/pkgs/applications/audio/qtractor/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qtractor";
-  version = "0.9.15";
+  version = "0.9.18";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0k7a6llwrzs07flr9mvzvay9ygc2x64syg8npyabsw5a4d85fwsx";
+    sha256 = "121vmygdzp37p6f93f8dbbg2m2r55j7amyiapzkqgypgn4vfdbwr";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix
index 86f8f666d80d3..17b3f1c3745c3 100644
--- a/pkgs/applications/audio/samplv1/default.nix
+++ b/pkgs/applications/audio/samplv1/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, libjack2, alsaLib, liblo, libsndfile, lv2, qt5 }:
+{ mkDerivation, lib, fetchurl, pkgconfig, libjack2
+, alsaLib, liblo, libsndfile, lv2, qtbase, qttools
+, rubberband
+}:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "samplv1";
-  version = "0.9.13";
+  version = "0.9.18";
 
   src = fetchurl {
     url = "mirror://sourceforge/samplv1/${pname}-${version}.tar.gz";
-    sha256 = "0clsp6s5qfnh0xaxbd35vq2ppi72q9dfayrzlgl73800a8p7gh9m";
+    sha256 = "ePhM9OTLJp1Wa2D9Y1Dqq/69WlEhEp3ih9yNUIJU5Y4=";
   };
 
-  buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];
+  nativeBuildInputs = [ qttools pkgconfig ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qtbase rubberband ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An old-school all-digital polyphonic sampler synthesizer with stereo fx";
     homepage = "http://samplv1.sourceforge.net/";
     license = licenses.gpl2Plus;
diff --git a/pkgs/applications/audio/sayonara/default.nix b/pkgs/applications/audio/sayonara/default.nix
index c4258174500fd..722333134d905 100644
--- a/pkgs/applications/audio/sayonara/default.nix
+++ b/pkgs/applications/audio/sayonara/default.nix
@@ -1,12 +1,12 @@
 { mkDerivation
 , cmake
-, fetchgit
+, fetchFromGitLab
 , gst_all_1
 , lib
 , libpulseaudio
 , ninja
 , pcre
-, pkgconfig
+, pkg-config
 , qtbase
 , qttools
 , taglib
@@ -15,34 +15,16 @@
 
 mkDerivation rec {
   pname = "sayonara-player";
-  version = "1.5.1-stable5";
+  version = "1.6.0-beta6";
 
-  src = fetchgit {
-    url = "https://git.sayonara-player.com/sayonara.git";
+  src = fetchFromGitLab {
+    owner = "luciocarreras";
+    repo = "sayonara-player";
     rev = version;
-    sha256 = "13l7r3gaszrkyf4z8rdijfzxvcnilax4ki2mcm30wqk8d4g4qdzj";
+    sha256 = "sha256-SbJS0DQvbW++CNXbuDHQxFlLRb1kTtDdIdHOqu0YxeQ=";
   };
 
-  # all this can go with version 1.5.2
-  postPatch = ''
-    # if we don't delete this, sayonara will look here instead of the provided taglib
-    rm -r src/3rdParty/taglib
-
-    for f in \
-      src/DBus/DBusNotifications.cpp \
-      src/Gui/Resources/Icons/CMakeLists.txt \
-      src/Utils/Utils.cpp \
-      test/Util/FileHelperTest.cpp \
-      ; do
-
-      substituteInPlace $f --replace /usr $out
-    done
-
-    substituteInPlace src/Components/Shutdown/Shutdown.cpp \
-      --replace /usr/bin/systemctl systemctl
-  '';
-
-  nativeBuildInputs = [ cmake ninja pkgconfig qttools ];
+  nativeBuildInputs = [ cmake ninja pkg-config qttools ];
 
   buildInputs = [
     libpulseaudio
diff --git a/pkgs/applications/audio/shortwave/default.nix b/pkgs/applications/audio/shortwave/default.nix
index 055694fb40f5b..3572bbf88abb8 100644
--- a/pkgs/applications/audio/shortwave/default.nix
+++ b/pkgs/applications/audio/shortwave/default.nix
@@ -8,7 +8,7 @@
 , glib
 , gst_all_1
 , gtk3
-, libhandy
+, libhandy_0
 , meson
 , ninja
 , openssl
@@ -53,7 +53,7 @@ rustPlatform.buildRustPackage rec {
     gdk-pixbuf
     glib
     gtk3
-    libhandy
+    libhandy_0
     openssl
     sqlite
   ] ++ (with gst_all_1; [
diff --git a/pkgs/applications/audio/spotify-cli-linux/default.nix b/pkgs/applications/audio/spotify-cli-linux/default.nix
new file mode 100644
index 0000000000000..da41fb6b64ed4
--- /dev/null
+++ b/pkgs/applications/audio/spotify-cli-linux/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, python3Packages, dbus }:
+python3Packages.buildPythonApplication rec {
+  pname = "spotify-cli-linux";
+  version = "1.6.0";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "0slyc3jfrj3rwq8rv6p5aqkw487aw7a87kmf1fb6n4vnvcf08v7w";
+  };
+
+  preBuild = ''
+    substituteInPlace spotifycli/spotifycli.py \
+      --replace dbus-send ${dbus}/bin/dbus-send
+  '';
+
+  disabled = !python3Packages.isPy3k;
+  propagatedBuildInputs = with python3Packages; [ lyricwikia dbus-python ];
+
+  # upstream has no code tests, but uses its "tests" for linting and formatting checks
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = "https://pwittchen.github.io/spotify-cli-linux/";
+    maintainers = [ maintainers.kmein ];
+    description = "A command line interface to Spotify on Linux.";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 6fd52834b0072..ff44f14476f16 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -10,14 +10,14 @@ let
   # If an update breaks things, one of those might have valuable info:
   # https://aur.archlinux.org/packages/spotify/
   # https://community.spotify.com/t5/Desktop-Linux
-  version = "1.1.42.622.gbd112320-37";
+  version = "1.1.46.916.g416cacf1";
   # To get the latest stable revision:
   # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
   # To get general information:
   # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
   # More examples of api usage:
   # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
-  rev = "42";
+  rev = "43";
 
   deps = [
     alsaLib
@@ -78,7 +78,7 @@ stdenv.mkDerivation {
   # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
   src = fetchurl {
     url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
-    sha512 = "06371c6a285aba916a779cd9f2a933f97db8fb38393545baa94c8984302e003c559af7b1b35afd7df5f2c35e379e2cb80c00facf527bc22df09061cdb67d9d7a";
+    sha512 = "5b3d5d1f52a554c8e775b8aed16ef84e96bf3b61a2b53266e10d3c47e341899310af13cc8513b04424fc14532e36543a6fae677f80a036e3f51c75166d8d53d1";
   };
 
   buildInputs = [ squashfsTools makeWrapper ];
diff --git a/pkgs/applications/audio/spotifyd/default.nix b/pkgs/applications/audio/spotifyd/default.nix
index 121f9cbc960f8..dcb5737afa6a7 100644
--- a/pkgs/applications/audio/spotifyd/default.nix
+++ b/pkgs/applications/audio/spotifyd/default.nix
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
     description = "An open source Spotify client running as a UNIX daemon";
     homepage = "https://github.com/Spotifyd/spotifyd";
     license = with licenses; [ gpl3 ];
-    maintainers = with maintainers; [ anderslundstedt filalex77 marsam ];
+    maintainers = with maintainers; [ anderslundstedt Br1ght0ne marsam ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix
index d6428e40312ba..c2f1a0db701c5 100644
--- a/pkgs/applications/audio/strawberry/default.nix
+++ b/pkgs/applications/audio/strawberry/default.nix
@@ -23,7 +23,7 @@
 , libselinux ? null
 , libsepol ? null
 , p11-kit ? null
-, utillinux ? null
+, util-linux ? null
 , qtbase
 , qtx11extras
 , qttools
@@ -35,13 +35,13 @@
 
 mkDerivation rec {
   pname = "strawberry";
-  version = "0.7.2";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "jonaski";
     repo = pname;
     rev = version;
-    sha256 = "sha256-YUR9SDiRV/gJKx4H1cgdDnKGulTQPVP7MpHyihUEgqg=";
+    sha256 = "145djlfvbkx2b1wqipk51mz82dhm27vmh9x00lkn24q1xz1y6h5n";
   };
 
   buildInputs = [
@@ -67,7 +67,7 @@ mkDerivation rec {
     libselinux
     libsepol
     p11-kit
-    utillinux
+    util-linux
   ]
   ++ lib.optionals withGstreamer (with gst_all_1; [
     gstreamer
diff --git a/pkgs/applications/audio/svox/default.nix b/pkgs/applications/audio/svox/default.nix
index 0f8e514388304..d5b67819cb070 100644
--- a/pkgs/applications/audio/svox/default.nix
+++ b/pkgs/applications/audio/svox/default.nix
@@ -1,37 +1,24 @@
-{ stdenv, fetchgit }:
+{ stdenv, fetchFromGitHub, autoreconfHook, popt }:
 
 stdenv.mkDerivation {
   pname = "svox";
-  version = "2017-07-18";
+  version = "2018-02-14";
 
-  src = fetchgit {
-    url = "https://android.googlesource.com/platform/external/svox";
-    rev = "7e68d0e9aac1b5d2ad15e92ddaa3bceb27973fcb";
-    sha256 = "1bqj12w23nn27x64ianm2flrqvkskpvgrnly7ah8gv6k8s8chh3r";
+  # basically took the source code from android and borrowed autotool patches from debian
+  src = fetchFromGitHub {
+    owner = "naggety";
+    repo = "picotts";
+    rev = "e3ba46009ee868911fa0b53db672a55f9cc13b1c";
+    sha256 = "0k3m7vh1ak9gmxd83x29cvhzfkybgz5hnlhd9xj19l1bjyx84s8v";
   };
 
   postPatch = ''
     cd pico
   '';
 
-  buildPhase = ''
-    cd lib
-    for i in *.c; do
-      $CC -O2 -fPIC -c -o ''${i%.c}.o $i
-    done
-    $CC -shared -o libttspico.so *.o
-    cd ..
-  '';
-
-  installPhase = ''
-    install -Dm755 lib/libttspico.so $out/lib/libttspico.so
-    mkdir -p $out/include
-    cp lib/*.h $out/include
-    mkdir -p $out/share/pico/lang
-    cp lang/*.bin $out/share/pico/lang
-  '';
+  buildInputs = [ popt ];
 
-  NIX_CFLAGS_COMPILE = "-include stdint.h";
+  nativeBuildInputs = [ autoreconfHook ];
 
   meta = with stdenv.lib; {
     description = "Text-to-speech engine";
diff --git a/pkgs/applications/audio/vmpk/default.nix b/pkgs/applications/audio/vmpk/default.nix
index 62ae1d2c049f0..dfae5d40e1147 100644
--- a/pkgs/applications/audio/vmpk/default.nix
+++ b/pkgs/applications/audio/vmpk/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, fetchurl, cmake, pkgconfig, alsaLib, libjack2, qt4 }:
+{ mkDerivation, lib, fetchurl, cmake, pkg-config
+, qttools, qtx11extras, drumstick
+, docbook-xsl-nons
+}:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "vmpk";
-  version = "0.5.1";
+  version = "0.7.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "11fqnxgs9hr9255d93n7lazxzjwn8jpmn23nywdksh0pb1ffvfrc";
+    sha256 = "5oLrjQADg59Mxpb0CNLQAE574IOSYLDLJNaQ/9q2cMQ=";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkg-config qttools docbook-xsl-nons ];
 
-  buildInputs = [ alsaLib libjack2 qt4 ];
+  buildInputs = [ qtx11extras drumstick ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Virtual MIDI Piano Keyboard";
     homepage = "http://vmpk.sourceforge.net/";
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix
index 5cbc9a07b6c77..3ff1368c9432b 100644
--- a/pkgs/applications/audio/whipper/default.nix
+++ b/pkgs/applications/audio/whipper/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, python3, cdparanoia, cdrdao, flac
-, sox, accuraterip-checksum, libsndfile, utillinux, substituteAll }:
+, sox, accuraterip-checksum, libsndfile, util-linux, substituteAll }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "whipper";
@@ -37,7 +37,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   makeWrapperArgs = [
-    "--prefix" "PATH" ":" (stdenv.lib.makeBinPath [ accuraterip-checksum cdrdao utillinux flac sox ])
+    "--prefix" "PATH" ":" (stdenv.lib.makeBinPath [ accuraterip-checksum cdrdao util-linux flac sox ])
   ];
 
   preBuild = ''
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index ad4fc9728be2d..e4898baca54eb 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -12,7 +12,7 @@
 , coreutils
 , libsoup
 , libsecret
-, libhandy
+, libhandy_0
 , wrapGAppsHook
 , libgpgerror
 , json-glib
@@ -21,14 +21,14 @@
 
 stdenv.mkDerivation rec {
   pname = "deja-dup";
-  version = "42.4";
+  version = "42.5";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = pname;
     rev = version;
-    sha256 = "c4E6mHYVb8TWVTVlmHidcLa9ebHJ27iStsNNLJhY8vY=";
+    sha256 = "1xgsd9a9y36lv6f2vjw2nxi9zj2zl1gv6rcyzkqajf91vgmxwf8k";
   };
 
   patches = [
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     glib
     gtk3
     libsecret
-    libhandy
+    libhandy_0
     libgpgerror
     json-glib
   ];
diff --git a/pkgs/applications/blockchains/bitcoin-abc.nix b/pkgs/applications/blockchains/bitcoin-abc.nix
index 1596ed2d35720..81825d3d5b02f 100644
--- a/pkgs/applications/blockchains/bitcoin-abc.nix
+++ b/pkgs/applications/blockchains/bitcoin-abc.nix
@@ -1,5 +1,5 @@
 { stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, openssl, db53, boost
-, zlib, miniupnpc, qtbase ? null , qttools ? null, utillinux, protobuf, qrencode, libevent
+, zlib, miniupnpc, qtbase ? null , qttools ? null, util-linux, protobuf, qrencode, libevent
 , withGui, python3, jemalloc, zeromq4 }:
 
 with stdenv.lib;
@@ -20,7 +20,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ];
   buildInputs = [ openssl db53 boost zlib python3 jemalloc zeromq4
-                  miniupnpc utillinux protobuf libevent ]
+                  miniupnpc util-linux protobuf libevent ]
                   ++ optionals withGui [ qtbase qttools qrencode ];
 
   cmakeFlags = optionals (!withGui) [
diff --git a/pkgs/applications/blockchains/bitcoin-classic.nix b/pkgs/applications/blockchains/bitcoin-classic.nix
index 01c1264567ce7..417262f6f4d0c 100644
--- a/pkgs/applications/blockchains/bitcoin-classic.nix
+++ b/pkgs/applications/blockchains/bitcoin-classic.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
-, zlib, miniupnpc, qtbase ? null, qttools ? null, utillinux, protobuf, qrencode, libevent
+, zlib, miniupnpc, qtbase ? null, qttools ? null, util-linux, protobuf, qrencode, libevent
 , withGui }:
 
 with stdenv.lib;
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [ openssl db48 boost zlib
-                  miniupnpc utillinux protobuf libevent ]
+                  miniupnpc util-linux protobuf libevent ]
                   ++ optionals withGui [ qtbase qttools qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
diff --git a/pkgs/applications/blockchains/bitcoin-knots.nix b/pkgs/applications/blockchains/bitcoin-knots.nix
index 384ac880fe147..dd0132df4d941 100644
--- a/pkgs/applications/blockchains/bitcoin-knots.nix
+++ b/pkgs/applications/blockchains/bitcoin-knots.nix
@@ -9,7 +9,7 @@
 , miniupnpc
 , libevent
 , protobuf
-, utillinux
+, util-linux
 }:
 
 stdenv.mkDerivation rec {
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
-  buildInputs = [ openssl db5 openssl utillinux
+  buildInputs = [ openssl db5 openssl util-linux
                   protobuf boost zlib miniupnpc libevent ];
 
   configureFlags = [ "--with-incompatible-bdb"
diff --git a/pkgs/applications/blockchains/bitcoin-unlimited.nix b/pkgs/applications/blockchains/bitcoin-unlimited.nix
index fe39b955a2815..8a2b9e370f513 100644
--- a/pkgs/applications/blockchains/bitcoin-unlimited.nix
+++ b/pkgs/applications/blockchains/bitcoin-unlimited.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
-, zlib, miniupnpc, utillinux, protobuf, qrencode, libevent, python3
+, zlib, miniupnpc, util-linux, protobuf, qrencode, libevent, python3
 , withGui, wrapQtAppsHook ? null, qtbase ? null, qttools ? null
 , Foundation, ApplicationServices, AppKit }:
 
@@ -7,19 +7,19 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
-  version = "1.8.0.0";
+  version = "1.9.0.1";
 
   src = fetchFromGitHub {
     owner = "bitcoinunlimited";
     repo = "bitcoinunlimited";
     rev = "BCHunlimited${version}";
-    sha256 = "01qi15li5x9fvhsmvx7ai5fz6yzqqd3r9yv7081h75jn0nxai49q";
+    sha256 = "018a22zbvjqky0whizmgxzscmna0sh2xqgyw02yjk8qj4yi0zp8c";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook python3 ]
     ++ optionals withGui [ wrapQtAppsHook qttools ];
   buildInputs = [ openssl db48 boost zlib
-                  miniupnpc utillinux protobuf libevent ]
+                  miniupnpc util-linux protobuf libevent ]
                   ++ optionals withGui [ qtbase qttools qrencode ]
                   ++ optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ];
 
diff --git a/pkgs/applications/blockchains/bitcoin.nix b/pkgs/applications/blockchains/bitcoin.nix
index 09dc59a051adf..80e935f2b1a8c 100644
--- a/pkgs/applications/blockchains/bitcoin.nix
+++ b/pkgs/applications/blockchains/bitcoin.nix
@@ -11,7 +11,7 @@
 , qtbase ? null
 , qttools ? null
 , wrapQtAppsHook ? null
-, utillinux
+, util-linux
 , python3
 , qrencode
 , libevent
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     ++ optional stdenv.isDarwin hexdump
     ++ optional withGui wrapQtAppsHook;
   buildInputs = [ db48 boost zlib zeromq miniupnpc libevent ]
-    ++ optionals stdenv.isLinux [ utillinux ]
+    ++ optionals stdenv.isLinux [ util-linux ]
     ++ optionals withGui [ qtbase qttools qrencode ];
 
   postInstall = optional withGui ''
diff --git a/pkgs/applications/blockchains/btc1.nix b/pkgs/applications/blockchains/btc1.nix
deleted file mode 100644
index 3442c9ba807f4..0000000000000
--- a/pkgs/applications/blockchains/btc1.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, autoreconfHook, hexdump, openssl, db48
-, boost, zlib, miniupnpc, qt4, protobuf, qrencode, libevent
-, AppKit
-, withGui ? !stdenv.isDarwin
-}:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  name = "bit1" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "1.15.1";
-
-  src = fetchurl {
-    url = "https://github.com/btc1/bitcoin/archive/v${version}.tar.gz";
-    sha256 = "0v0g2wb4nsnhddxzb63vj2bc1mgyj05vqm5imicjfz8prvgc0si8";
-  };
-
-  nativeBuildInputs = [ pkgconfig autoreconfHook hexdump ];
-  buildInputs = [ openssl db48 boost zlib miniupnpc protobuf libevent ]
-    ++ optionals withGui [ qt4 qrencode ]
-    ++ optional stdenv.isDarwin AppKit;
-
-  configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
-                     ++ optionals withGui [ "--with-gui=qt4" ];
-
-  meta = {
-    description = "Peer-to-peer electronic cash system (btc1 client)";
-    longDescription= ''
-      Bitcoin is a free open source peer-to-peer electronic cash system that is
-      completely decentralized, without the need for a central server or trusted
-      parties. Users hold the crypto keys to their own money and transact directly
-      with each other, with the help of a P2P network to check for double-spending.
-
-      btc1 is an implementation of a Bitcoin full node with segwit2x hard fork
-      support.
-    '';
-    homepage = "https://github.com/btc1/bitcoin";
-    license = licenses.mit;
-    maintainers = with maintainers; [ sorpaas ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/blockchains/clightning.nix b/pkgs/applications/blockchains/clightning.nix
index 2467d30992200..b17876325d5ef 100644
--- a/pkgs/applications/blockchains/clightning.nix
+++ b/pkgs/applications/blockchains/clightning.nix
@@ -4,11 +4,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "clightning";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchurl {
     url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
-    sha256 = "4923e2fa001cfc2403d1bed368710499d5def322e6384b8eea2bd39d3351a417";
+    sha256 = "022fw6rbn0chg0432h9q05w8qnys0hd9hf1qm2qlnnmamxw4dyfy";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/blockchains/dashpay.nix b/pkgs/applications/blockchains/dashpay.nix
index 7bdf93b2dacc2..b55dd3b5b78d7 100644
--- a/pkgs/applications/blockchains/dashpay.nix
+++ b/pkgs/applications/blockchains/dashpay.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, stdenv, pkgconfig, autoreconfHook
 , openssl, db48, boost, zlib, miniupnpc
 , qrencode, glib, protobuf, yasm, libevent
-, utillinux
+, util-linux
 , enable_Upnp ? false
 , disable_Wallet ? false
 , disable_Daemon ? false }:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [ glib openssl db48 yasm boost zlib libevent
-                  miniupnpc protobuf qrencode utillinux ];
+                  miniupnpc protobuf qrencode util-linux ];
 
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib --with-gui=no" ]
diff --git a/pkgs/applications/blockchains/dogecoin.nix b/pkgs/applications/blockchains/dogecoin.nix
index 27a1f6132f05b..527b307042c3a 100644
--- a/pkgs/applications/blockchains/dogecoin.nix
+++ b/pkgs/applications/blockchains/dogecoin.nix
@@ -1,7 +1,7 @@
 { stdenv , fetchFromGitHub
 , pkgconfig, autoreconfHook
 , db5, openssl, boost, zlib, miniupnpc, libevent
-, protobuf, utillinux, qt4, qrencode
+, protobuf, util-linux, qt4, qrencode
 , withGui }:
 
 with stdenv.lib;
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
-  buildInputs = [ openssl db5 openssl utillinux
+  buildInputs = [ openssl db5 openssl util-linux
                   protobuf boost zlib miniupnpc libevent ]
                   ++ optionals withGui [ qt4 qrencode ];
 
diff --git a/pkgs/applications/blockchains/ergo/default.nix b/pkgs/applications/blockchains/ergo/default.nix
index a61df3e91bd11..6b686d0b2d6c8 100644
--- a/pkgs/applications/blockchains/ergo/default.nix
+++ b/pkgs/applications/blockchains/ergo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ergo";
-  version = "3.3.3";
+  version = "3.3.6";
 
   src = fetchurl {
     url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
-    sha256 = "1lsqshpbc5p5qm8kic8a90xmvd2zx2s7jf613j9ng4h3hh75wbff";
+    sha256 = "1zi559ixjxxsrpvvjbxa1d0g96px3h9amjvy149sfhp7b8w5hhk3";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/blockchains/exodus/default.nix b/pkgs/applications/blockchains/exodus/default.nix
index af49bb9121f6c..13543114d64ad 100644
--- a/pkgs/applications/blockchains/exodus/default.nix
+++ b/pkgs/applications/blockchains/exodus/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, fetchurl, unzip, glib, systemd, nss, nspr, gtk3-x11, gnome2,
-atk, cairo, gdk-pixbuf, xorg, xorg_sys_opengl, utillinux, alsaLib, dbus, at-spi2-atk,
+{ stdenv, lib, fetchurl, unzip, glib, systemd, nss, nspr, gtk3-x11, pango,
+atk, cairo, gdk-pixbuf, xorg, xorg_sys_opengl, util-linux, alsaLib, dbus, at-spi2-atk,
 cups, vivaldi-ffmpeg-codecs, libpulseaudio, at-spi2-core }:
 
 stdenv.mkDerivation rec {
   pname = "exodus";
-  version = "20.8.28";
+  version = "20.11.21";
 
   src = fetchurl {
     url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip";
-    sha256 = "fde9165f71f0d641f6892ddce3ec26d200e8095a383f2b4c8f924de4041d65ef";
+    sha256 = "1q6sh2jhngvihkxjprkcd1php6r7m6qkxsijx8d3azzlgj9nbf2n";
   };
 
   sourceRoot = ".";
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
       nss
       nspr
       gtk3-x11
-      gnome2.pango
+      pango
       atk
       cairo
       gdk-pixbuf
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
       xorg.libXrender
       xorg.libXtst
       xorg_sys_opengl
-      utillinux
+      util-linux
       xorg.libXrandr
       xorg.libXScrnSaver
       alsaLib
diff --git a/pkgs/applications/blockchains/freicoin.nix b/pkgs/applications/blockchains/freicoin.nix
deleted file mode 100644
index cc28fff96c47a..0000000000000
--- a/pkgs/applications/blockchains/freicoin.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ fetchFromGitHub, stdenv, db, boost, gmp, mpfr, qt4, qmake4Hook }:
-
-stdenv.mkDerivation rec {
-  version = "0.8.6-2";
-  pname = "freicoin";
-
-  src = fetchFromGitHub {
-    owner = "freicoin";
-    repo = "freicoin";
-    rev = "v${version}";
-    sha256 = "1v1qwv4x5agjba82s1vknmdgq67y26wzdwbmwwqavv7f7y3y860h";
-  };
-
-  enableParallelBuilding = false;
-
-  qmakeFlags = ["USE_UPNP=-"];
-
-  # I think that openssl and zlib are required, but come through other
-  # packages
-
-  preBuild = "unset AR";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp freicoin-qt $out/bin
-  '';
-
-  nativeBuildInputs = [ qmake4Hook ];
-  buildInputs = [ db boost gmp mpfr qt4 ];
-
-  meta = with stdenv.lib; {
-    description = "Peer-to-peer currency with demurrage fee";
-    homepage = "http://freicoi.in/";
-    license = licenses.mit;
-    maintainers = [ maintainers.viric ];
-    platforms = platforms.linux;
-
-    # upstream doesn't support newer openssl versions, use 1.0.1 for testing
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum.nix
index 20778fc986bda..b0f464cbfdc8e 100644
--- a/pkgs/applications/blockchains/go-ethereum.nix
+++ b/pkgs/applications/blockchains/go-ethereum.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.9.22";
+  version = "1.9.24";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08i31xil2lygfcn2igsvn4hpg8xnf8l6g914f78hgl4wj6v1dja9";
+    sha256 = "0nrx5fwfij9wajd3lj76hh1yv4zg4q3jc76a76m22djn1njl0n5j";
   };
 
   runVend = true;
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 323b9936af56b..4c4f3f2b29e39 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.9.0";
+  version = "2.16.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    sha256 = "1ajpmsq4h37w3jzcxijg3myp3mvgbrjis6jrz1cl79m78ripb6cy";
+    sha256 = "16z2cy41vxbrvjblj09in6669pks1p9y3rgx8b7afjwf102ba9yi";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -30,7 +30,8 @@ in appimageTools.wrapType2 rec {
     description = "Wallet app for Ledger Nano S and Ledger Blue";
     homepage = "https://www.ledger.com/live";
     license = licenses.mit;
-    maintainers = with maintainers; [ thedavidmeister nyanloutre ];
+    maintainers = with maintainers; [ thedavidmeister nyanloutre RaghavSood ];
     platforms = [ "x86_64-linux" ];
   };
 }
+
diff --git a/pkgs/applications/blockchains/litecoin.nix b/pkgs/applications/blockchains/litecoin.nix
index fa352652dbf92..85adbec718f3b 100644
--- a/pkgs/applications/blockchains/litecoin.nix
+++ b/pkgs/applications/blockchains/litecoin.nix
@@ -1,7 +1,7 @@
 { stdenv, mkDerivation, fetchFromGitHub
 , pkgconfig, autoreconfHook
 , openssl, db48, boost, zlib, miniupnpc
-, glib, protobuf, utillinux, qrencode
+, glib, protobuf, util-linux, qrencode
 , AppKit
 , withGui ? true, libevent
 , qtbase, qttools
@@ -24,7 +24,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [ openssl db48 boost zlib zeromq
-                  miniupnpc glib protobuf utillinux libevent ]
+                  miniupnpc glib protobuf util-linux libevent ]
                   ++ optionals stdenv.isDarwin [ AppKit ]
                   ++ optionals withGui [ qtbase qttools qrencode ];
 
diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix
index 776d51ca6bd8e..6275a26118f65 100644
--- a/pkgs/applications/blockchains/monero-gui/default.nix
+++ b/pkgs/applications/blockchains/monero-gui/default.nix
@@ -1,5 +1,6 @@
 { stdenv, wrapQtAppsHook, makeDesktopItem
 , fetchFromGitHub
+, fetchpatch
 , cmake, qttools, pkgconfig
 , qtbase, qtdeclarative, qtgraphicaleffects
 , qtmultimedia, qtxmlpatterns
@@ -27,13 +28,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "monero-gui";
-  version = "0.17.0.1";
+  version = "0.17.1.4";
 
   src = fetchFromGitHub {
     owner  = "monero-project";
     repo   = "monero-gui";
     rev    = "v${version}";
-    sha256 = "1i9a3ampppyzsl4sllbqlr3w43sjpb3fdfxhb1j4n49p8g0jzmf3";
+    sha256 = "1ixjfdlvwr2an2s9jaql240bk7jpq5hhm5c4hww0bicyy3fp12ng";
   };
 
   nativeBuildInputs = [
@@ -58,16 +59,20 @@ stdenv.mkDerivation rec {
     chmod -R +w source/monero
   '';
 
-  patches = [ ./move-log-file.patch ];
+  patches = [
+    ./move-log-file.patch
+    # fix build failure due to invalid use of CMAKE_PREFIX_PATH
+    (fetchpatch {
+      url = "https://github.com/monero-project/monero-gui/commit/ef2be82c21b0934522ad8e110805b66f5948da1f.patch";
+      sha256 = "1rhazk2xwa5dv1cmkrkq8yr08qxslg4k929cvlliabrx20kbr5z5";
+    })
+  ];
 
   postPatch = ''
     # set monero-gui version
     substituteInPlace src/version.js.in \
        --replace '@VERSION_TAG_GUI@' '${version}'
 
-    # remove this line on the next release
-    rm cmake/Version.cmake
-
     # use monerod from the monero package
     substituteInPlace src/daemon/DaemonManager.cpp \
       --replace 'QApplication::applicationDirPath() + "' '"${monero}/bin'
@@ -78,10 +83,7 @@ stdenv.mkDerivation rec {
                 'add_subdirectory(monero EXCLUDE_FROM_ALL)'
   '';
 
-  cmakeFlags = [
-    "-DCMAKE_INSTALL_PREFIX=$out/bin"
-    "-DARCH=${arch}"
-  ];
+  cmakeFlags = [ "-DARCH=${arch}" ];
 
   desktopItem = makeDesktopItem {
     name = "monero-wallet-gui";
diff --git a/pkgs/applications/blockchains/monero/default.nix b/pkgs/applications/blockchains/monero/default.nix
index 935040bc7bb55..1010da81da34a 100644
--- a/pkgs/applications/blockchains/monero/default.nix
+++ b/pkgs/applications/blockchains/monero/default.nix
@@ -17,25 +17,18 @@ assert trezorSupport -> all (x: x!=null) [ libusb1 protobuf python3 ];
 
 stdenv.mkDerivation rec {
   pname = "monero";
-  version = "0.17.0.1";
+  version = "0.17.1.3";
 
   src = fetchFromGitHub {
     owner = "monero-project";
     repo = "monero";
     rev = "v${version}";
-    sha256 = "1v0phvg5ralli4dr09a60nq032xqlci5d6v4zfq8304vgrn1ffgp";
+    sha256 = "1ddkdfd8i5q509qziwcx1f6nm8axs4a1ppzv2y5lgsqpq375if6j";
     fetchSubmodules = true;
   };
 
   patches = [
     ./use-system-libraries.patch
-
-    # This fixes a bug in the monero-gui build system,
-    # remove it once the PR has been merged
-    (fetchpatch {
-      url = "https://github.com/monero-project/monero/pull/6867.patch";
-      sha256 = "0nxa6861df1fadrm9bmhqf2g6mljgr4jndsbxqp7g501hv9z51j3";
-    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/blockchains/namecoin.nix b/pkgs/applications/blockchains/namecoin.nix
index 936eaa2505e18..cbce17731043a 100644
--- a/pkgs/applications/blockchains/namecoin.nix
+++ b/pkgs/applications/blockchains/namecoin.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
     homepage = "https://namecoin.org";
     license = licenses.mit;
-    maintainers = with maintainers; [ doublec infinisil ];
+    maintainers = with maintainers; [ infinisil ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/blockchains/openethereum/default.nix b/pkgs/applications/blockchains/openethereum/default.nix
index 7d5acc62050de..563b2378f845c 100644
--- a/pkgs/applications/blockchains/openethereum/default.nix
+++ b/pkgs/applications/blockchains/openethereum/default.nix
@@ -5,23 +5,23 @@
 , llvmPackages
 , openssl
 , pkg-config
+, stdenv
 , systemd
+, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "openethereum";
-  version = "3.0.1";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "openethereum";
     repo = "openethereum";
     rev = "v${version}";
-    sha256 = "08dkcrga1x18csh6pw6f54x5xwijppyjhg46cf4p452xc1l3a6ir";
+    sha256 = "cs84Zz0nhagGDu5sDFTaFZF3SPEgJU8F4vGX7KLihOM=";
   };
 
-  cargoSha256 = "1xliragihwjfc5qmfm0ng519bw8a28m1w1yqcl9mpk8zywiybaah";
-
-  cargoPatches = [ ./lock.patch ];
+  cargoSha256 = "6suNkHw1BbISb0MkYkUaD+mpUal+kn3y1SFVqzJFqJc=";
 
   LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
   nativeBuildInputs = [
@@ -31,7 +31,9 @@ rustPlatform.buildRustPackage rec {
     pkg-config
   ];
 
-  buildInputs = [ openssl systemd ];
+  buildInputs = [ openssl ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ systemd ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ];
 
   cargoBuildFlags = [ "--features final" ];
 
@@ -43,6 +45,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "http://parity.io/ethereum";
     license = licenses.gpl3;
     maintainers = with maintainers; [ akru xrelkd ];
-    platforms = platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/blockchains/openethereum/lock.patch b/pkgs/applications/blockchains/openethereum/lock.patch
deleted file mode 100644
index 66709480bb720..0000000000000
--- a/pkgs/applications/blockchains/openethereum/lock.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- /nix/store/hv764a65zmfzw5scjhz5839agv10da6x-source/Cargo.lock	1969-12-31 16:00:01.000000000 -0800
-+++ ./Cargo.lock	2020-07-31 21:30:31.146750066 -0700
-@@ -3113,7 +3113,7 @@
- 
- [[package]]
- name = "openethereum"
--version = "3.0.0"
-+version = "3.0.1"
- dependencies = [
-  "ansi_term",
-  "atty",
-@@ -3562,7 +3562,7 @@
- 
- [[package]]
- name = "parity-version"
--version = "3.0.0"
-+version = "3.0.1"
- dependencies = [
-  "parity-bytes",
-  "rlp",
diff --git a/pkgs/applications/blockchains/pivx.nix b/pkgs/applications/blockchains/pivx.nix
index 16ea2dc43e741..6d6f881ae65f7 100644
--- a/pkgs/applications/blockchains/pivx.nix
+++ b/pkgs/applications/blockchains/pivx.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, stdenv, pkgconfig, autoreconfHook, wrapQtAppsHook ? null
 , openssl, db48, boost, zlib, miniupnpc, gmp
 , qrencode, glib, protobuf, yasm, libevent
-, utillinux, qtbase ? null, qttools ? null
+, util-linux, qtbase ? null, qttools ? null
 , enableUpnp ? false
 , disableWallet ? false
 , disableDaemon ? false 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ] ++ optionals withGui [ wrapQtAppsHook ];
-  buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf utillinux ]
+  buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf util-linux ]
                   ++ optionals withGui [ qtbase qttools qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
       Zero Knowledge cryptography proofs for industry-leading transaction anonymity.
     '';
     license = licenses.mit;
-    homepage = "https://www.dash.org";
+    homepage = "https://pivx.org";
     maintainers = with maintainers; [ wucke13 ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index a919a30541963..866adeea27808 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -1,37 +1,41 @@
-{ stdenv
+{ clang
 , fetchFromGitHub
+, lib
+, llvmPackages
+, protobuf
 , rustPlatform
-, pkgconfig
-, openssl
 }:
-
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
-  version = "0.2.17";
+  version = "0.8.26-1";
 
   src = fetchFromGitHub {
     owner = "paritytech";
-    # N.B. In 2018, the thing that was "polkadot" was split off into its own
-    # repo, so if this package is ever updated it should be changed to
-    # paritytech/polkadot, as per comment here:
-    # https://github.com/paritytech/polkadot#note
-    repo = "substrate";
-    rev = "19f4f4d4df3bb266086b4e488739f73d3d5e588c";
-    sha256 = "0v7g03rbml2afw0splmyjh9nqpjg0ldjw09hyc0jqd3qlhgxiiyj";
+    repo = "polkadot";
+    rev = "v${version}";
+    sha256 = "17ji1gjrx3gzw4msaz9kgvm132y14wgh8z183l3mfw1cj44a6kqk";
   };
 
-  cargoSha256 = "1h5v7c7xi2r2wzh1pj6xidrg7dx23w3rjm88mggpq7574arijk4i";
+  cargoSha256 = "07zwlwx02xw1y20br2c4grwv7bprhynqy7gav4qh3vw117ijpiqk";
+
+  nativeBuildInputs = [ clang ];
+
+  LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
+  PROTOC = "${protobuf}/bin/protoc";
+
+  # NOTE: We don't build the WASM runtimes since this would require a more
+  # complicated rust environment setup. The resulting binary is still useful for
+  # live networks since those just use the WASM blob from the network chainspec.
+  BUILD_DUMMY_WASM_BINARY = 1;
 
-  buildInputs = [ pkgconfig openssl openssl.dev ];
+  # We can't run the test suite since we didn't compile the WASM runtimes.
+  doCheck = false;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Polkadot Node Implementation";
     homepage = "https://polkadot.network";
     license = licenses.gpl3;
-    maintainers = [ maintainers.akru ];
+    maintainers = with maintainers; [ akru andresilva RaghavSood ];
     platforms = platforms.linux;
-    # Last attempt at building this was on v0.7.22
-    # https://github.com/paritytech/polkadot/releases
-    broken = true;
   };
 }
diff --git a/pkgs/applications/blockchains/quorum.nix b/pkgs/applications/blockchains/quorum.nix
index 5a525dec99957..eb98777c587d9 100644
--- a/pkgs/applications/blockchains/quorum.nix
+++ b/pkgs/applications/blockchains/quorum.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, buildGoPackage, git, which }:
+{ stdenv, fetchFromGitHub, buildGoPackage, git, which, removeReferencesTo, go }:
 
 buildGoPackage rec {
   pname = "quorum";
@@ -25,6 +25,12 @@ buildGoPackage rec {
     cp -v build/bin/geth build/bin/bootnode build/bin/swarm $out/bin
   '';
 
+  # fails with `GOFLAGS=-trimpath`
+  allowGoReference = true;
+  preFixup = ''
+    find $out -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${go} '{}' +
+  '';
+
   meta = with stdenv.lib; {
     description = "A permissioned implementation of Ethereum supporting data privacy";
     homepage = "https://www.goquorum.com/";
diff --git a/pkgs/applications/blockchains/sumokoin.nix b/pkgs/applications/blockchains/sumokoin.nix
index ad65da057aeca..beb294d2dfe0a 100644
--- a/pkgs/applications/blockchains/sumokoin.nix
+++ b/pkgs/applications/blockchains/sumokoin.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    description = "Sumokoin is a fork of Monero and a truely fungible cryptocurrency";
+    description = "A fork of Monero and a truely fungible cryptocurrency";
     homepage = "https://www.sumokoin.org/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fpletz ];
diff --git a/pkgs/applications/blockchains/turbo-geth.nix b/pkgs/applications/blockchains/turbo-geth.nix
new file mode 100644
index 0000000000000..3ca62722f9ba7
--- /dev/null
+++ b/pkgs/applications/blockchains/turbo-geth.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "turbo-geth";
+  version = "2020.11.04";
+
+  src = fetchFromGitHub {
+    owner = "ledgerwatch";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1iidj7cvpazk2v419l6k7h67rkx0mni3fcxfjpwrp0815fy1c2ri";
+  };
+
+  vendorSha256 = "16vawkky612zf45d8dhipjmhrprmi28z9wdcnjy07x3bxdyfbhfr";
+  runVend = true;
+
+  subPackages = [
+    "cmd/tg"
+    "cmd/restapi"
+    "cmd/rpcdaemon"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/ledgerwatch/turbo-geth/";
+    description = "Ethereum node and geth fork focused on scalability and modularity";
+    license = with licenses; [ lgpl3 gpl3 ];
+    maintainers = with maintainers; [ xwvvvvwx ];
+  };
+}
diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix
index 3b4ec1c49c4ca..e566661d36a27 100644
--- a/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -24,11 +24,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
-  version = "1.1.12";
+  version = "1.1.12.2";
 
   src = fetchurl {
     url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
-    sha256 = "0nfd0pwsgrkaxcxfs8wb3i8kslfcqnc91iahw3rmlcxdzb81kjs4";
+    sha256 = "0nl7n24nsy3gyzrxa6llx81pvsjqcwi0a4qdv34dpcq483aclp2r";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/blockchains/zcash/default.nix b/pkgs/applications/blockchains/zcash/default.nix
index e2c57d514cda6..9cccbd7b7e46d 100644
--- a/pkgs/applications/blockchains/zcash/default.nix
+++ b/pkgs/applications/blockchains/zcash/default.nix
@@ -1,5 +1,5 @@
 { stdenv, libsodium, fetchFromGitHub, wget, pkgconfig, autoreconfHook, openssl, db62, boost17x
-, zlib, gtest, gmock, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent }:
+, zlib, gtest, gmock, callPackage, gmp, qt4, util-linux, protobuf, qrencode, libevent }:
 
 let librustzcash = callPackage ./librustzcash {};
 in
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ gtest gmock gmp openssl wget db62 boost17x zlib
                   protobuf libevent libsodium librustzcash ]
-                  ++ optionals stdenv.isLinux [ utillinux ];
+                  ++ optionals stdenv.isLinux [ util-linux ];
 
   configureFlags = [ "--with-boost-libdir=${boost17x.out}/lib" ];
 
diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix
index 3ebeaa6262b7a..fd02536589fb7 100644
--- a/pkgs/applications/display-managers/sddm/default.nix
+++ b/pkgs/applications/display-managers/sddm/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "0.18.1";
+  version = "0.19.0";
 
 in mkDerivation {
   pname = "sddm";
@@ -14,7 +14,7 @@ in mkDerivation {
     owner = "sddm";
     repo = "sddm";
     rev = "v${version}";
-    sha256 = "0an1zafz0yhxd9jgd3gzdwmaw5f9vs4c924q56lp2yxxddbmzjcq";
+    sha256 = "1s6icb5r1n6grfs137gdzfrcvwsb3hvlhib2zh6931x8pkl1qvxa";
   };
 
   patches = [
diff --git a/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch b/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch
index aac09dfe876b5..a4d41e3e6f520 100644
--- a/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch
+++ b/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch
@@ -1,8 +1,8 @@
 diff --git a/src/common/ConfigReader.cpp b/src/common/ConfigReader.cpp
-index 4b5983c..911c511 100644
+index 041e5ed..efb1324 100644
 --- a/src/common/ConfigReader.cpp
 +++ b/src/common/ConfigReader.cpp
-@@ -147,16 +147,13 @@ namespace SDDM {
+@@ -148,17 +148,14 @@ namespace SDDM {
          // * m_path (classic fallback /etc/sddm.conf)
  
          QStringList files;
@@ -13,18 +13,20 @@ index 4b5983c..911c511 100644
              QDir dir(m_sysConfigDir);
              if (dir.exists()) {
 -                latestModificationTime = std::max(latestModificationTime,  QFileInfo(m_sysConfigDir).lastModified());
-                 foreach (const QFileInfo &file, dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot, QDir::LocaleAware)) {
+                 const auto dirFiles = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot, QDir::LocaleAware);
+                 for (const QFileInfo &file : dirFiles) {
                      files << (file.absoluteFilePath());
 -                    latestModificationTime = std::max(latestModificationTime, file.lastModified());
                  }
              }
          }
-@@ -164,21 +161,14 @@ namespace SDDM {
+@@ -166,22 +163,15 @@ namespace SDDM {
              //include the configDir in modification time so we also reload on any files added/removed
              QDir dir(m_configDir);
              if (dir.exists()) {
 -                latestModificationTime = std::max(latestModificationTime,  QFileInfo(m_configDir).lastModified());
-                 foreach (const QFileInfo &file, dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot, QDir::LocaleAware)) {
+                 const auto dirFiles = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot, QDir::LocaleAware);
+                 for (const QFileInfo &file : dirFiles) {
                      files << (file.absoluteFilePath());
 -                    latestModificationTime = std::max(latestModificationTime, file.lastModified());
                  }
@@ -38,6 +40,6 @@ index 4b5983c..911c511 100644
 -        }
 -        m_fileModificationTime = latestModificationTime;
 -
-         foreach (const QString &filepath, files) {
+         for (const QString &filepath : qAsConst(files)) {
              loadInternal(filepath);
          }
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index e8d8eb9002624..51c7ebcc907f9 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -9,9 +9,9 @@ let
     inherit buildFHSUserEnv;
   };
   stableVersion = {
-    version = "4.1.0.19"; # "Android Studio 4.1.0"
-    build = "201.6858069";
-    sha256Hash = "sha256-S5Uh/EpjE61l/z4UsPP7UEJ9Rk/hQidVVWX0bg/60gI=";
+    version = "4.1.1.0"; # "Android Studio 4.1.1"
+    build = "201.6953283";
+    sha256Hash = "sha256-aAMhhJWcVFdvEZt8fI3tF12Eg3TzlU+kUFMNeCYN1os=";
   };
   betaVersion = {
     version = "4.1.0.18"; # "Android Studio 4.1 RC 3"
@@ -19,9 +19,9 @@ let
     sha256Hash = "sha256-qbxmR9g8DSKzcP09bJuc+am79BSXWG39UQxFEb1bZ88=";
   };
   latestVersion = { # canary & dev
-    version = "4.2.0.13"; # "Android Studio 4.2 Canary 13"
-    build = "202.6863838";
-    sha256Hash = "sha256-avkRelP5/sDXW7pdVrOknmb3PtR6XQEmQXivZFljpLc=";
+    version = "4.2.0.16"; # "Android Studio 4.2 Canary 16"
+    build = "202.6939830";
+    sha256Hash = "sha256-2Xh0GR4BHZI6ofdyMI2icrztI2BmiHWT+1bEZIZ58IE=";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix
index c7ac671c15bff..48c83b0531080 100644
--- a/pkgs/applications/editors/bluefish/default.nix
+++ b/pkgs/applications/editors/bluefish/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "bluefish-2.2.11";
+  name = "bluefish-2.2.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/bluefish/${name}.tar.bz2";
-    sha256 = "1zy2ppdg3nq9iy3zgfhnw93bq5zbbhyampf7bk3grpfvq5zqfk25";
+    sha256 = "0slyjx4b4l612505q02crk00pjg9d5wi8gm5gxvcs0f6l9dr1y8d";
   };
 
   nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/editors/code-browser/default.nix b/pkgs/applications/editors/code-browser/default.nix
index 11476cae702e6..ed11298c621ac 100644
--- a/pkgs/applications/editors/code-browser/default.nix
+++ b/pkgs/applications/editors/code-browser/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   ++ stdenv.lib.optionals withQt [ "UI=qt" ]
   ++ stdenv.lib.optionals withGtk [ "UI=gtk" ];
   meta = with stdenv.lib; {
-    description = "Folding text editor, designed to hierarchically structure any kind of text file and especially source code.";
+    description = "Folding text editor, designed to hierarchically structure any kind of text file and especially source code";
     homepage = "https://tibleiz.net/code-browser/";
     license = licenses.gpl2;
     platforms = platforms.x86_64;
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index a1af859af819c..af3f087dae263 100644
--- a/pkgs/applications/editors/cudatext/default.nix
+++ b/pkgs/applications/editors/cudatext/default.nix
@@ -30,22 +30,21 @@ let
   deps = lib.mapAttrs
     (name: spec:
       fetchFromGitHub {
-        owner = "Alexey-T";
         repo = name;
-        inherit (spec) rev sha256;
+        inherit (spec) owner rev sha256;
       }
     )
     (builtins.fromJSON (builtins.readFile ./deps.json));
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.111.0";
+  version = "1.115.0";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    sha256 = "1ai0g8fmw4m237dqh5dkr8w9qqricyvp49ijz2ivvmg9dsdfzjfp";
+    sha256 = "0q7gfpzc97fvyvabjdb9a4d3c2qhm4zf5bqgnsj73vkly80kgww8";
   };
 
   patches = [
@@ -74,6 +73,7 @@ stdenv.mkDerivation rec {
     cp -r --no-preserve=mode ${dep} ${name}
   '') deps) + ''
     lazbuild --lazarusdir=${lazarus}/share/lazarus --pcp=./lazarus --ws=${widgetset} \
+      bgrabitmap/bgrabitmap/bgrabitmappack.lpk \
       EncConv/encconv/encconv_package.lpk \
       ATBinHex-Lazarus/atbinhex/atbinhex_package.lpk \
       ATFlatControls/atflatcontrols/atflatcontrols_package.lpk \
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index 9c3270bb28a23..02418d25842dc 100644
--- a/pkgs/applications/editors/cudatext/deps.json
+++ b/pkgs/applications/editors/cudatext/deps.json
@@ -1,42 +1,57 @@
 {
   "EncConv": {
+    "owner": "Alexey-T",
     "rev": "2020.06.15",
     "sha256": "07dpvq3ppfq3b70i1smkf7vwdlzq8qnxs3fk94hi9h1z36bz2rw3"
   },
   "ATBinHex-Lazarus": {
+    "owner": "Alexey-T",
     "rev": "2020.09.05",
     "sha256": "022yx5vic4hnc9lz53wvr4h7hf0h71801dzlilj55x5mf8p59072"
   },
   "ATFlatControls": {
-    "rev": "2020.08.23",
-    "sha256": "1axzwiz5h62v11ncynxcg431dfbky9pwyha7cd6kpizjdjagfklw"
+    "owner": "Alexey-T",
+    "rev": "2020.09.20",
+    "sha256": "09svn8yyqp6znvfpcxrsybkclh828h5rvah7nhbhk7nrfzj8i63x"
   },
   "ATSynEdit": {
-    "rev": "2020.09.05",
-    "sha256": "0qn0fp7rbi48f3nrysb0knkd7a3a6pl5w72yf95g5iibal4zrib2"
+    "owner": "Alexey-T",
+    "rev": "2020.10.12",
+    "sha256": "07vznwwfa3c1jr1cd32yppw0mmmm1ja9bmsxhxlcbnc2nb30n9zr"
   },
   "ATSynEdit_Cmp": {
-    "rev": "2020.09.05",
-    "sha256": "1bd25zc97001b7lg0bvi8va9mazkr6jih6d2ddkabcxcnsj0dxnq"
+    "owner": "Alexey-T",
+    "rev": "2020.10.11",
+    "sha256": "11vx685i85izp7wzb34dalcwlkmkbz1vzva5j9cf2yz1jff1v4qw"
   },
   "EControl": {
-    "rev": "2020.09.05",
-    "sha256": "1n7s1zkhrr216gqdqvq6wq0n3jq7s78mwpi5s5j8054p0fak1ywi"
+    "owner": "Alexey-T",
+    "rev": "2020.10.04",
+    "sha256": "0ypbaca3y5biw2207yh3x5p28gm8g51qf7glm5622w3cgbrf9mdq"
   },
   "ATSynEdit_Ex": {
-    "rev": "2020.09.05",
-    "sha256": "17y2cx5syj3jvrszjgdyf1p6vilp2qgaggz4y8yqnz99cvd0shs7"
+    "owner": "Alexey-T",
+    "rev": "2020.10.04",
+    "sha256": "0z66cm9pgdi7whqaim6hva4aa08zrr1881n1fal7lnz6wlla824k"
   },
   "Python-for-Lazarus": {
+    "owner": "Alexey-T",
     "rev": "2020.07.31",
     "sha256": "0qbs51h6gw8qd3h06kwy1j7db35shbg7r2rayrhvvw0vzr9n330j"
   },
   "Emmet-Pascal": {
+    "owner": "Alexey-T",
     "rev": "2020.09.05",
     "sha256": "0qfiirxnk5g3whx8y8hp54ch3h6gkkd01yf79m95bwar5qvdfybg"
   },
   "CudaText-lexers": {
+    "owner": "Alexey-T",
     "rev": "2020.08.10",
     "sha256": "1gzs2psyfhb9si1qyacxzfjb3dz2v255hv7y4jlkbxdxv0kckqr6"
+  },
+  "bgrabitmap": {
+    "owner": "bgrabitmap",
+    "rev": "v11.2.4",
+    "sha256": "1zk88crfn07md16wg6af4i8nlx4ikkhxq9gfk49jirwimgwbf1md"
   }
 }
diff --git a/pkgs/applications/editors/cudatext/dont-check-update.patch b/pkgs/applications/editors/cudatext/dont-check-update.patch
index 44912160b2686..5c896bc046c03 100644
--- a/pkgs/applications/editors/cudatext/dont-check-update.patch
+++ b/pkgs/applications/editors/cudatext/dont-check-update.patch
@@ -1,8 +1,8 @@
 diff --git i/app/formmain.pas w/app/formmain.pas
-index 8c1131680..6c6c0043f 100644
+index f6f37febb..cf993d75e 100644
 --- i/app/formmain.pas
 +++ w/app/formmain.pas
-@@ -2135,6 +2135,7 @@ begin
+@@ -2156,6 +2156,7 @@ begin
      false
      {$endif};
      *)
diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix
index 218fbe8fc1fcc..0282dc95f72e0 100644
--- a/pkgs/applications/editors/eclipse/build-eclipse.nix
+++ b/pkgs/applications/editors/eclipse/build-eclipse.nix
@@ -1,6 +1,6 @@
 { stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
 , zlib, jdk, glib, gtk, libXtst, gsettings-desktop-schemas, webkitgtk
-, makeWrapper, ... }:
+, makeWrapper, perl, ... }:
 
 { name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description }:
 
@@ -50,6 +50,9 @@ stdenv.mkDerivation rec {
     cp ${desktopItem}/share/applications/* $out/share/applications
     mkdir -p $out/share/pixmaps
     ln -s $out/eclipse/icon.xpm $out/share/pixmaps/eclipse.xpm
+
+    # ensure eclipse.ini does not try to use a justj jvm, as those aren't compatible with nix
+    ${perl}/bin/perl -i -p0e 's|-vm\nplugins/org.eclipse.justj.*/jre/bin\n||' $out/eclipse/eclipse.ini
   ''; # */
 
   meta = {
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 87ac29b58e947..0afbecb84cf3f 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -10,13 +10,16 @@ assert stdenv ? glibc;
 
 # https://download.eclipse.org/eclipse/downloads/ is the main place to
 # find the downloads needed for new versions
+#
+# to test:
+# $ for e in cpp modeling platform sdk java committers; do nix build -f default.nix pkgs.eclipses.eclipse-${e} -o eclipse-${e}; done
 
 let
   platform_major = "4";
-  platform_minor = "16";
+  platform_minor = "17";
   year = "2020";
-  month = "06";
-  timestamp = "${year}${month}040540";
+  month = "09";
+  timestamp = "${year}${month}021800";
   gtk = gtk3;
 in rec {
 
@@ -34,7 +37,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        sha512 = "0vfxzsvfv9zmd0ckrdpziijzskh13g8kgk8ibkwmhmqmj14a3visk6yvn5q2s0knkswl1zy9arinw0mxvqh72dfj63vwc01vhp06lyr";
+        sha512 = "270pk7vvfvanig49xkrail01nf967zlp7xf8rvyh2ya7s0y0akj2bi0y4yms4gwijmingm8y2ir9qynd360mzwl8mnc1c31ykf9l3lh";
       };
   };
 
@@ -46,7 +49,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        sha512 = "29nr1x3fgdw5ygrppfma6yi1iaqvad24jyb58sag735z1nz4ymajcwakg52mlv3s19d4w8cxpskh1r459mwz7j769qplymspqifvlkd";
+        sha512 = "26bb6cbnw94ml585aqrs8wpfksd2883njlqi48klpbn5n1bwpnpwvymx9q46i49piiyp0r1pa8ghdcgiwcakvri5nzldlh522fs7h5y";
       };
   };
 
@@ -58,7 +61,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
-        sha512 = "2pm4xam0jn9x34k1hr5rn67fpvc6snlkpcfn4bzdcf2xjv9f3dr2039mkcrhri5nv2bj6fkbai6aga6fmmrb3na33b7ir7sqlqqn61b";
+        sha512 = "2i3gjxmq1i4p70q2l5749b96z1r4nv15dii17fywbyby3kbggwhfvaydizy7z5p6kn0y91dw13p7gmg3qpr9d46mb8f8h3sxks7fyl9";
       };
   };
 
@@ -83,7 +86,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
-        sha512 = "195c07yabmi2a42qxfmpbv6ychpj15bbpgyp40s1pcdb3p875vcqjinq9dqy2sixzwjhfdrggpvwihav87rkih9arzmk2s4cm31mjqd";
+        sha512 = "1c29r7qwjrjv86q2c4bhlrmmh50690lrq164jzrlisys9vnxb6wii0gwb34p9m1xqr3lgba1zhffb4jx18prrk0x8xbd78mp0lvya3k";
       };
   };
 
@@ -95,7 +98,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        sha512 = "3n8jllgxarrxgz16n7zb4bgaqxk0m9frcxrgdxvy25ar2iw8js4q4ir3cc20y4ri3ii74rf3jy6n4ndhm57miwqh4p2wqzhfjlinirb";
+        sha512 = "3rkpngrk6423i2pcf241wbr9jfzwxm2qwm57ipjpjw6705w1rapcws4bibqjznlf34lqvnynkw2wihy51j1ryw25z9fc2jsvyj67c1q";
       };
   };
 
@@ -107,7 +110,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        sha512 = "1l0gc7srpvn3r0yrbrp1pjv1a3n1y7q5fqww5fmzyw1d6j3hjkqj74c9bff16579cpf7z6d4wmj6kr7z89p0ignrx319gc8p0hivi1y";
+        sha512 = "3gnqamrn3x2gr4dfcgl7ppxpyi1q422l0sm7sh0vmipbs9l1c58plm3p14j9rjsyjlly2xjci6dg7sb9mj6259vc640wafnzcs89ii1";
       };
   };
 
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 4edb7a7ebc4f1..cdf36bc3c21e2 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -255,12 +255,12 @@ rec {
   cdt = buildEclipseUpdateSite rec {
     name = "cdt-${version}";
     # find current version at https://www.eclipse.org/cdt/downloads.php
-    version = "9.11.1";
+    version = "10.0.1";
 
     src = fetchzip {
       stripRoot = false;
-      url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.11/${name}/${name}.zip";
-      sha256 = "00cpaal6jm9xb4nbkljrf381r3lf1rb1p06vrbn4l0lxnbckb9df";
+      url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/10.0/${name}/${name}.zip";
+      sha256 = "1smi1yc4l627bb01zp0pcilm6d0hysxk440hy4n55gz3jxilygx5";
     };
 
     meta = with stdenv.lib; {
@@ -475,12 +475,12 @@ rec {
 
   jdt = buildEclipseUpdateSite rec {
     name = "jdt-${version}";
-    version = "4.16";
+    version = "4.17";
 
     src = fetchzip {
       stripRoot = false;
-      url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-${version}-202006040540/org.eclipse.jdt-${version}.zip";
-      sha256 = "0g349hg2nv1y628daxf84396wpf33z52wxv0gawlgrirbbizaznd";
+      url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-${version}-202009021800/org.eclipse.jdt-${version}.zip";
+      sha256 = "16vb88ywqfh0rix5krp2g39yhisv4i797g9c03aayzy5lynqm3ky";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/edbrowse/default.nix b/pkgs/applications/editors/edbrowse/default.nix
index c43640b65245b..4e727e9a22a65 100644
--- a/pkgs/applications/editors/edbrowse/default.nix
+++ b/pkgs/applications/editors/edbrowse/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "edbrowse";
-  version = "3.7.6";
+  version = "3.7.7";
 
   buildInputs = [ curl pcre readline openssl duktape perl html-tidy ];
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "CMB";
     repo = "edbrowse";
     rev = "v${version}";
-    sha256 = "0yk4djb9q8ll94fs57y706bsqlar4pfx6ysasvkzj146926lrh8a";
+    sha256 = "0cw9d60mdhwna57r1vxn53s8gl81rr3cxnvm769ifq3xyh49vfcf";
   };
   meta = with stdenv.lib; {
     description = "Command Line Editor Browser";
diff --git a/pkgs/applications/editors/elvis/default.nix b/pkgs/applications/editors/elvis/default.nix
index 3a6c8c97b2219..df8f255de5e08 100644
--- a/pkgs/applications/editors/elvis/default.nix
+++ b/pkgs/applications/editors/elvis/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--ioctl=termios" ];
 
   meta = {
-    homepage = "http://elvis.vi-editor.org/";
+    homepage = "http://elvis.the-little-red-haired-girl.org/";
     description = "A vi clone for Unix and other operating systems";
     license = stdenv.lib.licenses.free;
   };
diff --git a/pkgs/applications/editors/emacs-modes/prolog/default.nix b/pkgs/applications/editors/emacs-modes/prolog/default.nix
index 7f5a097daa935..66ab983023752 100644
--- a/pkgs/applications/editors/emacs-modes/prolog/default.nix
+++ b/pkgs/applications/editors/emacs-modes/prolog/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "prolog-mode-1.25";
+  pname = "prolog-mode";
+  version = "1.28";
 
   src = fetchurl {
     url = "http://bruda.ca/_media/emacs/prolog.el";
-    sha256 = "0hfd2dr3xc5qxgvc08nkb2l5a05hfldahdc6ymi9vd8798cc46yh";
+    sha256 = "oCMzks4xuor8Il8Ll8PXh1zIvMl5qN0RCFJ9yKiHOHU=";
   };
 
   buildCommand = ''
@@ -17,8 +18,5 @@ stdenv.mkDerivation {
     homepage = "http://bruda.ca/emacs/prolog_mode_for_emacs/";
     description = "Prolog mode for Emacs";
     license = stdenv.lib.licenses.gpl2Plus;
-
-    # Has wrong sha256
-    broken = true;
   };
 }
diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix
index f2904f3e012b9..a0bd1193d2cda 100644
--- a/pkgs/applications/editors/emacs/generic.nix
+++ b/pkgs/applications/editors/emacs/generic.nix
@@ -22,6 +22,7 @@
 , srcRepo ? false, autoreconfHook ? null, texinfo ? null
 , siteStart ? ./site-start.el
 , nativeComp ? false
+, withImageMagick ? lib.versionOlder version "27" && (withX || withNS)
 , toolkit ? (
   if withGTK2 then "gtk2"
   else if withGTK3 then "gtk3"
@@ -101,7 +102,8 @@ in stdenv.mkDerivation {
     ++ lib.optionals withX
       [ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff libXft
         gconf cairo ]
-    ++ lib.optionals (withX || withNS) [ imagemagick librsvg ]
+    ++ lib.optionals (withX || withNS) [ librsvg ]
+    ++ lib.optionals withImageMagick [ imagemagick ]
     ++ lib.optionals (stdenv.isLinux && withX) [ m17n_lib libotf ]
     ++ lib.optional (withX && withGTK2) gtk2-x11
     ++ lib.optionals (withX && withGTK3) [ gtk3-x11 gsettings-desktop-schemas ]
@@ -126,6 +128,7 @@ in stdenv.mkDerivation {
              "--with-gif=no" "--with-tiff=no" ])
     ++ lib.optional withXwidgets "--with-xwidgets"
     ++ lib.optional nativeComp "--with-nativecomp"
+    ++ lib.optional withImageMagick "--with-imagemagick"
     ;
 
   installTargets = [ "tags" "install" ];
@@ -142,7 +145,7 @@ in stdenv.mkDerivation {
     rm -rf $siteVersionDir
   '' + lib.optionalString withCsrc ''
     for srcdir in src lisp lwlib ; do
-      dstdir=$siteVersionDir/$srcdir
+      dstdir=$out/share/emacs/$siteVersionDir/$srcdir
       mkdir -p $dstdir
       find $srcdir -name "*.[chm]" -exec cp {} $dstdir \;
       cp $srcdir/TAGS $dstdir
diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el
index de4708b889089..2f02d6d1a86d0 100644
--- a/pkgs/applications/editors/emacs/site-start.el
+++ b/pkgs/applications/editors/emacs/site-start.el
@@ -52,9 +52,6 @@ least specific (the system profile)"
          (file-name-directory load-file-name)))) ; .../emacs/site-lisp/
       (version
        (file-name-as-directory
-        (concat
-         (number-to-string emacs-major-version)
-         "."
-         (number-to-string emacs-minor-version))))
+        emacs-version))
       (src (file-name-as-directory "src")))
   (setq find-function-C-source-directory (concat emacs version src)))
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index d3cc36244193e..124d4ee0417ad 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "geany";
-  version = "1.36";
+  version = "1.37.1";
 
   outputs = [ "out" "dev" "doc" "man" ];
 
   src = fetchurl {
     url = "https://download.geany.org/${pname}-${version}.tar.bz2";
-    sha256 = "0gnm17cr4rf3pmkf0axz4a0fxwnvp55ji0q0lzy88yqbshyxv14i";
+    sha256 = "060sachn33xpx3a609f09y97qq5ky17gvv686zbvrn618ij7bi8q";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/glow/default.nix b/pkgs/applications/editors/glow/default.nix
index 0bb8b4eb18ac2..a54ce7345d041 100644
--- a/pkgs/applications/editors/glow/default.nix
+++ b/pkgs/applications/editors/glow/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "glow";
-  version = "1.0.2";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "glow";
     rev = "v${version}";
-    sha256 ="0jyl5ln7c2naawmw7bljzrldr96xyb5rbis6y6blmyghr0vx07zb";
+    sha256 = "1jf9d8zwhvg9pc5g29lwz2r0lc59h1smwb5mjswxlvljpgbj7jwh";
   };
 
-  vendorSha256 = "0z3r8fvpy36ybgb18sr0lril1sg8z7s99xv1a6g1v3zdnj3zimav";
+  vendorSha256 = "1p50qr7hbc8vyifa23z7xr43b4fpmwdzg7hqs503c124kpbpk45z";
 
   doCheck = false;
 
@@ -21,6 +21,6 @@ buildGoModule rec {
     description = "Render markdown on the CLI, with pizzazz!";
     homepage = "https://github.com/charmbracelet/glow";
     license = licenses.mit;
-    maintainers = with maintainers; [ ehmry filalex77 penguwin ];
+    maintainers = with maintainers; [ ehmry Br1ght0ne penguwin ];
   };
 }
diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix
index a94ab58a78fe1..6704702837a6b 100644
--- a/pkgs/applications/editors/gnome-builder/default.nix
+++ b/pkgs/applications/editors/gnome-builder/default.nix
@@ -40,11 +40,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-builder";
-  version = "3.36.1";
+  version = "3.38.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2";
+    sha256 = "06wcyfrwcjyj2vcqyw0z3sy1r4qxpcdpwqq1qmpsaphpz8acycjn";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/gnome-latex/default.nix b/pkgs/applications/editors/gnome-latex/default.nix
index 695a13eecabdd..ffdeb21de7f31 100644
--- a/pkgs/applications/editors/gnome-latex/default.nix
+++ b/pkgs/applications/editors/gnome-latex/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, wrapGAppsHook, gsettings-desktop-schemas, gspell, gtksourceview4, libgee
 , tepl, amtk, gnome3, glib, pkgconfig, intltool, itstool, libxml2 }:
 let
-  version = "3.36.0";
+  version = "3.38.0";
   pname = "gnome-latex";
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1869kr1zhcp04mzbi67lwgk497w840dbbc7427i9yh9b9s7j6mqn";
+    sha256 = "0xqd49pgi82dygqnxj08i1v22b0vwwhx3zvdinhrx4jny339yam8";
   };
 
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index d54513971a8ae..80528617d64dd 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -268,12 +268,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2020.2.3"; /* updated by script */
+    version = "2020.2.5"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "1kdlmdsfxmwks3rk2dzm5q30vwzpxcwzpyjsir122k36xnqvaqxq"; /* updated by script */
+      sha256 = "0j7gxh8wqshn2i1f22bl9099sx8a4092qwkp4fwny4649rbkfyrz"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -281,12 +281,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2020.2.3"; /* updated by script */
+    version = "2020.3"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "0iv1zmdpbqk8f4cjd6dhgj9mrvxli4dg83jzkhv566sy8wrrx7kb"; /* updated by script */
+      sha256 = "1j0mlsiqh80mspi2x9mi0h5hxhg5gw6395hyl9w33q8dxm95mx2d"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -307,12 +307,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2020.2.2"; /* updated by script */
+    version = "2020.2.4"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "0kbn9q7fvhrzb1w6l8i2nv4cx8qrj74jp7fidj9yk8vkv9lfijg6"; /* updated by script */
+      sha256 = "1rlw01aq6ci46xv4d4877k30309jjws29kwhriy98xf804msyzyb"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -320,12 +320,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2020.2.2"; /* updated by script */
+    version = "2020.2.4"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "1196zrcbgrr9271kjrzd2mzvhvxd7hkr1d2a4ij4h8f97qmsd6r6"; /* updated by script */
+      sha256 = "05qr8jiasqxmkgi9v52g7hgpdf7pkkjcp42bbkh1f4zgvq81p5py"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -333,12 +333,12 @@ in
 
   mps = buildMps rec {
     name = "mps-${version}";
-    version = "2020.2"; /* updated by script */
+    version = "2020.2.2"; /* updated by script */
     description = "Create your own domain-specific language";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/mps/2020.2/MPS-${version}.tar.gz";
-      sha256 = "06c0yv9vvz0y5njh1sghn7ijpn1d81mxsyk5xjpj29bvvg511pjs"; /* updated by script */
+      sha256 = "1a09yahky8ii2dypj69m89c3yh7akn7sa74n0j0mff7r46ad421y"; /* updated by script */
     };
     wmClass = "jetbrains-mps";
     update-channel = "MPS RELEASE";
@@ -346,12 +346,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2020.2.1"; /* updated by script */
+    version = "2020.2.4"; /* updated by script */
     description = "Professional IDE for Web and PHP developers";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "14hz6w5lgn8ddscicm4s9xhi07j5adsq0bmyr8amzmj5q6jgw4p9"; /* updated by script */
+      sha256 = "111dr1a6695msh13cd484yk671jnh2ps6q1k2dl0kmryk9dqnvhd"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -359,12 +359,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2020.2.2"; /* updated by script */
+    version = "2020.2.4"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "1a1vhlc2q5n3dxli0x6ppxx3mgary4gpakcxdp9nylmixjzjph6v"; /* updated by script */
+      sha256 = "196hhb4n52a50w50awx01ksyl5dkrbdmnz8sb9di5ihni7043p97"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -372,12 +372,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2020.2.2"; /* updated by script */
+    version = "2020.2.4"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0v64f5sbv1639d6fjg0shfgdy40f1xc2zbn0jqfrx6xmkg7wgsz9"; /* updated by script */
+      sha256 = "0dwd9gvi8n3igza95pil3mf7azxn131830rvfzdvnvrzj9yb2q8l"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -385,12 +385,12 @@ in
 
   rider = buildRider rec {
     name = "rider-${version}";
-    version = "2020.2.3"; /* updated by script */
+    version = "2020.2.4"; /* updated by script */
     description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
-      sha256 = "01namzd29chj975w3awanlzf38hh30cfjzyljqfkp6y3djn0if1r"; /* updated by script */
+      sha256 = "1anl48ifv5ayqn876dqckxc1b5fw1271pvamzf1vvk501wv6dpaf"; /* updated by script */
     };
     wmClass = "jetbrains-rider";
     update-channel = "Rider RELEASE";
@@ -398,12 +398,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2020.2.2"; /* updated by script */
+    version = "2020.2.4"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "11v26hpf891nq5vj8i0ad4shhzpy8b7rvyrkr3l29dwfnd83lgpz"; /* updated by script */
+      sha256 = "0bpkl8phc16yjm7qjfbg42rm7sbfwbrjva7w0qiwiw9ibwvs90id"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
@@ -411,12 +411,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2020.2.2"; /* updated by script */
+    version = "2020.2.4"; /* updated by script */
     description = "Professional IDE for Web and JavaScript development";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "1w17cf0qj0vyizkzj1frcmi52q5qxbf31msg8df38wy2l8r0b928"; /* updated by script */
+      sha256 = "0l97nk9psb8g0sxm148fcz0x2v9mwqblffigrz2rmac3gd275s7f"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WebStorm RELEASE";
diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix
index eec14f286ba7a..f1f8110665973 100644
--- a/pkgs/applications/editors/kakoune/default.nix
+++ b/pkgs/applications/editors/kakoune/default.nix
@@ -30,6 +30,15 @@ stdenv.mkDerivation rec {
     $out/bin/kak -ui json -E "kill 0"
   '';
 
+  postInstall = ''
+    # make share/kak/autoload a directory, so we can use symlinkJoin with plugins
+    cd "$out/share/kak"
+    autoload_target=$(readlink autoload)
+    rm autoload
+    mkdir autoload
+    ln -s --relative "$autoload_target" autoload
+  '';
+
   meta = {
     homepage = "http://kakoune.org/";
     description = "A vim inspired text editor";
diff --git a/pkgs/applications/editors/kakoune/plugins/case.kak.nix b/pkgs/applications/editors/kakoune/plugins/case.kak.nix
index 20df2872628ff..6a2ef200e6e14 100644
--- a/pkgs/applications/editors/kakoune/plugins/case.kak.nix
+++ b/pkgs/applications/editors/kakoune/plugins/case.kak.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    description = "Ease navigation between opened buffers in Kakoune";
+    description = "Case convention conversion for Kakoune";
     homepage = "https://gitlab.com/FlyingWombat/case.kak";
     license = licenses.unlicense;
     maintainers = with maintainers; [ eraserhd ];
diff --git a/pkgs/applications/editors/kakoune/plugins/default.nix b/pkgs/applications/editors/kakoune/plugins/default.nix
index 3926973f7eadb..93241b93b04d1 100644
--- a/pkgs/applications/editors/kakoune/plugins/default.nix
+++ b/pkgs/applications/editors/kakoune/plugins/default.nix
@@ -1,7 +1,7 @@
-{ pkgs, parinfer-rust }:
+{ pkgs, parinfer-rust, rep }:
 
 {
-  inherit parinfer-rust;
+  inherit parinfer-rust rep;
 
   case-kak = pkgs.callPackage ./case.kak.nix { };
   kak-ansi = pkgs.callPackage ./kak-ansi.nix { };
diff --git a/pkgs/applications/editors/kakoune/plugins/kak-prelude.nix b/pkgs/applications/editors/kakoune/plugins/kak-prelude.nix
index ee9c125827c89..8fd5fba7d7edc 100644
--- a/pkgs/applications/editors/kakoune/plugins/kak-prelude.nix
+++ b/pkgs/applications/editors/kakoune/plugins/kak-prelude.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p $out/share/kak/autoload/plugins
-    cp -r rc $out/share/kak/autoload/plugins/auto-pairs
+    cp -r rc $out/share/kak/autoload/plugins/prelude
   '';
 
   meta = with stdenv.lib;
diff --git a/pkgs/applications/editors/kakoune/wrapper.nix b/pkgs/applications/editors/kakoune/wrapper.nix
index b4cc823880e72..7ac56d9cb1e0c 100644
--- a/pkgs/applications/editors/kakoune/wrapper.nix
+++ b/pkgs/applications/editors/kakoune/wrapper.nix
@@ -1,44 +1,31 @@
-{ stdenv, bash }:
-with stdenv.lib;
-
-kakoune:
+{ symlinkJoin, makeWrapper, kakoune, plugins ? [], configure ? {} }:
 
 let
-  getPlugins = { plugins ? [] }: plugins;
+  # "plugins" is the preferred way, but some configurations may be
+  # using "configure.plugins", so accept both
+  requestedPlugins = plugins ++ (configure.plugins or []);
 
-  wrapper = { configure ? {} }:
-  stdenv.mkDerivation rec {
-    pname = "kakoune";
-    version = getVersion kakoune;
+in
+  symlinkJoin {
+    name = "kakoune-${kakoune.version}";
 
-    src = ./.;
-    buildCommand = ''
-      mkdir -p $out/share/kak
-      for plugin in ${strings.escapeShellArgs (getPlugins configure)}; do
-        if [[ -d $plugin/share/kak/autoload ]]; then
-          find "$plugin/share/kak/autoload" -type f -name '*.kak'| while read rcfile; do
-            printf 'source "%s"\n' "$rcfile"
-          done
-        fi
-      done >>$out/share/kak/plugins.kak
+    buildInputs = [ makeWrapper ];
 
-      mkdir -p $out/bin
-      substitute ${src}/wrapper.sh $out/bin/kak \
-        --subst-var-by bash "${bash}" \
-        --subst-var-by kakoune "${kakoune}" \
-        --subst-var-by out "$out"
-      chmod +x $out/bin/kak
-    '';
+    paths = [ kakoune ] ++ requestedPlugins;
 
-    preferLocalBuild = true;
-    buildInputs = [ bash kakoune ];
-    passthru = { unwrapped = kakoune; };
+    postBuild = ''
+      # location of kak binary is used to find ../share/kak/autoload,
+      # unless explicitly overriden with KAKOUNE_RUNTIME
+      rm "$out/bin/kak"
+      makeWrapper "${kakoune}/bin/kak" "$out/bin/kak" --set KAKOUNE_RUNTIME "$out/share/kak"
 
-    meta = kakoune.meta // {
-      # prefer wrapper over the package
-      priority = (kakoune.meta.priority or 0) - 1;
-      hydraPlatforms = [];
-    };
-  };
-in
-  makeOverridable wrapper
+      # currently kakoune ignores doc files if they are symlinks, so workaround by
+      # copying doc files over, so they become regular files...
+      mkdir "$out/DELETE_ME"
+      mv "$out/share/kak/doc" "$out/DELETE_ME"
+      cp -r --dereference "$out/DELETE_ME/doc" "$out/share/kak"
+      rm -Rf "$out/DELETE_ME"
+    '';
+
+    meta = kakoune.meta // { priority = (kakoune.meta.priority or 0) - 1; };
+  }
diff --git a/pkgs/applications/editors/kakoune/wrapper.sh b/pkgs/applications/editors/kakoune/wrapper.sh
deleted file mode 100644
index 48a971a10c6e6..0000000000000
--- a/pkgs/applications/editors/kakoune/wrapper.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!@bash@/bin/bash
-
-# We use the -E option to load plugins.  This only makes sense when we are
-# starting a new session, so we detect that.  Also, Kakoune can only handle
-# one -E option, so we prepend loading plugins to an existing one.
-args=( "$@" )
-loadPlugins=true
-EValueOffset=-1
-pluginScript='@out@/share/kak/plugins.kak'
-
-for (( i = 0; i < ${#args[@]}; i++ )); do
-    case "${args[i]}" in
-        -n|-c|-l|-p|-clear|-version) loadPlugins=false;;
-        -E)                          EValueOffset=$(( i + 1 ));;
-        --)                          break;;
-    esac
-    case "${args[i]}" in
-        -E|-c|-e|-s|-p|-f|-i|-ui|-debug) i=$(( i + 1 ));;
-    esac
-done
-
-if [[ $loadPlugins = true ]]; then
-    if (( EValueOffset >= 0 )); then
-        args[EValueOffset]="source '$pluginScript'"$'\n'"${args[EValueOffset]}"
-    else
-        args=( "-E" "source '$pluginScript'" "${args[@]}" )
-    fi
-fi
-
-exec @kakoune@/bin/kak "${args[@]}"
diff --git a/pkgs/applications/editors/kibi/default.nix b/pkgs/applications/editors/kibi/default.nix
index 85ad49a01d672..7945dedc52e1b 100644
--- a/pkgs/applications/editors/kibi/default.nix
+++ b/pkgs/applications/editors/kibi/default.nix
@@ -5,15 +5,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kibi";
-  version = "0.2.0";
+  version = "0.2.1";
 
-  cargoSha256 = "0zyqzb3k4ak7h58zjbg9b32hz1vgbbn9i9l85j4vd4aw8mhsz0n9";
+  cargoSha256 = "1cbiidq0w5f9ynb09b6828p7p7y5xhpgz47n2jsl8mp96ydhy5lv";
 
   src = fetchFromGitHub {
     owner = "ilai-deutel";
     repo = "kibi";
     rev = "v${version}";
-    sha256 = "1cqnzw6gpsmrqcz82zn1x5i6najcr3i7shj0wnqzpwppff9a6yac";
+    sha256 = "1x5bvvq33380k2qhs1bwz3f9zl5q1sl7iic47pxfkzv24bpjnypb";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/kile/default.nix b/pkgs/applications/editors/kile/default.nix
index fa25252fc6f84..6819c4337f4c7 100644
--- a/pkgs/applications/editors/kile/default.nix
+++ b/pkgs/applications/editors/kile/default.nix
@@ -29,14 +29,17 @@ mkDerivation rec {
     sha256 = "BEmSEv/LJPs6aCkUmnyuTGrV15WYXwgIANbfcviMXfA=";
   };
 
-  nativeBuildInputs = [ extra-cmake-modules wrapGAppsHook ];
+  nativeBuildInputs = [
+    extra-cmake-modules
+    wrapGAppsHook
+    kdoctools
+  ];
 
-  propagatedBuildInputs = [
+  buildInputs = [
     kconfig
     kcrash
     kdbusaddons
     kdelibs4support
-    kdoctools
     kguiaddons
     kiconthemes
     kinit
@@ -48,11 +51,15 @@ mkDerivation rec {
     poppler
     qtscript
   ];
+  dontWrapGApps = true;
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
 
   propagatedUserEnvPkgs = [ konsole ];
 
   meta = {
-    description = "Kile is a user friendly TeX/LaTeX authoring tool for the KDE desktop environment";
+    description = "User-friendly TeX/LaTeX authoring tool for the KDE desktop environment";
     homepage = "https://www.kde.org/applications/office/kile/";
     maintainers = with lib.maintainers; [ fridh ];
     license = lib.licenses.gpl2Plus;
diff --git a/pkgs/applications/editors/leo-editor/default.nix b/pkgs/applications/editors/leo-editor/default.nix
index f09fd2ec27799..e583671bcb40e 100644
--- a/pkgs/applications/editors/leo-editor/default.nix
+++ b/pkgs/applications/editors/leo-editor/default.nix
@@ -62,6 +62,6 @@ mkDerivation rec {
     description = "A powerful folding editor";
     longDescription = "Leo is a PIM, IDE and outliner that accelerates the work flow of programmers, authors and web designers.";
     license = licenses.mit;
-    maintainers = with maintainers; [ leonardoce ramkromberg ];
+    maintainers = with maintainers; [ leonardoce ];
   };
 }
diff --git a/pkgs/applications/editors/lite/default.nix b/pkgs/applications/editors/lite/default.nix
index 908ecf2bdd711..2f43972349848 100644
--- a/pkgs/applications/editors/lite/default.nix
+++ b/pkgs/applications/editors/lite/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     description = "A lightweight text editor written in Lua";
     homepage = "https://github.com/rxi/lite";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/editors/marker/default.nix b/pkgs/applications/editors/marker/default.nix
new file mode 100644
index 0000000000000..19ffdbd2c2c1c
--- /dev/null
+++ b/pkgs/applications/editors/marker/default.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, wrapGAppsHook
+, gtk3
+, gtksourceview
+, gtkspell3
+, webkitgtk
+, pandoc
+}:
+
+stdenv.mkDerivation rec {
+  pname = "marker";
+  version = "2020.04.04";
+
+  src = fetchFromGitHub {
+    owner = "fabiocolacio";
+    repo = "Marker";
+    rev = version;
+    fetchSubmodules = true;
+    sha256 = "1iy7izyprf050bix8am1krqivgyxnhx3jm775v8f80cgbqxy7m5r";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    gtksourceview
+    gtkspell3
+    webkitgtk
+    pandoc
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://fabiocolacio.github.io/Marker/";
+    description = "Markdown editor for the Linux desktop";
+    maintainers = with maintainers; [ trepetti ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    changelog = "https://github.com/fabiocolacio/Marker/releases/tag/${version}";
+  };
+}
diff --git a/pkgs/applications/editors/micro/default.nix b/pkgs/applications/editors/micro/default.nix
index ffef5d5fdde2a..f3506b0cb985d 100644
--- a/pkgs/applications/editors/micro/default.nix
+++ b/pkgs/applications/editors/micro/default.nix
@@ -1,40 +1,33 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "micro";
-  version = "2.0.7";
-
-  goPackagePath = "github.com/zyedidia/micro";
+  version = "2.0.8";
 
   src = fetchFromGitHub {
     owner = "zyedidia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07ck1a9arklic3p0z50wcg608cvpba1kljvlfb4fljr6jhv5cmkb";
-    fetchSubmodules = true;
+    sha256 = "1b51fvc9hrjfl8acr3yybp66xfll7d43412qwi76wxwarn06gkci";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
   subPackages = [ "cmd/micro" ];
 
-  buildFlagsArray = let t = "${goPackagePath}/internal/util"; in ''
-    -ldflags=
-      -X ${t}.Version=${version}
-      -X ${t}.CommitHash=${src.rev}
-  '';
+  vendorSha256 = "19iqvl63g9y6gkzfmv87rrgj4c4y6ngh467ss94rzrhaybj2b2d8";
 
-  goDeps = ./deps.nix;
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/zyedidia/micro/v2/internal/util.Version=${version} -X github.com/zyedidia/micro/v2/internal/util.CommitHash=${src.rev}" ];
 
   postInstall = ''
-    installManPage $src/assets/packaging/micro.1
+    installManPage assets/packaging/micro.1
+    install -Dt $out/share/applications assets/packaging/micro.desktop
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "https://micro-editor.github.io";
     description = "Modern and intuitive terminal-based text editor";
     license = licenses.mit;
     maintainers = with maintainers; [ dtzWill ];
   };
 }
-
diff --git a/pkgs/applications/editors/micro/deps.nix b/pkgs/applications/editors/micro/deps.nix
deleted file mode 100644
index d1cb91c295904..0000000000000
--- a/pkgs/applications/editors/micro/deps.nix
+++ /dev/null
@@ -1,345 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "github.com/blang/semver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/blang/semver";
-      rev = "v3.5.1";
-      sha256 = "13ws259bwcibkclbr82ilhk6zadm63kxklxhk12wayklj8ghhsmy";
-    };
-  }
-  {
-    goPackagePath = "github.com/chzyer/logex";
-    fetch = {
-      type = "git";
-      url = "https://github.com/chzyer/logex";
-      rev = "v1.1.10";
-      sha256 = "08pbjj3wx9acavlwyr055isa8a5hnmllgdv5k6ra60l5y1brmlq4";
-    };
-  }
-  {
-    goPackagePath = "github.com/chzyer/readline";
-    fetch = {
-      type = "git";
-      url = "https://github.com/chzyer/readline";
-      rev = "2972be24d48e";
-      sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r";
-    };
-  }
-  {
-    goPackagePath = "github.com/chzyer/test";
-    fetch = {
-      type = "git";
-      url = "https://github.com/chzyer/test";
-      rev = "a1ea475d72b1";
-      sha256 = "0rns2aqk22i9xsgyap0pq8wi4cfaxsri4d9q6xxhhyma8jjsnj2k";
-    };
-  }
-  {
-    goPackagePath = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev = "v1.1.1";
-      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
-    };
-  }
-  {
-    goPackagePath = "github.com/dustin/go-humanize";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dustin/go-humanize";
-      rev = "v1.0.0";
-      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
-    };
-  }
-  {
-    goPackagePath = "github.com/gdamore/encoding";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gdamore/encoding";
-      rev = "v1.0.0";
-      sha256 = "1vmm5zll92i2fm4ajqx0gyx0p9j36496x5nabi3y0x7h0inv0pk9";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-errors/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-errors/errors";
-      rev = "v1.0.1";
-      sha256 = "0rznpknk19rxkr7li6dqs52c26pjazp69lh493l4ny4sxn5922lp";
-    };
-  }
-  {
-    goPackagePath = "github.com/kballard/go-shellquote";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kballard/go-shellquote";
-      rev = "95032a82bc51";
-      sha256 = "1rspvmnsikdq95jmx3dykxd4k1rmgl98ryjrysvl0cf18hl1vq80";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pretty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pretty";
-      rev = "v0.1.0";
-      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pty";
-      rev = "v1.1.1";
-      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/text";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/text";
-      rev = "v0.1.0";
-      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
-    };
-  }
-  {
-    goPackagePath = "github.com/lucasb-eyer/go-colorful";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lucasb-eyer/go-colorful";
-      rev = "v1.0.3";
-      sha256 = "12bgz6dxbb2ki1g3x7fg9ipsjgfkd58fp7cdpv63h4kvlj2n7j69";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "v0.0.11";
-      sha256 = "0h671sv7hfprja495kavazkalkx7xzaqksjh13brcnwq67ijrali";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "v0.0.7";
-      sha256 = "1snr8mk63vz2h44knq26dm81p83887v7kb09iywqmx0nqzngih66";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/go-homedir";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/go-homedir";
-      rev = "v1.1.0";
-      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
-    };
-  }
-  {
-    goPackagePath = "github.com/pmezard/go-difflib";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pmezard/go-difflib";
-      rev = "v1.0.0";
-      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
-    };
-  }
-  {
-    goPackagePath = "github.com/robertkrimen/otto";
-    fetch = {
-      type = "git";
-      url = "https://github.com/robertkrimen/otto";
-      rev = "c382bd3c16ff";
-      sha256 = "043y6l647snsz71mdy84s2d3kn22aj6rbqd6c1vd8absvamqhlxa";
-    };
-  }
-  {
-    goPackagePath = "github.com/sergi/go-diff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sergi/go-diff";
-      rev = "v1.1.0";
-      sha256 = "0ir8ali2vx0j7pipmlfd6k8c973akyy2nmbjrf008fm800zcp7z2";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/objx";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/objx";
-      rev = "v0.1.0";
-      sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "v1.4.0";
-      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
-    };
-  }
-  {
-    goPackagePath = "github.com/xo/terminfo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xo/terminfo";
-      rev = "454e5b68f9e8";
-      sha256 = "0xvjb09nwbanp7ja4560pwb6b2xr9h0axyr7f5clgncca2k4f1pd";
-    };
-  }
-  {
-    goPackagePath = "github.com/yuin/gopher-lua";
-    fetch = {
-      type = "git";
-      url = "https://github.com/yuin/gopher-lua";
-      rev = "ab39c6098bdb";
-      sha256 = "13b0rrpv3988qw8rq6z7npajn1my059ybhafi5mxff9jw09k9sja";
-    };
-  }
-  {
-    goPackagePath = "github.com/zyedidia/clipboard";
-    fetch = {
-      type = "git";
-      url = "https://github.com/zyedidia/clipboard";
-      rev = "v1.0.3";
-      sha256 = "134vnx0r51f08b37yaymlxlfl14qv6r8yzgqz7dxxn1zw9197b3q";
-    };
-  }
-  {
-    goPackagePath = "github.com/zyedidia/glob";
-    fetch = {
-      type = "git";
-      url = "https://github.com/zyedidia/glob";
-      rev = "dd4023a66dc3";
-      sha256 = "1vqw4xbqq6j8p5m7mwxvb448w69vjvgzx0ndsfzdh2cxfirwp3y7";
-    };
-  }
-  {
-    goPackagePath = "github.com/zyedidia/highlight";
-    fetch = {
-      type = "git";
-      url = "https://github.com/zyedidia/highlight";
-      rev = "201131ce5cf5";
-      sha256 = "0blaynf32swmqddx2hcrifrfssj9c04kwnbdy42h3kzxihrwz4ps";
-    };
-  }
-  {
-    goPackagePath = "github.com/zyedidia/json5";
-    fetch = {
-      type = "git";
-      url = "https://github.com/zyedidia/json5";
-      rev = "2da050b1a98d";
-      sha256 = "1sgydazf3npr788b4w17ydmlh3fd1zmpriv9b69967ww90ckh2kz";
-    };
-  }
-  {
-    goPackagePath = "github.com/zyedidia/poller";
-    fetch = {
-      type = "git";
-      url = "https://github.com/zyedidia/poller";
-      rev = "v1.0.1";
-      sha256 = "10cjrqfk1j0l55bdbpm7kv4mqc665pngc8avai0p9chq03y2654g";
-    };
-  }
-  {
-    goPackagePath = "github.com/zyedidia/pty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/zyedidia/pty";
-      rev = "v2.0.0";
-      sha256 = "1n946ld8y2v2wfbwsxv8rfaicxbw3w8pk11ryc8iybmw7hkmmf79";
-    };
-  }
-  {
-    goPackagePath = "github.com/zyedidia/tcell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/zyedidia/tcell";
-      rev = "v2.0.2";
-      sha256 = "0fr7zm6zcir2bjll5ycdxy9m98gjr3ins7mzmqpd46b3njzbl75z";
-    };
-  }
-  {
-    goPackagePath = "github.com/zyedidia/terminal";
-    fetch = {
-      type = "git";
-      url = "https://github.com/zyedidia/terminal";
-      rev = "533c623e2415";
-      sha256 = "16l628f3zgl5yp9z5zkfy2hyl2sckw4d6mg3iqv2jjvh4i8yhrsm";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "33540a1f6037";
-      sha256 = "0fjcv0vzvi6za0b4xmnk3932pr9f9gczzf03y0kgq3ry9rqg169y";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.2";
-      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "90fa682c2a6e";
-      sha256 = "03ic2xsy51jw9749wl7gszdbz99iijbd2bckgygl6cm9w5m364ak";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/check.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/check.v1";
-      rev = "41f04d3bba15";
-      sha256 = "0vfk9czmlxmp6wndq8k17rhnjxal764mxfhrccza7nwlia760pjy";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/sourcemap.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/sourcemap.v1";
-      rev = "v1.0.5";
-      sha256 = "08rf2dl13hbnm3fq2cm0nnsspy9fhf922ln23cz5463cv7h62as4";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.7";
-      sha256 = "0k5xcwkd3wmcx54isk7ck9cwp8fapfhyqdz3f13kxp77cxqizazj";
-    };
-  }
-  {
-    goPackagePath = "layeh.com/gopher-luar";
-    fetch = {
-      type = "git";
-      url = "https://github.com/layeh/gopher-luar";
-      rev = "v1.0.7";
-      sha256 = "1rdbni3q7zajmiy62ccvbfgqjzppk5212wpwks2ba726hvyf85mj";
-    };
-  }
-]
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 6909af712fa03..04bd6c7b4b8bb 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -1,10 +1,6 @@
-{ stdenv, fetchurl, fetchFromGitHub
-, ncurses
-, texinfo
-, gettext ? null
-, enableNls ? true
-, enableTiny ? false
-}:
+{ stdenv, fetchurl, fetchFromGitHub, ncurses, texinfo, writeScript
+, common-updater-scripts, git, nix, nixfmt, coreutils, gnused, nixosTests
+, gettext ? null, enableNls ? true, enableTiny ? false }:
 
 assert enableNls -> (gettext != null);
 
@@ -44,13 +40,42 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru = {
+    tests = { inherit (nixosTests) nano; };
+
+    updateScript = writeScript "update.sh" ''
+      #!${stdenv.shell}
+      set -o errexit
+      PATH=${
+        stdenv.lib.makeBinPath [
+          common-updater-scripts
+          git
+          nixfmt
+          nix
+          coreutils
+          gnused
+        ]
+      }
+
+      oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')"
+      latestTag="$(git -c 'versionsort.suffix=-' ls-remote --exit-code --refs --sort='version:refname' --tags git://git.savannah.gnu.org/nano.git '*' | tail --lines=1 | cut --delimiter='/' --fields=3 | sed 's|^v||g')"
+
+      if [ ! "$oldVersion" = "$latestTag" ]; then
+        update-source-version ${pname} "$latestTag" --version-key=version --print-changes
+        nixpkgs="$(git rev-parse --show-toplevel)"
+        default_nix="$nixpkgs/pkgs/applications/editors/nano/default.nix"
+        nixfmt "$default_nix"
+      else
+        echo "${pname} is already up-to-date"
+      fi
+    '';
+  };
+
   meta = {
     homepage = "https://www.nano-editor.org/";
     description = "A small, user-friendly console text editor";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [
-      joachifm
-    ];
+    maintainers = with maintainers; [ joachifm nequissimus ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/editors/nano/nanorc/default.nix b/pkgs/applications/editors/nano/nanorc/default.nix
index 4d4b093233bdb..54442fc21f43f 100644
--- a/pkgs/applications/editors/nano/nanorc/default.nix
+++ b/pkgs/applications/editors/nano/nanorc/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, writeScript, nixosTests, common-updater-scripts
+, coreutils, git, gnused, nix, nixfmt }:
 
-stdenv.mkDerivation {
+let
+  owner = "scopatz";
+  repo = "nanorc";
+in stdenv.mkDerivation rec {
   pname = "nanorc";
-  version = "2020-01-25";
+  version = "2020-10-10";
 
   src = fetchFromGitHub {
-    owner = "scopatz";
-    repo = "nanorc";
-    rev = "2020.1.25";
-    sha256 = "1y8jk3jsl4bd6r4hzmxzcf77hv8bwm0318yv7y2npkkd3a060z8d";
+    inherit owner repo;
+    rev = builtins.replaceStrings [ "-" ] [ "." ] version;
+    sha256 = "3B2nNFYkwYHCX6pQz/hMO/rnVqlCiw1BSNmGmJ6KCqE=";
   };
 
   dontBuild = true;
@@ -19,6 +22,32 @@ stdenv.mkDerivation {
     install *.nanorc $out/share/
   '';
 
+  passthru.updateScript = writeScript "update.sh" ''
+    #!${stdenv.shell}
+    set -o errexit
+    PATH=${
+      stdenv.lib.makeBinPath [
+        common-updater-scripts
+        coreutils
+        git
+        gnused
+        nix
+        nixfmt
+      ]
+    }
+    oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"' | sed 's|\\.|-|g')"
+    latestTag="$(git -c 'versionsort.suffix=-' ls-remote --exit-code --refs --sort='version:refname' --tags git@github.com:${owner}/${repo} '*.*.*' | tail --lines=1 | cut --delimiter='/' --fields=3)"
+    if [ "$oldVersion" != "$latestTag" ]; then
+      nixpkgs="$(git rev-parse --show-toplevel)"
+      default_nix="$nixpkgs/pkgs/applications/editors/nano/nanorc/default.nix"
+      newTag=$(echo $latestTag | sed 's|\.|-|g')
+      update-source-version ${pname} "$newTag" --version-key=version --print-changes
+      nixfmt "$default_nix"
+    else
+      echo "${pname} is already up-to-date"
+    fi
+  '';
+
   meta = {
     description = "Improved Nano Syntax Highlighting Files";
     homepage = "https://github.com/scopatz/nanorc";
diff --git a/pkgs/applications/editors/neovim/gnvim/wrapper.nix b/pkgs/applications/editors/neovim/gnvim/wrapper.nix
index e16fe8a8adc78..bb9930b6c7184 100644
--- a/pkgs/applications/editors/neovim/gnvim/wrapper.nix
+++ b/pkgs/applications/editors/neovim/gnvim/wrapper.nix
@@ -23,9 +23,7 @@ stdenv.mkDerivation {
     cp -r '${gnvim-unwrapped}/share/applications' "$out/share/applications"
     # Sed needs a writable directory to do inplace modifications
     chmod u+rw "$out/share/applications"
-    for file in $out/share/applications/*.desktop; do
-      sed -e "s|Exec=.\\+gnvim\\>|Exec=$out/bin/gnvim|" -i "$file"
-    done
+    sed -e "s|Exec=.\\+gnvim\\>|Exec=gnvim|" -i $out/share/applications/*.desktop
   '';
 
   preferLocalBuild = true;
diff --git a/pkgs/applications/editors/neovim/utils.nix b/pkgs/applications/editors/neovim/utils.nix
new file mode 100644
index 0000000000000..d992ccd3f6a4b
--- /dev/null
+++ b/pkgs/applications/editors/neovim/utils.nix
@@ -0,0 +1,160 @@
+{ lib
+, vimUtils
+, nodejs
+, neovim-unwrapped
+, bundlerEnv
+, ruby
+, pythonPackages
+, python3Packages
+, writeText
+, wrapNeovimUnstable
+}:
+let
+  # returns everything needed for the caller to wrap its own neovim:
+  # - the generated content of the future init.vim
+  # - the arguments to wrap neovim with
+  # The caller is responsible for writing the init.vim and adding it to the wrapped
+  # arguments (["-u" writeText "init.vim" GENERATEDRC)]).
+  # This makes it possible to write the config anywhere: on a per-project basis
+  # .nvimrc or in $XDG_CONFIG_HOME/nvim/init.vim to avoid sideeffects.
+  # Indeed, note that wrapping with `-u init.vim` has sideeffects like .nvimrc wont be loaded
+  # anymore, $MYVIMRC wont be set etc
+  makeNeovimConfig =
+    {
+    withPython2 ? false
+    /* the function you would have passed to python.withPackages */
+    , extraPython2Packages ? (_: [ ])
+    , withPython3 ? true
+    /* the function you would have passed to python3.withPackages */
+    , extraPython3Packages ? (_: [ ])
+    , withNodeJs ? false
+    , withRuby ? true
+
+    # same values as in vimUtils.vimrcContent
+    , configure ? { }
+
+    # for forward compability, when adding new environments, haskell etc.
+    , ...
+    }@args:
+    let
+      rubyEnv = bundlerEnv {
+        name = "neovim-ruby-env";
+        gemdir = ./ruby_provider;
+        postBuild = ''
+          ln -sf ${ruby}/bin/* $out/bin
+        '';
+      };
+
+      requiredPlugins = vimUtils.requiredPlugins configure;
+      getDeps = attrname: map (plugin: plugin.${attrname} or (_: [ ]));
+
+      pluginPython2Packages = getDeps "pythonDependencies" requiredPlugins;
+      python2Env = pythonPackages.python.withPackages (ps:
+        [ ps.pynvim ]
+        ++ (extraPython2Packages ps)
+        ++ (lib.concatMap (f: f ps) pluginPython2Packages));
+
+      pluginPython3Packages = getDeps "python3Dependencies" requiredPlugins;
+      python3Env = python3Packages.python.withPackages (ps:
+        [ ps.pynvim ]
+        ++ (extraPython3Packages ps)
+        ++ (lib.concatMap (f: f ps) pluginPython3Packages));
+
+
+      # Mapping a boolean argument to a key that tells us whether to add or not to
+      # add to nvim's 'embedded rc' this:
+      #    let g:<key>_host_prog=$out/bin/nvim-<key>
+      # Or this:
+      #    let g:loaded_${prog}_provider=1
+      # While the latter tells nvim that this provider is not available
+      hostprog_check_table = {
+        node = withNodeJs;
+        python = withPython2;
+        python3 = withPython3;
+        ruby = withRuby;
+      };
+      ## Here we calculate all of the arguments to the 1st call of `makeWrapper`
+      # We start with the executable itself NOTE we call this variable "initial"
+      # because if configure != {} we need to call makeWrapper twice, in order to
+      # avoid double wrapping, see comment near finalMakeWrapperArgs
+      makeWrapperArgs =
+        let
+          binPath = lib.makeBinPath (lib.optionals withRuby [ rubyEnv ] ++ lib.optionals withNodeJs [ nodejs ]);
+
+          flags = lib.concatLists (lib.mapAttrsToList (
+              prog: withProg: [
+                "--cmd" (genProviderSettings prog withProg)
+              ]
+            )
+            hostprog_check_table);
+        in
+        [
+          "--argv0" "$0" "--add-flags" (lib.escapeShellArgs flags)
+        ] ++ lib.optionals withRuby [
+          "--set" "GEM_HOME" "${rubyEnv}/${rubyEnv.ruby.gemPath}"
+        ] ++ lib.optionals (binPath != "") [
+          "--suffix" "PATH" ":" binPath
+        ];
+
+      manifestRc = vimUtils.vimrcContent (configure // { customRC = ""; });
+      neovimRcContent = vimUtils.vimrcContent configure;
+    in
+    args // {
+      wrapperArgs = makeWrapperArgs;
+      inherit neovimRcContent;
+      inherit manifestRc;
+      inherit python2Env;
+      inherit python3Env;
+      inherit withNodeJs;
+    } // lib.optionalAttrs withRuby {
+      inherit rubyEnv;
+    };
+
+    genProviderSettings = prog: withProg:
+      if withProg then
+        "let g:${prog}_host_prog='${placeholder "out"}/bin/nvim-${prog}'"
+      else
+        "let g:loaded_${prog}_provider=1"
+    ;
+
+  # to keep backwards compatibility
+  legacyWrapper = neovim: {
+    extraMakeWrapperArgs ? ""
+    , withPython ? true
+    /* the function you would have passed to python.withPackages */
+    , extraPythonPackages ? (_: [])
+    /* the function you would have passed to python.withPackages */
+    , withPython3 ? true,  extraPython3Packages ? (_: [])
+    , withNodeJs ? false
+    , withRuby ? true
+    , vimAlias ? false
+    , viAlias ? false
+    , configure ? {}
+  }:
+    let
+      /* for compatibility with passing extraPythonPackages as a list; added 2018-07-11 */
+      compatFun = funOrList: (if builtins.isList funOrList then
+        (_: lib.warn "passing a list as extraPythonPackages to the neovim wrapper is deprecated, pass a function as to python.withPackages instead" funOrList)
+      else funOrList);
+
+      res = makeNeovimConfig {
+        withPython2 = withPython;
+        extraPythonPackages = compatFun extraPythonPackages;
+        inherit withPython3;
+        extraPython3Packages = compatFun extraPython3Packages;
+        inherit withNodeJs withRuby viAlias vimAlias;
+        inherit configure;
+      };
+    in
+    wrapNeovimUnstable neovim (res // {
+      wrapperArgs = lib.escapeShellArgs (
+        res.wrapperArgs ++ lib.optionals (configure != {}) [
+          "--add-flags" "-u ${writeText "init.vim" res.neovimRcContent}"
+        ]) + " " + extraMakeWrapperArgs
+      ;
+  });
+in
+{
+  inherit makeNeovimConfig;
+  inherit legacyWrapper;
+}
diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix
index e3c03c92e58c2..111e84e634372 100644
--- a/pkgs/applications/editors/neovim/wrapper.nix
+++ b/pkgs/applications/editors/neovim/wrapper.nix
@@ -1,5 +1,6 @@
 { stdenv, symlinkJoin, lib, makeWrapper
 , vimUtils
+, writeText
 , bundlerEnv, ruby
 , nodejs
 , nodePackages
@@ -12,129 +13,45 @@ neovim:
 
 let
   wrapper = {
-      extraMakeWrapperArgs ? ""
-    , withPython ? true,  extraPythonPackages ? (_: []) /* the function you would have passed to python.withPackages */
-    , withPython3 ? true,  extraPython3Packages ? (_: []) /* the function you would have passed to python.withPackages */
-    , withNodeJs? false
-    , withRuby ? true
+      # should contain all args but the binary
+      wrapperArgs ? ""
+    , manifestRc ? null
+    , withPython2 ? true, python2Env ? null
+    , withPython3 ? true,  python3Env ? null
+    , withNodeJs ? false
+    , rubyEnv ? null
     , vimAlias ? false
     , viAlias ? false
-    , configure ? {}
+    , ...
   }:
   let
 
-  rubyEnv = bundlerEnv {
-    name = "neovim-ruby-env";
-    gemdir = ./ruby_provider;
-    postBuild = ''
-      ln -sf ${ruby}/bin/* $out/bin
-    '';
-  };
-
-  /* for compatibility with passing extraPythonPackages as a list; added 2018-07-11 */
-  compatFun = funOrList: (if builtins.isList funOrList then
-    (_: lib.warn "passing a list as extraPythonPackages to the neovim wrapper is deprecated, pass a function as to python.withPackages instead" funOrList)
-    else funOrList);
-  extraPythonPackagesFun = compatFun extraPythonPackages;
-  extraPython3PackagesFun = compatFun extraPython3Packages;
-
-  requiredPlugins = vimUtils.requiredPlugins configure;
-  getDeps = attrname: map (plugin: plugin.${attrname} or (_:[]));
-
-  pluginPythonPackages = getDeps "pythonDependencies" requiredPlugins;
-  pythonEnv = pythonPackages.python.withPackages(ps:
-        [ ps.pynvim ]
-        ++ (extraPythonPackagesFun ps)
-        ++ (concatMap (f: f ps) pluginPythonPackages));
-
-  pluginPython3Packages = getDeps "python3Dependencies" requiredPlugins;
-  python3Env = python3Packages.python.withPackages (ps:
-        [ ps.pynvim ]
-        ++ (extraPython3PackagesFun ps)
-        ++ (concatMap (f: f ps) pluginPython3Packages));
-
-  binPath = makeBinPath (optionals withRuby [rubyEnv] ++ optionals withNodeJs [nodejs]);
-
-  # Mapping a boolean argument to a key that tells us whether to add or not to
-  # add to nvim's 'embedded rc' this:
-  #
-  #    let g:<key>_host_prog=$out/bin/nvim-<key>
-  #
-  # Or this:
-  #
-  #    let g:loaded_${prog}_provider=1
-  #
-  # While the later tells nvim that this provider is not available
-  #
-  hostprog_check_table = {
-    node = withNodeJs;
-    python = withPython;
-    python3 = withPython3;
-    ruby = withRuby;
-  };
-  ## Here we calculate all of the arguments to the 1st call of `makeWrapper`
-  # We start with the executable itself NOTE we call this variable "initial"
-  # because if configure != {} we need to call makeWrapper twice, in order to
-  # avoid double wrapping, see comment near finalMakeWrapperArgs
-  initialMakeWrapperArgs =
-    let
-      flags = lib.concatLists (lib.mapAttrsToList (
-        prog:
-        withProg:
-        [
-          "--cmd"
-          (if withProg then
-            "let g:${prog}_host_prog='${placeholder "out"}/bin/nvim-${prog}'"
-          else
-            "let g:loaded_${prog}_provider=1"
-            )
-        ]
-      ) hostprog_check_table);
-    in [
-      "${neovim}/bin/nvim" "${placeholder "out"}/bin/nvim"
-      "--argv0" "$0"
-      "--add-flags" (lib.escapeShellArgs flags)
-    ] ++ lib.optionals withRuby [
-      "--set" "GEM_HOME" "${rubyEnv}/${rubyEnv.ruby.gemPath}"
-    ] ++ lib.optionals (binPath != "") [
-      "--suffix" "PATH" ":" binPath
-    ];
   # If configure != {}, we can't generate the rplugin.vim file with e.g
   # NVIM_SYSTEM_RPLUGIN_MANIFEST *and* NVIM_RPLUGIN_MANIFEST env vars set in
   # the wrapper. That's why only when configure != {} (tested both here and
   # when postBuild is evaluated), we call makeWrapper once to generate a
   # wrapper with most arguments we need, excluding those that cause problems to
   # generate rplugin.vim, but still required for the final wrapper.
-  finalMakeWrapperArgs = initialMakeWrapperArgs
-    # this relies on a patched neovim, see
-    # https://github.com/neovim/neovim/issues/9413
-    ++ lib.optionals (configure != {}) [
-      "--set" "NVIM_SYSTEM_RPLUGIN_MANIFEST" "${placeholder "out"}/rplugin.vim"
-      "--add-flags" "-u ${vimUtils.vimrcFile configure}"
-    ]
-  ;
+  finalMakeWrapperArgs =
+    [ "${neovim}/bin/nvim" "${placeholder "out"}/bin/nvim" ] ++
+      [ "--set" "NVIM_SYSTEM_RPLUGIN_MANIFEST" "${placeholder "out"}/rplugin.vim" ];
   in
   symlinkJoin {
       name = "neovim-${stdenv.lib.getVersion neovim}";
       # Remove the symlinks created by symlinkJoin which we need to perform
       # extra actions upon
-      postBuild = ''
-        rm $out/bin/nvim
-        makeWrapper ${lib.escapeShellArgs initialMakeWrapperArgs} ${extraMakeWrapperArgs}
-      ''
-      + lib.optionalString stdenv.isLinux ''
+      postBuild = lib.optionalString stdenv.isLinux ''
         rm $out/share/applications/nvim.desktop
         substitute ${neovim}/share/applications/nvim.desktop $out/share/applications/nvim.desktop \
-          --replace 'TryExec=nvim' "TryExec=$out/bin/nvim" \
           --replace 'Name=Neovim' 'Name=WrappedNeovim'
       ''
-      + optionalString withPython ''
-        makeWrapper ${pythonEnv}/bin/python $out/bin/nvim-python --unset PYTHONPATH
+      + optionalString withPython2 ''
+        makeWrapper ${python2Env}/bin/python $out/bin/nvim-python --unset PYTHONPATH
       ''
       + optionalString withPython3 ''
         makeWrapper ${python3Env}/bin/python3 $out/bin/nvim-python3 --unset PYTHONPATH
       ''
-      + optionalString withRuby ''
+      + optionalString (rubyEnv != null) ''
         ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby
       ''
       + optionalString withNodeJs ''
@@ -146,9 +63,14 @@ let
       + optionalString viAlias ''
         ln -s $out/bin/nvim $out/bin/vi
       ''
-      + optionalString (configure != {}) ''
+      + optionalString (manifestRc != null) (let
+        manifestWrapperArgs =
+          [ "${neovim}/bin/nvim" "${placeholder "out"}/bin/nvim-wrapper" ];
+      in ''
         echo "Generating remote plugin manifest"
         export NVIM_RPLUGIN_MANIFEST=$out/rplugin.vim
+        makeWrapper ${lib.escapeShellArgs manifestWrapperArgs} ${wrapperArgs}
+
         # Some plugins assume that the home directory is accessible for
         # initializing caches, temporary files, etc. Even if the plugin isn't
         # actively used, it may throw an error as soon as Neovim is launched
@@ -164,8 +86,8 @@ let
         # (swap/viminfo) and redirect errors to stderr.
         # Only display the log on error since it will contain a few normally
         # irrelevant messages.
-        if ! $out/bin/nvim \
-          -u ${vimUtils.vimrcFile (configure // { customRC = ""; })} \
+        if ! $out/bin/nvim-wrapper \
+          -u ${writeText "manifest.vim" manifestRc} \
           -i NONE -n \
           -E -V1rplugins.log -s \
           +UpdateRemotePlugins +quit! > outfile 2>&1; then
@@ -173,7 +95,11 @@ let
           echo -e "\nGenerating rplugin.vim failed!"
           exit 1
         fi
-        makeWrapper ${lib.escapeShellArgs finalMakeWrapperArgs} ${extraMakeWrapperArgs}
+        rm "${placeholder "out"}/bin/nvim-wrapper"
+      '')
+      + ''
+        rm $out/bin/nvim
+        makeWrapper ${lib.escapeShellArgs finalMakeWrapperArgs} ${wrapperArgs}
       '';
 
     paths = [ neovim ];
diff --git a/pkgs/applications/editors/quilter/default.nix b/pkgs/applications/editors/quilter/default.nix
index 4d1cf5dafb762..b69d20850ad21 100644
--- a/pkgs/applications/editors/quilter/default.nix
+++ b/pkgs/applications/editors/quilter/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "quilter";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "0622mh46z3fi6zvipmgj8k4d4gj1c2781l10frk7wqq1sysjrxps";
+    sha256 = "0ya1iwzfzvrci083zyrjj6ac4ys25j90slpk8yydw9n99kb750rk";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/qxmledit/qxmledit.json b/pkgs/applications/editors/qxmledit/qxmledit.json
index 3b50532d6a0df..88d2e3c4c2b9f 100644
--- a/pkgs/applications/editors/qxmledit/qxmledit.json
+++ b/pkgs/applications/editors/qxmledit/qxmledit.json
@@ -3,4 +3,4 @@
     "repo": "qxmledit",
     "rev": "6136dca50ceb3b4447c91a7a18dcf84785ea11d1",
     "sha256": "1wcnphalwf0a5gz9r44jgk8wcv1w2qipbwjkbzkra2kxanxns834"
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix
index 0cfa2b62dce3e..a6e69cf869e90 100644
--- a/pkgs/applications/editors/rednotebook/default.nix
+++ b/pkgs/applications/editors/rednotebook/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "rednotebook";
-  version = "2.19";
+  version = "2.20";
 
   src = fetchFromGitHub {
     owner = "jendrikseipp";
     repo = "rednotebook";
     rev = "v${version}";
-    sha256 = "1y5slcwgs6p5n52whhhjg0c7053688311wnc9wqrk7vjk10qkx9d";
+    sha256 = "1n0zwrzrjh6sg8vmb95mgscsqrylhgm51zsirblqmpvs392jxrk3";
   };
 
   # We have not packaged tests.
diff --git a/pkgs/applications/editors/sigil/default.nix b/pkgs/applications/editors/sigil/default.nix
index 869c20c1d6c4b..fc87e98488b2d 100644
--- a/pkgs/applications/editors/sigil/default.nix
+++ b/pkgs/applications/editors/sigil/default.nix
@@ -6,13 +6,13 @@
 
 mkDerivation rec {
   pname = "sigil";
-  version = "1.3.0";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     repo = "Sigil";
     owner = "Sigil-Ebook";
     rev = version;
-    sha256 = "02bkyi9xpaxdcivm075y3praxgvfay9z0189gvr6g8yc3ml1miyr";
+    sha256 = "1vn444ax5af1gbhkm9lz46jc7zi4grf16cb4wqyb6hvgj2gbl0iw";
   };
 
   pythonPath = with python3Packages; [ lxml ];
@@ -24,6 +24,10 @@ mkDerivation rec {
     python3Packages.lxml
   ];
 
+  prePatch = ''
+    sed -i '/^QTLIB_DIR=/ d' src/Resource_Files/bash/sigil-sh_install
+  '';
+
   dontWrapQtApps = true;
 
   preFixup = ''
diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix
index 91e2427a6c84a..9c37d00c9ee17 100644
--- a/pkgs/applications/editors/texmacs/default.nix
+++ b/pkgs/applications/editors/texmacs/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, callPackage,
-  fetchurl, guile_1_8, qt4, xmodmap, which, makeWrapper, freetype,
+{ lib, mkDerivation, callPackage, fetchFromGitHub,
+  guile_1_8, qtbase, xmodmap, which, freetype,
   libjpeg,
   sqlite,
   tex ? null,
@@ -16,32 +16,27 @@
 
 let
   pname = "TeXmacs";
-  version = "1.99.11";
+  version = "1.99.15";
   common = callPackage ./common.nix {
     inherit tex extraFonts chineseFonts japaneseFonts koreanFonts;
   };
 in
-stdenv.mkDerivation {
+mkDerivation {
   name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
-    sha256 = "12bp0f34izzqimz49lfpgf4lyz3h45s9xbmk8v6zsawdjki76alg";
+  src = fetchFromGitHub {
+    owner = "texmacs";
+    repo = "texmacs";
+    rev = "v${version}";
+    sha256 = "04585hdh98fvyhj4wsxf69xal2wvfa6lg76gad8pr6ww9abi5105";
   };
 
-  cmakeFlags = [
-    # Texmacs' cmake build as of writing defaults to Qt5,
-    # but we haven't updated to that yet.
-    "-DTEXMACS_GUI=Qt4"
-  ];
-
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [
     guile_1_8
-    qt4
-    makeWrapper
+    qtbase
     ghostscriptX
     freetype
     libjpeg
@@ -51,18 +46,26 @@ stdenv.mkDerivation {
   ];
   NIX_LDFLAGS = "-lz";
 
-  postInstall = "wrapProgram $out/bin/texmacs --suffix PATH : " +
-        (if ghostscriptX == null then "" else "${ghostscriptX}/bin:") +
-        (if aspell == null then "" else "${aspell}/bin:") +
-        (if tex == null then "" else "${tex}/bin:") +
-        (if git == null then "" else "${git}/bin:") +
-        (if python3 == null then "" else "${python3}/bin:") +
-        "${xmodmap}/bin:${which}/bin";
+  qtWrapperArgs = [
+    "--suffix" "PATH" ":" (lib.makeBinPath [
+      xmodmap
+      which
+      ghostscriptX
+      aspell
+      tex
+      git
+      python3
+    ])
+  ];
+
+  postFixup = ''
+    wrapQtApp $out/bin/texmacs
+  '';
 
   inherit (common) postPatch;
 
   meta = common.meta // {
-    maintainers = [ stdenv.lib.maintainers.roconnor ];
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
+    maintainers = [ lib.maintainers.roconnor ];
+    platforms = lib.platforms.gnu ++ lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/applications/editors/textadept/default.nix b/pkgs/applications/editors/textadept/10/default.nix
index bb771c89010b1..0456d013bbbe6 100644
--- a/pkgs/applications/editors/textadept/default.nix
+++ b/pkgs/applications/editors/textadept/10/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchhg, fetchurl, gtk2, glib, pkgconfig, unzip, ncurses, zip }:
+
 stdenv.mkDerivation rec {
-  version = "10.2";
+  version = "10.8";
   pname = "textadept";
 
   nativeBuildInputs = [ pkgconfig ];
@@ -11,7 +12,7 @@ stdenv.mkDerivation rec {
   src = fetchhg {
     url = "http://foicica.com/hg/textadept";
     rev = "textadept_${version}";
-    sha256 = "0fai8xqddkkprmbf0cf8wwgv7ccfdb1iyim30nppm2m16whkc8fl";
+    sha256 = "sha256-dEZSx2tuHTWYhk9q5iGlrWTAvDvKaM8HaHwXcFcv33s=";
   };
 
   preConfigure =
@@ -19,10 +20,6 @@ stdenv.mkDerivation rec {
       "ln -s ${fetchurl params} $PWD/src/${name}"
     ) (import ./deps.nix)) + ''
 
-    # work around trying to download stuff in `make deps`
-    function wget() { true; }
-    export -f wget
-
     cd src
     make deps
   '';
@@ -31,12 +28,17 @@ stdenv.mkDerivation rec {
     make curses
   '';
 
+  preInstall = ''
+    mkdir -p $out/share/applications
+    mkdir -p $out/share/pixmaps
+  '';
+
   postInstall = ''
     make curses install PREFIX=$out MAKECMDGOALS=curses
   '';
 
   makeFlags = [
-    "PREFIX=$(out)"
+    "PREFIX=$(out) WGET=true PIXMAPS_DIR=$(out)/share/pixmaps"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/textadept/deps.nix b/pkgs/applications/editors/textadept/10/deps.nix
index 80306191ff127..3ab778dddb2a1 100644
--- a/pkgs/applications/editors/textadept/deps.nix
+++ b/pkgs/applications/editors/textadept/10/deps.nix
@@ -1,23 +1,23 @@
 {
-    "542782a4df7d.zip" = {
-      url = "http://foicica.com/hg/scintilla/archive/542782a4df7d.zip";
-      sha256 = "1qwxxcj86z9y7ij05j60lcp1awy2c9ck0vnn9z6c732sqjza0zx5";
+    "99fa62b828ee.zip" = {
+      url = "http://foicica.com/hg/scintilla/archive/99fa62b828ee.zip";
+      sha256 = "sha256-QO4iGhx72CfB1/0Pp/Qab92qm98VZn/EkrHZGndoHVc=";
     };
     "lua-5.3.5.tar.gz" = {
       url = "http://www.lua.org/ftp/lua-5.3.5.tar.gz";
       sha256 = "1b2qn2rv96nmbm6zab4l877bd4zq7wpwm8drwjiy2ih4jqzysbhc";
     };
-    "lpeg-1.0.0.tar.gz" = {
-      url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.0.tar.gz";
-      sha256 = "13mz18s359wlkwm9d9iqlyyrrwjc6iqfpa99ai0icam2b3khl68h";
+    "lpeg-1.0.2.tar.gz" = {
+      url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz";
+      sha256 = "sha256-SNZldgUbbHg4j6rQm3BJMJMmRYj80PJY3aqxzdShX/4=";
     };
-    "v_1_6_3.zip" = {
-      url = "https://github.com/keplerproject/luafilesystem/archive/v_1_6_3.zip";
-      sha256 = "044s125im2irb4i42nnc5shvjj25fp4vsdbzd6b0va5igj0f6h4y";
+    "v1_7_0_2.zip" = {
+      url = "https://github.com/keplerproject/luafilesystem/archive/v1_7_0_2.zip";
+      sha256 = "sha256-kXSriR8dOStCpYeyr7c3+VZez4qGDS5aK/9FeFj1hHg=";
     };
-    "6435a42450c7.zip" = {
-      url = "http://foicica.com/hg/gtdialog/archive/6435a42450c7.zip";
-      sha256 = "1vxn89sif3qccksb6x5iprysqhjg69g7nyxlgrg31q397dmsg1ym";
+    "db67f8a489e8.zip" = {
+      url = "http://foicica.com/hg/gtdialog/archive/db67f8a489e8.zip";
+      sha256 = "sha256-UIvjbDrg3jyz7t2tm4y1zzH/TG6Kqaz3LE5y2U6OHuM=";
     };
     "cdk-5.0-20150928.tgz" = {
       url = "http://invisible-mirror.net/archives/cdk/cdk-5.0-20150928.tgz";
diff --git a/pkgs/applications/editors/textadept/11/default.nix b/pkgs/applications/editors/textadept/11/default.nix
new file mode 100644
index 0000000000000..487f1b3767f14
--- /dev/null
+++ b/pkgs/applications/editors/textadept/11/default.nix
@@ -0,0 +1,53 @@
+{ lib, stdenv, fetchhg, fetchFromGitHub, fetchurl, gtk2, glib, pkgconfig, unzip, ncurses, zip }:
+
+stdenv.mkDerivation rec {
+  version = "11.0_beta";
+  pname = "textadept11";
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    gtk2 ncurses glib unzip zip
+  ];
+
+  src = fetchFromGitHub {
+    name = "textadept11";
+    owner = "orbitalquark";
+    repo = "textadept";
+    rev = "8da5f6b4a13f14b9dd3cb9dc23ad4f7bf41e91c1";
+    sha256 = "0v11v3x8g6v696m3l1bm52zy2g9xzz7hlmn912sn30nhcag3raxs";
+  };
+
+  preConfigure =
+    lib.concatStringsSep "\n" (lib.mapAttrsToList (name: params:
+      "ln -s ${fetchurl params} $PWD/src/${name}"
+    ) (import ./deps.nix)) + ''
+
+    cd src
+    make deps
+  '';
+
+  postBuild = ''
+    make curses
+  '';
+
+  preInstall = ''
+    mkdir -p $out/share/applications
+    mkdir -p $out/share/pixmaps
+  '';
+
+  postInstall = ''
+    make curses install PREFIX=$out MAKECMDGOALS=curses
+  '';
+
+  makeFlags = [
+    "PREFIX=$(out) WGET=true PIXMAPS_DIR=$(out)/share/pixmaps"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "An extensible text editor based on Scintilla with Lua scripting. Version 11_beta";
+    homepage = "http://foicica.com/textadept";
+    license = licenses.mit;
+    maintainers = with maintainers; [ raskin mirrexagon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/editors/textadept/11/deps.nix b/pkgs/applications/editors/textadept/11/deps.nix
new file mode 100644
index 0000000000000..2ab72574bbd04
--- /dev/null
+++ b/pkgs/applications/editors/textadept/11/deps.nix
@@ -0,0 +1,50 @@
+{
+    "scintilla445.tgz" = {
+      url = "https://www.scintilla.org/scintilla445.tgz";
+      sha256 = "1v1kyxj7rv5rxadbg8gl8wh1jafpy7zj0wr6dcyxq9209dl6h8ag";
+    };
+    "9e2ffa159299899c9345aea15c17ba1941953871.zip" = {
+      url = "https://github.com/orbitalquark/scinterm/archive/9e2ffa159299899c9345aea15c17ba1941953871.zip";
+      sha256 = "12h7prgp689w45p4scxd8vvsyw8fkv27g6gvgis55xr44daa6122";
+    };
+    "scintillua_4.4.5-1.zip" = {
+      url = "https://github.com/orbitalquark/scintillua/archive/scintillua_4.4.5-1.zip";
+      sha256 = "095wpbid2kvr5xgkhd5bd4sd7ljgk6gd9palrjkmdcwfgsf1lp04";
+    };
+    "lua-5.3.5.tar.gz" = {
+      url = "http://www.lua.org/ftp/lua-5.3.5.tar.gz";
+      sha256 = "1b2qn2rv96nmbm6zab4l877bd4zq7wpwm8drwjiy2ih4jqzysbhc";
+    };
+    "lpeg-1.0.2.tar.gz" = {
+      url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz";
+      sha256 = "1zjzl7acvcdavmcg5l7wi12jd4rh95q9pl5aiww7hv0v0mv6bmj8";
+    };
+    "v1_7_0_2.zip" = {
+      url = "https://github.com/keplerproject/luafilesystem/archive/v1_7_0_2.zip";
+      sha256 = "0y44ymc7higz5dd2w3c6ib7mwmpr6yvszcl7lm12nf8x3y4snx4i";
+    };
+    "64587546482a1a6324706d75c80b77d2f87118a4.zip" = {
+      url = "https://github.com/orbitalquark/gtdialog/archive/64587546482a1a6324706d75c80b77d2f87118a4.zip";
+      sha256 = "10mglbnn8r1cakqn9h285pwfnh7kfa98v7j8qh83c24n66blyfh9";
+    };
+    "cdk-5.0-20150928.tgz" = {
+      url = "http://invisible-mirror.net/archives/cdk/cdk-5.0-20150928.tgz";
+      sha256 = "0j74l874y33i26y5kjg3pf1vswyjif8k93pqhi0iqykpbxfsg382";
+    };
+    "libtermkey-0.20.tar.gz" = {
+      url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.20.tar.gz";
+      sha256 = "1xfj6lchhfljmbcl6dz8dpakppyy13nbl4ykxiv5x4dr9b4qf3bc";
+    };
+    "pdcurs39.zip" = {
+      url = "https://github.com/wmcbrine/PDCurses/archive/3.9.zip";
+      sha256 = "0ydsa15d6fgk15zcavbxsi4vj3knlr2495dc5v4f5xzvv2qwlb2w";
+    };
+    "bombay.zip" = {
+      url = "http://foicica.com/hg/bombay/archive/b25520cc76bb.zip";
+      sha256 = "07spq7jmkfyq20gv67yffara3ln3ns2xi0k02m2mxdms3xm1q36h";
+    };
+    "cloc-1.60.pl" = {
+      url = "http://prdownloads.sourceforge.net/cloc/cloc-1.60.pl";
+      sha256 = "0p504bi19va3dh274v7lb7giqrydwa5yyry60f7jpz84y6z71a2a";
+    };
+}
diff --git a/pkgs/applications/editors/thonny/default.nix b/pkgs/applications/editors/thonny/default.nix
index 706d3fd717630..c3710cf5b22be 100644
--- a/pkgs/applications/editors/thonny/default.nix
+++ b/pkgs/applications/editors/thonny/default.nix
@@ -4,13 +4,13 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "thonny";
-  version = "3.2.7";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gzvdgg5l4j0wgkh7lp4wjabrpxvvs5m7mnpszqixxijdffjd4cj";
+    sha256 = "1k1iy01az65w463j6id7iyrbinjbjd220i100mrnxyn569dxmf34";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index 4b032d48ebf40..10c0ed9ea79b2 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.4.2";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0b3xjcc86vs9lfxr7xann9d43dz3v3x1g7j1mcn31sy2n68a1wx3";
+    sha256 = "0n8p7bp5pqq72c65av3v7wbazwphh78pw27nqvpiyp9y8k5w4pg0";
   };
 
   nativeBuildInputs = [ pkgconfig qmake ];
diff --git a/pkgs/applications/editors/uemacs/default.nix b/pkgs/applications/editors/uemacs/default.nix
deleted file mode 100644
index e14a07eb6835b..0000000000000
--- a/pkgs/applications/editors/uemacs/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchgit, ncurses }:
-
-stdenv.mkDerivation {
-  pname = "uemacs";
-  version = "2014-12-08";
-
-  src = fetchgit {
-    url = "git://git.kernel.org/pub/scm/editors/uemacs/uemacs.git";
-    rev = "8841922689769960fa074fbb053cb8507f2f3ed9";
-    sha256 = "14yq7kpkax111cg6k7i3mnqk7sq7a65krq6qizzj7vvnm7bsj3sd";
-  };
-
-  postPatch = ''
-    substituteInPlace Makefile \
-      --replace "-lcurses" "-lncurses" \
-      --replace "CFLAGS=-O2" "CFLAGS+=" \
-      --replace "BINDIR=/usr/bin" "BINDIR=$out/bin" \
-      --replace "LIBDIR=/usr/lib" "LIBDIR=$out/share/uemacs"
-    substituteInPlace epath.h \
-      --replace "/usr/global/lib/" "$out/share/uemacs/" \
-      --replace "/usr/local/bin/" "$out/bin/" \
-      --replace "/usr/local/lib/" "$out/share/uemacs/" \
-      --replace "/usr/local/" "$out/bin/" \
-      --replace "/usr/lib/" "$out/share/uemacs/"
-    mkdir -p $out/bin $out/share/uemacs
-  '';
-
-  buildInputs = [ ncurses ];
-
-  meta = with stdenv.lib; {
-    homepage = "https://git.kernel.org/cgit/editors/uemacs/uemacs.git";
-    description = "Torvalds Micro-emacs fork";
-    longDescription = ''
-      uEmacs/PK 4.0 is a full screen editor based on MicroEMACS 3.9e
-    '';
-    license = licenses.unfree;
-  };
-}
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 77d7ca983cddc..aa8120470d140 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -1,5 +1,5 @@
 { source ? "default", callPackage, stdenv, ncurses, pkgconfig, gettext
-, writeText, config, glib, gtk2-x11, gtk3-x11, lua, python, perl, tcl, ruby
+, writeText, config, glib, gtk2-x11, gtk3-x11, lua, python3, perl, tcl, ruby
 , libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
 , libICE
 , vimPlugins
@@ -62,8 +62,6 @@ let
 
   common = callPackage ./common.nix {};
 
-  isPython3 = python.isPy3 or false;
-
 in stdenv.mkDerivation rec {
 
   pname = "vim_configurable";
@@ -106,9 +104,10 @@ in stdenv.mkDerivation rec {
     "--with-luajit"
   ]
   ++ stdenv.lib.optionals pythonSupport [
-    "--enable-python${if isPython3 then "3" else ""}interp=yes"
-    "--with-python${if isPython3 then "3" else ""}-config-dir=${python}/lib"
-    "--disable-python${if (!isPython3) then "3" else ""}interp"
+    "--enable-python3interp=yes"
+    "--with-python3-config-dir=${python3}/lib"
+    # Disables Python 2
+    "--disable-pythoninterp"
   ]
   ++ stdenv.lib.optional nlsSupport          "--enable-nls"
   ++ stdenv.lib.optional perlSupport         "--enable-perlinterp"
@@ -134,7 +133,7 @@ in stdenv.mkDerivation rec {
     ++ stdenv.lib.optional (guiSupport == "gtk3") gtk3-x11
     ++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc ]
     ++ stdenv.lib.optional luaSupport lua
-    ++ stdenv.lib.optional pythonSupport python
+    ++ stdenv.lib.optional pythonSupport python3
     ++ stdenv.lib.optional tclSupport tcl
     ++ stdenv.lib.optional rubySupport ruby;
 
@@ -163,7 +162,7 @@ in stdenv.mkDerivation rec {
 
     ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc
   '' + stdenv.lib.optionalString wrapPythonDrv ''
-    wrapProgram "$out/bin/vim" --prefix PATH : "${python}/bin"
+    wrapProgram "$out/bin/vim" --prefix PATH : "${python3}/bin"
   '' + stdenv.lib.optionalString (guiSupport == "gtk3") ''
 
     rewrap () {
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index ef6c6a1440711..d2cc14c30c481 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -94,6 +94,19 @@ stdenv.mkDerivation {
   + ''
     unset LD
   ''
+  # When building with nix-daemon, we need to pass -derivedDataPath or else it tries to use
+  # a folder rooted in /var/empty and fails. Unfortunately we can't just pass -derivedDataPath
+  # by itself as this flag requires the use of -scheme or -xctestrun (not sure why), but MacVim
+  # by default just runs `xcodebuild -project src/MacVim/MacVim.xcodeproj`, relying on the default
+  # behavior to build the first target in the project. Experimentally, there seems to be a scheme
+  # called MacVim, so we'll explicitly select that. We also need to specify the configuration too
+  # as the scheme seems to have the wrong default.
+  + ''
+    configureFlagsArray+=(
+      XCODEFLAGS="-scheme MacVim -derivedDataPath $NIX_BUILD_TOP/derivedData"
+      --with-xcodecfg="Release"
+    )
+  ''
   ;
 
   # Because we're building with system clang, this means we're building against Xcode's SDK and
diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix
index d0933905bcd11..eea34cacfc046 100644
--- a/pkgs/applications/editors/vscode/generic.nix
+++ b/pkgs/applications/editors/vscode/generic.nix
@@ -24,7 +24,7 @@ in
       desktopName = longName;
       comment = "Code Editing. Redefined.";
       genericName = "Text Editor";
-      exec = "${executableName} %U";
+      exec = "${executableName} %F";
       icon = "code";
       startupNotify = "true";
       categories = "Utility;TextEditor;Development;IDE;";
diff --git a/pkgs/applications/editors/vscode/update-vscode.sh b/pkgs/applications/editors/vscode/update-vscode.sh
index 5066a8e41823e..4974eb7e43674 100755
--- a/pkgs/applications/editors/vscode/update-vscode.sh
+++ b/pkgs/applications/editors/vscode/update-vscode.sh
@@ -1,6 +1,11 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -i bash -p curl gnugrep gnused gawk
 
+# Update script for the vscode versions and hashes.
+# Usually doesn't need to be called by hand,
+# but is called by a bot: https://github.com/samuela/nixpkgs-upkeep/actions
+# Call it by hand if the bot fails to automatically update the versions.
+
 set -eou pipefail
 
 ROOT="$(dirname "$(readlink -f "$0")")"
diff --git a/pkgs/applications/editors/vscode/update-vscodium.sh b/pkgs/applications/editors/vscode/update-vscodium.sh
index 0e8ce6da5a02a..0ddab6063cad9 100755
--- a/pkgs/applications/editors/vscode/update-vscodium.sh
+++ b/pkgs/applications/editors/vscode/update-vscodium.sh
@@ -1,6 +1,11 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -i bash -p curl gnugrep gnused gawk
 
+# Update script for the vscode versions and hashes.
+# Usually doesn't need to be called by hand,
+# but is called by a bot: https://github.com/samuela/nixpkgs-upkeep/actions
+# Call it by hand if the bot fails to automatically update the versions.
+
 set -eou pipefail
 
 ROOT="$(dirname "$(readlink -f "$0")")"
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 6d87551a4538d..70f621177105e 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -11,8 +11,8 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "12nrv037an4f6h8hrbmysc0lk5wm492hywa7lp64n4d308zg5567";
-    x86_64-darwin = "1z22hn2ngx2x5l9h6zsblpyzr85lyjzv2ayplscbgaa9ff52l429";
+    x86_64-linux = "0yv6584y4idkl9vvmpxj5ix5brshm1vadiwf7ima84snm0fipb0n";
+    x86_64-darwin = "0igndxkwkxyjc9rkf9hbj8903hvfv7ab41q0s3gw8w5qh4b8s48x";
   }.${system};
 in
   callPackage ./generic.nix rec {
@@ -21,7 +21,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.50.0";
+    version = "1.51.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index 9b1c5d2104a50..b8ca7e3f262e7 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -11,8 +11,8 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0fhwqif9021sg22n8qqn3m2fml7sjb03ydgbakg1021i3y8zl599";
-    x86_64-darwin = "1bsvkwymihkv0azf0mmy0f58zsxs6w13in6lfxzaz7s695csn9s0";
+    x86_64-linux = "0hn4pqmabz3qf3bbqnn1fz7fcgzdkp2lwr2yzgmx8hhh3cff8bnb";
+    x86_64-darwin = "1x3wx0d99ihyya0n89qclc3jlhh0m72hs8hj7l0h3z6zmh6q2vzv";
   }.${system};
 
   sourceRoot = {
@@ -27,7 +27,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.50.0";
+    version = "1.51.1";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix
index da66b0d9d252a..13990c3387518 100644
--- a/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/pkgs/applications/gis/qgis/unwrapped.nix
@@ -10,7 +10,7 @@ let
     [ qscintilla-qt5 gdal jinja2 numpy psycopg2
       chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
 in mkDerivation rec {
-  version = "3.10.10";
+  version = "3.10.11";
   pname = "qgis";
   name = "${pname}-unwrapped-${version}";
 
@@ -18,7 +18,7 @@ in mkDerivation rec {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "yZBG+bpJA7iKkUEjVo45d+bmRp9WS7mk8z96FLf0ZQ0=";
+    sha256 = "157hwi9sgnsf0csbfg4x3c7vh0zgf1hnqgn04lhg9xa1n8jjbv2q";
   };
 
   passthru = {
diff --git a/pkgs/applications/misc/qmapshack/default.nix b/pkgs/applications/gis/qmapshack/default.nix
index 1a8758955ceff..bc7d888e2c154 100644
--- a/pkgs/applications/misc/qmapshack/default.nix
+++ b/pkgs/applications/gis/qmapshack/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "qmapshack";
-  version = "1.15.0";
+  version = "1.15.1";
 
   src = fetchFromGitHub {
     owner = "Maproom";
     repo = pname;
     rev = "V_${version}";
-    sha256 = "157bssrbwcc1w58b0v60jb3wrjf2ig4z6z6crjnpvflkqj5p8vwy";
+    sha256 = "1q8qczp9bgk3dzdswb1x64fcn3xg339s0yx31nablb518hcb8jkr";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -22,8 +22,6 @@ mkDerivation rec {
     "-DLIBQUAZIP_LIBRARY=${quazip}/lib/libquazip.so"
   ];
 
-  enableParallelBuilding = true;
-
   patches = [
     "${src}/FindPROJ4.patch"
     "${src}/FindQuaZip5.patch"
@@ -36,7 +34,7 @@ mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/Maproom/qmapshack";
     description = "Consumer grade GIS software";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dotlambda sikmir ];
     platforms = with platforms; linux;
   };
diff --git a/pkgs/applications/gis/saga/clang_patch.patch b/pkgs/applications/gis/saga/clang_patch.patch
deleted file mode 100644
index e6af8d130514e..0000000000000
--- a/pkgs/applications/gis/saga/clang_patch.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-commit e92b250968e9656084ab5984689747ca615ff6e7
-Author: Volker Wichmann <wichmann@laserdata.at>
-Date:   Sun Mar 5 13:49:53 2017 +0100
-
-    saga_api, CSG_Table::Del_Records(): bug fix, check record count correctly
-
-diff --git a/src/saga_core/saga_api/table.cpp b/src/saga_core/saga_api/table.cpp
-index 76a1d8d..fa1a66f 100644
---- a/src/saga_core/saga_api/table.cpp
-+++ b/src/saga_core/saga_api/table.cpp
-@@ -901,7 +901,7 @@ bool CSG_Table::Del_Record(int iRecord)
- //---------------------------------------------------------
- bool CSG_Table::Del_Records(void)
- {
--	if( m_Records > 0 )
-+	if( m_nRecords > 0 )
- 	{
- 		_Index_Destroy();
-
diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix
index aa418148209ed..50df22c186c90 100644
--- a/pkgs/applications/gis/saga/default.nix
+++ b/pkgs/applications/gis/saga/default.nix
@@ -1,4 +1,6 @@
 { stdenv
+, mkDerivation
+, lib
 , fetchurl
 # native
 , autoreconfHook
@@ -28,13 +30,13 @@
 , fftw
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "saga";
-  version = "7.7.0";
+  version = "7.8.1";
 
   src = fetchurl {
-    url = "https://sourceforge.net/projects/saga-gis/files/SAGA%20-%20${stdenv.lib.versions.major version}/SAGA%20-%20${version}/saga-${version}.tar.gz";
-    sha256 = "1nmvrlcpcm2pas9pnav13iydnym9d8yqqnwq47lm0j6b0a2wy9zk";
+    url = "https://sourceforge.net/projects/saga-gis/files/SAGA%20-%20${lib.versions.major version}/SAGA%20-%20${version}/saga-${version}.tar.gz";
+    sha256 = "qwjuimeoadwf254bwJ7h2vSKaELkcaJdFrGj1WtvnbM=";
   };
 
   nativeBuildInputs = [
@@ -68,7 +70,7 @@ stdenv.mkDerivation rec {
   ]
   # See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs
   # for why the have additional buildInputs on darwin
-  ++ stdenv.lib.optionals stdenv.isDarwin [
+  ++ lib.optionals stdenv.isDarwin [
     Cocoa
     unixODBC
     poppler
@@ -76,16 +78,11 @@ stdenv.mkDerivation rec {
     sqlite
   ];
 
-  patches = [
-    # See https://sourceforge.net/p/saga-gis/bugs/280/
-    ./opencv4.patch
-  ];
-
   enableParallelBuilding = true;
 
-  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing";
+  CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "System for Automated Geoscientific Analyses";
     homepage = "http://www.saga-gis.org";
     license = licenses.gpl2Plus;
diff --git a/pkgs/applications/gis/saga/finite.patch b/pkgs/applications/gis/saga/finite.patch
deleted file mode 100644
index 7f60743534bd4..0000000000000
--- a/pkgs/applications/gis/saga/finite.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/saga-gis/src/modules/imagery/imagery_maxent/me.cpp b/saga-gis/src/modules/imagery/imagery_maxent/me.cpp
-index c5da854..d3e9cff 100755
---- a/src/modules/imagery/imagery_maxent/me.cpp
-+++ b/src/modules/imagery/imagery_maxent/me.cpp
-@@ -21,7 +21,7 @@
- #ifdef _SAGA_MSW
- #define isinf(x) (!_finite(x))
- #else
--#define isinf(x) (!finite(x))
-+#define isinf(x) (!isfinite(x))
- #endif
-
- /** The input array contains a set of log probabilities lp1, lp2, lp3
diff --git a/pkgs/applications/gis/saga/opencv4.patch b/pkgs/applications/gis/saga/opencv4.patch
deleted file mode 100644
index 0b26192bf09bd..0000000000000
--- a/pkgs/applications/gis/saga/opencv4.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/src/tools/imagery/imagery_opencv/Makefile.am
-+++ b/src/tools/imagery/imagery_opencv/Makefile.am
-@@ -7,9 +7,9 @@
- 
- if HAVE_CV
- DEF_SAGA           = -D_SAGA_LINUX -D_TYPEDEF_BYTE -D_TYPEDEF_WORD
--CXX_INCS           = -I$(top_srcdir)/src/saga_core -I/usr/include/opencv
-+CXX_INCS           = -I$(top_srcdir)/src/saga_core `pkg-config opencv4 --cflags`
- AM_CXXFLAGS        = -fPIC $(CXX_INCS) $(DEF_SAGA) $(DBGFLAGS) $(GOMPFLAGS)
--AM_LDFLAGS         = -fPIC -shared -avoid-version `pkg-config opencv --libs`
-+AM_LDFLAGS         = -fPIC -shared -avoid-version `pkg-config opencv4 --libs`
- pkglib_LTLIBRARIES = libimagery_opencv.la
- libimagery_opencv_la_SOURCES =\
- MLB_Interface.cpp\
diff --git a/pkgs/applications/gis/whitebox-tools/default.nix b/pkgs/applications/gis/whitebox-tools/default.nix
index 0ac19c0d13361..61c2bbc542cd1 100644
--- a/pkgs/applications/gis/whitebox-tools/default.nix
+++ b/pkgs/applications/gis/whitebox-tools/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, rustPlatform , fetchFromGitHub, Security }:
+{ stdenv, rustPlatform, fetchFromGitHub, Security }:
 rustPlatform.buildRustPackage rec {
   pname = "whitebox_tools";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "jblindsay";
     repo = "whitebox-tools";
-    rev = "v${version}";
-    sha256 = "0c9jmfjz6ys65y65zlllv9xvaaavr9jpqc1dc217iywhj07j8k2v";
+    rev = version;
+    sha256 = "0s5byn8qyi1bm59j9vhwqaygw5cxipc7wbd3flh7n24nx0s8pr8c";
   };
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
-  cargoSha256 = "05w2jimmygg7dc93i8bpjpjc5yj5xfpfkjnbbgw2sq4kh06r5ii4";
+  cargoSha256 = "09rz8f1xyc64qjbj6pgw8jxr2a7chghmdc6sfkbv7hdvx6vg4wvk";
 
   meta = with stdenv.lib; {
     description = "An advanced geospatial data analysis platform";
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index bd4fa4b531bef..a1e39cfebe0ea 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -14,8 +14,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "7.0.10-27";
-    sha256 = "1fqwbg2ws6ix3bymx7ncb4k4f6bg8q44n9xnlvngjapflnrmhcph";
+    version = "7.0.10-35";
+    sha256 = "0hcqvn3n3ip2fia48d1nb1m4r5ir00vbaa62xqni30kglh3n2sfh";
     patches = [];
   };
 in
diff --git a/pkgs/applications/graphics/akira/default.nix b/pkgs/applications/graphics/akira/default.nix
index 4038d653a3da3..4d0cc46bb5963 100644
--- a/pkgs/applications/graphics/akira/default.nix
+++ b/pkgs/applications/graphics/akira/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
     description = "Native Linux Design application built in Vala and GTK";
     homepage = "https://github.com/akiraux/Akira";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ filalex77 neonfuz ] ++ pantheon.maintainers;
+    maintainers = with maintainers; [ Br1ght0ne neonfuz ] ++ pantheon.maintainers;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index 53779041fc907..fd94b4e26cfc9 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.7.0";
+  version = "4.10.3";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "0kn0422k4vi2qifasnkd0cjf5l6z0rmkqv6l46ygxk3qyykjnqcm";
+    sha256 = "1ngyd3sfnhf8hpi015pgbms5bspc30lzrpfpw3jp992i4mzcjq0z";
   };
 
   libPath = stdenv.lib.makeLibraryPath (with xorg; [
diff --git a/pkgs/applications/graphics/batik/builder.sh b/pkgs/applications/graphics/batik/builder.sh
deleted file mode 100755
index c6cf64bf3700e..0000000000000
--- a/pkgs/applications/graphics/batik/builder.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-set -e
-
-source $stdenv/setup
-
-unzip $src
-mkdir $out
-mv batik-* $out/batik
diff --git a/pkgs/applications/graphics/batik/default.nix b/pkgs/applications/graphics/batik/default.nix
index 3c78c8b6dbd23..52a2589b409cc 100644
--- a/pkgs/applications/graphics/batik/default.nix
+++ b/pkgs/applications/graphics/batik/default.nix
@@ -1,25 +1,23 @@
-{stdenv, fetchurl, unzip}:
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  pname = "batik";
+  version = "1.13";
 
-stdenv.mkDerivation {
-  name = "batik-1.6";
-  builder = ./builder.sh;
   src = fetchurl {
-    url = "http://tarballs.nixos.org/batik-1.6.zip";
-    sha256 = "0cf15dspmzcnfda8w5lbsdx28m4v2rpq1dv5zx0r0n99ihqd1sh6";
+    url = "mirror://apache/xmlgraphics/batik/binaries/batik-bin-${version}.tar.gz";
+    sha256 = "16sq90nbs6psgm3xz30sbs6r5dnpd3qzsvr1xvnp4yipwjcmhmkw";
   };
 
-  buildInputs = [unzip];
-
   meta = with stdenv.lib; {
     description = "Java based toolkit for handling SVG";
     homepage = "https://xmlgraphics.apache.org/batik";
     license = licenses.asl20;
     platforms = platforms.unix;
-    knownVulnerabilities = [
-      # vulnerabilities as of 16th October 2018 from https://xmlgraphics.apache.org/security.html:
-      "CVE-2018-8013"
-      "CVE-2017-5662"
-      "CVE-2015-0250"
-    ];
   };
+
+  installPhase = ''
+    mkdir $out
+    cp -r * $out/
+  '';
 }
diff --git a/pkgs/applications/graphics/cloudcompare/default.nix b/pkgs/applications/graphics/cloudcompare/default.nix
index 209a6a4753b11..26fabc364ba3e 100644
--- a/pkgs/applications/graphics/cloudcompare/default.nix
+++ b/pkgs/applications/graphics/cloudcompare/default.nix
@@ -18,17 +18,17 @@
 
 mkDerivation rec {
   pname = "cloudcompare";
-  version = "2.11.0";
+  version = "2.11.2";
 
   src = fetchFromGitHub {
     owner = "CloudCompare";
     repo = "CloudCompare";
     rev = "v${version}";
-    sha256 = "02ahhhivgb9k1aygw1m35wdvhaizag1r98mb0r6zzrs5p4y64wlb";
+    sha256 = "0sb2h08iaf6zrf54sg6ql6wm63q5vq0kpd3gffdm26z8w6j6wv3s";
     # As of writing includes (https://github.com/CloudCompare/CloudCompare/blob/a1c589c006fc325e8b560c77340809b9c7e7247a/.gitmodules):
     # * libE57Format
     # * PoissonRecon
-    # In > 2.11 it will also contain
+    # In a future version it will also contain
     # * CCCoreLib
     fetchSubmodules = true;
   };
@@ -53,7 +53,7 @@ mkDerivation rec {
   ];
 
   cmakeFlags = [
-    # TODO: This will become -DCCCORELIB_USE_TBB=ON in > 2.11.0, see
+    # TODO: This will become -DCCCORELIB_USE_TBB=ON in a future version, see
     #       https://github.com/CloudCompare/CloudCompare/commit/f5a0c9fd788da26450f3fa488b2cf0e4a08d255f
     "-DCOMPILE_CC_CORE_LIB_WITH_TBB=ON"
     "-DOPTION_USE_DXF_LIB=ON"
diff --git a/pkgs/applications/graphics/comical/default.nix b/pkgs/applications/graphics/comical/default.nix
index 8e6e151aff6a4..800709de054a5 100644
--- a/pkgs/applications/graphics/comical/default.nix
+++ b/pkgs/applications/graphics/comical/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, wxGTK, utillinux, zlib }:
+{stdenv, fetchurl, wxGTK, util-linux, zlib }:
 
 stdenv.mkDerivation rec {
   name = "comical-0.8";
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
     url = "mirror://sourceforge/comical/${name}.tar.gz";
     sha256 = "0b6527cc06b25a937041f1eb248d0fd881cf055362097036b939817f785ab85e";
   };
-  buildInputs = [ wxGTK utillinux zlib ];
+  buildInputs = [ wxGTK util-linux zlib ];
   preBuild="makeFlags=\"prefix=$out\"";
 
   patches = [ ./wxgtk-2.8.patch ];
diff --git a/pkgs/applications/graphics/deskew/default.nix b/pkgs/applications/graphics/deskew/default.nix
index 422c7a0e15e80..6af6d93477a55 100644
--- a/pkgs/applications/graphics/deskew/default.nix
+++ b/pkgs/applications/graphics/deskew/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchFromBitbucket, libtiff, fpc }:
+{ stdenv, fetchFromGitHub, libtiff, fpc }:
 
 stdenv.mkDerivation rec {
 
   pname = "deskew";
   version = "1.25";
 
-  src = fetchFromBitbucket {
+  src = fetchFromGitHub {
     owner = "galfar";
-    repo = "app-deskew";
+    repo = pname;
     rev = "v${version}";
     sha256 = "0zjjj66qhgqkmfxl3q7p78dv4xl4ci918pgl4d5259pqdj1bfgc8";
   };
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index 52de023e1681b..1e4b397db231e 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -39,7 +39,7 @@
 , marble
 , libGL
 , libGLU
-, opencv3
+, opencv
 , pcre
 , threadweaver
 , x265
@@ -83,7 +83,7 @@ mkDerivation rec {
     libusb1
     libGL
     libGLU
-    opencv3
+    opencv
     pcre
     x265
 
@@ -118,9 +118,12 @@ mkDerivation rec {
     "-DENABLE_QWEBENGINE=on"
   ];
 
+  dontWrapGApps = true;
+
   preFixup = ''
-    gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gnumake hugin enblend-enfuse ]})
-    gappsWrapperArgs+=(--suffix DK_PLUGIN_PATH : ${placeholder "out"}/${qtbase.qtPluginPrefix}/${pname})
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+    qtWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gnumake hugin enblend-enfuse ]})
+    qtWrapperArgs+=(--suffix DK_PLUGIN_PATH : ${placeholder "out"}/${qtbase.qtPluginPrefix}/${pname})
     substituteInPlace $out/bin/digitaglinktree \
       --replace "/usr/bin/perl" "${perl}/bin/perl" \
       --replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3"
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index 5a5ce5d8b2100..892d81753e655 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "13.7.3";
+  version = "13.9.9";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
-    sha256 = "14wcj9jbpv1rg0g7djihzzq088aj96mwys4rc9540ajbkbbm9d36";
+    hash = "sha256-+rNbLHpkFnvM7gDFbZ9AItPIA2IVTmscz+gTXF8riIY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/drawpile/default.nix b/pkgs/applications/graphics/drawpile/default.nix
index e210d03406b7f..cf37512ad9f5e 100644
--- a/pkgs/applications/graphics/drawpile/default.nix
+++ b/pkgs/applications/graphics/drawpile/default.nix
@@ -74,7 +74,7 @@ in mkDerivation rec {
   src = fetchFromGitHub {
     owner = "drawpile";
     repo = "drawpile";
-    rev = "${version}";
+    rev = version;
     sha256 = "sha256-AFFY+FcY9ExAur13OoWR9285RZtBe6jnRIrwi5raiCM=";
   };
 
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index 82128f81353fa..467e593025e4b 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeWrapper
 , xorg, imlib2, libjpeg, libpng
 , curl, libexif, jpegexiforient, perlPackages
-, enableAutoreload ? true }:
+, enableAutoreload ? !stdenv.hostPlatform.isDarwin }:
 
 with stdenv.lib;
 
diff --git a/pkgs/applications/graphics/fondo/default.nix b/pkgs/applications/graphics/fondo/default.nix
index e80fbee1b71ef..edfe5ca2deed8 100644
--- a/pkgs/applications/graphics/fondo/default.nix
+++ b/pkgs/applications/graphics/fondo/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fondo";
-  version = "1.3.9";
+  version = "1.3.10";
 
   src = fetchFromGitHub {
     owner = "calo001";
     repo = pname;
     rev = version;
-    sha256 = "1gyi80j2c38j62miv8a8nsx1pad169sa4fx0b85m2yv0x7fz492w";
+    sha256 = "0yrbcngmwhn5gl5if9w2cx8shh33zk5fd6iqwnapsq8y0lzq6ppr";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index f9322add5c09b..3a5d36dfac197 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -9,13 +9,13 @@ let
   pythonPackages = python3Packages;
 in mkDerivation rec {
   pname = "freecad-unstable";
-  version = "2020-09-25";
+  version = "2020-10-17";
 
   src = fetchFromGitHub {
     owner = "FreeCAD";
     repo = "FreeCAD";
-    rev = "7616153b3c31ace006169cdc2fdafab484498858";
-    sha256 = "1vffvzv3gkndfj2k8ik0afyk9rgngnr4aai5py66qd63qd7kmxch";
+    rev = "f3bdaaa55a6c03b297924c40819d23e4603fa55b";
+    sha256 = "1q1iy4i9k65v8z7h8a6r4bf5ycn124jp26xwp0xwbar4gnkx2jiq";
   };
 
   nativeBuildInputs = [
@@ -32,6 +32,7 @@ in mkDerivation rec {
     libGLU libXmu qtbase qttools qtwebengine qtxmlpatterns
   ] ++ (with pythonPackages; [
     matplotlib pycollada shiboken2 pyside2 pyside2-tools pivy python boost
+    GitPython # for addon manager
   ]);
 
   cmakeFlags = [
diff --git a/pkgs/applications/graphics/freecad/stable.nix b/pkgs/applications/graphics/freecad/stable.nix
deleted file mode 100644
index 657caeca8b3dd..0000000000000
--- a/pkgs/applications/graphics/freecad/stable.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{ stdenv, mkDerivation, fetchFromGitHub, fetchpatch, cmake, ninja, coin3d,
-xercesc, ode, eigen, qtbase, qttools, qtwebkit, wrapQtAppsHook,
-opencascade-occt, gts, hdf5, vtk, medfile, zlib, python3Packages, swig,
-gfortran, libXmu, soqt, libf2c, libGLU, makeWrapper, pkgconfig, mpi ? null }:
-
-assert mpi != null;
-
-let
-  pythonPackages = python3Packages;
-in mkDerivation rec {
-  pname = "freecad";
-  version = "0.18.4";
-
-  src = fetchFromGitHub {
-    owner = "FreeCAD";
-    repo = "FreeCAD";
-    rev = version;
-    sha256 = "1phs9a0px5fnzpyx930cz39p5dis0f0yajxzii3c3sazgkzrd55s";
-  };
-
-  nativeBuildInputs = [
-    cmake
-    ninja
-    pkgconfig
-    pythonPackages.pyside2-tools
-    wrapQtAppsHook
-  ];
-
-  buildInputs = [
-    cmake coin3d xercesc ode eigen opencascade-occt gts
-    zlib swig gfortran soqt libf2c makeWrapper mpi vtk hdf5 medfile
-    libGLU libXmu qtbase qttools qtwebkit
-  ] ++ (with pythonPackages; [
-    matplotlib pycollada shiboken2 pyside2 pyside2-tools pivy python boost
-  ]);
-
-  # Fix missing app icon on Wayland. Has been upstreamed and should be safe to
-  # remove in versions >= 0.19
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/FreeCAD/FreeCAD/commit/c4d2a358ca125d51d059dfd72dcbfba326196dfc.patch";
-      sha256 = "0yqc9zrxgi2c2xcidm8wh7a9yznkphqvjqm9742qm5fl20p8gl4h";
-    })
-  ];
-
-  cmakeFlags = [
-    "-DBUILD_QT5=ON"
-    "-DSHIBOKEN_INCLUDE_DIR=${pythonPackages.shiboken2}/include"
-    "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken"
-    ("-DPYSIDE_INCLUDE_DIR=${pythonPackages.pyside2}/include"
-      + ";${pythonPackages.pyside2}/include/PySide2/QtCore"
-      + ";${pythonPackages.pyside2}/include/PySide2/QtWidgets"
-      + ";${pythonPackages.pyside2}/include/PySide2/QtGui"
-      )
-    "-DPYSIDE_LIBRARY=PySide2::pyside2"
-  ];
-
-  # This should work on both x86_64, and i686 linux
-  preBuild = ''
-    export NIX_LDFLAGS="-L${gfortran.cc}/lib64 -L${gfortran.cc}/lib $NIX_LDFLAGS";
-  '';
-
-  # Their main() removes PYTHONPATH=, and we rely on it.
-  preConfigure = ''
-    sed '/putenv("PYTHONPATH/d' -i src/Main/MainGui.cpp
-
-    qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH")
-  '';
-
-  qtWrapperArgs = [
-    "--set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1"
-  ];
-
-  postFixup = ''
-    mv $out/share/doc $out
-  '';
-
-  meta = with stdenv.lib; {
-    description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler";
-    homepage = "https://www.freecadweb.org/";
-    license = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ viric gebner ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index 51c066196efde..629abb3321d5f 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geeqie";
-  version = "1.4";
+  version = "1.5.1";
 
   src = fetchurl {
     url = "http://geeqie.org/${pname}-${version}.tar.xz";
-    sha256 = "0ciygvcxb78pqg59r6p061mkbpvkgv2rv3r79j3kgv3kalb3ln2w";
+    sha256 = "02m1vqaasin249xx792cdj11xyag8lnanwzxd108y7y34g9xam28";
   };
 
   patches = [
@@ -19,12 +19,6 @@ stdenv.mkDerivation rec {
       url = "https://src.fedoraproject.org/rpms/geeqie/raw/132fb04a1a5e74ddb333d2474f7edb9a39dc8d27/f/geeqie-1.4-goodbye-changelog.patch";
       sha256 = "00a35dds44kjjdqsbbfk0x9y82jspvsbpm2makcm1ivzlhjjgszn";
     })
-    # Fixes build with exiv2 0.27.1
-    (fetchpatch {
-      name = "geeqie-exiv2-0.27.patch";
-      url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/geeqie-exiv2-0.27.patch?h=packages/geeqie&id=dee28a8b3e9039b9cd6927b5a93ef2a07cd8271d";
-      sha256 = "05skpbyp8pcq92psgijyccc8liwfy2cpwprw6m186pf454yb5y9p";
-    })
   ];
 
   preConfigure = "./autogen.sh";
@@ -32,6 +26,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig autoconf automake gettext intltool
     wrapGAppsHook
   ];
+
   buildInputs = [
     gtk3 lcms2 exiv2 libchamplain clutter-gtk ffmpegthumbnailer fbida
   ];
@@ -63,7 +58,7 @@ stdenv.mkDerivation rec {
 
     homepage = "http://geeqie.sourceforge.net";
 
-    maintainers = with maintainers; [ jfrankenau pSub ];
+    maintainers = with maintainers; [ jfrankenau pSub markus1189 ];
     platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix
index 025f97b54e694..4ba7cb8eb0369 100644
--- a/pkgs/applications/graphics/gimp/default.nix
+++ b/pkgs/applications/graphics/gimp/default.nix
@@ -163,8 +163,10 @@ in stdenv.mkDerivation rec {
     # The declarations for `gimp-with-plugins` wrapper,
     # used for determining plug-in installation paths
     majorVersion = "${lib.versions.major version}.0";
-    targetPluginDir = "lib/gimp/${majorVersion}/plug-ins";
-    targetScriptDir = "share/gimp/${majorVersion}/scripts";
+    targetLibDir = "lib/gimp/${majorVersion}";
+    targetDataDir = "share/gimp/${majorVersion}";
+    targetPluginDir = "${targetLibDir}/plug-ins";
+    targetScriptDir = "${targetDataDir}/scripts";
 
     # probably its a good idea to use the same gtk in plugins ?
     gtk = gtk2;
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 0b5e6a7f379f0..84f5abfce0631 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -1,33 +1,51 @@
-# install these packages into your profile. Then add
-# ~/.nix-profile/gimp-version-plugins to your plugin list you can find at
-# preferences -> Folders -> Plug-ins
-# same applies for the scripts
+# Use `gimp-with-plugins` package for GIMP with all plug-ins.
+# If you just want a subset of plug-ins, you can specify them explicitly:
+# `gimp-with-plugins.override { plugins = with gimpPlugins; [ gap ]; }`.
+
+{ config, lib, pkgs }:
+
+let
+  inherit (pkgs) stdenv fetchurl pkg-config intltool glib fetchFromGitHub;
+in
+
+lib.makeScope pkgs.newScope (self:
 
-{ config, pkgs, gimp }:
 let
-  inherit (pkgs) stdenv fetchurl pkgconfig intltool glib fetchFromGitHub;
-  inherit (gimp) targetPluginDir targetScriptDir;
+  # Use GIMP from the scope.
+  inherit (self) gimp;
 
-  pluginDerivation = a: let
-    name = a.name or "${a.pname}-${a.version}";
+  pluginDerivation = attrs: let
+    name = attrs.name or "${attrs.pname}-${attrs.version}";
   in stdenv.mkDerivation ({
     prePhases = "extraLib";
     extraLib = ''
       installScripts(){
-        mkdir -p $out/${targetScriptDir}/${name};
-        for p in "$@"; do cp "$p" -r $out/${targetScriptDir}/${name}; done
+        mkdir -p $out/${gimp.targetScriptDir}/${name};
+        for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done
       }
       installPlugins(){
-        mkdir -p $out/${targetPluginDir}/${name};
-        for p in "$@"; do cp "$p" -r $out/${targetPluginDir}/${name}; done
+        mkdir -p $out/${gimp.targetPluginDir}/${name};
+        for p in "$@"; do cp "$p" -r $out/${gimp.targetPluginDir}/${name}; done
       }
     '';
+
+    # Override installation paths.
+    PKG_CONFIG_GIMP_2_0_GIMPLIBDIR = "${placeholder "out"}/${gimp.targetLibDir}";
+    PKG_CONFIG_GIMP_2_0_GIMPDATADIR = "${placeholder "out"}/${gimp.targetDataDir}";
   }
-  // a
+  // attrs
   // {
       name = "gimp-plugin-${name}";
-      buildInputs = [ gimp gimp.gtk glib ] ++ (a.buildInputs or []);
-      nativeBuildInputs = [ pkgconfig intltool ] ++ (a.nativeBuildInputs or []);
+      buildInputs = [
+        gimp
+        gimp.gtk
+        glib
+      ] ++ (attrs.buildInputs or []);
+
+      nativeBuildInputs = [
+        pkg-config
+        intltool
+      ] ++ (attrs.nativeBuildInputs or []);
     }
   );
 
@@ -35,10 +53,11 @@ let
     phases = [ "extraLib" "installPhase" ];
     installPhase = "installScripts ${src}";
   } // attrs);
-
 in
+{
+  # Allow overriding GIMP package in the scope.
+  inherit (pkgs) gimp;
 
-stdenv.lib.makeScope pkgs.newScope (self: with self; {
   gap = pluginDerivation {
     /* menu:
        Video
@@ -49,10 +68,6 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
       sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
     };
     NIX_LDFLAGS = "-lm";
-    patchPhase = ''
-      sed -e 's,^\(GIMP_PLUGIN_DIR=\).*,\1'"$out/${gimp.name}-plugins", \
-       -e 's,^\(GIMP_DATA_DIR=\).*,\1'"$out/share/${gimp.name}", -i configure
-    '';
     hardeningDisable = [ "format" ];
     meta = with stdenv.lib; {
       description = "The GIMP Animation Package";
@@ -85,22 +100,6 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
     };
   };
 
-  focusblur = pluginDerivation rec {
-    /* menu:
-       Blur/Focus Blur
-    */
-    name = "focusblur-3.2.6";
-    buildInputs = with pkgs; [ fftwSinglePrec ];
-    patches = [ ./patches/focusblur-glib.patch ];
-    postInstall = "fail";
-    installPhase = "installPlugins src/focusblur";
-    src = fetchurl {
-      url = "http://registry.gimp.org/files/${name}.tar.bz2";
-      sha256 = "1gqf3hchz7n7v5kpqkhqh8kwnxbsvlb5cr2w2n7ngrvl56f5xs1h";
-    };
-    meta.broken = true;
-  };
-
   resynthesizer = pluginDerivation rec {
     /* menu:
       Edit/Fill with pattern seamless...
@@ -115,7 +114,7 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
     version = "2.0.3";
     buildInputs = with pkgs; [ fftw ];
     nativeBuildInputs = with pkgs; [ autoreconfHook ];
-    makeFlags = [ "GIMP_LIBDIR=${placeholder "out"}/lib/gimp/2.0" ];
+    makeFlags = [ "GIMP_LIBDIR=${placeholder "out"}/${gimp.targetLibDir}" ];
     src = fetchFromGitHub {
       owner = "bootchk";
       repo = "resynthesizer";
@@ -143,24 +142,25 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
     name = "wavelet-sharpen-0.1.2";
     NIX_LDFLAGS = "-lm";
     src = fetchurl {
-      url = "http://registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz";
+      url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz";
       sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw";
     };
     installPhase = "installPlugins src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix?
   };
 
-  lqrPlugin = pluginDerivation {
+  lqrPlugin = pluginDerivation rec {
     /* menu:
        Layer/Liquid Rescale
     */
-    name = "lqr-plugin-0.6.1";
+    pname = "lqr-plugin";
+    version = "0.7.2";
     buildInputs = with pkgs; [ liblqr1 ];
-    src = fetchurl {
-      url = "http://registry.gimp.org/files/gimp-lqr-plugin-0.6.1.tar.bz2";
-      sha256 = "00hklkpcimcbpjly4rjhfipaw096cpy768g9wixglwrsyqhil7l9";
+    src = fetchFromGitHub {
+      owner = "carlobaldassi";
+      repo = "gimp-lqr-plugin";
+      rev = "v${version}";
+      sha256 = "81ajdZ2zQi/THxnBlSeT36tVTEzrS1YqLGpHMhFTKAo=";
     };
-    #postInstall = ''mkdir -p $out/nix-support; echo "${liblqr1}" > "$out/nix-support/propagated-user-env-packages"'';
-    installPhase = "installPlugins src/gimp-lqr-plugin";
   };
 
   gmic = pkgs.gmic-qt.override {
@@ -212,37 +212,8 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
   lightning = scriptDerivation {
     name = "Lightning";
     src = fetchurl {
-      url = "http://registry.gimp.org/files/Lightning.scm";
+      url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/Lightning.scm";
       sha256 = "c14a8f4f709695ede3f77348728a25b3f3ded420da60f3f8de3944b7eae98a49";
     };
   };
-
-  /* space in name trouble ?
-
-  rainbowPlasma = scriptDerivation {
-    # http://registry.gimp.org/node/164
-    name = "rainbow-plasma";
-    src = fetchurl {
-      url = "http://registry.gimp.org/files/Rainbow Plasma.scm";
-      sha256 = "34308d4c9441f9e7bafa118af7ec9540f10ea0df75e812e2f3aa3fd7b5344c23";
-      name = "Rainbow-Plasma.scm"; # nix doesn't like spaces, does it?
-    };
-  };
-  */
-
-  /* doesn't seem to be working :-(
-  lightningGate = scriptDerivation {
-    # http://registry.gimp.org/node/153
-    name = "lightning-gate";
-    src = fetchurl {
-      url = "http://registry.gimp.org/files/LightningGate.scm";
-      sha256 = "181w1zi9a99kn2mfxjp43wkwcgw5vbb6iqjas7a9mhm8p04csys2";
-    };
-  };
-  */
-
-} // stdenv.lib.optionalAttrs (config.allowAliases or true) {
-
-  resynthesizer2 = resynthesizer;
-
 })
diff --git a/pkgs/applications/graphics/gimp/wrapper.nix b/pkgs/applications/graphics/gimp/wrapper.nix
index 841728d3a2946..7e8ce913f0220 100644
--- a/pkgs/applications/graphics/gimp/wrapper.nix
+++ b/pkgs/applications/graphics/gimp/wrapper.nix
@@ -2,7 +2,7 @@
 
 let
 allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
-selectedPlugins = if plugins == null then allPlugins else plugins;
+selectedPlugins = lib.filter (pkg: pkg != gimpPlugins.gimp) (if plugins == null then allPlugins else plugins);
 extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
 versionBranch = stdenv.lib.versions.majorMinor gimp.version;
 
diff --git a/pkgs/applications/graphics/gnome-photos/default.nix b/pkgs/applications/graphics/gnome-photos/default.nix
index 337b8f4cba6c2..0d4b06c8c6d51 100644
--- a/pkgs/applications/graphics/gnome-photos/default.nix
+++ b/pkgs/applications/graphics/gnome-photos/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchurl
+, fetchpatch
 , at-spi2-core
 , babl
 , dbus
@@ -35,17 +36,32 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-photos";
-  version = "3.34.2";
+  version = "3.38.0";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "06ml5sf8xhpan410msqz085hmfc7082d368pb82yq646y9pcfn9w";
+    sha256 = "1i64w69kk3sdf9vn7npnwrhy8qjwn0vizq200x3pgmbrfm3kjzv6";
   };
 
   patches = [
     ./installed-tests-path.patch
+
+    # Port to Tracker 3
+    # https://gitlab.gnome.org/GNOME/gnome-photos/-/merge_requests/135
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-photos/commit/f39a85bb1a82093f4ba615494ff7e95609674fc2.patch";
+      sha256 = "M5r5WuB1JpUBVN3KxNvpMiPWj0pIpT+ImQMOiGtUgT4=";
+    })
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-photos/commit/3d847ff80d429cadf0bc59aa50caa37bf27c0201.patch";
+      sha256 = "zGjSL1qpWVJ/5Ifgh2CbhFSBR/WDAra8F+YUOemyxyU=";
+    })
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-photos/commit/2eb923726147b05c936dee64b205d833525db1df.patch";
+      sha256 = "vCA6NXHzmNf2GoLqzWwIyziC6puJgJ0QTLeKWsAEFAE=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/gnuclad/default.nix b/pkgs/applications/graphics/gnuclad/default.nix
index fcb4bdb537437..c36d576cc8e2f 100644
--- a/pkgs/applications/graphics/gnuclad/default.nix
+++ b/pkgs/applications/graphics/gnuclad/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = "https://launchpad.net/gnuclad";
-    description = "gnuclad tries to help the environment by creating trees.  It's primary use will be generating cladogram trees for the GNU/Linux distro timeline project.";
+    description = "gnuclad tries to help the environment by creating trees.  Its primary use will be generating cladogram trees for the GNU/Linux distro timeline project";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ mog ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix
index b7a1a8c4a6f90..b8b21e71c9308 100644
--- a/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -24,10 +24,10 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ bzip2 freetype ghostscript graphviz libjpeg libpng libtiff libX11 libxml2
       zlib libtool libwebp
-    ]
-    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+    ];
 
-  nativeBuildInputs = [ xz ];
+  nativeBuildInputs = [ xz ]
+    ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
   postInstall = ''
     sed -i 's/-ltiff.*'\'/\'/ $out/bin/*
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index 27e8e00bdb3a9..7dbe03d9f281e 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -33,11 +33,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gthumb";
-  version = "3.10.0";
+  version = "3.10.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0j7cxp4hhkvkckyvll6pmqkv5rwrknlzq9j1my0grb01b8wzhw9y";
+    sha256 = "0gm7q6n9lnjsdqpx5b0cqjayhzwnplqb6p5pshzhbfp2zqd2g9ss";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix
new file mode 100644
index 0000000000000..556e5e30f3a4e
--- /dev/null
+++ b/pkgs/applications/graphics/hydrus/default.nix
@@ -0,0 +1,112 @@
+{ stdenv
+, fetchFromGitHub
+, lzma
+, qt5
+, wrapQtAppsHook
+, miniupnpc_2
+, swftools
+, pythonPackages
+}:
+
+pythonPackages.buildPythonPackage {
+  pname = "hydrus";
+  version = "413";
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "hydrusnetwork";
+    repo = "hydrus";
+    rev = "9fbed11bef499e01a6799b298bea7d0967d30430";
+    sha256 = "1dl7qpzmlxl376lzm0chmwvf4nl55wz6fwcsw0ikb33rm8r33gq4";
+  };
+
+  nativeBuildInputs = [
+    wrapQtAppsHook
+  ];
+
+  propagatedBuildInputs = with pythonPackages; [
+    beautifulsoup4
+    html5lib
+    lxml
+    numpy
+    opencv4
+    pillow
+    psutil
+    pyopenssl
+    pyyaml
+    requests
+    send2trash
+    service-identity
+    twisted
+    lz4
+    lzma
+    pysocks
+    matplotlib
+    qtpy
+    pyside2
+  ];
+
+  checkInputs = with pythonPackages; [ nose httmock ];
+
+  # most tests are failing, presumably because we are not using test.py
+  checkPhase = ''
+    nosetests $src/hydrus/test  \
+    -e TestClientAPI \
+    -e TestClientConstants \
+    -e TestClientDaemons \
+    -e TestClientData \
+    -e TestClientDB \
+    -e TestClientDBDuplicates \
+    -e TestClientDBTags \
+    -e TestClientImageHandling \
+    -e TestClientImportOptions \
+    -e TestClientListBoxes \
+    -e TestClientMigration \
+    -e TestClientNetworking \
+    -e TestClientTags \
+    -e TestClientThreading \
+    -e TestDialogs \
+    -e TestFunctions \
+    -e TestHydrusNATPunch \
+    -e TestHydrusSerialisable \
+    -e TestHydrusServer \
+    -e TestHydrusSessions \
+    -e TestServer \
+  '';
+
+  extraOutputsToLink = [ "doc" ];
+
+  postPatch = ''
+    sed 's;os\.path\.join(\sHC\.BIN_DIR,.*;"${miniupnpc_2}/bin/upnpc";' \
+      -i ./hydrus/core/HydrusNATPunch.py
+
+    sed 's;os\.path\.join(\sHC\.BIN_DIR,.*;"${swftools}/bin/swfrender";' \
+      -i ./hydrus/core/HydrusFlashHandling.py
+  '';
+
+  #doCheck = true;
+
+  installPhase = ''
+    # Move the hydrus module and related directories
+    mkdir -p $out/${pythonPackages.python.sitePackages}
+    mv {hydrus,static} $out/${pythonPackages.python.sitePackages}
+    mv help $out/doc/
+
+    # install the hydrus binaries
+    mkdir -p $out/bin
+    install -m0755 server.py $out/bin/hydrus-server
+    install -m0755 client.py $out/bin/hydrus-client
+  '';
+
+  dontWrapQtApps = true;
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Danbooru-like image tagging and searching system for the desktop";
+    license = licenses.wtfpl;
+    homepage = "https://hydrusnetwork.github.io/hydrus/";
+    maintainers = [ maintainers.evanjs ];
+  };
+}
diff --git a/pkgs/applications/graphics/imgbrd-grabber/default.nix b/pkgs/applications/graphics/imgbrd-grabber/default.nix
new file mode 100644
index 0000000000000..f07db4c5c4a6d
--- /dev/null
+++ b/pkgs/applications/graphics/imgbrd-grabber/default.nix
@@ -0,0 +1,87 @@
+{ stdenv
+, cmake
+, fetchFromGitHub
+, wrapQtAppsHook
+, qtmultimedia
+, qttools
+, qtscript
+, qtdeclarative
+, qtbase
+, autogen
+, automake
+, makeWrapper
+, catch2
+, nodejs
+, libpulseaudio
+, openssl
+, rsync
+, typescript
+}:
+stdenv.mkDerivation rec {
+  name = "imgbrd-grabber";
+
+  version = "7.3.2";
+  src = fetchFromGitHub {
+    owner = "Bionus";
+    repo = "imgbrd-grabber";
+    rev = "v${version}";
+    sha256 = "053rwvcr88fcba0447a6r115cgnqsm9rl066z8d5jacqnhdij58k";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [
+    openssl
+    makeWrapper
+    libpulseaudio
+    typescript
+  ];
+
+  nativeBuildInputs = [
+    qtmultimedia
+    qtbase
+    qtdeclarative
+    qttools
+    nodejs
+    cmake
+    wrapQtAppsHook
+  ];
+
+  extraOutputsToLink = [ "doc" ];
+
+  postPatch = ''
+    # the package.sh script provides some install helpers
+    # using this might make it easier to maintain/less likely for the
+    # install phase to fail across version bumps
+    patchShebangs ./scripts/package.sh
+
+    # ensure the script uses the rsync package from nixpkgs
+    substituteInPlace ../scripts/package.sh --replace "rsync" "${rsync}/bin/rsync"
+
+
+    # the npm build step only runs typescript
+    # run this step directly so it doesn't try and fail to download the unnecessary node_modules, etc.
+    substituteInPlace ./sites/CMakeLists.txt --replace "npm install" "npm run build"
+
+    # remove the vendored catch2
+    rm -rf tests/src/vendor/catch
+
+    # link the catch2 sources from nixpkgs
+    ln -sf ${catch2.src} tests/src/vendor/catch
+  '';
+
+  postInstall = ''
+    # move the binaries to the share/Grabber folder so
+    # some relative links can be resolved (e.g. settings.ini)
+    mv $out/bin/* $out/share/Grabber/
+
+    cd ../..
+    # run the package.sh with $out/share/Grabber as the $APP_DIR
+    sh ./scripts/package.sh $out/share/Grabber
+
+    # add symlinks for the binaries to $out/bin
+    ln -s $out/share/Grabber/Grabber $out/bin/Grabber
+    ln -s $out/share/Grabber/Grabber-cli $out/bin/Grabber-cli
+  '';
+
+  sourceRoot = "source/src";
+}
diff --git a/pkgs/applications/graphics/imv/default.nix b/pkgs/applications/graphics/imv/default.nix
index 276c2cd3d7ea3..faf7487305839 100644
--- a/pkgs/applications/graphics/imv/default.nix
+++ b/pkgs/applications/graphics/imv/default.nix
@@ -1,8 +1,23 @@
-{ stdenv, fetchFromGitHub
-, freeimage, fontconfig, pkgconfig
-, asciidoc, docbook_xsl, libxslt, cmocka
-, librsvg, pango, libxkbcommon, wayland
-, libGLU, icu
+{ asciidoc
+, cmocka
+, docbook_xsl
+, fetchFromGitHub
+, fontconfig
+, freeimage
+, icu
+, libGLU
+, libheif
+, libjpeg_turbo
+, libpng
+, librsvg
+, libtiff
+, libxkbcommon
+, libxslt
+, netsurf
+, pango
+, pkgconfig
+, stdenv
+, wayland
 }:
 
 stdenv.mkDerivation rec {
@@ -10,37 +25,31 @@ stdenv.mkDerivation rec {
   version = "4.1.0";
 
   src = fetchFromGitHub {
-    owner  = "eXeC64";
-    repo   = "imv";
-    rev    = "v${version}";
+    owner = "eXeC64";
+    repo = "imv";
+    rev = "v${version}";
     sha256 = "0gk8g178i961nn3bls75a8qpv6wvfvav6hd9lxca1skaikd33zdx";
   };
 
-  preBuild = ''
-    # Version is 4.0.1, but Makefile was not updated
-    sed -i 's/echo v4\.0\.0/echo v4.0.1/' Makefile
-  '';
-
-  nativeBuildInputs = [
-    asciidoc
-    cmocka
-    docbook_xsl
-    libxslt
-  ];
+  nativeBuildInputs = [ asciidoc cmocka docbook_xsl libxslt ];
 
   buildInputs = [
     freeimage
+    icu
     libGLU
+    libjpeg_turbo
     librsvg
     libxkbcommon
+    netsurf.libnsgif
     pango
     pkgconfig
     wayland
-    icu
   ];
 
   installFlags = [ "PREFIX=$(out)" "CONFIGPREFIX=$(out)/etc" ];
 
+  makeFlags = [ "BACKEND_LIBJPEG=yes" "BACKEND_LIBNSGIF=yes" ];
+
   postFixup = ''
     # The `bin/imv` script assumes imv-wayland or imv-x11 in PATH,
     # so we have to fix those to the binaries we installed into the /nix/store
@@ -53,9 +62,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A command line image viewer for tiling window managers";
-    homepage    = "https://github.com/eXeC64/imv";
-    license     = licenses.gpl2;
+    homepage = "https://github.com/eXeC64/imv";
+    license = licenses.gpl2;
     maintainers = with maintainers; [ rnhmjoj markus1189 ];
-    platforms   = platforms.all;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/graphics/inkscape/extensions.nix b/pkgs/applications/graphics/inkscape/extensions.nix
index 66a758f9fe513..013d3bec3527e 100644
--- a/pkgs/applications/graphics/inkscape/extensions.nix
+++ b/pkgs/applications/graphics/inkscape/extensions.nix
@@ -1,5 +1,7 @@
 { stdenv
 , fetchFromGitHub
+, runCommand
+, inkcut
 }:
 
 {
@@ -34,4 +36,8 @@
       platforms = platforms.all;
     };
   };
+  inkcut = (runCommand "inkcut-inkscape-plugin" {} ''
+    mkdir -p $out/share/inkscape/extensions
+    cp ${inkcut}/share/inkscape/extensions/* $out/share/inkscape/extensions
+  '');
 }
diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix
index 95a3e1e092806..9bb78d1999681 100644
--- a/pkgs/applications/graphics/krita/default.nix
+++ b/pkgs/applications/graphics/krita/default.nix
@@ -10,11 +10,11 @@
 
 mkDerivation rec {
   pname = "krita";
-  version = "4.3.0";
+  version = "4.4.1";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "19qlpp9ds60bab73pwi64dq1zn4zn2hcdkrxhjr1j438mc4pflsd";
+    sha256 = "1bmmfvmawnlihbqkksdrwxfkaip4nfsi97w83fmvkyxl4jk715vr";
   };
 
   # *somtimes* fails with can't find ui_manager.h, also see https://github.com/NixOS/nixpkgs/issues/35359
diff --git a/pkgs/applications/graphics/lazpaint/default.nix b/pkgs/applications/graphics/lazpaint/default.nix
index 3f8d507e99270..e53c36b59cd93 100644
--- a/pkgs/applications/graphics/lazpaint/default.nix
+++ b/pkgs/applications/graphics/lazpaint/default.nix
@@ -7,24 +7,24 @@ let
   bgrabitmap = fetchFromGitHub {
     owner = "bgrabitmap";
     repo = "bgrabitmap";
-    rev = "v11.2.4";
-    sha256 = "1zk88crfn07md16wg6af4i8nlx4ikkhxq9gfk49jirwimgwbf1md";
+    rev = "v11.2.5";
+    sha256 = "0w5pdihsxn039kalkf4cx23j69hz5r09qmhd358h2n74irv1r3x1";
   };
   bgracontrols = fetchFromGitHub {
     owner = "bgrabitmap";
     repo = "bgracontrols";
-    rev = "v6.9";
-    sha256 = "0hwjlqlwqs4fqxlgay84hccs1lm3c6i9nmq9sxzrip410mggnjyw";
+    rev = "v7.0";
+    sha256 = "0qz3cscrc9jvhrix1hbmzhdxv6mxk0mz9azr46canflsydda8fjy";
   };
 in stdenv.mkDerivation rec {
   pname = "lazpaint";
-  version = "7.1.4";
+  version = "7.1.5";
 
   src = fetchFromGitHub {
     owner = "bgrabitmap";
     repo = "lazpaint";
     rev = "v${version}";
-    sha256 = "19b0wrjjyvz3g2d2gdsz8ihc1clda5v22yb597an8j9sblp9m0nf";
+    sha256 = "0bpk3rlqzbxvgrxmrzs0hcrgwhsqnpjqv1kdd9cp09knimmksvy5";
   };
 
   nativeBuildInputs = [ lazarus fpc makeWrapper ];
@@ -56,10 +56,6 @@ in stdenv.mkDerivation rec {
     # Python is needed for scripts
     makeWrapper $out/share/lazpaint/lazpaint $out/bin/lazpaint \
       --prefix PATH : ${stdenv.lib.makeBinPath [ python3 ]}
-
-    substituteInPlace $out/share/applications/lazpaint.desktop \
-      --replace /usr/share/pixmaps/lazpaint.png $out/share/pixmaps/lazpaint.png \
-      --replace /usr/share/lazpaint/lazpaint $out/bin/lazpaint
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/lightburn/default.nix b/pkgs/applications/graphics/lightburn/default.nix
index 7fcec93446d0f..9d2c6c4dd59fa 100644
--- a/pkgs/applications/graphics/lightburn/default.nix
+++ b/pkgs/applications/graphics/lightburn/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lightburn";
-  version = "0.9.16";
+  version = "0.9.19";
 
   nativeBuildInputs = [
     p7zip
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z";
-    sha256 = "0xmpglfzff3jpxbr304czsa24fbp497b69yd8kjkjdp2cd0l70qc";
+    sha256 = "0j3ydivd666fphmgi3ar48xabgi2dcky7p2fyfl7ghxjplflqs9q";
   };
 
   buildInputs = [
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "LightBurn is layout, editing, and control software for your laser cutter.";
+    description = "Layout, editing, and control software for your laser cutter";
     homepage = "https://lightburnsoftware.com/";
     license = stdenv.lib.licenses.unfree;
     maintainers = with stdenv.lib.maintainers; [ q3k ];
diff --git a/pkgs/applications/graphics/mandelbulber/default.nix b/pkgs/applications/graphics/mandelbulber/default.nix
index a3ab52ba8715d..384ddac5b4c56 100644
--- a/pkgs/applications/graphics/mandelbulber/default.nix
+++ b/pkgs/applications/graphics/mandelbulber/default.nix
@@ -19,13 +19,13 @@ assert withOpenCL -> ocl-icd != null;
 
 mkDerivation rec {
   pname = "mandelbulber";
-  version = "2.22";
+  version = "2.23";
 
   src = fetchFromGitHub {
     owner = "buddhi1980";
     repo = "mandelbulber2";
     rev = version;
-    sha256 = "011y2nl0jakf29cxprjmj1ifqc9iva61q5f4kk47b03gq7jw8sl4";
+    sha256 = "08izphj7jyk3wsq3qbzaf2fplys80vr39wliqc1i4c5cr90nrq1l";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/mcomix3/default.nix b/pkgs/applications/graphics/mcomix3/default.nix
new file mode 100644
index 0000000000000..c9110cbea0b13
--- /dev/null
+++ b/pkgs/applications/graphics/mcomix3/default.nix
@@ -0,0 +1,99 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, python3
+, wrapGAppsHook
+, gobject-introspection
+, gtk3
+, gdk-pixbuf
+# Recommended Dependencies:
+, unrarSupport ? false
+, unrar
+, p7zip
+, lhasa
+, mupdf
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "mcomix3";
+  version = "unstable-2020-11-23";
+
+  # fetch from github because no official release on pypi/github and no build system
+  src = fetchFromGitHub {
+    repo   = "${pname}";
+    owner  = "multiSnow";
+    rev = "cdcb27533dc7ee2ebf7b0a8ab5ba10e61c0b8ff8";
+    sha256 = "0q9xgl60ryf7qmy5vgzgfry4rvw5j9rb4d1ilxmpjmvm7dd3fm2k";
+  };
+
+  buildInputs = [ gobject-introspection gtk3 gdk-pixbuf ];
+  nativeBuildInputs = [ wrapGAppsHook ];
+  propagatedBuildInputs = (with python3.pkgs; [ pillow pygobject3 pycairo ]);
+
+  format = "other";
+
+  # Correct wrapper behavior, see https://github.com/NixOS/nixpkgs/issues/56943
+  # until https://github.com/NixOS/nixpkgs/pull/102613
+  strictDeps = false;
+
+  preInstall = ''
+    libdir=$out/lib/${python3.libPrefix}/site-packages
+    mkdir -p $out/share/{icons/hicolor,man/man1,applications,metainfo,thumbnailers}
+    mkdir -p $out/bin $libdir
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    ${python3.executable} installer.py --srcdir=mcomix --target=$libdir
+    mv $libdir/mcomix/mcomixstarter.py $out/bin/${pname}
+    mv $libdir/mcomix/comicthumb.py $out/bin/comicthumb
+    mv $libdir/mcomix/mcomix/* $libdir/mcomix
+
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    rmdir $libdir/mcomix/mcomix
+    cp man/* $out/share/man/man1/
+    cp -r mime/icons/* $out/share/icons/hicolor/
+    cp mime/*.desktop $out/share/applications/
+    cp mime/*.appdata.xml $out/share/metainfo/
+    cp mime/*.thumbnailer $out/share/thumbnailers/
+    for folder in $out/share/icons/hicolor/*; do
+        mkdir $folder/{apps,mimetypes}
+        mv $folder/*.png $folder/mimetypes
+        cp $folder/mimetypes/application-x-cbt.png $folder/mimetypes/application-x-cbr.png
+        cp $folder/mimetypes/application-x-cbt.png $folder/mimetypes/application-x-cbz.png
+    done
+  '';
+
+  # to prevent double wrapping
+  dontWrapGApps = true;
+  preFixup = ''
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
+      "--prefix" "PATH" ":" "${lib.makeBinPath ([ p7zip lhasa mupdf ] ++ lib.optional (unrarSupport) unrar)}"
+    )
+  '';
+
+  # real pytests seem to be broken upstream
+  checkPhase = ''
+    $out/bin/comicthumb --help > /dev/null
+    $out/bin/${pname} --help > /dev/null
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Comic book reader and image viewer; python3 fork of mcomix";
+    longDescription = ''
+      User-friendly, customizable image viewer, specifically designed to handle
+      comic books and manga supporting a variety of container formats
+      (including CBR, CBZ, CB7, CBT, LHA and PDF)
+    '';
+    homepage = "https://github.com/multiSnow/mcomix3";
+    changelog = "https://github.com/multiSnow/mcomix3/blob/gtk3/ChangeLog";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ confus ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/graphics/meshlab/default.nix b/pkgs/applications/graphics/meshlab/default.nix
index 75940fdc45b02..50962d54eb231 100644
--- a/pkgs/applications/graphics/meshlab/default.nix
+++ b/pkgs/applications/graphics/meshlab/default.nix
@@ -87,7 +87,7 @@ mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    description = "A system for processing and editing 3D triangular meshes.";
+    description = "A system for processing and editing 3D triangular meshes";
     homepage = "https://www.meshlab.net/";
     license = lib.licenses.gpl3;
     maintainers = with lib.maintainers; [ viric ];
diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix
index 2c3e9fa865af7..3f91fae0beb7f 100644
--- a/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/pkgs/applications/graphics/pdfcpu/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pdfcpu";
-  version = "0.3.6";
+  version = "0.3.7";
 
   src = fetchFromGitHub {
     owner = "pdfcpu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0cbbbf93gxx768fs6pldy25xk46k7mc8k94r3f7cd83f1qd3s5zn";
+    sha256 = "13b1ncpx189ca0h70j5cdp0jwlj95kasysryz1l6g13cwn9n6mii";
   };
 
-  vendorSha256 = "1i0w4284icbl40yrjny9qd5iqrq18x63lrs7p1gz58nybc606azx";
+  vendorSha256 = "11w9i1829hk1qb9w24dyxv1bi49358a274g60x11fp5x5cw7bqa7";
 
   # No tests
   doCheck = false;
diff --git a/pkgs/applications/graphics/photoflare/default.nix b/pkgs/applications/graphics/photoflare/default.nix
new file mode 100644
index 0000000000000..f619d79c0f55d
--- /dev/null
+++ b/pkgs/applications/graphics/photoflare/default.nix
@@ -0,0 +1,31 @@
+{ mkDerivation, stdenv, graphicsmagick, fetchFromGitHub, qmake, qtbase, qttools
+}:
+
+mkDerivation rec {
+  pname = "photoflare";
+  version = "1.6.6";
+
+  src = fetchFromGitHub {
+    owner = "PhotoFlare";
+    repo = "photoflare";
+    rev = "v${version}";
+    sha256 = "07lrlxagv1bljj607s8m0zsbzx9jrvi18bnxahnm7r4i5car5x2d";
+  };
+
+  nativeBuildInputs = [ qmake qttools ];
+  buildInputs = [ qtbase graphicsmagick ];
+
+  qmakeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  NIX_CFLAGS_COMPILE = "-I${graphicsmagick}/include/GraphicsMagick";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A cross-platform image editor with a powerful features and a very friendly graphical user interface";
+    homepage = "https://photoflare.io";
+    maintainers = [ maintainers.omgbebebe ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/photoflow/CMakeLists.patch b/pkgs/applications/graphics/photoflow/CMakeLists.patch
new file mode 100644
index 0000000000000..7d3d62b41b424
--- /dev/null
+++ b/pkgs/applications/graphics/photoflow/CMakeLists.patch
@@ -0,0 +1,13 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 9b48beea..078ba20d 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -603,7 +603,7 @@ ENDIF(APPLE)
+ #
+ # photoflow executable
+ #
+-add_executable(photoflow main.cc ${RESOURCE_OBJECT})
++add_executable(photoflow main.cc version.cc ${RESOURCE_OBJECT})
+ IF(APPLE)
+   set_target_properties(photoflow PROPERTIES LINK_FLAGS " -framework ApplicationServices ")
+ ENDIF(APPLE)
diff --git a/pkgs/applications/graphics/photoflow/default.nix b/pkgs/applications/graphics/photoflow/default.nix
index 9fec8b99c1bd0..cb8ef65b2e9e6 100644
--- a/pkgs/applications/graphics/photoflow/default.nix
+++ b/pkgs/applications/graphics/photoflow/default.nix
@@ -1,42 +1,75 @@
-{ stdenv, fetchFromGitHub, gettext, glib, libxml2, pkgconfig, swig, automake, gobject-introspection, cmake, ninja, libtiff, libjpeg, fftw, exiv2, lensfun, gtkmm2, libraw, lcms2, libexif, vips, expat, pcre, pugixml }:
+{ automake
+, cmake
+, exiv2
+, expat
+, fetchFromGitHub
+, fftw
+, fftwFloat
+, gettext
+, glib
+, gobject-introspection
+, gtkmm2
+, lcms2
+, lensfun
+, libexif
+, libiptcdata
+, libjpeg
+, libraw
+, libtiff
+, libxml2
+, ninja
+, openexr
+, pcre
+, pkgconfig
+, pugixml
+, stdenv
+, swig
+, vips
+}:
 
-stdenv.mkDerivation {
-  name = "photoflow-unstable-2018-08-28";
+stdenv.mkDerivation rec {
+  pname = "photoflow";
+  version = "2020-08-28";
 
   src = fetchFromGitHub {
     owner = "aferrero2707";
-    repo = "PhotoFlow";
-    rev = "df03f2538ddd232e693c307db4ab63eb5bdfea38";
-    sha256 = "08ybhv08h24y4li8wb4m89xgrz1szlwpksf6vjharp8cznn4y4x9";
+    repo = pname;
+    rev = "8472024fb91175791e0eb23c434c5b58ecd250eb";
+    sha256 = "1bq4733hbh15nwpixpyhqfn3bwkg38amdj2xc0my0pii8l9ln793";
   };
 
+  patches = [ ./CMakeLists.patch ];
+
   nativeBuildInputs = [
+    automake
+    cmake
     gettext
     glib
+    gobject-introspection
     libxml2
+    ninja
     pkgconfig
     swig
-    automake
-    gobject-introspection
-    cmake
-    ninja
   ];
 
   buildInputs = [
-    libtiff
-    libjpeg
-    fftw
     exiv2
-    lensfun
+    expat
+    fftw
+    fftwFloat
     gtkmm2  # Could be build with gtk3 but proper UI theme is missing and therefore not very usable with gtk3
             # See: https://discuss.pixls.us/t/help-needed-for-gtk3-theme/5803
-    libraw
     lcms2
+    lensfun
     libexif
-    vips
-    expat
+    libiptcdata
+    libjpeg
+    libraw
+    libtiff
+    openexr
     pcre
     pugixml
+    vips
   ];
 
   cmakeFlags = [
@@ -51,6 +84,7 @@ stdenv.mkDerivation {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.MtP ];
     platforms = platforms.linux;
-    broken = true;
+    # sse3 is not supported on aarch64
+    badPlatforms = [ "aarch64-linux" ];
   };
 }
diff --git a/pkgs/applications/graphics/qvge/default.nix b/pkgs/applications/graphics/qvge/default.nix
new file mode 100644
index 0000000000000..d8080e6fbb444
--- /dev/null
+++ b/pkgs/applications/graphics/qvge/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, substituteAll
+, qmake
+, qtx11extras
+, graphviz
+}:
+
+mkDerivation rec {
+  pname = "qvge";
+  version = "0.6.1";
+
+  src = fetchFromGitHub {
+    owner = "ArsMasiuk";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0j4ih03nl6iihhnxrfldkarg9hvxb62lpr58xspn417d3gj6xjll";
+  };
+
+  prePatch = "cd src";
+
+  patches = (substituteAll {
+    src = ./set-graphviz-path.patch;
+    inherit graphviz;
+  });
+
+  nativeBuildInputs = [ qmake ];
+
+  buildInputs = [ qtx11extras ];
+
+  meta = with lib; {
+    description = "Qt Visual Graph Editor";
+    homepage = "https://github.com/ArsMasiuk/qvge";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/graphics/qvge/set-graphviz-path.patch b/pkgs/applications/graphics/qvge/set-graphviz-path.patch
new file mode 100644
index 0000000000000..d18eb81c5d04b
--- /dev/null
+++ b/pkgs/applications/graphics/qvge/set-graphviz-path.patch
@@ -0,0 +1,13 @@
+diff --git i/commonui/CNodeEditorUIController.cpp w/commonui/CNodeEditorUIController.cpp
+index 7dacd48..64983e4 100644
+--- i/commonui/CNodeEditorUIController.cpp
++++ w/commonui/CNodeEditorUIController.cpp
+@@ -123,7 +123,7 @@ CNodeEditorUIController::CNodeEditorUIController(CMainWindow *parent) :
+ 	QString pathToGraphviz = QCoreApplication::applicationDirPath() + "/../tools/graphviz";
+ 	m_optionsData.graphvizPath = QFileInfo(pathToGraphviz).absoluteFilePath();
+ #else
+-	m_optionsData.graphvizPath = "";
++	m_optionsData.graphvizPath = "@graphviz@/bin";
+ #endif
+ 	m_gvController->setPathToGraphviz(m_optionsData.graphvizPath);
+ 
diff --git a/pkgs/applications/graphics/qview/default.nix b/pkgs/applications/graphics/qview/default.nix
index b6f25795665a2..001616ab41dd5 100644
--- a/pkgs/applications/graphics/qview/default.nix
+++ b/pkgs/applications/graphics/qview/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "qview";
-  version = "3.0";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "jurplel";
     repo = "qView";
     rev = version;
-    sha256 = "15a91bs3wcqhgf76wzigbn10hayg628j84pq4j2vaxar94ak0vk7";
+    sha256 = "15n9cq7w3ckinnx38hvncxrbkv4qm4k51sal41q4y0pkvhmafhnr";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/graphics/rx/default.nix b/pkgs/applications/graphics/rx/default.nix
index 53e8109fef510..9350d7c5cd787 100644
--- a/pkgs/applications/graphics/rx/default.nix
+++ b/pkgs/applications/graphics/rx/default.nix
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec {
     description = "Modern and extensible pixel editor implemented in Rust";
     homepage = "https://rx.cloudhead.io/";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ minijackson filalex77 ];
+    maintainers = with maintainers; [ minijackson Br1ght0ne ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/graphics/vuescan/default.nix b/pkgs/applications/graphics/vuescan/default.nix
deleted file mode 100644
index 142e8f0b69f08..0000000000000
--- a/pkgs/applications/graphics/vuescan/default.nix
+++ /dev/null
@@ -1,107 +0,0 @@
-{ stdenv
-, fetchurl
-, gnutar
-, autoPatchelfHook
-, glibc
-, gtk2
-, xorg
-, libgudev
-, undmg
-}:
-
-let
-  inherit (stdenv.hostPlatform) system;
-  throwSystem = throw "Unsupported system: ${system}";
-
-  pname = "vuescan";
-
-  # Minor versions are released using the same file name
-  version = "9.7";
-  versionString = builtins.replaceStrings ["."] [""] version;
-
-  src = let
-    base = "https://www.hamrick.com/files/";
-  in {
-    x86_64-darwin = fetchurl {
-      url = "${base}/vuex64${versionString}.dmg";
-      sha256 = "045ihd2pj0zmzjfwn2qmv5114yvs9vf6mw6sf4x3hwcdmpk40sfh";
-    };
-    i686-darwin = fetchurl {
-      url = "${base}/vuex32${versionString}.dmg";
-      sha256 = "0nny1jm3s1nr7xm03mcy3zgxvslznnvc8a5gn93gjww6gwg9rcn6";
-    };
-    x86_64-linux = fetchurl {
-      url = "${base}/vuex64${versionString}.tgz";
-      sha256 = "0jkj92w3y66dcxwq3kkg7vhqxljwf9dqs563xbkh1r7piyjfwycm";
-    };
-    i686-linux = fetchurl {
-      url = "${base}/vuex32${versionString}.tgz";
-      sha256 = "03qac9c0sg21jwz91nzzwk3ml8byv06ay9wiq00dl62nmhs20r5m";
-    };
-    aarch64-linux = fetchurl {
-      url = "${base}/vuea64${versionString}.tgz";
-      sha256 = "17viy7kcb78j0p3ik99psabmkgpwpmgvk96wjhn9aar48gpyr1wj";
-    };
-    armv6l-linux = fetchurl {
-      url = "${base}/vuea32${versionString}.tgz";
-      sha256 = "0m7sp18bdf2l2yf3q3z6c3i0bm4mq2h4ndm6qfvyknip0h11gv7i";
-    };
-  }.${system} or throwSystem;
-
-  meta = with stdenv.lib; {
-    description = "Scanner software supporting a wide range of devices";
-    homepage = "https://hamrick.com/";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ evax ];
-    platforms = [
-      "x86_64-darwin" "i686-darwin"
-      "x86_64-linux" "i686-linux"
-      "aarch64-linux" "armv6l-linux"
-    ];
-  };
-
-  linux = stdenv.mkDerivation rec {
-    inherit pname version src meta;
-
-    # Stripping the binary breaks the license form
-    dontStrip = true;
-
-    nativeBuildInputs = [
-      gnutar
-      autoPatchelfHook
-    ];
-
-    buildInputs = [
-      glibc
-      gtk2
-      xorg.libSM
-      libgudev
-    ];
-
-    unpackPhase = ''
-      tar xfz $src
-    '';
-
-    installPhase = ''
-      install -m755 -D VueScan/vuescan $out/bin/vuescan
-    '';
-  };
-
-  darwin = stdenv.mkDerivation {
-    inherit pname version src meta;
-
-    nativeBuildInputs = [ undmg ];
-
-    sourceRoot = {
-      x86_64-darwin = "vuex64${versionString}.dmg";
-      i686-darwin = "vuex32${versionString}.dmg";
-    }.${system} or throwSystem;
-
-    installPhase = ''
-      mkdir -p $out/Applications/VueScan.app
-      cp -R . $out/Applications/VueScan.app
-    '';
-  };
-in if stdenv.isDarwin
-  then darwin
-  else linux
diff --git a/pkgs/applications/graphics/write_stylus/default.nix b/pkgs/applications/graphics/write_stylus/default.nix
index 8396ce72e5067..3c2ad8f4fab0d 100644
--- a/pkgs/applications/graphics/write_stylus/default.nix
+++ b/pkgs/applications/graphics/write_stylus/default.nix
@@ -53,7 +53,7 @@ mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = "http://www.styluslabs.com/";
-    description = "Write is a word processor for handwriting.";
+    description = "Write is a word processor for handwriting";
     platforms = platforms.linux;
     license = stdenv.lib.licenses.unfree;
     maintainers = with maintainers; [ oyren ];
diff --git a/pkgs/applications/graphics/xlife/default.nix b/pkgs/applications/graphics/xlife/default.nix
new file mode 100644
index 0000000000000..cc7013739985c
--- /dev/null
+++ b/pkgs/applications/graphics/xlife/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchsvn, xorg }:
+
+stdenv.mkDerivation {
+  pname = "xlife";
+  version = "6.7.5";
+
+  src = fetchsvn {
+    url = "https://svn.code.sf.net/p/xlife-cal/xlife/trunk";
+    rev = "365";
+    sha256 = "1gadlcp32s179kd7ypxr8cymd6s060p6z4c2vnx94i8bmiw3nn8h";
+  };
+
+  nativeBuildInputs = with xorg; [ imake gccmakedep ];
+  buildInputs = [ xorg.libX11 ];
+
+  hardeningDisable = [ "format" ];
+  installPhase = ''
+    install -Dm755 xlife -t $out/bin
+    install -Dm755 lifeconv -t $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://litwr2.atspace.eu/xlife.php";
+    description = "Conway's Game of Life and other cellular automata, for X";
+    license = licenses.hpndSellVariant;
+    maintainers = with maintainers; [ djanatyn ];
+  };
+}
diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix
index ba396bfd92c5e..da453b4267869 100644
--- a/pkgs/applications/graphics/xournalpp/default.nix
+++ b/pkgs/applications/graphics/xournalpp/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xournalpp";
-  version = "1.0.18";
+  version = "1.0.19";
 
   src = fetchFromGitHub {
     owner = "xournalpp";
     repo = pname;
     rev = version;
-    sha256 = "0a9ygbmd4dwgck3k8wsrm2grynqa0adb12wwspzmzvpisbadffjy";
+    sha256 = "05nx4cmrka6hwdn7r91yy4h46qpa9k7iy9dkgaq3hrkh9z3fxlkq";
   };
 
   nativeBuildInputs = [ cmake gettext pkgconfig wrapGAppsHook ];
@@ -54,8 +54,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Xournal++ is a handwriting Notetaking software with PDF annotation support";
-    homepage    = "https://github.com/xournalpp/xournalpp";
-    license     = licenses.gpl2;
+    homepage    = "https://xournalpp.github.io/";
+    license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ andrew-d sikmir ];
     platforms   = platforms.linux;
   };
diff --git a/pkgs/applications/graphics/yed/default.nix b/pkgs/applications/graphics/yed/default.nix
index f92e910eacce7..d7c83704dca42 100644
--- a/pkgs/applications/graphics/yed/default.nix
+++ b/pkgs/applications/graphics/yed/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, makeWrapper, unzip, jre }:
+{ stdenv, fetchzip, makeWrapper, unzip, jre, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "yEd";
@@ -9,16 +9,25 @@ stdenv.mkDerivation rec {
     sha256 = "0sd73s700f3gqq5zq1psrqjg6ff2gv49f8vd37v6bv65vdxqxryq";
   };
 
-  nativeBuildInputs = [ makeWrapper unzip ];
+  nativeBuildInputs = [ makeWrapper unzip wrapGAppsHook ];
+  # For wrapGAppsHook setup hook
+  buildInputs = [ (jre.gtk3 or null) ];
 
-  installPhase = ''
+  dontConfigure = true;
+  dontBuild = true;
+  dontInstall = true;
+
+  preFixup = ''
     mkdir -p $out/yed
     cp -r * $out/yed
     mkdir -p $out/bin
 
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
     makeWrapper ${jre}/bin/java $out/bin/yed \
+      ''${makeWrapperArgs[@]} \
       --add-flags "-jar $out/yed/yed.jar --"
   '';
+  dontWrapGApps = true;
 
   meta = with stdenv.lib; {
     license = licenses.unfree;
diff --git a/pkgs/applications/kde/bomber.nix b/pkgs/applications/kde/bomber.nix
index c3f4778025913..f42a6a01871bd 100644
--- a/pkgs/applications/kde/bomber.nix
+++ b/pkgs/applications/kde/bomber.nix
@@ -7,7 +7,7 @@ mkDerivation {
   name = "bomber";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.bomber";
-    description = "Bomber is a single player arcade game";
+    description = "A single player arcade game";
     longDescription = ''
       Bomber is a single player arcade game. The player is invading various
       cities in a plane that is decreasing in height.
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 9622404c456d0..315a5b3588554 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -27,7 +27,6 @@ still shows most of the available features is in `./gwenview.nix`.
 
 {
   lib, libsForQt5, fetchurl,
-  okteta
 }:
 
 let
@@ -107,6 +106,7 @@ let
       kcharselect = callPackage ./kcharselect.nix {};
       kcolorchooser = callPackage ./kcolorchooser.nix {};
       kdebugsettings = callPackage ./kdebugsettings.nix {};
+      kdeconnect-kde = callPackage ./kdeconnect-kde.nix {};
       kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
       kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
       kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
@@ -209,9 +209,6 @@ let
       rocs = callPackage ./rocs.nix {};
       spectacle = callPackage ./spectacle.nix {};
       yakuake = callPackage ./yakuake.nix {};
-      # Okteta was removed from kde applications and will now be released independently
-      # Lets keep an alias for compatibility reasons
-      inherit okteta;
     };
 
 in lib.makeScope libsForQt5.newScope packages
diff --git a/pkgs/applications/kde/elisa.nix b/pkgs/applications/kde/elisa.nix
index bd2cd529473ef..9a51aa786fac3 100644
--- a/pkgs/applications/kde/elisa.nix
+++ b/pkgs/applications/kde/elisa.nix
@@ -3,6 +3,7 @@
 , lib
 , extra-cmake-modules
 , kdoctools
+, qtbase
 , qtmultimedia
 , qtquickcontrols2
 , qtwebsockets
@@ -42,5 +43,6 @@ mkDerivation rec {
     description = "A simple media player for KDE";
     license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
+    broken = lib.versionOlder qtbase.version "5.14";
   };
 }
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index 90e1cf43f6b11..dc023c57a7e68 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=(http://download.kde.org/stable/release-service/20.08.1/src)
+WGET_ARGS=(http://download.kde.org/stable/release-service/20.08.2/src)
diff --git a/pkgs/applications/kde/granatier.nix b/pkgs/applications/kde/granatier.nix
index f0b7cde5b2ccc..c02fa0fef2e7b 100644
--- a/pkgs/applications/kde/granatier.nix
+++ b/pkgs/applications/kde/granatier.nix
@@ -7,7 +7,7 @@ mkDerivation {
   name = "granatier";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.granatier";
-    description = "Granatier is a clone of the classic Bomberman game";
+    description = "Clone of the classic Bomberman game";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/k3b.nix b/pkgs/applications/kde/k3b.nix
index 4bf707cd04300..35d55787ec78b 100644
--- a/pkgs/applications/kde/k3b.nix
+++ b/pkgs/applications/kde/k3b.nix
@@ -1,6 +1,5 @@
 { mkDerivation, lib
 , extra-cmake-modules, kdoctools, makeWrapper, shared-mime-info
-, qtwebkit
 , libkcddb, karchive, kcmutils, kfilemetadata, knewstuff, knotifyconfig, solid, kxmlgui
 , flac, lame, libmad, libmpcdec, libvorbis
 , libsamplerate, libsndfile, taglib
@@ -17,8 +16,6 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ];
   buildInputs = [
-    # qt
-    qtwebkit
     # kde
     libkcddb karchive kcmutils kfilemetadata knewstuff knotifyconfig solid kxmlgui
     # formats
diff --git a/pkgs/applications/kde/kalzium.nix b/pkgs/applications/kde/kalzium.nix
index 5bb51a6b4e1dd..cf579caa9cc8b 100644
--- a/pkgs/applications/kde/kalzium.nix
+++ b/pkgs/applications/kde/kalzium.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kalzium";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/utilities/org.kde.kalzium";
-    description = "Kalzium is a program that shows you the Periodic Table of Elements";
+    description = "Program that shows you the Periodic Table of Elements";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kapman.nix b/pkgs/applications/kde/kapman.nix
index 68af796dda4b4..5f4cc40138c0c 100644
--- a/pkgs/applications/kde/kapman.nix
+++ b/pkgs/applications/kde/kapman.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kapman";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.kapman";
-    description = "Kapman is a clone of the well known game Pac-Man";
+    description = "Clone of the well known game Pac-Man";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/katomic.nix b/pkgs/applications/kde/katomic.nix
index a1d0f12b6a1d5..2690cfc058971 100644
--- a/pkgs/applications/kde/katomic.nix
+++ b/pkgs/applications/kde/katomic.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "katomic";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.katomic";
-    description = "KAtomic is a fun educational game built around molecular geometry";
+    description = "Fun educational game built around molecular geometry";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kblackbox.nix b/pkgs/applications/kde/kblackbox.nix
index 669c089df809d..ce0d8e36b91b5 100644
--- a/pkgs/applications/kde/kblackbox.nix
+++ b/pkgs/applications/kde/kblackbox.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kblackbox";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.kblackbox";
-    description = "KBlackbox is a game of hide and seek played on a grid of boxes";
+    description = "Game of hide and seek played on a grid of boxes";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kblocks.nix b/pkgs/applications/kde/kblocks.nix
index 1dedabb2a0823..a11a6e2574409 100644
--- a/pkgs/applications/kde/kblocks.nix
+++ b/pkgs/applications/kde/kblocks.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kblocks";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.kblocks";
-    description = "KBlocks is the classic falling blocks game";
+    description = "Classic falling blocks game";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kbounce.nix b/pkgs/applications/kde/kbounce.nix
index a24d215518076..b67e3ce02173d 100644
--- a/pkgs/applications/kde/kbounce.nix
+++ b/pkgs/applications/kde/kbounce.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kbounce";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.kbounce";
-    description = "KBounce is a single player arcade game with the elements of puzzle";
+    description = "Single player arcade game with the elements of puzzle";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/kde/kdeconnect-kde.nix
index 31e919e377065..83e54d1fa80c5 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/kde/kdeconnect-kde.nix
@@ -1,39 +1,32 @@
 { mkDerivation
-, lib
-, fetchurl
-, fetchpatch
 , extra-cmake-modules
+, fetchpatch
 , kcmutils
 , kconfigwidgets
 , kdbusaddons
 , kdoctools
-, kiconthemes
 , ki18n
+, kiconthemes
+, kio
+, kirigami2
 , knotifications
-, qca-qt5
-, libfakekey
+, kpeople
+, kpeoplevcard
+, kwayland
+, lib
 , libXtst
-, qtx11extras
-, qtmultimedia
-, qtgraphicaleffects
-, sshfs
+, libfakekey
 , makeWrapper
-, kwayland
-, kio
-, kpeoplevcard
-, kpeople
-, kirigami2
 , pulseaudio-qt
+, qca-qt5
+, qtgraphicaleffects
+, qtmultimedia
+, qtx11extras
+, sshfs
 }:
 
-mkDerivation rec {
-  pname = "kdeconnect";
-  version = "20.08.1";
-
-  src = fetchurl {
-    url = "https://download.kde.org/stable/release-service/${version}/src/${pname}-kde-${version}.tar.xz";
-    sha256 = "0s76djgpx08jfmh99c7kx18mnr3w7bv4hdra120nicq89mmy7gwf";
-  };
+mkDerivation {
+  name = "kdeconnect-kde";
 
   patches = [
     # https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/328
@@ -44,39 +37,36 @@ mkDerivation rec {
   ];
 
   buildInputs = [
-    libfakekey
-    libXtst
-    qtmultimedia
-    qtgraphicaleffects
-    pulseaudio-qt
-    kpeoplevcard
-    kpeople
-    kirigami2
-    ki18n
-    kiconthemes
     kcmutils
     kconfigwidgets
     kdbusaddons
+    ki18n
+    kiconthemes
+    kio
+    kirigami2
     knotifications
+    kpeople
+    kpeoplevcard
+    kwayland
+    libXtst
+    libfakekey
+    pulseaudio-qt
     qca-qt5
+    qtgraphicaleffects
+    qtmultimedia
     qtx11extras
-    makeWrapper
-    kwayland
-    kio
   ];
 
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-
-  postInstall = ''
-    wrapProgram $out/libexec/kdeconnectd --prefix PATH : ${lib.makeBinPath [ sshfs ]}
-  '';
+  nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ];
 
-  enableParallelBuilding = true;
+  qtWrapperArgs = [
+    "--prefix PATH : ${lib.makeBinPath [ sshfs ]}"
+  ];
 
   meta = with lib; {
     description = "KDE Connect provides several features to integrate your phone and your computer";
-    homepage    = "https://community.kde.org/KDEConnect";
-    license     = with licenses; [ gpl2 ];
+    homepage = "https://community.kde.org/KDEConnect";
+    license = with licenses; [ gpl2 ];
     maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/applications/kde/kdenlive.nix b/pkgs/applications/kde/kdenlive.nix
index 795ba87ad5b59..b2abee5793962 100644
--- a/pkgs/applications/kde/kdenlive.nix
+++ b/pkgs/applications/kde/kdenlive.nix
@@ -25,9 +25,9 @@
 , frei0r
 , phonon-backend-gstreamer
 , qtdeclarative
+, qtmultimedia
 , qtquickcontrols2
 , qtscript
-, qtwebkit
 , rttr
 , kpurpose
 , kdeclarative
@@ -60,9 +60,9 @@ mkDerivation {
     mlt
     phonon-backend-gstreamer
     qtdeclarative
+    qtmultimedia
     qtquickcontrols2
     qtscript
-    qtwebkit
     shared-mime-info
     libv4l
     ffmpeg-full
@@ -84,12 +84,20 @@ mkDerivation {
       sed -i CMakeLists.txt -e '/find_package(Qt5 REQUIRED/ s|)| Concurrent)|'
       substituteAllInPlace src/kdenlivesettings.kcfg
     '';
+
+  dontWrapGApps = true;
+
   # Frei0r path needs to be set too or Kdenlive will complain. See:
   # https://github.com/NixOS/nixpkgs/issues/83885
   # https://github.com/NixOS/nixpkgs/issues/29614#issuecomment-488849325
   qtWrapperArgs = [
     "--set FREI0R_PATH ${frei0r}/lib/frei0r-1"
   ];
+
+  preFixup = ''
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   meta = {
     license = with lib.licenses; [ gpl2Plus ];
   };
diff --git a/pkgs/applications/kde/kdiamond.nix b/pkgs/applications/kde/kdiamond.nix
index 26cd731beaf51..6c124f9450eae 100644
--- a/pkgs/applications/kde/kdiamond.nix
+++ b/pkgs/applications/kde/kdiamond.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kdiamond";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.kdiamond";
-    description = "KDiamond is a single player puzzle game";
+    description = "A single player puzzle game";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kfloppy.nix b/pkgs/applications/kde/kfloppy.nix
index 525520c159bdc..a8747047f42fe 100644
--- a/pkgs/applications/kde/kfloppy.nix
+++ b/pkgs/applications/kde/kfloppy.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kfloppy";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/utilities/org.kde.kfloppy";
-    description = "KFloppy is a utility to format 3.5\" and 5.25\" floppy disks";
+    description = "Utility to format 3.5\" and 5.25\" floppy disks";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/klettres.nix b/pkgs/applications/kde/klettres.nix
index e8e0a0aa59ab1..aaddceb7bd6d8 100644
--- a/pkgs/applications/kde/klettres.nix
+++ b/pkgs/applications/kde/klettres.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "klettres";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/utilities/org.kde.klettres";
-    description = "KLettres is an application specially designed to help the user to learn an alphabet";
+    description = "An application specially designed to help the user to learn an alphabet";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/klines.nix b/pkgs/applications/kde/klines.nix
index c6ad883dd63d0..7fadf409bd3d7 100644
--- a/pkgs/applications/kde/klines.nix
+++ b/pkgs/applications/kde/klines.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "klines";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.klines";
-    description = "KLines is a simple but highly addictive one player game";
+    description = "A simple but highly addictive one player game";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kmag.nix b/pkgs/applications/kde/kmag.nix
index 701d8dbf130a3..fdac690cf22f9 100644
--- a/pkgs/applications/kde/kmag.nix
+++ b/pkgs/applications/kde/kmag.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kmag";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/utilities/org.kde.kmag";
-    description = "KMag is a small utility for Linux to magnify a part of the screen";
+    description = "A small Linux utility to magnify a part of the screen";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kmahjongg.nix b/pkgs/applications/kde/kmahjongg.nix
index b51d0d147e2ec..93588b241e11a 100644
--- a/pkgs/applications/kde/kmahjongg.nix
+++ b/pkgs/applications/kde/kmahjongg.nix
@@ -14,6 +14,6 @@ mkDerivation {
   buildInputs = [ kdeclarative libkmahjongg knewstuff libkdegames ];
   meta = {
     license = with lib.licenses; [ gpl2 ];
-    maintainers = with lib.maintainers; [ genesis ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/kde/kmines.nix b/pkgs/applications/kde/kmines.nix
index 9314cca4a23fa..edf3114244b9f 100644
--- a/pkgs/applications/kde/kmines.nix
+++ b/pkgs/applications/kde/kmines.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kmines";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.kmines";
-    description = "KMines is a classic Minesweeper game";
+    description = "A classic Minesweeper game";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/knetwalk.nix b/pkgs/applications/kde/knetwalk.nix
index 88d08b56bb1d2..f34bb84f0a064 100644
--- a/pkgs/applications/kde/knetwalk.nix
+++ b/pkgs/applications/kde/knetwalk.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "knetwalk";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.knetwalk";
-    description = "KNetWalk is a single player logic game";
+    description = "A single player logic game";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/knights.nix b/pkgs/applications/kde/knights.nix
index ee5c37e2e9488..8b71493ff1868 100644
--- a/pkgs/applications/kde/knights.nix
+++ b/pkgs/applications/kde/knights.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "knights";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.knights";
-    description = "KNights is a chess game";
+    description = "A chess game";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kollision.nix b/pkgs/applications/kde/kollision.nix
index 3c0c814cd15af..6cb9995459a42 100644
--- a/pkgs/applications/kde/kollision.nix
+++ b/pkgs/applications/kde/kollision.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kollision";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.kollision";
-    description = "Kollision is a casual game";
+    description = "A casual game";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kreversi.nix b/pkgs/applications/kde/kreversi.nix
index 77ac4f05c8a8b..9f4be46738beb 100644
--- a/pkgs/applications/kde/kreversi.nix
+++ b/pkgs/applications/kde/kreversi.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kreversi";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.kreversi";
-    description = "KReversi is a simple one player strategy game played against the computer";
+    description = "A simple one player strategy game played against the computer";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kshisen.nix b/pkgs/applications/kde/kshisen.nix
index 7909ed8b2a385..5be17bb8ee08f 100644
--- a/pkgs/applications/kde/kshisen.nix
+++ b/pkgs/applications/kde/kshisen.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kshisen";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.kshisen";
-    description = "KShisen is a solitaire-like game played using the standard set of Mahjong tiles";
+    description = "A solitaire-like game played using the standard set of Mahjong tiles";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/ksquares.nix b/pkgs/applications/kde/ksquares.nix
index 94a639a0d3700..12d989befe191 100644
--- a/pkgs/applications/kde/ksquares.nix
+++ b/pkgs/applications/kde/ksquares.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "ksquares";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/games/org.kde.ksquares";
-    description = "KSquares is a game of Dots and Boxes";
+    description = "A game of Dots and Boxes";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/ksudoku.nix b/pkgs/applications/kde/ksudoku.nix
index 3641c1b333237..678c21d5870ee 100644
--- a/pkgs/applications/kde/ksudoku.nix
+++ b/pkgs/applications/kde/ksudoku.nix
@@ -13,6 +13,6 @@ mkDerivation {
   buildInputs = [ libGLU kdeclarative libkdegames ];
   meta = {
     license = with lib.licenses; [ gpl2 ];
-    maintainers = with lib.maintainers; [ genesis ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/kde/kteatime.nix b/pkgs/applications/kde/kteatime.nix
index a69cb991acc0a..812a13aa118be 100644
--- a/pkgs/applications/kde/kteatime.nix
+++ b/pkgs/applications/kde/kteatime.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kteatime";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/utilities/org.kde.kteatime";
-    description = "KTeaTime is a handy timer for steeping tea";
+    description = "A handy timer for steeping tea";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/ktimer.nix b/pkgs/applications/kde/ktimer.nix
index aa755f35ce436..bdb8f2c687b14 100644
--- a/pkgs/applications/kde/ktimer.nix
+++ b/pkgs/applications/kde/ktimer.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "ktimer";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/utilities/org.kde.ktimer";
-    description = "KTimer is a little tool to execute programs after some time";
+    description = "A little tool to execute programs after some time";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kturtle.nix b/pkgs/applications/kde/kturtle.nix
index e16c86dc13621..c495b16fef79a 100644
--- a/pkgs/applications/kde/kturtle.nix
+++ b/pkgs/applications/kde/kturtle.nix
@@ -4,7 +4,7 @@ mkDerivation {
   name = "kturtle";
   meta = with lib; {
     homepage = "https://kde.org/applications/en/utilities/org.kde.kturtle";
-    description = "KTurtle is an educational programming environment for learning how to program";
+    description = "An educational programming environment for learning how to program";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kwave.nix b/pkgs/applications/kde/kwave.nix
index 349787d000b5b..1a831c7c8dd84 100644
--- a/pkgs/applications/kde/kwave.nix
+++ b/pkgs/applications/kde/kwave.nix
@@ -1,14 +1,17 @@
-{ mkDerivation, lib, extra-cmake-modules, kdoctools, qtmultimedia, kcompletion, kconfig, kcrash, kiconthemes, kio, audiofile, libsamplerate
-, alsaLib, libpulseaudio, flac, id3lib, libogg, libmad, libopus, libvorbis, fftw, librsvg }:
+{ mkDerivation, lib, extra-cmake-modules, kdoctools, qtmultimedia, kcompletion, kconfig
+, kcrash, kiconthemes, kio, audiofile, libsamplerate, alsaLib, libpulseaudio, flac, id3lib
+, libogg, libmad, libopus, libvorbis, fftw, librsvg, qtbase }:
 
 mkDerivation {
   name = "kwave";
+
   meta = with lib; {
     homepage = "https://kde.org/applications/en/multimedia/org.kde.kwave";
-    description = "KWave is a simple media player";
+    description = "A simple media player";
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
+    broken = lib.versionOlder qtbase.version "5.14";
   };
   nativeBuildInputs = [
     extra-cmake-modules
diff --git a/pkgs/applications/kde/libkmahjongg.nix b/pkgs/applications/kde/libkmahjongg.nix
index 4b7b8538290c5..295b97842686a 100644
--- a/pkgs/applications/kde/libkmahjongg.nix
+++ b/pkgs/applications/kde/libkmahjongg.nix
@@ -9,7 +9,7 @@ mkDerivation {
   name = "libkmahjongg";
   meta = {
     license = with lib.licenses; [ gpl2 ];
-    maintainers = with lib.maintainers; [ genesis ];
+    maintainers = with lib.maintainers; [ ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ kcompletion kconfig kconfigwidgets kcoreaddons ki18n
diff --git a/pkgs/applications/kde/minuet.nix b/pkgs/applications/kde/minuet.nix
index cd98d56b86dd7..2c0f0a5092d8b 100644
--- a/pkgs/applications/kde/minuet.nix
+++ b/pkgs/applications/kde/minuet.nix
@@ -1,4 +1,4 @@
-{ mkDerivation
+{ mkDerivation, qtbase
 , lib, extra-cmake-modules, gettext, python
 , drumstick, fluidsynth
 , kcoreaddons, kcrash, kdoctools
@@ -10,6 +10,7 @@ mkDerivation {
   meta = with lib; {
     license = with licenses; [ lgpl21 gpl3 ];
     maintainers = with maintainers; [ peterhoeg HaoZeke ];
+    broken = lib.versionOlder qtbase.version "5.14";
   };
 
   nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python qtdeclarative ];
diff --git a/pkgs/applications/kde/okular.nix b/pkgs/applications/kde/okular.nix
index 3bcdb9ca84244..288b2ceb807f9 100644
--- a/pkgs/applications/kde/okular.nix
+++ b/pkgs/applications/kde/okular.nix
@@ -4,7 +4,7 @@
   breeze-icons, chmlib ? null, discount, djvulibre, ebook_tools, kactivities,
   karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
   kdbusaddons, kdegraphics-mobipocket, kiconthemes, kjs, khtml, kio, kparts,
-  kpty, kwallet, kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler,
+  kpty, kpurpose, kwallet, kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler,
   qca-qt5, qtdeclarative, qtsvg, threadweaver, kcrash
 }:
 
@@ -14,7 +14,7 @@ mkDerivation {
   buildInputs = [
     breeze-icons discount djvulibre ebook_tools kactivities karchive kbookmarks
     kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
-    kdegraphics-mobipocket kiconthemes kjs khtml kio kparts kpty kwallet
+    kdegraphics-mobipocket kiconthemes kjs khtml kio kparts kpty kpurpose kwallet
     kwindowsystem libkexiv2 libspectre libzip phonon poppler qca-qt5
     qtdeclarative qtsvg threadweaver kcrash
   ] ++ lib.optional (!stdenv.isAarch64) chmlib;
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index 5bcb48acc1816..6966c07ec0af9 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -4,1731 +4,1731 @@
 
 {
   akonadi = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/akonadi-20.08.1.tar.xz";
-      sha256 = "f930de5fae376f138e87c6d67357ab799a3397d865b55c50f771b4427d85f495";
-      name = "akonadi-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/akonadi-20.08.2.tar.xz";
+      sha256 = "d3a4b3b3f543734ad5428ca0e573b8dbf9e05f42d51e1aab39b5b5266c16be7d";
+      name = "akonadi-20.08.2.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/akonadi-calendar-20.08.1.tar.xz";
-      sha256 = "896ec2523203022bf70e23897d59b64c8bfffad4ead5b6756555ab34a4047ef5";
-      name = "akonadi-calendar-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/akonadi-calendar-20.08.2.tar.xz";
+      sha256 = "20173d00dc764f6a1e8e0b433d96b982ceadcb17e9bd067caf2967fd5440eb51";
+      name = "akonadi-calendar-20.08.2.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/akonadi-calendar-tools-20.08.1.tar.xz";
-      sha256 = "21ccc2e1090eeda1eba0c29ab51c3bae1e8f57aedead569c4ed7995f5ad6cffc";
-      name = "akonadi-calendar-tools-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/akonadi-calendar-tools-20.08.2.tar.xz";
+      sha256 = "2069cc3a12f0da3f10181c13d19b1048d8f2e0c0f4a4e14309a7e6f08aa74ab9";
+      name = "akonadi-calendar-tools-20.08.2.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/akonadiconsole-20.08.1.tar.xz";
-      sha256 = "077ee646babbc4ca4075505d3dd830f4f5b8b1253617228e96f565fe23bcaad9";
-      name = "akonadiconsole-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/akonadiconsole-20.08.2.tar.xz";
+      sha256 = "dc03a1986b6e7af0d26af927009d567da1e1835cc2bb5cc1b5732ffca3ecde9d";
+      name = "akonadiconsole-20.08.2.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/akonadi-contacts-20.08.1.tar.xz";
-      sha256 = "eee775960345ec0ca13b0550bb56fb6875867921fa7b9412a2c4b0dfb8ab4366";
-      name = "akonadi-contacts-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/akonadi-contacts-20.08.2.tar.xz";
+      sha256 = "e4a2696e0e0cf69926d34f160a4581131a1da8244355787564b75dec06db1b30";
+      name = "akonadi-contacts-20.08.2.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/akonadi-import-wizard-20.08.1.tar.xz";
-      sha256 = "d895c866a05f0a55ca8f2d852ed0ae3fdc13aa160cbcbaf9f1017443458d9526";
-      name = "akonadi-import-wizard-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/akonadi-import-wizard-20.08.2.tar.xz";
+      sha256 = "639d72ae3d32f681ddb046a87d625871b485785602cf35b817e89004def4dc5e";
+      name = "akonadi-import-wizard-20.08.2.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/akonadi-mime-20.08.1.tar.xz";
-      sha256 = "3c7a57f798a7db1e1aebc3162c20f58a0fb9ed9e703078344ef1de215c73ff0b";
-      name = "akonadi-mime-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/akonadi-mime-20.08.2.tar.xz";
+      sha256 = "5699a1d44a9812c9530bc61af5822ff34a573b168d72230cd8261c05065c06e3";
+      name = "akonadi-mime-20.08.2.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/akonadi-notes-20.08.1.tar.xz";
-      sha256 = "afc0cdba349f0b2edece44221a7c3c532d07251ec51f05994e83a1d79c4f50fc";
-      name = "akonadi-notes-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/akonadi-notes-20.08.2.tar.xz";
+      sha256 = "4897ca92d6b68f75254e1c419438275a94fa678c9f062dcd91c0267129886ca7";
+      name = "akonadi-notes-20.08.2.tar.xz";
     };
   };
   akonadi-search = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/akonadi-search-20.08.1.tar.xz";
-      sha256 = "db305bfc55535d8812d84a119e4dcf04e7b87c345e7ac3a884469cbf55abca83";
-      name = "akonadi-search-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/akonadi-search-20.08.2.tar.xz";
+      sha256 = "618400950fa44f0c578ab51c3b311a47e0b2df47203f754e50bcc363201a9fc7";
+      name = "akonadi-search-20.08.2.tar.xz";
     };
   };
   akregator = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/akregator-20.08.1.tar.xz";
-      sha256 = "21751a5a14b188649caeeb19cbcef877dd00548a29c073f8694e227d951c7a00";
-      name = "akregator-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/akregator-20.08.2.tar.xz";
+      sha256 = "4de4bd31dede5c09e0eb9e14d1da1d1979409eb1e28df5f95963086d4a49edc9";
+      name = "akregator-20.08.2.tar.xz";
     };
   };
   analitza = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/analitza-20.08.1.tar.xz";
-      sha256 = "91c691df8be52255db9387549c6392ad2c5358c12e805f3a96520e2aa0c147de";
-      name = "analitza-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/analitza-20.08.2.tar.xz";
+      sha256 = "2fad01bf48199e3671559ec9a619f0d590af331922899c793f96fc90860ec487";
+      name = "analitza-20.08.2.tar.xz";
     };
   };
   ark = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ark-20.08.1.tar.xz";
-      sha256 = "32e8546b186b88efc9d4688e02def0b6225d921f9b92cfcd328417f09ec0f725";
-      name = "ark-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ark-20.08.2.tar.xz";
+      sha256 = "ec061ac07687b5a3541af293e3bc2aa7bedcfe0ef38ba6e57e2704068a726ffc";
+      name = "ark-20.08.2.tar.xz";
     };
   };
   artikulate = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/artikulate-20.08.1.tar.xz";
-      sha256 = "b626a6a38f6eb50d64607032d5b100351c4242e40a4a13cdce4769e188ee361a";
-      name = "artikulate-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/artikulate-20.08.2.tar.xz";
+      sha256 = "66545d85e25aa67816deea4b2b89b485181458a5bc117dad9588671d8b48b41c";
+      name = "artikulate-20.08.2.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/audiocd-kio-20.08.1.tar.xz";
-      sha256 = "7662849929c96d1745ce4ac7ddc931be2eff5e3cc755f2cd959b4d3f4b20b9b0";
-      name = "audiocd-kio-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/audiocd-kio-20.08.2.tar.xz";
+      sha256 = "5f38c549fe8c3a4659ac8291c223327b765834e7668bc15a96047e20cdb11f01";
+      name = "audiocd-kio-20.08.2.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/baloo-widgets-20.08.1.tar.xz";
-      sha256 = "9f48cb2f1b45e46828b1656abaeb60e836650015c07277ec52bea053d0058958";
-      name = "baloo-widgets-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/baloo-widgets-20.08.2.tar.xz";
+      sha256 = "e1d14b8dba911ebc1cee76dbcd44fa200418ba959d86ce567093b5fc3b700a07";
+      name = "baloo-widgets-20.08.2.tar.xz";
     };
   };
   blinken = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/blinken-20.08.1.tar.xz";
-      sha256 = "53b30435ea0d83f713ecb53219173aa55c0d11194830972734a4acc9a5a28c5a";
-      name = "blinken-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/blinken-20.08.2.tar.xz";
+      sha256 = "c6e74033ab8ece83618c5cda0ab3cf327514b8e2e6b0e9daf484ce88f671a65e";
+      name = "blinken-20.08.2.tar.xz";
     };
   };
   bomber = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/bomber-20.08.1.tar.xz";
-      sha256 = "a4b2f5dcce7e125da30bef6bcc9746b67f8451d2040696714686dd618d80a96c";
-      name = "bomber-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/bomber-20.08.2.tar.xz";
+      sha256 = "27c226b31bcdbbda0c9e304e428ca7451614c397a038e830f8052c381dae7215";
+      name = "bomber-20.08.2.tar.xz";
     };
   };
   bovo = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/bovo-20.08.1.tar.xz";
-      sha256 = "5d5ee817a73de0deef6b7c35a798bda02c6d15e9dd0e7379a13c23c0832fe0d1";
-      name = "bovo-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/bovo-20.08.2.tar.xz";
+      sha256 = "936cab24a13900765f0c5a5afb6f155cb5a05bdb067f86b77e33af5f0e4c37d2";
+      name = "bovo-20.08.2.tar.xz";
     };
   };
   calendarsupport = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/calendarsupport-20.08.1.tar.xz";
-      sha256 = "38d6e695725c8484e1492d431144a0ecd1b66535bc07ac77e1f0eb1499d8fc32";
-      name = "calendarsupport-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/calendarsupport-20.08.2.tar.xz";
+      sha256 = "83bcdd36689f762363a95b688b9377a3335b4fd58ad1d5efad36ad2b0cf7cc10";
+      name = "calendarsupport-20.08.2.tar.xz";
     };
   };
   cantor = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/cantor-20.08.1.tar.xz";
-      sha256 = "c44b96ac861302589923d144bf7b5d529b6eb2f91cea2d014944a0516de31a05";
-      name = "cantor-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/cantor-20.08.2.tar.xz";
+      sha256 = "aca92b6e40a9e05282eae2b55f7cc6bf88612ffa9b3dde1a239648be8e5bdc59";
+      name = "cantor-20.08.2.tar.xz";
     };
   };
   cervisia = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/cervisia-20.08.1.tar.xz";
-      sha256 = "eedd3b3f00b97d513437fdbd2eeaa28cd6db29512983b82196bdededd8b701f2";
-      name = "cervisia-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/cervisia-20.08.2.tar.xz";
+      sha256 = "b3444ecd1078b92fad9b00297496dd3d92366a9c0bb56cfa138f28cc15db1389";
+      name = "cervisia-20.08.2.tar.xz";
     };
   };
   dolphin = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/dolphin-20.08.1.tar.xz";
-      sha256 = "7d6ef04b866366a0ff3b199aac082ade41b3748b225ef7675ea42ccf48cbdc24";
-      name = "dolphin-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/dolphin-20.08.2.tar.xz";
+      sha256 = "bd13574610fc2108b9b04249cff70ca99958fe57a42fbf260ed16e5e377071bc";
+      name = "dolphin-20.08.2.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/dolphin-plugins-20.08.1.tar.xz";
-      sha256 = "a00cab6b30c9b5a4c0164704c9eab2cbb661928e775f83acb3691af77bf17427";
-      name = "dolphin-plugins-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/dolphin-plugins-20.08.2.tar.xz";
+      sha256 = "7eabeb295ae2932958992bf7273afcb8164fbe90a2574064983fb2ecbc57eeaf";
+      name = "dolphin-plugins-20.08.2.tar.xz";
     };
   };
   dragon = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/dragon-20.08.1.tar.xz";
-      sha256 = "691bc338ca25e70e9a43cbcdf50f2e0aa92643bdad0329bdc3e09373ac287040";
-      name = "dragon-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/dragon-20.08.2.tar.xz";
+      sha256 = "cf7cce288fdeb12a0c86739741c6b901859e9b36d8fc9e7478c46f53cc74dd6c";
+      name = "dragon-20.08.2.tar.xz";
     };
   };
   elisa = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/elisa-20.08.1.tar.xz";
-      sha256 = "1a0234a074a70bfcd4b2ccc14664b2cc7f88d2ccfd33c1716d35c27a31e258c0";
-      name = "elisa-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/elisa-20.08.2.tar.xz";
+      sha256 = "6c04377dfd5e82b2b67b3a43cc3ffd3b206f24ab75c3fe18298ec80876dcc268";
+      name = "elisa-20.08.2.tar.xz";
     };
   };
   eventviews = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/eventviews-20.08.1.tar.xz";
-      sha256 = "b46e6ad32a503ce1dc1e5ade71e79f44011362fe569836ca1f2cd11c560a5a73";
-      name = "eventviews-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/eventviews-20.08.2.tar.xz";
+      sha256 = "ecac9ac6e6a6ed835b28048d8bfc09bac9a1e7a57c5dd0eba6f4360301b32af9";
+      name = "eventviews-20.08.2.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ffmpegthumbs-20.08.1.tar.xz";
-      sha256 = "8b7cd6bd27b29977d0406b08c2cf33988c651a2f59392be47f076e49eea5673b";
-      name = "ffmpegthumbs-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ffmpegthumbs-20.08.2.tar.xz";
+      sha256 = "af5b3de86487d3ddccda34c5165a34427ef97fe1090108781eb38babc101740f";
+      name = "ffmpegthumbs-20.08.2.tar.xz";
     };
   };
   filelight = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/filelight-20.08.1.tar.xz";
-      sha256 = "9677038781a1d66238da0e54f967c9c97cb44d593dbe164b8e26f38d0ac75330";
-      name = "filelight-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/filelight-20.08.2.tar.xz";
+      sha256 = "65f5f90d56d3449722647286324f8aae54754ec2a46c9aaa2e3bad92bae3433e";
+      name = "filelight-20.08.2.tar.xz";
     };
   };
   granatier = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/granatier-20.08.1.tar.xz";
-      sha256 = "7b0d53fd50fdb56270f8fd53d45478c0f1be10bb67b901db08b0f413c4baeb3e";
-      name = "granatier-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/granatier-20.08.2.tar.xz";
+      sha256 = "bb79b84b485bb194bf4edaa833e7705ec9fc0275301c70df78498b872de9ee57";
+      name = "granatier-20.08.2.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/grantlee-editor-20.08.1.tar.xz";
-      sha256 = "edeb994eab7001bcf8462834a61ae1a045e9122ae104d31bdeed2ac7497b6306";
-      name = "grantlee-editor-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/grantlee-editor-20.08.2.tar.xz";
+      sha256 = "353b2c58d169e8b3c91367a7ce8939ede39c289036e3617da019ae1045a81c7b";
+      name = "grantlee-editor-20.08.2.tar.xz";
     };
   };
   grantleetheme = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/grantleetheme-20.08.1.tar.xz";
-      sha256 = "9a8f91ce63a3b143d47d8e3fbd1378732639cd3daf5b5789989164d8225fe54f";
-      name = "grantleetheme-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/grantleetheme-20.08.2.tar.xz";
+      sha256 = "8cb4d2f698cf7f44bf70322669809f07900021f215175c8db120abc0f2debf62";
+      name = "grantleetheme-20.08.2.tar.xz";
     };
   };
   gwenview = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/gwenview-20.08.1.tar.xz";
-      sha256 = "df1c45317aff9aece8b023cd87aab62c9cd222520795922564e89fdc9df48995";
-      name = "gwenview-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/gwenview-20.08.2.tar.xz";
+      sha256 = "580df49eb6852db4b1229f0326372dc7da7a08140d552da59a62ece08b03cc9d";
+      name = "gwenview-20.08.2.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/incidenceeditor-20.08.1.tar.xz";
-      sha256 = "eecc51eb405c473eb20449842dcdb3dac96712bbcf7aeedaa06614e1da3e0bbe";
-      name = "incidenceeditor-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/incidenceeditor-20.08.2.tar.xz";
+      sha256 = "e9c24390b5951ef9f504a4dc432fea52ed7487288c424f073446e6c07e70c69a";
+      name = "incidenceeditor-20.08.2.tar.xz";
     };
   };
   juk = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/juk-20.08.1.tar.xz";
-      sha256 = "aa9a93a0befacf401cf41d8358b4987d8b370b4c153f3b66e05e922472e004a8";
-      name = "juk-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/juk-20.08.2.tar.xz";
+      sha256 = "b19f59ad8c80c4c335469fbddde6db92112e286b1699964eab39a3d826c7ec60";
+      name = "juk-20.08.2.tar.xz";
     };
   };
   k3b = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/k3b-20.08.1.tar.xz";
-      sha256 = "66fad59f4e35c24dc8868c46ff45ffa66048501e0a6ac0c23a8b9e957033e50f";
-      name = "k3b-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/k3b-20.08.2.tar.xz";
+      sha256 = "6370be558e93fed4605b7870b1d7ea324713c5a52370eab9c05d85fc3b76acd5";
+      name = "k3b-20.08.2.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kaccounts-integration-20.08.1.tar.xz";
-      sha256 = "b65ec11be0c2b612222de382d24345f19be0cd264243f0d954da8a81b80034bc";
-      name = "kaccounts-integration-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kaccounts-integration-20.08.2.tar.xz";
+      sha256 = "6678ee7d394b69a37e6a220a6cba3804f999997da5803da4bab1d8f329ff30fe";
+      name = "kaccounts-integration-20.08.2.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kaccounts-providers-20.08.1.tar.xz";
-      sha256 = "481a2e2708773197b63937233ade6380c0b64e13a1610f27aa2751b6ee3624a4";
-      name = "kaccounts-providers-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kaccounts-providers-20.08.2.tar.xz";
+      sha256 = "c719d7840ab118ff591e75e12869afc3118e5cdeb5c0415eba5b1f6993664c90";
+      name = "kaccounts-providers-20.08.2.tar.xz";
     };
   };
   kaddressbook = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kaddressbook-20.08.1.tar.xz";
-      sha256 = "f7fb72cbff43ae6dfb222e5b1c49947602086412b97634484eb3cc86ab773aa2";
-      name = "kaddressbook-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kaddressbook-20.08.2.tar.xz";
+      sha256 = "8d2e5849dd8878806e8566ce43c139633c37f027f677603600c8acc0d0d41198";
+      name = "kaddressbook-20.08.2.tar.xz";
     };
   };
   kajongg = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kajongg-20.08.1.tar.xz";
-      sha256 = "801c0cc63767809ea4909ceb66dbbbb3e8ad400db7a24c80dc6ae8f3f5c9a6b9";
-      name = "kajongg-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kajongg-20.08.2.tar.xz";
+      sha256 = "1eb534ac6d1d3ca14b73bd6e5b626b988acafc30b168f54d48a493adc715ecde";
+      name = "kajongg-20.08.2.tar.xz";
     };
   };
   kalarm = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kalarm-20.08.1.tar.xz";
-      sha256 = "22fea5be32c8db6b0903f216307f20dafc2ac69c620d9b4512e1034c0294c207";
-      name = "kalarm-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kalarm-20.08.2.tar.xz";
+      sha256 = "e783c041ac4b162cf5254e37e53854835eda6c61ef3ae2358466000a8650a4da";
+      name = "kalarm-20.08.2.tar.xz";
     };
   };
   kalarmcal = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kalarmcal-20.08.1.tar.xz";
-      sha256 = "745515662c23154480e73f4a8d6e9ec760d01770383c1dd7f31d3f1463be7602";
-      name = "kalarmcal-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kalarmcal-20.08.2.tar.xz";
+      sha256 = "0398a37f412eb03b5cbf2488ce7e0c38a069f1806bda4ea9bfce4fc67311a9a6";
+      name = "kalarmcal-20.08.2.tar.xz";
     };
   };
   kalgebra = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kalgebra-20.08.1.tar.xz";
-      sha256 = "a5ab916eba3bfd7535408768e6530e993bc1097ef1a2a0af5aa804aa1f713caf";
-      name = "kalgebra-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kalgebra-20.08.2.tar.xz";
+      sha256 = "c934dc8d92917e31c17efa5b64dbec4795439a5f26762e2f214b49028bfe264d";
+      name = "kalgebra-20.08.2.tar.xz";
     };
   };
   kalzium = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kalzium-20.08.1.tar.xz";
-      sha256 = "c2c4a823525ab5927c39f29e2150f34fc03947fb852aea1bdb73390c5a709188";
-      name = "kalzium-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kalzium-20.08.2.tar.xz";
+      sha256 = "474f74cbb478d3f5f69b5785711ed969ac15d5e92aee5308c6118a9d12611016";
+      name = "kalzium-20.08.2.tar.xz";
     };
   };
   kamera = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kamera-20.08.1.tar.xz";
-      sha256 = "f5b04ca46313de1bb0a57253650d1d1578f45796035888b759ad224b5866ee96";
-      name = "kamera-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kamera-20.08.2.tar.xz";
+      sha256 = "ba28cab34267ce203b4b70f4a2c2b6a75849aec83dd2d73f6903894c5c125fdf";
+      name = "kamera-20.08.2.tar.xz";
     };
   };
   kamoso = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kamoso-20.08.1.tar.xz";
-      sha256 = "ed8fa6a6127a8bea5294534aa2552526af101f981de58512fbb9f7dfd78e8984";
-      name = "kamoso-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kamoso-20.08.2.tar.xz";
+      sha256 = "e7d0af2781ff077261886a1683aff1d518a17f9b6d83f84fa95a7633a00f1516";
+      name = "kamoso-20.08.2.tar.xz";
     };
   };
   kanagram = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kanagram-20.08.1.tar.xz";
-      sha256 = "c810db58884e80d95baef149b8ced8fff7c5e48d6057478e81a5c8895ae67b42";
-      name = "kanagram-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kanagram-20.08.2.tar.xz";
+      sha256 = "3f3f961aa847f26ac875104e82b8e7e73bbc049f20460117f849df91ba9b42e2";
+      name = "kanagram-20.08.2.tar.xz";
     };
   };
   kapman = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kapman-20.08.1.tar.xz";
-      sha256 = "934da85c5d9c99a0ed658fe4d99df258246716e04e13ceb3e18b11cc035c4f4c";
-      name = "kapman-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kapman-20.08.2.tar.xz";
+      sha256 = "932bd697f2ca0e44af6be983dae3e13df9435642b91f0e1ebba7fd50291c2cbd";
+      name = "kapman-20.08.2.tar.xz";
     };
   };
   kapptemplate = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kapptemplate-20.08.1.tar.xz";
-      sha256 = "7b350467e14bc310a695ffa3481afa7857de2f6ec714915ee2d8a25a6511909b";
-      name = "kapptemplate-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kapptemplate-20.08.2.tar.xz";
+      sha256 = "3bda6d9f6127e19357f071ca6f9f05890c35a6aaf86e54bce39381f0045b6b0c";
+      name = "kapptemplate-20.08.2.tar.xz";
     };
   };
   kate = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kate-20.08.1.tar.xz";
-      sha256 = "44607f6a1d5ca8bb7173bedbeabef65bb98dde0fd009987bd8139fbb53959146";
-      name = "kate-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kate-20.08.2.tar.xz";
+      sha256 = "718e8230edfa16f93f54380c4e214a0f25f8a398fe74ad23f12b7dcffae419d0";
+      name = "kate-20.08.2.tar.xz";
     };
   };
   katomic = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/katomic-20.08.1.tar.xz";
-      sha256 = "1aa655857bb1708880b6fbf4e54acdfe1cb7f47a9494249978251d870b86f13a";
-      name = "katomic-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/katomic-20.08.2.tar.xz";
+      sha256 = "bb94e81cb1122b57d2601f701bc51ff8fa27ac07a5de34e5c49928d50d46ed85";
+      name = "katomic-20.08.2.tar.xz";
     };
   };
   kbackup = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kbackup-20.08.1.tar.xz";
-      sha256 = "08b0c43fca2dba65e1173841343daf8e6e37e11101be7315011e8345ba9b1e72";
-      name = "kbackup-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kbackup-20.08.2.tar.xz";
+      sha256 = "bb97dd10a64c42ae80c9c87442d3a06d3c18f4f5997bd3b6d1460dec655b3e0a";
+      name = "kbackup-20.08.2.tar.xz";
     };
   };
   kblackbox = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kblackbox-20.08.1.tar.xz";
-      sha256 = "3f09d483fa3a3013e685df9efd9cee8d9d1b9f0e017cc97d92636bae89fc469c";
-      name = "kblackbox-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kblackbox-20.08.2.tar.xz";
+      sha256 = "714a8749a49d1a7938b74372138ae3e5bafef50de61207e63a6d2c60b6bfded2";
+      name = "kblackbox-20.08.2.tar.xz";
     };
   };
   kblocks = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kblocks-20.08.1.tar.xz";
-      sha256 = "e2b6e5b0727ca45d6b0f0e8b9f0aa029a0acb9bdebeac5bfd849455e560977ed";
-      name = "kblocks-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kblocks-20.08.2.tar.xz";
+      sha256 = "c82f8b6e722308a236d0057028d644ebf8105c9c902d799bc2fb3e1c1ff7c188";
+      name = "kblocks-20.08.2.tar.xz";
     };
   };
   kbounce = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kbounce-20.08.1.tar.xz";
-      sha256 = "99af3bd297fcbecb9eaa4222bbb5122144beff9cb999420bf45339d61375f2a4";
-      name = "kbounce-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kbounce-20.08.2.tar.xz";
+      sha256 = "371fbaf7c1faeacf1c74441ec1a58f1ced862f741e67123d2eb105f1d4f9b8e2";
+      name = "kbounce-20.08.2.tar.xz";
     };
   };
   kbreakout = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kbreakout-20.08.1.tar.xz";
-      sha256 = "0d57c105f2778b68c0b5ff8cb3e02d5c7ea2956b90d48d126ff1118b94d5f2fa";
-      name = "kbreakout-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kbreakout-20.08.2.tar.xz";
+      sha256 = "b58b9dd26eff3960bc664076ddf4d0c81c7dfd5380be1d058b86de2d3f55d2ef";
+      name = "kbreakout-20.08.2.tar.xz";
     };
   };
   kbruch = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kbruch-20.08.1.tar.xz";
-      sha256 = "f04bf902a31b68d18c69afff511a591817a35f5ad866de4f84aa1b664b35a41e";
-      name = "kbruch-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kbruch-20.08.2.tar.xz";
+      sha256 = "54c5997a8d6405439448dd929bf16017c9e5db052b30c9bf144c656c6d8b9e0b";
+      name = "kbruch-20.08.2.tar.xz";
     };
   };
   kcachegrind = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kcachegrind-20.08.1.tar.xz";
-      sha256 = "59c43296aaa7d8a5dbf782ba9248ee8bb6308e7bd7bdfc0b99e1c912529337f2";
-      name = "kcachegrind-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kcachegrind-20.08.2.tar.xz";
+      sha256 = "e6b84a323a21ae7975ccc07154bcdc6eef1bc92818b800cfc5d546ada7f0387c";
+      name = "kcachegrind-20.08.2.tar.xz";
     };
   };
   kcalc = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kcalc-20.08.1.tar.xz";
-      sha256 = "46702fe8eca8b604e15f3f2eb4d1f17b8601b6ad0b03bb9cd0a0dd7ed7a13c49";
-      name = "kcalc-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kcalc-20.08.2.tar.xz";
+      sha256 = "76b6c8e44c789090c0155f79878df8f27c96d2df4273443b0f05a42ec81902cf";
+      name = "kcalc-20.08.2.tar.xz";
     };
   };
   kcalutils = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kcalutils-20.08.1.tar.xz";
-      sha256 = "ae6a8ca02722f8f593a8d248ab3d043cc68be23d18f820e150af000a902601c2";
-      name = "kcalutils-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kcalutils-20.08.2.tar.xz";
+      sha256 = "fccae5166b627f654412344d0090000ecd270af54b0cedb8648e35af26369cae";
+      name = "kcalutils-20.08.2.tar.xz";
     };
   };
   kcharselect = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kcharselect-20.08.1.tar.xz";
-      sha256 = "36575e9fd0a93fb3ddaf6a75a213786351bdd3ab8c167dc1a3e2824a23a6655b";
-      name = "kcharselect-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kcharselect-20.08.2.tar.xz";
+      sha256 = "9438e723469b6bf0d87b23965c6d925800ff35b2cc2214a7eeb5fb41009489e0";
+      name = "kcharselect-20.08.2.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kcolorchooser-20.08.1.tar.xz";
-      sha256 = "20cae01bd5e8c824f8e7900badd0d66464c363a749a1ce9fe6fe3a1e31c99ade";
-      name = "kcolorchooser-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kcolorchooser-20.08.2.tar.xz";
+      sha256 = "f314c31932704e7136b5fff89efe95e84e4215f3902089f9d838411f0fbc0c72";
+      name = "kcolorchooser-20.08.2.tar.xz";
     };
   };
   kcron = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kcron-20.08.1.tar.xz";
-      sha256 = "24ee9aee48bef951d6ac1fff32271417c4eb2239f0ec1de8388f2bae55ce83f5";
-      name = "kcron-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kcron-20.08.2.tar.xz";
+      sha256 = "ce72bb7c48606b0611cfe46a545224cca131d34a4b678c86d9ac473071833f83";
+      name = "kcron-20.08.2.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdebugsettings-20.08.1.tar.xz";
-      sha256 = "cac50d34c8a31805924aa75755475a754109fc643e95fe50188477522d113a55";
-      name = "kdebugsettings-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdebugsettings-20.08.2.tar.xz";
+      sha256 = "78502b1a52f9f81ff848e5b210b37a3a74da7c0032de2513f23c1d25cf801283";
+      name = "kdebugsettings-20.08.2.tar.xz";
     };
   };
   kdeconnect-kde = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdeconnect-kde-20.08.1.tar.xz";
-      sha256 = "8ebfe36b4d08b36881082a3748f63a7c645b51e8f3b094607512817e9f6ce668";
-      name = "kdeconnect-kde-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdeconnect-kde-20.08.2.tar.xz";
+      sha256 = "6d43e38620987de1ddcfdfa7d4e6e31ff383b806139ba02e69a99c3ddfb4ee67";
+      name = "kdeconnect-kde-20.08.2.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kde-dev-scripts-20.08.1.tar.xz";
-      sha256 = "f7f99a199fea69019738e6d2147e5f6e4419835aa2c39e6d60f4d2e5d629ba96";
-      name = "kde-dev-scripts-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kde-dev-scripts-20.08.2.tar.xz";
+      sha256 = "ff1a819991903b09bef3637b579d215e087310e39b98a1a6928e15f193aec056";
+      name = "kde-dev-scripts-20.08.2.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kde-dev-utils-20.08.1.tar.xz";
-      sha256 = "8105a5b911643dca1f0c476c9247282f80e4ea17bae06dcca63ba9638bf5d21d";
-      name = "kde-dev-utils-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kde-dev-utils-20.08.2.tar.xz";
+      sha256 = "21a4a11e102cbbd9fed955720966d7be2f7a615f57c9bf1dfc94ce973d25ffc3";
+      name = "kde-dev-utils-20.08.2.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdeedu-data-20.08.1.tar.xz";
-      sha256 = "d9c10c849f94b8cff7f79747a0594b8050f19d5477799b03f803c4241a9d12b6";
-      name = "kdeedu-data-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdeedu-data-20.08.2.tar.xz";
+      sha256 = "9030c39b92a7500254e8303ce246d2535cd66a203bb96b2670defd5288294ad1";
+      name = "kdeedu-data-20.08.2.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdegraphics-mobipocket-20.08.1.tar.xz";
-      sha256 = "9974c36d90fc23d9a3a7172cf1526dc3671bf90f01f608effe92f64fce53c372";
-      name = "kdegraphics-mobipocket-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdegraphics-mobipocket-20.08.2.tar.xz";
+      sha256 = "8972079756633abe8cbfaa39cdff9d56f89958861e6e418738311bcdc52771a5";
+      name = "kdegraphics-mobipocket-20.08.2.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdegraphics-thumbnailers-20.08.1.tar.xz";
-      sha256 = "8303231f2fc44c071b3f6a477ae5335f2657dbfaba52362529aaba20973a5995";
-      name = "kdegraphics-thumbnailers-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdegraphics-thumbnailers-20.08.2.tar.xz";
+      sha256 = "977cf6c40ba00a8a391a951aab80c55d9615927a1ef4a7bb5eea2f6a83373532";
+      name = "kdegraphics-thumbnailers-20.08.2.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdenetwork-filesharing-20.08.1.tar.xz";
-      sha256 = "e88f4a2f6d7b8a61ebd491eb112f51d50f9949d729022fab01223d6ea36b8a01";
-      name = "kdenetwork-filesharing-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdenetwork-filesharing-20.08.2.tar.xz";
+      sha256 = "f909ee8433baf906b6c23af4747d83ae3e151e213585abe01282213012228b3a";
+      name = "kdenetwork-filesharing-20.08.2.tar.xz";
     };
   };
   kdenlive = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdenlive-20.08.1.tar.xz";
-      sha256 = "f99e3f22c3d5e41a3ca251299d010ac2bc44933091c25d360104d562a1090873";
-      name = "kdenlive-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdenlive-20.08.2.tar.xz";
+      sha256 = "535df45a148f0f94271e045ef0c93575fded83da7a2b727aeaf90e61e1d7c418";
+      name = "kdenlive-20.08.2.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdepim-addons-20.08.1.tar.xz";
-      sha256 = "a0bddcbe8f8f6d8c878a6b5634578522a8d485e424cf37d35bc17df9a1ffc7c2";
-      name = "kdepim-addons-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdepim-addons-20.08.2.tar.xz";
+      sha256 = "f7ab0d9ee2b9351959199f8903c447c6cb82fd58d642b7039cd2b8e324038b01";
+      name = "kdepim-addons-20.08.2.tar.xz";
     };
   };
   kdepim-apps-libs = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdepim-apps-libs-20.08.1.tar.xz";
-      sha256 = "a0664933b3b5ff20747bf2adec9fbbecf22935129349208430d53e8c9bf5b5bb";
-      name = "kdepim-apps-libs-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdepim-apps-libs-20.08.2.tar.xz";
+      sha256 = "8c3ebdf7072d3a5a6ea2921697b28aa27e51ba43db152ea83a07b4b13c282434";
+      name = "kdepim-apps-libs-20.08.2.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdepim-runtime-20.08.1.tar.xz";
-      sha256 = "27a4c04dcf2eac4108a43acbdd57e3a8aa1da92443a3e7977329d0218da05c24";
-      name = "kdepim-runtime-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdepim-runtime-20.08.2.tar.xz";
+      sha256 = "3b475dfd394d5c09991eb4e1f0ddb3e2aa1f586ed75aa7961b159ef712d80132";
+      name = "kdepim-runtime-20.08.2.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdesdk-kioslaves-20.08.1.tar.xz";
-      sha256 = "528cce0ea4c7c9fd53a604591eae4a70d39421ebbe62ed59bcbc80072f95c19f";
-      name = "kdesdk-kioslaves-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdesdk-kioslaves-20.08.2.tar.xz";
+      sha256 = "5e79532675d717d906f6b43eea1cac20fe1513bcf497696251c00fe74e2f0f58";
+      name = "kdesdk-kioslaves-20.08.2.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdesdk-thumbnailers-20.08.1.tar.xz";
-      sha256 = "5b189182f2a734f82e67e23d3293e694c51f97c0a9acd1ec5498442a3d2a3804";
-      name = "kdesdk-thumbnailers-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdesdk-thumbnailers-20.08.2.tar.xz";
+      sha256 = "0b6809e2469d7057b6d674d5950fd4f6243a1d3d185452212522880c714c1c63";
+      name = "kdesdk-thumbnailers-20.08.2.tar.xz";
     };
   };
   kdf = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdf-20.08.1.tar.xz";
-      sha256 = "c100c87e9dbfcf7c12ce78d743f4ce3a2ec2bf3c1b0d969af1285255071195a5";
-      name = "kdf-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdf-20.08.2.tar.xz";
+      sha256 = "b33c043c18ae7b80b40e73c0a34759540724fa81815a6afa1e91e3ad44aec27e";
+      name = "kdf-20.08.2.tar.xz";
     };
   };
   kdialog = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdialog-20.08.1.tar.xz";
-      sha256 = "089e8a8e85a9021b830e9b8a19ecb1999781915a716c9c2b3c99894a5d1c8dcf";
-      name = "kdialog-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdialog-20.08.2.tar.xz";
+      sha256 = "1bb808c2d01680e2396f282b798d9e22d2c1722f992c672eaf7451bf83a5d459";
+      name = "kdialog-20.08.2.tar.xz";
     };
   };
   kdiamond = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kdiamond-20.08.1.tar.xz";
-      sha256 = "1629dc6f70873b42081bd75dbf858da56d380c32925ddd49bd2110d458cb4b23";
-      name = "kdiamond-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kdiamond-20.08.2.tar.xz";
+      sha256 = "7bfc2b24d86c663bff719156ba20cd36017f1df647ee6769b5101aa6ab3e3e21";
+      name = "kdiamond-20.08.2.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/keditbookmarks-20.08.1.tar.xz";
-      sha256 = "8bfedffae0332dbfb611d25f3178ab7babe374155cce7c44e1aaa841934c3123";
-      name = "keditbookmarks-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/keditbookmarks-20.08.2.tar.xz";
+      sha256 = "87d72e78c907e7829a642364f3a49dd0f0dea0c76e7a5c524a67f957dca94b9b";
+      name = "keditbookmarks-20.08.2.tar.xz";
     };
   };
   kfind = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kfind-20.08.1.tar.xz";
-      sha256 = "e49412d0eae6f77369b96ee7fa5902252294d03da1e8782460d4bba5be6bb149";
-      name = "kfind-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kfind-20.08.2.tar.xz";
+      sha256 = "2381bbe7793a666fa9463aead1246dc4244409f68375f6d75e1423be15b42d74";
+      name = "kfind-20.08.2.tar.xz";
     };
   };
   kfloppy = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kfloppy-20.08.1.tar.xz";
-      sha256 = "cfbe396c252acc23a929d05fe1a71099bc19ee3ab55f4f40e47780cf871852c5";
-      name = "kfloppy-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kfloppy-20.08.2.tar.xz";
+      sha256 = "7f624d03dc3dc5099ac1479148800043195fa6c0e3bb6d7efcb452a76e99e191";
+      name = "kfloppy-20.08.2.tar.xz";
     };
   };
   kfourinline = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kfourinline-20.08.1.tar.xz";
-      sha256 = "2c65dcc685d7e46da73e53ac3ab250ef4d1738bb85aa6f1b09160ff2ece364a2";
-      name = "kfourinline-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kfourinline-20.08.2.tar.xz";
+      sha256 = "aed2ecdb40b2e3d5452b183a1817216373d32a0aab4eff02f6c823a6f8d801eb";
+      name = "kfourinline-20.08.2.tar.xz";
     };
   };
   kgeography = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kgeography-20.08.1.tar.xz";
-      sha256 = "f7ce4c6a00f18558aa04f4af0b71e45efc10c67f0b3454c5f0b2527a43133d30";
-      name = "kgeography-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kgeography-20.08.2.tar.xz";
+      sha256 = "82c4798f3184c77d0be63aeb5e86c84240c9cb0aa0e66ff57f92c0b5c3748f19";
+      name = "kgeography-20.08.2.tar.xz";
     };
   };
   kget = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kget-20.08.1.tar.xz";
-      sha256 = "efbfc08a5a4ed3974bbdab20c5eae07cdb70f7f42e9de1c75651a57511d7e576";
-      name = "kget-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kget-20.08.2.tar.xz";
+      sha256 = "42993095d6325e921b6ed36f4b0a2153ffd5d68cfa3e6d3ced2db09e2a6aabb8";
+      name = "kget-20.08.2.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kgoldrunner-20.08.1.tar.xz";
-      sha256 = "40380c0d3b65e06cdb9d9ca3791c10e0d2d300856cc49a7b3da0145b7651274b";
-      name = "kgoldrunner-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kgoldrunner-20.08.2.tar.xz";
+      sha256 = "4bbcfcf5cf810e0b1f78e1a88d222631c07401187fb327deaa5ab6658483d351";
+      name = "kgoldrunner-20.08.2.tar.xz";
     };
   };
   kgpg = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kgpg-20.08.1.tar.xz";
-      sha256 = "6b926c2adf896c3f68402ec10faf8db1e5f7c7b9fa8c1c26f9021d1fb0c975b0";
-      name = "kgpg-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kgpg-20.08.2.tar.xz";
+      sha256 = "fc4ec5c38c3bdb02a399f0eb1e75da356a523ada369d5410c2f4e7f5f14a508f";
+      name = "kgpg-20.08.2.tar.xz";
     };
   };
   khangman = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/khangman-20.08.1.tar.xz";
-      sha256 = "fe94116ea833295a46c59a7420676925bb1038e7da86f6369d452087add40868";
-      name = "khangman-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/khangman-20.08.2.tar.xz";
+      sha256 = "7ff30ecbab7c9e8f44b7e8c3887ec78a918c919ce902005aeb7fb969ac995b28";
+      name = "khangman-20.08.2.tar.xz";
     };
   };
   khelpcenter = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/khelpcenter-20.08.1.tar.xz";
-      sha256 = "217b433c1a5da966ad5dab1e89e2e719632f1e035ab92cce094c5f0848bb6e39";
-      name = "khelpcenter-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/khelpcenter-20.08.2.tar.xz";
+      sha256 = "36051a4352a05dd9b74b4e325c0e16e30d6bd8b48d6c3d13980b39a77aab4e2d";
+      name = "khelpcenter-20.08.2.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kidentitymanagement-20.08.1.tar.xz";
-      sha256 = "3b34e029e99647d6742825633682ab8a5eecbe102e34ea2472cb53afb853840d";
-      name = "kidentitymanagement-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kidentitymanagement-20.08.2.tar.xz";
+      sha256 = "17a1fd47d91289519cafb12c0d917b4775496ada447cb6f4ba56dc42446152ec";
+      name = "kidentitymanagement-20.08.2.tar.xz";
     };
   };
   kig = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kig-20.08.1.tar.xz";
-      sha256 = "f318d346cd152e62ae892ade31a784f0b7b823c56fdfd64e05a330072ad95745";
-      name = "kig-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kig-20.08.2.tar.xz";
+      sha256 = "401832d384e47ea6daf310f7e823ae6b8a55bc117b7570bd4bf36261d01587f5";
+      name = "kig-20.08.2.tar.xz";
     };
   };
   kigo = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kigo-20.08.1.tar.xz";
-      sha256 = "58fa166a487c855d300c8a33758928131fc4db80cbda19a08e3de918335d2bdb";
-      name = "kigo-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kigo-20.08.2.tar.xz";
+      sha256 = "b9e6edd2e35e57edb3d89bb76f1d7e4a9e7f8fb64644b58012543a367834aa60";
+      name = "kigo-20.08.2.tar.xz";
     };
   };
   killbots = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/killbots-20.08.1.tar.xz";
-      sha256 = "252636f4df2af0e087f4d604f76c5d8702c38392d821281a0f6283be4e429af9";
-      name = "killbots-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/killbots-20.08.2.tar.xz";
+      sha256 = "332ebd24be6ea62c8621aeaa5b200d6ebf03ae0198a06693b36b2c80cac89d95";
+      name = "killbots-20.08.2.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kimagemapeditor-20.08.1.tar.xz";
-      sha256 = "bf391d0812e0f2dce6a11481972cf9d04f14d0bf92cad7210fa35a1fa0edf230";
-      name = "kimagemapeditor-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kimagemapeditor-20.08.2.tar.xz";
+      sha256 = "fd8272978a7c3a1d95b20a5ec57ccf00d740a8d6eb483f0a204d03669215309c";
+      name = "kimagemapeditor-20.08.2.tar.xz";
     };
   };
   kimap = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kimap-20.08.1.tar.xz";
-      sha256 = "eae645ae2535c2612556e8938011cc478054c032126bb55683b95127d1b94741";
-      name = "kimap-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kimap-20.08.2.tar.xz";
+      sha256 = "bda4f4b4e94481b70cec270655c0fd2888da51106d80c0388ae5c0dc5d36e092";
+      name = "kimap-20.08.2.tar.xz";
     };
   };
   kio-extras = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kio-extras-20.08.1.tar.xz";
-      sha256 = "1122635926052f34fd35d8aeef9c3c1d892690d8372f2b7d902e6449cdab988a";
-      name = "kio-extras-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kio-extras-20.08.2.tar.xz";
+      sha256 = "9d4b9cb5a4002ad2127c5c5c4d25ff95d53de32ea08348e8dc40fe83d950076e";
+      name = "kio-extras-20.08.2.tar.xz";
     };
   };
   kio-gdrive = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kio-gdrive-20.08.1.tar.xz";
-      sha256 = "5104136948ee60cd527109bb9e8830e6a12f6062a29f34bc995b2625b0280825";
-      name = "kio-gdrive-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kio-gdrive-20.08.2.tar.xz";
+      sha256 = "71047e9f8e5ad9317cc3dbf1de2d121f322b5d968d3685351ef0d2aabe2f46ca";
+      name = "kio-gdrive-20.08.2.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kipi-plugins-20.08.1.tar.xz";
-      sha256 = "b7d8f1aa087006a48d9bd7ec036ab4779e898e3b02692c91342439747cad6c5c";
-      name = "kipi-plugins-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kipi-plugins-20.08.2.tar.xz";
+      sha256 = "89de8f75dd01e2130c1e651bd04717ce4d35768202ae3e825c93c75c8312e583";
+      name = "kipi-plugins-20.08.2.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kirigami-gallery-20.08.1.tar.xz";
-      sha256 = "497886cc5a8483f068a642ce19df19f69fd105a4fb583f1a9898c885659c9df5";
-      name = "kirigami-gallery-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kirigami-gallery-20.08.2.tar.xz";
+      sha256 = "0b4a5cec32bdfaef42b790f1d249d227c9daf56e0f3c1e302d33ccaa485c28e5";
+      name = "kirigami-gallery-20.08.2.tar.xz";
     };
   };
   kiriki = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kiriki-20.08.1.tar.xz";
-      sha256 = "51e77cbbf6a0c60487d72b03b28c08409d0b6134c983d9e420fbc4d7f73223e8";
-      name = "kiriki-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kiriki-20.08.2.tar.xz";
+      sha256 = "42081e39c045bd830c6a79938a83690ea5641aa9e5437645234441da2d29b053";
+      name = "kiriki-20.08.2.tar.xz";
     };
   };
   kiten = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kiten-20.08.1.tar.xz";
-      sha256 = "f3764d090db8027746e83c326e833680fd669dca66dd6af095ba120e66de2901";
-      name = "kiten-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kiten-20.08.2.tar.xz";
+      sha256 = "a7285d5880611da2202d0e3f8f2bf860f275932d3da54ff7aecc793225f7ad7d";
+      name = "kiten-20.08.2.tar.xz";
     };
   };
   kitinerary = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kitinerary-20.08.1.tar.xz";
-      sha256 = "d3e0b6130b5c603bc1494404fa91ed1995e9142d66e4c3ddd5d2c79fdea856e4";
-      name = "kitinerary-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kitinerary-20.08.2.tar.xz";
+      sha256 = "69d8b5f64774860e5098c1dbfb06d274da4379c04383c4f0f0e412481c48fa27";
+      name = "kitinerary-20.08.2.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kjumpingcube-20.08.1.tar.xz";
-      sha256 = "226424cd21f75c499eedd15460a466988b179312467ed16437df87be494d9fbc";
-      name = "kjumpingcube-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kjumpingcube-20.08.2.tar.xz";
+      sha256 = "0edba227e24b8aeda4e75bc6c25ad25b50ac624b5319a64ce20d6c3f7691a48a";
+      name = "kjumpingcube-20.08.2.tar.xz";
     };
   };
   kldap = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kldap-20.08.1.tar.xz";
-      sha256 = "098fb07b280ef25dcf04b18f627223014257f6c0874b2959f2a8e68cacdb74a7";
-      name = "kldap-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kldap-20.08.2.tar.xz";
+      sha256 = "dfc8bd59d837766e741b33cf8486256b7bd5ffc33ff2aab240d47b4766ec8489";
+      name = "kldap-20.08.2.tar.xz";
     };
   };
   kleopatra = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kleopatra-20.08.1.tar.xz";
-      sha256 = "e7bc3ce03ad5431e4289360ba6b701e38d53b60de58fd1ed358480cec48657a6";
-      name = "kleopatra-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kleopatra-20.08.2.tar.xz";
+      sha256 = "70ffa2d1549b6b4674a9cd92052174002d81fb236cfbf872187c6e3616191ba2";
+      name = "kleopatra-20.08.2.tar.xz";
     };
   };
   klettres = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/klettres-20.08.1.tar.xz";
-      sha256 = "f29d6df1de3562731f246a892caaa493b9bccc9d1317a948e03ad12cb8c80c06";
-      name = "klettres-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/klettres-20.08.2.tar.xz";
+      sha256 = "9cef7dea479d27644e4812157d4cf3993dc3ee84b847377a17cec305a03a3156";
+      name = "klettres-20.08.2.tar.xz";
     };
   };
   klickety = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/klickety-20.08.1.tar.xz";
-      sha256 = "a9b63b3e944faba25498e981c06981dc354f9acd34b77f46fe2bebef388bf2cb";
-      name = "klickety-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/klickety-20.08.2.tar.xz";
+      sha256 = "90665c5aeda52f55af8dcf3936e557ba431d9e48c6be361eaeb82117b6213a33";
+      name = "klickety-20.08.2.tar.xz";
     };
   };
   klines = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/klines-20.08.1.tar.xz";
-      sha256 = "d16650d7d44f48f47700dcb8fe97519dd28fe7213052636363d281c24f46a2b9";
-      name = "klines-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/klines-20.08.2.tar.xz";
+      sha256 = "8e8b897cdc3c31fada1dd2635da211def507f47c8062c6458f559283ae470edb";
+      name = "klines-20.08.2.tar.xz";
     };
   };
   kmag = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmag-20.08.1.tar.xz";
-      sha256 = "0aaaf19af2c943ae460dbcc1984bae167b79be287802e8a6faa6aaaed11718f3";
-      name = "kmag-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmag-20.08.2.tar.xz";
+      sha256 = "8e933e8ebbf0ab956e2a251312e3d4e027848dc2f2b4e8a7c7250b8fdf10ca05";
+      name = "kmag-20.08.2.tar.xz";
     };
   };
   kmahjongg = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmahjongg-20.08.1.tar.xz";
-      sha256 = "842b3d2e9c60b6a8e6bb6d09f26db49d988889ec3962ac40aea0e79434c2eb43";
-      name = "kmahjongg-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmahjongg-20.08.2.tar.xz";
+      sha256 = "98e34794560a062bd22950acc583b77a6f8d1d28aceb863604f5a6c98c6cc80d";
+      name = "kmahjongg-20.08.2.tar.xz";
     };
   };
   kmail = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmail-20.08.1.tar.xz";
-      sha256 = "7ba5854e36e2ed752baa3a1ac15d1a6227699da6f5bdca3c250f22226b4d902b";
-      name = "kmail-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmail-20.08.2.tar.xz";
+      sha256 = "ff179b89836236174cd587ce4ea2a4320e58345d45582cb157186cfbb01e58f2";
+      name = "kmail-20.08.2.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmail-account-wizard-20.08.1.tar.xz";
-      sha256 = "7a1dc9ad542c0e54b80e955a162888c7d4b6bababcf02681d54af4480c03bd8d";
-      name = "kmail-account-wizard-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmail-account-wizard-20.08.2.tar.xz";
+      sha256 = "7cdb9b60b1a646f0c5c0d0e7dfbe357a9f66bb305afbccbb4b421ee6f6941df8";
+      name = "kmail-account-wizard-20.08.2.tar.xz";
     };
   };
   kmailtransport = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmailtransport-20.08.1.tar.xz";
-      sha256 = "4cabad74e141891546b0f47f44030eeb59fb63257a5c0d1c12124815ebf710c1";
-      name = "kmailtransport-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmailtransport-20.08.2.tar.xz";
+      sha256 = "8b12836b1ca0243819680cba73c809c491c5e7a8d1ea9d9dc23e7338aed69a0c";
+      name = "kmailtransport-20.08.2.tar.xz";
     };
   };
   kmbox = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmbox-20.08.1.tar.xz";
-      sha256 = "df77b2bf448d1ce21ff4a816f1164297519b48cd60200cea0edae6e72a81a19b";
-      name = "kmbox-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmbox-20.08.2.tar.xz";
+      sha256 = "4fa1ad98368130dcdc8ad71dba3084c489130b1e8fc4a2b119ffc6f56595ba73";
+      name = "kmbox-20.08.2.tar.xz";
     };
   };
   kmime = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmime-20.08.1.tar.xz";
-      sha256 = "cd0beaa46040d571b505d07853be76f099289e22d99ce4884695d4d645dfbe8c";
-      name = "kmime-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmime-20.08.2.tar.xz";
+      sha256 = "9f23e2814e62ae6c4a67fd3223315ef875776f9d098b4d11c7d06a726a725435";
+      name = "kmime-20.08.2.tar.xz";
     };
   };
   kmines = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmines-20.08.1.tar.xz";
-      sha256 = "eeb58941c94330f3ffdca60c0ca84d8ebcc9c6c355737217b521c54e50c650cd";
-      name = "kmines-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmines-20.08.2.tar.xz";
+      sha256 = "6b07a812497a665505b6b1e3a84ac0818f1a5e5757146cdbceec55e94bb41753";
+      name = "kmines-20.08.2.tar.xz";
     };
   };
   kmix = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmix-20.08.1.tar.xz";
-      sha256 = "012d14adbb200a7e66ddbc9ebc8e18c4e5082ae24dea6ab22284b6c730a1b472";
-      name = "kmix-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmix-20.08.2.tar.xz";
+      sha256 = "73453f02a72384382fd7449215189e22b5e1600e9ef0c9cc910f3fddd09beb85";
+      name = "kmix-20.08.2.tar.xz";
     };
   };
   kmousetool = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmousetool-20.08.1.tar.xz";
-      sha256 = "c1d769efdd318eb1e29905122c579c72a41da74b45a076b79cf177b1800e1464";
-      name = "kmousetool-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmousetool-20.08.2.tar.xz";
+      sha256 = "c1f70c172dc2ad7d937db5e6355522082f924ba45e7aac1bbb1c04e230f1d406";
+      name = "kmousetool-20.08.2.tar.xz";
     };
   };
   kmouth = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmouth-20.08.1.tar.xz";
-      sha256 = "d87fb47fa00c54f13cdaef33d15cc74f31d7009d4a8d988902b62c698d1e2c2c";
-      name = "kmouth-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmouth-20.08.2.tar.xz";
+      sha256 = "d206afecdbe5f063dfbf805956f475e95c7b0fd548fd5f1b4fd7376ea6747e96";
+      name = "kmouth-20.08.2.tar.xz";
     };
   };
   kmplot = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kmplot-20.08.1.tar.xz";
-      sha256 = "6d294a89f9e0fc42262ada6d71ba5abaeb756beb194e71f1852e18ae2b85456e";
-      name = "kmplot-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kmplot-20.08.2.tar.xz";
+      sha256 = "c3bc34a2d1bf4620745009b49b6541a16ac64eb3d1e6cf1ba936b14aa5d02e2b";
+      name = "kmplot-20.08.2.tar.xz";
     };
   };
   knavalbattle = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/knavalbattle-20.08.1.tar.xz";
-      sha256 = "e0cbffc5643aac302c53cfd957eefa7f89486fdd0d9c55b74f39d733a0ac3b65";
-      name = "knavalbattle-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/knavalbattle-20.08.2.tar.xz";
+      sha256 = "2cd91ee61193810eee62e47f38f590e81b03287083f31564e0ebfd893d339ac9";
+      name = "knavalbattle-20.08.2.tar.xz";
     };
   };
   knetwalk = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/knetwalk-20.08.1.tar.xz";
-      sha256 = "30cbf7bdf5f875ce172a382ef7da8e74803015017c6cd525cb6c288defac020d";
-      name = "knetwalk-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/knetwalk-20.08.2.tar.xz";
+      sha256 = "4a97f4b1af463e5e50698e8ac089cf6933fb66f25dd9b0fae3f1b1a51cbca3c0";
+      name = "knetwalk-20.08.2.tar.xz";
     };
   };
   knights = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/knights-20.08.1.tar.xz";
-      sha256 = "58518d8ecce5744fdf68c18e0803f48cb912fa29c5ea93ed6ccd2d4d320f722d";
-      name = "knights-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/knights-20.08.2.tar.xz";
+      sha256 = "b62dda6e8b5bb85cc814f7244e39806e38c266be1bf3090eb6de59c8141fc1d4";
+      name = "knights-20.08.2.tar.xz";
     };
   };
   knotes = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/knotes-20.08.1.tar.xz";
-      sha256 = "7d066a34d46684f258481466875d18f99a9000d66dec36f7dcab92790f6c57bb";
-      name = "knotes-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/knotes-20.08.2.tar.xz";
+      sha256 = "1e61f2c8b5fe9075f07be16543e3a7310bf533b6c2446f162f7196b41e3e6ecb";
+      name = "knotes-20.08.2.tar.xz";
     };
   };
   kolf = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kolf-20.08.1.tar.xz";
-      sha256 = "04d117895a6504d6138d1e3cd3157dd3318ba93eefd749182556344650f6a2f8";
-      name = "kolf-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kolf-20.08.2.tar.xz";
+      sha256 = "834c1c6cdc62e650c7b0d36db26387cc4ebe2bb4b2e8fa06c0bf461e3a1e8c64";
+      name = "kolf-20.08.2.tar.xz";
     };
   };
   kollision = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kollision-20.08.1.tar.xz";
-      sha256 = "858d69131951734181b449ce48498b3b843634eb8c069c932042b3c0f862f98c";
-      name = "kollision-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kollision-20.08.2.tar.xz";
+      sha256 = "9b6829f49d9baa89596ef8649996724db72c3c8eb793b9b6afc80dc0d07c0421";
+      name = "kollision-20.08.2.tar.xz";
     };
   };
   kolourpaint = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kolourpaint-20.08.1.tar.xz";
-      sha256 = "7de98e081f13fb9f8a73932d5e8ce6f1cfd73e345fa28d03f515cad69f1b8bae";
-      name = "kolourpaint-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kolourpaint-20.08.2.tar.xz";
+      sha256 = "fbcd875a4a407d9b1e5a637d4947bacfb50f39e10af3327f30fdbb953528aae0";
+      name = "kolourpaint-20.08.2.tar.xz";
     };
   };
   kompare = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kompare-20.08.1.tar.xz";
-      sha256 = "6e9109f1b24b3d79dec3d70c75357a67d16ab35081bcf7e4b842981b84796aa2";
-      name = "kompare-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kompare-20.08.2.tar.xz";
+      sha256 = "4e52cb2c9e35e90fe77bfb23bd10c1931c56b11e3fec06c215730d60c47e8550";
+      name = "kompare-20.08.2.tar.xz";
     };
   };
   konqueror = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/konqueror-20.08.1.tar.xz";
-      sha256 = "e3aac062d9e431e63a861ecf5a1d577b11a154faaed5bd95ef6b69b4fc8a34e9";
-      name = "konqueror-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/konqueror-20.08.2.tar.xz";
+      sha256 = "f0622aa67ad0028e28bd6129688aab8946fb49492f0b335f6624ab7d4ef239d7";
+      name = "konqueror-20.08.2.tar.xz";
     };
   };
   konquest = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/konquest-20.08.1.tar.xz";
-      sha256 = "cad87dd698bd1ebc0279216614f7fa7c3d3f36d545683a69f1ceafe9e279bbfe";
-      name = "konquest-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/konquest-20.08.2.tar.xz";
+      sha256 = "cf97a6961b15b39f5bcdf541e52c137f1d67d0fa5ee259922b4e762edc4491eb";
+      name = "konquest-20.08.2.tar.xz";
     };
   };
   konsole = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/konsole-20.08.1.tar.xz";
-      sha256 = "bdd82f9104b2f76c53bdbdef613391719b70719a132d24f12e5f620e1c9313d1";
-      name = "konsole-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/konsole-20.08.2.tar.xz";
+      sha256 = "af08ac7666f1ba7c407205f32aaaf015329621247502e80d8df4abe103148951";
+      name = "konsole-20.08.2.tar.xz";
     };
   };
   kontact = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kontact-20.08.1.tar.xz";
-      sha256 = "36c33eb5685c22f94257e86ff760d1aa225ae6e2d69402a2b653c54627c7cbde";
-      name = "kontact-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kontact-20.08.2.tar.xz";
+      sha256 = "232d9880df74ce0c7697f08b53ef9512ac9c11c3b04142ba7ba4b95091cb5396";
+      name = "kontact-20.08.2.tar.xz";
     };
   };
   kontactinterface = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kontactinterface-20.08.1.tar.xz";
-      sha256 = "8272d0c17423a15e56e9e6d3979ee3017fd02ed996b8b6902c47312276ffeb51";
-      name = "kontactinterface-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kontactinterface-20.08.2.tar.xz";
+      sha256 = "72d53dbea9db0b1f5654e13c18b4da3d256c6b9d08dfe4581cdf73e3552d2a07";
+      name = "kontactinterface-20.08.2.tar.xz";
     };
   };
   kopete = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kopete-20.08.1.tar.xz";
-      sha256 = "9846baae28d723963927d231716e2a8bc19795bac920958b688b48394ef5bc05";
-      name = "kopete-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kopete-20.08.2.tar.xz";
+      sha256 = "05f5d6236d4c96b9ce7ba5f24f4e06d7263a78cac27368a7e6b3e5075d42fbb1";
+      name = "kopete-20.08.2.tar.xz";
     };
   };
   korganizer = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/korganizer-20.08.1.tar.xz";
-      sha256 = "e693d895b36575f2a73c36ceaafadf81465bbf9b03c74da27f5273a2e7e3670e";
-      name = "korganizer-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/korganizer-20.08.2.tar.xz";
+      sha256 = "4f719ec12c52fc313997a187439dc6888fd030a4a1b2357db000abc0a19527b2";
+      name = "korganizer-20.08.2.tar.xz";
     };
   };
   kpat = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kpat-20.08.1.tar.xz";
-      sha256 = "2c23ee028c03c5c210b110a2ad253aa7d91c5a0abcb101eb2b3f4c640092463c";
-      name = "kpat-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kpat-20.08.2.tar.xz";
+      sha256 = "e4aaed4e876212a926a05d252dab9d01f240d829e383c6072e168a4f78e6d446";
+      name = "kpat-20.08.2.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kpimtextedit-20.08.1.tar.xz";
-      sha256 = "2664e6cbe520fa345e18db071dd5b8a5b4cf9b0fc7317eb04849005228666189";
-      name = "kpimtextedit-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kpimtextedit-20.08.2.tar.xz";
+      sha256 = "2dfbcdd53669c812234346b4d31b61af9c510bb4cb0b9912decea8d3c4d406a6";
+      name = "kpimtextedit-20.08.2.tar.xz";
     };
   };
   kpkpass = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kpkpass-20.08.1.tar.xz";
-      sha256 = "76012e5bdd4cc434313a0f311acec8f7c798542008cd8efa71fcdf04fb77e55b";
-      name = "kpkpass-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kpkpass-20.08.2.tar.xz";
+      sha256 = "ed699c75128ef299f06d699c80c69ac9529fa044db6f18a39d54a5e70d85108c";
+      name = "kpkpass-20.08.2.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kqtquickcharts-20.08.1.tar.xz";
-      sha256 = "ea931bfefcc04bee03bff2498b92ca1a390967bbc5366c739d1a7cde6bb75820";
-      name = "kqtquickcharts-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kqtquickcharts-20.08.2.tar.xz";
+      sha256 = "2ba593a65c143cb56a3030f7ee0cced2df7c7e9431cebf1ae93be51c68b4c3b4";
+      name = "kqtquickcharts-20.08.2.tar.xz";
     };
   };
   krdc = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/krdc-20.08.1.tar.xz";
-      sha256 = "7b1fa57be31a3534099e7f203ef9afde23c86c4bbed1072a9d1164a3cf5e1e20";
-      name = "krdc-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/krdc-20.08.2.tar.xz";
+      sha256 = "52ddd68bdb1b356be341cf3bc5405cb965f4e4f3da8bf4b28bfb62c7db21ac5f";
+      name = "krdc-20.08.2.tar.xz";
     };
   };
   kreversi = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kreversi-20.08.1.tar.xz";
-      sha256 = "5da68ddd37f5dbd4e1c94d1641c69f0e9b4e99eff3cdafcdcbac1139ca517315";
-      name = "kreversi-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kreversi-20.08.2.tar.xz";
+      sha256 = "22824dca9c8f07145a6fd9b7386867d8a8efff0fda6752f377230381a1cc71c2";
+      name = "kreversi-20.08.2.tar.xz";
     };
   };
   krfb = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/krfb-20.08.1.tar.xz";
-      sha256 = "a80b9bab47f2a7299e33b0e2a10b117605ec1cc572ca72e914c7f01dde383eda";
-      name = "krfb-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/krfb-20.08.2.tar.xz";
+      sha256 = "5e90fb4f3bcf2c48b15ec33634d61464323ab5ce1c156a499f089d862dd041d4";
+      name = "krfb-20.08.2.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kross-interpreters-20.08.1.tar.xz";
-      sha256 = "1fb7d75d83e63d1a7147468dd25eeb6aeb06b4679f126c658a8b40ef257f9a4e";
-      name = "kross-interpreters-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kross-interpreters-20.08.2.tar.xz";
+      sha256 = "82da0302d2d292e86fa924c8bd1d4effb21f763c42c57affaddeff4777c43951";
+      name = "kross-interpreters-20.08.2.tar.xz";
     };
   };
   kruler = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kruler-20.08.1.tar.xz";
-      sha256 = "a9a1f3bd7b02416a393826f7bb810211ef2e14a3628706de735cb88e791d72d1";
-      name = "kruler-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kruler-20.08.2.tar.xz";
+      sha256 = "ede45d9cdf1b514fb20ed3a97877689ec75904438b94735706eb638ba01ca778";
+      name = "kruler-20.08.2.tar.xz";
     };
   };
   kshisen = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kshisen-20.08.1.tar.xz";
-      sha256 = "d53af415ed2f4d202f5a6f965408e39062e39f43acf83b9550b6cf2ecc1f7641";
-      name = "kshisen-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kshisen-20.08.2.tar.xz";
+      sha256 = "d11030b101a409324661adf664d4298f34cc320abff80dba72d112cc3ae2d25d";
+      name = "kshisen-20.08.2.tar.xz";
     };
   };
   ksirk = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ksirk-20.08.1.tar.xz";
-      sha256 = "763d3a8f518365391d2a04943f6efa9c73c388b7701deff300e9e42e4efe848f";
-      name = "ksirk-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ksirk-20.08.2.tar.xz";
+      sha256 = "b7766f0976b3cc112d4c599d91c07d321829c9b1e8ef34d3d21ec4964026854a";
+      name = "ksirk-20.08.2.tar.xz";
     };
   };
   ksmtp = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ksmtp-20.08.1.tar.xz";
-      sha256 = "608d395cd1a046810ebd00f990d6f7c63d66677e7293ef06948ab9d336d2f08f";
-      name = "ksmtp-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ksmtp-20.08.2.tar.xz";
+      sha256 = "5f51e0c025b192719709ae763feeac94df893007b62b5a69b7b95ae9f2fdd8ee";
+      name = "ksmtp-20.08.2.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ksnakeduel-20.08.1.tar.xz";
-      sha256 = "25bb5cfe2ed480b8ee31d9fe2e62272d77e7b8667748eb4f2c855901f718784f";
-      name = "ksnakeduel-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ksnakeduel-20.08.2.tar.xz";
+      sha256 = "b6f0f51f8fad795cd134f9426b1f1ba8ccceb72e304e8ba55e60af471ad282cc";
+      name = "ksnakeduel-20.08.2.tar.xz";
     };
   };
   kspaceduel = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kspaceduel-20.08.1.tar.xz";
-      sha256 = "382def18d1ce6a4333fb47bcd87aed6837382a2b0da2cb8b835d0b34eaed9e38";
-      name = "kspaceduel-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kspaceduel-20.08.2.tar.xz";
+      sha256 = "62b9526c031662c049aa90b06ed3e5e2ce8ae774f271e1f29430f23c1f6cd787";
+      name = "kspaceduel-20.08.2.tar.xz";
     };
   };
   ksquares = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ksquares-20.08.1.tar.xz";
-      sha256 = "163c5c070643e31594ada4e812433eb5f615ef425dddafd515e6c445d821f319";
-      name = "ksquares-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ksquares-20.08.2.tar.xz";
+      sha256 = "e1f9fdfa9a4a8348a65e66d48b7389784a1db6c8799cea453d6da3a2a57aca59";
+      name = "ksquares-20.08.2.tar.xz";
     };
   };
   ksudoku = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ksudoku-20.08.1.tar.xz";
-      sha256 = "e53b694b340f812cd3bdf5126a32a1e71efe0785897c5d15f9e28c68fd794840";
-      name = "ksudoku-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ksudoku-20.08.2.tar.xz";
+      sha256 = "6fed393f734eb27d6c36ad7516bf29ff648d319f08d9f8bdc17a8030842d8e33";
+      name = "ksudoku-20.08.2.tar.xz";
     };
   };
   ksystemlog = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ksystemlog-20.08.1.tar.xz";
-      sha256 = "e0e8bc1cf8ee229206c8a65e30979ba8b72426c8dc2f737f6fecb0dfb36ed21a";
-      name = "ksystemlog-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ksystemlog-20.08.2.tar.xz";
+      sha256 = "63c6a520b63f148de2e3996250a2fef22e1a3ce18e744a699ae21de96a2c4e53";
+      name = "ksystemlog-20.08.2.tar.xz";
     };
   };
   kteatime = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kteatime-20.08.1.tar.xz";
-      sha256 = "23cc14f587e4ae4e3b56f1fb7a2093301df740328e35b25d7fca55d35f012ce5";
-      name = "kteatime-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kteatime-20.08.2.tar.xz";
+      sha256 = "d8e69fdb124e8689c72e4b9fe39226cc49b1ca990478fbb68e02b37f0cd861ac";
+      name = "kteatime-20.08.2.tar.xz";
     };
   };
   ktimer = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktimer-20.08.1.tar.xz";
-      sha256 = "9c7062f9ee64ff49a7c7773fe41cee0899e30f1f47368af73da067e51db6714b";
-      name = "ktimer-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktimer-20.08.2.tar.xz";
+      sha256 = "69293b7296643c6543d0646d14f9c75479f29f129924258957a407b77539a4c2";
+      name = "ktimer-20.08.2.tar.xz";
     };
   };
   ktnef = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktnef-20.08.1.tar.xz";
-      sha256 = "433b232a0c835e7f27c06e6d19856e4f8690c3e3b5c5d63f85172897b2448c81";
-      name = "ktnef-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktnef-20.08.2.tar.xz";
+      sha256 = "ab73736e386c2b52a14fb56f1184479ed1c83c0571e9e8518d2b94b1dcd2e47d";
+      name = "ktnef-20.08.2.tar.xz";
     };
   };
   ktouch = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktouch-20.08.1.tar.xz";
-      sha256 = "e098ebbccca743f678103a9adf54fc388fa4379cc6f667e48259d0b50f56b5fb";
-      name = "ktouch-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktouch-20.08.2.tar.xz";
+      sha256 = "1b073a92343c9a2c772cfaac4e9fa7b6e85750586e3a57da413e33cdba34b5f4";
+      name = "ktouch-20.08.2.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-accounts-kcm-20.08.1.tar.xz";
-      sha256 = "b71f2f654c3cf48e4b4b037a0ae8f6fef5bac9c3483458c0eadf7b3253577504";
-      name = "ktp-accounts-kcm-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-accounts-kcm-20.08.2.tar.xz";
+      sha256 = "df709ee612ff4c71a43197762b8a9d296b5a43f6e0afe4d9c8d0bd88eef81465";
+      name = "ktp-accounts-kcm-20.08.2.tar.xz";
     };
   };
   ktp-approver = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-approver-20.08.1.tar.xz";
-      sha256 = "51296f4d84585ba63d4c72cdbdee6e2b436a1aff8ce6b475a8c9a81766856b39";
-      name = "ktp-approver-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-approver-20.08.2.tar.xz";
+      sha256 = "054db02db679d0a4600632700cdd57cae539159a0a8f01f479ea337d33d8a6bd";
+      name = "ktp-approver-20.08.2.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-auth-handler-20.08.1.tar.xz";
-      sha256 = "6c1c006a3381caeebdfc37886b91b598153f3778567303d8a031e84599c9d582";
-      name = "ktp-auth-handler-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-auth-handler-20.08.2.tar.xz";
+      sha256 = "a61557efa800d42fd8ed14efdb09d43310212976d737a4fd5272f502bacbc371";
+      name = "ktp-auth-handler-20.08.2.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-call-ui-20.08.1.tar.xz";
-      sha256 = "feb783be10b0792cb0c59456a00607b2d595e8bef90f0b4ec79dd070596d413c";
-      name = "ktp-call-ui-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-call-ui-20.08.2.tar.xz";
+      sha256 = "ecd38d8b9f24cf620b8c9c1935328af3142199c6aa87e69c734e43096e492ac5";
+      name = "ktp-call-ui-20.08.2.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-common-internals-20.08.1.tar.xz";
-      sha256 = "5750bde4950fbe26f06a306aa642c9c501d4f0e1b41b57234d9e36b189a91d1b";
-      name = "ktp-common-internals-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-common-internals-20.08.2.tar.xz";
+      sha256 = "807fcd6f9c415a0799057435f997e143e9584a94577f9afaa7fcc6a4197e7cb0";
+      name = "ktp-common-internals-20.08.2.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-contact-list-20.08.1.tar.xz";
-      sha256 = "809db5ff05c1ec632109be408cef987532193b1b0bea69d6a9286c12ccfe19a1";
-      name = "ktp-contact-list-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-contact-list-20.08.2.tar.xz";
+      sha256 = "214d73532dc855a8a4b68730adf5cbd046aae89f2ee2ad5d9a4c25b4eff6acb0";
+      name = "ktp-contact-list-20.08.2.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-contact-runner-20.08.1.tar.xz";
-      sha256 = "a9e761fd35545cfffade088e33f4358e2743416f61e9ba490f21f3b04193158f";
-      name = "ktp-contact-runner-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-contact-runner-20.08.2.tar.xz";
+      sha256 = "8e40e4ab7ce2c1c382b109a15f88f5e1c7d147c76ed36ca05ef6d9f3f58d3d45";
+      name = "ktp-contact-runner-20.08.2.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-desktop-applets-20.08.1.tar.xz";
-      sha256 = "d6ffd4b29c4fb977937cb47d55d023012be1a9b3602dd1f1628eba7d8c9167cd";
-      name = "ktp-desktop-applets-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-desktop-applets-20.08.2.tar.xz";
+      sha256 = "b0884360be80f89dee3852b023055220e3cdab2f422cc3812eda31169fba6298";
+      name = "ktp-desktop-applets-20.08.2.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-filetransfer-handler-20.08.1.tar.xz";
-      sha256 = "35495c1d18a7b65496fcf17cade4a81e4795b1603c380c036dda0a7626f66312";
-      name = "ktp-filetransfer-handler-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-filetransfer-handler-20.08.2.tar.xz";
+      sha256 = "c2ec5fd2a5746dd8ce1371c503c51feee206d8dfe7ca8cdaa71b8e925636a97c";
+      name = "ktp-filetransfer-handler-20.08.2.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-kded-module-20.08.1.tar.xz";
-      sha256 = "247e4047e3955e21066ec461a5374d1b3d925bb92b42adc46d3711e542ad7e04";
-      name = "ktp-kded-module-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-kded-module-20.08.2.tar.xz";
+      sha256 = "307285b2d4e04c244691a6f2a285aec8ada26e0b01eb1fdbf2bc1da57b05828a";
+      name = "ktp-kded-module-20.08.2.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-send-file-20.08.1.tar.xz";
-      sha256 = "b3786c6e6f09ea086c2d94d2a6dd653e45bab8f984c6287c39f5e0134d6ffee1";
-      name = "ktp-send-file-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-send-file-20.08.2.tar.xz";
+      sha256 = "6c3fb09112d439ce2f0db3acdbc766e8a914d4dc7cbb6ab709922f8e95f2f0e1";
+      name = "ktp-send-file-20.08.2.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktp-text-ui-20.08.1.tar.xz";
-      sha256 = "5cdb88f55b6ca1a1053b8d5b2604eff681c5f3558f0c8037034c264793de8c02";
-      name = "ktp-text-ui-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktp-text-ui-20.08.2.tar.xz";
+      sha256 = "0f10612e08bc1ee04fb0a538337d760d7b79b5dac37bb58275998d16dbb5415c";
+      name = "ktp-text-ui-20.08.2.tar.xz";
     };
   };
   ktuberling = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/ktuberling-20.08.1.tar.xz";
-      sha256 = "62d3d8db7b1db7f9d58df44acf61342ce42fb081038fc48f8f6e45d9167ceaa6";
-      name = "ktuberling-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/ktuberling-20.08.2.tar.xz";
+      sha256 = "f9e4a0de3b92d015f8e7b862badf4bbf11b3ce2727aa607384a009247e7b7fad";
+      name = "ktuberling-20.08.2.tar.xz";
     };
   };
   kturtle = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kturtle-20.08.1.tar.xz";
-      sha256 = "c261fdf44b36aaa278b4b9752a0d989facec3768853606e5c0b8a86d9d01edb3";
-      name = "kturtle-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kturtle-20.08.2.tar.xz";
+      sha256 = "ca9bf47b2ec34744492f218c922b10d613b19fbbd2c75b6ddba157eef21337c7";
+      name = "kturtle-20.08.2.tar.xz";
     };
   };
   kubrick = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kubrick-20.08.1.tar.xz";
-      sha256 = "c0c017f6913f94224e18df7d96ba9ad92f51522a331b77f5722f2d2c953c342c";
-      name = "kubrick-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kubrick-20.08.2.tar.xz";
+      sha256 = "02fed26a7246feffd668fbda939893295557c0571da64fdf195db93474653224";
+      name = "kubrick-20.08.2.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kwalletmanager-20.08.1.tar.xz";
-      sha256 = "b5a134db6b6bceb802c6c45915636bcd95fea5b6846cfd022917405f48cc92c5";
-      name = "kwalletmanager-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kwalletmanager-20.08.2.tar.xz";
+      sha256 = "7950e250c5351a9b8e3b36165fa2003baa044bb2d3553a32360000a322bddad8";
+      name = "kwalletmanager-20.08.2.tar.xz";
     };
   };
   kwave = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kwave-20.08.1.tar.xz";
-      sha256 = "3791f9401271c23d3ababd14e4c1e6acfe58df2100331e31ba61453feaf9fa32";
-      name = "kwave-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kwave-20.08.2.tar.xz";
+      sha256 = "6e15a67022ef96f07b9825139cc7aaacbc6f60729570c31ce6cb25184602b434";
+      name = "kwave-20.08.2.tar.xz";
     };
   };
   kwordquiz = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/kwordquiz-20.08.1.tar.xz";
-      sha256 = "77d2d30abcb37ee6a8e0b121ed1969f2fa61eb32814f49a0186043a4e8f1a71c";
-      name = "kwordquiz-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/kwordquiz-20.08.2.tar.xz";
+      sha256 = "57aa012f3aad128579f067668db1344306e2e23d6a89b47d413d6eee0da0e238";
+      name = "kwordquiz-20.08.2.tar.xz";
     };
   };
   libgravatar = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libgravatar-20.08.1.tar.xz";
-      sha256 = "dfe95055869944b79b1f4120f013b547225b02b69c7e410fd09d52469a892263";
-      name = "libgravatar-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libgravatar-20.08.2.tar.xz";
+      sha256 = "4c0a2eb073ef42a26813b93bd76aaa9e26a040a966329e6e3cf371d7de1e55f7";
+      name = "libgravatar-20.08.2.tar.xz";
     };
   };
   libkcddb = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkcddb-20.08.1.tar.xz";
-      sha256 = "1519c9248b46d95d8761a8ed22b0805964a5fef5aa665710b08851c753f70590";
-      name = "libkcddb-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkcddb-20.08.2.tar.xz";
+      sha256 = "545cf54ac454845c524ba7cd7ec289ac952fa1ce2bbae01411ba71c66a5ed08a";
+      name = "libkcddb-20.08.2.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkcompactdisc-20.08.1.tar.xz";
-      sha256 = "f43b8129a0083686dbc939387931867d9d65e14936f2a86be0a7286e01cf1974";
-      name = "libkcompactdisc-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkcompactdisc-20.08.2.tar.xz";
+      sha256 = "37534f67af69775d6f786917920d2810a5d20f28df57e1a17aee9a7b30bbe302";
+      name = "libkcompactdisc-20.08.2.tar.xz";
     };
   };
   libkdcraw = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkdcraw-20.08.1.tar.xz";
-      sha256 = "3431810972d886635ba6249ac86a9442a9c3a3333eb0b27533fc459e757e9eb1";
-      name = "libkdcraw-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkdcraw-20.08.2.tar.xz";
+      sha256 = "6fbf1a5ca5a439fabb01648cde4b57e1f3de2372b7f3b56ccae03f653490f1b2";
+      name = "libkdcraw-20.08.2.tar.xz";
     };
   };
   libkdegames = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkdegames-20.08.1.tar.xz";
-      sha256 = "6ab0b143dcba2d935dd0182c9154657ebbfb205c28bc86e2e13875b58e23737d";
-      name = "libkdegames-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkdegames-20.08.2.tar.xz";
+      sha256 = "d9f0ab87dc4671a55ad8d2b7d3a54cbc444201c11ebae436e0107fe7067fb983";
+      name = "libkdegames-20.08.2.tar.xz";
     };
   };
   libkdepim = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkdepim-20.08.1.tar.xz";
-      sha256 = "a2fb769239283e7f536d4779089ad8664d1498cf7520f057589bf0285630fb4b";
-      name = "libkdepim-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkdepim-20.08.2.tar.xz";
+      sha256 = "3558c9af95c22bb4ce0ceeec483fada9e8e9f27de4ac34ffe44a4eb3b6d21101";
+      name = "libkdepim-20.08.2.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkeduvocdocument-20.08.1.tar.xz";
-      sha256 = "ecd158beb7fcc1a5d540d956669c6fdce6172f4b282755170d2791076d75ad84";
-      name = "libkeduvocdocument-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkeduvocdocument-20.08.2.tar.xz";
+      sha256 = "ef8e0b359e3cf1b3303da3795add1ced405d230f51895abe10d5a7989be03923";
+      name = "libkeduvocdocument-20.08.2.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkexiv2-20.08.1.tar.xz";
-      sha256 = "67310ae90d89f26d2ae98ede8fa973e27ea1ce3d15c389954d391cd058543979";
-      name = "libkexiv2-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkexiv2-20.08.2.tar.xz";
+      sha256 = "793c4d11bb1b60beca7b25a2427650b3f358364c55be022dfd4a7ccfd889578d";
+      name = "libkexiv2-20.08.2.tar.xz";
     };
   };
   libkgapi = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkgapi-20.08.1.tar.xz";
-      sha256 = "dfa9003556a01ef19eda186973f87356d32ea8f82f8d653803b2cc935f077127";
-      name = "libkgapi-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkgapi-20.08.2.tar.xz";
+      sha256 = "f3fb015e8b8ac92c138e8a59e8e8b9333500e0ea314180cc1ad14e31248312df";
+      name = "libkgapi-20.08.2.tar.xz";
     };
   };
   libkgeomap = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkgeomap-20.08.1.tar.xz";
-      sha256 = "a210945b6807efca3390173233269aa31f27a23b5f36670b88f66b3b28df846f";
-      name = "libkgeomap-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkgeomap-20.08.2.tar.xz";
+      sha256 = "7149095aa0df4e3a184bb2a6fb8322e27e3a34eb3bc40cf370a09b21fb2a6ea0";
+      name = "libkgeomap-20.08.2.tar.xz";
     };
   };
   libkipi = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkipi-20.08.1.tar.xz";
-      sha256 = "4722ab563c1350042920d1937b84fdd38b5779449a2d9b689328cd82241cb5d2";
-      name = "libkipi-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkipi-20.08.2.tar.xz";
+      sha256 = "87ffa30b23779313a94953afe57d1b19515c3a2f311a2dea6449c9d96b09e5b1";
+      name = "libkipi-20.08.2.tar.xz";
     };
   };
   libkleo = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkleo-20.08.1.tar.xz";
-      sha256 = "78c1dc2e4d7177aaf37cb1c706d9c21b08fac7d130ac1da3d3f2a6f083117ffb";
-      name = "libkleo-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkleo-20.08.2.tar.xz";
+      sha256 = "34537b35e22cef85650ae6f9bf197518bb5a59e9614d6d86ba86f085fddd97c4";
+      name = "libkleo-20.08.2.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkmahjongg-20.08.1.tar.xz";
-      sha256 = "5a8674921e39b38655d1f95340831b1bc746047cbad8501706436f5dacf47fc2";
-      name = "libkmahjongg-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkmahjongg-20.08.2.tar.xz";
+      sha256 = "032ac6d9e96cd9156f5153c01f881d0e442fda9de90398df320846095ba2c40a";
+      name = "libkmahjongg-20.08.2.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libkomparediff2-20.08.1.tar.xz";
-      sha256 = "9d109dfea1433602cdabc89ffa5f522147befc9b1d6d9760549aba7db5dbd399";
-      name = "libkomparediff2-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libkomparediff2-20.08.2.tar.xz";
+      sha256 = "91b0b72d5c4e2ddd863636cca299660bfbb5b7a55773cbc51000fe9c1ca91a98";
+      name = "libkomparediff2-20.08.2.tar.xz";
     };
   };
   libksane = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libksane-20.08.1.tar.xz";
-      sha256 = "0d8717ad004a2480aea232d9a2317b4d1cc4678d53f0176bdaeb411eedd19dbe";
-      name = "libksane-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libksane-20.08.2.tar.xz";
+      sha256 = "21bb577d78e020281dfc6c993ab7fe286d648e72c851e45463a32969fbb35aa6";
+      name = "libksane-20.08.2.tar.xz";
     };
   };
   libksieve = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/libksieve-20.08.1.tar.xz";
-      sha256 = "a1defe888c6c5a3c16ef6fad39d9eb94bc784031079763f004048951820acec0";
-      name = "libksieve-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/libksieve-20.08.2.tar.xz";
+      sha256 = "589e4dc27d1d91d8c16879fa99aab45f3847a74e3e9357e3e037503e5515ee2e";
+      name = "libksieve-20.08.2.tar.xz";
     };
   };
   lokalize = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/lokalize-20.08.1.tar.xz";
-      sha256 = "a4a3e5703d39ae8fe12d2ff832e99b3339ba1c8ec8d2439abeb348e687f1eae9";
-      name = "lokalize-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/lokalize-20.08.2.tar.xz";
+      sha256 = "c11616bc02763fb1f3b1abf0b2ba70d0c6c550435c94ff25c5096f9a90375e23";
+      name = "lokalize-20.08.2.tar.xz";
     };
   };
   lskat = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/lskat-20.08.1.tar.xz";
-      sha256 = "319d611468b969b3bb62731a0aa04c5672bb689c41adf5545dfa8b9742668775";
-      name = "lskat-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/lskat-20.08.2.tar.xz";
+      sha256 = "78f152f7af46345f65c3800f9c591fb204e917595c1f803c9c15148ef39c42b8";
+      name = "lskat-20.08.2.tar.xz";
     };
   };
   mailcommon = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/mailcommon-20.08.1.tar.xz";
-      sha256 = "d4ee996f74a749ad626ca5029821546da82dbfc1c81864ff39b5f51d6dcf1d88";
-      name = "mailcommon-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/mailcommon-20.08.2.tar.xz";
+      sha256 = "a4170ab9ff7680fb26c61474f42d5424716f4e91c1a5e9275cc1222491c9564d";
+      name = "mailcommon-20.08.2.tar.xz";
     };
   };
   mailimporter = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/mailimporter-20.08.1.tar.xz";
-      sha256 = "dcf2b94d4f66be2b339b31dfebef7af373e0cf59f09e4cfb664eb828e1d4f73f";
-      name = "mailimporter-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/mailimporter-20.08.2.tar.xz";
+      sha256 = "a255b60378c1cf77e517919d072cb44bd8c25e8ed8f07429763bb7915b3cc711";
+      name = "mailimporter-20.08.2.tar.xz";
     };
   };
   marble = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/marble-20.08.1.tar.xz";
-      sha256 = "96b019a41ae4e0aaab59950b6be040bd2145f130190b8c0dea436c791e3192ed";
-      name = "marble-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/marble-20.08.2.tar.xz";
+      sha256 = "f44ac10de33dc31ce1cb99635131fe2c7bf3f60f09204b2061f81042a725475c";
+      name = "marble-20.08.2.tar.xz";
     };
   };
   mbox-importer = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/mbox-importer-20.08.1.tar.xz";
-      sha256 = "262c8805539b7c766099c6287d1dbf88161afe6d32c1c6821ebe63cff4fe3b71";
-      name = "mbox-importer-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/mbox-importer-20.08.2.tar.xz";
+      sha256 = "3b3bee33683c534974255616f3b2f3baebf85363b2c24bbee9cc195ddf35ca9a";
+      name = "mbox-importer-20.08.2.tar.xz";
     };
   };
   messagelib = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/messagelib-20.08.1.tar.xz";
-      sha256 = "fc41124e905456a3c5227ca6154dc3e77620e307458fbb19f5421cbfb04523b3";
-      name = "messagelib-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/messagelib-20.08.2.tar.xz";
+      sha256 = "5cf3a3f2b6473e60a7c2af10aa4eb1cfba25a4786132ee87b657b0dafb9f5028";
+      name = "messagelib-20.08.2.tar.xz";
     };
   };
   minuet = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/minuet-20.08.1.tar.xz";
-      sha256 = "a640025550337f415f7bfaaad7f6ef7de667dd054131be2c313d894c3f6703ea";
-      name = "minuet-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/minuet-20.08.2.tar.xz";
+      sha256 = "24383168e2a0b7b319ecb37e2b1f3b039ad790a7e0f49385657f049565f1ef84";
+      name = "minuet-20.08.2.tar.xz";
     };
   };
   okular = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/okular-20.08.1.tar.xz";
-      sha256 = "77b5d8e410a2a008ea63f60a561f99053ec07d92da6ee3afaeefd977aadebd83";
-      name = "okular-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/okular-20.08.2.tar.xz";
+      sha256 = "6f1885ed8050a55bb2cbf05089b452f555852e003ec7fe89fe472c0dbc92e65b";
+      name = "okular-20.08.2.tar.xz";
     };
   };
   palapeli = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/palapeli-20.08.1.tar.xz";
-      sha256 = "31b847caa89b998dfa580553d96c656b05f2d85fdd88f0ba71e953762cefac90";
-      name = "palapeli-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/palapeli-20.08.2.tar.xz";
+      sha256 = "a31b0db2f3e77eac8f527d26f8ed0400fe5bcdb3a3970b925f14886bd1bcd63e";
+      name = "palapeli-20.08.2.tar.xz";
     };
   };
   parley = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/parley-20.08.1.tar.xz";
-      sha256 = "9617a90c2d4f9ab5d928febc6bcd10c9023dcc10e9f1202bfb97b77019948f0c";
-      name = "parley-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/parley-20.08.2.tar.xz";
+      sha256 = "cf2f00925730d8baec66d422f058e4b3e979678e79c57898ceffd8650720bda6";
+      name = "parley-20.08.2.tar.xz";
     };
   };
   picmi = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/picmi-20.08.1.tar.xz";
-      sha256 = "027e37a2c9dcf828684a0f8ffdcfc6451a2bd62976c10d990e471fa0f5ba97c3";
-      name = "picmi-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/picmi-20.08.2.tar.xz";
+      sha256 = "35f2bf3d8375618f97aee01c8f2421521b2cd5c11d7b14fc9a376026d74c82a5";
+      name = "picmi-20.08.2.tar.xz";
     };
   };
   pimcommon = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/pimcommon-20.08.1.tar.xz";
-      sha256 = "58a33349bf932076f6be343ae64e23f146e2a6a96e3af8ce68dbd752f2c80dd9";
-      name = "pimcommon-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/pimcommon-20.08.2.tar.xz";
+      sha256 = "cba9e66153d36debe3f046363af7ff40a4ba263f33bfe20c7ec10b5bf9183deb";
+      name = "pimcommon-20.08.2.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/pim-data-exporter-20.08.1.tar.xz";
-      sha256 = "54092763e4b951f4e90a217c876107900e0706da68ca5517184e5da258ae95ec";
-      name = "pim-data-exporter-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/pim-data-exporter-20.08.2.tar.xz";
+      sha256 = "54b09a3f763004c805cc0dce8ab2e665116b7ef29419f22ad413aa250dcb4ac0";
+      name = "pim-data-exporter-20.08.2.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/pim-sieve-editor-20.08.1.tar.xz";
-      sha256 = "f788038796f226bfe426835fc6f186e23f2c7f9fda8316dfa6af307d6936d4ad";
-      name = "pim-sieve-editor-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/pim-sieve-editor-20.08.2.tar.xz";
+      sha256 = "e8c590a0fddc5292172115b11fb75c5f847347079100617dbf321875642d7098";
+      name = "pim-sieve-editor-20.08.2.tar.xz";
     };
   };
   poxml = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/poxml-20.08.1.tar.xz";
-      sha256 = "9f4bcafc664532706fe634ce8b0f410619d5e3c285526a7b61969155d75bbad2";
-      name = "poxml-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/poxml-20.08.2.tar.xz";
+      sha256 = "67d260349489e92ebce20253f9a3ccde5bb75eb13eb4d1a08a86c18c82e4a2a9";
+      name = "poxml-20.08.2.tar.xz";
     };
   };
   print-manager = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/print-manager-20.08.1.tar.xz";
-      sha256 = "52d41ca3ae69e6e8e1eb4ddf1d516868dc436e81779053efdea5e3819545ca5b";
-      name = "print-manager-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/print-manager-20.08.2.tar.xz";
+      sha256 = "de21f8c428198b906f4ae438d6ced8d707b12c15578409c2aa2f7b2f73feb990";
+      name = "print-manager-20.08.2.tar.xz";
     };
   };
   rocs = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/rocs-20.08.1.tar.xz";
-      sha256 = "3c5f764f06f6f5b7c68523be4fdd37e75b2249e0b15001bc39e55051d9e271ef";
-      name = "rocs-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/rocs-20.08.2.tar.xz";
+      sha256 = "2d8efd62b89dd36033bb3d818c82fee67e6efa2d2bb98dda0d4eab13baaee485";
+      name = "rocs-20.08.2.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/signon-kwallet-extension-20.08.1.tar.xz";
-      sha256 = "10a0ea806dc63cbf6c6d4794fe596c68355bccb3e08370d70ce7a8e95af448a5";
-      name = "signon-kwallet-extension-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/signon-kwallet-extension-20.08.2.tar.xz";
+      sha256 = "a271f4d09511171dcf1ebcdaf0b7205f9ee6a75b20ef0801f36d136f7b4a70dd";
+      name = "signon-kwallet-extension-20.08.2.tar.xz";
     };
   };
   spectacle = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/spectacle-20.08.1.tar.xz";
-      sha256 = "4a01b5ef41901ff2e83bb517c2e96a978188b98cb62243eb541a317f57a2bd69";
-      name = "spectacle-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/spectacle-20.08.2.tar.xz";
+      sha256 = "9a467ea3b05981d588d39573cca375636b825ad8cab8a36ce48dbbc12425ab0d";
+      name = "spectacle-20.08.2.tar.xz";
     };
   };
   step = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/step-20.08.1.tar.xz";
-      sha256 = "6e04930963676b1bfa55ee095914c7491a61bf3963c45ed4157f868175ee6605";
-      name = "step-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/step-20.08.2.tar.xz";
+      sha256 = "a52e4b6f281ba1a7afd4ab3ac7307080464147c4052ee222399135fe61ac7958";
+      name = "step-20.08.2.tar.xz";
     };
   };
   svgpart = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/svgpart-20.08.1.tar.xz";
-      sha256 = "206c3741464f959ffbaea09bc918fc3e88f32fcf12928cd8c399ab44d4b1f228";
-      name = "svgpart-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/svgpart-20.08.2.tar.xz";
+      sha256 = "3a46b5bd9acf5372f73b602d155517f0dff47f3337bd8a46a580aae7480dd771";
+      name = "svgpart-20.08.2.tar.xz";
     };
   };
   sweeper = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/sweeper-20.08.1.tar.xz";
-      sha256 = "722c25de8cc74fe7e8310d47a7e794f32e935331f89d4f5249fd045a83ce0431";
-      name = "sweeper-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/sweeper-20.08.2.tar.xz";
+      sha256 = "0c255ef15c1e32eb561b26f5b73a6c154730be583efbc5ee713aaed17de14091";
+      name = "sweeper-20.08.2.tar.xz";
     };
   };
   umbrello = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/umbrello-20.08.1.tar.xz";
-      sha256 = "d980d67f8a878e01cd3af5499aa843df703f20cdecca8a14b59d87d13c747328";
-      name = "umbrello-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/umbrello-20.08.2.tar.xz";
+      sha256 = "0357b44646c750253e3e7ee323b9e49e854c4c8cdf340eb5a11b2d42edfc4cd7";
+      name = "umbrello-20.08.2.tar.xz";
     };
   };
   yakuake = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/yakuake-20.08.1.tar.xz";
-      sha256 = "6768a360a3d79080e6e53821460ed27f6c2e47fa11077bbec3213d85385d6fac";
-      name = "yakuake-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/yakuake-20.08.2.tar.xz";
+      sha256 = "8a0aa3a97a9fdc781887a6cb6480cba5079cf8aacd3345b63f5eb6be4d91665a";
+      name = "yakuake-20.08.2.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "20.08.1";
+    version = "20.08.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.1/src/zeroconf-ioslave-20.08.1.tar.xz";
-      sha256 = "ca1685a22922057ba89510d71a11218bf47db0d0313aec2b55aca21932564866";
-      name = "zeroconf-ioslave-20.08.1.tar.xz";
+      url = "${mirror}/stable/release-service/20.08.2/src/zeroconf-ioslave-20.08.2.tar.xz";
+      sha256 = "0ad34f8361ee3ecd669e396265135b534239994d3bec5e9e6a43b7b7bf5c04e4";
+      name = "zeroconf-ioslave-20.08.2.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/logging/humioctl/default.nix b/pkgs/applications/logging/humioctl/default.nix
index 14e1f64ebeb1b..bcaf4a3627fe6 100644
--- a/pkgs/applications/logging/humioctl/default.nix
+++ b/pkgs/applications/logging/humioctl/default.nix
@@ -1,8 +1,8 @@
 { buildGoModule, fetchFromGitHub, installShellFiles, stdenv }:
 
 let
-  humioCtlVersion = "0.27.0";
-  sha256 = "1h65g10dxcaw4wk0gyyyqj9f94xlphj30lp9w6rsfrk4pi3irzr4";
+  humioCtlVersion = "0.28.1";
+  sha256 = "0vy07nzafqhc14i179sfrzb795yh4pcyjj3py9fwq0nwnmxndby4";
   vendorSha256 = "0anvah2rpqvxgmdrdj73k3vbf8073nmsl3aykgvb1nraf3gz3bpk";
 in buildGoModule {
     name = "humioctl-${humioCtlVersion}";
diff --git a/pkgs/applications/misc/ArchiSteamFarm/default.nix b/pkgs/applications/misc/ArchiSteamFarm/default.nix
index 86947c0bd6611..8e55090e4c170 100644
--- a/pkgs/applications/misc/ArchiSteamFarm/default.nix
+++ b/pkgs/applications/misc/ArchiSteamFarm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ArchiSteamFarm";
-  version = "4.3.0.6";
+  version = "4.3.1.0";
 
   src = fetchurl {
     url = "https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/${version}/ASF-generic.zip";
-    sha256 = "1i8cb9j1dk2ikrdr11gah48wrsmw52gj70pv7yml1pzb435madm8";
+    sha256 = "1q28byshh4wkfsfdb0sfdqq9a5da9k7i4nagsfpk0fzyajvzd4lx";
   };
 
   nativeBuildInputs = [ unzip makeWrapper jq ];
diff --git a/pkgs/applications/misc/OSCAR/default.nix b/pkgs/applications/misc/OSCAR/default.nix
new file mode 100644
index 0000000000000..e619ad8c69712
--- /dev/null
+++ b/pkgs/applications/misc/OSCAR/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, mkDerivation, fetchFromGitLab, qmake, qtbase, qttools, qtserialport, libGLU }:
+mkDerivation rec {
+  pname = "OSCAR";
+  version = "1.2.0";
+
+  src = fetchFromGitLab {
+    owner = "pholy";
+    repo = "OSCAR-code";
+    rev = "v${version}";
+    sha256 = "10r37d8c2avr167n2s9lhld1c9hmckm444fq163z1jsy9jpid6mg";
+  };
+
+  buildInputs = [ qtbase qttools qtserialport libGLU ];
+  nativeBuildInputs = [ qmake ];
+  postPatch = ''
+    substituteInPlace oscar/oscar.pro --replace "/bin/bash" "${stdenv.shell}"
+  '';
+
+  qmakeFlags = [ "OSCAR_QT.pro" ];
+
+  installPhase = ''
+    install -d $out/bin
+    install -d $out/share/OSCAR/Help
+    install -d $out/share/OSCAR/Html
+    install -d $out/share/OSCAR/Translations
+    install -d $out/share/icons/OSCAR
+    install -d $out/share/applications
+    install -T oscar/OSCAR $out/bin/OSCAR
+    # help browser was removed 'temporarily' in https://gitlab.com/pholy/OSCAR-code/-/commit/57c3e4c33ccdd2d0eddedbc24c0e4f2969da3841
+    # install oscar/Help/* $out/share/OSCAR/Help
+    install oscar/Html/* $out/share/OSCAR/Html
+    install oscar/Translations/* $out/share/OSCAR/Translations
+    install -T Building/Linux/OSCAR.png $out/share/icons/OSCAR/OSCAR.png
+    install -T Building/Linux/OSCAR.desktop $out/share/applications/OSCAR.desktop
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.sleepfiles.com/OSCAR/";
+    description = "Software for reviewing and exploring data produced by CPAP and related machines used in the treatment of sleep apnea";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.roconnor ];
+    # Someone needs to create a suitable installPhase for Darwin and Windows.
+    # See https://gitlab.com/pholy/OSCAR-code/-/tree/master/Building.
+    broken = !stdenv.hostPlatform.isLinux;
+  };
+}
diff --git a/pkgs/applications/misc/archiver/default.nix b/pkgs/applications/misc/archiver/default.nix
index fed1dc48470ed..1691ab0736105 100644
--- a/pkgs/applications/misc/archiver/default.nix
+++ b/pkgs/applications/misc/archiver/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "archiver";
-  version = "3.3.2";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "mholt";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1fi86g27c660g3mv9c5rfm0mmvh5q08704c19xnvrpwlg65glqrz";
+    sha256 = "0fdkqfs87svpijccz8m11gvby8pvmznq6fs9k94vbzak0kxhw1wg";
   };
 
-  vendorSha256 = "1rqhra3rfarq8f750zszkrm0jcsxa4sjbfpmcdlj5z000df699zq";
+  vendorSha256 = "0avnskay23mpl3qkyf1h75rr7szpsxis2bj5pplhwf8q8q0212xf";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev} -X main.date=unknown" ];
 
diff --git a/pkgs/applications/misc/ausweisapp2/default.nix b/pkgs/applications/misc/ausweisapp2/default.nix
index 9f157798a7d2e..911a30ccf6117 100644
--- a/pkgs/applications/misc/ausweisapp2/default.nix
+++ b/pkgs/applications/misc/ausweisapp2/default.nix
@@ -8,7 +8,7 @@ mkDerivation rec {
   src = fetchFromGitHub {
     owner = "Governikus";
     repo = "AusweisApp2";
-    rev = "${version}";
+    rev = version;
     sha256 = "1vibk3wmn54qr2mwz537hrr959y0r1zabp0gsijhzj2mk68g9pnb";
   };
 
diff --git a/pkgs/applications/misc/barrier/default.nix b/pkgs/applications/misc/barrier/default.nix
index 28b65d2b58b67..f08b33f098596 100644
--- a/pkgs/applications/misc/barrier/default.nix
+++ b/pkgs/applications/misc/barrier/default.nix
@@ -5,13 +5,14 @@
 
 mkDerivation rec {
   pname = "barrier";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "debauchee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gbg3p7c0vcsdzsjj1ssx6k8xpj3rpyvais12266f0xvnbvihczd";
+    sha256 = "11vqkzpcjiv3pq6ps022223j6skgm1d23dj18n4a5nsf53wsvvp4";
+    fetchSubmodules = true;
   };
 
   buildInputs = [ curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ];
diff --git a/pkgs/applications/misc/batsignal/default.nix b/pkgs/applications/misc/batsignal/default.nix
index 56c508eaca925..90fca4ce28cee 100644
--- a/pkgs/applications/misc/batsignal/default.nix
+++ b/pkgs/applications/misc/batsignal/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "batsignal";
-  version = "1.1.2";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "electrickite";
     repo = "batsignal";
-    rev = "${version}";
-    sha256 = "0ss5dw7wpqsf96dig6r7x4fhf6brmjdy54jyyf5nk1h9kzw4d69r";
+    rev = version;
+    sha256 = "0yc7xgwb3i4m8m9kg2xspqig3s2qgh2i9bkalvnkziayjb7y59qn";
   };
 
   buildInputs = [ libnotify glib ];
diff --git a/pkgs/applications/misc/birdtray/default.nix b/pkgs/applications/misc/birdtray/default.nix
index 8eb6a168721cd..df12d2b9f8f68 100644
--- a/pkgs/applications/misc/birdtray/default.nix
+++ b/pkgs/applications/misc/birdtray/default.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "birdtray";
-  version = "1.8.1";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "gyunaev";
     repo = pname;
-    rev = version;
-    sha256 = "15l8drdmamq1dpqpj0h9ajj2r5vcs23cx421drvhfgs6bqlzd1hl";
+    rev = "v${version}";
+    sha256 = "1469ng6zk0qx0qfsihrnlz1j9i1wk0hx4vqdaplz9mdpyxvmlryk";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/blender/darwin.patch b/pkgs/applications/misc/blender/darwin.patch
index c426c0b66077b..bfbfb5e48e025 100644
--- a/pkgs/applications/misc/blender/darwin.patch
+++ b/pkgs/applications/misc/blender/darwin.patch
@@ -1,24 +1,26 @@
 diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
 --- a/build_files/cmake/platform/platform_apple.cmake
 +++ b/build_files/cmake/platform/platform_apple.cmake
-@@ -35,7 +35,6 @@ else()
+@@ -80,7 +80,6 @@ else()
    message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
  endif()
  if(NOT EXISTS "${LIBDIR}/")
 -  message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'")
  endif()
  
- if(WITH_OPENAL)
-@@ -86,7 +85,7 @@ endif()
- if(WITH_CODEC_SNDFILE)
-   set(LIBSNDFILE ${LIBDIR}/sndfile)
-   set(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE}/include)
--  set(LIBSNDFILE_LIBRARIES sndfile FLAC ogg vorbis vorbisenc)
-+  set(LIBSNDFILE_LIBRARIES sndfile)
-   set(LIBSNDFILE_LIBPATH ${LIBSNDFILE}/lib ${LIBDIR}/ffmpeg/lib)  # TODO, deprecate
- endif()
+ # -------------------------------------------------------------------------
+@@ -112,10 +111,6 @@ if(WITH_CODEC_SNDFILE)
+   find_library(_sndfile_VORBIS_LIBRARY NAMES vorbis HINTS ${LIBDIR}/ffmpeg/lib)
+   find_library(_sndfile_VORBISENC_LIBRARY NAMES vorbisenc HINTS ${LIBDIR}/ffmpeg/lib)
+   list(APPEND LIBSNDFILE_LIBRARIES
+-    ${_sndfile_FLAC_LIBRARY}
+-    ${_sndfile_OGG_LIBRARY}
+-    ${_sndfile_VORBIS_LIBRARY}
+-    ${_sndfile_VORBISENC_LIBRARY}
+   )
  
-@@ -97,7 +96,7 @@ if(WITH_PYTHON)
+   print_found_status("SndFile libraries" "${LIBSNDFILE_LIBRARIES}")
+@@ -132,7 +127,7 @@ if(WITH_PYTHON)
      # normally cached but not since we include them with blender
      set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m")
      set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}m")
@@ -27,40 +29,18 @@ diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platf
      set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
      # set(PYTHON_LINKFLAGS "-u _PyMac_Error")  # won't  build with this enabled
    else()
-@@ -162,10 +161,7 @@ if(WITH_CODEC_FFMPEG)
-   set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include)
-   set(FFMPEG_LIBRARIES
+@@ -173,9 +168,7 @@ endif()
+ if(WITH_CODEC_FFMPEG)
+   set(FFMPEG_FIND_COMPONENTS
      avcodec avdevice avformat avutil
--    mp3lame swscale x264 xvidcore
--    theora theoradec theoraenc
--    vorbis vorbisenc vorbisfile ogg opus
--    vpx swresample)
-+    swscale swresample)
-   set(FFMPEG_LIBPATH ${FFMPEG}/lib)
+-    mp3lame ogg opus swresample swscale
+-    theora theoradec theoraenc vorbis vorbisenc
+-    vorbisfile vpx x264 xvidcore)
++    swresample swscale)
+   find_package(FFmpeg)
  endif()
  
-@@ -206,14 +202,14 @@ if(WITH_OPENCOLLADA)
-   set(OPENCOLLADA ${LIBDIR}/opencollada)
- 
-   set(OPENCOLLADA_INCLUDE_DIRS
--    ${LIBDIR}/opencollada/include/COLLADAStreamWriter
--    ${LIBDIR}/opencollada/include/COLLADABaseUtils
--    ${LIBDIR}/opencollada/include/COLLADAFramework
--    ${LIBDIR}/opencollada/include/COLLADASaxFrameworkLoader
--    ${LIBDIR}/opencollada/include/GeneratedSaxParser
-+    ${LIBDIR}/opencollada/include/opencollada/COLLADAStreamWriter
-+    ${LIBDIR}/opencollada/include/opencollada/COLLADABaseUtils
-+    ${LIBDIR}/opencollada/include/opencollada/COLLADAFramework
-+    ${LIBDIR}/opencollada/include/opencollada/COLLADASaxFrameworkLoader
-+    ${LIBDIR}/opencollada/include/opencollada/GeneratedSaxParser
-   )
- 
--  set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
-+  set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib/opencollada)
-   set(OPENCOLLADA_LIBRARIES
-     OpenCOLLADASaxFrameworkLoader
-     -lOpenCOLLADAFramework
-@@ -277,14 +273,13 @@ if(WITH_BOOST)
+@@ -266,7 +259,6 @@ if(WITH_BOOST)
  endif()
  
  if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG)
@@ -68,25 +48,8 @@ diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platf
  endif()
  
  if(WITH_OPENIMAGEIO)
-   set(OPENIMAGEIO ${LIBDIR}/openimageio)
-   set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include)
-   set(OPENIMAGEIO_LIBRARIES
--    ${OPENIMAGEIO}/lib/libOpenImageIO.a
-+    ${OPENIMAGEIO}/lib/libOpenImageIO.dylib
-     ${PNG_LIBRARIES}
-     ${JPEG_LIBRARIES}
-     ${TIFF_LIBRARY}
-@@ -307,7 +302,7 @@ endif()
- if(WITH_OPENCOLORIO)
-   set(OPENCOLORIO ${LIBDIR}/opencolorio)
-   set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO}/include)
--  set(OPENCOLORIO_LIBRARIES OpenColorIO tinyxml yaml-cpp)
-+  set(OPENCOLORIO_LIBRARIES OpenColorIO)
-   set(OPENCOLORIO_LIBPATH ${OPENCOLORIO}/lib)
- endif()
- 
-@@ -443,7 +438,7 @@ else()
-   set(CMAKE_CXX_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing")
+@@ -439,7 +431,7 @@ else()
+   set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic")
  endif()
  
 -if(${XCODE_VERSION} VERSION_EQUAL 5 OR ${XCODE_VERSION} VERSION_GREATER 5)
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 17f0ffdb92cde..9796aef9b7cb3 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -1,4 +1,4 @@
-{ config, stdenv, lib, fetchurl, boost, cmake, ffmpeg_3, gettext, glew
+{ config, stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew
 , ilmbase, libXi, libX11, libXext, libXrender
 , libjpeg, libpng, libsamplerate, libsndfile
 , libtiff, libGLU, libGL, openal, opencolorio, openexr, openimagedenoise, openimageio2, openjpeg, python3Packages
@@ -8,8 +8,8 @@
 , cudaSupport ? config.cudaSupport or false, cudatoolkit
 , colladaSupport ? true, opencollada
 , makeWrapper
-, pugixml, SDL, Cocoa, CoreGraphics, ForceFeedback, OpenAL, OpenGL
-, embree
+, pugixml, llvmPackages, SDL, Cocoa, CoreGraphics, ForceFeedback, OpenAL, OpenGL
+, embree, gmp
 }:
 
 with lib;
@@ -18,18 +18,18 @@ let python = python3Packages.python; in
 
 stdenv.mkDerivation rec {
   pname = "blender";
-  version = "2.90.1";
+  version = "2.91.0";
 
   src = fetchurl {
     url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
-    sha256 = "169xcmm1zkvab14qdxggqc758xdkqs7r7imwi6yx2fl2djacr3g7";
+    sha256 = "0x396lgmk0dq9115yrc36s8zwxzmjr490sr5n2y6w27y17yllyjm";
   };
 
   patches = lib.optional stdenv.isDarwin ./darwin.patch;
 
   nativeBuildInputs = [ cmake ] ++ optional cudaSupport addOpenGLRunpath;
   buildInputs =
-    [ boost ffmpeg_3 gettext glew ilmbase
+    [ boost ffmpeg gettext glew ilmbase
       freetype libjpeg libpng libsamplerate libsndfile libtiff
       opencolorio openexr openimagedenoise openimageio2 openjpeg python zlib fftw jemalloc
       alembic
@@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
       tbb
       makeWrapper
       embree
+      gmp
     ]
     ++ (if (!stdenv.isDarwin) then [
       libXi libX11 libXext libXrender
@@ -46,7 +47,7 @@ stdenv.mkDerivation rec {
       openvdb
     ]
     else [
-      pugixml SDL Cocoa CoreGraphics ForceFeedback OpenAL OpenGL
+      pugixml llvmPackages.openmp SDL Cocoa CoreGraphics ForceFeedback OpenAL OpenGL
     ])
     ++ optional jackaudioSupport libjack2
     ++ optional cudaSupport cudatoolkit
@@ -60,7 +61,9 @@ stdenv.mkDerivation rec {
       : > build_files/cmake/platform/platform_apple_xcode.cmake
       substituteInPlace source/creator/CMakeLists.txt \
         --replace '${"$"}{LIBDIR}/python' \
-                  '${python}'
+                  '${python}' \
+        --replace '${"$"}{LIBDIR}/openmp' \
+                  '${llvmPackages.openmp}'
       substituteInPlace build_files/cmake/platform/platform_apple.cmake \
         --replace 'set(PYTHON_VERSION 3.7)' \
                   'set(PYTHON_VERSION ${python.pythonVersion})' \
@@ -71,15 +74,7 @@ stdenv.mkDerivation rec {
         --replace '${"$"}{LIBDIR}/opencollada' \
                   '${opencollada}' \
         --replace '${"$"}{PYTHON_LIBPATH}/site-packages/numpy' \
-                  '${python3Packages.numpy}/${python.sitePackages}/numpy' \
-        --replace 'set(OPENJPEG_INCLUDE_DIRS ' \
-                  'set(OPENJPEG_INCLUDE_DIRS "'$(echo ${openjpeg.dev}/include/openjpeg-*)'") #' \
-        --replace 'set(OPENJPEG_LIBRARIES ' \
-                  'set(OPENJPEG_LIBRARIES "${openjpeg}/lib/libopenjp2.dylib") #' \
-        --replace 'set(OPENIMAGEIO ' \
-                  'set(OPENIMAGEIO "${openimageio2.out}") #' \
-        --replace 'set(OPENEXR_INCLUDE_DIRS ' \
-                  'set(OPENEXR_INCLUDE_DIRS "${openexr.dev}/include/OpenEXR") #'
+                  '${python3Packages.numpy}/${python.sitePackages}/numpy'
     '' else ''
       substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"'
     '');
diff --git a/pkgs/applications/misc/blugon/default.nix b/pkgs/applications/misc/blugon/default.nix
index 896daa27f7cb3..9aa8d3da39a0d 100644
--- a/pkgs/applications/misc/blugon/default.nix
+++ b/pkgs/applications/misc/blugon/default.nix
@@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ python3 libX11 libXrandr ];
 
+  # Remove at next release
+  # https://github.com/jumper149/blugon/commit/d262cd05
+  postPatch = ''
+    sed -i 's,CC = gcc,CC ?= gcc,g' backends/scg/Makefile
+  '';
+
   makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/calcurse/default.nix b/pkgs/applications/misc/calcurse/default.nix
index 9f55975764fac..a3cad7d9f2e7b 100644
--- a/pkgs/applications/misc/calcurse/default.nix
+++ b/pkgs/applications/misc/calcurse/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "calcurse";
-  version = "4.6.0";
+  version = "4.7.0";
 
   src = fetchurl {
     url = "https://calcurse.org/files/${pname}-${version}.tar.gz";
-    sha256 = "0hzhdpkkn75jlymanwzl69hrrf1pw29hrchr11wlxqjpl43h62gs";
+    sha256 = "0dc4bka2l9z03bnlygsnl06l1zi2wbn29rkc02b13x2kdab7arpg";
   };
 
   buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ];
diff --git a/pkgs/applications/misc/charm/default.nix b/pkgs/applications/misc/charm/default.nix
index 98e04e81c1248..becbbda8acfff 100644
--- a/pkgs/applications/misc/charm/default.nix
+++ b/pkgs/applications/misc/charm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "charm";
-  version = "0.8.3";
+  version = "0.8.5";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "charm";
     rev = "v${version}";
-    sha256 = "1nbix7fi6g9jadak5zyx7fdz7d6367aly6fnrs0v98zsl1kxyvx3";
+    sha256 = "0cgl5dpyzc4lciij9q9yghppiclrdnrl1jsbizfgh2an3s18ab8k";
   };
 
-  vendorSha256 = "0lhml6m0j9ksn09j7z4d9pix5aszhndpyqajycwj3apvi3ic90il";
+  vendorSha256 = "1spzawnk2fslc1m14dp8lx4vpnxwz7xgm1hxbpz4bqlqz1hfd6ax";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/cheat/default.nix b/pkgs/applications/misc/cheat/default.nix
index 77717ff50a218..472eee6551889 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.1.0";
+  version = "4.1.1";
 
   src = fetchFromGitHub {
     owner = "cheat";
     repo = "cheat";
     rev = version;
-    sha256 = "0x6msbbqkwxs6msqacpqw4wlw7c9ilf8n6jqmx297ij6isswgksh";
+    sha256 = "0mraraby0s213ay2ahqsdvnyg76awbqllrkkx17mrx9z3ykba62d";
   };
 
   subPackages = [ "cmd/cheat" ];
diff --git a/pkgs/applications/misc/chewing-editor/default.nix b/pkgs/applications/misc/chewing-editor/default.nix
index b70f9a2e7d807..3a89773b85870 100644
--- a/pkgs/applications/misc/chewing-editor/default.nix
+++ b/pkgs/applications/misc/chewing-editor/default.nix
@@ -7,8 +7,8 @@ mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "chewing";
-    repo = "${pname}";
-    rev = "${version}";
+    repo = pname;
+    rev = version;
     sha256 = "0kc2hjx1gplm3s3p1r5sn0cyxw3k1q4gyv08q9r6rs4sg7xh2w7w";
   };
 
diff --git a/pkgs/applications/misc/clight/clightd.nix b/pkgs/applications/misc/clight/clightd.nix
index c06d00ebb52e4..e1f019ffa4555 100644
--- a/pkgs/applications/misc/clight/clightd.nix
+++ b/pkgs/applications/misc/clight/clightd.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub
 , dbus, cmake, pkgconfig
 , glib, udev, polkit, libmodule
-, pcre, libXdmcp, utillinux, libpthreadstubs
+, pcre, libXdmcp, util-linux, libpthreadstubs
 , enableDdc ? true, ddcutil
 , enableDpms ? true, libXext
 , enableGamma ? true, libXrandr
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
 
     pcre
     libXdmcp
-    utillinux
+    util-linux
     libpthreadstubs
   ] ++ optional enableDdc ddcutil
     ++ optional enableDpms libXext
diff --git a/pkgs/applications/misc/clipcat/default.nix b/pkgs/applications/misc/clipcat/default.nix
new file mode 100644
index 0000000000000..244770e138f91
--- /dev/null
+++ b/pkgs/applications/misc/clipcat/default.nix
@@ -0,0 +1,64 @@
+{ lib, fetchFromGitHub, installShellFiles, rustPlatform, rustfmt, xorg
+, pkgconfig, llvmPackages, clang, protobuf, python3 }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "clipcat";
+  version = "0.4.19";
+
+  src = fetchFromGitHub {
+    owner = "xrelkd";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1lhnm521qqy3aw2iyk1dv4yc5ms0c5x5iipx96bz6v6y0cnmf4kw";
+  };
+
+  cargoSha256 = "04iflyvz8g53z658rkxafiyi2m9kzxwl3p1xgkjq7vacmz5jk15c";
+
+  LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
+
+  # needed for internal protobuf c wrapper library
+  PROTOC = "${protobuf}/bin/protoc";
+  PROTOC_INCLUDE = "${protobuf}/include";
+
+  nativeBuildInputs = [
+    pkgconfig
+
+    clang
+    llvmPackages.libclang
+
+    rustfmt
+    protobuf
+
+    python3
+
+    installShellFiles
+  ];
+  buildInputs = [ xorg.libxcb ];
+
+  cargoBuildFlags = [ "--features=all" ];
+
+  postInstall = ''
+    installShellCompletion --bash --name clipcatd             completions/bash-completion/completions/clipcatd
+    installShellCompletion --fish --name clipcatd.fish        completions/fish/completions/clipcatd.fish
+    installShellCompletion --zsh  --name _clipcatd            completions/zsh/site-functions/_clipcatd
+
+    installShellCompletion --bash --name clipcatctl           completions/bash-completion/completions/clipcatctl
+    installShellCompletion --fish --name clipcatctl.fish      completions/fish/completions/clipcatctl.fish
+    installShellCompletion --zsh  --name _clipcatctl          completions/zsh/site-functions/_clipcatctl
+
+    installShellCompletion --bash --name clipcat-menu         completions/bash-completion/completions/clipcat-menu
+    installShellCompletion --fish --name clipcat-menu.fish    completions/fish/completions/clipcat-menu.fish
+    installShellCompletion --zsh  --name _clipcat-menu        completions/zsh/site-functions/_clipcat-menu
+
+    installShellCompletion --bash --name clipcat-notify       completions/bash-completion/completions/clipcat-notify
+    installShellCompletion --fish --name clipcat-notify.fish  completions/fish/completions/clipcat-notify.fish
+    installShellCompletion --zsh  --name _clipcat-notify      completions/zsh/site-functions/_clipcat-notify
+  '';
+
+  meta = with lib; {
+    description = "Clipboard Manager written in Rust Programming Language";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ xrelkd ];
+  };
+}
diff --git a/pkgs/applications/misc/clipit/default.nix b/pkgs/applications/misc/clipit/default.nix
index 02207fb95806f..cc6d7d29fcd4e 100644
--- a/pkgs/applications/misc/clipit/default.nix
+++ b/pkgs/applications/misc/clipit/default.nix
@@ -1,6 +1,6 @@
 { fetchFromGitHub, fetchpatch, stdenv
 , autoreconfHook, intltool, pkgconfig
-, gtk3, xdotool, which, wrapGAppsHook }:
+, gtk3, libayatana-appindicator, xdotool, which, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "clipit";
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook autoreconfHook intltool ];
-  configureFlags = [ "--with-gtk3" ];
-  buildInputs = [ gtk3 ];
+  configureFlags = [ "--with-gtk3" "--enable-appindicator=yes" ];
+  buildInputs = [ gtk3 libayatana-appindicator ];
 
   gappsWrapperArgs = [
     "--prefix" "PATH" ":" "${stdenv.lib.makeBinPath [ xdotool which ]}"
diff --git a/pkgs/applications/misc/clipmenu/default.nix b/pkgs/applications/misc/clipmenu/default.nix
index 54c2ab48f6565..3227792d6a2f2 100644
--- a/pkgs/applications/misc/clipmenu/default.nix
+++ b/pkgs/applications/misc/clipmenu/default.nix
@@ -1,6 +1,6 @@
-{ clipnotify, makeWrapper, xsel, dmenu, utillinux, gawk, stdenv, fetchFromGitHub, fetchpatch, lib }:
+{ clipnotify, makeWrapper, xsel, dmenu, util-linux, gawk, stdenv, fetchFromGitHub, fetchpatch, lib }:
 let
-  runtimePath = lib.makeBinPath [ clipnotify xsel dmenu utillinux gawk ];
+  runtimePath = lib.makeBinPath [ clipnotify xsel dmenu util-linux gawk ];
 in
 stdenv.mkDerivation rec {
   pname = "clipmenu";
diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix
index a74a3962996b3..e57ffd3527177 100644
--- a/pkgs/applications/misc/cointop/default.nix
+++ b/pkgs/applications/misc/cointop/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "cointop";
-  version = "1.5.4";
+  version = "1.5.5";
 
   src = fetchFromGitHub {
     owner = "miguelmota";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gkrwh5g69mywlllszy310xpahr8rz8nghjjpiamd85djf1iz43b";
+    sha256 = "051jxa07c58ym1w0mwckwxh60v28gqcpqw5nv8sm5wxil1crcayr";
   };
 
   goPackagePath = "github.com/miguelmota/cointop";
diff --git a/pkgs/applications/misc/copyq/default.nix b/pkgs/applications/misc/copyq/default.nix
index 7cf89a74e1008..de1dacd50c2ed 100644
--- a/pkgs/applications/misc/copyq/default.nix
+++ b/pkgs/applications/misc/copyq/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "CopyQ";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src  = fetchFromGitHub {
     owner = "hluk";
     repo = "CopyQ";
     rev = "v${version}";
-    sha256 = "04jidibf0b80c5vd659pz2wibmggjyyj9yz2bw7j4g84hwraksxb";
+    sha256 = "0qssyavx0dkgsyj2myqg8n7sih8niy960nyb1yknsbjm37iqraah";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/corectrl/default.nix b/pkgs/applications/misc/corectrl/default.nix
new file mode 100644
index 0000000000000..090a63a32e4f6
--- /dev/null
+++ b/pkgs/applications/misc/corectrl/default.nix
@@ -0,0 +1,74 @@
+{ stdenv
+, fetchFromGitLab
+, extra-cmake-modules
+, botan2
+, karchive
+, kauth
+, libdrm
+, mesa-demos
+, procps
+, util-linux
+, vulkan-tools
+, qtbase
+, qtcharts
+, qtquickcontrols2
+, qtsvg
+, qttools
+, qtxmlpatterns
+, wrapQtAppsHook
+} :
+
+stdenv.mkDerivation rec{
+  pname = "corectrl";
+  version = "1.1.1";
+
+  src = fetchFromGitLab {
+    owner = "corectrl";
+    repo = "corectrl";
+    rev = "v${version}";
+    sha256 = "sha256-YQDrxPqCa3OzNKd3UiAffqqvOrgbXmDFJGjYPetolyY=";
+  };
+
+  nativeBuildInputs = [
+    extra-cmake-modules
+    wrapQtAppsHook
+  ];
+  buildInputs = [
+    botan2
+    karchive
+    kauth
+    libdrm
+    mesa-demos
+    procps
+    util-linux
+    vulkan-tools
+    qtbase
+    qtcharts
+    qtquickcontrols2
+    qtsvg
+    qttools
+    qtxmlpatterns
+  ];
+
+  runtimeDeps = [ mesa-demos vulkan-tools ];
+  binPath = stdenv.lib.makeBinPath runtimeDeps;
+
+  dontWrapQtApps = true;
+
+  postInstall = ''
+    wrapQtApp $out/bin/corectrl --prefix PATH ":" ${binPath}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://gitlab.com/corectrl/corectrl/";
+    description = "Control your computer hardware via application profiles";
+    longDescription = ''
+      CoreCtrl is a Free and Open Source GNU/Linux application that allows you
+      to control with ease your computer hardware using application profiles. It
+      aims to be flexible, comfortable and accessible to regular users.
+    '';
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
+# TODO: report upstream that libdrm is not detected at configure time
diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix
new file mode 100644
index 0000000000000..d3aff8e6b1ba1
--- /dev/null
+++ b/pkgs/applications/misc/dasel/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "dasel";
+  version = "1.6.2";
+
+  src = fetchFromGitHub {
+    owner = "TomWright";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-LGrFs9JNb0gjXg6IRkUfUOWS+sr1nukzOEWK4XUfkfw=";
+  };
+
+  vendorSha256 = "1552k85z4s6gv7sss7dccv3h8x22j2sr12icp6s7s0a3i4iwyksw";
+
+  meta = with stdenv.lib; {
+    description = "Query and update data structures from the command line";
+    longDescription = ''
+      Dasel (short for data-selector) allows you to query and modify data structures using selector strings.
+      Comparable to jq / yq, but supports JSON, YAML, TOML and XML with zero runtime dependencies.
+    '';
+    homepage = "https://github.com/TomWright/dasel";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ _0x4A6F ];
+  };
+}
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index c5cd4fa6c7e4b..4f1d439118184 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver-ce";
-  version = "7.2.2";
+  version = "7.2.5";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "08dm10smmzrpsc4vc5p3p6fbkg6a5r1sgmbdgr2ihkbk28gylfh0";
+    sha256 = "sha256-CRyAeizhaSDmVFGRhrYIW0Ofli9HnkgItiAGRJAETQM=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/digitalbitbox/default.nix b/pkgs/applications/misc/digitalbitbox/default.nix
index 95159d1927abf..0c731aca713f5 100644
--- a/pkgs/applications/misc/digitalbitbox/default.nix
+++ b/pkgs/applications/misc/digitalbitbox/default.nix
@@ -1,4 +1,5 @@
-{ stdenv
+{ mkDerivation
+, lib
 , autoreconfHook
 , curl
 , fetchFromGitHub
@@ -7,7 +8,7 @@
 , libtool
 , qrencode
 , udev
-, libusb-compat-0_1
+, libusb1
 , makeWrapper
 , pkgconfig
 , qtbase
@@ -46,18 +47,18 @@
 let
   copyUdevRuleToOutput = name: rule:
     "cp ${writeText name rule} $out/etc/udev/rules.d/${name}";
-in stdenv.mkDerivation rec {
+in mkDerivation rec {
   pname = "digitalbitbox";
-  version = "2.2.2";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "digitalbitbox";
     repo = "dbb-app";
     rev = "v${version}";
-    sha256 = "1r77fvqrlaryzij5dfbnigzhvg1d12g96qb2gp8dy3xph1j0k3s1";
+    sha256 = "ig3+TdYv277D9GVnkRSX6nc6D6qruUOw/IQdQCK6FoA=";
   };
 
-  nativeBuildInputs = with stdenv.lib; [
+  nativeBuildInputs = with lib; [
     autoreconfHook
     curl
     git
@@ -70,7 +71,7 @@ in stdenv.mkDerivation rec {
     libevent
     libtool
     udev
-    libusb-compat-0_1
+    libusb1
     qrencode
 
     qtbase
@@ -93,6 +94,8 @@ in stdenv.mkDerivation rec {
     "format"
   ];
 
+  qtWrapperArgs = [ ''--prefix LD_LIBRARY_PATH : $out/lib'' ];
+
   postInstall = ''
     mkdir -p "$out/lib"
     cp src/libbtc/.libs/*.so* $out/lib
@@ -103,9 +106,6 @@ in stdenv.mkDerivation rec {
     # [RPATH][patchelf] Avoid forbidden reference error
     rm -rf $PWD
 
-    wrapProgram "$out/bin/dbb-cli" --prefix LD_LIBRARY_PATH : "$out/lib"
-    wrapProgram "$out/bin/dbb-app" --prefix LD_LIBRARY_PATH : "$out/lib"
-
     # Provide udev rules as documented in https://digitalbitbox.com/start_linux
     mkdir -p "$out/etc/udev/rules.d"
     ${copyUdevRuleToOutput "51-hid-digitalbox.rules" udevRule51}
@@ -114,7 +114,7 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A QT based application for the Digital Bitbox hardware wallet";
     longDescription = ''
       Digital Bitbox provides dbb-app, a GUI tool, and dbb-cli, a CLI tool, to manage Digital Bitbox devices.
@@ -138,6 +138,5 @@ in stdenv.mkDerivation rec {
       vidbina
     ];
     platforms = platforms.linux;
-    broken = true;
   };
 }
diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix
index e4d0c82c4176c..f83c5fc7f01fb 100644
--- a/pkgs/applications/misc/dmenu/default.nix
+++ b/pkgs/applications/misc/dmenu/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, libX11, libXinerama, libXft, zlib, patches ? [ ./xim.patch ] }:
+{ stdenv, fetchurl, libX11, libXinerama, libXft, zlib, patches ? null }:
 
 stdenv.mkDerivation rec {
-  name = "dmenu-4.9";
+  name = "dmenu-5.0";
 
   src = fetchurl {
     url = "https://dl.suckless.org/tools/${name}.tar.gz";
-    sha256 = "0ia9nqr83bv6x247q30bal0v42chcj9qcjgv59xs6xj46m7iz5xk";
+    sha256 = "1lvfxzg3chsgcqbc2vr0zic7vimijgmbvnspayx73kyvqi1f267y";
   };
 
   buildInputs = [ libX11 libXinerama zlib libXft ];
diff --git a/pkgs/applications/misc/dmenu/xim.patch b/pkgs/applications/misc/dmenu/xim.patch
deleted file mode 100644
index f77d48324da40..0000000000000
--- a/pkgs/applications/misc/dmenu/xim.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Revert https://git.suckless.org/dmenu/commit/377bd37e212b1ec4c03a481245603c6560d0be22.html
-
-Upstream has reverted it after v4.9 in https://git.suckless.org/dmenu/commit/db6093f6ec1bb884f7540f2512935b5254750b30.html
---- a/dmenu.c
-+++ b/dmenu.c
-@@ -552,7 +552,7 @@ run(void)
- 	XEvent ev;
- 
- 	while (!XNextEvent(dpy, &ev)) {
--		if (XFilterEvent(&ev, None))
-+		if (XFilterEvent(&ev, win))
- 			continue;
- 		switch(ev.type) {
- 		case Expose:
-@@ -664,7 +664,6 @@ setup(void)
- 	                XNClientWindow, win, XNFocusWindow, win, NULL);
- 
- 	XMapRaised(dpy, win);
--	XSetInputFocus(dpy, win, RevertToParent, CurrentTime);
- 	if (embed) {
- 		XSelectInput(dpy, parentwin, FocusChangeMask);
- 		if (XQueryTree(dpy, parentwin, &dw, &w, &dws, &du) && dws) {
-@@ -730,8 +729,6 @@ main(int argc, char *argv[])
- 
- 	if (!setlocale(LC_CTYPE, "") || !XSupportsLocale())
- 		fputs("warning: no locale support\n", stderr);
--	if (!XSetLocaleModifiers(""))
--		fputs("warning: no locale modifiers support\n", stderr);
- 	if (!(dpy = XOpenDisplay(NULL)))
- 		die("cannot open display");
- 	screen = DefaultScreen(dpy);
diff --git a/pkgs/applications/misc/dockbarx/default.nix b/pkgs/applications/misc/dockbarx/default.nix
index 97510bc3b4577..463f7db6b0c33 100644
--- a/pkgs/applications/misc/dockbarx/default.nix
+++ b/pkgs/applications/misc/dockbarx/default.nix
@@ -30,7 +30,7 @@ pythonPackages.buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     homepage = "https://launchpad.net/dockbar/";
-    description = "DockBarX is a lightweight taskbar / panel replacement for Linux which works as a stand-alone dock";
+    description = "Lightweight taskbar / panel replacement for Linux which works as a stand-alone dock";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.volth ];
diff --git a/pkgs/applications/misc/doing/default.nix b/pkgs/applications/misc/doing/default.nix
index 48e45328f67ba..e539cf3ae19e3 100644
--- a/pkgs/applications/misc/doing/default.nix
+++ b/pkgs/applications/misc/doing/default.nix
@@ -11,7 +11,7 @@ bundlerEnv {
   passthru.updateScript = bundlerUpdateScript "doing";
 
   meta = with lib; {
-    description = "A command line tool for keeping track of what you’re doing and tracking what you’ve done.";
+    description = "A command line tool for keeping track of what you’re doing and tracking what you’ve done";
     longDescription = ''
       doing is a basic CLI for adding and listing "what was I doing" reminders
       in a TaskPaper-formatted text file. It allows for multiple
diff --git a/pkgs/applications/misc/dstask/default.nix b/pkgs/applications/misc/dstask/default.nix
index d5c02f695521e..0c2f25b2653f7 100644
--- a/pkgs/applications/misc/dstask/default.nix
+++ b/pkgs/applications/misc/dstask/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dstask";
-  version = "0.21";
+  version = "0.23.1";
 
   src = fetchFromGitHub {
     owner = "naggie";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0af85rs4s0wfnibdhn28qycvy90aafkczccs5vyh36y7cnyhvgkl";
+    sha256 = "0rfz8jim0xqcwdb5n28942v9r3hbvhjrwdgzvbwc9f9psqg2s8d2";
   };
 
   # Set vendorSha256 to null because dstask vendors its dependencies (meaning
diff --git a/pkgs/applications/misc/dupeguru/default.nix b/pkgs/applications/misc/dupeguru/default.nix
index 41bfdb3fc5d90..51e1b77096d23 100644
--- a/pkgs/applications/misc/dupeguru/default.nix
+++ b/pkgs/applications/misc/dupeguru/default.nix
@@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
   src = fetchFromGitHub {
     owner = "arsenetar";
     repo = "dupeguru";
-    rev = "${version}";
+    rev = version;
     sha256 = "0ma4f1c6vmpz8gi4sdy43x1ik7wh42wayvk1iq520d3i714kfcpy";
     fetchSubmodules = true;
   };
diff --git a/pkgs/applications/misc/effitask/default.nix b/pkgs/applications/misc/effitask/default.nix
index 4f3255551c21a..26008c133b827 100644
--- a/pkgs/applications/misc/effitask/default.nix
+++ b/pkgs/applications/misc/effitask/default.nix
@@ -13,8 +13,8 @@ rustPlatform.buildRustPackage rec {
 
   src = fetchFromGitHub {
     owner = "sanpii";
-    repo = "${pname}";
-    rev = "${version}";
+    repo = pname;
+    rev = version;
     sha256 = "09bffxdp43s8b1rpmsgqr2kyz3i4jbd2yrwbxw21fj3sf3mwb9ig";
   };
 
diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix
index 12362823cc50f..fe263dd6692bc 100644
--- a/pkgs/applications/misc/electron-cash/default.nix
+++ b/pkgs/applications/misc/electron-cash/default.nix
@@ -3,13 +3,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "electron-cash";
-  version = "4.1.1";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "Electron-Cash";
     repo = "Electron-Cash";
     rev = version;
-    sha256 = "1fllz2s20lg4hrppzmnlgjy9mrq7gaq66l2apb3vz1avzvsjw3gm";
+    sha256 = "0ixsx4224jilc5zis6wbsbxqxv10mm5sksrzq15xp30zz0bzb6md";
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -48,7 +48,7 @@ python3Packages.buildPythonApplication rec {
 
   checkPhase = ''
     unset HOME
-    pytest lib/tests
+    pytest electroncash/tests
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index ad26a912e7814..40ecd61304f1f 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -19,7 +19,7 @@
 }:
 
 let
-  version = "4.0.3";
+  version = "4.0.5";
 
   # electrum is not compatible with dnspython 2.0.0 yet
   # use the latest 1.x release instead
@@ -43,7 +43,7 @@ let
     owner = "spesmilo";
     repo = "electrum";
     rev = version;
-    sha256 = "1r40i0v7nm35m3pzbd0l5z4qphl13s31l9v5njmyvpfjirdmhjbv";
+    sha256 = "0fdsgxzgsxvx6hhjag894nzzdfq989bx1d4anljzcz2ppy4ivpxg";
 
     extraPostFetch = ''
       mv $out ./all
@@ -58,7 +58,7 @@ py.pkgs.buildPythonApplication {
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "0q891fgzxvyzjxfczynx92hvclfs8i3nr5nr9sgbvz13hsg4s6lg";
+    sha256 = "06ml9lwa5k2dp56sm5s7dsl6qirqmgim7rn853cqcq9n45z41437";
   };
 
   postUnpack = ''
@@ -154,6 +154,6 @@ py.pkgs.buildPythonApplication {
     homepage = "https://electrum.org/";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ ehmry joachifm np ];
+    maintainers = with maintainers; [ ehmry joachifm np prusnak ];
   };
 }
diff --git a/pkgs/applications/misc/electrum/ltc.nix b/pkgs/applications/misc/electrum/ltc.nix
index 2c6fb39fa4334..7d6480b4696c9 100644
--- a/pkgs/applications/misc/electrum/ltc.nix
+++ b/pkgs/applications/misc/electrum/ltc.nix
@@ -27,6 +27,8 @@ python3Packages.buildPythonApplication rec {
     dnspython
     jsonrpclib-pelix
     pysocks
+    trezor
+    btchip
   ];
 
   preBuild = ''
diff --git a/pkgs/applications/misc/elf-dissector/default.nix b/pkgs/applications/misc/elf-dissector/default.nix
new file mode 100644
index 0000000000000..36ceb49d5c4be
--- /dev/null
+++ b/pkgs/applications/misc/elf-dissector/default.nix
@@ -0,0 +1,26 @@
+{ mkDerivation, fetchgit, lib, cmake, extra-cmake-modules, kitemmodels
+, libiberty, libelf, libdwarf, libopcodes }:
+
+mkDerivation rec {
+  pname = "elf-dissector";
+  version = "unstable-2020-11-14";
+
+  src = fetchgit {
+    url = "https://invent.kde.org/sdk/elf-dissector.git";
+    rev = "d1700e76e3f60aff0a2a9fb63bc001251d2be522";
+    sha256 = "1h1xr3ag1sbf005drcx8g8dc5mk7fb2ybs73swrld7clcawhxnk8";
+  };
+
+  nativeBuildInputs = [ cmake extra-cmake-modules ];
+
+  buildInputs = [ kitemmodels libiberty libelf libdwarf libopcodes ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://invent.kde.org/sdk/elf-dissector";
+    description = "Tools for inspecting, analyzing and optimizing ELF files";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ehmry ];
+  };
+}
diff --git a/pkgs/applications/misc/epr/default.nix b/pkgs/applications/misc/epr/default.nix
index f67c15f0a994f..478422a1c5c85 100644
--- a/pkgs/applications/misc/epr/default.nix
+++ b/pkgs/applications/misc/epr/default.nix
@@ -15,7 +15,7 @@ python3Packages.buildPythonApplication rec {
     description = "CLI Epub Reader";
     homepage = "https://github.com/wustho/epr";
     license = licenses.mit;
-    maintainers = [ maintainers.filalex77 ];
+    maintainers = [ maintainers.Br1ght0ne ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/eureka-editor/default.nix b/pkgs/applications/misc/eureka-editor/default.nix
index d72aeb629c381..7cee0487ea823 100644
--- a/pkgs/applications/misc/eureka-editor/default.nix
+++ b/pkgs/applications/misc/eureka-editor/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     description = "A map editor for the classic DOOM games, and a few related games such as Heretic and Hexen";
     license = licenses.gpl2;
     platforms = platforms.all;
+    broken = stdenv.isDarwin;
     maintainers = with maintainers; [ neonfuz ];
   };
 }
diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix
index fab83b75e7c9e..83d4103bc0c1d 100644
--- a/pkgs/applications/misc/fetchmail/default.nix
+++ b/pkgs/applications/misc/fetchmail/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, openssl }:
 
 let
-  version = "6.4.12";
+  version = "6.4.13";
 in
 stdenv.mkDerivation {
   pname = "fetchmail";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz";
-    sha256 = "11s83af63gs9nnrjb66yq58xriyvi8hzj4ykxp3kws5z3nby111b";
+    sha256 = "1qablzgwx3a516vdhckx3pv716x9r7nyfyr6fbncif861c3cya3x";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix
index b2001c21bf766..defbe7520d7c2 100644
--- a/pkgs/applications/misc/font-manager/default.nix
+++ b/pkgs/applications/misc/font-manager/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "font-manager";
-  version = "0.7.8";
+  version = "0.7.9";
 
   src = fetchFromGitHub {
     owner = "FontManager";
     repo = "master";
     rev = version;
-    sha256 = "0s1l30y55l45rrqd9lygvp2gzrqw25rmjgnnja6s5rzs79gc668c";
+    sha256 = "1nc0i824v2szz0j9a5rwl8gygih15xbxnxpnx9d3wr0yq9057q6q";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/fslint/default.nix b/pkgs/applications/misc/fslint/default.nix
index f6e1071ac5e80..1f2ec28054905 100644
--- a/pkgs/applications/misc/fslint/default.nix
+++ b/pkgs/applications/misc/fslint/default.nix
@@ -32,7 +32,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A utility to find and clean various forms of lint on a filesystem.";
+    description = "A utility to find and clean various forms of lint on a filesystem";
     homepage = "https://www.pixelbeat.org/fslint/";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.dasj19 ];
diff --git a/pkgs/applications/misc/fsv/default.nix b/pkgs/applications/misc/fsv/default.nix
index 8b6898958d3cf..ff556621f9ae6 100644
--- a/pkgs/applications/misc/fsv/default.nix
+++ b/pkgs/applications/misc/fsv/default.nix
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
   version = "0.9-1";
 
   src = fetchFromGitHub {
-    owner  = "mcuelenaere"; 
+    owner  = "mcuelenaere";
     repo   = "fsv";
     rev    = "${pname}-${version}";
     sha256 = "0n09jd7yqj18mx6zqbg7kab4idg5llr15g6avafj74fpg1h7iimj";
@@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
   buildInputs       = [ file gtk2 libGLU gtkglarea ];
 
   meta = with stdenv.lib; {
-    description     = "fsv is a file system visualizer in cyberspace";
+    description     = "File system visualizer in cyberspace";
     longDescription = ''
       fsv (pronounced eff-ess-vee) is a file system visualizer in cyberspace.
       It lays out files and directories in three dimensions, geometrically
diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix
index 717d4a3aab3f9..337d68b4b20d5 100644
--- a/pkgs/applications/misc/fuzzel/default.nix
+++ b/pkgs/applications/misc/fuzzel/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "https://codeberg.org/dnkl/fuzzel";
-    rev = "${version}";
+    rev = version;
     sha256 = "0c0p9spklzmy9f7abz3mvw0vp6zgnk3ns1i6ks95ljjb3kqy9vs2";
   };
 
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index ffe7d4ec47deb..8135dce4d7a3e 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.15.1";
+  version = "1.15.2";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1pysh0gz3f3dxk5bfkzaii4myrgik396mf6vlks50inpbnslmqsl";
+    sha256 = "0f2d1ixg0ir7ispxxggv378dc0m55k9y19075swf893maxf07f35";
   };
 
   propagatedBuildInputs = with python3Packages; [ requests ];
@@ -15,6 +15,7 @@ python3Packages.buildPythonApplication rec {
   pytestFlagsArray = [
     # requires network access
     "--ignore=test/test_results.py"
+    "--ignore=test/test_downloader.py"
   ];
 
   meta = {
diff --git a/pkgs/applications/misc/gammu/bashcomp-dir.patch b/pkgs/applications/misc/gammu/bashcomp-dir.patch
index d41aa432cf355..de402595cd38a 100644
--- a/pkgs/applications/misc/gammu/bashcomp-dir.patch
+++ b/pkgs/applications/misc/gammu/bashcomp-dir.patch
@@ -5,7 +5,7 @@
      macro_optional_find_package (BashCompletion)
      if (NOT BASH_COMPLETION_FOUND)
 -      set (BASH_COMPLETION_COMPLETIONSDIR "/etc/bash_completion.d" CACHE PATH "Location of bash_completion.d")
-+      set (BASH_COMPLETION_COMPLETIONSDIR "${CMAKE_INSTALL_PREFIX}/etc/bash_completion.d" CACHE PATH "Location of bash_completion.d")
++      set (BASH_COMPLETION_COMPLETIONSDIR "${CMAKE_INSTALL_PREFIX}/share/bash-completion/completions" CACHE PATH "Location of bash_completion.d")
      endif (NOT BASH_COMPLETION_FOUND)
      install (
          FILES bash-completion/gammu
diff --git a/pkgs/applications/misc/geoipupdate/default.nix b/pkgs/applications/misc/geoipupdate/default.nix
index ee6ed27ddda8a..1f2c275b13d11 100644
--- a/pkgs/applications/misc/geoipupdate/default.nix
+++ b/pkgs/applications/misc/geoipupdate/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "geoipupdate";
-  version = "4.3.0";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "maxmind";
     repo = "geoipupdate";
     rev = "v${version}";
-    sha256 = "08h14bf4z2gx9sy34jpi2pvxv3i8g9ypl222hzdjsp2ixhl0jia9";
+    sha256 = "0lhz7i4lprsik3s41y19vphsyc29vz6cbxikmvkmy6xjn40khjfr";
   };
 
-  vendorSha256 = "0q4byhvs1c1xm4qjvs2vyf98vdv121qn0z51arcf7k4ayrys5xcx";
+  vendorSha256 = "1f858k8cl0dgiw124jv0p9jhi9aqxnc3nmc7hksw70fla2nzjrv0";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/gmtp/default.nix b/pkgs/applications/misc/gmtp/default.nix
index 5ed69e7bc69ee..c568afac31e6f 100644
--- a/pkgs/applications/misc/gmtp/default.nix
+++ b/pkgs/applications/misc/gmtp/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "A simple MP3 and Media player client for UNIX and UNIX like systems.";
+    description = "A simple MP3 and Media player client for UNIX and UNIX like systems";
     homepage = "https://gmtp.sourceforge.io";
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ ];
diff --git a/pkgs/applications/misc/gnome-usage/default.nix b/pkgs/applications/misc/gnome-usage/default.nix
index 17aa7e9aa060d..44d4727edba06 100644
--- a/pkgs/applications/misc/gnome-usage/default.nix
+++ b/pkgs/applications/misc/gnome-usage/default.nix
@@ -14,15 +14,16 @@
 , libdazzle
 , gnome3
 , tracker
+, libhandy
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-usage";
-  version = "3.33.2";
+  version = "3.38.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0w3ppfaf15il8mad64qyc9hj1rmlvzs5dyzrxhq7r50k4kyiwmk4";
+    sha256 = "0mqs39yi2cqwkzlmmgzrszsva5hbdpws6zk4lbi4w2cjzl185mcl";
   };
 
   nativeBuildInputs = [
@@ -43,6 +44,7 @@ stdenv.mkDerivation rec {
     libdazzle
     libgtop
     tracker
+    libhandy
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/misc/go-jira/default.nix b/pkgs/applications/misc/go-jira/default.nix
index 8b3ca1e2d8de1..001f3d1de4c2f 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.24";
+  version = "1.0.27";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "go-jira";
     repo = "jira";
-    sha256 = "1qpimh39hsg75mb32hlvxmd7jj5b0cmhdkqz3dizfcnidllr3grd";
+    sha256 = "1sw56aqghfxh88mfchf0nvqld0x7w22jfwx13pd24slxv1iag1nb";
   };
 
-  vendorSha256 = "18jwxnkv94lsxfv57ga519knxm077cc8chp5c992ipk58a04nv18";
+  vendorSha256 = "0d64gkkzfm6hbgqaibj26fpaqnjs50p1675ycrshdhn6blb5mbxg";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock
index 91096ddc91737..7b1b20a1b78fa 100644
--- a/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/pkgs/applications/misc/gollum/Gemfile.lock
@@ -1,14 +1,13 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    backports (3.18.1)
     concurrent-ruby (1.1.7)
     crass (1.0.6)
     execjs (2.7.0)
     ffi (1.13.1)
     gemojione (4.3.3)
       json
-    github-markup (3.0.4)
+    github-markup (3.0.5)
     gollum (5.1.1)
       gemojione (~> 4.1)
       gollum-lib (~> 5.0)
@@ -25,7 +24,7 @@ GEM
       therubyrhino (~> 2.1.0)
       uglifier (~> 3.2)
       useragent (~> 0.16.2)
-    gollum-lib (5.0.5)
+    gollum-lib (5.0.6)
       gemojione (~> 4.1)
       github-markup (~> 3.0)
       gollum-rugged_adapter (~> 1.0)
@@ -42,12 +41,12 @@ GEM
       rexml
     kramdown-parser-gfm (1.0.1)
       kramdown (~> 2.0)
-    loofah (2.6.0)
+    loofah (2.8.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     mime-types (3.3.1)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2020.0512)
+    mime-types-data (3.2020.1104)
     mini_portile2 (2.4.0)
     multi_json (1.15.0)
     mustache (0.99.8)
@@ -58,13 +57,13 @@ GEM
     octicons (8.5.0)
       nokogiri (>= 1.6.3.1)
     rack (2.2.3)
-    rack-protection (2.0.8.1)
+    rack-protection (2.1.0)
       rack
     rb-fsevent (0.10.4)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
     rexml (3.2.4)
-    rouge (3.22.0)
+    rouge (3.25.0)
     rss (0.2.9)
       rexml
     ruby2_keywords (0.0.2)
@@ -74,22 +73,21 @@ GEM
     sass-listen (4.0.0)
       rb-fsevent (~> 0.9, >= 0.9.4)
       rb-inotify (~> 0.9, >= 0.9.7)
-    sinatra (2.0.8.1)
+    sinatra (2.1.0)
       mustermann (~> 1.0)
-      rack (~> 2.0)
-      rack-protection (= 2.0.8.1)
+      rack (~> 2.2)
+      rack-protection (= 2.1.0)
       tilt (~> 2.0)
-    sinatra-contrib (2.0.8.1)
-      backports (>= 2.8.2)
+    sinatra-contrib (2.1.0)
       multi_json
       mustermann (~> 1.0)
-      rack-protection (= 2.0.8.1)
-      sinatra (= 2.0.8.1)
+      rack-protection (= 2.1.0)
+      sinatra (= 2.1.0)
       tilt (~> 2.0)
     sprockets (3.7.2)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
-    sprockets-helpers (1.3.0)
+    sprockets-helpers (1.4.0)
       sprockets (>= 2.2)
     therubyrhino (2.1.2)
       therubyrhino_jar (>= 1.7.4, < 1.7.9)
diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix
index 45bf0e04d07f5..7d7c0ef3d5f05 100644
--- a/pkgs/applications/misc/gollum/gemset.nix
+++ b/pkgs/applications/misc/gollum/gemset.nix
@@ -1,14 +1,4 @@
 {
-  backports = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qagwshq7zyjgm6k53hbrf4gfrwn6qz5d6rrc83cl59q37v68zsc";
-      type = "gem";
-    };
-    version = "3.18.1";
-  };
   concurrent-ruby = {
     groups = ["default"];
     platforms = [];
@@ -65,10 +55,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14991x92v8s60hfqv7162jfmdqa20fifn2bz0km3k5cgi01pf9rs";
+      sha256 = "0rlq9hnvhhndqskl087xwabbvfbfnrvx8ac79iin35wmzpyagl96";
       type = "gem";
     };
-    version = "3.0.4";
+    version = "3.0.5";
   };
   gollum = {
     dependencies = ["gemojione" "gollum-lib" "kramdown" "kramdown-parser-gfm" "mustache" "octicons" "rss" "sass" "sinatra" "sinatra-contrib" "sprockets" "sprockets-helpers" "therubyrhino" "uglifier" "useragent"];
@@ -87,10 +77,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18f3g5px9zznyh6ppqlnjdp1ia8awgrix9lhbfh64rpgxg0b9xlr";
+      sha256 = "02mc1w4hn9kjrgvg0r46x1bd0h8hq7lqs432dgjfn2dw36kchja4";
       type = "gem";
     };
-    version = "5.0.5";
+    version = "5.0.6";
   };
   gollum-rugged_adapter = {
     dependencies = ["mime-types" "rugged"];
@@ -141,10 +131,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s9hq8bpn6g5vqr3nzyirn3agn7x8agan6151zvq5vmkf6rvmyb2";
+      sha256 = "0ndimir6k3kfrh8qrb7ir1j836l4r3qlwyclwjh88b86clblhszh";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.8.0";
   };
   mime-types = {
     dependencies = ["mime-types-data"];
@@ -162,10 +152,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z75svngyhsglx0y2f9rnil2j08f9ab54b3l95bpgz67zq2if753";
+      sha256 = "0ipjyfwn9nlvpcl8knq3jk4g5f12cflwdbaiqxcq1s7vwfwfxcag";
       type = "gem";
     };
-    version = "3.2020.0512";
+    version = "3.2020.1104";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -246,10 +236,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zyj97bfr1shfgwk4ddmdbw0mdkm4qdyh9s1hl0k7accf3kxx1yi";
+      sha256 = "159a4j4kragqh0z0z8vrpilpmaisnlz3n7kgiyf16bxkwlb3qlhz";
       type = "gem";
     };
-    version = "2.0.8.1";
+    version = "2.1.0";
   };
   rb-fsevent = {
     groups = ["default"];
@@ -287,10 +277,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wcz7i009wdbymlfsamagqi18m6ih8j60bii0k18f21g70r72i0m";
+      sha256 = "0yvcv901lrh5rfnk1h4h56hf2m6n9pd6w8n96vag74aakgz3gaxn";
       type = "gem";
     };
-    version = "3.22.0";
+    version = "3.25.0";
   };
   rss = {
     dependencies = ["rexml"];
@@ -351,21 +341,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0riy3hwjab1mr73jcqx3brmbmwspnw3d193j06a5f0fy1w35z15q";
+      sha256 = "0dd53rzpkxgs697pycbhhgc9vcnxra4ly4xar8ni6aiydx2f88zk";
       type = "gem";
     };
-    version = "2.0.8.1";
+    version = "2.1.0";
   };
   sinatra-contrib = {
-    dependencies = ["backports" "multi_json" "mustermann" "rack-protection" "sinatra" "tilt"];
+    dependencies = ["multi_json" "mustermann" "rack-protection" "sinatra" "tilt"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mmrfm4pqh98f3irjpkvfpazhcx6q42bnx6bbms9dqvmck3mid28";
+      sha256 = "1rl1iiafz51yzjd0vchl2lni7lmwppjql6cn1fnfxbma707qlcja";
       type = "gem";
     };
-    version = "2.0.8.1";
+    version = "2.1.0";
   };
   sprockets = {
     dependencies = ["concurrent-ruby" "rack"];
@@ -384,10 +374,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14iq8v16l31bfq7pikfmgcv5x6pkc5lbdmwwg6zlzcy1bibcliar";
+      sha256 = "0513ma356g05lsskhsb363263177h6ccmp475il0p69y18his2ij";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.4.0";
   };
   therubyrhino = {
     dependencies = ["therubyrhino_jar"];
diff --git a/pkgs/applications/misc/googler/default.nix b/pkgs/applications/misc/googler/default.nix
index 1eca26d7be022..7a096b52314a0 100644
--- a/pkgs/applications/misc/googler/default.nix
+++ b/pkgs/applications/misc/googler/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/jarun/googler";
     description = "Google Search, Google Site Search, Google News from the terminal";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ koral filalex77 ];
+    maintainers = with maintainers; [ koral Br1ght0ne ];
     platforms = python.meta.platforms;
   };
 }
diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix
index 1235a41ffc7bf..cdfbe3f6dc1fb 100644
--- a/pkgs/applications/misc/gphoto2/default.nix
+++ b/pkgs/applications/misc/gphoto2/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gphoto2-2.5.23";
+  name = "gphoto2-2.5.26";
 
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "1laqwhxr0xhbykmp0dhd3j4rr2lhj5y228s31afnqxp700hhk1yz";
+    sha256 = "0bxbcn31xalsvjp8fra324hf2105y3ps7zlyfz11v71j0lxj2lvn";
   };
 
   nativeBuildInputs = [ pkgconfig gettext libtool ];
diff --git a/pkgs/applications/misc/gpscorrelate/default.nix b/pkgs/applications/misc/gpscorrelate/default.nix
index 07918d3d599d9..42f522175b045 100644
--- a/pkgs/applications/misc/gpscorrelate/default.nix
+++ b/pkgs/applications/misc/gpscorrelate/default.nix
@@ -1,5 +1,5 @@
 { fetchFromGitHub, stdenv, fetchpatch, pkgconfig, exiv2, libxml2, gtk3
-, libxslt, docbook_xsl, docbook_xml_dtd_42, desktop-file-utils }:
+, libxslt, docbook_xsl, docbook_xml_dtd_42, desktop-file-utils, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "gpscorrelate";
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
     docbook_xsl
     libxslt
     pkgconfig
+    wrapGAppsHook
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/misc/gpx/default.nix b/pkgs/applications/misc/gpx/default.nix
index dcf022fc44531..70ff26784a863 100644
--- a/pkgs/applications/misc/gpx/default.nix
+++ b/pkgs/applications/misc/gpx/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gpx";
-  version = "2.5.2";
+  version = "2.6.7";
 
   nativeBuildInputs = [ autoreconfHook ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "markwal";
     repo = "GPX";
     rev = version;
-    sha256 = "1yab269x8qyf7rd04vaxyqyjv4pzz9lp4sc4dwh927k23avr3rw5";
+    sha256 = "1dl5vlsx05ipy10h18xigicb3k7m33sa9hfyd46hkpr2glx7jh4p";
   };
 
   meta = {
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 5b34007ec4080..11b373ac1311e 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "gpxsee";
-  version = "7.33";
+  version = "7.36";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "1k4zl7knlpwxrpqk1axkmy8x12915z15h3q2sjnx3jcnx6qw73ja";
+    sha256 = "18vsw6hw6kn5wmr4iarhx1v8q455j60fhf0hq69jkfyarl56b99j";
   };
 
   patches = (substituteAll {
@@ -29,15 +29,14 @@ mkDerivation rec {
     wrapQtApp $out/Applications/GPXSee.app/Contents/MacOS/GPXSee
   '';
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
-    homepage = "https://www.gpxsee.org/";
     description = "GPS log file viewer and analyzer";
     longDescription = ''
       GPXSee is a Qt-based GPS log file viewer and analyzer that supports
       all common GPS log file formats.
     '';
+    homepage = "https://www.gpxsee.org/";
+    changelog = "https://build.opensuse.org/package/view_file/home:tumic:GPXSee/gpxsee/gpxsee.changes";
     license = licenses.gpl3;
     maintainers = with maintainers; [ womfoo sikmir ];
     platforms = with platforms; linux ++ darwin;
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
index 09717cd642658..1ef00efaf7b48 100644
--- a/pkgs/applications/misc/gramps/default.nix
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool, gnome3,
+{ stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool, gexiv2,
   pango, gobject-introspection, wrapGAppsHook, gettext,
 # Optional packages:
  enableOSM ? true, osm-gps-map,
@@ -9,11 +9,11 @@
 let
   inherit (pythonPackages) python buildPythonApplication;
 in buildPythonApplication rec {
-  version = "5.0.1";
+  version = "5.1.3";
   pname = "gramps";
 
   nativeBuildInputs = [ wrapGAppsHook gettext ];
-  buildInputs = [ intltool gtk3 gobject-introspection pango gnome3.gexiv2 ]
+  buildInputs = [ intltool gtk3 gobject-introspection pango gexiv2 ]
     # Map support
     ++ stdenv.lib.optional enableOSM osm-gps-map
     # Graphviz support
@@ -26,7 +26,7 @@ in buildPythonApplication rec {
     owner = "gramps-project";
     repo = "gramps";
     rev = "v${version}";
-    sha256 = "1jz1fbjj6byndvir7qxzhd2ryirrd5h2kwndxpp53xdc05z1i8g7";
+    sha256 = "109dwkswz2h2328xkqk2zj736d117s9pp7rz5cc1qg2vxn1lpm93";
   };
 
   pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ];
diff --git a/pkgs/applications/misc/gremlin-console/default.nix b/pkgs/applications/misc/gremlin-console/default.nix
index a4932943fa236..74485e2004aad 100644
--- a/pkgs/applications/misc/gremlin-console/default.nix
+++ b/pkgs/applications/misc/gremlin-console/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "gremlin-console";
-  version = "3.3.4";
+  version = "3.4.8";
   src = fetchzip {
     url = "http://www-eu.apache.org/dist/tinkerpop/${version}/apache-tinkerpop-gremlin-console-${version}-bin.zip";
-    sha256 = "14xr0yqklmm4jvj1hnkj89lj83zzs2l1375ni0jbf12gy31jlb2w";
+    sha256 = "13ycr6ppyrz9rq7dasabjdk8lcsxdj3krb4j7d2jmbh2hij1rdvf";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/grsync/default.nix b/pkgs/applications/misc/grsync/default.nix
index 8d17ff09204f1..e1c9902c6ae7b 100644
--- a/pkgs/applications/misc/grsync/default.nix
+++ b/pkgs/applications/misc/grsync/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    description = "Grsync is used to synchronize folders, files and make backups";
+    description = "Synchronize folders, files and make backups";
     homepage = "http://www.opbyte.it/grsync/";
     license = licenses.gpl1;
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/haxor-news/default.nix b/pkgs/applications/misc/haxor-news/default.nix
index 98f84ca68b8e3..41aa71cb82e20 100644
--- a/pkgs/applications/misc/haxor-news/default.nix
+++ b/pkgs/applications/misc/haxor-news/default.nix
@@ -1,20 +1,35 @@
-{ stdenv, python, fetchpatch }:
-
-with python.pkgs;
+{ stdenv, fetchFromGitHub, python3, fetchpatch }:
+
+
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+      self = py;
+
+      # not compatible with prompt_toolkit >=2.0
+      prompt_toolkit = super.prompt_toolkit.overridePythonAttrs (oldAttrs: rec {
+        name = "${oldAttrs.pname}-${version}";
+        version = "1.0.18";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "09h1153wgr5x2ny7ds0w2m81n3bb9j8hjb8sjfnrg506r01clkyx";
+        };
+      });
+    };
+  };
+in
+with py.pkgs;
 
 buildPythonApplication rec {
   pname = "haxor-news";
-  version = "0.4.3";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5b9af8338a0f8b95a8133b66ef106553823813ac171c0aefa3f3f2dbeb4d7f88";
-  };
-
-  # allow newer click version
-  patches = fetchpatch {
-    url = "${meta.homepage}/commit/5b0d3ef1775756ca15b6d83fba1fb751846b5427.patch";
-    sha256 = "1551knh2f7yarqzcpip16ijmbx8kzdna8cihxlxx49ww55f5sg67";
+  version = "unstable-2020-10-20";
+
+  # haven't done a stable release in 3+ years, but actively developed
+  src = fetchFromGitHub {
+    owner = "donnemartin";
+    repo = pname;
+    rev = "811a5804c09406465b2b02eab638c08bf5c4fa7f";
+    sha256 = "1g3dfsyk4727d9jh9w6j5r51ag07851cls7v7a7hmdvdixpvbzp6";
   };
 
   propagatedBuildInputs = [
@@ -26,6 +41,7 @@ buildPythonApplication rec {
     six
   ];
 
+  # will fail without pre-seeded config files
   doCheck = false;
 
   checkInputs = [ mock ];
diff --git a/pkgs/applications/misc/heimer/default.nix b/pkgs/applications/misc/heimer/default.nix
index 19034c1dc7628..444ee7ab5232f 100644
--- a/pkgs/applications/misc/heimer/default.nix
+++ b/pkgs/applications/misc/heimer/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "heimer";
-  version = "1.19.0";
+  version = "1.21.0";
 
   src = fetchFromGitHub {
     owner = "juzzlin";
     repo = pname;
     rev = version;
-    sha256 = "18paabqfxz49fahdi4fs5z870aynmyfj3xw8q768qffgc26zhl3m";
+    sha256 = "03q3jn0j0cydw2mxfv7236lv4w9fh9slha0mphj33mk2f97b9hl6";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/hr/default.nix b/pkgs/applications/misc/hr/default.nix
index 91a66bc737819..a0555f9032e95 100644
--- a/pkgs/applications/misc/hr/default.nix
+++ b/pkgs/applications/misc/hr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hr";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "LuRsT";
     repo = "hr";
     rev = version;
-    sha256 = "162vkip2772jl59lschpinimpg4ssiyg7fq0va5cx4d7wldpqmks";
+    sha256 = "068kq37lbqfjzh28rlvkprni38ii991naawylwvq6d43y9dpzs2b";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/hstr/default.nix b/pkgs/applications/misc/hstr/default.nix
index 81f931b11f8e2..421d02e97b91d 100644
--- a/pkgs/applications/misc/hstr/default.nix
+++ b/pkgs/applications/misc/hstr/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hstr";
-  version = "2.2";
+  version = "2.3";
 
   src = fetchFromGitHub {
     owner  = "dvorka";
     repo   = "hstr";
     rev    = version;
-    sha256 = "07fkilqlkpygvf9kvxyvl58g3lfq0bwwdp3wczy4hk8qlbhmgihn";
+    sha256 = "1chmfdi1dwg3sarzd01nqa82g65q7wdr6hrnj96l75vikwsg986y";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 37965fd6e3ee7..5bad48edca1e2 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.75.1";
+  version = "0.78.2";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c3l3q2xkibl1lz2mbvhgj94s6d9g5nakhpzj252s3m3cgk4w5wh";
+    sha256 = "1xjxyx520wa6sgvighjp82qqfi0ykfskp0za5j95167c56ss8lm4";
   };
 
-  vendorSha256 = "0gdd8fqd4mwg69wj8dxmm5wh1pjhdc189l2gy6njgpmwh93xbvdg";
+  vendorSha256 = "00jjcw76l12ppx3q1xhly7q10jfi2kx62a8z3r1k7m2593k8c4vq";
 
   doCheck = false;
 
@@ -22,9 +22,9 @@ buildGoModule rec {
   subPackages = [ "." ];
 
   meta = with stdenv.lib; {
-    description = "A fast and modern static website engine.";
+    description = "A fast and modern static website engine";
     homepage = "https://gohugo.io";
     license = licenses.asl20;
-    maintainers = with maintainers; [ schneefux filalex77 Frostman ];
+    maintainers = with maintainers; [ schneefux Br1ght0ne Frostman ];
   };
 }
diff --git a/pkgs/applications/misc/icesl/default.nix b/pkgs/applications/misc/icesl/default.nix
index 7b642dffa5038..b3e7e53774d76 100644
--- a/pkgs/applications/misc/icesl/default.nix
+++ b/pkgs/applications/misc/icesl/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "IceSL is a GPU-accelerated procedural modeler and slicer for 3D printing.";
+    description = "GPU-accelerated procedural modeler and slicer for 3D printing";
     homepage = "http://shapeforge.loria.fr/icesl/index.html";
     license = licenses.inria-icesl;
     platforms = [ "i686-linux" "x86_64-linux" ];
diff --git a/pkgs/applications/misc/imag/default.nix b/pkgs/applications/misc/imag/default.nix
index bb6956aaa596e..f3d4e156d6cd2 100644
--- a/pkgs/applications/misc/imag/default.nix
+++ b/pkgs/applications/misc/imag/default.nix
@@ -7,7 +7,7 @@
 , installShellFiles
 , Security
 , gitMinimal
-, utillinuxMinimal
+, util-linuxMinimal
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ installShellFiles pkg-config ];
   buildInputs = [ openssl ]
     ++ stdenv.lib.optional stdenv.isDarwin Security;
-  checkInputs = [ gitMinimal utillinuxMinimal ];
+  checkInputs = [ gitMinimal util-linuxMinimal ];
 
   LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
 
@@ -57,7 +57,7 @@ rustPlatform.buildRustPackage rec {
     description = "Commandline personal information management suite";
     homepage = "https://imag-pim.org/";
     license = licenses.lgpl21;
-    maintainers = with maintainers; [ filalex77 minijackson ];
+    maintainers = with maintainers; [ Br1ght0ne minijackson ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/inkcut/avoid-name-clash-between-inkcut-and-extension.patch b/pkgs/applications/misc/inkcut/avoid-name-clash-between-inkcut-and-extension.patch
new file mode 100644
index 0000000000000..34e4e6f0e7fb8
--- /dev/null
+++ b/pkgs/applications/misc/inkcut/avoid-name-clash-between-inkcut-and-extension.patch
@@ -0,0 +1,85 @@
+From ddc1f9e63e7a769c71131b56f6a2a011c649635c Mon Sep 17 00:00:00 2001
+From: Arnout Engelen <arnout@bzzt.net>
+Date: Tue, 24 Nov 2020 15:34:40 +0100
+Subject: [PATCH] Avoid name clash between inkscape plugin and inkcut itself
+
+Ohterwise, with an unfortunate PYTONPATH, inkcut would no longer
+start since it'd try to invoke the inkcut.py from the extension
+instead of the main application
+---
+ plugins/inkscape/{inkcut.py => inkcut4inkscape.py} | 2 +-
+ plugins/inkscape/inkcut_cut.inx                    | 2 +-
+ plugins/inkscape/inkcut_cut.py                     | 2 +-
+ plugins/inkscape/inkcut_open.inx                   | 2 +-
+ plugins/inkscape/inkcut_open.py                    | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+ rename plugins/inkscape/{inkcut.py => inkcut4inkscape.py} (98%)
+
+diff --git a/plugins/inkscape/inkcut.py b/plugins/inkscape/inkcut4inkscape.py
+similarity index 98%
+rename from plugins/inkscape/inkcut.py
+rename to plugins/inkscape/inkcut4inkscape.py
+index 5b90475..7dc8d86 100644
+--- a/plugins/inkscape/inkcut.py
++++ b/plugins/inkscape/inkcut4inkscape.py
+@@ -2,7 +2,7 @@
+ # -*- coding: utf-8 -*-
+ """
+ Inkcut, Plot HPGL directly from Inkscape.
+-   inkcut.py
++   inkcut4inkscape.py
+ 
+    Copyright 2018 The Inkcut Team
+ 
+diff --git a/plugins/inkscape/inkcut_cut.inx b/plugins/inkscape/inkcut_cut.inx
+index 4b44ae5..3db8721 100644
+--- a/plugins/inkscape/inkcut_cut.inx
++++ b/plugins/inkscape/inkcut_cut.inx
+@@ -2,7 +2,7 @@
+   <_name>Cut selection...</_name>
+   <id>org.ekips.filter.inkcut.cut</id>
+   <dependency type="executable" location="extensions">inkcut_cut.py</dependency>
+-  <dependency type="executable" location="extensions">inkcut.py</dependency>
++  <dependency type="executable" location="extensions">inkcut4inkscape.py</dependency>
+   <dependency type="executable" location="extensions">inkex.py</dependency>  
+   <effect>
+     <object-type>all</object-type>
+diff --git a/plugins/inkscape/inkcut_cut.py b/plugins/inkscape/inkcut_cut.py
+index acaf812..777629a 100644
+--- a/plugins/inkscape/inkcut_cut.py
++++ b/plugins/inkscape/inkcut_cut.py
+@@ -37,7 +37,7 @@
+ else:
+     inkex.localize()
+ import subprocess
+-from inkcut import contains_text, convert_objects_to_paths
++from inkcut4inkscape import contains_text, convert_objects_to_paths
+ 
+ 
+ 
+diff --git a/plugins/inkscape/inkcut_open.inx b/plugins/inkscape/inkcut_open.inx
+index 45ee585..2dcd38e 100644
+--- a/plugins/inkscape/inkcut_open.inx
++++ b/plugins/inkscape/inkcut_open.inx
+@@ -2,7 +2,7 @@
+   <_name>Open current document...</_name>
+   <id>org.ekips.filter.inkcut.open</id>
+   <dependency type="executable" location="extensions">inkcut_open.py</dependency>
+-  <dependency type="executable" location="extensions">inkcut.py</dependency>
++  <dependency type="executable" location="extensions">inkcut4inkscape.py</dependency>
+   <dependency type="executable" location="extensions">inkex.py</dependency>  
+   <effect>
+     <object-type>all</object-type>
+diff --git a/plugins/inkscape/inkcut_open.py b/plugins/inkscape/inkcut_open.py
+index b4652eb..e4c2d62 100644
+--- a/plugins/inkscape/inkcut_open.py
++++ b/plugins/inkscape/inkcut_open.py
+@@ -38,7 +38,7 @@
+     inkex.localize()
+ import subprocess
+ 
+-from inkcut import convert_objects_to_paths
++from inkcut4inkscape import convert_objects_to_paths
+ 
+ DEBUG = False
+ try:
diff --git a/pkgs/applications/misc/inkcut/default.nix b/pkgs/applications/misc/inkcut/default.nix
index 6be6e842bde72..481069feac07d 100644
--- a/pkgs/applications/misc/inkcut/default.nix
+++ b/pkgs/applications/misc/inkcut/default.nix
@@ -1,18 +1,28 @@
-{ lib, python3Packages, fetchFromGitHub, wrapQtAppsHook }:
+{ lib
+, python3Packages
+, fetchFromGitHub
+, wrapQtAppsHook
+}:
 
 with python3Packages;
 
 buildPythonApplication rec {
   pname = "inkcut";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c0mfdfy9iq4l683f3aa7cm7x2w9px83dyigc7655wvaq3bxi2rp";
+    sha256 = "1zn5i69f3kimcwdd2qkqd3hd1hq76a6i5wxxfb91ih2hj04vdbmx";
   };
 
+  patches = [
+    # https://github.com/inkcut/inkcut/pull/292 but downloaded
+    # because of https://github.com/NixOS/nixpkgs/issues/32084
+    ./avoid-name-clash-between-inkcut-and-extension.patch
+  ];
+
   nativeBuildInputs = [ wrapQtAppsHook ];
 
   propagatedBuildInputs = [
@@ -45,6 +55,15 @@ buildPythonApplication rec {
   dontWrapQtApps = true;
   makeWrapperArgs = [ "\${qtWrapperArgs[@]}" ];
 
+  postInstall = ''
+    mkdir -p $out/share/inkscape/extensions
+
+    cp plugins/inkscape/* $out/share/inkscape/extensions
+
+    sed -i "s|cmd = \['inkcut'\]|cmd = \['$out/bin/inkcut'\]|" $out/share/inkscape/extensions/inkcut_cut.py
+    sed -i "s|cmd = \['inkcut'\]|cmd = \['$out/bin/inkcut'\]|" $out/share/inkscape/extensions/inkcut_open.py
+  '';
+
   meta = with lib; {
     homepage = "https://www.codelv.com/projects/inkcut/";
     description = "Control 2D plotters, cutters, engravers, and CNC machines";
diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix
index e46df5d59e0e3..851022899d9fc 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.16.0";
-  buildVersion = "190815";
+  version = "2.17.0";
+  buildVersion = "200505";
 
   src = fetchurl {
     url = "https://www.supermicro.com/wftp/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz";
-    sha256 = "0qw9zfnj0cyvab7ndamlw2y0gpczjhh1jkz8340kl42r2xmhkvpl";
+    sha256 = "0ba0694krj2q77zwdn22v2qzjdy52a7ryhgc3m51s7p17ahigz97";
   };
 
   nativeBuildInputs = [ patchelf makeWrapper ];
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
     patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ libX11 libXext libXrender libXtst libXi ]}" ./jre/lib/amd64/libawt_xawt.so
     patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ freetype ]}" ./jre/lib/amd64/libfontmanager.so
     patchelf --set-rpath "${gcc-unwrapped.lib}/lib" ./libiKVM64.so
+    patchelf --set-rpath "${gcc-unwrapped.lib}/lib" ./libiKVM_v11_64.so
     patchelf --set-rpath "${gcc.cc}/lib:$out/jre/lib/amd64/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}
   '';
@@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
     exec = "IPMIView";
     desktopName = name;
     genericName = "Supermicro BMC manager";
-    categories = "Network;Configuration";
+    categories = "Network";
   };
 
   installPhase = ''
@@ -60,7 +61,7 @@ stdenv.mkDerivation rec {
       --add-flags "-jar $out/IPMIView20.jar" \
       --run 'WORK_DIR=''${XDG_DATA_HOME:-~/.local/share}/ipmiview
              mkdir -p $WORK_DIR
-             ln -snf '$out'/iKVM.jar '$out'/libiKVM* '$out'/libSharedLibrary* $WORK_DIR
+             ln -snf '$out'/iKVM.jar '$out'/iKVM_ssl.jar '$out'/libiKVM* '$out'/libSharedLibrary* $WORK_DIR
              cd $WORK_DIR'
   '';
 
diff --git a/pkgs/applications/misc/j4-dmenu-desktop/default.nix b/pkgs/applications/misc/j4-dmenu-desktop/default.nix
index c20fa4ed9d9b0..2b1b093fd3549 100644
--- a/pkgs/applications/misc/j4-dmenu-desktop/default.nix
+++ b/pkgs/applications/misc/j4-dmenu-desktop/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "j4-dmenu-desktop";
-  version = "2.17";
+  version = "2.18";
 
   src = fetchFromGitHub {
     owner = "enkore";
     repo = pname;
     rev = "r${version}";
-    sha256 = "0v23fimkn83dcm5p53y2ymhklff3kwppxhf75sm8xmswrzkixpgc";
+    sha256 = "1gxpgifzy0hnpd0ymw3r32amzr32z3bgb90ldjzl438p6h1q0i26";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix
index be103f3543a81..de68e90a4f143 100644
--- a/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/pkgs/applications/misc/joplin-desktop/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "joplin-desktop";
-  version = "1.2.6";
+  version = "1.3.18";
   name = "${pname}-${version}";
 
   inherit (stdenv.hostPlatform) system;
@@ -16,8 +16,8 @@ let
   src = fetchurl {
     url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}";
     sha256 = {
-      x86_64-linux = "14svzfhszb0pnsajbydsic0rdc64zp6csqjp6k2p2i20jf0c0im6";
-      x86_64-darwin = "1wdv8idnvn5567xdmsaa3f7skv48i9q6jqd4pgv8pz1zkhiqj0wi";
+      x86_64-linux = "1dldy137ia8qxhf7d5xzq5slm12bhnmw4kx7fm37n1ajjdcn5sf7";
+      x86_64-darwin = "0zm9vhxlfs1ldd8za4yha54psqwl0al4hzdfxjfp7ir98i9a4cj7";
     }.${system} or throwSystem;
   };
 
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index ea7672abf6e7b..eab2519ad08ee 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, fetchsvn, makeWrapper, unzip, jre, libXxf86vm }:
 let
   pname = "josm";
-  version = "17084";
+  version = "17329";
   srcs = {
     jar = fetchurl {
       url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-      sha256 = "0avzpzmvv371jpbph9xpq0ia2nikha2aib9v10hr2f9q7vka9zx4";
+      sha256 = "0hra146akadqz9acj1xa2vzrmipfzf8li7sgsmk169xr991y653k";
     };
     macosx = fetchurl {
       url = "https://josm.openstreetmap.de/download/macosx/josm-macosx-${version}.zip";
-      sha256 = "1vd2r4sshjpd6ic460cdil75skrm6f6q48lm6n3g1ywkn4mx63p1";
+      sha256 = "0i09jnfqbcirmic9vayrp78lnyk4mfh7ax3v3cs8kyqhk930pscf";
     };
     pkg = fetchsvn {
       url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
@@ -43,6 +43,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "An extensible editor for OpenStreetMap";
     homepage = "https://josm.openstreetmap.de/";
+    changelog = "https://josm.openstreetmap.de/wiki/Changelog";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ rycee sikmir ];
     platforms = platforms.all;
diff --git a/pkgs/applications/misc/jotta-cli/default.nix b/pkgs/applications/misc/jotta-cli/default.nix
index 70ca28b467831..069d98111cc41 100644
--- a/pkgs/applications/misc/jotta-cli/default.nix
+++ b/pkgs/applications/misc/jotta-cli/default.nix
@@ -5,10 +5,10 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "jotta-cli";
-  version = "0.6.24251";
+  version = "0.7.35160";
   src = fetchzip {
       url = "https://repo.jotta.us/archives/linux/${arch}/jotta-cli-${version}_linux_${arch}.tar.gz";
-      sha256 = "0f26fg5fqpz0f6jxp72cj5f2kf76jah5iaqlqsl87250y0hm330g";
+      sha256 = "00fzycy199l9y738cj71s88qz96ppczb5sqsk3x9w4jj4m6ks239";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix
index 75e467d4cdf8a..be61a76190a27 100644
--- a/pkgs/applications/misc/k2pdfopt/default.nix
+++ b/pkgs/applications/misc/k2pdfopt/default.nix
@@ -2,7 +2,7 @@
 , cmake, pkgconfig, zlib, libpng, makeWrapper
 , enableGSL ? true, gsl
 , enableGhostScript ? true, ghostscript
-, enableMuPDF ? true, mupdf
+, enableMuPDF ? true, mupdf_1_17
 , enableDJVU ? true, djvulibre
 , enableGOCR ? false, gocr # Disabled by default due to crashes
 , enableTesseract ? true, leptonica, tesseract4
@@ -89,7 +89,7 @@ in stdenv.mkDerivation rec {
         cp ${k2pdfopt_src}/mupdf_mod/pdf-* ./source/pdf/
       '';
     };
-    mupdf_modded = mupdf.overrideAttrs ({ patches ? [], ... }: {
+    mupdf_modded = mupdf_1_17.overrideAttrs ({ patches ? [], ... }: {
       patches = patches ++ [ mupdf_patch ];
       # This function is missing in font.c, see font-win32.c
       postPatch = ''
diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix
index 4f84420330ddb..ebe31b10c60ef 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.15";
+  version = "1.2.16";
 
   src = fetchFromGitHub {
     owner = "kanboard";
     repo = "kanboard";
     rev = "v${version}";
-    sha256 = "0lib2qlc8a59i9dak0g1j5hymwbq9vhflp5srhcjislxypfvrizs";
+    sha256 = "1nps7xcw1gp7kfdp13wyj2sprc8hn5iamdb0xj4202qygpzm63wq";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix b/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix
index f9dbf14624f72..10e6996873a06 100644
--- a/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix
+++ b/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix
@@ -8,7 +8,7 @@ let
     src = fetchFromGitHub {
       owner = "pfn";
       repo = "keepasshttp";
-      #rev = "${version}";
+      # rev = version;
       # for 1.8.4.2 the tag is at the wrong commit (they fixed stuff
       # afterwards and didn't move the tag), hence reference by commitid
       rev = "c2c4eb5388a02169400cba7a67be325caabdcc37";
diff --git a/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix b/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix
index 3d41c45f6dc53..b28914a44a818 100644
--- a/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix
+++ b/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix
@@ -1,13 +1,13 @@
 { stdenv, buildEnv, fetchurl, mono }:
 
 let
-  version = "1.8.0";
+  version = "1.14.0";
   drv = stdenv.mkDerivation {
     pname = "keepassrpc";
     inherit version;
     src = fetchurl {
       url    = "https://github.com/kee-org/keepassrpc/releases/download/v${version}/KeePassRPC.plgx";
-      sha256 = "1dclfpia559cqf78qw29zz235h1df5md4kgjv3bbi8y41wwmx7cd";
+      sha256 = "1c410cc93c0252e7cfdb02507b8172c13e18d12c97f08630b721d897dc9b8b24";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index 23f80eaa9cabc..6164a60d6a86d 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -3,11 +3,11 @@
 
 with builtins; buildDotnetPackage rec {
   baseName = "keepass";
-  version = "2.45";
+  version = "2.46";
 
   src = fetchurl {
     url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
-    sha256 = "07wyp3k2kiprr47mc4vxb7vmh7g5kshcqw0gq3qr87gi78c9i66m";
+    sha256 = "0zyclydgyg8nhwxrzw7x4f82975cqdmp12py33k6sballx6jhgiy";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index f0131712b2378..7df1294874f15 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -31,7 +31,7 @@
 , withKeePassKeeShare ? true
 , withKeePassKeeShareSecure ? true
 , withKeePassSSHAgent ? true
-, withKeePassNetworking ? false
+, withKeePassNetworking ? true
 , withKeePassTouchID ? true
 , withKeePassFDOSecrets ? true
 }:
@@ -40,13 +40,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = version;
-    sha256 = "0wgn0glmcxaa670bpxh7n7abjlxcx4h1rl1169cmah0ddxnxnxpq";
+    sha256 = "032dzywvwpclhsl3n1pq2m9gyxqpg0gkci6axbvbs7bn82wznc4h";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
diff --git a/pkgs/applications/misc/keeweb/default.nix b/pkgs/applications/misc/keeweb/default.nix
new file mode 100644
index 0000000000000..159f034b8535d
--- /dev/null
+++ b/pkgs/applications/misc/keeweb/default.nix
@@ -0,0 +1,65 @@
+{ stdenv, fetchurl, appimageTools, undmg, libsecret }:
+let
+  inherit (stdenv.hostPlatform) system;
+  throwSystem = throw "Unsupported system: ${system}";
+
+  pname = "keeweb";
+  version = "1.15.7";
+  name = "${pname}-${version}";
+
+  suffix = {
+    x86_64-linux = "linux.AppImage";
+    x86_64-darwin = "mac.dmg";
+  }.${system} or throwSystem;
+
+  src = fetchurl {
+    url = "https://github.com/keeweb/keeweb/releases/download/v${version}/KeeWeb-${version}.${suffix}";
+    sha256 = {
+      x86_64-linux = "0cy0avl0m07xs523xm0rzsmifl28sv4rjb2jj3x492qmr2v64ckk";
+      x86_64-darwin = "0r8c3zi0ibj0bb0gfc1axfn0y4qpjqfr0xpcxf810d65kaz6wic4";
+    }.${system} or throwSystem;
+  };
+
+  appimageContents = appimageTools.extract {
+    inherit name src;
+  };
+
+  meta = with stdenv.lib; {
+    description = "Free cross-platform password manager compatible with KeePass";
+    homepage = "https://keeweb.info/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+  };
+
+  linux = appimageTools.wrapType2 rec {
+    inherit name src meta;
+
+    extraPkgs = pkgs: with pkgs; [ libsecret ];
+
+    extraInstallCommands = ''
+      mv $out/bin/{${name},${pname}}
+      install -Dm644 ${appimageContents}/keeweb.desktop -t $out/share/applications
+      install -Dm644 ${appimageContents}/keeweb.png -t $out/share/icons/hicolor/256x256/apps
+      install -Dm644 ${appimageContents}/usr/share/mime/keeweb.xml -t $out/share/mime
+      substituteInPlace $out/share/applications/keeweb.desktop \
+        --replace 'Exec=AppRun' 'Exec=${pname}'
+    '';
+  };
+
+  darwin = stdenv.mkDerivation {
+    inherit pname version src meta;
+
+    nativeBuildInputs = [ undmg ];
+
+    sourceRoot = "KeeWeb.app";
+
+    installPhase = ''
+      mkdir -p $out/Applications/KeeWeb.app
+      cp -R . $out/Applications/KeeWeb.app
+    '';
+  };
+in
+if stdenv.isDarwin
+then darwin
+else linux
diff --git a/pkgs/applications/misc/klayout/default.nix b/pkgs/applications/misc/klayout/default.nix
index 5f6c679f3ba1b..60905be3b1b23 100644
--- a/pkgs/applications/misc/klayout/default.nix
+++ b/pkgs/applications/misc/klayout/default.nix
@@ -1,17 +1,17 @@
 { lib, mkDerivation, fetchFromGitHub, fetchpatch
 , python, ruby, qtbase, qtmultimedia, qttools, qtxmlpatterns
-, which, perl, makeWrapper, fixDarwinDylibNames
+, which, perl, makeWrapper
 }:
 
 mkDerivation rec {
   pname = "klayout";
-  version = "0.26.6";
+  version = "0.26.8";
 
   src = fetchFromGitHub {
     owner = "KLayout";
     repo = "klayout";
     rev = "v${version}";
-    sha256 = "0z17pdjdc2r2m5yi5bfz504dzzs978z8p6bhlf08v2npvigp8vz1";
+    sha256 = "0pkhvxcfk70dnmgczyyq585mxrfwqai44ikshs4c1imh92z25llq";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/kondo/default.nix b/pkgs/applications/misc/kondo/default.nix
index 6b23d1d0437f2..f47458f0f3ff2 100644
--- a/pkgs/applications/misc/kondo/default.nix
+++ b/pkgs/applications/misc/kondo/default.nix
@@ -17,6 +17,6 @@ rustPlatform.buildRustPackage rec {
     description = "Save disk space by cleaning unneeded files from software projects";
     homepage = "https://github.com/tbillington/kondo";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/pkgs/applications/misc/koreader/default.nix b/pkgs/applications/misc/koreader/default.nix
index f49eebad6b4d6..4ffd3f6fbf650 100644
--- a/pkgs/applications/misc/koreader/default.nix
+++ b/pkgs/applications/misc/koreader/default.nix
@@ -11,12 +11,12 @@
 let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
 in stdenv.mkDerivation rec {
   pname = "koreader";
-  version = "2020.09";
+  version = "2020.11";
 
   src = fetchurl {
     url =
       "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
-    sha256 = "12kiw3mw8g8d9fb8ywd4clm2bgblhq2gqcxzadwpmf0wxq7p0v8z";
+    sha256 = "15nw8kyjyhqlr742gkpzn1b9906rdm6cssnc6jbbph5pjdlzspc4";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/misc/krename/default.nix b/pkgs/applications/misc/krename/default.nix
index 578c56a748a7f..c1e031b7277de 100644
--- a/pkgs/applications/misc/krename/default.nix
+++ b/pkgs/applications/misc/krename/default.nix
@@ -7,14 +7,14 @@
 
 let
   pname = "krename";
-  version = "5.0.0";
+  version = "5.0.1";
 
 in mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
-    sha256 = "136j1dkqrhv458rjh5v3vzjhvq6dhz7k79zk6mmx8zvqacc7cq8a";
+    sha256 = "0zbadxjp13jqxgb58wslhm0wy2lhpdq1bgbvyhyn21mssfppib6a";
   };
 
   buildInputs = [ taglib exiv2 podofo ];
diff --git a/pkgs/applications/misc/krusader/default.nix b/pkgs/applications/misc/krusader/default.nix
index ab13c4989d9a9..585dfe3e04f17 100644
--- a/pkgs/applications/misc/krusader/default.nix
+++ b/pkgs/applications/misc/krusader/default.nix
@@ -4,25 +4,23 @@
   karchive, kconfig, kcrash, kguiaddons, kinit, kparts, kwindowsystem
 }:
 
-let
+mkDerivation rec {
   pname = "krusader";
   version = "2.7.2";
-in mkDerivation rec {
-  pname = "krusader";
-  inherit version;
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
     sha256 = "02b1jz5a7cjr13v6c7fczrhs1xmg1krnva5fxk8x2bf4nd1rm8s1";
   };
 
+  nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
+
+  propagatedBuildInputs = [ karchive kconfig kcrash kguiaddons kinit kparts kwindowsystem ];
+
   meta = with lib; {
     description = "Norton/Total Commander clone for KDE";
-    license = licenses.gpl2;
     homepage = "http://www.krusader.org";
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ sander turion ];
   };
-
-  nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
-  propagatedBuildInputs = [ karchive kconfig kcrash kguiaddons kinit kparts kwindowsystem ];
 }
diff --git a/pkgs/applications/misc/kupfer/default.nix b/pkgs/applications/misc/kupfer/default.nix
index c7f54990107f9..f2744bf23ea57 100644
--- a/pkgs/applications/misc/kupfer/default.nix
+++ b/pkgs/applications/misc/kupfer/default.nix
@@ -16,6 +16,8 @@ buildPythonApplication rec {
   pname = "kupfer";
   version = "319";
 
+  format = "other";
+
   src = fetchurl {
     url = "https://github.com/kupferlauncher/kupfer/releases/download/v${version}/kupfer-v${version}.tar.xz";
     sha256 = "0c9xjx13r8ckfr4az116bhxsd3pk78v04c3lz6lqhraak0rp4d92";
@@ -33,13 +35,9 @@ buildPythonApplication rec {
   # see https://github.com/NixOS/nixpkgs/issues/56943 for details
   strictDeps = false;
 
-  postInstall = let
-    pythonPath = (stdenv.lib.concatMapStringsSep ":"
-      (m: "${m}/lib/${python.libPrefix}/site-packages")
-      propagatedBuildInputs);
-  in ''
+  postInstall = ''
     gappsWrapperArgs+=(
-      "--prefix" "PYTHONPATH" : "${pythonPath}"
+      "--prefix" "PYTHONPATH" : "${makePythonPath propagatedBuildInputs}"
       "--set" "PYTHONNOUSERSITE" "1"
     )
   '';
diff --git a/pkgs/applications/misc/libosmocore/default.nix b/pkgs/applications/misc/libosmocore/default.nix
index 2bd8bfa99bcd6..8b36d384e153f 100644
--- a/pkgs/applications/misc/libosmocore/default.nix
+++ b/pkgs/applications/misc/libosmocore/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "libosmocore";
+    description = "Set of Osmocom core libraries";
     homepage = "https://github.com/osmocom/libosmocore";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index d7752258df98e..c16322ad84fac 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11,
-libGLU, libGL, freetype, xclip, inotify-tools, procps }:
+{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, jbig2dec, openjpeg, libjpeg , lcms2, harfbuzz,
+libGLU, libGL, gumbo, freetype, zlib, xclip, inotify-tools, procps }:
 
 assert lib.versionAtLeast (lib.getVersion ocaml) "4.07";
 
 stdenv.mkDerivation rec {
   pname = "llpp";
-  version = "32";
+  version = "33";
 
   src = fetchgit {
     url = "git://repo.or.cz/llpp.git";
     rev = "v${version}";
-    sha256 = "1h1zysm5cz8laq8li49djl6929cnrjlflag9hw0c1dcr4zaxk32y";
+    sha256 = "0shqzhaflm2yhkx6c0csq9lxp1s1r7lh5kgpx9q5k06xya2a7yvs";
     fetchSubmodules = false;
   };
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   });
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype ];
+  buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype zlib gumbo jbig2dec openjpeg libjpeg lcms2 harfbuzz ];
 
   dontStrip = true;
 
diff --git a/pkgs/applications/misc/llpp/fix-build-bash.patch b/pkgs/applications/misc/llpp/fix-build-bash.patch
index fbc341c8af783..c12828f2d94d7 100644
--- a/pkgs/applications/misc/llpp/fix-build-bash.patch
+++ b/pkgs/applications/misc/llpp/fix-build-bash.patch
@@ -1,8 +1,9 @@
 diff --git a/build.bash b/build.bash
 index 7c278b6..41494c5 100755
+with manual adjustments
 --- a/build.bash
 +++ b/build.bash
-@@ -29,7 +29,6 @@ srcd="$(dirname $0)"
+@@ -30,7 +30,6 @@ srcd="$(dirname $0)"
  mudir=$outd/mupdf
  muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include"
  
@@ -10,25 +11,25 @@ index 7c278b6..41494c5 100755
  
  mkdir -p $outd/{$wsid,lablGL}
  :>$outd/ordered
-@@ -39,12 +38,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; }
- mbt=${mbt:-native}
- mulibs="$mudir/build/$mbt/libmupdf.a" # $mudir/build/$mbt/libmupdf-third.a
+@@ -41,12 +40,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; }
+ mulibst="$mudir/build/$mbt/libs"
+ mulibs="$mudir/build/$mbt/libmupdf.a $mudir/build/$mbt/libmupdf-third.a"
  
 -keycmd="(cd $mudir && make -q build=$mbt libs && echo); digest $mulibs"
--isfresh "$mulibs" "$(eval $keycmd)" || (
+-isfresh "$mulibst" "$(eval $keycmd)" || (
 -    make -C "$mudir" build=$mbt -j $mjobs libs
--    eval $keycmd >$mudir/build/$mbt/libmupdf.a.past
+-    eval $keycmd >${mulibst}.past
 -) && vecho "fresh mupdf"
 -
  oincs() {
      local i=
      local incs1=
-@@ -89,34 +82,6 @@ mflags() {
+@@ -100,35 +93,6 @@ mflags() {
  }
  
  overs="$(ocamlc -vnum 2>/dev/null)" || overs=""
--test "$overs" = "4.10.0" || {
--    url=https://caml.inria.fr/pub/distrib/ocaml-4.10/ocaml-4.10.0.tar.xz
+-test "$overs" = "4.11.1" || {
+-    url=https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.1.tar.xz
 -    txz=$outd/$(basename $url)
 -    keycmd="printf $url; digest $txz;"
 -    isfresh $txz "$(eval $keycmd)" || {
@@ -48,7 +49,8 @@ index 7c278b6..41494c5 100755
 -        tar xf $txz -C $outd
 -        bn=$(basename $url)
 -        cd $outd/${bn%.tar.xz}
--        ./configure --disable-ocamldoc --enable-debugger=no --prefix=$absprefix
+-        ./configure --disable-ocamldoc --disable-ocamltest      \
+-                    --enable-debugger=no --prefix=$absprefix
 -        make -j $mjobs world
 -        make install
 -        eval $keycmd >$absprefix/bin/ocamlc.past
@@ -58,7 +60,7 @@ index 7c278b6..41494c5 100755
  
  ccomp=${LLPP_CC-$(ocamlc -config | grep "^c_compiler: " | \
                        { read _ c; echo $c; })}
-@@ -230,7 +195,7 @@ bobjc() {
+@@ -243,7 +208,7 @@ bobjc() {
      } && vecho "fresh $o"
  }
  
@@ -67,12 +69,12 @@ index 7c278b6..41494c5 100755
  
  cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)"
  keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml"
-@@ -284,7 +249,7 @@ for m in ml_gl ml_glarray ml_raw; do
+@@ -291,7 +256,7 @@ for m in ml_gl ml_glarray ml_raw; do
  done
  
  libs="str.cma unix.cma"
 -clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread"
-+clibs="-lmupdf -lfreetype -lpthread"
++clibs="-lmupdf -lmupdf-third -lfreetype -lgumbo -ljpeg -lopenjp2 -ljbig2dec -llcms2 -lharfbuzz -lpthread -lz"
  if $darwin; then
      mcomp=$(ocamlc -config | grep bytecomp_c_co | { read _ c; echo $c; })
      clibs="$clibs -framework Cocoa -framework OpenGL"
diff --git a/pkgs/applications/misc/lsd2dsl/default.nix b/pkgs/applications/misc/lsd2dsl/default.nix
index 335279c7084ad..b30d652584f52 100644
--- a/pkgs/applications/misc/lsd2dsl/default.nix
+++ b/pkgs/applications/misc/lsd2dsl/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "lsd2dsl";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "nongeneric";
     repo = pname;
     rev = "v${version}";
-    sha256 = "100qd9i0x6r0nkw1ic2p0xjr16jlhinxkn1x7i98s4xmw4wyb8n8";
+    sha256 = "0s0la6zkg584is93p4nj1ha3pbnvadq84zgsv8nym3r35n7k8czi";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -19,8 +19,7 @@ mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-Wno-error=unused-result -Wno-error=missing-braces";
 
   installPhase = ''
-    install -Dm755 console/lsd2dsl $out/bin/lsd2dsl
-    install -m755 gui/lsd2dsl-qtgui $out/bin/lsd2dsl-qtgui
+    install -Dm755 console/lsd2dsl gui/lsd2dsl-qtgui -t $out/bin
   '' + lib.optionalString stdenv.isDarwin ''
     wrapQtApp $out/bin/lsd2dsl
     wrapQtApp $out/bin/lsd2dsl-qtgui
diff --git a/pkgs/applications/misc/lutris/fhsenv.nix b/pkgs/applications/misc/lutris/fhsenv.nix
index 2b656775ab5ca..d7eabae0e8e5a 100644
--- a/pkgs/applications/misc/lutris/fhsenv.nix
+++ b/pkgs/applications/misc/lutris/fhsenv.nix
@@ -103,7 +103,7 @@ in buildFHSUserEnv {
 
     # WINE
     cups lcms2 mpg123 cairo unixODBC samba4 sane-backends openldap
-    ocl-icd utillinux libkrb5
+    ocl-icd util-linux libkrb5
 
     # Proton
     libselinux
diff --git a/pkgs/applications/misc/mapproxy/default.nix b/pkgs/applications/misc/mapproxy/default.nix
index 5676aef236071..41ae683548d08 100644
--- a/pkgs/applications/misc/mapproxy/default.nix
+++ b/pkgs/applications/misc/mapproxy/default.nix
@@ -56,7 +56,7 @@ buildPythonApplication rec {
   #    https://github.com/NixOS/nixpkgs/pull/56480
   doCheck = false;
   meta = with lib; {
-  description = "MapProxy is an open source proxy for geospatial data";
+  description = "Open source proxy for geospatial data";
   homepage = "https://mapproxy.org/";
   license = licenses.asl20;
   maintainers = with maintainers; [ rakesh4g ];
diff --git a/pkgs/applications/misc/marktext/default.nix b/pkgs/applications/misc/marktext/default.nix
index e7600752ce210..83a7aabaef7bf 100644
--- a/pkgs/applications/misc/marktext/default.nix
+++ b/pkgs/applications/misc/marktext/default.nix
@@ -32,7 +32,7 @@ appimageTools.wrapType2 rec {
   extraInstallCommands = "mv $out/bin/${name} $out/bin/${pname}";
 
   meta = with lib; {
-    description = "A simple and elegant markdown editor, available for Linux, macOS and Windows.";
+    description = "A simple and elegant markdown editor, available for Linux, macOS and Windows";
     homepage = "https://marktext.app";
     license = licenses.mit;
     maintainers = with maintainers; [ nh2 ];
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
index 96833bb25d353..b3e23f2245cfb 100644
--- a/pkgs/applications/misc/mediainfo-gui/default.nix
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -2,11 +2,11 @@
 , desktop-file-utils, libSM, imagemagick }:
 
 stdenv.mkDerivation rec {
-  version = "20.08";
+  version = "20.09";
   pname = "mediainfo-gui";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "1baf2dj5s3g1x4ssqli1b2r1203syk42m09zhp36qcinmfixv11l";
+    sha256 = "0rqg9z7s5bk7vlvjrs4gackzg7ib05a0dffi2ihsjf5a7kw7wcir";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
index 09f20a9ba5ddc..0fd3826f4e563 100644
--- a/pkgs/applications/misc/mediainfo/default.nix
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "20.08";
+  version = "20.09";
   pname = "mediainfo";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "1baf2dj5s3g1x4ssqli1b2r1203syk42m09zhp36qcinmfixv11l";
+    sha256 = "0rqg9z7s5bk7vlvjrs4gackzg7ib05a0dffi2ihsjf5a7kw7wcir";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix
index d5da4c7d773ab..3b25d7e606a65 100644
--- a/pkgs/applications/misc/megasync/default.nix
+++ b/pkgs/applications/misc/megasync/default.nix
@@ -1,17 +1,40 @@
-{ stdenv, autoconf, automake, c-ares, cryptopp, curl, doxygen, fetchFromGitHub
-, fetchpatch, ffmpeg_3, libmediainfo, libraw, libsodium, libtool, libuv, libzen
-, lsb-release, mkDerivation, pkgconfig, qtbase, qttools, sqlite, swig, unzip
-, wget }:
+{ stdenv
+, autoconf
+, automake
+, c-ares
+, cryptopp
+, curl
+, doxygen
+, fetchFromGitHub
+, fetchpatch
+, ffmpeg_3
+, libmediainfo
+, libraw
+, libsodium
+, libtool
+, libuv
+, libzen
+, lsb-release
+, mkDerivation
+, pkgconfig
+, qtbase
+, qttools
+, qtx11extras
+, sqlite
+, swig
+, unzip
+, wget
+}:
 
 mkDerivation rec {
   pname = "megasync";
-  version = "4.3.1.0";
+  version = "4.3.5.0";
 
   src = fetchFromGitHub {
     owner = "meganz";
     repo = "MEGAsync";
     rev = "v${version}_Linux";
-    sha256 = "0b68wpif8a0wf1vfn1nr19dmz8f31dprb27jpldxrxhyfslc43yj";
+    sha256 = "0rr1jjy0n5bj1lh6xi3nbbcikvq69j3r9qnajp4mhywr5izpccvs";
     fetchSubmodules = true;
   };
 
@@ -29,6 +52,7 @@ mkDerivation rec {
     libuv
     libzen
     qtbase
+    qtx11extras
     sqlite
     unzip
     wget
diff --git a/pkgs/applications/misc/minder/default.nix b/pkgs/applications/misc/minder/default.nix
index 14b9ebfe4c7dd..bf94ac4299477 100644
--- a/pkgs/applications/misc/minder/default.nix
+++ b/pkgs/applications/misc/minder/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minder";
-  version = "1.9.2";
+  version = "1.11.3";
 
   src = fetchFromGitHub {
     owner = "phase1geo";
     repo = pname;
     rev = version;
-    sha256 = "0lhwwx515f0ycpinkhgbjnik7dj2c7fckikbgzwkzzs25xqp9ayj";
+    sha256 = "137kyf82n5a2v0cm9q02rhv8rmbjgnj60h64prq90h0d42prj3gd";
   };
 
   nativeBuildInputs = [ pkgconfig meson ninja python3 wrapGAppsHook vala shared-mime-info ];
diff --git a/pkgs/applications/misc/moolticute/default.nix b/pkgs/applications/misc/moolticute/default.nix
index c815a74e01977..bc825b94facba 100644
--- a/pkgs/applications/misc/moolticute/default.nix
+++ b/pkgs/applications/misc/moolticute/default.nix
@@ -9,13 +9,13 @@
 
 mkDerivation rec {
   pname = "moolticute";
-  version = "0.44.0";
+  version = "0.44.17";
 
   src = fetchFromGitHub {
     owner = "mooltipass";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1xlbhx6f1ysx8gka8g67271whzhkzsnkavpq3x58hdxr8v88khby";
+    sha256 = "1bqp99n8cqr7kjiffbs39v0dd280f50hid5py3c4zgc7aqj9k0bx";
   };
 
   outputs = [ "out" "udev" ];
diff --git a/pkgs/applications/misc/mu-repo/default.nix b/pkgs/applications/misc/mu-repo/default.nix
index ddee1939b02a5..eacd1971610f4 100644
--- a/pkgs/applications/misc/mu-repo/default.nix
+++ b/pkgs/applications/misc/mu-repo/default.nix
@@ -1,20 +1,19 @@
-{ lib, fetchFromGitHub, buildPythonApplication, pytest, git }:
+{ lib, fetchFromGitHub, buildPythonApplication, pytestCheckHook, git }:
 
 buildPythonApplication rec {
   pname = "mu-repo";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "fabioz";
     repo = pname;
-    rev = with lib;
-      "mu_repo_" + concatStringsSep "_" (splitVersion version);
-    sha256 = "1dxfggzbhiips0ww2s93yba9842ycp0i3x2i8vvcx0vgicv3rv6f";
+    rev = "mu_repo_${lib.replaceStrings [ "." ] [ "_" ] version}";
+    sha256 = "0mmjdkvmdlsndi2q56ybxyz2988ppxsbbr1g54nzzkkvab2bc2na";
   };
 
-  checkInputs = [ pytest git ];
-  # disable test which assumes it's a git repo
-  checkPhase = "py.test mu_repo --ignore=mu_repo/tests/test_checkout.py";
+  propagatedBuildInputs = [ git ];
+
+  checkInputs = [ pytestCheckHook git ];
 
   meta = with lib; {
     description = "Tool to help in dealing with multiple git repositories";
diff --git a/pkgs/applications/misc/multibootusb/default.nix b/pkgs/applications/misc/multibootusb/default.nix
index 8f90c7a581d0a..c1c7b5a2706ef 100644
--- a/pkgs/applications/misc/multibootusb/default.nix
+++ b/pkgs/applications/misc/multibootusb/default.nix
@@ -1,6 +1,6 @@
 { fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, qemu, unzip, zip,
   coreutils, gnugrep, which, gnused, e2fsprogs, autoPatchelfHook, gptfdisk,
-  python36Packages, qt5, runtimeShell, stdenv, utillinux, wrapQtAppsHook }:
+  python36Packages, qt5, runtimeShell, stdenv, util-linux, wrapQtAppsHook }:
 
 # Note: Multibootusb is tricky to maintain. It relies on the
 # $PYTHONPATH variable containing some of their code, so that
@@ -30,7 +30,7 @@ python36Packages.buildPythonApplication rec {
     gnugrep
     which
     parted
-    utillinux
+    util-linux
     qemu
     p7zip
     gnused
diff --git a/pkgs/applications/misc/mupdf/1.17.nix b/pkgs/applications/misc/mupdf/1.17.nix
new file mode 100644
index 0000000000000..c6243e5f1d6ba
--- /dev/null
+++ b/pkgs/applications/misc/mupdf/1.17.nix
@@ -0,0 +1,95 @@
+{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg
+, jbig2dec, libjpeg , darwin
+, enableX11 ? true, libX11, libXext, libXi, libXrandr
+, enableCurl ? true, curl, openssl
+, enableGL ? true, freeglut, libGLU
+}:
+
+let
+
+  # OpenJPEG version is hardcoded in package source
+  openJpegVersion = with stdenv;
+    lib.versions.majorMinor (lib.getVersion openjpeg);
+
+
+in stdenv.mkDerivation rec {
+  version = "1.17.0";
+  pname = "mupdf";
+
+  src = fetchurl {
+    url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
+    sha256 = "13nl9nrcx2awz9l83mlv2psi1lmn3hdnfwxvwgwiwbxlkjl3zqq0";
+  };
+
+  patches =
+    # Use shared libraries to decrease size
+    stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch
+    ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch
+  ;
+
+  postPatch = ''
+    sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
+  '';
+
+  makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ]
+                ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
+                ++ lib.optionals enableCurl [ curl openssl ]
+                ++ lib.optionals enableGL (
+                  if stdenv.isDarwin then
+                    with darwin.apple_sdk.frameworks; [ GLUT OpenGL ]
+                  else
+                    [ freeglut libGLU ])
+                ;
+  outputs = [ "bin" "dev" "out" "man" "doc" ];
+
+  preConfigure = ''
+    # Don't remove mujs because upstream version is incompatible
+    rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,libjpeg,openjpeg,zlib}
+  '';
+
+  postInstall = ''
+    mkdir -p "$out/lib/pkgconfig"
+    cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
+    prefix=$out
+    libdir=$out/lib
+    includedir=$out/include
+
+    Name: mupdf
+    Description: Library for rendering PDF documents
+    Version: ${version}
+    Libs: -L$out/lib -lmupdf -lmupdf-third
+    Cflags: -I$dev/include
+    EOF
+
+    moveToOutput "bin" "$bin"
+    ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf"
+    mkdir -p $bin/share/applications
+    cat > $bin/share/applications/mupdf.desktop <<EOF
+    [Desktop Entry]
+    Type=Application
+    Version=1.0
+    Name=mupdf
+    Comment=PDF viewer
+    Exec=$bin/bin/mupdf-x11 %f
+    Terminal=false
+    MimeType=application/pdf;application/x-pdf;application/x-cbz;application/oxps;application/vnd.ms-xpsdocument;application/epub+zip
+    EOF
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://mupdf.com";
+    repositories.git = "git://git.ghostscript.com/mupdf.git";
+    description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ vrthra fpletz ];
+    platforms = platforms.unix;
+    knownVulnerabilities = [
+      "CVE-2020-26519: denial of service when parsing JBIG2"
+      "CVE-2017-5991: NULL pointer dereference"
+    ];
+  };
+}
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index 61eb32bbd5cde..836d970a2b558 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg
 , jbig2dec, libjpeg , darwin
+, gumbo
 , enableX11 ? true, libX11, libXext, libXi, libXrandr
 , enableCurl ? true, curl, openssl
 , enableGL ? true, freeglut, libGLU
@@ -13,27 +14,43 @@ let
 
 
 in stdenv.mkDerivation rec {
-  version = "1.17.0";
+  version = "1.18.0";
   pname = "mupdf";
 
   src = fetchurl {
     url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
-    sha256 = "13nl9nrcx2awz9l83mlv2psi1lmn3hdnfwxvwgwiwbxlkjl3zqq0";
+    sha256 = "0rljl44y8p8hgaqializlyrgpij1wbnrzyp0ll5kcg7w05nylq48";
   };
 
   patches =
-    # Use shared libraries to decrease size
-    stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch
-    ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch
-  ;
+    stdenv.lib.optional stdenv.isDarwin ./darwin.patch ++ [
+    (fetchpatch {
+        name = "pdfocr.patch";
+        url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=a507b139adf37d2c742e039815601cdc2aa00a84";
+        sha256 = "1fx6pdgwrbk3bqsx53764d61llfj9s5q8lxqkna7mjnp7mg4krj3";
+      })
+    (fetchpatch {
+        name = "pdf-layer.patch";
+        url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=b82e9b6d6b46877e5c3763cc3bc641c66fa7eb54";
+        sha256 = "0ma8jq8d9a0mf26qjklgi4gdaflpjik1br1nhafzvjz7ccl56ksm";
+      })
+    (fetchpatch {
+        name = "pixmap.patch";
+        url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=32e4e8b4bcbacbf92af7c88337efae21986d9603";
+        sha256 = "1zqkxgwrhcwsdya98pcmpq2815jjmv3fwsp0sba9f5nq5xi6whbj";
+      })
+    ];
 
   postPatch = ''
     sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
   '';
 
+  # Use shared libraries to decrease size
+  buildFlags = [ "shared" ];
+
   makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ];
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ]
+  buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU gumbo ]
                 ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
                 ++ lib.optionals enableCurl [ curl openssl ]
                 ++ lib.optionals enableGL (
diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix
index 63d7077d32e06..71adcdc0757b9 100644
--- a/pkgs/applications/misc/mysql-workbench/default.nix
+++ b/pkgs/applications/misc/mysql-workbench/default.nix
@@ -9,7 +9,7 @@
 , gtkmm3
 , pcre
 , swig
-, antlr4_7
+, antlr4_8
 , sudo
 , mysql
 , libxml2
@@ -80,7 +80,7 @@ in stdenv.mkDerivation rec {
   # have it look for 4.7.2 instead of 4.7.1
   preConfigure = ''
     substituteInPlace CMakeLists.txt \
-      --replace "antlr-4.7.1-complete.jar" "antlr-4.7.2-complete.jar"
+      --replace "antlr-4.7.1-complete.jar" "antlr-4.8-complete.jar"
   '';
 
   nativeBuildInputs = [
@@ -96,7 +96,7 @@ in stdenv.mkDerivation rec {
     gtk3
     gtkmm3
     libX11
-    antlr4_7.runtime.cpp
+    antlr4_8.runtime.cpp
     python2
     mysql
     libxml2
@@ -141,7 +141,7 @@ in stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DMySQL_CONFIG_PATH=${mysql}/bin/mysql_config"
     "-DIODBC_CONFIG_PATH=${libiodbc}/bin/iodbc-config"
-    "-DWITH_ANTLR_JAR=${antlr4_7.jarLocation}"
+    "-DWITH_ANTLR_JAR=${antlr4_8.jarLocation}"
     # mysql-workbench 8.0.21 depends on libmysqlconnectorcpp 1.1.8.
     # Newer versions of connector still provide the legacy library when enabled
     # but the headers are in a different location.
diff --git a/pkgs/applications/misc/navi/default.nix b/pkgs/applications/misc/navi/default.nix
index 1965a8ad5ec51..7553b078ef61c 100644
--- a/pkgs/applications/misc/navi/default.nix
+++ b/pkgs/applications/misc/navi/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "navi";
-  version = "2.12.0";
+  version = "2.12.1";
 
   src = fetchFromGitHub {
     owner = "denisidoro";
     repo = "navi";
     rev = "v${version}";
-    sha256 = "0izmf4flwwn2h1wwpsnghb6rd494lj63hhsky1v9v6l1l641had4";
+    sha256 = "1vrj8ad004h6jgmcb56f3f19s4xk6gvcpwysj78bxzgpa1998r3r";
   };
 
-  cargoSha256 = "19xv9kbmxbp84lj8ycifsdr7sw9vhwgla7cdmrvlhayiq5r04xd7";
+  cargoSha256 = "0yifgcf2pfszzny523ax7pb9a5r3012nynbnhdqg0j1ia1pdymf3";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/misc/navit/default.nix b/pkgs/applications/misc/navit/default.nix
index 099bcbfb25dfd..e04669d689649 100644
--- a/pkgs/applications/misc/navit/default.nix
+++ b/pkgs/applications/misc/navit/default.nix
@@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.navit-project.org";
     description = "Car navigation system with routing engine using OSM maps";
     license = licenses.gpl2;
-    maintainers = [ maintainers.genesis ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix
index 9ec5018c4e3f4..81f2f648e5f03 100644
--- a/pkgs/applications/misc/nnn/default.nix
+++ b/pkgs/applications/misc/nnn/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "nnn";
-  version = "3.4";
+  version = "3.5";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lyrpyhzzs2bdgx3ifq1c5dq3s2v30xdiaq0j8zjc64s6bghfxnd";
+    sha256 = "1fa7cmwrzn6kx87kms8i98p9azdlwyh2gnif29l340syl9hkr5qy";
   };
 
   configFile = optionalString (conf != null) (builtins.toFile "nnn.h" conf);
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/jarun/nnn";
     license = licenses.bsd2;
     platforms = platforms.all;
-    maintainers = with maintainers; [ jfrankenau filalex77 ];
+    maintainers = with maintainers; [ jfrankenau Br1ght0ne ];
   };
 }
diff --git a/pkgs/applications/misc/nwg-launchers/default.nix b/pkgs/applications/misc/nwg-launchers/default.nix
index fc8cf3ee02e15..77eae10293d41 100644
--- a/pkgs/applications/misc/nwg-launchers/default.nix
+++ b/pkgs/applications/misc/nwg-launchers/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nwg-launchers";
-  version = "0.3.3";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1p1bwsn7l4vp7y183735pgsfbh7dssdfn0wjzacl4s87arjdcgvb";
+    sha256 = "0flp7mwj1pgcwx3k9pzc8pmqlkhbddj0maimdnvlazk87kzxpfd0";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix
index 4e53657a74744..ac28694c45e42 100644
--- a/pkgs/applications/misc/obsidian/default.nix
+++ b/pkgs/applications/misc/obsidian/default.nix
@@ -30,12 +30,12 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "obsidian";
-  version = "0.9.1";
+  version = "0.9.15";
 
   src = fetchurl {
     url =
       "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.asar.gz";
-    sha256 = "1skilcqfawvvyj9dnacsmlls55cqq6a4hzz9is165cwkyab185c5";
+    sha256 = "0cfzci2l1bbjc5mqs3hjyy3grz5jk3qbna57vfcvxz36kcd5djv5";
   };
 
   nativeBuildInputs = [ makeWrapper graphicsmagick ];
@@ -65,7 +65,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description =
-      "Obsidian is a powerful knowledge base that works on top of a local folder of plain text Markdown files";
+      "A powerful knowledge base that works on top of a local folder of plain text Markdown files";
     homepage = "https://obsidian.md";
     license = licenses.obsidian;
     maintainers = with maintainers; [ conradmearns zaninime ];
diff --git a/pkgs/applications/misc/octoprint/m33-fio-one-library.patch b/pkgs/applications/misc/octoprint/m33-fio-one-library.patch
deleted file mode 100644
index 24c9c4a80f5d1..0000000000000
--- a/pkgs/applications/misc/octoprint/m33-fio-one-library.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From 314bcebfcd1759981ce12255be29d8ae68cd400b Mon Sep 17 00:00:00 2001
-From: Nikolay Amiantov <ab@fmap.me>
-Date: Wed, 23 Nov 2016 00:40:48 +0300
-Subject: [PATCH] Build and use one version of preprocessor library
-
----
- octoprint_m33fio/__init__.py   | 73 ++----------------------------------------
- shared library source/Makefile | 62 +++--------------------------------
- 2 files changed, 6 insertions(+), 129 deletions(-)
-
-diff --git a/octoprint_m33fio/__init__.py b/octoprint_m33fio/__init__.py
-index 054870a..4d5ecc1 100755
---- a/octoprint_m33fio/__init__.py
-+++ b/octoprint_m33fio/__init__.py
-@@ -1189,78 +1189,9 @@ class M33FioPlugin(
- 		# Check if using shared library or checking if it is usable
- 		if self._settings.get_boolean(["UseSharedLibrary"]) or isUsable :
- 	
--			# Check if running on Linux
--			if platform.uname()[0].startswith("Linux") :
--
--				# Check if running on a Raspberry Pi 1
--				if platform.uname()[4].startswith("armv6l") and self.getCpuHardware() == "BCM2708" :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_arm1176jzf-s.so")
--	
--				# Otherwise check if running on a Raspberry Pi 2 or Raspberry Pi 3
--				elif platform.uname()[4].startswith("armv7l") and self.getCpuHardware() == "BCM2709" :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_arm_cortex-a7.so")
--	
--				# Otherwise check if running on an ARM7 device
--				elif platform.uname()[4].startswith("armv7") :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_arm7.so")
--	
--				# Otherwise check if using an i386 or x86-64 device
--				elif platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64") :
--
--					# Check if Python is running as 32-bit
--					if platform.architecture()[0].startswith("32") :
--		
--						# Set shared library
--						self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_i386.so")
--	
--					# Otherwise check if Python is running as 64-bit
--					elif platform.architecture()[0].startswith("64") :
--		
--						# Set shared library
--						self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_x86-64.so")
--
--			# Otherwise check if running on Windows and using an i386 or x86-64 device
--			elif platform.uname()[0].startswith("Windows") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
-+			# Set shared library
-+			self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/libpreprocessor.so")
- 
--				# Check if Python is running as 32-bit
--				if platform.architecture()[0].startswith("32") :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_i386.dll")
--
--				# Otherwise check if Python is running as 64-bit
--				elif platform.architecture()[0].startswith("64") :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_x86-64.dll")
--
--			# Otherwise check if running on macOS and using an i386 or x86-64 device
--			elif platform.uname()[0].startswith("Darwin") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
--
--				# Check if Python is running as 32-bit
--				if platform.architecture()[0].startswith("32") :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_i386.dylib")
--
--				# Otherwise check if Python is running as 64-bit
--				elif platform.architecture()[0].startswith("64") :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_x86-64.dylib")
--			
--			# Otherwise check if running FreeBSD
--			elif platform.uname()[0].startswith("FreeBSD") :
--			
--				# TODO: Compile FreeBSD shared library pre-processors
--				pass
--			
- 			# Check if shared library was set
- 			if self.sharedLibrary :
- 
-diff --git a/shared library source/Makefile b/shared library source/Makefile
-index 792b4f4..4c74f5c 100755
---- a/shared library source/Makefile	
-+++ b/shared library source/Makefile	
-@@ -1,68 +1,14 @@
--# Target platform options: LINUX32, LINUX64, WINDOWS32, WINDOWS64, PI, PI2, ARM7, MACOS32, MACOS64
--LIBRARY_NAME = preprocessor
--TARGET_PLATFORM = LINUX64
-+LIBRARY_NAME = libpreprocessor
- VER = .1
- 
--ifeq ($(TARGET_PLATFORM), LINUX32)
--	PROG = $(LIBRARY_NAME)_i386.so
--	CC = g++
--	CFLAGS = -fPIC -m32 -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), LINUX64)
--	PROG = $(LIBRARY_NAME)_x86-64.so
--	CC = g++
--	CFLAGS = -fPIC -m64 -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), WINDOWS32)
--	PROG = $(LIBRARY_NAME)_i386.dll
--	CC = i686-w64-mingw32-g++
--	CFLAGS = -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), WINDOWS64)
--	PROG = $(LIBRARY_NAME)_x86-64.dll
--	CC = x86_64-w64-mingw32-g++
--	CFLAGS = -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), PI)
--	PROG = $(LIBRARY_NAME)_arm1176jzf-s.so
--	CC = /opt/arm-toolchain/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
--	CFLAGS = -fPIC -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), PI2)
--	PROG = $(LIBRARY_NAME)_arm_cortex-a7.so
--	CC = /opt/arm-toolchain/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
--	CFLAGS = -fPIC -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), ARM7)
--	PROG = $(LIBRARY_NAME)_arm7.so
--	CC = /opt/arm-toolchain/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++
--	CFLAGS = -fPIC -mcpu=generic-armv7-a -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), MACOS32)
--	PROG = $(LIBRARY_NAME)_i386.dylib
--	CC = clang++
--	CFLAGS = -fPIC -m32 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER)
--
--endif
--
--ifeq ($(TARGET_PLATFORM), MACOS64)
--	PROG = $(LIBRARY_NAME)_x86-64.dylib
--	CC = clang++
--	CFLAGS = -fPIC -m64 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER)
--endif
-+PROG = $(LIBRARY_NAME).so
-+CFLAGS = -fPIC -O3 -Wl,-soname,$(PROG)$(VER)
- 
- SRCS = preprocessor.cpp gcode.cpp vector.cpp
- CFLAGS += -Wall -std=c++11 -fvisibility=hidden -shared
- 
- all:
--	$(CC) $(CFLAGS) -o ../octoprint_m33fio/static/libraries/$(PROG) $(SRCS)
-+	$(CXX) $(CFLAGS) -o ../octoprint_m33fio/static/libraries/$(PROG) $(SRCS)
- 
- clean:
- 	rm -f ../octoprint_m33fio/static/libraries/$(PROG)
--- 
-2.14.1
-
diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix
index 514ac859c7760..421690f29d465 100644
--- a/pkgs/applications/misc/octoprint/plugins.nix
+++ b/pkgs/applications/misc/octoprint/plugins.nix
@@ -13,170 +13,151 @@ self: super: let
 in {
   inherit buildPlugin;
 
-  # Deprecated alias
-  m3d-fio = self.m33-fio; # added 2016-08-13
-
-  m33-fio = buildPlugin rec {
-    pname = "M33-Fio";
-    version = "1.21";
+  abl-expert = buildPlugin rec {
+    pname = "ABL_Expert";
+    version = "0.6";
 
-    src = fetchFromGitHub {
-      owner = "donovan6000";
-      repo = "M33-Fio";
-      rev = "V${version}";
-      sha256 = "1la3611kkqn8yiwjn6cizc45ri8pnk6ckld1na4nk6mqk88jvjq7";
+    src = fetchgit {
+      url = "https://framagit.org/razer/Octoprint_ABL_Expert/";
+      rev = version;
+      sha256 = "0ij3rvdwya1sbymwm5swlh2j4jagb6fal945g88zrzh5xf26hzjh";
     };
 
-    patches = [
-      ./m33-fio-one-library.patch
-    ];
-
-    postPatch = ''
-      rm -rf octoprint_m33fio/static/libraries/*
-      (
-        cd 'shared library source'
-        make
-      )
-    '';
-
     meta = with stdenv.lib; {
-      description = "OctoPrint plugin for the Micro 3D printer";
-      homepage = "https://github.com/donovan6000/M33-Fio";
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ abbradar ];
+      description = "Marlin auto bed leveling control, mesh correction, and z probe handling";
+      homepage = "https://framagit.org/razer/Octoprint_ABL_Expert/";
+      license = licenses.agpl3;
+      maintainers = with maintainers; [ WhittlesJr ];
     };
   };
 
-  mqtt = buildPlugin rec {
-    pname = "MQTT";
-    version = "0.8.6";
+  bedlevelvisualizer = buildPlugin rec {
+    pname = "BedLevelVisualizer";
+    version = "0.1.15";
 
     src = fetchFromGitHub {
-      owner = "OctoPrint";
-      repo = "OctoPrint-MQTT";
+      owner = "jneilliii";
+      repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "0y1jnfplcy8mh3szrfbbvngl02j49cbdizglrfsry4fvqg50zjxd";
+      sha256 = "1bq39fnarnpk8phxfbpx6l4n9anf358z1cgid5r89nadmn2a0cny";
     };
 
-    propagatedBuildInputs = with super; [ paho-mqtt ];
+    propagatedBuildInputs = with super; [ numpy ];
 
     meta = with stdenv.lib; {
-      description = "Publish printer status MQTT";
-      homepage = "https://github.com/OctoPrint/OctoPrint-MQTT";
+      description = "Displays 3D mesh of bed topography report";
+      homepage = "https://github.com/jneilliii/OctoPrint-BedLevelVisualizer";
       license = licenses.agpl3;
-      maintainers = with maintainers; [ peterhoeg ];
+      maintainers = with maintainers; [ lovesegfault ];
     };
   };
 
-  titlestatus = buildPlugin rec {
-    pname = "TitleStatus";
-    version = "0.0.4";
+  curaenginelegacy = buildPlugin rec {
+    pname = "CuraEngineLegacy";
+    version = "1.1.1";
 
     src = fetchFromGitHub {
-      owner = "MoonshineSG";
-      repo = "OctoPrint-TitleStatus";
+      owner = "OctoPrint";
+      repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "1l78xrabn5hcly2mgxwi17nwgnp2s6jxi9iy4wnw8k8icv74ag7k";
+      sha256 = "1a7pxlmj1a7blkv97sn1k390pbjcxx2860011pbjcdnli74zpvv5";
     };
 
     meta = with stdenv.lib; {
-      description = "Show printers status in window title";
-      homepage = "https://github.com/MoonshineSG/OctoPrint-TitleStatus";
+      description = "Plugin for slicing via Cura Legacy from within OctoPrint";
+      homepage = "https://github.com/OctoPrint/OctoPrint-CuraEngineLegacy";
       license = licenses.agpl3;
-      maintainers = with maintainers; [ abbradar ];
+      maintainers = with maintainers; [ gebner ];
     };
   };
 
-  stlviewer = buildPlugin rec {
-    pname = "STLViewer";
-    version = "0.4.2";
+  displaylayerprogress = buildPlugin rec {
+    pname = "OctoPrint-DisplayLayerProgress";
+    version = "1.24.0";
 
     src = fetchFromGitHub {
-      owner = "jneilliii";
-      repo = "OctoPrint-STLViewer";
+      owner = "OllisGit";
+      repo = pname;
       rev = version;
-      sha256 = "0mkvh44fn2ch4z2avsdjwi1rp353ylmk9j5fln4x7rx8ph8y7g2b";
+      sha256 = "1lbivg3rcjzv8zqvp8n8gcaczxdm7gvd5ihjb6jq0fgf958lv59n";
     };
 
     meta = with stdenv.lib; {
-      description = "A simple stl viewer tab for OctoPrint";
-      homepage = "https://github.com/jneilliii/Octoprint-STLViewer";
+      description = "OctoPrint-Plugin that sends the current progress of a print via M117 command";
+      homepage = "https://github.com/OllisGit/OctoPrint-DisplayLayerProgress";
       license = licenses.agpl3;
-      maintainers = with maintainers; [ abbradar ];
+      maintainers = with maintainers; [ j0hax ];
     };
   };
 
-  curaenginelegacy = buildPlugin rec {
-    pname = "CuraEngineLegacy";
-    version = "1.0.2";
+  gcodeeditor = buildPlugin rec {
+    pname = "GcodeEditor";
+    version = "0.2.9";
 
     src = fetchFromGitHub {
-      owner = "OctoPrint";
+      owner = "ieatacid";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "1cdb276wfyf3wcfj5g3migd6b6aqmkrxncrqjfcfx4j4k3xac965";
+      sha256 = "1yjj9lmxbzmzrn7gahw9lj7554fphalbjjp8ns0rr9py3rshwxkm";
     };
 
     meta = with stdenv.lib; {
-      description = "Plugin for slicing via Cura Legacy from within OctoPrint";
-      homepage = "https://github.com/OctoPrint/OctoPrint-CuraEngineLegacy";
+      description = "Edit gcode on OctoPrint";
+      homepage = "https://github.com/ieatacid/OctoPrint-GcodeEditor";
       license = licenses.agpl3;
-      maintainers = with maintainers; [ gebner ];
+      maintainers = with maintainers; [ WhittlesJr ];
     };
   };
 
-  touchui = buildPlugin rec {
-    pname = "TouchUI";
-    version = "0.3.14";
+  marlingcodedocumentation = buildPlugin rec {
+    pname = "MarlinGcodeDocumentation";
+    version = "0.11.0";
 
     src = fetchFromGitHub {
-      owner = "BillyBlaze";
-      repo = "OctoPrint-${pname}";
-      rev = version;
-      sha256 = "033b9nk3kpnmjw9nggcaxy39hcgfviykcy2cx0j6m411agvmqbzf";
+      owner = "costas-basdekis";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "0vx06w9hqwy0k4r8g67y8gdckfdx7wl8ghfx6hmxc1s8fgkghfkc";
     };
 
     meta = with stdenv.lib; {
-      description = "Touch friendly interface for a small TFT module or phone for OctoPrint";
-      homepage = "https://github.com/BillyBlaze/OctoPrint-TouchUI";
+      description = "Displays GCode documentation for Marlin in the Octoprint terminal command line";
+      homepage = "https://github.com/costas-basdekis/MarlinGcodeDocumentation";
       license = licenses.agpl3;
-      maintainers = with maintainers; [ gebner ];
+      maintainers = with maintainers; [ lovesegfault ];
     };
   };
 
-  psucontrol = buildPlugin rec {
-    pname = "PSUControl";
-    version = "0.1.9";
+  mqtt = buildPlugin rec {
+    pname = "MQTT";
+    version = "0.8.7";
 
     src = fetchFromGitHub {
-      owner = "kantlivelong";
-      repo = "OctoPrint-${pname}";
+      owner = "OctoPrint";
+      repo = "OctoPrint-MQTT";
       rev = version;
-      sha256 = "1cn009bdgn6c9ba9an5wfj8z02wi0xcsmbhkqggiqlnqy1fq45ca";
+      sha256 = "0k82h7wafbcqdvk5wjw4dp9lydwszfj1lf8vvymwbqdn7pf5h0dy";
     };
 
-    preConfigure = ''
-      # optional; RPi.GPIO is broken on vanilla kernels
-      sed /RPi.GPIO/d -i requirements.txt
-    '';
+    propagatedBuildInputs = with super; [ paho-mqtt ];
 
     meta = with stdenv.lib; {
-      description = "OctoPrint plugin to control ATX/AUX power supply";
-      homepage = "https://github.com/kantlivelong/OctoPrint-PSUControl";
+      description = "Publish printer status MQTT";
+      homepage = "https://github.com/OctoPrint/OctoPrint-MQTT";
       license = licenses.agpl3;
-      maintainers = with maintainers; [ gebner ];
+      maintainers = with maintainers; [ peterhoeg ];
     };
   };
 
   printtimegenius = buildPlugin rec {
     pname = "PrintTimeGenius";
-    version = "2.2.1";
+    version = "2.2.6";
 
     src = fetchFromGitHub {
       owner = "eyal0";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "1dr93vbpxgxw3b1q4rwam8f4dmiwr5vnfr9796g6jx8xkpfzzy1h";
+      sha256 = "04zfgd3x3lbriyzwhpqnwdcfdm19fsqgsb7l2ix5d0ssmqxwg2r6";
     };
 
     preConfigure = ''
@@ -197,78 +178,122 @@ in {
     };
   };
 
-  abl-expert = buildPlugin rec {
-    pname = "ABL_Expert";
-    version = "2019-12-21";
+  psucontrol = buildPlugin rec {
+    pname = "PSUControl";
+    version = "0.1.9";
 
-    src = fetchgit {
-      url = "https://framagit.org/razer/Octoprint_ABL_Expert/";
-      rev = "f11fbe05088ad618bfd9d064ac3881faec223f33";
-      sha256 = "026r4prkyvwzxag5pv36455q7s3gaig37nmr2nbvhwq3d2lbi5s4";
+    src = fetchFromGitHub {
+      owner = "kantlivelong";
+      repo = "OctoPrint-${pname}";
+      rev = version;
+      sha256 = "1cn009bdgn6c9ba9an5wfj8z02wi0xcsmbhkqggiqlnqy1fq45ca";
     };
 
+    preConfigure = ''
+      # optional; RPi.GPIO is broken on vanilla kernels
+      sed /RPi.GPIO/d -i requirements.txt
+    '';
+
     meta = with stdenv.lib; {
-      description = "Marlin auto bed leveling control, mesh correction, and z probe handling";
-      homepage = "https://framagit.org/razer/Octoprint_ABL_Expert/";
+      description = "OctoPrint plugin to control ATX/AUX power supply";
+      homepage = "https://github.com/kantlivelong/OctoPrint-PSUControl";
       license = licenses.agpl3;
-      maintainers = with maintainers; [ WhittlesJr ];
+      maintainers = with maintainers; [ gebner ];
     };
   };
 
-  gcodeeditor = buildPlugin rec {
-    pname = "GcodeEditor";
-    version = "0.2.6";
+  simpleemergencystop = buildPlugin rec {
+    pname = "SimpleEmergencyStop";
+    version = "1.0.3";
 
     src = fetchFromGitHub {
-      owner = "ieatacid";
+      owner = "Sebclem";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "0c6p78r3vd6ys3kld308pyln09zjbr9yif1ljvcx6wlml2i5l1vh";
+      sha256 = "0hhh5grmn32abkix1b9fr1d0pcpdi2r066iypcxdxcza9qzwjiyi";
     };
 
     meta = with stdenv.lib; {
-      description = "Edit gcode on OctoPrint";
-      homepage = "https://github.com/ieatacid/OctoPrint-GcodeEditor";
+      description = "A simple plugin that add an emergency stop buton on NavBar of OctoPrint";
+      homepage = "https://github.com/Sebclem/OctoPrint-SimpleEmergencyStop";
       license = licenses.agpl3;
       maintainers = with maintainers; [ WhittlesJr ];
     };
   };
 
-  simpleemergencystop = buildPlugin rec {
-    pname = "SimpleEmergencyStop";
-    version = "0.2.5";
+  stlviewer = buildPlugin rec {
+    pname = "STLViewer";
+    version = "0.4.2";
 
     src = fetchFromGitHub {
-      owner = "Sebclem";
-      repo = "OctoPrint-${pname}";
+      owner = "jneilliii";
+      repo = "OctoPrint-STLViewer";
       rev = version;
-      sha256 = "10wadv09wv2h96igvq3byw9hz1si82n3c7v5y0ii3j7hm2d06y8p";
+      sha256 = "0mkvh44fn2ch4z2avsdjwi1rp353ylmk9j5fln4x7rx8ph8y7g2b";
     };
 
     meta = with stdenv.lib; {
-      description = "A simple plugin that add an emergency stop buton on NavBar of OctoPrint";
-      homepage = "https://github.com/Sebclem/OctoPrint-SimpleEmergencyStop";
+      description = "A simple stl viewer tab for OctoPrint";
+      homepage = "https://github.com/jneilliii/Octoprint-STLViewer";
       license = licenses.agpl3;
-      maintainers = with maintainers; [ WhittlesJr ];
+      maintainers = with maintainers; [ abbradar ];
     };
   };
 
-  displaylayerprogress = buildPlugin rec {
-    pname = "OctoPrint-DisplayLayerProgress";
-    version = "1.24.0";
+  themeify = buildPlugin rec {
+    pname = "Themeify";
+    version = "1.2.2";
 
     src = fetchFromGitHub {
-      owner = "OllisGit";
-      repo = pname;
+      owner = "Birkbjo";
+      repo = "Octoprint-${pname}";
+      rev = "v${version}";
+      sha256 = "0j1qs6kyh947npdy7pqda25fjkqinpas3sy0qyscqlxi558lhvx2";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Beautiful themes for OctoPrint";
+      homepage = "https://github.com/birkbjo/OctoPrint-Themeify";
+      license = licenses.agpl3;
+      maintainers = with maintainers; [ lovesegfault ];
+    };
+  };
+
+  titlestatus = buildPlugin rec {
+    pname = "TitleStatus";
+    version = "0.0.5";
+
+    src = fetchFromGitHub {
+      owner = "MoonshineSG";
+      repo = "OctoPrint-TitleStatus";
       rev = version;
-      sha256 = "1lbivg3rcjzv8zqvp8n8gcaczxdm7gvd5ihjb6jq0fgf958lv59n";
+      sha256 = "10nxjrixg0i6n6x8ghc1ndshm25c97bvkcis5j9kmlkkzs36i2c6";
     };
 
     meta = with stdenv.lib; {
-      description = "OctoPrint-Plugin that sends the current progress of a print via M117 command";
-      homepage = "https://github.com/OllisGit/OctoPrint-DisplayLayerProgress";
+      description = "Show printers status in window title";
+      homepage = "https://github.com/MoonshineSG/OctoPrint-TitleStatus";
       license = licenses.agpl3;
-      maintainers = with maintainers; [ j0hax ];
+      maintainers = with maintainers; [ abbradar ];
+    };
+  };
+
+  touchui = buildPlugin rec {
+    pname = "TouchUI";
+    version = "0.3.16";
+
+    src = fetchFromGitHub {
+      owner = "BillyBlaze";
+      repo = "OctoPrint-${pname}";
+      rev = version;
+      sha256 = "1jlqjirc4ygl4k7jp93l2h6b18jap3mzz8sf2g61j9w0kgv9l365";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Touch friendly interface for a small TFT module or phone for OctoPrint";
+      homepage = "https://github.com/BillyBlaze/OctoPrint-TouchUI";
+      license = licenses.agpl3;
+      maintainers = with maintainers; [ gebner ];
     };
   };
 
@@ -293,13 +318,13 @@ in {
 
   octoprint-dashboard = buildPlugin rec {
     pname = "OctoPrint-Dashboard";
-    version = "1.15.1";
+    version = "1.15.2";
 
     src = fetchFromGitHub {
       owner = "StefanCohen";
       repo = pname;
       rev = version;
-      sha256 = "1psk069g8xdpgbzmna51dh978vrildh33dn7kbbi5y31ry5c3gx6";
+      sha256 = "0p94jwd7kagh3sixhcrqmsgbay4aaf9l1pgyi2b45jym8pvld5n4";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/ola/default.nix b/pkgs/applications/misc/ola/default.nix
index 7682b56e4d6df..a9f12d572c8a4 100644
--- a/pkgs/applications/misc/ola/default.nix
+++ b/pkgs/applications/misc/ola/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "A framework for controlling entertainment lighting equipment.";
+    description = "A framework for controlling entertainment lighting equipment";
     homepage = "https://www.openlighting.org/ola/";
     maintainers = with maintainers; [ globin ];
     license = with licenses; [ lgpl21 gpl2Plus ];
diff --git a/pkgs/applications/misc/opentx/default.nix b/pkgs/applications/misc/opentx/default.nix
index a117ecc06a9c4..6bdcd0da1fca0 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.9";
+  version = "2.3.10";
 
   src = fetchFromGitHub {
     owner = "opentx";
     repo = "opentx";
     rev = "release/${version}";
-    sha256 = "0kh3jdy1pgvns8lrncf61ayaq0hmsv41j8xv4r4rf17zyvjl0qph";
+    sha256 = "1pp3k1802gl1rji98clv17wj0619dliq821mpi4446lk22q692yq";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index ccb7f3e47c86b..29ee6213a650a 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -35,13 +35,13 @@
 
 buildPythonApplication rec {
   pname = "orca";
-  version = "3.36.5";
+  version = "3.38.0";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0nyb33p4y6nmln41pi70c8hiyjyasaryy10mazi7b2s6fy9pk25x";
+    sha256 = "1vkg6p1dlrgx1yyscmy0m58inaq4ljshbdxw0nhi1nwqk3bpjchw";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/osm2xmap/default.nix b/pkgs/applications/misc/osm2xmap/default.nix
index e5838dc1bbe62..1c89333649840 100644
--- a/pkgs/applications/misc/osm2xmap/default.nix
+++ b/pkgs/applications/misc/osm2xmap/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/sembruk/osm2xmap";
-    description = "Converter from OpenStreetMap data format to OpenOrienteering Mapper format.";
+    description = "Converter from OpenStreetMap data format to OpenOrienteering Mapper format";
     license = licenses.gpl3;
     maintainers = [ maintainers.mpickering ];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/applications/misc/pass-secret-service/default.nix b/pkgs/applications/misc/pass-secret-service/default.nix
new file mode 100644
index 0000000000000..678bc06f8004f
--- /dev/null
+++ b/pkgs/applications/misc/pass-secret-service/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchFromGitHub, python3, dbus, gnupg }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "pass-secret-service";
+  # PyPI has old alpha version. Since then the project has switched from using a
+  # seemingly abandoned D-Bus package pydbus and started using maintained
+  # dbus-next. So let's use latest from GitHub.
+  version = "unstable-2020-04-12";
+
+  src = fetchFromGitHub {
+    owner = "mdellweg";
+    repo = "pass_secret_service";
+    rev = "f6fbca6ac3ccd16bfec407d845ed9257adf74dfa";
+    sha256 = "0rm4pbx1fiwds1v7f99khhh7x3inv9yniclwd95mrbgljk3cc6a4";
+  };
+
+
+  # Need to specify session.conf file for tests because it won't be found under
+  # /etc/ in check phase.
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace \
+        "dbus-run-session" \
+        "dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf"
+  '';
+
+  propagatedBuildInputs = with python3.pkgs; [
+    click
+    cryptography
+    dbus-next
+    decorator
+    pypass
+    secretstorage
+  ];
+
+  checkInputs =
+    let
+      ps = python3.pkgs;
+    in
+    [
+      dbus
+      gnupg
+      ps.pytest
+      ps.pytest-asyncio
+      ps.pypass
+    ];
+
+  checkPhase = ''
+    runHook preCheck
+    make test
+    runHook postCheck
+  '';
+
+  meta = {
+    description = "Libsecret D-Bus API with pass as the backend";
+    homepage = "https://github.com/mdellweg/pass_secret_service/";
+    license = stdenv.lib.licenses.gpl3Only;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/applications/misc/pdf-quench/default.nix b/pkgs/applications/misc/pdf-quench/default.nix
index d364074d4450e..c84c09e59a7eb 100644
--- a/pkgs/applications/misc/pdf-quench/default.nix
+++ b/pkgs/applications/misc/pdf-quench/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, pkgs, pythonPackages, wrapGAppsHook}:
+{ stdenv, fetchFromGitHub, pkgs, python3, wrapGAppsHook}:
 
-pythonPackages.buildPythonApplication {
+python3.pkgs.buildPythonApplication {
   pname = "pdf-quench";
   version = "1.0.5";
 
@@ -18,7 +18,7 @@ pythonPackages.buildPythonApplication {
     goocanvas2
     poppler_gi
   ];
-  propagatedBuildInputs = with pythonPackages; [ pygobject3 pypdf2 ];
+  propagatedBuildInputs = with python3.pkgs; [ pygobject3 pypdf2 ];
 
   format = "other";
   doCheck = false;
diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix
index 4e172e5fd7c1f..fc0bf62f1e9f8 100644
--- a/pkgs/applications/misc/pdfpc/default.nix
+++ b/pkgs/applications/misc/pdfpc/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
   product = "pdfpc";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchFromGitHub {
     repo = product;
     owner = product;
     rev = "v${version}";
-    sha256 = "0vh2r32akvasdrghkaq7ard24r2qncp34jfiyshi3zxabm9bhfaa";
+    sha256 = "11n925c5jj3yfwnqkgxzqrmsrpqh8ls1g4idmqqzpsanpam1xvna";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/pdfsam-basic/default.nix b/pkgs/applications/misc/pdfsam-basic/default.nix
index a6dd86393ff11..039967f418200 100644
--- a/pkgs/applications/misc/pdfsam-basic/default.nix
+++ b/pkgs/applications/misc/pdfsam-basic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pdfsam-basic";
-  version = "4.1.4";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
-    sha256 = "1gw3cmc8c1xxc55bm71v1dz9x9560lbhx9nkwprarhxlmn0m0zzp";
+    sha256 = "0d7pvl87ybkvcxk69fr35fz0w447hy2pm65bhvlril16ljm2izja";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/misc/peaclock/default.nix b/pkgs/applications/misc/peaclock/default.nix
new file mode 100644
index 0000000000000..e824bbaf583b4
--- /dev/null
+++ b/pkgs/applications/misc/peaclock/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake, libpthreadstubs, icu }:
+
+stdenv.mkDerivation rec {
+  pname = "peaclock";
+  version = "0.4.3";
+
+  src = fetchFromGitHub {
+    owner = "octobanana";
+    repo = pname;
+    rev = version;
+    sha256 = "1582vgslhpgbvcd7ipgf1d1razrvgpq1f93q069yr2bbk6xn8i16";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libpthreadstubs icu ];
+
+  meta = with stdenv.lib; {
+    description = "A clock, timer, and stopwatch for the terminal";
+    homepage = "https://octobanana.com/software/peaclock";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ djanatyn ];
+  };
+}
diff --git a/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix b/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix
index 15dd7222b2854..820048bdd6b0a 100644
--- a/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix
+++ b/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ plasma-framework kwindowsystem plasma-pa ];
 
   meta = with stdenv.lib; {
-    description = "A fork of the default volume plasmoid with a Windows 7 theme (vertical sliders).";
+    description = "A fork of the default volume plasmoid with a Windows 7 theme (vertical sliders)";
     homepage = "https://github.com/Zren/plasma-applet-volumewin7mixer";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/plater/default.nix b/pkgs/applications/misc/plater/default.nix
new file mode 100644
index 0000000000000..9d29390870e8c
--- /dev/null
+++ b/pkgs/applications/misc/plater/default.nix
@@ -0,0 +1,30 @@
+{ mkDerivation
+, cmake
+, fetchFromGitHub
+, lib
+, libGLU
+, qtbase
+}:
+
+mkDerivation rec {
+  pname = "plater";
+  version = "2020-07-30";
+
+  src = fetchFromGitHub {
+    owner = "Rhoban";
+    repo = "Plater";
+    rev = "f8de6d038f95a9edebfcfe142c8e9783697d5b47";
+    sha256 = "0r20mbzd16zv1aiadjqdy7z6sp09rr6lgfxhvir4ll3cpakkynr4";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libGLU qtbase ];
+
+  meta = with lib; {
+    description = "3D-printer parts placer and plate generator";
+    homepage = "https://github.com/Rhoban/Plater";
+    maintainers = with maintainers; [ lovesegfault ];
+    platforms = platforms.linux;
+    license = licenses.cc-by-nc-30;
+  };
+}
diff --git a/pkgs/applications/misc/polar-bookshelf/default.nix b/pkgs/applications/misc/polar-bookshelf/default.nix
index fc86b2e885de3..cd309797aa324 100644
--- a/pkgs/applications/misc/polar-bookshelf/default.nix
+++ b/pkgs/applications/misc/polar-bookshelf/default.nix
@@ -1,29 +1,29 @@
 { stdenv, lib, makeWrapper, fetchurl
 , dpkg, wrapGAppsHook, autoPatchelfHook
-, gtk3, cairo, gnome2, atk, gdk-pixbuf, glib
+, gtk3, cairo, pango, atk, gdk-pixbuf, glib
 , at-spi2-atk, dbus, libX11, libxcb, libXi
 , libXcursor, libXdamage, libXrandr, libXcomposite
 , libXext, libXfixes, libXrender, libXtst, libXScrnSaver
 , nss, nspr, alsaLib, cups, fontconfig, expat
-, libudev0-shim, glibc, curl, openssl, libnghttp2, gnome3 }:
+, libudev0-shim, glibc, curl, openssl, libnghttp2, gsettings-desktop-schemas }:
 
 
 stdenv.mkDerivation rec {
   pname = "polar-bookshelf";
-  version = "1.13.10";
+  version = "2.0.42";
 
   # fetching a .deb because there's no easy way to package this Electron app
   src = fetchurl {
-    url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-bookshelf-${version}-amd64.deb";
-    sha256 = "1bxcyf6n2m5x1z8ic6kzskinyyc6lh6nj0bycbwc524n6ms5j99p";
+    url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-desktop-app-${version}-amd64.deb";
+    hash = "sha256-JyO71wyE6b0iHAYs/6/WbG+OdUVUUPpJla+ZUzg0Gng=";
   };
 
   buildInputs = [
-    gnome3.gsettings_desktop_schemas
+    gsettings-desktop-schemas
     glib
     gtk3
     cairo
-    gnome2.pango
+    pango
     atk
     gdk-pixbuf
     at-spi2-atk
@@ -64,16 +64,15 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     mkdir -p $out/lib
 
-    mv opt/Polar\ Bookshelf/* $out/share/polar-bookshelf
+    mv opt/Polar/* $out/share/polar-bookshelf
     mv $out/share/polar-bookshelf/*.so $out/lib
 
     mv usr/share/* $out/share/
 
-    ln -s $out/share/polar-bookshelf/polar-bookshelf $out/bin/polar-bookshelf
+    ln -s $out/share/polar-bookshelf/polar-desktop-app $out/bin/polar-desktop-app
 
-    # Correct desktop file `Exec`
-    substituteInPlace $out/share/applications/polar-bookshelf.desktop \
-      --replace "/opt/Polar Bookshelf/polar-bookshelf" "$out/bin/polar-bookshelf"
+    substituteInPlace $out/share/applications/polar-desktop-app.desktop \
+      --replace "/opt/Polar/polar-desktop-app" "$out/bin/polar-desktop-app"
   '';
 
   preFixup = ''
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index c324a3f8be40c..14d9b3015f493 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
         having a black belt in shell scripting.
       '';
       license = licenses.mit;
-      maintainers = with maintainers; [ afldcr filalex77 ];
+      maintainers = with maintainers; [ afldcr Br1ght0ne ];
       platforms = platforms.linux;
     };
 
diff --git a/pkgs/applications/misc/prevo/tools.nix b/pkgs/applications/misc/prevo/tools.nix
index 6a85e73bf8517..39c54b73b2fe2 100644
--- a/pkgs/applications/misc/prevo/tools.nix
+++ b/pkgs/applications/misc/prevo/tools.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ glib expat ];
 
   postInstall = ''
-    installShellCompletion --bash $out/etc/bash_completion.d/prevo-completion
+    installShellCompletion --bash src/prevo-completion
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/projectlibre/default.nix b/pkgs/applications/misc/projectlibre/default.nix
index 344c3d7168ac5..2a7a82bc74a49 100644
--- a/pkgs/applications/misc/projectlibre/default.nix
+++ b/pkgs/applications/misc/projectlibre/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = "http://www.projectlibre.com/";
+    homepage = "https://www.projectlibre.com/";
     description = "Project-Management Software similar to MS-Project";
     maintainers = [ maintainers.Mogria ];
     license = licenses.cpal10;
diff --git a/pkgs/applications/misc/prusa-slicer/super-slicer.nix b/pkgs/applications/misc/prusa-slicer/super-slicer.nix
index da8cea8ab020a..2bc59e855a086 100644
--- a/pkgs/applications/misc/prusa-slicer/super-slicer.nix
+++ b/pkgs/applications/misc/prusa-slicer/super-slicer.nix
@@ -3,7 +3,7 @@
 }:
 let
   appname = "SuperSlicer";
-  version = "2.2.54.0";
+  version = "2.2.54.2";
   pname = "super-slicer";
   description = "PrusaSlicer fork with more features and faster development cycle";
   override = super: {
@@ -12,7 +12,7 @@ let
     src = fetchFromGitHub {
       owner = "supermerill";
       repo = "SuperSlicer";
-      sha256 = "sha256-vvuUecysSdBvGBKOariQnsGJ9/Qccwp/lSq8WCED+Uk=";
+      sha256 = "sha256-ThmsxFXI1uReK+JwpHrIWzHpBdIOP77kDjv+QaK+Azk=";
       rev = version;
     };
 
diff --git a/pkgs/applications/misc/pueue/default.nix b/pkgs/applications/misc/pueue/default.nix
index f5c237da440a0..3cd9d5db0067f 100644
--- a/pkgs/applications/misc/pueue/default.nix
+++ b/pkgs/applications/misc/pueue/default.nix
@@ -2,27 +2,26 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pueue";
-  version = "0.7.1";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "Nukesor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ksks8c35q9aq5vnjxh480vqjyaa8c1fz1fb465vngnlyw762b22";
+    sha256 = "0rqnbils0r98qglhm2jafw5d119fqdzszmk825yc0bma4icm7xzp";
   };
 
-  cargoSha256 = "0v1h4jhrzfb55zmpnbq18188rdvx7a7lvnjqh0w7cy90kvxssian";
+  cargoSha256 = "1f3g5i0yh82qll1hyihrvv08pbd4h9vzs6jy6bf94bzabyjsgnzv";
 
   nativeBuildInputs = [ installShellFiles ];
 
-  checkFlagsArray = [ "--skip=test_single_huge_payload" ];
+  checkFlags = [ "--skip=test_single_huge_payload" "--skip=test_create_unix_socket" ];
 
   postInstall = ''
-    # zsh completion generation fails. See: https://github.com/Nukesor/pueue/issues/57
-    for shell in bash fish; do
+    for shell in bash fish zsh; do
       $out/bin/pueue completions $shell .
-      installShellCompletion pueue.$shell
     done
+    installShellCompletion pueue.{bash,fish} _pueue
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix
index 26bc6cc0a0bb4..6a9de9e600f4d 100644
--- a/pkgs/applications/misc/pwsafe/default.nix
+++ b/pkgs/applications/misc/pwsafe/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, zip, gettext, perl
-, wxGTK31, libXext, libXi, libXt, libXtst, xercesc
+, wxGTK30, libXext, libXi, libXt, libXtst, xercesc
 , qrencode, libuuid, libyubikey, yubikey-personalization
 , curl, openssl, file
 }:
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "${version}";
+    rev = version;
     sha256 = "0nh5jnf5yls2qv5hpfhm6i854zsknyh7d93c987a0cg14sg820fv";
   };
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     cmake gettext perl pkgconfig zip
   ];
   buildInputs = [
-    libXext libXi libXt libXtst wxGTK31
+    libXext libXi libXt libXtst wxGTK30
     curl qrencode libuuid openssl xercesc
     libyubikey yubikey-personalization
     file
diff --git a/pkgs/applications/misc/pyditz/default.nix b/pkgs/applications/misc/pyditz/default.nix
index 05338b38dfefe..d8b2b2ec602eb 100644
--- a/pkgs/applications/misc/pyditz/default.nix
+++ b/pkgs/applications/misc/pyditz/default.nix
@@ -6,11 +6,11 @@ let
   cerberus_1_1 = callPackage ./cerberus.nix { };
 in buildPythonApplication rec {
   pname = "pyditz";
-  version = "0.10.3";
+  version = "0.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hxxz7kxv9gsrr86ccsc31g7bc2agw1ihbxhd659c2m6nrqq5qaf";
+    sha256 = "da0365ae9064e30c4a27526fb0d7a802fda5c8651cda6990d17be7ede89a2551";
   };
   nativeBuildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [ pyyaml six jinja2 cerberus_1_1 ];
diff --git a/pkgs/applications/misc/qlcplus/default.nix b/pkgs/applications/misc/qlcplus/default.nix
index 77a24413bdd65..452629b6181da 100644
--- a/pkgs/applications/misc/qlcplus/default.nix
+++ b/pkgs/applications/misc/qlcplus/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "qlcplus";
-  version = "4.12.2";
+  version = "4.12.3";
 
   src = fetchFromGitHub {
     owner = "mcallegari";
     repo = "qlcplus";
     rev = "QLC+_${version}";
-    sha256 = "1j0jhgql78p5ghcaz36l1k55447s5qiv396a448qic7xqpym2vl3";
+    sha256 = "PB1Y8N1TrJMcS7A2e1nKjsUlAxOYjdJqBhbyuDCAbGs=";
   };
 
   nativeBuildInputs = [ qmake pkgconfig ];
@@ -36,7 +36,7 @@ mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A free and cross-platform software to control DMX or analog lighting systems like moving heads, dimmers, scanners etc.";
+    description = "A free and cross-platform software to control DMX or analog lighting systems like moving heads, dimmers, scanners etc";
     maintainers = [ maintainers.globin ];
     license = licenses.asl20;
     platforms = platforms.all;
diff --git a/pkgs/applications/misc/razergenie/default.nix b/pkgs/applications/misc/razergenie/default.nix
index 9042ab38e7584..ac0f373dc93d5 100644
--- a/pkgs/applications/misc/razergenie/default.nix
+++ b/pkgs/applications/misc/razergenie/default.nix
@@ -27,8 +27,8 @@ in stdenv.mkDerivation {
   ];
 
   mesonFlags = [
-    "-Denable_experimental=${if enableExperimental then "true" else "false"}"
-    "-Dinclude_matrix_discovery=${if includeMatrixDiscovery then "true" else "false"}"
+    "-Denable_experimental=${lib.boolToString enableExperimental}"
+    "-Dinclude_matrix_discovery=${lib.boolToString includeMatrixDiscovery}"
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index 86c787df62aa0..a450b2e3eb771 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -127,13 +127,13 @@ rec {
 
   gammastep = mkRedshift rec {
     pname = "gammastep";
-    version = "2.0.2";
+    version = "2.0.5";
 
     src = fetchFromGitLab {
       owner = "chinstrap";
       repo = pname;
       rev = "v${version}";
-      sha256 = "09wqlz3yya955galhs20014qfwm2yk0lxhyqdsw8gwddvcpyprzg";
+      sha256 = "1l3x4gnichwzbb0529bhm723xpryn5svhhsfdiwlw122q1vmz2q7";
     };
 
     meta = redshift.meta // {
diff --git a/pkgs/applications/misc/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix
index 3b989a75c9b07..fcdab3ddbc481 100644
--- a/pkgs/applications/misc/rescuetime/default.nix
+++ b/pkgs/applications/misc/rescuetime/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, dpkg, patchelf, qt5, libXtst, libXext, libX11, mkDerivation, makeWrapper, libXScrnSaver }:
+{ stdenv, lib, fetchurl, dpkg, patchelf, qt5, libXtst, libXext, libX11, mkDerivation, makeWrapper, libXScrnSaver, writeScript }:
 
 let
   version = "2.16.4.2";
@@ -34,6 +34,15 @@ in mkDerivation {
       --set-rpath "${lib.makeLibraryPath [ qt5.qtbase libXtst libXext libX11 libXScrnSaver ]}" \
       $out/bin/rescuetime
   '';
+
+  passthru.updateScript = writeScript "rescuetime-updater" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl pup common-updater-scripts
+    set -eu -o pipefail
+    latestVersion="$(curl -sS https://www.rescuetime.com/release-notes/linux | pup '.release:first-of-type h2 strong text{}' | tr -d '\n')"
+    update-source-version rescuetime "$latestVersion"
+  '';
+
   meta = with lib; {
     description = "Helps you understand your daily habits so you can focus and be more productive";
     homepage    = "https://www.rescuetime.com";
diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix
index d565e1874cd14..6ee2cb8c34953 100644
--- a/pkgs/applications/misc/rofi/default.nix
+++ b/pkgs/applications/misc/rofi/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rofi-unwrapped";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchurl {
     url = "https://github.com/davatorium/rofi/releases/download/${version}/rofi-${version}.tar.gz";
-    sha256 = "sha256-BS/ypMS/MfaiUizWVov8yYgGJjgwMWvz0PiH3sYYn50=";
+    sha256 = "04glljqbf9ckkc6x6fv4x1gqmy468n1agya0kd8rxdvz24wzf7cd";
   };
 
   preConfigure = ''
diff --git a/pkgs/applications/misc/rsibreak/default.nix b/pkgs/applications/misc/rsibreak/default.nix
index 432cbfb9b6934..9f765793dc9a3 100644
--- a/pkgs/applications/misc/rsibreak/default.nix
+++ b/pkgs/applications/misc/rsibreak/default.nix
@@ -20,7 +20,7 @@ in mkDerivation rec {
   propagatedBuildInputs = [ knotifyconfig kidletime kwindowsystem ktextwidgets kcrash ];
 
   meta = with lib; {
-    description = "RSIBreak takes care of your health and regularly breaks your work to avoid repetitive strain injury (RSI)";
+    description = "Takes care of your health and regularly breaks your work to avoid repetitive strain injury (RSI)";
     license = licenses.gpl2;
     homepage = "https://www.kde.org/applications/utilities/rsibreak/";
     maintainers = with maintainers; [ vandenoever ];
diff --git a/pkgs/applications/misc/rss-bridge-cli/default.nix b/pkgs/applications/misc/rss-bridge-cli/default.nix
new file mode 100644
index 0000000000000..f481f0953f817
--- /dev/null
+++ b/pkgs/applications/misc/rss-bridge-cli/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, writeShellScriptBin, rss-bridge, php }:
+
+let
+  phpWithExts = (php.withExtensions
+    ({ all, ... }: with all; [
+      curl
+      filter
+      iconv
+      json
+      mbstring
+      openssl
+      simplexml
+      sqlite3
+    ])
+  );
+  phpBin = "${phpWithExts}/bin/php";
+in (writeShellScriptBin "rss-bridge-cli" ''
+  ${phpBin} ${rss-bridge}/index.php "$@"
+'').overrideAttrs (oldAttrs: rec {
+  version = rss-bridge.version;
+
+  meta = with stdenv.lib; {
+    description = "Command-line interface for RSS-Bridge";
+    homepage = "https://github.com/RSS-Bridge/rss-bridge";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ ymeister ];
+  };
+})
diff --git a/pkgs/applications/misc/sakura/default.nix b/pkgs/applications/misc/sakura/default.nix
deleted file mode 100644
index 89a4cf25b8dbf..0000000000000
--- a/pkgs/applications/misc/sakura/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchurl, cmake, pkgconfig, gtk3, perl, vte, pcre2, glib , makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "sakura";
-  version = "3.7.0";
-
-  src = fetchurl {
-    url = "https://launchpad.net/sakura/trunk/${version}/+download/${pname}-${version}.tar.gz";
-    sha256 = "15gskj5yv5qs3cj4ps43735kfx2nzjlhq4dk9ghirl8lvhhxsm5m";
-  };
-
-  nativeBuildInputs = [ cmake perl pkgconfig ];
-
-  buildInputs = [ makeWrapper gtk3 vte pcre2 glib ];
-
-  # Wrapper sets path to gsettings-schemata so sakura knows where to find colorchooser, fontchooser ...
-  postInstall = "wrapProgram $out/bin/sakura --suffix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/";
-
-  meta = with stdenv.lib; {
-    description = "A terminal emulator based on GTK and VTE";
-    homepage    = "https://www.pleyades.net/david/projects/sakura";
-    license     = licenses.gpl2;
-    maintainers = with maintainers; [ astsmtl codyopel ];
-    platforms   = platforms.linux;
-    longDescription = ''
-      sakura is a terminal emulator based on GTK and VTE. It's a terminal
-      emulator with few dependencies, so you don't need a full GNOME desktop
-      installed to have a decent terminal emulator. Current terminal emulators
-      based on VTE are gnome-terminal, XFCE Terminal, TermIt and a small
-      sample program included in the vte sources. The differences between
-      sakura and the last one are that it uses a notebook to provide several
-      terminals in one window and adds a contextual menu with some basic
-      options. No more no less.
-    '';
-  };
-}
diff --git a/pkgs/applications/misc/simplenote/default.nix b/pkgs/applications/misc/simplenote/default.nix
index 05cf15b8accc7..9aaeca14a209f 100644
--- a/pkgs/applications/misc/simplenote/default.nix
+++ b/pkgs/applications/misc/simplenote/default.nix
@@ -17,10 +17,10 @@ let
 
   pname = "simplenote";
 
-  version = "1.21.1";
+  version = "2.1.0";
 
   sha256 = {
-    x86_64-linux = "00qx82d17yrrg2mxwhm40av0mpf5hy14j338i5ijhwp79yc8fk8x";
+    x86_64-linux = "0lg48nq493anpnm20vw72y242nxa1g903bxzp4pngzxyi986jddz";
   }.${system} or throwSystem;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix
index 83a7e9d621651..f92fe87b94815 100644
--- a/pkgs/applications/misc/solaar/default.nix
+++ b/pkgs/applications/misc/solaar/default.nix
@@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
   src = fetchFromGitHub {
     owner = "pwr-Solaar";
     repo = "Solaar";
-    rev = "${version}";
+    rev = version;
     sha256 = "0k5z9dap6rawiafkg1x7zjx51ala7wra6j6lvc2nn0y8r79yp7a9";
   };
 
diff --git a/pkgs/applications/misc/spicetify-cli/default.nix b/pkgs/applications/misc/spicetify-cli/default.nix
new file mode 100644
index 0000000000000..a042cc53c0553
--- /dev/null
+++ b/pkgs/applications/misc/spicetify-cli/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "spicetify-cli";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "khanhas";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "08rnwj7ggh114n3mhhm8hb8fm1njgb4j6vba3hynp8x1c2ngidff";
+  };
+
+  vendorSha256 = "0k06c3jw5z8rw8nk4qf794kyfipylmz6x6l126a2snvwi0lmc601";
+
+  # used at runtime, but not installed by default
+  postInstall = ''
+    cp -r ${src}/jsHelper $out/bin/jsHelper
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/spicetify-cli --help > /dev/null
+  '';
+
+  meta = with lib; {
+    description = "Command-line tool to customize Spotify client";
+    homepage = "https://github.com/khanhas/spicetify-cli/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/applications/misc/ssw/default.nix b/pkgs/applications/misc/ssw/default.nix
index 24b7953fe3d28..7e1e402581065 100644
--- a/pkgs/applications/misc/ssw/default.nix
+++ b/pkgs/applications/misc/ssw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ssw";
-  version = "0.3";
+  version = "0.6";
 
   src = fetchurl {
     url = "https://alpha.gnu.org/gnu/ssw/spread-sheet-widget-${version}.tar.gz";
-    sha256 = "1h93yyh2by6yrmkwqg38nd5knids05k5nqzcihc1hdwgzg3c4b8y";
+    sha256 = "08ck9l697xg8vpya5h07raq837i4pqxjqzx30vhscq4xpps2b8kj";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index 94875de7ebc87..bf2db29665086 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -51,7 +51,12 @@ let
 
       cp "${sweethome3dItem}/share/applications/"* $out/share/applications
 
+      # MESA_GL_VERSION_OVERRIDE is needed since the update from MESA 19.3.3 to 20.0.2:
+      # without it a "Profiles [GL4bc, GL3bc, GL2, GLES1] not available on device null"
+      # exception is thrown on startup.
+      # https://discourse.nixos.org/t/glx-not-recognised-after-mesa-update/6753
       makeWrapper ${jre}/bin/java $out/bin/$exec \
+        --set MESA_GL_VERSION_OVERRIDE 2.1 \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
         --add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
     '';
@@ -73,14 +78,14 @@ in {
 
   application = mkSweetHome3D rec {
     pname = stdenv.lib.toLower module + "-application";
-    version = "6.3";
+    version = "6.4.2";
     module = "SweetHome3D";
     description = "Design and visualize your future home";
     license = stdenv.lib.licenses.gpl2Plus;
     src = fetchsvn {
       url = "https://svn.code.sf.net/p/sweethome3d/code/tags/V_" + d2u version + "/SweetHome3D/";
-      sha256 = "1c13g0f73jgbzmjhdm9knqq1kh3vdl04zl3xlp30g9a1n0jkr38i";
-      rev = "6896";
+      sha256 = "13rczayakwb5246hqnp8lnw61p0p7ywr2294bnlp4zwsrz1in9z4";
+      rev = "7504";
     };
     desktopName = "Sweet Home 3D";
     icons = {
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index c45ea27c425e8..beccfe5477bbc 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -20,14 +20,14 @@
 }:
 
 mkDerivation rec {
-  version = "0.11.0";
+  version = "1.0.1";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${version}";
-    sha256 = "1lpjrij6y8l738hd7bfig0piglqinnqbadidzw9k0nm53bh4pqrr";
+    sha256 = "1dln5gh3p8nz9qmg07cw2s0lpzp3rfhyrwdhczj89g27bwk0lr4k";
   };
 
   buildInputs = [ qtbase cpp-utilities qtutilities ]
diff --git a/pkgs/applications/misc/teleprompter/default.nix b/pkgs/applications/misc/teleprompter/default.nix
index 37b3f10329b9d..96265356ead77 100644
--- a/pkgs/applications/misc/teleprompter/default.nix
+++ b/pkgs/applications/misc/teleprompter/default.nix
@@ -1,15 +1,15 @@
-{ lib, stdenv, fetchurl, electron_4, makeDesktopItem, makeWrapper, nodePackages, autoPatchelfHook}:
+{ lib, stdenv, fetchurl, electron_10, makeDesktopItem, makeWrapper, nodePackages, autoPatchelfHook}:
 
 let
-  electron = electron_4;
+  electron = electron_10;
 in
 stdenv.mkDerivation rec {
   pname = "teleprompter";
-  version = "2.3.4";
+  version = "2.4.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/teleprompter-imaginary-films/imaginary-${pname}-${version}-64bit.tar.gz";
-    sha256 = "084ml2l3qg46bsazaapyxdx4zavvxp0j4ycsdpdwk3f94g9xb120";
+    url = "https://github.com/ImaginarySense/Imaginary-Teleprompter-Electron/releases/download/${lib.versions.majorMinor version}/imaginary-teleprompter-${version}.tar.gz";
+    sha256 = "bgdtK8l5d26avv1WUw9cfOgZrIL1q/a9890Ams4yidQ=";
   };
 
   dontBuild = true;
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "The most complete, free, teleprompter app on the web";
-    license = [ licenses.gpl3 ];
+    license = [ licenses.gpl3Plus ];
     homepage = "https://github.com/ImaginarySense/Teleprompter-Core";
     platforms = platforms.linux;
     maintainers = with maintainers; [ Scriptkiddi ];
diff --git a/pkgs/applications/misc/tellico/default.nix b/pkgs/applications/misc/tellico/default.nix
index 6425be0041868..fa725ad9c96c7 100644
--- a/pkgs/applications/misc/tellico/default.nix
+++ b/pkgs/applications/misc/tellico/default.nix
@@ -1,7 +1,7 @@
 { lib
 , fetchurl
 , mkDerivation
-, kdeApplications
+, libkcddb
 , kinit
 , kdelibs4support
 , solid
@@ -46,7 +46,7 @@ mkDerivation rec {
     exempi
     extra-cmake-modules
     karchive
-    kdeApplications.libkcddb
+    libkcddb
     kdelibs4support
     kfilemetadata
     khtml
diff --git a/pkgs/applications/misc/tiv/default.nix b/pkgs/applications/misc/tiv/default.nix
new file mode 100644
index 0000000000000..3790a9fdd0694
--- /dev/null
+++ b/pkgs/applications/misc/tiv/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, imagemagick }:
+
+stdenv.mkDerivation rec {
+  pname = "tiv";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "stefanhaustein";
+    repo = "TerminalImageViewer";
+    rev = "v${version}";
+    sha256 = "17zqbwj2imk6ygyc142mw6v4fh7h4rd5vzn5wxr9gs0g8qdc6ixn";
+  };
+
+  buildInputs = [ imagemagick ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  preConfigure = "cd src/main/cpp";
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/stefanhaustein/TerminalImageViewer";
+    description = "Small C++ program to display images in a (modern) terminal using RGB ANSI codes and unicode block graphics characters";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ magnetophon ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/tmatrix/default.nix b/pkgs/applications/misc/tmatrix/default.nix
index c03918c4875ea..e63370566880b 100644
--- a/pkgs/applications/misc/tmatrix/default.nix
+++ b/pkgs/applications/misc/tmatrix/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/M4444/TMatrix";
     license = licenses.gpl2;
     platforms = platforms.all;
-    maintainers = with maintainers; [ infinisil filalex77 ];
+    maintainers = with maintainers; [ infinisil Br1ght0ne ];
   };
 }
diff --git a/pkgs/applications/misc/todoist-electron/default.nix b/pkgs/applications/misc/todoist-electron/default.nix
index e1d578edb0f52..cdcb54cbc6c4e 100644
--- a/pkgs/applications/misc/todoist-electron/default.nix
+++ b/pkgs/applications/misc/todoist-electron/default.nix
@@ -1,19 +1,21 @@
 { stdenv, lib, fetchurl, makeDesktopItem, dpkg, atk, at-spi2-atk, glib, pango, gdk-pixbuf
 , gtk3, cairo, freetype, fontconfig, dbus, xorg, nss, nspr, alsaLib, cups, expat
-, udev, libpulseaudio, utillinux, makeWrapper }:
+, udev, libpulseaudio, util-linux, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "todoist-electron";
-  version = "1.23.0";
+  version = "1.24.0";
 
   src = fetchurl {
     url = "https://github.com/KryDos/todoist-linux/releases/download/${version}/Todoist_${version}_amd64.deb";
-    sha256 = "1yxa0fdc3fnffny6jf1hm7545792pw7828mc27il17l4kn346g98";
+    sha256 = "0g35518z6nf6pnfyx4ax75rq8b8br72mi6wv6jzgac9ric1q4h2s";
   };
 
   desktopItem = makeDesktopItem {
     name = "Todoist";
-    exec = "todoist";
+    exec = "todoist %U";
+    icon = "todoist";
+    comment = "Todoist for Linux";
     desktopName = "Todoist";
     categories = "Utility";
   };
@@ -27,7 +29,7 @@ stdenv.mkDerivation rec {
   installPhase = let
     libPath = lib.makeLibraryPath ([
       stdenv.cc.cc gtk3 atk at-spi2-atk glib pango gdk-pixbuf cairo freetype fontconfig dbus
-      nss nspr alsaLib libpulseaudio cups expat udev utillinux
+      nss nspr alsaLib libpulseaudio cups expat udev util-linux
     ] ++ (with xorg; [
       libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb
       libXrender libX11 libXtst libXScrnSaver
@@ -35,6 +37,7 @@ stdenv.mkDerivation rec {
   in ''
     mkdir -p "$out/bin"
     mv opt "$out/"
+    mv usr/share "$out/share"
 
     # Patch binary
     patchelf \
@@ -48,14 +51,15 @@ stdenv.mkDerivation rec {
 
     # Desktop item
     mkdir -p "$out/share"
-    ln -s "${desktopItem}/share/applications" "$out/share/applications"
+    rm -r "$out/share/applications"
+    cp -r "${desktopItem}/share/applications" "$out/share/applications"
   '';
 
   meta = with lib; {
     homepage = "https://github.com/KryDos/todoist-linux";
     description = "The Linux wrapper for Todoist web version";
     platforms = [ "x86_64-linux" ];
-    license = licenses.isc;
+    license = licenses.mit;
     maintainers = with maintainers; [ i077 ];
   };
 }
diff --git a/pkgs/applications/misc/tuir/default.nix b/pkgs/applications/misc/tuir/default.nix
index 11bf70cb56b3b..c086cdb9503ba 100644
--- a/pkgs/applications/misc/tuir/default.nix
+++ b/pkgs/applications/misc/tuir/default.nix
@@ -27,6 +27,6 @@ buildPythonApplication rec {
     description = "Browse Reddit from your Terminal (fork of rtv)";
     homepage = "https://gitlab.com/ajak/tuir/";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 matthiasbeyer ];
+    maintainers = with maintainers; [ Br1ght0ne matthiasbeyer ];
   };
 }
diff --git a/pkgs/applications/misc/tzupdate/default.nix b/pkgs/applications/misc/tzupdate/default.nix
index 5c2b1312faf98..8a18948da2446 100644
--- a/pkgs/applications/misc/tzupdate/default.nix
+++ b/pkgs/applications/misc/tzupdate/default.nix
@@ -5,11 +5,11 @@ let
 in
 buildPythonApplication rec {
   pname = "tzupdate";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12jvyza9pfhazkzq94nizacknnp32lf7kalrjmpz1z2bqqxhx0fm";
+    sha256 = "5b55795c390e4ccc90e649c8cc387447daaf30a21d68f7196b49824cbcba8adc";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/applications/misc/udevil/default.nix b/pkgs/applications/misc/udevil/default.nix
index dbf721888df6d..8e01f73f96754 100644
--- a/pkgs/applications/misc/udevil/default.nix
+++ b/pkgs/applications/misc/udevil/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, glib, pkgconfig, udev, utillinux, acl }:
+{ stdenv, fetchurl, intltool, glib, pkgconfig, udev, util-linux, acl }:
 stdenv.mkDerivation {
   name = "udevil-0.4.4";
   src = fetchurl {
@@ -13,9 +13,9 @@ stdenv.mkDerivation {
     substituteInPlace src/Makefile.in --replace 4755 0755
     ./configure \
       --prefix=$out \
-      --with-mount-prog=${utillinux}/bin/mount \
-      --with-umount-prog=${utillinux}/bin/umount \
-      --with-losetup-prog=${utillinux}/bin/losetup \
+      --with-mount-prog=${util-linux}/bin/mount \
+      --with-umount-prog=${util-linux}/bin/umount \
+      --with-losetup-prog=${util-linux}/bin/losetup \
       --with-setfacl-prog=${acl.bin}/bin/setfacl \
       --sysconfdir=$prefix/etc
   '';
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index b014543e8cebd..2c388e58fe11d 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeWrapper
 , pkgconfig
 , ncurses, libX11
-, utillinux, file, which, groff
+, util-linux, file, which, groff
 
   # adds support for handling removable media (vifm-media). Linux only!
 , mediaSupport ? false, python3 ? null, udisks2 ? null, lib ? null
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
-  buildInputs = [ ncurses libX11 utillinux file which groff ];
+  buildInputs = [ ncurses libX11 util-linux file which groff ];
 
   postFixup = let
     path = lib.makeBinPath
diff --git a/pkgs/applications/misc/visidata/default.nix b/pkgs/applications/misc/visidata/default.nix
index 4cecf07f0fa38..e23df96efed24 100644
--- a/pkgs/applications/misc/visidata/default.nix
+++ b/pkgs/applications/misc/visidata/default.nix
@@ -11,16 +11,17 @@
 , pandas
 , pyshp
 , setuptools
+, withPcap ? true, dpkt ? null, dnslib ? null
 }:
 buildPythonApplication rec {
   pname = "visidata";
-  version = "1.5.2";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "saulpw";
     repo = "visidata";
     rev = "v${version}";
-    sha256 = "19gs8i6chrrwibz706gib5sixx1cjgfzh7v011kp3izcrn524mc0";
+    sha256 = "sha256-AkGU9p00y+psBS/fL2YLyQYRSMOp1aPs21E9bpN9z0M=";
   };
 
   propagatedBuildInputs = [
@@ -34,7 +35,7 @@ buildPythonApplication rec {
     pandas
     pyshp
     setuptools
-  ];
+  ] ++ lib.optionals withPcap [ dpkt dnslib ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/wofi/default.nix b/pkgs/applications/misc/wofi/default.nix
index 4aeff6c9ec8d0..7b9e38c87d171 100644
--- a/pkgs/applications/misc/wofi/default.nix
+++ b/pkgs/applications/misc/wofi/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "wofi";
-  version = "1.2.1";
+  version = "1.2.3";
 
   src = fetchhg {
     url = "https://hg.sr.ht/~scoopta/wofi";
     rev = "v${version}";
-    sha256 = "0hx61br19dlmc3lay23ww3n9ry06m7b6xrkjx7sk4vrg1422iq99";
+    sha256 = "0glpb2gf5n78s01z3rn614ak8ibxhfr824gy6xlljbxclgds264i";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja wrapGAppsHook installShellFiles ];
diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix
index 1f0414838adba..f681923978bde 100644
--- a/pkgs/applications/misc/wordnet/default.nix
+++ b/pkgs/applications/misc/wordnet/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, tcl, tk, xlibsWrapper, makeWrapper}:
+{ stdenv, fetchurl, tcl, tk, Cocoa, xlibsWrapper, makeWrapper }:
 
 stdenv.mkDerivation rec {
   version = "3.0";
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "08pgjvd2vvmqk3h641x63nxp7wqimb9r30889mkyfh2agc62sjbc";
   };
 
-  buildInputs = [tcl tk xlibsWrapper makeWrapper];
+  buildInputs = [ tcl tk xlibsWrapper makeWrapper ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/applications/misc/wtf/default.nix b/pkgs/applications/misc/wtf/default.nix
index ad8e261cf6863..ad107b644722e 100644
--- a/pkgs/applications/misc/wtf/default.nix
+++ b/pkgs/applications/misc/wtf/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "wtf";
-  version = "0.33.0";
+  version = "0.34.0";
 
   src = fetchFromGitHub {
     owner = "wtfutil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dszc3igfvlb6dgf5whyhw72id39lqqmgpd42kyqx5yjf5dw2wg7";
+    sha256 = "01zydr1w8byjhxf4xj6z001q4ynq0452cn332ap1l1w0dmx9mxyr";
    };
 
-  vendorSha256 = "1wcqk8lfv3jq7dfaj9dj8bzsmq2qislzs1m38gx1hh4jwg1rn2cn";
+  vendorSha256 = "1xyai417l8q44b562ssp5qqw04klrhg5397ahr4pc3i30csz8a7a";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/xautoclick/default.nix b/pkgs/applications/misc/xautoclick/default.nix
index 4f441d8a9a99e..f259b28131db6 100644
--- a/pkgs/applications/misc/xautoclick/default.nix
+++ b/pkgs/applications/misc/xautoclick/default.nix
@@ -1,32 +1,30 @@
-{ stdenv, fetchurl, xorg, pkgconfig
-, gtkSupport ? true, gtk2
-, qtSupport ? true, qt4
+{ stdenv, fetchFromGitHub, xorg, pkg-config
+, cmake, libevdev
+, gtkSupport ? true, gtk3, pcre, glib, wrapGAppsHook
+, fltkSupport ? true, fltk
+, qtSupport ? true, qt5
 }:
 
-stdenv.mkDerivation {
-  version = "0.31";
+stdenv.mkDerivation rec {
   pname = "xautoclick";
-  src = fetchurl {
-    url = "mirror://sourceforge/project/xautoclick/xautoclick/xautoclick-0.31/xautoclick-0.31.tar.gz";
-    sha256 = "0h522f12a7v2b89411xm51iwixmjp2mp90rnizjgiakx9ajnmqnm";
+  version = "0.34";
+
+  src = fetchFromGitHub {
+    owner = "qarkai";
+    repo = "xautoclick";
+    rev = "v${version}";
+    sha256 = "GN3zI5LQnVmRC0KWffzUTHKrxcqnstiL55hopwTTwpE=";
   };
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ xorg.libX11 xorg.libXtst xorg.xinput xorg.libXi xorg.libXext ]
-    ++ stdenv.lib.optionals gtkSupport [ gtk2 ]
-    ++ stdenv.lib.optionals qtSupport [ qt4 ];
-  patchPhase = ''
-    substituteInPlace configure --replace /usr/X11R6 ${xorg.libX11.dev}
-  '';
-  preConfigure = stdenv.lib.optional qtSupport ''
-    mkdir .bin
-    ln -s ${qt4}/bin/moc .bin/moc-qt4
-    addToSearchPath PATH .bin
-    sed -i -e "s@LD=\$_cc@LD=\$_cxx@" configure
-  '';
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ libevdev xorg.libXtst ]
+    ++ stdenv.lib.optionals gtkSupport [ gtk3 pcre glib wrapGAppsHook ]
+    ++ stdenv.lib.optionals fltkSupport [ fltk ]
+    ++ stdenv.lib.optionals qtSupport [ qt5.qtbase qt5.wrapQtAppsHook ];
 
   meta = with stdenv.lib; {
     description = "Autoclicker application, which enables you to automatically click the left mousebutton";
-    homepage = "http://xautoclick.sourceforge.net";
+    homepage = "https://github.com/qarkai/xautoclick";
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/misc/xkbd/default.nix b/pkgs/applications/misc/xkbd/default.nix
index d03d78a9fd1d2..cbca2a33d59eb 100644
--- a/pkgs/applications/misc/xkbd/default.nix
+++ b/pkgs/applications/misc/xkbd/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mahatma-kaganovich/xkbd";
     description = "onscreen soft keyboard for X11";
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.genesis ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/xmenu/default.nix b/pkgs/applications/misc/xmenu/default.nix
index 0904d1d048fc5..e84f95e09981c 100644
--- a/pkgs/applications/misc/xmenu/default.nix
+++ b/pkgs/applications/misc/xmenu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmenu";
-  version = "4.3.1";
+  version = "4.4.1";
 
   src = fetchFromGitHub {
     owner = "phillbush";
     repo = "xmenu";
     rev = "v${version}";
-    sha256 = "0m97w1nwak5drcxxlyisqb73fxkapy2rlph9mg531kbx3k2h30r1";
+    sha256 = "1s70zvsaqnsjqs298vw3py0vcvia68xlks1wcz37pb88bwligz1x";
   };
 
   buildInputs = [ imlib2 libX11 libXft libXinerama ];
@@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
   postPatch = "sed -i \"s:/usr/local:$out:\" config.mk";
 
   meta = with stdenv.lib; {
-    description = "XMenu is a menu utility for X";
+    description = "A menu utility for X";
     homepage = "https://github.com/phillbush/xmenu";
-    license = licenses.publicDomain;
+    license = licenses.mit;
     maintainers = with maintainers; [ neonfuz ];
     platforms = platforms.all;
   };
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index d4d93c77ed427..16aa4f2f73034 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "5.11.3";
+  version = "6.5.3";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "019g64rp6g0b0w17bm9l4q5lh7szc6ai8r3bfmy98ngi929r4rl7";
+    sha256 = "0hywdb6zzkmiik93bnsw6pzir7189mnm46brg4v8fyn56vxskfmi";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/xmrig/proxy.nix b/pkgs/applications/misc/xmrig/proxy.nix
index 39cd502040956..1b8f79415838a 100644
--- a/pkgs/applications/misc/xmrig/proxy.nix
+++ b/pkgs/applications/misc/xmrig/proxy.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig-proxy";
-  version = "5.11.0";
+  version = "6.4.0";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig-proxy";
     rev = "v${version}";
-    sha256 = "0wwvsmanvcn0kbb5zqrj8786yg9rmdbink6rsnsm7ifak1iwvls9";
+    sha256 = "0bcbil9b5z95haqbmdqaslckvjflw7h77fqrcdxc6lrn29575nnf";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/xsuspender/default.nix b/pkgs/applications/misc/xsuspender/default.nix
index 55ecd358c6cd4..02559691f4d1d 100644
--- a/pkgs/applications/misc/xsuspender/default.nix
+++ b/pkgs/applications/misc/xsuspender/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Auto-suspend inactive X11 applications.";
+    description = "Auto-suspend inactive X11 applications";
     homepage = "https://kernc.github.io/xsuspender/";
     license = licenses.wtfpl;
     maintainers = with maintainers; [ offline ];
diff --git a/pkgs/applications/misc/xteddy/default.nix b/pkgs/applications/misc/xteddy/default.nix
index 856ddb8ff50c9..34ec17b0b9a52 100644
--- a/pkgs/applications/misc/xteddy/default.nix
+++ b/pkgs/applications/misc/xteddy/default.nix
@@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "games-team";
-    repo = "xteddy";
-    rev = "debian%2F${version}"; # %2F = urlquote("/");
+    repo = pname;
+    rev = "debian/${version}";
     sha256 = "0rm7w78d6qajq4fvi4agyqm0c70f3c1i0cy2jdb6kqql2k8w78qy";
   };
 
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
deleted file mode 100644
index 109444fc51802..0000000000000
--- a/pkgs/applications/misc/xterm/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, xorg, ncurses, freetype, fontconfig, pkgconfig, makeWrapper
-, enableDecLocator ? true
-}:
-
-stdenv.mkDerivation rec {
-  name = "xterm-353";
-
-  src = fetchurl {
-    urls = [
-     "ftp://ftp.invisible-island.net/xterm/${name}.tgz"
-     "https://invisible-mirror.net/archives/xterm/${name}.tgz"
-   ];
-    sha256 = "0s5pkfn4r8iy09s1q1y78zhnr9f3sm6wgbqir7azaqggkppd68g5";
-  };
-
-  buildInputs =
-    [ xorg.libXaw xorg.xorgproto xorg.libXt xorg.libXext xorg.libX11 xorg.libSM xorg.libICE
-      ncurses freetype fontconfig pkgconfig xorg.libXft xorg.luit makeWrapper
-    ];
-
-  patches = [
-    ./sixel-256.support.patch
-  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl
-    (fetchpatch {
-      name = "posix-ptys.patch";
-      url = "https://git.alpinelinux.org/aports/plain/community/xterm/posix-ptys.patch?id=3aa532e77875fa1db18c7fcb938b16647031bcc1";
-      sha256 = "0czgnsxkkmkrk1idw69qxbprh0jb4sw3c24zpnqq2v76jkl7zvlr";
-    });
-
-  configureFlags = [
-    "--enable-wide-chars"
-    "--enable-256-color"
-    "--enable-sixel-graphics"
-    "--enable-regis-graphics"
-    "--enable-load-vt-fonts"
-    "--enable-i18n"
-    "--enable-doublechars"
-    "--enable-luit"
-    "--enable-mini-luit"
-    "--with-tty-group=tty"
-    "--with-app-defaults=$(out)/lib/X11/app-defaults"
-  ] ++ stdenv.lib.optional enableDecLocator "--enable-dec-locator";
-
-  # Work around broken "plink.sh".
-  NIX_LDFLAGS = "-lXmu -lXt -lICE -lX11 -lfontconfig";
-
-  # Hack to get xterm built with the feature of releasing a possible setgid of 'utmp',
-  # decided by the sysadmin to allow the xterm reporting to /var/run/utmp
-  # If we used the configure option, that would have affected the xterm installation,
-  # (setgid with the given group set), and at build time the environment even doesn't have
-  # groups, and the builder will end up removing any setgid.
-  postConfigure = ''
-    echo '#define USE_UTMP_SETGID 1'
-  '';
-
-  postInstall = ''
-    for bin in $out/bin/*; do
-      wrapProgram $bin --set XAPPLRESDIR $out/lib/X11/app-defaults/
-    done
-
-    install -D -t $out/share/applications xterm.desktop
-    install -D -t $out/share/icons/hicolor/48x48/apps icons/xterm-color_48x48.xpm
-  '';
-
-  meta = {
-    homepage = "https://invisible-island.net/xterm";
-    license = with stdenv.lib.licenses; [ mit ];
-    maintainers = with stdenv.lib.maintainers; [vrthra];
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
-  };
-}
diff --git a/pkgs/applications/misc/yarssr/default.nix b/pkgs/applications/misc/yarssr/default.nix
index c5489b8b9813c..805c708ea00c4 100644
--- a/pkgs/applications/misc/yarssr/default.nix
+++ b/pkgs/applications/misc/yarssr/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/tsyrogit/zxcvbn-c";
-    description = "A fork of Yarssr (a RSS reader for the GNOME Tray) from http://yarssr.sf.net with various fixes.";
+    description = "A fork of Yarssr (a RSS reader for the GNOME Tray) from http://yarssr.sf.net with various fixes";
     license = licenses.gpl1;
     platforms = platforms.linux;
     maintainers = with maintainers; [ xurei ];
diff --git a/pkgs/applications/misc/yubioath-desktop/0001-replace-git-with-normal-python-package.patch b/pkgs/applications/misc/yubioath-desktop/0001-replace-git-with-normal-python-package.patch
new file mode 100644
index 0000000000000..d56a6cfab0738
--- /dev/null
+++ b/pkgs/applications/misc/yubioath-desktop/0001-replace-git-with-normal-python-package.patch
@@ -0,0 +1,24 @@
+From 5eb4d6a384753896d495b09d8651c48672ef234d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Wed, 25 Nov 2020 11:26:49 +0100
+Subject: [PATCH] replace git with normal python package
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ requirements.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/requirements.txt b/requirements.txt
+index ef25aad..b4246a4 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,2 +1,2 @@
+-git+https://github.com/Yubico/yubikey-manager.git
++yubikey-manager
+ ./py/qr
+-- 
+2.29.2
+
diff --git a/pkgs/applications/misc/yubioath-desktop/default.nix b/pkgs/applications/misc/yubioath-desktop/default.nix
index c6a1022288f78..460b34416ff5b 100644
--- a/pkgs/applications/misc/yubioath-desktop/default.nix
+++ b/pkgs/applications/misc/yubioath-desktop/default.nix
@@ -19,6 +19,10 @@ mkDerivation rec {
 
   nativeBuildInputs = [ qmake makeWrapper python3.pkgs.wrapPython ];
 
+  patches = [
+    ./0001-replace-git-with-normal-python-package.patch
+  ];
+
   postPatch = ''
     substituteInPlace deployment.pri \
       --replace '/usr/bin' "$out/bin"
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index 58b1a81c90fc3..2fc158daf62fa 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -10,11 +10,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "zathura";
-  version = "0.4.5";
+  version = "0.4.7";
 
   src = fetchurl {
     url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
-    sha256 = "0b3nrcvykkpv2vm99kijnic2gpfzva520bsjlihaxandzfm9ff8c";
+    sha256 = "1rx1fk9s556fk59lmqgvhwrmv71ashh89bx9adjq46wq5gzdn4p0";
   };
 
   outputs = [ "bin" "man" "dev" "out" ];
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
index 32a2ec4201104..97f36f8284721 100644
--- a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
@@ -1,29 +1,45 @@
 { stdenv, lib, meson, ninja, fetchurl, fetchpatch
-, pkgconfig, zathura_core, cairo , gtk-mac-integration, girara, mupdf }:
+, cairo
+, girara
+, gtk-mac-integration
+, gumbo
+, jbig2dec
+, libjpeg
+, mupdf
+, openjpeg_2
+, pkgconfig
+, zathura_core
+}:
 
 stdenv.mkDerivation rec {
-  version = "0.3.5";
+  version = "0.3.6";
   pname = "zathura-pdf-mupdf";
 
   src = fetchurl {
     url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
-    sha256 = "1pjwsb7zwclxsvz229fl7y2saf1pv3ifwv3ay8viqxgrp9x3z9hq";
+    sha256 = "1r3v37k9fl2rxipvacgxr36llywvy7n20a25h3ajlyk70697sa66";
   };
 
-  patches = [
-    # compatibility with MuPDF 1.17
-    (fetchpatch {
-      url = "https://git.pwmt.org/pwmt/zathura-pdf-mupdf/-/commit/c7f341addb76d5e6fd8c24c666d8fe97c451a4cb.patch";
-      sha256 = "12rikx2j7dpngfma9x4i504w58a8xx3rc0gmyz183v19hn54c075";
-    })
-  ];
-
   nativeBuildInputs = [ meson ninja pkgconfig ];
 
   buildInputs = [
-    zathura_core girara mupdf cairo
+    cairo
+    girara
+    gumbo
+    jbig2dec
+    libjpeg
+    mupdf
+    openjpeg_2
+    zathura_core
   ] ++ lib.optional stdenv.isDarwin gtk-mac-integration;
 
+  mesonFlags = [
+    "-Dlink-external=true"
+  ];
+
+  # avoid: undefined symbol: gumbo_destroy_output
+  NIX_LDFLAGS = [ "-lgumbo" ];
+
   PKG_CONFIG_ZATHURA_PLUGINDIR= "lib/zathura";
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/Sylk/default.nix b/pkgs/applications/networking/Sylk/default.nix
index 164e2b1ea79c0..9f5378d761aa8 100644
--- a/pkgs/applications/networking/Sylk/default.nix
+++ b/pkgs/applications/networking/Sylk/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "Sylk";
-  version = "2.9.1";
+  version = "2.9.3";
 in
 
 appimageTools.wrapType2 rec {
@@ -10,7 +10,7 @@ appimageTools.wrapType2 rec {
 
   src = fetchurl {
     url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage";
-    hash = "sha256-Y1FR1tYZTxhMFn6NL578otitmOsngMJBPK/9cpCqE/Q=";
+    hash = "sha256-JH/TUGAYZTIb/L926CoYb5yzPtbOKVmnWRmHO6DxDyY=";
   };
 
   profile = ''
diff --git a/pkgs/applications/networking/browsers/amfora/default.nix b/pkgs/applications/networking/browsers/amfora/default.nix
index 2772cb6d987de..925cc1a4f9121 100644
--- a/pkgs/applications/networking/browsers/amfora/default.nix
+++ b/pkgs/applications/networking/browsers/amfora/default.nix
@@ -2,16 +2,21 @@
 
 buildGoModule rec {
   pname = "amfora";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "makeworld-the-better-one";
     repo = "amfora";
     rev = "v${version}";
-    sha256 = "011h5xzwiafh3fdp9wil8n618p45ph9swa66lw6s82ijpiizz79s";
+    sha256 = "1f5r12hmdgj26p4ss5pcpfcvqlcn19fr9xvvvk2izckcr48p4fy7";
   };
 
-  vendorSha256 = "10f3bh3r3jc1185r8r1ihg8rprdpl8qwg5b6wqwsda96ydkbpi2b";
+  vendorSha256 = "0mkk7xxfxxp1w9890mkmag11mzxhy2zmh8v1macpyp1zmzgs21f8";
+
+  postInstall = ''
+    sed -i "s:amfora:$out/bin/amfora:" amfora.desktop
+    install -Dm644 amfora.desktop -t $out/share/applications
+  '';
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/browsers/bombadillo/default.nix b/pkgs/applications/networking/browsers/bombadillo/default.nix
new file mode 100644
index 0000000000000..c24f91c4e103e
--- /dev/null
+++ b/pkgs/applications/networking/browsers/bombadillo/default.nix
@@ -0,0 +1,21 @@
+{ lib, fetchgit, buildGoModule }:
+
+buildGoModule rec {
+  pname = "bombadillo";
+  version = "2.3.3";
+
+  src = fetchgit {
+    url = "https://tildegit.org/sloum/bombadillo.git";
+    rev = version;
+    sha256 = "02w6h44sxzmk3bkdidl8xla0i9rwwpdqljnvcbydx5kyixycmg0q";
+  };
+
+  vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
+
+  meta = with lib; {
+    description = "Non-web client for the terminal, supporting Gopher, Gemini and more";
+    homepage = "https://bombadillo.colorfield.space/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ ehmry ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index ceceffb8da084..ac924730989e3 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -86,11 +86,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.12.112";
+  version = "1.16.76";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "0nvxmz1wrr6cfyhbnrfjsy9szbjmvjl6080pgkp25xa8rcql5gmb";
+    sha256 = "1nbgiwflmr3ik428yarmnpx10dmqai2m4k910miqd92mwmfb0pib";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/README.md b/pkgs/applications/networking/browsers/chromium/README.md
new file mode 100644
index 0000000000000..8e4eae75f960c
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/README.md
@@ -0,0 +1,69 @@
+# Maintainers
+
+- TODO: We need more maintainers:
+  - https://github.com/NixOS/nixpkgs/issues/78450
+  - If you just want to help out without becoming a maintainer:
+    - Look for open Nixpkgs issues or PRs related to Chromium
+    - Make your own PRs (but please try to make reviews as easy as possible)
+- Primary maintainer (responsible for updating Chromium): @primeos
+- Testers (test all stable channel updates)
+  - `nixos-unstable`:
+    - `x86_64`: @danielfullmer
+    - `aarch64`: @thefloweringash
+  - Stable channel:
+    - `x86_64`: @Frostman
+- Other relevant packages:
+  - `chromiumBeta` and `chromiumDev`: For testing purposes (not build on Hydra)
+  - `google-chrome`, `google-chrome-beta`, `google-chrome-dev`: Updated via
+    Chromium's `upstream-info.json`
+  - `ungoogled-chromium`: Based on `chromium` (the expressions are regularly
+    copied over and patched accordingly)
+
+# Upstream links
+
+- Source code: https://source.chromium.org/chromium/chromium/src
+- Bugs: https://bugs.chromium.org/p/chromium/issues/list
+- Release updates: https://chromereleases.googleblog.com/
+  - Available as Atom or RSS feed (filter for
+    "Stable Channel Update for Desktop")
+  - Channel overview: https://omahaproxy.appspot.com/
+  - Release schedule: https://chromiumdash.appspot.com/schedule
+
+# Updating Chromium
+
+Simply run `./pkgs/applications/networking/browsers/chromium/update.py` to
+update `upstream-info.json`. After updates it is important to test at least
+`nixosTests.chromium` (or basic manual testing) and `google-chrome` (which
+reuses `upstream-info.json`).
+
+After updating, please also update pkgs/development/tools/selenium/chromedriver/default.nix
+to a matching version.
+
+## Backports
+
+All updates are considered security critical and should be ported to the stable
+channel ASAP. When there is a new stable release the old one should receive
+security updates for roughly one month. After that it is important to mark
+Chromium as insecure (see 69e4ae56c4b for an example; it is important that the
+tested job still succeeds and that all browsers that use `upstream-info.json`
+are marked as insecure).
+
+## Major version updates
+
+Unfortunately, Chromium regularly breaks on major updates and might need
+various patches. Either due to issues with the Nix build sandbox (e.g. we cannot
+fetch dependencies via the network and do not use standard FHS paths) or due to
+missing upstream fixes that need to be backported.
+
+Good sources for such patches and other hints:
+- https://github.com/archlinux/svntogit-packages/tree/packages/chromium/trunk
+- https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium
+- https://src.fedoraproject.org/rpms/chromium/tree/master
+
+If the build fails immediately due to unknown compiler flags this usually means
+that a new major release of LLVM is required.
+
+## Beta and Dev channels
+
+Those channels are only used to test and fix builds in advance. They may be
+broken at times and must not delay stable channel updates.
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index 3d87325984b4f..d3953da71d284 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -77,18 +77,10 @@ mkChromiumDerivation (base: rec {
       of source code for Google Chrome (which has some additional features).
     '';
     homepage = "https://www.chromium.org/";
-    maintainers = with maintainers; [ bendlas thefloweringash primeos ];
-    # Overview of the maintainer roles:
-    # nixos-unstable:
-    # - TODO: Need a new maintainer for x86_64 [0]
-    # - @thefloweringash: aarch64
-    # - @primeos: Provisional maintainer (x86_64)
-    # Stable channel:
-    # - TODO (need someone to test backports [0])
-    # [0]: https://github.com/NixOS/nixpkgs/issues/78450
+    maintainers = with maintainers; [ primeos thefloweringash bendlas ]; # See README.md
     license = if enableWideVine then licenses.unfree else licenses.bsd3;
     platforms = platforms.linux;
     hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else [];
-    timeout = 172800; # 48 hours
+    timeout = 172800; # 48 hours (increased from the Hydra default of 10h)
   };
 })
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 7de238dae8ef3..f167ab105d342 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -5,11 +5,11 @@
 , libevent, expat, libjpeg, snappy
 , libpng, libcap
 , xdg_utils, yasm, nasm, minizip, libwebp
-, libusb1, pciutils, nss, re2, zlib
+, libusb1, pciutils, nss, re2
 
 , python2Packages, perl, pkgconfig
 , nspr, systemd, kerberos
-, utillinux, alsaLib
+, util-linux, alsaLib
 , bison, gperf
 , glib, gtk3, dbus-glib
 , glibc
@@ -22,7 +22,7 @@
 # optional dependencies
 , libgcrypt ? null # gnomeSupport || cupsSupport
 , libva ? null # useVaapi
-, libdrm ? null, wayland ? null, mesa_drivers ? null, libxkbcommon ? null # useOzone
+, libdrm ? null, wayland ? null, mesa ? null, libxkbcommon ? null # useOzone
 
 # package customization
 , useOzone ? false
@@ -46,8 +46,6 @@ buildFun:
 
 with stdenv.lib;
 
-# see http://www.linuxfromscratch.org/blfs/view/cvs/xsoft/chromium.html
-
 let
   jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
 
@@ -63,7 +61,7 @@ let
   mkGnFlags =
     let
       # Serialize Nix types into GN types according to this document:
-      # https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/language.md
+      # https://source.chromium.org/gn/gn/+/master:docs/language.md
       mkGnString = value: "\"${escape ["\"" "$" "\\"] value}\"";
       sanitize = value:
         if value == true then "true"
@@ -75,6 +73,7 @@ let
       toFlag = key: value: "${key}=${sanitize value}";
     in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
 
+  # https://source.chromium.org/chromium/chromium/src/+/master:build/linux/unbundle/replace_gn_files.py
   gnSystemLibraries = [
     "ffmpeg"
     "flac"
@@ -85,9 +84,6 @@ let
     "opus"
     "snappy"
     "zlib"
-    # "re2" # fails with linker errors
-    # "harfbuzz-ng" # in versions over 63 harfbuzz and freetype are being built together
-                    # so we can't build with one from system and other from source
   ];
 
   opusWithCustomModes = libopus.override {
@@ -99,11 +95,9 @@ let
     libevent expat libjpeg snappy
     libpng libcap
     xdg_utils minizip libwebp
-    libusb1 re2 zlib
+    libusb1 re2
     ffmpeg libxslt libxml2
     nasm
-    # harfbuzz # in versions over 63 harfbuzz and freetype are being built together
-               # so we can't build with one from system and other from source
   ];
 
   # build paths and release info
@@ -132,6 +126,7 @@ let
     };
 
     nativeBuildInputs = [
+      llvmPackages.lldClang.bintools
       ninja which python2Packages.python perl pkgconfig
       python2Packages.ply python2Packages.jinja2 nodejs
       gnutar python2Packages.setuptools
@@ -139,7 +134,7 @@ let
 
     buildInputs = defaultDependencies ++ [
       nspr nss systemd
-      utillinux alsaLib
+      util-linux alsaLib
       bison gperf kerberos
       glib gtk3 dbus-glib
       libXScrnSaver libXcursor libXtst libGLU libGL
@@ -151,32 +146,33 @@ let
       ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
       ++ optionals cupsSupport [ libgcrypt cups ]
       ++ optional pulseSupport libpulseaudio
-      ++ optionals useOzone [ libdrm wayland mesa_drivers libxkbcommon ];
+      ++ optionals useOzone [ libdrm wayland mesa.drivers libxkbcommon ];
 
     patches = [
-      ./patches/remove-webp-include-69.patch
-      ./patches/no-build-timestamps.patch
-      ./patches/widevine-79.patch
-      # Unfortunately, chromium regularly breaks on major updates and
-      # then needs various patches backported in order to be compiled with GCC.
-      # Good sources for such patches and other hints:
-      # - https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/
-      # - https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/chromium
-      # - https://github.com/chromium/chromium/search?q=GCC&s=committer-date&type=Commits
-      #
-      # ++ optionals (channel == "dev") [ ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" ) ]
+      ./patches/no-build-timestamps.patch # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed)
+      ./patches/widevine-79.patch # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags
       # ++ optional (versionRange "68" "72") ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" )
-    ] ++ optionals (useVaapi) [
-      # Check for enable-accelerated-video-decode on Linux:
-      (githubPatch "54deb9811ca9bd2327def5c05ba6987b8c7a0897" "11jvxjlkzz1hm0pvfyr88j7z3zbwzplyl5idkx92l2lzv4459c8d")
     ];
 
     postPatch = ''
+      # remove unused third-party
+      for lib in ${toString gnSystemLibraries}; do
+        if [ -d "third_party/$lib" ]; then
+          find "third_party/$lib" -type f \
+            \! -path "third_party/$lib/chromium/*" \
+            \! -path "third_party/$lib/google/*" \
+            \! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \
+            \! -regex '.*\.\(gn\|gni\|isolate\)' \
+            -delete
+        fi
+      done
+
       # Required for patchShebangs (unsupported interpreter directive, basename: invalid option -- '*', etc.):
-      substituteInPlace native_client/SConstruct \
-        --replace "#! -*- python -*-" ""
-      substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \
-        --replace "/usr/bin/env -S make -f" "/usr/bin/make -f"
+      substituteInPlace native_client/SConstruct --replace "#! -*- python -*-" ""
+      if [ -e third_party/harfbuzz-ng/src/src/update-unicode-tables.make ]; then
+        substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \
+          --replace "/usr/bin/env -S make -f" "/usr/bin/make -f"
+      fi
 
       # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX
       substituteInPlace sandbox/linux/suid/client/setuid_sandbox_host.cc \
@@ -204,48 +200,26 @@ let
       sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
         gpu/config/gpu_info_collector_linux.cc
 
-      sed -i -re 's/([^:])\<(isnan *\()/\1std::\2/g' \
-        chrome/browser/ui/webui/engagement/site_engagement_ui.cc
-
-      sed -i -e '/#include/ {
-        i #include <algorithm>
-        :l; n; bl
-      }' gpu/config/gpu_control_list.cc
-
       # Allow to put extensions into the system-path.
       sed -i -e 's,/usr,/run/current-system/sw,' chrome/common/chrome_paths.cc
 
       patchShebangs .
       # use our own nodejs
       mkdir -p third_party/node/linux/node-linux-x64/bin
-      ln -s $(which node) third_party/node/linux/node-linux-x64/bin/node
+      ln -s "$(command -v node)" third_party/node/linux/node-linux-x64/bin/node
+
+      # Allow building against system libraries in official builds
+      sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py
 
-      # remove unused third-party
-      # in third_party/crashpad third_party/zlib contains just a header-adapter
-      for lib in ${toString gnSystemLibraries}; do
-        find -type f -path "*third_party/$lib/*"     \
-            \! -path "*third_party/crashpad/crashpad/third_party/zlib/*"  \
-            \! -path "*third_party/$lib/chromium/*"  \
-            \! -path "*third_party/$lib/google/*"    \
-            \! -path "*base/third_party/icu/*"       \
-            \! -path "*base/third_party/libevent/*"  \
-            \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
-            -delete
-      done
     '' + optionalString stdenv.isAarch64 ''
       substituteInPlace build/toolchain/linux/BUILD.gn \
         --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
-    '' + optionalString stdenv.cc.isClang ''
-      mkdir -p third_party/llvm-build/Release+Asserts/bin
-      ln -s ${stdenv.cc}/bin/clang              third_party/llvm-build/Release+Asserts/bin/clang
-      ln -s ${stdenv.cc}/bin/clang++            third_party/llvm-build/Release+Asserts/bin/clang++
-      ln -s ${llvmPackages.llvm}/bin/llvm-ar    third_party/llvm-build/Release+Asserts/bin/llvm-ar
     '';
 
     gnFlags = mkGnFlags ({
-      use_lld = false;
-      use_gold = true;
-      gold_path = "${stdenv.cc}/bin";
+      custom_toolchain = "//build/toolchain/linux/unbundle:default";
+      host_toolchain = "//build/toolchain/linux/unbundle:default";
+      is_official_build = true;
       is_debug = false;
 
       proprietary_codecs = false;
@@ -304,8 +278,7 @@ let
 
       # This is to ensure expansion of $out.
       libExecPath="${libExecPath}"
-      python build/linux/unbundle/replace_gn_files.py \
-        --system-libraries ${toString gnSystemLibraries}
+      python build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries}
       ${gnChromium}/bin/gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt
 
       # Fail if `gn gen` contains a WARNING.
@@ -320,15 +293,8 @@ let
     NIX_CFLAGS_COMPILE = "-Wno-unknown-warning-option";
 
     buildPhase = let
-      # Build paralelism: on Hydra the build was frequently running into memory
-      # exhaustion, and even other users might be running into similar issues.
-      # -j is halved to avoid memory problems, and -l is slightly increased
-      # so that the build gets slight preference before others
-      # (it will often be on "critical path" and at risk of timing out)
       buildCommand = target: ''
-        ninja -C "${buildPath}"  \
-          -j$(( ($NIX_BUILD_CORES+1) / 2 )) -l$(( $NIX_BUILD_CORES+1 )) \
-          "${target}"
+        ninja -C "${buildPath}" -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES "${target}"
         (
           source chrome/installer/linux/common/installer.include
           PACKAGE=$packageName
@@ -347,7 +313,12 @@ let
       patchelf --set-rpath "${libGL}/lib:$origRpath" "$chromiumBinary"
     '';
 
-    passthru.updateScript = ./update.py;
+    passthru = {
+      updateScript = ./update.py;
+      chromiumDeps = {
+        gn = gnChromium;
+      };
+    };
   };
 
 # Remove some extraAttrs we supplied to the base attributes already.
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index e4bde51222703..845a4ac3b61b3 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -14,9 +14,8 @@
 , proprietaryCodecs ? true
 , enablePepperFlash ? false
 , enableWideVine ? false
-, useVaapi ? false # Deprecated, use enableVaapi instead!
 , enableVaapi ? false # Disabled by default due to unofficial support
-, useOzone ? false
+, useOzone ? true
 , cupsSupport ? true
 , pulseSupport ? config.pulseaudio or stdenv.isLinux
 , commandLineArgs ? ""
@@ -36,25 +35,14 @@ let
     mkChromiumDerivation = callPackage ./common.nix ({
       inherit channel gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs
               cupsSupport pulseSupport useOzone;
-      # TODO: Remove after we can update gn for the stable channel (backward incompatible changes):
       gnChromium = gn.overrideAttrs (oldAttrs: {
-        version = "2020-07-20";
+        inherit (upstream-info.deps.gn) version;
         src = fetchgit {
-          url = "https://gn.googlesource.com/gn";
-          rev = "3028c6a426a4aaf6da91c4ebafe716ae370225fe";
-          sha256 = "0h3wf4152zdvrbb0jbj49q6814lfl3rcy5mj8b2pl9s0ahvkbc6q";
-        };
-      });
-    } // lib.optionalAttrs (lib.versionAtLeast upstream-info.version "87") {
-      useOzone = true; # YAY: https://chromium-review.googlesource.com/c/chromium/src/+/2382834 \o/
-      gnChromium = gn.overrideAttrs (oldAttrs: {
-        version = "2020-08-17";
-        src = fetchgit {
-          url = "https://gn.googlesource.com/gn";
-          rev = "6f13aaac55a977e1948910942675c69f2b4f7a94";
-          sha256 = "01hpma1sllpdx09mvr4d6073sg6zmk6iv44kd3r28khymcj4s251";
+          inherit (upstream-info.deps.gn) url rev sha256;
         };
       });
+      # TODO: Cleanup useOzone and useVaapi in common.nix:
+      useVaapi = !stdenv.isAarch64; # TODO: Might be best to not set use_vaapi anymore (default is fine)
     });
 
     browser = callPackage ./browser.nix { inherit channel enableWideVine; };
@@ -147,13 +135,6 @@ let
       ''
     else browser;
 
-  optionalVaapiFlags = if useVaapi # TODO: Remove after 20.09:
-    then throw ''
-      Chromium's useVaapi was replaced by enableVaapi and you don't need to pass
-      "--ignore-gpu-blacklist" anymore (also no rebuilds are required anymore).
-    '' else lib.optionalString
-      (enableVaapi)
-      "--add-flags --enable-accelerated-video-decode";
 in stdenv.mkDerivation {
   name = "chromium${suffix}-${version}";
   inherit version;
@@ -180,7 +161,7 @@ in stdenv.mkDerivation {
 
     eval makeWrapper "${browserBinary}" "$out/bin/chromium" \
       --add-flags ${escapeShellArg (escapeShellArg commandLineArgs)} \
-      ${optionalVaapiFlags} \
+      ${lib.optionalString enableVaapi "--add-flags --enable-accelerated-video-decode"} \
       ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled}
 
     ed -v -s "$out/bin/chromium" << EOF
diff --git a/pkgs/applications/networking/browsers/chromium/patches/remove-webp-include-69.patch b/pkgs/applications/networking/browsers/chromium/patches/remove-webp-include-69.patch
deleted file mode 100644
index 07572cf7ee947..0000000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/remove-webp-include-69.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/third_party/blink/renderer/platform/image-encoders/image_encoder.cc
-+++ b/third_party/blink/renderer/platform/image-encoders/image_encoder.cc
-@@ -13,7 +13,7 @@
-
- #include "jpeglib.h"  // for JPEG_MAX_DIMENSION
-
--#include "third_party/libwebp/src/webp/encode.h"  // for WEBP_MAX_DIMENSION
-+#define WEBP_MAX_DIMENSION 16383
-
- namespace blink {
-
diff --git a/pkgs/applications/networking/browsers/chromium/update.py b/pkgs/applications/networking/browsers/chromium/update.py
index bfc7f0d2478c3..9e1f0aec598da 100755
--- a/pkgs/applications/networking/browsers/chromium/update.py
+++ b/pkgs/applications/networking/browsers/chromium/update.py
@@ -1,13 +1,15 @@
 #! /usr/bin/env nix-shell
-#! nix-shell -i python -p python3 nix
+#! nix-shell -i python -p python3 nix nix-prefetch-git
 
 import csv
 import json
+import re
 import subprocess
 import sys
 
 from codecs import iterdecode
 from collections import OrderedDict
+from datetime import datetime
 from os.path import abspath, dirname
 from urllib.request import urlopen
 
@@ -26,6 +28,44 @@ def nix_prefetch_url(url, algo='sha256'):
     out = subprocess.check_output(['nix-prefetch-url', '--type', algo, url])
     return out.decode('utf-8').rstrip()
 
+def nix_prefetch_git(url, rev):
+    print(f'nix-prefetch-git {url} {rev}')
+    out = subprocess.check_output(['nix-prefetch-git', '--quiet', '--url', url, '--rev', rev])
+    return json.loads(out)
+
+def get_file_revision(revision, file_path):
+    url = f'https://raw.githubusercontent.com/chromium/chromium/{revision}/{file_path}'
+    with urlopen(url) as http_response:
+        return http_response.read()
+
+def get_matching_chromedriver(version):
+    # See https://chromedriver.chromium.org/downloads/version-selection
+    build = re.sub('.[0-9]+$', '', version)
+    chromedriver_version_url = f'https://chromedriver.storage.googleapis.com/LATEST_RELEASE_{build}'
+    with urlopen(chromedriver_version_url) as http_response:
+        chromedriver_version = http_response.read().decode()
+        def get_chromedriver_url(system):
+            return f'https://chromedriver.storage.googleapis.com/{chromedriver_version}/chromedriver_{system}.zip'
+        return {
+            'version': chromedriver_version,
+            'sha256_linux': nix_prefetch_url(get_chromedriver_url('linux64')),
+            'sha256_darwin': nix_prefetch_url(get_chromedriver_url('mac64'))
+        }
+
+def get_channel_dependencies(channel):
+    deps = get_file_revision(channel['version'], 'DEPS')
+    gn_pattern = b"'gn_version': 'git_revision:([0-9a-f]{40})'"
+    gn_commit = re.search(gn_pattern, deps).group(1).decode()
+    gn = nix_prefetch_git('https://gn.googlesource.com/gn', gn_commit)
+    return {
+        'gn': {
+            'version': datetime.fromisoformat(gn['date']).date().isoformat(),
+            'url': gn['url'],
+            'rev': gn['rev'],
+            'sha256': gn['sha256']
+        }
+    }
+
 channels = {}
 last_channels = load_json(JSON_PATH)
 
@@ -58,6 +98,10 @@ with urlopen(HISTORY_URL) as resp:
             # the next one.
             continue
 
+        channel['deps'] = get_channel_dependencies(channel)
+        if channel_name == 'stable':
+            channel['chromedriver'] = get_matching_chromedriver(channel['version'])
+
         channels[channel_name] = channel
 
 with open(JSON_PATH, 'w') as out:
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 9ea7182b96dcd..6281013a6814e 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,17 +1,46 @@
 {
   "stable": {
-    "version": "86.0.4240.75",
-    "sha256": "1ddw4p9zfdzhi5hrd8x14k4w326znljzprnpfi2f917rlpnl2ynx",
-    "sha256bin64": "17isxkd80rccqim6izzl08vw4yr52qsk6djp1rmhhijzg9rsvghz"
+    "version": "87.0.4280.66",
+    "sha256": "0hgpg31gkksqgyvycsan7l7vjypc7cr6ikjfygf2zv7dhbmf9a19",
+    "sha256bin64": "09hjhxjihhxq5i2wadpa0g72a6iis0igarr8arrcah4122icdr77",
+    "deps": {
+      "gn": {
+        "version": "2020-09-09",
+        "url": "https://gn.googlesource.com/gn",
+        "rev": "e002e68a48d1c82648eadde2f6aafa20d08c36f2",
+        "sha256": "0x4c7amxwzxs39grqs3dnnz0531mpf1p75niq7zhinyfqm86i4dk"
+      }
+    },
+    "chromedriver": {
+      "version": "87.0.4280.20",
+      "sha256_linux": "1cpk7mb32z3a7c7cbaaxskpv91il3i8kgsdp2q8zw9w762kql953",
+      "sha256_darwin": "06mx2yk6xy46azvkbyvhqm11prxbh67pfi50fcwxb0zqllbq7scr"
+    }
   },
   "beta": {
-    "version": "86.0.4240.75",
-    "sha256": "1ddw4p9zfdzhi5hrd8x14k4w326znljzprnpfi2f917rlpnl2ynx",
-    "sha256bin64": "16snxdka5bkbvybx6x0dzgfbfaifv0jcc1dcny6vlqqp2fmb2v39"
+    "version": "87.0.4280.66",
+    "sha256": "0hgpg31gkksqgyvycsan7l7vjypc7cr6ikjfygf2zv7dhbmf9a19",
+    "sha256bin64": "15n01jia8sxv3a7vfbla40rq45x54pyksg0kg14bm0br6m3n65pz",
+    "deps": {
+      "gn": {
+        "version": "2020-09-09",
+        "url": "https://gn.googlesource.com/gn",
+        "rev": "e002e68a48d1c82648eadde2f6aafa20d08c36f2",
+        "sha256": "0x4c7amxwzxs39grqs3dnnz0531mpf1p75niq7zhinyfqm86i4dk"
+      }
+    }
   },
   "dev": {
-    "version": "87.0.4278.0",
-    "sha256": "1ywmv4iwn2as7vk2n0pslnmr300fl5y809ynxiw5xqcx9j6i8w85",
-    "sha256bin64": "15dvwvk6l6n7l04085hr48hlvsijypasyk7d8iq3s6cxai3wx4cl"
+    "version": "88.0.4324.11",
+    "sha256": "123gqbxrn508wxdj3is0kzccml5zwnf8pfl90xdizvzcm3wy5315",
+    "sha256bin64": "11bswhxpnw7qi6lagfpgxh4yh56w7l0bc3rqwf975cbq2cnzpjby",
+    "deps": {
+      "gn": {
+        "version": "2020-11-05",
+        "url": "https://gn.googlesource.com/gn",
+        "rev": "53d92014bf94c3893886470a1c7c1289f8818db0",
+        "sha256": "1xcm07qjk6m2czi150fiqqxql067i832adck6zxrishm70c9jbr9"
+      }
+    }
   }
 }
diff --git a/pkgs/applications/networking/browsers/ephemeral/default.nix b/pkgs/applications/networking/browsers/ephemeral/default.nix
index 5500767877886..6d8aa3649a90e 100644
--- a/pkgs/applications/networking/browsers/ephemeral/default.nix
+++ b/pkgs/applications/networking/browsers/ephemeral/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ephemeral";
-  version = "6.4.1";
+  version = "7.0.4";
 
   src = fetchFromGitHub {
     owner = "cassidyjames";
     repo = "ephemeral";
     rev = version;
-    sha256 = "1lzcwaczh601kwbx7fzg32nrzlg67asby7p86qy10qz86xf4g608";
+    sha256 = "18chvfdmka21zvjgqfpinm3nrj0ba09szxhhm39anpvpbj92ra8j";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 7548eb94fa6dc..98cf28ec3e184 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,965 +1,965 @@
 {
-  version = "81.0b4";
+  version = "84.0b4";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ach/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ach/firefox-84.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "4b133dd14e8ce1b934e482c4f7f7b5ca4b58751181bed89f6573ba5994ebe644";
+      sha256 = "da9290899d245d86b3d2d378072af403106596ae1e02a36d40a93deea9e57000";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/af/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/af/firefox-84.0b4.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "8e50a0845eb058ee853fe40b13c88d764e721f7f8ac2eb54695049ab2a66e3e9";
+      sha256 = "28810946bde4c2335714c0f8b0dffad1a1650c167370e38c6eb5e2ee5d2e54be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/an/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/an/firefox-84.0b4.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "3edf8e157cac424b1cbfff019240877e7b7c3bf5ed1b576580569c155c5dd660";
+      sha256 = "d32e9e13b2c1f484686d9394f20a87e2c1d833703e0115de1f9c8c552d1e9d8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ar/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ar/firefox-84.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "b2167ff357963e3295eed2ed423a1c3bcf62d645329b8f4cf817ad3c0e101c97";
+      sha256 = "de8348caf98ca0551f3f080eb32ef94c00706676bc8df1723377d98f10221e56";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ast/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ast/firefox-84.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "805a87a99a417ff4b762c01a9a2b88c7963f53a04fc19b42015db304b15f4bbe";
+      sha256 = "104cc96b0e14c030848be4bc07a1b2b836a241e9ddba581b9ca24018c54356ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/az/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/az/firefox-84.0b4.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "79c61c9515a683731649bcb5d36b26b95dd56165765e5a952339910310c9d259";
+      sha256 = "e96087b52f1dc18c8bd29d486faa00ad06a2165d1e14cbd47e37cafb40602a87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/be/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/be/firefox-84.0b4.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "318fece7d1ad734f6a19faa7003e060b1254b31bf62e59580c70a64c4a167ec6";
+      sha256 = "d67c2c1556b6859e0acae5b69b3b7eeac77b3bb1594b48682a97a72742c79d05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/bg/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/bg/firefox-84.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "55616606306dbd0933240d718fef8e83004fd65e4f53dd18f1601f09d0b94e92";
+      sha256 = "b3bad1b330a5d4c515b37cddb3e89e538c5cd66ffce68dbf8d1e9adaf4881431";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/bn/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/bn/firefox-84.0b4.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "c38fdef89f6aee7bf03362d2edfe4dcc665d540b1e1dc1dad8c53db20d70087d";
+      sha256 = "9c50c4e12061279133177ade4b22b7e2bb7e14dcc1875464f57efb7c7e360bf7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/br/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/br/firefox-84.0b4.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "c5ac1c8e9dc2f4c5a1a2b6e33bf699a823a9422bce46922bc36222700a29d2e5";
+      sha256 = "79eb76af707b26fa4d46acf11d0be25ccd144abda6c853373c9ec0cc872c2a8f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/bs/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/bs/firefox-84.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "a18718ef7f467ed87c76816fb6797165db3e06bc166c5e88b526c9f2ce5c1d19";
+      sha256 = "2cbf15a604f90c4a6212f5da251372d09e2247f5ed338193ff93a94695bca308";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ca-valencia/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ca-valencia/firefox-84.0b4.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "fcfccd0714c965801ce468f6817bf37eb074064e6e0b616c81be7218a6b632fc";
+      sha256 = "a9b6cacf6ee8a6a1f733f3ff3741c1bb12eff823664279205906e8e59b646679";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ca/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ca/firefox-84.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "5f08a2b2d357d5a6828865913b9e28fe90bda7a8ce17a0ea60effb25b8441b7a";
+      sha256 = "1ea49a5d59129c820f359fbad2253e051adbb260cedd4b62bb20122562466bfd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/cak/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/cak/firefox-84.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "db41156b75e1148527c51b915e3d9367d1c36a8d24a52132d1cc9cfe63bd9db6";
+      sha256 = "b18651df9ae2e16ea9855c30fa393dd34103cf338a515d41d3c1802e52fb92a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/cs/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/cs/firefox-84.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "d3287f28964581e63a3b1a5484e47e8ef33c136b39f13e07d6f3d555c27864cb";
+      sha256 = "4dca051e5349372d6caf5a7f6e8e6e12fe42bf96110a1c6e2f7f6e408f365b80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/cy/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/cy/firefox-84.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "f41fd34cf1cc72d5fc80113cdc9fae7f03f434e45e990e17a94dd68463464c49";
+      sha256 = "3117d47bcec1cf0f5a547a33c62ca5ecfee34435c13a478f23d1d9f0ac187f4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/da/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/da/firefox-84.0b4.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "dbbf1611913315ac5294f400c727cd5afbc832efbea56bd839b77cd4d6a5b823";
+      sha256 = "34a38c76997bdd41e6b12cebf08345e7cd19838bd92f5a8d082ba3087cb063c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/de/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/de/firefox-84.0b4.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "1047799de5b42b5cb0827371872b7e85b93a4474bde9288da54a573841e156bd";
+      sha256 = "65e417603cf383d92058b8976c1f6499dc5804d02a22bb639e416c4e730b4a62";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/dsb/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/dsb/firefox-84.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "602eaa32d32db35d6a6d07f1c0cc53eaa4e432b7ab81d1f23b47d3125ac98d24";
+      sha256 = "08dacb91773d7b49eb8f08668627badae2967193c441ff2fb6b9d88063c5ffb9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/el/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/el/firefox-84.0b4.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "8a460f9542e213b1605265c6497742e7d55213ac91b42d00a15b3123b47754ef";
+      sha256 = "78e870b673c204e4d9fca2a3fbab06031c724a8b0696a3b6e2dea5ac07a5bb88";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/en-CA/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/en-CA/firefox-84.0b4.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "9bcc44ca3f4192a2a7a001f27db6884dd481551663b6d0c348ed0b9281dabe87";
+      sha256 = "4c862eb5c53e65af1ddc212a093eb23e33653341fa7db53d935ed8482637aed8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/en-GB/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/en-GB/firefox-84.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "9d241d56362ec52619ce02cdd2f11dc90c2e0f7c515c707ea56eca2e8f0eb306";
+      sha256 = "f505cf16328603d0164e330fcef60fcfeccdad186d1f91e0b4cee1b8cc7c740d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/en-US/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/en-US/firefox-84.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "28972b08f8b3f2d19f5d50a2c9275fc459fc3e57df11c884149d1fdb9d99300b";
+      sha256 = "f0561469f04ab83dd52ae4e3a8ca451d6569845e37d9e04c5a91085654661f8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/eo/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/eo/firefox-84.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "013caa4590462b4bc5dc09cb963cfd85cba4b5419111cdc87316574ca5691e80";
+      sha256 = "c64d227d6b21876ea48182795d6fd8ec3ca486e5328629a0bbfb936e8463b0a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/es-AR/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/es-AR/firefox-84.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "d6970ccf4d58e2f1219cb0d43a8788084d0863f0f349ab3292e182fb0201e860";
+      sha256 = "73b45f6b8d1e53bef003b3e77cc1217b8a85dde49cb0900b4fa2991895e5c184";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/es-CL/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/es-CL/firefox-84.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "76fb3c865b3efa1da1d34c8caa7b56b5b6d0af2cbbaeaef873fa96d2b8c93bb1";
+      sha256 = "e7025e4c5fc311aae2798da99ec5e5863bca5ad8b8460981cef86e29ae37d74a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/es-ES/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/es-ES/firefox-84.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "7b41a2b297df4f0f6d4f44e1eb0ea0cbf02454382d0994f119a77876c578c4b6";
+      sha256 = "e819644eb6337255004fda8286e1f2ed898423c4b97694c8355c28f4d449da61";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/es-MX/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/es-MX/firefox-84.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "733b90640a30df66700397ab0cc2045fcbc25af94ef9f36463a191228b511b77";
+      sha256 = "07de091ca3b06b94e35b84add7fbc5c8fa6ea84ddfe548e5f55b3bc7980a9bd3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/et/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/et/firefox-84.0b4.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "027286d744b1d9f21157d8242445ccd7610a08d8d541d64635fc16549aac1b4d";
+      sha256 = "d6af9ab39f1a13efc772cbb63dd731dcf988c10f13649f348d7ddb3f6ab6ca60";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/eu/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/eu/firefox-84.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "ff555da3aaf1abb2c384772b309fb4129dad57b9fd523fcabef5b2743d3063ce";
+      sha256 = "110e667568429dd2b0c752962e1148884c44aaef9939926c6b0f49ba5bdb1182";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/fa/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/fa/firefox-84.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "c99f9297568f93eda17058d96dfaf83e587907be9b5005e8f649f693662e4fb6";
+      sha256 = "f7a783f12bb08ccb06074f903bb2eaaab13b348c6a2950a9699beee28ad97b5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ff/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ff/firefox-84.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "91658b195a622afa3c6fde535391eff1aa6b70f4c0cccc5c55e56e6d66459435";
+      sha256 = "b2e47bc8ae8d1e54a1b5799a87b4742d049696edd9913f0cc6beb52a89cc261d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/fi/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/fi/firefox-84.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "cbc70d2051c96813ab081251c339f6cacd29ff26bdd8174b35caf9905a874635";
+      sha256 = "f5ee09f1b9d41506ad1023ad05dbdee95ac049eb4bfd38dd99c06cf682e111a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/fr/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/fr/firefox-84.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "51890621c8c3c0e40103a10e705adbc860937e5dbbb8a3984eb71a5cae3ed63b";
+      sha256 = "f8c33819a6ceab041bed80f1663d94a80ee3bdb6e859eab1eb8ec9d0b67f4222";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/fy-NL/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/fy-NL/firefox-84.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "5c3a982a51951901732ec7684514be233fe1c44780531fb38f7205724c241387";
+      sha256 = "6ed233042e570e9a04ecc1e25f6211deb7685c117db75f32a541076d95d1cebf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ga-IE/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ga-IE/firefox-84.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "04b5d338c7557f12fc6fb2206d444a8a00be6814b1ca26de4923449a4425b57d";
+      sha256 = "b28337429a0c1d26653fda1d93b59ea0383061a253be5b763442166fdb21bbca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/gd/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/gd/firefox-84.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "6bc0de0ac627203b1ba035f7a7ba7dd19bd82a7730c526c217150cc5de668fd4";
+      sha256 = "546bf2f1a4a8a643b161554bc92e771644ff9ae46c6b10fb2a60b920a2454f44";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/gl/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/gl/firefox-84.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "37522d032422af770e37a93e33de6c0b8b79b2d22c6e71f32107cc8808de4d35";
+      sha256 = "cfc32d3e7e3ba5379895a8b348d9399bd3962a819d0677f14a365f6e0c314676";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/gn/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/gn/firefox-84.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "f761db975c72d7e419601988c0674acc7fe17227d5569cac85a1fe2d91f5141c";
+      sha256 = "b2b5e826540d3f9b52d67e092fa755b26a34ea9acd0cb1c69eb6f0bc332354d0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/gu-IN/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/gu-IN/firefox-84.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "8565c1965e09060ddc5b253fa126998f827d17dd58692ec4d17d194d29a464a5";
+      sha256 = "497b8a954ed2c9fa13e207462730dd39d2d0de10a38e3762dac3ef1fbd36282c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/he/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/he/firefox-84.0b4.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "c3cc5911103ce955f89c5104ceb1ee50f7c047e4ec761681c8693b643f5d91a8";
+      sha256 = "8cdac2e9d2cf10171f2744727ddd80e21a4d46e2082947e49f4a255f174db968";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/hi-IN/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/hi-IN/firefox-84.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "95463325675e56e700eaffb6e6690f4b398adb5cb77aaa34b87e16cb142f3533";
+      sha256 = "d37c55e60329220de3d792894d7b801adf7dc7ab8ff4ab39bd2e24b59443b973";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/hr/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/hr/firefox-84.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "6332ae812507f79baaed24e4fb79fc6c383418c4c9d41c0f3dbebc2fb72efef5";
+      sha256 = "bebb6709dd3be119be45d9fdb0bac41b81514d78a384a221e2ffbb51b46dbea8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/hsb/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/hsb/firefox-84.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "b18a7d31d3ce7373bcbd6bb7ff56adc023c58097126781d5f915828be8fef92b";
+      sha256 = "c43aea7fdd8a57653d6d9af4aa7c0be6e860f5292366ddd91c5860dfde2ee1bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/hu/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/hu/firefox-84.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "b1e4c6c9c21b2593f3fa111820a7e6a2e2e72e8b3065738f6a50df6ef4b7f18b";
+      sha256 = "71e6b509dd3a6937d9851c262fc7a1bc9e551cbe0515089586fc22098bc51151";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/hy-AM/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/hy-AM/firefox-84.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "562f4d9e094b688cb53860834e425997e65b78222724c48ff4ddd71ccca264fe";
+      sha256 = "c92eaf9f6bfa97651075d2342e45b988ae89c1a4cb55559dad71bfae5912ee83";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ia/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ia/firefox-84.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "87299a8aeee6da57666a06cc2d4f479b0c74c220e2b22ddf5254a052f11edacd";
+      sha256 = "3c71aafb7dddcd3f9bcc8e169281614ac1087400d1d0ba02afb18c68b1914128";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/id/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/id/firefox-84.0b4.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "0cf1bae8def307d08e4c24fb44f7cfbebf150f1edfde2a3c0855a69775f26539";
+      sha256 = "8075ef0b1d7eb2fc6141262cbb0d3831c3d8508eb43d3e9e142d96946ed2036d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/is/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/is/firefox-84.0b4.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "6140d270e99173d995e42d32c0b696a51f72b1c6baa746549bdbbe7e2a08a811";
+      sha256 = "5ef96d77bea5c94e7147a5657d76eb5c7f206208a0464245242cca3fc7fb79f0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/it/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/it/firefox-84.0b4.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "3583cf0223528929141879c085278354927ced41d71321fe8d832ebd356d4614";
+      sha256 = "eb76a1f3bd1ac065772d4ea4a435c53b5f7b1d5b643c7b62b7ccfee205ea4e81";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ja/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ja/firefox-84.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "4a1bcf87b3cd09d7c3379bd922ede7a3c6c4a19bf11596e858634b408df95cad";
+      sha256 = "80b644648b9e40ed592ab9ea2b9d7f1e2abcf8d6b0f925aa57cd6cf28d53dcf0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ka/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ka/firefox-84.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "320567daf4e4bb12c7209aff34d98efdbb2dead9b34f23d4a2181d2cdddeed71";
+      sha256 = "03c34e7b08a8b6140e612739118c35b05dcdef1257b4857d2fda87a1cf8852ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/kab/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/kab/firefox-84.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "5b9d60703b494a4eb5956e59bc2d6893bc70e8b890d0c940f25d25b605000c89";
+      sha256 = "419a4758cf2e2e24968f4da384dbfb03ef8398713c6070ab29ce379772168f18";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/kk/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/kk/firefox-84.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "45580e0c3cbb265f718a69ac9de7220d3d89e52e3b8a5cfceb7363c20e63c83e";
+      sha256 = "cfe96420e125dd12c9a9e79e45a8d7ee260d1957abddab5ed887afd1a1e3f499";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/km/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/km/firefox-84.0b4.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "24b4879f22829a2a5d72219cba2c5658bf7c7e73ffdc9640f6e897ec613733c7";
+      sha256 = "4b3599a9b30132b6105e4bbda7de370e54e21d8e498bb3c4c3d9807282fbf246";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/kn/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/kn/firefox-84.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "905ed3fa762c73c5ba677b8ca5b620294cb1ad36dea2ac53fdfca5a739c0c0e6";
+      sha256 = "5da3ddc9d9824e3ba59e1cdc89ee3fb8900c661faec1f539c829d0917be5d4d1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ko/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ko/firefox-84.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "a6a63ca4106ee9c710331ea50099e2a50842465095d38ea55a63dcb3ee3d80ad";
+      sha256 = "2db9a494693091832e578959144d172d5135b82bbf44c041949da8ffec2de9dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/lij/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/lij/firefox-84.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "b6fa42dc9bc68d4b71ae93eebfb1a19416f0cdd06d20fb344c0c0347aa2d4862";
+      sha256 = "2219d5235f0ed9d2015ead5782976727d2b7103afd987eb445f3f274856e6af6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/lt/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/lt/firefox-84.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "c70f6e7c20e252fdef6bf136c99095ebc27672719594df302e58be801a3f06d3";
+      sha256 = "a335e0d835bcc7ae9563bb3efe6b926ad71e08f3ccbd164aa2b9f257acd1341d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/lv/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/lv/firefox-84.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "c64d561be20fc8f0e7507a0b1dc2e5d79af407531a37cc7da3fd880789899fdb";
+      sha256 = "1f89f8f2715254ef335af9b01ca1503caecb1c93b1a900ee1643c3f9e00c6821";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/mk/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/mk/firefox-84.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "aa38b13c6bc5288ab491f5ccee3a881474b1f42f1bd959435035782d1c39f407";
+      sha256 = "86eb9f1e8189ce45c03925337a90f1b204dbdc902c1c4a817a924410a26b0048";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/mr/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/mr/firefox-84.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "e56eea60ca1cd447e30cccc82ce7a4797fa23e9bb4871a5e20e05d44ac35f720";
+      sha256 = "d5214647403f85c5f7a95871e8d6fb4d4c448af92e6475841fd8474857f21067";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ms/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ms/firefox-84.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "9d8445e2bda6a8cc8714a0eaf82e1b9ec03fbd94042c3557f07d9c8b25bc4b6f";
+      sha256 = "23af07562748448a35242a6cd77bce25a5576d2b71177fb682da58adb21671e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/my/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/my/firefox-84.0b4.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "4a7527e5e3e6ea0181cc8b9a2f206bbe162a4e1867faa75b4af261f08e89ae0d";
+      sha256 = "bfec2f3ad0853fb36ec4aac9ad97ba14d30a275eff2582c2e9df600b5940c004";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/nb-NO/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/nb-NO/firefox-84.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "c2ae9f5fb235541cc69cc3c4307dd4b7de51a9f4b6e038ef3091a773edec6c5a";
+      sha256 = "32be6fe8aa661f6098b4600d824846738664f254ecd4ab0d0a1e705b28a94e74";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ne-NP/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ne-NP/firefox-84.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "05acc175b06ab7f5861a3a7e58e9a92c40e0660224426fc8225fba6c25888726";
+      sha256 = "dfa3e6b9f31fa716a2c80fda07c24717a526ef96033b5b1861fcdad43c99b29e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/nl/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/nl/firefox-84.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "640be4e631343c9f2a55c24a4d5c63908627e9ab2d39a5346d1842d8e4a57799";
+      sha256 = "e253d963b66855c44f41c43baba1b5c952b37dd1b83aac8243c60581ca674a49";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/nn-NO/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/nn-NO/firefox-84.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "46a898f41e5c3c9853b05fda8f44be01b2fd5a7fe3dad281c21588c2deaaedce";
+      sha256 = "5d9b90cdee03a544a78f44d4f0566b5b59ae802af4fa60367a1a4836c01197f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/oc/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/oc/firefox-84.0b4.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "7481c8bad2e905a033f09ec4c20f8d4b184a0f90fce1c10648c4fc57a7a5f301";
+      sha256 = "b37f9a283d9dd2ff9e8998d83e0c147bfbb75e4b64b3936cb344243e1277c370";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/pa-IN/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/pa-IN/firefox-84.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "a460ed0241c569e1ac62727b17f8c8d0d4091e794900e2e2be7d8d8e2b90ada4";
+      sha256 = "68f6bae2e6f064e22503145b5fd57d027899f23fcf109010a98397dd8c0d7cf6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/pl/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/pl/firefox-84.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "d82e300cc8be61ddc2aa66bd4d4ec35cd18e47603bd19530cf48728c5fe67a5c";
+      sha256 = "789d6925c3b17f96bb92eef54c05fc8787f32ce2c9846931e185dc5a1de9f303";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/pt-BR/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/pt-BR/firefox-84.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "1ee1560d4597adbd230fb0c556a4d8fa6984ee86bb731f7a5a936d660897eb99";
+      sha256 = "329eecf74dc8d9d1d8f4578389553d92a368c972fcb2468e0b936f21508bd1bc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/pt-PT/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/pt-PT/firefox-84.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "be7e484f8c3f4d8b7b894a437b70b2f4b448e3a7df518ce6906295df9be7749d";
+      sha256 = "b30ba75dbd5f5ff3ff709722acdf36acf4de9993d230eb27996e81406779dd0a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/rm/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/rm/firefox-84.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "819cf6a13d1690dee4e4255aa0c3f551411e2b7076f8ce3447bba47f07c806db";
+      sha256 = "ad90ce4fbcd094bebf77b36a63e38326c613bffb580743c9a4c19df845907dfb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ro/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ro/firefox-84.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "2baa8154f358962983c7e0b26c4a7cc8cf97587b646884527fafe46f5d8d92ae";
+      sha256 = "8f7864bc6577724f20829ad79901d92775200860dd8c43bb2443c7bf22d7a435";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ru/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ru/firefox-84.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "eaaa5338ff8ffbc9bad5321ee3eb7410feb9a26a06d3cc49707c0a048f4412e2";
+      sha256 = "8b52d5eaee53805422bb2fd6dd8b2e0c7a5b01feccbc6fb6c77e4fb8678d30a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/si/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/si/firefox-84.0b4.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "ce04721a96cea62eb7011c261f740e9e0ad6288ad9ff231538c3a6df86fb40ae";
+      sha256 = "a71df756e97f58271715f3d79a86c0407487dd5820500127cbd9373361bd016f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/sk/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/sk/firefox-84.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "4b19fef341d64f94ad97a0bb8821693b00e4e7e04454156f92f0c82f4fee0005";
+      sha256 = "71eefff1538a2978d9e4e65fdd5a2322ad81ddfee33464c0d70b95eda1649fda";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/sl/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/sl/firefox-84.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "96192922f2012a3e6be634c7ed09017cebf9498c6fc2862336bfddbc4ea40840";
+      sha256 = "91b2938be8230b6301fe3d15c6d9ba3f031c1e5fca886da228f47a2e0a2cd144";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/son/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/son/firefox-84.0b4.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "dfb144edeb3712bc0a3bf7e0675de80315c78bea7d7c6ee5f6047c077acbddf9";
+      sha256 = "57e456cd14418c41c2e5f8eb0ec6b0807459f41e15207f6997c7742fd3dc8a1a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/sq/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/sq/firefox-84.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "54dfab9e843dcde43cf188ae33922371fb90c1bfda53ef629df16576d6a0bac2";
+      sha256 = "0f343e2442523f0e422309cc36518484a242db4116f0e6b7dcfe251cdfea76cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/sr/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/sr/firefox-84.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "f00b5184ccb47223858128aa26481867fb33aa50a914a8c807235c9a2bdf74fa";
+      sha256 = "cf8fb723611506fff356cabd91a0ca3fdd9cc5d806167df6dd385438d467eeff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/sv-SE/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/sv-SE/firefox-84.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "d3884cf4a9ff23971badfb1a794c9489e0006e6851a0e501e290d8793054cc1e";
+      sha256 = "258020bbc7a75139fee340e50d41676d234be19c931f0228485f06fcab2eef81";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ta/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ta/firefox-84.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "53584d2093feffd36a8a5249ee438b82d21af834a3c2c210944030c127b91cb2";
+      sha256 = "7783166c0f9ceed0f7d037c1e92b988818a70522945af2c96db958966eed8b66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/te/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/te/firefox-84.0b4.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "63b65440720bc492fc95d080b191ba452cc87c8501b195e02df66ea4487fb902";
+      sha256 = "02662946b3506da6432c48eb1c7e0f522ffaed2abcfcc474332a799ef3be2b92";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/th/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/th/firefox-84.0b4.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "3b01fff09734f2206e4aee227ee7f0c13544fb1635f92a5221ee356117955446";
+      sha256 = "1592b372b8e767e5b7369f356fb733a2daf51b4f45c8c4c94041845d63b3c604";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/tl/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/tl/firefox-84.0b4.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "00f1c65baf63246a9ff44d98171a6ceec6e276488f5d6fbdf6f97760509b3bc7";
+      sha256 = "2b831feaae729c674e8a9ee207dea007df100bbbd8cf7553791aee3eede37224";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/tr/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/tr/firefox-84.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "064d6c6036fae215fcb50a87863e6808bd1626084d9144a18f7ea1f4c7072093";
+      sha256 = "aedf8b7684f204109e42a3797ba00bd7a8c5bd3f827c31ea3fd4eea1679d8af5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/trs/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/trs/firefox-84.0b4.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "73c892e0b0ab0bcdbcf6af88fdc8de335bcd5c56805675ba7b487ed3b620ed22";
+      sha256 = "232cae54f6120a47455fdd7e0d88dde1f64d5a1931bcd7d54f6bf8bd376583e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/uk/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/uk/firefox-84.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "8ac48524702e3f177e78fe97e4fcf528752a3ea0ef08e9212037dbd0febea53e";
+      sha256 = "e00de7cbe1f00aa082f9a448857cc19f011bb1d5b579e79457bb0dfc72b7a12d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/ur/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/ur/firefox-84.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "154dd642021769aa67a081080f33d87d736686b9e6e46cdfa2bd2201605bda26";
+      sha256 = "7ece4d8af476eef174c0c175b65841da8d826702fb255587c2e1d259bb9ef3ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/uz/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/uz/firefox-84.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "dd36910596d777f49de3dfe8e22f2838b76081cb259107047b9a98c3445c01eb";
+      sha256 = "09c7e7d641f703404aa7927860f2924e6be376b2e39b1f0fe012dc87469edb62";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/vi/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/vi/firefox-84.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "3cef9f657f83bbfc68ab4a7c8ab84e1e937553cca98cfc30d3fbbec5c8be7907";
+      sha256 = "18121867e6b8c2a52c5324f653f82afbae97481b5ac3df811e881ec39bbb3b0e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/xh/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/xh/firefox-84.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "30a98fa9218cbb07d792629e73a250659b321a3555eedca0a68e6ffb1d5191a7";
+      sha256 = "04f5bb96ef9002eeb0869236f70168e7cbd7842b8e12b66dd6d5d67db9acd28a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/zh-CN/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/zh-CN/firefox-84.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "bf15e819d84a3cd3825df2046bd9ffc139008f45fdbbdc64e04cec6a549af3e4";
+      sha256 = "142286cf9136bcb9b6af7ea1df3cf77821c0793ab7b9fe533a2963c453f45a7d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-x86_64/zh-TW/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-x86_64/zh-TW/firefox-84.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "b194749cb05fe282f59f2f6621a5d04fba42406d7a3ea71242b667fe94a5a857";
+      sha256 = "fef32e5817140bbcb6d1b614a72a29523235606192078eb04420ff7a2453cb9a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ach/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ach/firefox-84.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "203ca1a13f76935935daf2124c662329df93af0e44b4bcee7334ff60092c8027";
+      sha256 = "40e9b7a738e06cec731c69b659b14ca48b119ae20016e0214e1160edf03919b0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/af/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/af/firefox-84.0b4.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "481d233552b0702a8b8092748b4c71da3c14c8df5e971c5b4662273cd8808022";
+      sha256 = "9bb05361a51f836b2de5614127f8df768e504f4d5bc136e3f169741098f0bcbd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/an/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/an/firefox-84.0b4.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "a128b96a34eea409a8b5fa412e6a1a36bcc28f2fbed40ba9b474b9d86d23dbae";
+      sha256 = "ee62418444c76b709204962ed47af8ef3d61b80e628600201b5a12293651c70d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ar/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ar/firefox-84.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "a2ab8b556b6b477bb1aa287f630e7ae6aa902fd1b75968c01c2e2c76fe9cdf09";
+      sha256 = "10b5d4f1616e078bf83ab5ff942dabe89a8eaca63f24e96b53726dfb2bc9e36b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ast/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ast/firefox-84.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "193422cbafcaf5ed58f334a9d5b30f9a6181aa1cb649303df18626d9a3484088";
+      sha256 = "a4e5ccae125edaa0696b696a5342320707f0c39c8985437b6aed60faede71de0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/az/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/az/firefox-84.0b4.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "c206f5351f0ba474a5277e223514f032c7ff0b66029f570143f2d1d2b8ccf566";
+      sha256 = "c13d9ed183c7b9256801708014f38405749cdfcead9f243e80eef78d06a9b78e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/be/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/be/firefox-84.0b4.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "c3d7d04ea43230b6a6e4227b799d47348bc5c2ab6a60e93f4107efa6e7b34ef3";
+      sha256 = "57d8eafc3d45784dbad71eb49d5a4c0483d939719b43b0f16e4db1d5a96ff4a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/bg/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/bg/firefox-84.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "08edf0db8aebd41f25366ef4302214b4ef00540be39406fc780eec288b0de324";
+      sha256 = "0a65ad71cc9d97277535f07a8dbc7ca248508c24dea8520f92fecbb806f87a31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/bn/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/bn/firefox-84.0b4.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "a6d5dd5918d94e74ee8ffeb10c4caba65697ecdb81598b0bda815fa5d4830a78";
+      sha256 = "3cead08f4d746def6cfb909107f4739400498c970f10fbd542259c04b84b5852";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/br/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/br/firefox-84.0b4.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "4e7ffbc380b6f8716399ee9d7b9ffc5fcdcae72f48b63ae4bcd2011a85efa0b1";
+      sha256 = "40c6e963e8e52ef51cd4d4e63d501f2a6cecec1800541941458b896ad90e5b93";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/bs/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/bs/firefox-84.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "ef36dae13dc3c943e5981a16d7ca61b4c6daa9a4873d2cd87022fbbcd01c8907";
+      sha256 = "1e9df53642c442ead4318b0cc886653fdfcecf5275d6e7218acb390bb13e0021";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ca-valencia/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ca-valencia/firefox-84.0b4.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "584a0370f79011dd2691461acd573133348a94cc1323d6fb99dea9dd6df1e155";
+      sha256 = "3b5699dad93291921979fc6da21d16f94ef471e9a8ef3d877001400ba4abe316";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ca/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ca/firefox-84.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "e280fe05f4e9320fd354407811ea8664d50de3810298e5eb4922b2d3e549ad11";
+      sha256 = "c52b9cc25dc72eeb6ef3e7c3add4066c005399afdba2cd0964e695a891a1d314";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/cak/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/cak/firefox-84.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "3decca8b5b0d44db169abfa20f07b3c109bbea0a68ae3e44a35f97e3b989324b";
+      sha256 = "355df19615fddd85c51b033a413a3de524f19fb2d97a2ba77f3b8001b231338f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/cs/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/cs/firefox-84.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "efccc2a43f961179f61eb7858b1e17ffd069bf7a26027faaad09f1b529ade52c";
+      sha256 = "e10f35795f19ea10c4de34687eacad6f9bd863002e9d66b87cbace01b97c8628";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/cy/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/cy/firefox-84.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "dc8a1945d0230070e2bdf65b673a9aecc4868c9821f7f1e2f6e0d18bb98c912d";
+      sha256 = "f2fd90b19e8c4ac98bd6ee262084ef7842e52a304abe10cfcda2fc14ccb5ce30";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/da/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/da/firefox-84.0b4.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "058b800e2c9fc464f2a75fa48542269056a88916b9474a953f0d29a3e9041257";
+      sha256 = "01e468f3a445276aea85425b4b8a58e44a2e4cf8552a02aa3d4d31775bff9575";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/de/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/de/firefox-84.0b4.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "7fbd0b27073b2c46829fc0d631ed11fd9a38a07d0ce474f6837ad1f5c2adff62";
+      sha256 = "9dd3d806a4ff60c9cfd5b81cdf212f72c281f75ce554555cfd443f0696f700d5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/dsb/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/dsb/firefox-84.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "d0b6083098d416366040a877a92b163d469e2764af995c65fced49de23148624";
+      sha256 = "eb26cbad496bc1c4f97e6027a1f2cd9166d479a503a3f0ac566a766c86bdf8b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/el/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/el/firefox-84.0b4.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "104258b0e47b661d7c75c72f5a0d7750399a101a9996a3f8837f0f524e9820db";
+      sha256 = "e173622f06f64156d749d0f56d98be72f067077c3e41090aa16a3b0c6d7a5e43";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/en-CA/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/en-CA/firefox-84.0b4.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "be6750a6946b7ef58869d0c9f0412febffcbe4955c823a573d02822f9a14266e";
+      sha256 = "c1c6aa503e1565cb0c0239d562f11322265a7bce4005211b8007579f8f56c318";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/en-GB/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/en-GB/firefox-84.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "e6d2c60c30aa90b6026cb85d6fc3a1d1b7266263980df652c9a1c158528cfc74";
+      sha256 = "57b2670f515e2a17c10df602d93a6960e5c4710462098d89568efd446e4480e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/en-US/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/en-US/firefox-84.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "be534d43126a7fdd297f3431b579495b6f22832a358a0c793a23bea8adce1c9d";
+      sha256 = "81cf4a4fe610de3342bdea340d450ff67c594e7e4924a08b6b69de75510da698";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/eo/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/eo/firefox-84.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "6ffe84994fe7db178e59ea667495e95e6fba621cd0e4ec812d94dc3d98cf0a3e";
+      sha256 = "dd61c4bacfe39f7887c6d21d139df6a2df17f263c4be5689f5f9dd6bb4ee6e63";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/es-AR/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/es-AR/firefox-84.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "982874a48791db0bc98559de45bb8884da93ee0a0738664c73ae5a08b3b1a2ef";
+      sha256 = "3ae8695c57befa3552033bcb867b48f9ba491a08e31168ba22901fcb3276a3af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/es-CL/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/es-CL/firefox-84.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "c21fcdeacdf570a9f8bba9c34c64a60776aa8a4de56b5f773b1d26eca6d65b70";
+      sha256 = "5ae14208cdbf0dd50edecb8a56bfe7dba0e7520f2ef135abb092761acc8630ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/es-ES/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/es-ES/firefox-84.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "bb34dda74d59c862ab24ad9ff0c5ad1e1fb5d73e6029b915f966d0913cf4506a";
+      sha256 = "d786cf3b623a05e5156b020a436897525e80117ab7fa9f25ca42fca9fb4c0eba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/es-MX/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/es-MX/firefox-84.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "53686263f77643ad4f769faac81697c7e1eca216ed0a7b051c2318b181318d7b";
+      sha256 = "c2ec749bb5befffd81189503d87a57bda462897bba858904924ae999923a4e42";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/et/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/et/firefox-84.0b4.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "053d8ad6cf01be9f51cd133090e99230dfe797effc749e14c8a21ba712546776";
+      sha256 = "7a2e1078ff1a3bb975baa5488f89e8161e20354d7f55b98c964efa5bfce6f696";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/eu/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/eu/firefox-84.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "77774b9126ccbca2b5716b1701f8eb7933ee67ec5437a00b8ab991f423888a80";
+      sha256 = "c635006a367f68bfabad7a3874f3333ac3f486f0001ca9641ac8ce12dd9bd01e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/fa/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/fa/firefox-84.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "4a0554bff8c11ca39f1de223537d595d298e6f61c2590543151e8ab1d8eca36e";
+      sha256 = "f897a5d316c436fc20d8c2737902e29dfd0ece3c9ffdb90fda2fa454ad398257";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ff/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ff/firefox-84.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "272784bfa53ddc48fa43590b3ebd2fce808786b4649efa1d5b417488efbb8911";
+      sha256 = "3a31d43cb5242a0aec516d8fe99dc916144e8b7250b81c7de0b1361b19f067fa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/fi/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/fi/firefox-84.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "c389eb80f3cdd215549c7ce55402a7c03544eca2fa3c2074842af32755d14cac";
+      sha256 = "50261499bd4725f08684c9042056c9da2029f55b0dee4a856a9de661412c06e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/fr/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/fr/firefox-84.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "dc5a79229fbdd3e9fada6b6bbb35183c17a703b9c3f29d9172f2b56cd5c0d289";
+      sha256 = "7b793590a975a64b6fcfcccb4e6c07cd5346ec457af1ae31b5fb1032d4217c64";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/fy-NL/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/fy-NL/firefox-84.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "3eb69867818f0a8448e4f421f0ded4ad1a172bd5c99048065bd4b6cf83e8b25c";
+      sha256 = "468c7463503a34de44a74ff6a751e8614abbe6bd23f39f50308f23000614331e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ga-IE/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ga-IE/firefox-84.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "b09208ca65279e393f512a04712f91b2b170ca6e32777479acb7a03db89e87dd";
+      sha256 = "92b49316d122c8c91995766e28387d5587955e022f844c7a85fe491ca602e222";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/gd/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/gd/firefox-84.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "011beadfc3e78ff216a13d55a9b54471ebf84bb1be852aa986ab5ba1648836f4";
+      sha256 = "4bd2901b705f99bd1889b21f4af9ba7dd022f608960807f96f115a110c96a80a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/gl/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/gl/firefox-84.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "c492314ad418a190484fce335d1dc5a28a515f630c59b1cf2d7e812b6d3c3bf4";
+      sha256 = "391d62de840d53d531130fef0018c71add0ef7134fbc758eb869da7c1cc3b5f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/gn/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/gn/firefox-84.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "25b03d5251a69631f5d0cbf9dd89d1ce1dd5355e05efcc233bcf62e5311d4d01";
+      sha256 = "d51f75a7718e78bfb1e9d0974db0a404294e577e186794d3480778c7facce418";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/gu-IN/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/gu-IN/firefox-84.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "1cc9a3b933b625a26beeb7c31eb062e22ff8dc98c4860bf6ef4aef5567552d63";
+      sha256 = "7cbbf4846153f79fc72e217872fd64b92ed8968aaf618eeededa375ac268a12e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/he/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/he/firefox-84.0b4.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "027cd01f51db3b4d27381870ddf95ca2f7252bf7c6588c3d073d303bebb45311";
+      sha256 = "44c0bfad535a4e3c225d948d87935e08e5d77ea22638e971cc833877462edc32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/hi-IN/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/hi-IN/firefox-84.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "99d6d2159ae34ce2154678e4913145ccb9c96572ef19a18db6a223647b7ec68e";
+      sha256 = "fc64673429972967238b5bb101beb2117cfdb0360e405d4d3b53f013791c0b8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/hr/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/hr/firefox-84.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "d9b2fbc6474bac73fe7fb5c4eb818f5dc0d74cbbd52c3aacbed0f17db8bce9eb";
+      sha256 = "f256eb4e655a14b1a084af7f72ef4673d33b42d1c23ffc1ff3b4ede42d966246";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/hsb/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/hsb/firefox-84.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "dcd0c254c542a50807cbf1d0036a4cab5463c237318fb1d1fec9826d052aef62";
+      sha256 = "9e1e478e501875ac259e22287aece77f1bbc1f898355ab1c29fa26543b38acbb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/hu/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/hu/firefox-84.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "5a0a94eeb9c8d219b3e34e92fc51163e190c606f975735215177d521b7ed9656";
+      sha256 = "e8605e1b9d2c92c2eafa35cbe647bdda6af22eb030d8656262473b0b17650de9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/hy-AM/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/hy-AM/firefox-84.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "2ff26ab884697d226bcfe224ff5c068aed355f6bb00777fa6d9f3bd0b9f9b386";
+      sha256 = "be21fea69e27ce54498b6b003c1db20b42d7d52702ac56d1a1fc2c6fc24558f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ia/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ia/firefox-84.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "7bd9d940f81d76984886463cc10920896247084f91efedf99f787601a47abba6";
+      sha256 = "039f50fc10d95bdef4468174a8486f45bbf9313e1b9b6cecb0d094bb3766ca9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/id/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/id/firefox-84.0b4.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "c415b55ec7701219557cc4815ec0975d86f18312a2ef6a8abf3e82876edc5045";
+      sha256 = "ecd6f3e031529e1fed8fb7ae77bf6e0497c9ad0e4996e31a86c4b79489ba9811";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/is/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/is/firefox-84.0b4.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "3ee6e83bd9c244b123c1a1989fbcc0524c4101fefe697ea0a9ab7c6a05302ac5";
+      sha256 = "1f6fbf55f1384141826a4b6a39ec617cc798b0c0a0e1ee02d6cd65a79d6784a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/it/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/it/firefox-84.0b4.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "de141769375ff5da94ee1030f5af84b309917eeea48cde769419004ca5a015c6";
+      sha256 = "73eebb1d351b5d746d3447c7a68d7a906c4db6df8cd257c6a048ea16cf908e64";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ja/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ja/firefox-84.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "69c5c01998a78c17ba55f262493c4e7bfa4fe03bd19a8ca605546f41f0c6f794";
+      sha256 = "ff1c630c6c41cd31c8ecab5fc48e8879dbc4aa295492368cae93061de6558b64";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ka/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ka/firefox-84.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "4c37f22f1a20c79c1b391b0f86bde8535c0766980a1b9a42ef912cbf91752392";
+      sha256 = "b6976def40cfd05543b70597347ea7c632c591660a2dd08332f81411a6ce6723";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/kab/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/kab/firefox-84.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "1c6722e18e1eff26918de17454d8103929115f7f036a1c23247695f7fee13051";
+      sha256 = "403bd985ff7ab44324d12c8c7f1386eec9fbae97ac9a0597d12d09d387686db4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/kk/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/kk/firefox-84.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "9ef2e2142d2e6d49adf59e6dd190b4ff816cf566cd35e5d288f66794aa2d73c4";
+      sha256 = "3860b0e8d53655669afcb4bece7637e9a1c0daa66d453e9548b2336eb45d94ad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/km/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/km/firefox-84.0b4.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "bf0899cad62f3331d157c557cbf3cf1f7faadaa7f9aeed3c6547b4533689dd7c";
+      sha256 = "5753474371c7b8663d45f7f9591958afb9e9e2777df3e89840f6f34894ddf491";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/kn/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/kn/firefox-84.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "cfea495b254e1ca8c1be94e95f0c1f126d5f1a1c9d54129562fbec5ded6dec58";
+      sha256 = "d0dbeceacf93c3a581cc581e09507e401636350b763c8c9f5342b33a0640bd8e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ko/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ko/firefox-84.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "ba8c93f8567a4f6bbf7af3c38a2d2ee793b05c0246638ded86538f91e6e9112b";
+      sha256 = "095930063eae8e3d6a78a6d9adb3d28cff0bb0c9ccdec977c8c80765a4c60560";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/lij/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/lij/firefox-84.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "c093b95b291af78460396e87ad39aa142d9925a7253f74aef9640fac0134e397";
+      sha256 = "587bced8e4480eba25e8597ab6b838a4f18553dd44b4f0ff48f245406f78e896";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/lt/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/lt/firefox-84.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "b035e58bfe373138626d9c5a22e6b6a8c6f35e8ba30ce821f80a1a85fd16c35c";
+      sha256 = "e214c23914e05152973428f5ed1df20054df054848d99ff23e5eb09e19b4557c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/lv/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/lv/firefox-84.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "6dd5cf66db0207527966532a2728d37438f71d1e79caf9b97916d0e404c9509f";
+      sha256 = "67657d4abb394ef76d37c321625d99dcf228ee00cc109e6d1c80cb3659db9879";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/mk/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/mk/firefox-84.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "1308f476d0052e1317b4c7db29d4d2218c60921a9ba7f619dde4455aee7978de";
+      sha256 = "bac0e98b7a68dda441195cbebcdbea583f104188112449b14723c1086c3c4f19";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/mr/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/mr/firefox-84.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "7336012a19cd650dfb8f842de37da8e29e7b0948cc707880667eca87bb31869a";
+      sha256 = "125a63c875f4be6e246fa01289386295172d999e0e523c1171578adea24b022e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ms/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ms/firefox-84.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "192e12151ed1be4c3f7ea12beedd2c50f6e7fa877ae8c448cc899cd0fa1c6d24";
+      sha256 = "6dc44f34449c915e93bf9c012ce7286b16d6418ca8f576d8a008b7ceb90bcb13";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/my/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/my/firefox-84.0b4.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "08db2ff728d5bfcf751e95eb9bba34a94c435e53863790ae06daf803d56c227d";
+      sha256 = "af5e2f1f9dcca84f41d3701035a00fc6b581aee2bf00f9f926928b99ab42d06e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/nb-NO/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/nb-NO/firefox-84.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "22cfe518994fff77dc41e6f45550549593564ef2fa2dd34e31af17f5e42d636d";
+      sha256 = "d168631cc1518e17cc9cd85f481f1047f6ae7df593d9197de5710fca0d87965b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ne-NP/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ne-NP/firefox-84.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "605180e46adcaee8fb813dc41c4e7bbe5f509f181b607554137712405c0cc294";
+      sha256 = "4b6065882ddd9e02441eff830808b31e6104d076cefed8386cff4ec7cb12330a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/nl/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/nl/firefox-84.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "ba8b45685a1d428d5fa1e38e1a3ec024f55db2f3ce4221fd53b96b0e0801a6b4";
+      sha256 = "96298283a2dbd9e3242c27551ee29829b21c8b9a32ca33b85da3142c47084dd5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/nn-NO/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/nn-NO/firefox-84.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "0b76c63f7942576a2deb29cf15b089d2e73aa0b25f07eb1a511ccf033c68234a";
+      sha256 = "19475301d3d93a633a1555b4436d63546a71160a992daa760a8c76a808791b89";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/oc/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/oc/firefox-84.0b4.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "5de508b4039c395b594a0c78d25655113906b95a735d1e94f8e1171ca789da19";
+      sha256 = "48af4af195173b541d76bb623acc357c3a2a8d03227406a21de89ab2d6c8c757";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/pa-IN/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/pa-IN/firefox-84.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "0bf9e4751ef967f4c6f63cb6332fe3940698b3e67d0e4873ea6bf639487159f2";
+      sha256 = "582ec12fbe2f8b07f8f4ae11ddf05c62db2d84508ee63ad6bfead9493a1424cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/pl/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/pl/firefox-84.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "0fcece8a65132810cb297a599cd4b003604854f0af684b33c9de554fbf7b1e86";
+      sha256 = "df8fcb5fe32325d45fbc1c9349065cd2d7f283e6a33d944282f3ed948c1174ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/pt-BR/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/pt-BR/firefox-84.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "8363d209d1eb7e8053acb4805df119e230ab31e74b3389ddb01b53b032c12bf4";
+      sha256 = "fa48bc301c9b7dac4802b50980c573039648eb41bf0c0fb3ef75d0ba1dce9b67";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/pt-PT/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/pt-PT/firefox-84.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "cf2ecf2a673f0a4f17cecb10b330bec530fd6e37aff9ed821aa68e202f59f864";
+      sha256 = "b0075346738d9a5f61fe4c3265c3a50f639f017551d3bdb2479e622d9561bd33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/rm/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/rm/firefox-84.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "8849e945e79f0f9605e288de967e9f5316c792b150654e23ca65f6c91bba8978";
+      sha256 = "c9ad20ff328c8c0693cab58fbfb1d6c1f85bb63fdd20eb8d371e82d4df5c2e50";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ro/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ro/firefox-84.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "452496612b170e53423009a128f092a3d4a372e0e6fe352e649b3c989f6f254b";
+      sha256 = "7816302b6f70c0e24b848d3d396876ee0d870d90561c37e440bb8b7722f54ff2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ru/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ru/firefox-84.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "0e7787bee9fdbb1ca0bd3ef050b1ee5d6c6d8277da941232d6ef10c612003773";
+      sha256 = "8f4969a16f4e70b59dd2da78b73532ff39589c984512d16fcd7106d2cf503342";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/si/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/si/firefox-84.0b4.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "bfd6df7b86490aa941f5878ad749d7918bc3c907a177213ab8a60df0270eea69";
+      sha256 = "0dfc4c1c797366ac9e65489b07de756a1b03b5498c9e4a6a10ac0d3a60345471";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/sk/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/sk/firefox-84.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "87c4827968ac3de5fb7609b9d7685653ef279bafbbb8b15f15f93cc876d6e021";
+      sha256 = "5e16b451058d64ea0cb61fa92e17fd72e591009803170b0b220237cac7180167";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/sl/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/sl/firefox-84.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "6b272ee0cc91ba6114dc777f1833ed5201a96fd905a0d68a71cbafafe1a066cb";
+      sha256 = "36216a3b474d3fd1d27886495f92eca83d24a465690efe7356ca9e7e4c08163d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/son/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/son/firefox-84.0b4.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "342f9eedcb359409fb324c13120ed25421435b614e9b5e15585ccf1551c263c4";
+      sha256 = "1116bbb70b7ff8538d3ce4e7df190bd152c98889d1612fa8485cb0197a83868c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/sq/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/sq/firefox-84.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "ad11f5878139c46a2344d0bcf6b02ad2c19e59f9861e7ac74668801e14742b73";
+      sha256 = "006948f771f4964f5f4f078615cbb85aee23051e371ff7b871caee7c4659fe64";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/sr/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/sr/firefox-84.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "5e555aafe353036537609b9ba997374d106bb5ecaaa386b5395b7d156ff89901";
+      sha256 = "20b0b9d605603e525d046424d290e6b2a0c963c0eae2a9a6c6ccdb72a9803e9e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/sv-SE/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/sv-SE/firefox-84.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "cbd33b4fd20d8a7401e384196c28adf9fda6ee2bf24895d75e75f8b727d33e53";
+      sha256 = "a132b97019c75aa8929830f873974e1ab36b69ca7e3c9ab44dd2a5b11bbe4f7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ta/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ta/firefox-84.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "8e4e9919ec79c1847449cc75539f24801d972b67d6895727aafddf7485d95ed3";
+      sha256 = "3f24d965ee5c89edd447e8a52a0241a5d1cedb0aae6ed1ad1c212ba4dbed210a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/te/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/te/firefox-84.0b4.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "cb756aa758e69f26eb50d2e81bcb922c2a15a2304ef99debe67a57c44b2c3c52";
+      sha256 = "2b65c7bb7df93b2bdffa687bd4309352f0d73ecdd66767db0db860f33f17c6a6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/th/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/th/firefox-84.0b4.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "8c2be1458aa4077264ec946181d7ab3160086d12c821dc3d5fa3bbba46de3574";
+      sha256 = "21e2dca4e194a38de97b9b717150441bdd32466ee43e721f41afde004bc8e3e2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/tl/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/tl/firefox-84.0b4.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "e51e4cf97b79b3720129ed9467b57d393a4ffd5698a9a941cd28feffa1d166fa";
+      sha256 = "9f4dc351f5244b0837a95d4afbfa0af373fe056e5eb106a2b177a57ba4c85ee7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/tr/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/tr/firefox-84.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "9f0a494434bc3d78c43428bc535517b5d61743326fbdbf1836a84f353408a54e";
+      sha256 = "50cabe6fea43e2212d0b0a9a5a382e085fdabc3ff6b6b0694b8f9d3d327c3ffc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/trs/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/trs/firefox-84.0b4.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "24cadb7247a254595c29aebe60784d37061465f2c960a8d036096c6df71e4186";
+      sha256 = "c4db90a9a0677430fa591cc387bf1255f260208a4907cb760649cd7a6db03808";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/uk/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/uk/firefox-84.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "6aa85e7119fd3ca00cd87d898eb93d954b1e58d01edf14106c41df98bdca4d99";
+      sha256 = "7c92d619dd827a9f7ef9297f784cff582aba44684dca91c3b9873337b4318fb3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/ur/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/ur/firefox-84.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "6b188379acb89178d08e827a60244c2298eae62434991d53378327c36829fa01";
+      sha256 = "ef46130577072c6fe6b14aa0710c75344dea46124093f483db47cbc8c9cb4ec6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/uz/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/uz/firefox-84.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "782ced50737f68a9fa6db854cde83ef7bbc6f95776a44918248efcedd95230ec";
+      sha256 = "34c28440a7772a7fcf7f920be760f92057d813648372fe7cb8ae9f2c3fb3a846";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/vi/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/vi/firefox-84.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "37b600b306c901080f659955163b1696f5129e71bc3c5f65dc74d280ee6e3024";
+      sha256 = "c02c1737b56e1ae4f20ffa9abd392fb69f19d68348341977d0f39bfefab465b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/xh/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/xh/firefox-84.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "ebdfb9a50a5a7cad0508ade647ef3f81e18837d6b84212de6393a854bbfc652f";
+      sha256 = "6be6defb443480c536639d99d124d8c636d70f049f126a793d627c131035c9c2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/zh-CN/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/zh-CN/firefox-84.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "fbc7b8952fa6d2d73b736abf4e60a10512eb983ea4588f7e746bff9512b953ce";
+      sha256 = "454af78f3ea4aa00676c4b97dff278dd404116e1da7993b5a2593167d11db885";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0b4/linux-i686/zh-TW/firefox-81.0b4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/84.0b4/linux-i686/zh-TW/firefox-84.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "5c29c56ef6480703ef9b6a2dc3cae8bc45b2fc01495ba099bd1ee28bbcdce55a";
+      sha256 = "7e6b1b0ad56916759b01df06b23bb6a23b0c59815538cb1edb3e95edf7b772d7";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index 5b61afe0241c0..5f16fb1914abd 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,965 +1,965 @@
 {
-  version = "80.0b8";
+  version = "84.0b4";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ach/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ach/firefox-84.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "f9b686c12733f6be1c96fcc71727f55e9c79f417df64a4b703c7fadaaf3a85e6";
+      sha256 = "6b548e6e2753e4a0ad2ad5968c063b6f4c7866c297314ba9e807161f7c757275";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/af/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/af/firefox-84.0b4.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "dc73e323741c3612607812878d24450b0b5d5274a8e58d25a9c3957d457b2431";
+      sha256 = "f75bfba14ae1a248918c0e433c343328305eb6372dd80aa343506437f631f2b6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/an/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/an/firefox-84.0b4.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "a84e966f8ac0373f63c7fd76148e16c56af645bb9b83cccee91e20065883f92d";
+      sha256 = "d2e972f7d345720a89081fce3b9257942c93bdeb2a5c7dcede3c30282407f159";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ar/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ar/firefox-84.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "9949f976617961c3853fc6e4596bac9a7c18d66b72df22b9b217dbccaea6b0c7";
+      sha256 = "2731722dbd097875bb797a555e9a0ba3843deb159f7917626d8e97c1a3005e7a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ast/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ast/firefox-84.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "89f277e215e11c7efd270c6f0952292db5c85057a50b48a3753fb16c1322587d";
+      sha256 = "4d626c7f293226e9e18e28d069b40f75914f9387553d54588c34e7dd70ce1ae9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/az/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/az/firefox-84.0b4.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "44c84f6e00f5672c4f4b5d26d727da4aa0e8f5bbdcb4ab484be4015b5ea4bb55";
+      sha256 = "01a647694a6aa2bbd8ad531197565593783946ad248d34f86550d28b8be5b52b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/be/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/be/firefox-84.0b4.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "cbcb4dbf931214f01167705529ce410935a378ddf76f32c04a16a019a04dcec6";
+      sha256 = "49639180573943a4bd4d0672c5dec969850b4bfceca00c37575c6d0f2d589a7e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/bg/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/bg/firefox-84.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "6af931944901fc143d9958538aecfcfa5c8604aa928dcad7ff4062e4752b2861";
+      sha256 = "c575261553cbc6afcc60650e21605e1298a122b975f6b6b2845a35725fe2ff25";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/bn/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/bn/firefox-84.0b4.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "5f44e1a8abf75708aed3c73c217ac6aa31520c32eae8c6a2c28838d4591fd779";
+      sha256 = "5c5ebe2bfaaa7ea16ca4285d9806f3ecef1b29b61e5018920db27e050a4ef521";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/br/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/br/firefox-84.0b4.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "7f345832f046770ff20457c902b499a6d2d3650e3cbad696d0a0ce81371b8710";
+      sha256 = "29c764eff10d3756f258f0ac5cc9bec14cc46bb66d804eaca5548cebbaa067d6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/bs/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/bs/firefox-84.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "539e441b74c8897113d8fe36076473f61cd26f9be24d5197dfa8f92a5ce68169";
+      sha256 = "7730a4c1e7d4d791fe35f000bba72d3652fe7289eb95f5e77b426995a63ef412";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ca-valencia/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ca-valencia/firefox-84.0b4.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "8f8581a6888dbdce1d357e8a289a0befa20e1679a8cc7bff13ef237bb5498ec9";
+      sha256 = "fe90ef596de4262d803fa282cce7b30c1c9bde896b31d7e47d8e862e38ca1037";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ca/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ca/firefox-84.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "5f3b7553a62465e18e103ffce48f75cc58489349c3cf966e3ba0138ce14d7b8c";
+      sha256 = "f435a47a36affd5b59c7a6543f1c1c7e0dfead407138967a0f295dcd6093bed6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/cak/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/cak/firefox-84.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "a1269157c6ec005756c1e0f0bbbf61a524f03b4c69022a2c49661c0375a78839";
+      sha256 = "ec4968ccfaea0a975a4f56aaae8290387707570cf899d078438ac2cb98244fe7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/cs/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/cs/firefox-84.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "15a26b351b40964089c8eed80fd5cadafd66ef39abbf19ce50a8b7ef5bdc661d";
+      sha256 = "357c5372b6fade862671db66b90b3382749153c641bcd7c99f7b2a3c68c143fb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/cy/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/cy/firefox-84.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "8400fc3e6192f2095d4a57bf354dbeee1b771a8aa61ab0d865956cdddfafcaf6";
+      sha256 = "5ce8f5e451fb2271635a2cada6c7b54a53936a1b912b777d54ce640cecb3d37e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/da/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/da/firefox-84.0b4.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "83c7818e65c32723c2bd0a4f65a33f19941fdcc5d84055cf2532cf8c4592020b";
+      sha256 = "ac790fdafd2875d180be2375937b38546dd77d6e9b8428f4d44a2b780b4db14f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/de/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/de/firefox-84.0b4.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "589b9249ffcff23c388716c24cd09baa8b309d771b97f4dfcf9c979ad9a3342a";
+      sha256 = "6c5205a4d74da62927648f95a069ed6a68ab012f2cbe0c4cded3de8d40c3d325";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/dsb/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/dsb/firefox-84.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "df57cc439fa74d93921c7c1265b7335e23c0df545e78eccce34e06fa528e75b3";
+      sha256 = "516308e19f0373b3ff75e2e114fc7f1d2d370cd4a0f63f8bf74704eced2e0d56";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/el/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/el/firefox-84.0b4.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "7a2b0380cc8733e7d6eb5adc228fd543d8459d7b7d9ffbcb39b73dffd395e5de";
+      sha256 = "d35a67fcfc8c5c334f55d12810bdcbaab6b9cb5fd3aaa75c79977accf7429445";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/en-CA/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/en-CA/firefox-84.0b4.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "6e747524fb05aa987e0c24b21fc9ab27901f1cb205b7cffa100d5bdb7ba130c6";
+      sha256 = "e8d36d76d791108a6e514a649eebc9c4814aa8ccd4b21728e56a4e9839eef803";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/en-GB/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/en-GB/firefox-84.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "4e95f0c08c44e6d4830abaf9c2d25b10e63753f1dd48e192d4464a03b82a68de";
+      sha256 = "9bb695670d7ee7a3a35d9adeef579e33f076fc1eca717149a5078134f584bf70";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/en-US/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/en-US/firefox-84.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "2b75be9a3961e734ae16e591c367e76828e9a3adc458629db69fe5fb32a8b476";
+      sha256 = "595b1004380ac96663c2d8889f02a681ad7c5c56e0f12cde4a26a6453d0a0ec5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/eo/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/eo/firefox-84.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "2fb71c60605c4c56432c262f62d72509d520787a7e86a45b496a68e55d08823b";
+      sha256 = "cb6ac56d074e91e2f5154c275c4c3a46e4392586451fdbba52fb419bbe085c64";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/es-AR/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/es-AR/firefox-84.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "3aefd418e20dbb7ae0b8aa87d15be140b4ddd7f6572ae0ca691b98f7f919361b";
+      sha256 = "920e2aa05414fb72be7f24240636e7ce7b431776cc919c5a07c1361da3f66289";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/es-CL/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/es-CL/firefox-84.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "7d650204f7f717cb39b218919b3654db5cced3fffa4d06fdcbd4eba5cea1263b";
+      sha256 = "9db297046da02c5c8e1f6d5ba0e4f6b35ec8b8d36335dd2f7933e49d86c207b3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/es-ES/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/es-ES/firefox-84.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "5870182df6c69538ac1eaad0e61f580165e2e916cb76bbdee8b659a5a58dc68b";
+      sha256 = "ed94f3ded8f803f956290976cfa41a5c46b42da7f3158b4283445ded15fdd789";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/es-MX/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/es-MX/firefox-84.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "166dc0e61759c879737a10c3b709e5bc94493bfbf01a7997c2d38b48254d6af6";
+      sha256 = "11e2a8b7084ea002c6efd92fc86529e2dd09afbe4fe52285a3165733af95e132";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/et/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/et/firefox-84.0b4.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "b8b8ea33ad920876b36abd8d35a61f01548c5a482c7eab0998f83f066bb62e27";
+      sha256 = "0baa470895983b2c85f9ecc79f36fa1b6c8578c5bc22be76ef10d6e7f9e11ee9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/eu/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/eu/firefox-84.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "255637aa99002ea1f353098b19787077501efc915a74c2bc88a6ed6c05f12079";
+      sha256 = "271141d85b5a0338445945208d515ab9ec6452253abddb1860c31cd61458de4b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/fa/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/fa/firefox-84.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "304144942ac8e71f4c29bf4bbc91f17a05bfd712e621cc0029909e0b65e09a95";
+      sha256 = "d467a6e1eff3b2edad56c6b8b58a7fe2d7fa5c07524fc0d567b660b29169ddf9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ff/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ff/firefox-84.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "7ce1b42078fe98783e2da541cdd69dd2083ada20254ef80fb53454950e77eddd";
+      sha256 = "4f117b8bd69c01cb6d38b927ab26cfe79fcd111fc9a4a2e53ae4ef936bc9806d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/fi/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/fi/firefox-84.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "af9271da2138c9c0d73fec09c5356a87b91aecc36a1211a9ce35e0ee1bcedda2";
+      sha256 = "6eb9d0c0d1ef84abf0af2a873334dea463d728ef5aff398417e2ea3104a4503e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/fr/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/fr/firefox-84.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "c7f347082b17060c7af21ef12f9fd8b210ee20f877e7e791379c482a63e04ace";
+      sha256 = "85d4b90fabcc03d3ac396bdba0749794bc3fe447c9f2ce793962a2acfc35918f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/fy-NL/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/fy-NL/firefox-84.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "51d42832b2f58e0d8f011762f9884dd49ab243d45b050258ceeae96bb92daad9";
+      sha256 = "462e14991e34122e2275bedcd6776d9f8a75242c2b06d84ef3dadab08428d48d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ga-IE/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ga-IE/firefox-84.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "33a50b14ff9d965deac611e0dd6a85de9caa9cde9b99a8dd955a28916e026d7e";
+      sha256 = "b0b7def94a250ec52fda4e4fe0de931209fe71eb06ce03de13bd7309c7f78d79";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/gd/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/gd/firefox-84.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "bd3469f5c101682a723eb5b261c591fa619b64dc99466ae919658cf44ae8fed4";
+      sha256 = "e3bc980f579132b68cdf06b06abe2303430df239444971010ef420f5fe1599f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/gl/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/gl/firefox-84.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "eedd3b89b26b6634827e07a5b20b57716f54a604b18d9849a4b2fe30ab7c366e";
+      sha256 = "66b9c65dedd1b57cfa2d960a40df72dca473f39f1cc585e1406abc64d68b1ce5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/gn/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/gn/firefox-84.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "206a292bdf13d98a502ff89ea57e94b37a528e57b88c1611c5094ed64aae2b0d";
+      sha256 = "ad707ad91336de1c0d1f26fddebb95d25a8ff405bc3d576660ad9be0f5643939";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/gu-IN/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/gu-IN/firefox-84.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "2ec91a2be77abc9b52e4d466cfaef70ef02b7b92e332fe572cdc3f4e53ac5276";
+      sha256 = "585c76f373ef5c3f3b86a6cef4dfcdbffe3e314ba737a3f514bcd871140e5aaf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/he/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/he/firefox-84.0b4.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "5f53772c8a24d4fe1be3cc21673a924a5d65e606168f079b8091f4502d1218b7";
+      sha256 = "8f9ed5eb32fe9272f5adc22753997292cd2dab7b1368864b4f001eb0fffd7526";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/hi-IN/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/hi-IN/firefox-84.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "15e74fb5124e1547f7eb776bd3b6d4096338731f1d97b6c0944e7f3af1b569c9";
+      sha256 = "22d8b3d494f3b0dc5e347c0fedd5ab2ba32690c02993bd2a9066a987bb87aea8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/hr/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/hr/firefox-84.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "5c4a0c766ed006e0f43856104aa8bd96e8d63ca618fda401370633b707e80374";
+      sha256 = "c3a70593633985fcc8974364db75f2998e450359d4a8b621f23e95df24cf8e6b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/hsb/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/hsb/firefox-84.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "6945e71a060bcbf8a329c65ddcba786beb4f955cc2105806bf5873c07daae988";
+      sha256 = "30701d1b25536a45a6a5613cbff8ac83bdec08d6421f1e37d9f0ae9c39ab6856";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/hu/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/hu/firefox-84.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "5da76038365922aff82c540652132c7763a07f4336ef003a434299240444b036";
+      sha256 = "bcb63dc6211b5c24536062ed6f8a424edf0ad553187b298874d97f75d363b1ea";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/hy-AM/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/hy-AM/firefox-84.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "4be5260452b39b707d271b5696710038174c397083f626b3fd877aad36c37142";
+      sha256 = "0278018d35f7be3e4c8da080bcd86e2bf08a544bfd452136483d2b21f91c582e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ia/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ia/firefox-84.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "94dac5899d0f2d5afa0dec53472afb329b956347d22581e1b9668a123d200278";
+      sha256 = "d5699f8b946bc551fea78389cc6e82a9ca58ca3a8a492cbe3b985ed655fd60d1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/id/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/id/firefox-84.0b4.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "d4cade715292ed116c2605dd6a8c70854cad373641982283decbc1e2f0417490";
+      sha256 = "1e2c580382192e88094738a01bc99b7efda5a1010e1bb180e35b5701f03aef55";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/is/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/is/firefox-84.0b4.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "5f4bf4e8bb2f5e72872e99f8415b864df457c93ddabbcd4377588895c83b1d7a";
+      sha256 = "a541657165e18212f97261b2aba391434246688451cc9f2b643a57891dc0eb1a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/it/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/it/firefox-84.0b4.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "5fa9251fd8c8e0d4aebc006ea1f8df15afada7276a1bd0517b89c2a6f8e488b6";
+      sha256 = "5ecf7a03bc8e8d6329db2bca4296cf0d07b943ec9c9e0cbb2ffdaa4ecffcdf3a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ja/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ja/firefox-84.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "a1557fd84bb39786566b6c11d1efea9464a96b77a690b1b1c3b165283c031185";
+      sha256 = "80d6148dbfa8e95e5292699b5326171f6a44eaa30dc4c84b233191a8505a248b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ka/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ka/firefox-84.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "f9359c7eb9c6536ced999c18571babd932a1b1bd22565d6489bb43cb17893eb8";
+      sha256 = "9f15ef55fab16e0086466e696f35dc3107451c2b9ccab9452901cf66723bf688";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/kab/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/kab/firefox-84.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "9b34875edfbf6383b5bbddd110d969e32e448e47eaf48b7f41c215e6b3f8da62";
+      sha256 = "762be8a3bee38ea5b939611b4fbc9fd5bfe71e80b685cb0a8937373aa19f94d6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/kk/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/kk/firefox-84.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "78bdac1a7f0bd82440e43c6079332624b1e7e60defe45d55493857b1f9e2c7ce";
+      sha256 = "65196c278a5a70c76315546465915626ed0c5f395af4ed1aed0ab2f27846aac4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/km/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/km/firefox-84.0b4.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "9fc753e4fa4a2a3a911dcfe9d8c7c993416833bedec4e94e85d95ef075209377";
+      sha256 = "530010cb0d3393e47324c032d048a377ac5c9da16e73888db026f6cec61c3533";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/kn/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/kn/firefox-84.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "1e45e618c6d4db4f870e4d3baf60676d2a76916ce0998ae33d671ab73e8c1bfa";
+      sha256 = "5233a8714e24a915404b3139aa3496812a4203b866cf4d870b013b940eba41ec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ko/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ko/firefox-84.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "afe8410a5be470aa016720f411f33aa0b244fa34dacb138ab145b97a7e195db9";
+      sha256 = "5dfe6629926804ed0820d472e19e51223565b011dee3feb722a81faa58043744";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/lij/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/lij/firefox-84.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "094f4ad0a2b988f0d75938dd6439ad5dacb1eee42584e7d1b424289117512d49";
+      sha256 = "4bb4bd94ac7aa845a062c366ea47871293f7b5281a460d3547fc321b6430a3ec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/lt/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/lt/firefox-84.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "69164a34e2cacc8f68e8e87defe713c4dcd1de278d449e1f9eb7b8cf42aae305";
+      sha256 = "162d3705cbb8ef0b8036520d59e17eefd8e94bf27b9c1df027e9c0b26b3ebcca";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/lv/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/lv/firefox-84.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "10262da2e4d50f2e331b3bd0c4d064002a3a5f10719284b96cced812ca0551bb";
+      sha256 = "7498cb5bad8ccde4a82e2acf49e899a652086de5c2e0a63f833d5342e83bfa48";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/mk/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/mk/firefox-84.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "d310667e306b177191965b40b6cc8556e0fa749a3ebfa6120b0255e701d81ac1";
+      sha256 = "88ffd9ffb56000b42d3878654b6be2413189b93881d29809c5cfcbcd740349db";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/mr/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/mr/firefox-84.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "2130fd9a56e2e4f4c09ea57cf0a566ade53c255c52e867c40316e14a04a59e0f";
+      sha256 = "cac6e4ea74b146d07afa79e85746d9678e6407c733a38367ed36e94821cc2f4a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ms/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ms/firefox-84.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "ac215f60d098eacfb4d03e857e0229d0368a113e5758f00044790953712cc4bf";
+      sha256 = "7e5eaf47c232fd25fb5c1e2de9d81351cfcf33c88c696a193219b0ff86a3c29f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/my/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/my/firefox-84.0b4.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "0f89f81cde40821463e9ddbd988616d019d73fc0a27cc3a427dad4c9bd6fc931";
+      sha256 = "20b1756847b2cbfc98153ac0d9a646f129b83f5c1383067d7547e9c70409abfc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/nb-NO/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/nb-NO/firefox-84.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "4d599136e6a8f430f21605895d2ea63aaa3542a2b9dff5fa44d3a618dff1be5b";
+      sha256 = "ac71d2e5520acaa352eba1f26576dc101b7b3a64971b36acbbfe7151b47e1344";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ne-NP/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ne-NP/firefox-84.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "859dc2201e76de7f08b2c29d11382f02bb2eb6f9ec48f65656f578da67cc10d3";
+      sha256 = "90ff28f5e3ed56f5472e524f37288bad57045dc5491bc84f5e76f33d1d2cb046";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/nl/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/nl/firefox-84.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "f9b7784f2c626f6bfe8a39a18a593d9f0d10d0f6407d1015969fd3744a483e88";
+      sha256 = "267c1d406006feae8bc350bcb58b4f73cc2403682c5786bb500bcafca4aa1ae9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/nn-NO/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/nn-NO/firefox-84.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "6c46d8b833423fe0eed0da6c162ae16f6969b569902c41fa21ee7e19ce7515fd";
+      sha256 = "815e84bf8acb3cec68dd7fc06d7849240f71e73cd710538b9f8a887df73f98da";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/oc/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/oc/firefox-84.0b4.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "c359b9438f6065adb64baca086b7bed295ffccb825a96b4bcc5721ed4346a061";
+      sha256 = "14717ad07784d231333584150f04118d22a8616fec76aab800d3208c514904fb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/pa-IN/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/pa-IN/firefox-84.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "6ae3b82728155e195747176188e30d4ddc3d5e9499ab018902e2e1289b19c171";
+      sha256 = "1c1470816615bb292f51cfd1a52002b5f2ed4444be41a3521ef1a40b4e64b2b4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/pl/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/pl/firefox-84.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "45b97c17dcd1042eb205f6c59f5b679fcd224705cd5009dc2e39c8a22099ecb9";
+      sha256 = "872a505769aff03597c71de66121fd007559c3f1cbb22c67661930de6e193634";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/pt-BR/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/pt-BR/firefox-84.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "50b2309fc1b083f739b090729096fe82747dc3e889923d271aae500ee5f0c82d";
+      sha256 = "d0ef34afb32b0f6d1c266b99ea0f4a9015934112524eee0cadc66faa6898ae27";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/pt-PT/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/pt-PT/firefox-84.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "aac403c497aa1bb9e37038ea7897f57074278d080e592bf1984f1712a80de632";
+      sha256 = "e0b17a97217c799e4e0067e91374e63a6a99df827442d0193fcf47320af8a737";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/rm/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/rm/firefox-84.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "b8330c7ef733c1d50e320376bdd9c5205fd56f58fc7baf46497f1b0902193dc5";
+      sha256 = "0c031b6ae10918e65274f5ce95fd03d68011e36ab626e03ad9484ff40b36bc7e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ro/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ro/firefox-84.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "ae7d39f56d162d7b8bfb4d55c6de9b46a40f45c1bf9a4191e65c7a99a36b22ab";
+      sha256 = "256b81200a5b92763d368b9c5d6f29e191aa4f11b097de1773bc5557d748c3ea";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ru/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ru/firefox-84.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "10e1adf60a23574fd5ccf9ae1be83710c92c902367174f73952d18412228814f";
+      sha256 = "734b7d94b896554d5fedfd94a84c827ad6737808cd1f7b5b13be20702d46315b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/si/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/si/firefox-84.0b4.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "fe02265dfb0bb12ad9a5739e802937540425789c8e36220f59001ef4fc256f16";
+      sha256 = "d2c9fee5e64b8063c834610c2671f9c3fa49a5e02fc7e3482890b534aeb66a7a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/sk/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/sk/firefox-84.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "73c58bb35f204f875d2c8d293780810be6083d2934fa8d7d7e02a3bc8d41e5a3";
+      sha256 = "edcdf2a8a00e0402992862e28efb33614b9f1a4cdfed16316c5d4bbc229b298f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/sl/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/sl/firefox-84.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "90243b7a75889617085715d6cbb65c220f1fc5eba5d4a70612277dcb6a6df6b6";
+      sha256 = "d097a61adf0908041cb3cce76758f6da274cd7b3a006163b004f70e869947021";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/son/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/son/firefox-84.0b4.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "ba8ead8c649116edb7e168b25e6eb3735a85cf5c15a2a78ebe8340cd7071adc1";
+      sha256 = "d60731c5976825f0566502f6211d8e22388ec9d02bd122272f70a0830297e1fe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/sq/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/sq/firefox-84.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "6466c44847b3b0370665e996582a2cbed9a8eb56a8b3f683582011cba77e918c";
+      sha256 = "5dffa799eec3baf2e55d7b690cf73c2b190e369bff32dd1800020c0fdf912c9d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/sr/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/sr/firefox-84.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "06869c6fc77aecdf48a991ebd65cc6052c8c3aca976b01cac5e39933c7aa9190";
+      sha256 = "abb5779af704c926ca90bd9b9a01eb8de1b1b4feae658d5911bc523739eda0d3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/sv-SE/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/sv-SE/firefox-84.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "e763358e9672fbc8b990bacae8687c7558d9718cc9d1e80798ee9ad220f28b35";
+      sha256 = "2a228577a4d6c11a433b8c0340558aa638de175474491428b05509019920f8e1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ta/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ta/firefox-84.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "1669e95f886a7adeac0489c072fb88f1ca09daf3b42027006305857bdbfced4f";
+      sha256 = "82f0bec91719e7b2a355c9b0398b924ce4cf429bb11e99d566af9836f5087acb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/te/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/te/firefox-84.0b4.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "3d5c9f1596291eba38fa5b5174674fdcfd335e4cff44ecc50ddc7f08ca254b97";
+      sha256 = "9e581d2dc107c385142c3bbb5476e3bd94e700cd8f9e36ead46d284d5708e9c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/th/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/th/firefox-84.0b4.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "d583744cc4d1099f23960b0ee7c80992233864c94f877623f0c566a65cd944fe";
+      sha256 = "096ce747a12c0b773d34517efce6aa4aaaf09385c5cf088046f7217639a7ce9e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/tl/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/tl/firefox-84.0b4.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "cb6b8cdf1747e211cceeb07bda07573bc193574fa3603bfebaa537857953ce13";
+      sha256 = "3fc48cd9839ba88f246fb04fe34cc5760aa9e40c8fb782ea57347e32d66030f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/tr/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/tr/firefox-84.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "e2561f98607ac5dcc67ef825cfe73d1c2af4ef9c5c01ebf48ee4dc0f80b53d07";
+      sha256 = "087c629e5aea8fc698cbc5608c270a7099607b34c5852b3b3f4091af3b7c789f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/trs/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/trs/firefox-84.0b4.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "de1e1f83c439d17d5489d666f1772ac32e26d70a5b3309176b528de413fae39d";
+      sha256 = "4df467d46c5830a3d96f87294c3dfddcc397b73a372ba566900123f7ab86a6ee";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/uk/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/uk/firefox-84.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "7632b4734ffe3106e78ddfc9e5ed81dbd219045f4b954421be4629397436763c";
+      sha256 = "11090c8aa00533c456ce96cbb09691c816fa2f98ac421cf581c86bd2bef5f296";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/ur/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/ur/firefox-84.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "8e6c6d36546492ae93128c780c80bcae86ebaded38cc753db1f0401d4b5d31e3";
+      sha256 = "8e7a5cc3606dc6cf71de328863a9107c36024001a381baf00daab11bebb857d7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/uz/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/uz/firefox-84.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "18c7827cc1337e0a2cb3a1e9603aff8e7c3ac8e5631cb791eb0b7a2de35bb487";
+      sha256 = "bb1846dd3b7bcf3b657d64bbd215301565dafee00eae96cee15fc71b40f49877";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/vi/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/vi/firefox-84.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "e78c922c13e0207c9cfb4d492e855543979e77b49a18fc63796c7e74cc4fcdeb";
+      sha256 = "375805742481f8f33adccbdc7e10f21ef0b1a0ab383c379e4dc13718c3f8fbf8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/xh/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/xh/firefox-84.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "bd30e089384bac81aacf68c52ac884712bd0c739f517faa6390090d112d9fcf7";
+      sha256 = "a8ce0836980441d1248f8bbd2e4bbc7a8269afe9bf8e3125bd9f4dd3acd06d7a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/zh-CN/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/zh-CN/firefox-84.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "316ad740bbba808a66b6fa00a9b1391597c949fa217e721563c685ef9fa028f1";
+      sha256 = "8f491d8d1f61bf4a7f036efc047462bb04cf953e2a3a39cb5a326e49ed7a880e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-x86_64/zh-TW/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-x86_64/zh-TW/firefox-84.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "f92189c808903b314ff4cc30fdfa7d5e2085ce22b9763e95144a7d69e6af719d";
+      sha256 = "dc5a8ca6f8a3f40060d0d2abaf694a066960cbfea355678ac583c3977b37cbed";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ach/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ach/firefox-84.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "aaf1bc4cda7e1f1182f701485f5cb186d4b731851aca70611cd478c923b2427b";
+      sha256 = "f5b5a500581e52dfe5192135cfa06bf283ff23ca0b1b569db1f1bdcd359ad0b4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/af/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/af/firefox-84.0b4.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "1be25b19658c15a88031169c57acda5ebd49b63212f584da6f859370b493ad32";
+      sha256 = "f96a13006c272edf5f60d6c04011e48729b5078fbde2238a0e5c422eb1293372";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/an/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/an/firefox-84.0b4.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "d461a566f7efc35ac323b0e8e963b8332a349e1b317401c2975cf4c75f7ce8cd";
+      sha256 = "0bdbd429a512499dcd920ae695b61347196527ab30c601e1645385f3cdaff4ac";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ar/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ar/firefox-84.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "2051bf3ff16a6ebf15ed4fcd97adc2bef65c04500d09ff1f009785f41c0b02a2";
+      sha256 = "e0b6addd1b699c228aa353af879bbd263d1bd0e17aa033754abe864348adfc9a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ast/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ast/firefox-84.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "97951d00f79bed031680ff9676201c9ff0fe79273e4f2697cd19ca9ccdfe95cc";
+      sha256 = "3ffbc1b67d9cae58c2b21227e6456d9e6ca8a387cdbe8b5bbae9b1db553a34b4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/az/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/az/firefox-84.0b4.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "a461aa41658c34bef1bffba2d34619ea402fdda2e51aa1e0200002b2e9321c8d";
+      sha256 = "36c9ad3b07b6e032b38486e1d2a7a6b85b85dc84d8d0b9218fbd4c4a71e59e70";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/be/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/be/firefox-84.0b4.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "ff1d2fa9203fce0aac5d91b38034910bbf7b0822b499fe522ed981f3365db8c3";
+      sha256 = "2ac1811463e482205f7dd27e4f98564146f089fb423405a8c3df8d2a10e45147";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/bg/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/bg/firefox-84.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "17553a8566afe02d916b18d76a8850295512d9514bc37bbac459bd28a3bf46ec";
+      sha256 = "174d0ab72bfb1a8ea811c1b77a9eb65871f68641b1703c3bbf02bad4d298460b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/bn/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/bn/firefox-84.0b4.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "9863e968594a556a7bd52a43cd3c965687d4116c9fbfb62bed38b1b7ee343728";
+      sha256 = "e6d1b74e56690abd5c2f0d2d1dae0b9ac6d16b28daf1964ecd87138a5de9fadf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/br/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/br/firefox-84.0b4.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "762f1f951560f8c85a44cc2a7c318e4f8e5a0b752011cf06f86235e3aedabebf";
+      sha256 = "2ad97986bcdcdc2b988f1d50fef1a71d767119e03065ddc3e51ad38efc7dd351";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/bs/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/bs/firefox-84.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "24fc8ac01417df1bbcec358c083f7627ed13bc76921bf0efc14e9f7653e9a819";
+      sha256 = "71c472c8dce7174ee8139360fd5b8528cba89f73dc186bdd08ed368917b8c41d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ca-valencia/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ca-valencia/firefox-84.0b4.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "b071e20fadfaa2c06baa1579343c18167f6adf88e1c98fc68413287f6a45225f";
+      sha256 = "4e5245f658f5bf6f47d40e2437841213b03b9f6d12e83766621f5b59fb258eaa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ca/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ca/firefox-84.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "e63fc27b2bd404ae9190035d5537822fe76213545d8dd076566abd12ea213e25";
+      sha256 = "4de924505b98c029dbba0762723a3310b3d171f18072a1a51d4f9636aaca8831";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/cak/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/cak/firefox-84.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "6f4fc3e51819d9d3914ad624593cfc755d9e8f78263700268dab46c38e8fdbcf";
+      sha256 = "11fa8468ca6b3c51ed615d0375e63d85443beab66c10cbdc95fca817ada02215";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/cs/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/cs/firefox-84.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "ee61413b6544ec56d13bebd08ee2ee69f8d1f16e886ba31d46c2a786c0984f7c";
+      sha256 = "c1bc48d54d0ea32731d4400c2b2fd817c5ed222cbe5fea20b3ee26ddeebab9d3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/cy/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/cy/firefox-84.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "8f29a8b77732cb1387371538efdf970d0e93d3de866b103c836990a4f0a30933";
+      sha256 = "02cf2dc5bb97e9497655c53ef45dda3495f280a333c94fcc51048852bc993a53";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/da/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/da/firefox-84.0b4.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "b89854119e139a8e9347b262131ed5da62672f6d728b1017963a11d279861a45";
+      sha256 = "6d36d0aa1ce447770c9a149a1df2c27731a31f5784b9f20ef536836e6e42819a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/de/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/de/firefox-84.0b4.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "c453a0f5cf528c582a35997a963b944d31666018ffc912ee4e188f795066b925";
+      sha256 = "49eb555372658bf827adfc07b08c8ac46a6351f0ecd0fed0ad6d5c4975553c8e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/dsb/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/dsb/firefox-84.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "bf1f7ebef2aa4a5e0ed824a2c89a0b86101b5cc754feec482f0c39ef2ef3dea4";
+      sha256 = "1c358edc0e6248773103ab92ef0bf6103dfcbfa2945602bbd2f49153ebc7c690";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/el/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/el/firefox-84.0b4.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "b31ea72af96ecfd2b625d813bf32e08dfbffb9c0acb004e1f279b7937d675a90";
+      sha256 = "a445f9806285ef0b036364a618c8d7ca226da899dfa33adbda5b2e327fe63dcb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/en-CA/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/en-CA/firefox-84.0b4.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "31866007d8bc76202fcec3b9531afe237c9822025a14113051a9389cd9f81ec8";
+      sha256 = "6d2590c0cc0aa28a1443185aec54f84973a31e79beccd5ca5700abfd8deebe2c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/en-GB/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/en-GB/firefox-84.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "82b2e6cc268eefb687255fdc5170aa8ab6136d6a07b881d49c044e1700eb9190";
+      sha256 = "71c4040c1326133f18ec7a07ea021b061b0994cf92aa113b358c5c0c10ebc59b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/en-US/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/en-US/firefox-84.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "dcd29328d9b464c16bd034f635a16d1593f98e08becc6a278d265b07bdc208a2";
+      sha256 = "af3bcd19cd78dea23deaff0c2810282a68428eee4d45e2989c75cbce5ff97098";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/eo/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/eo/firefox-84.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "cfd6996e81513426d0534ba62e4f2d22fafcef51ed48da4a593b9d3ead2cb2fb";
+      sha256 = "641def17e0d004f81cb176ccf70cbaa1df50fb204c3ff45a80800b76c21ed006";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/es-AR/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/es-AR/firefox-84.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "9d4c24e1153f723a789c1934c15cf8b4d3925fd34e8fee98d7e5ad19c9f7a9d3";
+      sha256 = "0475e9de47c64b11470edf16f2819bfc1b1013f75ff6dd83da96bff1174db788";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/es-CL/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/es-CL/firefox-84.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "91364ba1a2ab6c8bdede117f45a855b5968bee492e054123433c0fc034d66415";
+      sha256 = "0f3c14175da4f59b745473df5f0256b582800b3c3dfabaa21e124b9ef100fc72";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/es-ES/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/es-ES/firefox-84.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "1cef40ebfb1b12813d85a975ac0620b3ed339acf5de8e4d0ff0aba6aadedcc7d";
+      sha256 = "9a33525bcb9d10a10630d4c470877c8698f6da32671cbc47450c7fa4d2cba7de";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/es-MX/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/es-MX/firefox-84.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "e41ae370750f65e59470e05b2ed501a308f8743cde3291bae2fb8d17af553789";
+      sha256 = "ba397ac159b77c9346b58e5c9e4bdffd21b5ac3fd3d4b67a2b67931916b2f830";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/et/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/et/firefox-84.0b4.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "5a279c246cffd27f6c919f451161e87b30ac8743e1a22ac490496b28af7e75de";
+      sha256 = "664672b4f5f713bee16024845f16555da16f758d8db674dc5ec7f0022d2b7000";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/eu/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/eu/firefox-84.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "3530e6f3060fd133dfad72532319c6cdb5be5bdd2dc0395d02e379b203264d20";
+      sha256 = "3230da6f19116ccf848855218df3fbace86af2d9085f4109a3006476807f464d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/fa/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/fa/firefox-84.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "ae1b1fa06440f1038c97fa9d625a2b58ce5ffe11fb53a71afff632a18675f113";
+      sha256 = "faf07d08ce391b1043d4081fc650e3ee78ca067a3a11a6e3ff87916f3ac7a557";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ff/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ff/firefox-84.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "05b47dda3d1fbce0e3dcd79534aef247516e5ded783d1184975ba97b1abb09f8";
+      sha256 = "2c763d737cb112b77919594fe34061db5181a725cf518fc3cd9133be9bfd7cf6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/fi/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/fi/firefox-84.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "689eeeee1a769ec9bb53014044a615f0a5c05d8a15e6dcd408d18ef452c0b441";
+      sha256 = "5a631720534e03e211936255012270e04918461112411e787ea02f138087c6b1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/fr/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/fr/firefox-84.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "c64e31adfc24ba1fca84922b33a71bb74150ddc9b4d5e52f3627d2aac3b11516";
+      sha256 = "2b86ce004a5c42fd6f5cdda28439263357ce5428b6469440046ce6fe4d6157c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/fy-NL/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/fy-NL/firefox-84.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "36765f1c9e1b15b43fd7d70c9f9dd1b977c4171ff920710346493214e08f9dc0";
+      sha256 = "e0e81fb1494d86abdcab4cc9feb0f789ab304172c67da013f0a09ab2c2e3e676";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ga-IE/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ga-IE/firefox-84.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "026c461de7bba74facc421a58028e46efe32e7e3f441a8ca030911e2e883f56a";
+      sha256 = "ffcf120a36f7268ab2ae03fb1eb6d458fb63b00d41198bf7997290c28997205b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/gd/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/gd/firefox-84.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "c2a21914b4f7cc71d6456e9c395fcf2ebbca12408563decc4a400e3d5d43c865";
+      sha256 = "a99d3471da7fa2e985fc562a4abe086de9096d2461a50841ad5c8e5d2891bf8b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/gl/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/gl/firefox-84.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "888aaad1dba8db4d71785fee01c100aa1919d432e8ccaa044e386224abe9494e";
+      sha256 = "01412502c872561564e1dac95b12d27295be5c411d2bb1ebbd53cfb4dbadee3a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/gn/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/gn/firefox-84.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "d5b1d103104c2e6e7b8198be649b0628acb4cfe6865422fc9e3db3b6ecc07cc6";
+      sha256 = "a73ee3448bb7888acec856e3e3369e28f5fbb9c5d203892e4992f73b319fa394";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/gu-IN/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/gu-IN/firefox-84.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "215b9df33e06685f9b264b06b512d325aa8353b3f3975699b77e9fc8d18531f1";
+      sha256 = "3b7904059b38eea27b7901de41be029ea8ec23c3d2a8bbe8941d8852c55cfb97";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/he/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/he/firefox-84.0b4.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "8a19ef1eb702a0083c7751cbd7f2437c5fa46ba3f61a5f5d07f797b8ca696d22";
+      sha256 = "0bf4d3aa4f217e12b1f204bdb189625c6daae24cf5253bf4b1cd6288f2717873";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/hi-IN/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/hi-IN/firefox-84.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "17a84efead836ce54c1c0f0f5486595753f97463fbc2031d78b01e33c7a7775d";
+      sha256 = "4f95852212b0b08aa420c88e2ec7825913e3e82c1d2891fffdb11a8583bf46b8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/hr/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/hr/firefox-84.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "41bc47533991b818b26fa149a30825326879cdb3ba92eab0ae5171be595078bd";
+      sha256 = "e30d3274103e39241e233aee994b5b8c2b39dbd190ffa1a9da99f8494ae833b1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/hsb/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/hsb/firefox-84.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "9ee8d0255eaaefe37f00960ed59c83a06b8356a8c6ea05d1f9697edb9880593e";
+      sha256 = "f401baba947e64ef4ef02cc5137c8623a99967ec8597e4e5c8987382dbc505a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/hu/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/hu/firefox-84.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "a9b6dfa44cc8d90a530aeb98ac96a0ac1e63b4a46b9af8ddfd4d6f268fc7eb5a";
+      sha256 = "70ac5b24deabcaf0b250575a0454a35e127cf15023a3546ae41c01942c64c59b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/hy-AM/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/hy-AM/firefox-84.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "e93f74803b536d3b12b6e41d064a7adc5dc16615d045a2e6cf792d25477fbdc6";
+      sha256 = "9dfa8b99f67ce66625e0c89c37f4ee36b23421ca89d4445deb5dc82eb0eb05a7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ia/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ia/firefox-84.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "931dbb0817dd797c5af61bc683f3d95ed99ad9834efe2f66a50f9e444e708061";
+      sha256 = "4445dc874962b72f7d9096cb46ff98987b56d9c2d3e0acd814fc8c59261363b2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/id/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/id/firefox-84.0b4.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "1e1afcecc3bcadfbd6989eefc191f8d5cfd0f4d29c1f6814927370aa647af854";
+      sha256 = "16c6550910555ddfc395b0c9626dd6e41a4bc9bd4a8ddbfb2867faa991cd4ae4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/is/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/is/firefox-84.0b4.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "4907987557a6a560557d417dcc31f9c7dd45dc0d2767ed050770f6fc6f308641";
+      sha256 = "1c208c0b99cd008d67e8c9c1d118f7b2c8c354b4dcf740554fc2474ff93b8a7c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/it/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/it/firefox-84.0b4.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "d895c87359cfb98e236c4b5bac92391528eef07a45dca2d067a7d55fed4ebe7c";
+      sha256 = "cac410ba1679d27565d63d3a70920d3ff262b6171dfe732c3ec7ee88d3386b14";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ja/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ja/firefox-84.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "30dc7aee461930bea42c9f2985ff766f4aaf3ec0bd7f09562626b155bf80f202";
+      sha256 = "0b8c20ac0a4394c8c4a106e65d83718f639453e10c54906da04f4da536a218e4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ka/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ka/firefox-84.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "d452668daf3b5a9f0602417822f7581183dfd5dbcc5d770afa20e1d61d557003";
+      sha256 = "978aad2d0855ed8e364faf4a0522d7271bbd134c699da515db7e5c58dca79d49";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/kab/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/kab/firefox-84.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "5e828a4f6abbb80c7b575db2a70ddcff0d734f11eb9bca55c2b8d00f08fa6497";
+      sha256 = "f32b2f9cd504a6d4d5b5d2ce47368cad4317cb1249dbd7d925d0c48098fba8be";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/kk/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/kk/firefox-84.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "994e8ccd626f3e640b8a1b687a22ae6e3943b25995278f3333b6814ce61185c2";
+      sha256 = "38e2fef40b71d50b85be7a2d2c44bc0b0bc569410782119fbe07aba00c8193f7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/km/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/km/firefox-84.0b4.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "a63ad9f77f01523dfb02eb6c2880a4046a556bae6d329a5e5480aa3eea0aec85";
+      sha256 = "c8a617eeaba39e138676c8412594329b00d372c40a0401a77e5bf974a407a3b1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/kn/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/kn/firefox-84.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "5396452efe004c7cb57105bb7134875e073f822927a98db23e96994e11fc7155";
+      sha256 = "d1f19e2edfd1ee97b13b8e42c22f1409174c8fb4b024612d27cbb3ab9586ca1d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ko/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ko/firefox-84.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "a0bd2586531902121344b7c70e9ec9ae4e08514d2c467a17664701735f8d74ab";
+      sha256 = "8e1f68d6bf97644616e8d8a39443061fe99df088b42e5218beb823d8cd18b8e6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/lij/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/lij/firefox-84.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "ac4f16381c71e3a4f00c6ac615913cc7d5eda77dd9ca337b9a8ec0e63a2e9176";
+      sha256 = "ba22770bc65b0033f424ce30df69a7d21a728245230696b412baf44aa9a111a9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/lt/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/lt/firefox-84.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "bbeda439051c1ff43ba08b95de57914237e7b9845fef0d92efa02265cdc81961";
+      sha256 = "27ab65ac4ee08e2714ca7c493a4575352df4a06532773197a2bb3da86e9a18c9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/lv/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/lv/firefox-84.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "bb500de9c32241a7e28828e3f9b89427be1a54475d7b05b9c678d489a457c329";
+      sha256 = "4a8f6944d9b6134d664e08eb404e130a218497b4957437b56e4487a8bc205ca5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/mk/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/mk/firefox-84.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "5689b2805b30cece9f9757a1869906529a7094b4a9de5d5180a5bea7582606de";
+      sha256 = "885893b0a9ef75cd623f21c720aee07357ff3b4b21ccfbe456fc11928ef7037f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/mr/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/mr/firefox-84.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "fc5ec6938f33c548f52cfb90f8a40b342bc9b4a7b97c3fcc1b3cd2aa5a031270";
+      sha256 = "55aa8e1e4b61eb3b9a26fe9abafa804e7b6d34ac1f36efadf10ee13d2cd934a6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ms/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ms/firefox-84.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "374e2a6ea3c59c7f985606f2e631294b57e20d7aff2bd8256ef9c91189e960b3";
+      sha256 = "61412fde864addb40fa2d0ab42f30cb9a7e1887cd130ab59880763d675b6f7fd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/my/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/my/firefox-84.0b4.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "d9058df8893da03a707e549d9f133942fa71bf51e06c1a654f3ac588d79af82b";
+      sha256 = "cd7190acda6e20c22edcb99c88c15e87b4676b2dba7de0578d2ab32a22b2bc1b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/nb-NO/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/nb-NO/firefox-84.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "11019961c5378bb86b45b2c6d4b74ca1e41e86aed500ec0cd73fbe1785ef7742";
+      sha256 = "97f16d919eb8321c71864daba7accfcd9bd86d4948bc86df44fa86a52649ad8e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ne-NP/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ne-NP/firefox-84.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "de45c606c961a38c84196cab1827089b1b22e2dd0c23302ce57bf9fcbfcaf82e";
+      sha256 = "4ebbdfb4c75621a24b52853c3d94e178decfe3bcaaa1f8f92f42bf91eedd874f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/nl/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/nl/firefox-84.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "bc2d98ae8f0fcc608d55b394398c45c1bcfcd02956031ca4762cc98d265916d8";
+      sha256 = "4b14585bb554bc346565a69b6a4c10580345923f8e4dbda8b202e6b9e8cf1452";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/nn-NO/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/nn-NO/firefox-84.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "b7c1d390a8bdf295ad8951959fcb720f977139592ef0f669005dcca0e6cbb19b";
+      sha256 = "408f34fb48fe1fa93850857118fc4ed972139e273ed2521cd9f7169f8d4148cc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/oc/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/oc/firefox-84.0b4.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "a61a765b698f48c15cf07ea424e8e69be7630261a94c6514fa739974b51243f0";
+      sha256 = "0f7e1e4df86a931152206159a9f4e99b4241377c5545fb343eff86cd21869bec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/pa-IN/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/pa-IN/firefox-84.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "6721ca2f49b60f5ff1d86e0b1c9a1d6107c5d701b319a2abec7b6fcb9f845d57";
+      sha256 = "c7f85ae2c46585cab0aed8c41117ffd686fe0dac6e0ba64eb41bc22d4b8f01c9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/pl/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/pl/firefox-84.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "a77c0c05be64f027d25feaa75a788c630dd7af831c0c2fa334db7c36ac340144";
+      sha256 = "2669e61a0d7da09684230c67c6d43091b3b51e12f291259a62c72ce124fa4c3c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/pt-BR/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/pt-BR/firefox-84.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "2baf74be32eec18bb235b57ee3816a3c9df916bbd4458aab1613af864581a072";
+      sha256 = "10ac3662c49611f73fb96a13ef464c27b4ce08c25f0f44e253e6e5ce2239a45c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/pt-PT/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/pt-PT/firefox-84.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "0103da6d53b4a9e9512b8e3b90e583d8592a5bd02f09aedb90f49b1ce73516e6";
+      sha256 = "a6e606c6d4ca032653b46966c0b90e001474907424f4fef46669e2363ffb89f1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/rm/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/rm/firefox-84.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "5dc1ace0d108460d6a57f7b158a1640d822c4e07a2e4d108db9f17e63150e4a1";
+      sha256 = "a8a8ee42020f62b38c125002ff6b5ad975d1a24df4e64f354f58fd949517e3c0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ro/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ro/firefox-84.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "1e2ee8f338625bf95da2914e54b22e1a052cce955a92102163e67cacc41129b8";
+      sha256 = "f405c06f8041e4c90caed14e7d6fac38467976fd71a214f06eab8c2113c386c0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ru/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ru/firefox-84.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "c57cda1ba6e8895044fbc55b37eb5e241b02904f69337a6430b3b9fd47a57fea";
+      sha256 = "acd2c0812a24b301aafb1278246495b07e346fbd9cd699da406b988dc3d393ee";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/si/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/si/firefox-84.0b4.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "e31df32be4babb9b1eeb5f6a5a44d1c94b07fd5c4bf70d8cc78d4061e1e790a0";
+      sha256 = "d444818f1e76a01a1170209497349331175ab9a761c27b31ddb89ff4d542ab9e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/sk/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/sk/firefox-84.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "0630c3c617d1a646ab0acdc0c18346ac29066a8a31be9995f96e5daecc74bb24";
+      sha256 = "f2f3c9c4888f0055c10d1aae6cb1c40cc7f4d2bd1653e846768326e11b6ef2c6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/sl/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/sl/firefox-84.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "65cc9e3d0e6af8743a768cf23b1dcb281d5ee26cbdf0fb2f0639cfe032f8cc07";
+      sha256 = "aeff79d992488895e47d3682d6b3661cfd1a86d39aff8c91313f057838075068";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/son/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/son/firefox-84.0b4.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "7f25deb9d71b23647722745d813e8e115e0d08190811efa4fc0b6456ee5bc634";
+      sha256 = "860900ac8f3fde5511a294a4f41e553d4853c4592d4446441399fda78a91898a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/sq/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/sq/firefox-84.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "e103461a63337bd7905345091edde08056eb267a522a205d6308e33d477f7d49";
+      sha256 = "9122e1837c732b8cf242f211937b3fc445b6a48da3db01cbaa4a0d00117848a8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/sr/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/sr/firefox-84.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "cfaead5b0913dd265c18e42793a2a845aeb6e421b6c54a0f979bc80cd7a6cb18";
+      sha256 = "a3c15061deb11e870d83138bf65beb5a838cc3ba96d067d3e72f816f818da3c5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/sv-SE/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/sv-SE/firefox-84.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "7343ae52dc3f85d35264fb6cc86daea45deed4cc3b7c3dc3078afdfde9a48919";
+      sha256 = "cb3d2dcf7d80501a8fa38c50d0301af9562050bc64250cc1c6208467990795d6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ta/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ta/firefox-84.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "389ae6d8db8280f74944c2c5d61dc031ba4ae4db792c1f851ff72ebfb123b17c";
+      sha256 = "4ece8a45e79aae6e535d56370f8890c5d3045d0ca78bec67fe848367e518339a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/te/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/te/firefox-84.0b4.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "e49d8a521ffc7087c8d75f5ecbb9f6c010966c9f92dd4c105278aeeee1eee865";
+      sha256 = "70996e39e5b38f7def90f1eadbdbb294992e4ad27a49d4941b3982a0d3f8421b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/th/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/th/firefox-84.0b4.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "a27ff17d3bd090cf5bf798465dbeb3e369ea03a738729b748a0b03bb2d0418f8";
+      sha256 = "36720f87e8b3ee23f15ff48514931747d05638194e9b13b30017e601b8a5c905";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/tl/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/tl/firefox-84.0b4.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "5826bcb2683e74bc5588c7b12099d9d2ac70ecb0026d375bea92d94a3f381f70";
+      sha256 = "d433a22f97bcb69570933b1f371c248ebd2eb83a217bcc1989897c08175cbcd0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/tr/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/tr/firefox-84.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "73d79d2dfc0c7ac86566c1d41a6cbf6367ff57a6c5dcd459e1994d5bb8290fe8";
+      sha256 = "0787dd09f287aab492610d2ce23d0be7bc3a2158e84d7e94345358a750ddb752";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/trs/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/trs/firefox-84.0b4.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "a8b7cab92a7b449ce57a2eaf6a447e4cec99fbd8dd43ffe36dd4b87cd04c19a7";
+      sha256 = "4d3bd35ed7c43eb502f482bb60da0dbf14714b35e2996362c835a0a35008308a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/uk/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/uk/firefox-84.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "af59707ac1141ed356a9bacfa116d0a65236352f6bbbddd69e8544a551064782";
+      sha256 = "8e1c371acd0bd1762c715c8e36dbc8df104351cbb3c37fab64c72b55bc98f006";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/ur/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/ur/firefox-84.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "4a6068c0384b69592312bde06631584e612fd1f17d0af4b71dbfe38fe19dd413";
+      sha256 = "14b6149229f49406755a5ee308e0e120964595a1f9a7f2f7e9cc2979a5cf561a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/uz/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/uz/firefox-84.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "a6f01fd45fc403dff8a97be0bcdcd2837eff7880ad039eab2cb31a2eca82c6e9";
+      sha256 = "a8adf840548ac5974654234956957b8e53f3e36c83cfad4fa5c840c16e9e4d5c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/vi/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/vi/firefox-84.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "b7cc325a09e7e5a6097c81055eec760452ebff160af5e5f9b7a790a2d3fba53d";
+      sha256 = "fc9b023caaabb3a5a18a21a2d65195a7dc7b2655a5d9a1f4c75434cb1f02e4da";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/xh/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/xh/firefox-84.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "64e6d44ed8b07fefb110463e1003cab01503a52bcb72c76d6030325cd6c796d9";
+      sha256 = "940b4e34e92a0efa397d3944fb6b8c5afea57f29355c9f9621accb557efd9860";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/zh-CN/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/zh-CN/firefox-84.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "11312a9a212159bb929df04217292481b9aacdebc50ae941729b37f9c7c8312b";
+      sha256 = "b1284ea7ec8e42c6139249b1958380e672dd19e7b8c21d95e256e0d3265bd095";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/80.0b8/linux-i686/zh-TW/firefox-80.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/84.0b4/linux-i686/zh-TW/firefox-84.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "0b3f5974dd951fe9ec988c8608b186a2d5ebbc397fb017d587e869cbe4dcc74b";
+      sha256 = "ac76d109c7817b9c06356918860216a3e2f4f776a31a8690064593ffc43139d9";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/mozilla.asc b/pkgs/applications/networking/browsers/firefox-bin/mozilla.asc
new file mode 100644
index 0000000000000..dc58eb8d56ab0
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/mozilla.asc
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 57d1b54937ef7..431ed105f0dc9 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,965 +1,965 @@
 {
-  version = "81.0.2";
+  version = "83.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ach/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ach/firefox-83.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "2027512d879c1606c68adc4705936273ae7416125e0da24e31fb6381884c8bc3";
+      sha256 = "cea6ad61bd402e6c84a81a3f504f1b9292079c9d48d2353b51db4f03a8837fb6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/af/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/af/firefox-83.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "17afbd113ef486b0d584cdf40dfa602a0a489e6674e9e326b311f8adc0537951";
+      sha256 = "d4bd0a9579f38d53f559412cc3cc04f11871ba22c81eee54dd9ab16c56303513";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/an/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/an/firefox-83.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "d3d6217063881911fb42aaceae4faf51c0a7d5fdad1c79c97238bb05a1498d25";
+      sha256 = "10741a6921210643250013c45e9e21bc295da8e41f2bb5c5fadcd86c0e828c80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ar/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ar/firefox-83.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "d47411a35c37b4ade51e83b5e222b6b8e776fc1b7c4be025310a8fc34ce9c357";
+      sha256 = "3fd4aeef281e5aafdda572d4814e70295c018b7fae6d214c40dabcac367ace69";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ast/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ast/firefox-83.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "43ab6cc595bdb0d821c0a94c5e7d099f7be598c98dc96b1a3b5df5e7403ef7a3";
+      sha256 = "237e8ff5b3fbc9d7c4095951ca014a5c26cc076305aee705ca943d81e72541dd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/az/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/az/firefox-83.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "b326bf5956c540bbfd6e03498cde99462b04a5833b56b9246fdfa48b49737056";
+      sha256 = "79ca0c798243841cc34281f917aad06c2f546a5e11b443a96e5030aefb8de9b3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/be/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/be/firefox-83.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "6bcb3e79504c685a440768eae2b07cdd5c6bae488c272e5990229ad942eb56dc";
+      sha256 = "c15b0f929b3e3c6ad5618ccf6f9f6b143f893b6f77e176b52ecc608ca3157ab8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/bg/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/bg/firefox-83.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "9182efef254942eb23ed1d5eb18babd6ea10f3c7998307e4f86847bce6141088";
+      sha256 = "fd2094c59a057e8c35054f7d09c31699aeef927cf9688a87559a8ba69a93f600";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/bn/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/bn/firefox-83.0.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "a1619499d5d994dfc23af432a68722230a7342a06af35fa1af14ac441134a8ae";
+      sha256 = "c9755c408ca1a4f426f1432339020ef3d7c675d426fae9d8697cded4c7d493f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/br/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/br/firefox-83.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "ee6efdf5347fee8faaf007b13d442cd848b23d14ddfff0d089d4ac47b679aba9";
+      sha256 = "d47b889d31b945a5b768b3bbb336fdc43d62c9cc86f13916225cbfe68a560972";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/bs/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/bs/firefox-83.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "08f44244b8d29551af6ac20b8b3e046ea39d3f0bd69a43533e8c4779488fcb86";
+      sha256 = "c36da445560b989ae9cf16a1ec72cd2cae82db670f90d27abe0499f8cc025eee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ca-valencia/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ca-valencia/firefox-83.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "b6c44812577fc2f295732aaf33ebb68f3b588bec85fe9d54310bebb80ae821e3";
+      sha256 = "ef5ee80cc0d6b1b299bc8bb6577b8e26f5de8b541530ddda231e2fafa863e6a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ca/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ca/firefox-83.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "6ef86ef2e82bb3ff74b68239681b804fdb8f5f3e89894b9e0860973d7cc85ea8";
+      sha256 = "7c349aa7406899835bc9e70893f28c8109e17ee9ef018e7a723085117f8dd32f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/cak/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/cak/firefox-83.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "b468e0390aac3751a25cb8d2d130242a39e58c50dcdac2e8eb61e5a421d15bf2";
+      sha256 = "3e7aabe665ce423bd47e7d0474039d7bfeb9958849c18e98c37f28def5fae1aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/cs/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/cs/firefox-83.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "7d8a3069e54914cf46b990377a0b192969aadfd214e9fd01e0d6bad711b4ea03";
+      sha256 = "97d5e4c255fc87430751c81edc62186e1b4ec901ccf17bfdad7a8ef918077bc1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/cy/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/cy/firefox-83.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "c0b8ccb2471594187ef865cea477c364299314672dbd332f795044e988545c52";
+      sha256 = "c1856b51dedc5788b40671faee8f8cb996108eb514d1263de998043377f2f7c2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/da/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/da/firefox-83.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "c7620a8177276045ddaecd4ee6223ce06f8dea52f6a1f530c3e69d8d90e2a794";
+      sha256 = "990da1f47d04ec9200d41fa401b23d9607a8e4c11d7cc78989e81785b9633cb0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/de/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/de/firefox-83.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "6ef5723267a6e5668b49111756b6b3f1435f765c4a69fe84e5e5a9a91160188c";
+      sha256 = "94ad875d88a18f24ae38f20b324d074a367969368e660ea2b4b0645e31300c94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/dsb/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/dsb/firefox-83.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "d92e94a8a8a9b91b273b1be46690b9bf1100d05dc66be4a7148bcd1561079ffe";
+      sha256 = "c3edd46c44bae1b00803e587e6f52560b28ddc2fc935c1fe62714bf16fa72d80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/el/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/el/firefox-83.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "5db2868fde7014b576f77afe3a2a003bc877ef1cb223f152f6a938e56e1d56c9";
+      sha256 = "3572a260ec17f76631ca627747ed53d1911ee1180d3e574051b3baf0afd9dcd1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/en-CA/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/en-CA/firefox-83.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "38d64b0a790ce2d8b64ea2b4a4968010c265fbf138ab22e78abb332204b78808";
+      sha256 = "e3c9363e8b93c625234624ac5c3ab0274055c5b8f4f854da955409b9bdf28d52";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/en-GB/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/en-GB/firefox-83.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "a87201313bcf05887515ef8895fdf12824be3f60202e33cd033da4e68f3f88be";
+      sha256 = "240a732c034bf2ac286cefc33b02b56df205c4e175457cd84adb7666418e0be4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/en-US/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/en-US/firefox-83.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "fbe58e217adf35f454684658321c3d49287ba9161308615e0e76e479d60ac176";
+      sha256 = "93ff827fdcba92ddb71851c46ac8192a727ed61402e896c6262943e382f92412";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/eo/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/eo/firefox-83.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "f8dad4e491ed00e28fb2a923e0e8507e16eceb8ae111661e73ba59625d292c12";
+      sha256 = "456933a6c1fb1e6ad5b2217a7e3730bd54ff037d3d718414b2c92557fea3659d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/es-AR/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/es-AR/firefox-83.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "e34f82a15a91d2aa1f70eb7b2792fcb4eb31fa86c320aeab906b3a80b93822df";
+      sha256 = "040e8a4a74b8bc77e1d485c3376690f4c5ba85015b360f679ceacd848b0ca574";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/es-CL/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/es-CL/firefox-83.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "a2edffed71f6fc8c6ddb4064db344b8f0f913f4aa9ee7533eb9b3632179c24ec";
+      sha256 = "80e8189ce09c736af1d9927d4943e08e30bc70e9aa7e116f150f14c0dab3fb15";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/es-ES/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/es-ES/firefox-83.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "590014aa1950faa1ce3a56ce1bd3e3ea3debbe9c7fce54ac3ae58065a90442b3";
+      sha256 = "f48489abac5358a10d8ed36b77398493b6a9189a8327bf61bec6ceaca51ab696";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/es-MX/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/es-MX/firefox-83.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "8cc10d2ac6f11c4b23a1645d4f17be6b756278e8c488c227bb112d33659115a5";
+      sha256 = "0d4805b30f05fb8a65b81a42337a8a3732c7664b322557e844929d2b049d0111";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/et/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/et/firefox-83.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "802ee1e69296b55021fd061f626aca173adb2db01b488911ac1faf7dd54b6ccb";
+      sha256 = "eb4a463b9271fdde45bddad28ce871953739b55126ae5613963a69a319908fb2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/eu/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/eu/firefox-83.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "90c201828df686d66a0450a44d4b85f6da2d09b56c7a51272b4e6708d6cc01c4";
+      sha256 = "3a662c575554d3a542e65950352c527cc51e82ae7a8f9d7ca1b69e30a683731e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/fa/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/fa/firefox-83.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "d4bab27a1f97cc51f43ea990e215cefc360a4af4dc47e95c109817d98d44b8f7";
+      sha256 = "b5ad3a5d39674d60b6e97cd656c77d7d2fb90943a66a590a29e4d42ec1e18c42";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ff/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ff/firefox-83.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "64b0dedb6508f5e3d30534a0a3c626d85de2dd261a8a9dda9408dac5d127e63a";
+      sha256 = "2db83d638474186f52fde5fe1ee25201e84b198e44397074203d7ce50e23e74c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/fi/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/fi/firefox-83.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "48052f288e1416b7e144cbe75f5a1b082410476223d8e786b82a0b97775622d8";
+      sha256 = "98bd9c50b5db43bf5fcdc829aa295975d3ec106bbc598fda3d7f26679c0ba08c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/fr/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/fr/firefox-83.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "0113b83bdfc3524e492f42ff8b07f3f8c9c2c195b876f5fb4f085de19e9a74eb";
+      sha256 = "ab3427f5cf7cc88d5108b8be21806197420bd775f33d3f2dc983f0f4dec44d5b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/fy-NL/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/fy-NL/firefox-83.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "eb18e773b946808e72b0608d6907b4b98abd6daafeed39d7e156f3252f53724b";
+      sha256 = "9f21d91d1529a05a2da7ba29cc8e875b23ffb4b453077b5e899133cf31813397";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ga-IE/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ga-IE/firefox-83.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "4bf3dfc73fd8d62f2b9d56bf14695103498df2979f35b4fa6d41f98b5d447529";
+      sha256 = "4c22b166cccede0bcea4e75f826e100dfa4f2def01f904fbffcef789d2d61695";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/gd/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/gd/firefox-83.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "c91b4c60e138fe63da554959d025b0aa593c09bdcb3e88fd55790016fd54bbf8";
+      sha256 = "6ca04d381205121dc695dff78ff646499a21976ae64c110763845eda0598b414";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/gl/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/gl/firefox-83.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "540131786aa643a3e23021df03d67457793a43d8c03a3e27eb082736975b1277";
+      sha256 = "d08f4ea821af5e38c21364037c17b8c97c775d60f0697eb0817dcfc7c6d4c7dd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/gn/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/gn/firefox-83.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "4d9de3289b2135a37fa2dfa456263ba5da657207ff188812c08161af0af9c13c";
+      sha256 = "90a8b2fdf1d3471311671761e81637d6771a61744eb480c0788cf03d295c30ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/gu-IN/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/gu-IN/firefox-83.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "57ede429790fad8bfa2898e432534b87e60add0303efe5bd903aefdf9234d1a4";
+      sha256 = "bfe65e5c9795ecdff4dc947d2e2e84d01da894b0ae55c08d73f9397c5730ce17";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/he/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/he/firefox-83.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "7c8bf0cf1aadb37683b8da0cfb7f7e70729837daec5276dba5a2aa0fc4ce32b8";
+      sha256 = "2dc01c5a929aa79056a66feb522d50cbbb567bc85589f8106e553c9ddfc02a7c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/hi-IN/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/hi-IN/firefox-83.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "9485b287fcfc2253b0caa052566f56f16b25cc2c9e425e679236c5d60c73a037";
+      sha256 = "ef2a61dce3ee713a4be3cee5a9dda8498095a7db69304a7d6585ac674970958a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/hr/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/hr/firefox-83.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "414b5d06a4477f35719f91e8a987298dbe01127b4deb1563ecad894d64cf312a";
+      sha256 = "ab8357cc1f36965ccbd6f4298ffdbb3d77b09cc4b789a3be708d2c51468402bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/hsb/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/hsb/firefox-83.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "9c2d4430888b79365069371792904eca41304e1ddcb933c27f7a0e65791f97b8";
+      sha256 = "6a34074a96be7911672b7e83151244f1f963a8cc8930c8d1d113afe8a49c9529";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/hu/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/hu/firefox-83.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "1d71a42ed1b367fbfa2a055dd0c92d87851a82099f6238829425d4804a9dfd12";
+      sha256 = "ffec1646df872a757b771a03c00e3e6df3397e7f4af46bd1d6c0fcab242b1721";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/hy-AM/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/hy-AM/firefox-83.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "05502981476151c5d3ee598d983e6256b9ff1cd6a6485c98f3e35916ebe5c7f0";
+      sha256 = "1b9da538ced466302584fef4ecf415aeae5bee51a87d38bd0a6bb3ea155af66d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ia/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ia/firefox-83.0.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "7dc8287a954368e4c1e210ebc73ea1a76655112e2eb574782a8e9d64e8282656";
+      sha256 = "5f8582508155f858c7e52e623579daa7da1aa77bb4e41c2c46d3e6ae8ace6b1e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/id/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/id/firefox-83.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "c598207fe42804f6fe91390773622478f4a1f7b5aca97024d30e4125600d28d6";
+      sha256 = "e5690dcc6b933ddbd27fcfb22f8ab9fc4e4c999d935b6088da38c87af2c567d1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/is/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/is/firefox-83.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "19cc1e787f2d04661c93cd70631e450bf47882132aa2faeb8a976b41742351df";
+      sha256 = "3776fe6aad623e9b74807a48e105d1619143e78e122906360c4efbc73c2891ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/it/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/it/firefox-83.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "0aae5bedd2b9c1d3466102c9430ea9539c25488d762927b4dce567806add95c9";
+      sha256 = "eb54c4596602150c619db6d0d5572a59f7d9c4def68a34cb874cbc6535939e2a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ja/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ja/firefox-83.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "569062d4b226d31bf241ebaa54713f0b1fa6d79bf8f386f6a2484b30d6e75516";
+      sha256 = "54b70bef0507611ad1ea7560668b46385661b5275c7a0ecaad723db44fd8af88";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ka/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ka/firefox-83.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "86b364cdb8369746dea055f199c61a673f2e87ed64b3b93d41aa1fa5e1f31ef9";
+      sha256 = "56e72349133297d61dfdec4933a01c2cd8fa3d0da3d784e0598506c2db05938c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/kab/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/kab/firefox-83.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "9d493ef56f9cb7ba6c3b92c255351eefb77744733bae0b09434bee06078802f6";
+      sha256 = "45f554342449405990c84e910dc6436489046acd00fdc4a0ddabb4b28d7c1284";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/kk/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/kk/firefox-83.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "7a2b9e691cd72b6079c08e35f8b8c01f505e1a7907b92fc0aa1d282987efa0c0";
+      sha256 = "3463c4ea5df4e072dfca22e8983fdc016adbe2326bf186a0168ea9ee2c36b3bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/km/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/km/firefox-83.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "62e7f5edbe74712387a591bb89e1e0244beb70e4e00bcc8fc661ef11c48cbdc0";
+      sha256 = "3bb7d2c3e5278d9c51b87d8140096ae01532e99160b866164d1920fb012c085c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/kn/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/kn/firefox-83.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "8b17779e67706e4284d8417124e2c05aad6b5f1a27db671aabcfaaddc644b141";
+      sha256 = "c9086912382dbff66045c79130403385b9f075bf782220aeb84f03f62a563638";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ko/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ko/firefox-83.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "f63b5fd71b0808d21f344c67d7b7967d1b952f2530dd4c98e522ae85abbbe724";
+      sha256 = "6f70169cd58ee1559ab224c3ea6f5309bf75267d9f315e389b7971e8e1feed09";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/lij/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/lij/firefox-83.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "ff791a959cc134be0a1d9d3c6e275610fe21e4e83fd0d4bfc0629569aa4f235a";
+      sha256 = "0b089e6f7954f4d99e9e59bd25148c4be620f9486f8d36c3db68fec5ea700d94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/lt/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/lt/firefox-83.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "fab08be7d08b6cb42a81743da797d7f89c6c6f7977c2140bd332c836ed83c78d";
+      sha256 = "b76c545aad6e5b66bd8ab34bf02f7d4f69ecee348381b16c271f4de0243c660d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/lv/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/lv/firefox-83.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "2872affb0559ff68f1755b025da984e2b1edafed0a081a2f2aaebeb42a98394e";
+      sha256 = "8504d5c00c5569f008b2e308a9193cf62130e89a6e61b33fc842081e4d504322";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/mk/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/mk/firefox-83.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "5515928977539457db6a0e619486eaec66866b3b5bdd92731e7df2671cbcf437";
+      sha256 = "636a421f6238de1fee37014c3af147220af6a1f3c04e2ce6ec9dd17898bc7c20";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/mr/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/mr/firefox-83.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "67de1cae2a3238a2ba62bb0186abaa866b138274f5a6ece030c0f94a2c33110f";
+      sha256 = "1e00d369be11ad8bfb2dda0ceeb3b7b516fd66427d9e85bff4cc1d699ff3659f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ms/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ms/firefox-83.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "33437a4835939be05d051a5403b5496abcd8dea764db4d1ade11b2451aed8524";
+      sha256 = "0590f2bff7e43b9f6c081d57276299f8327df73415a8e2a2243e3c4ec9154200";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/my/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/my/firefox-83.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "ec709e861cf45bbacdd9a69df2b5a22b4c4653969539b5359befa4073212a504";
+      sha256 = "ae43f0e8d4ff32274b25a1b78e0af44446ea6989edc4eb3c0d9fae36fcf80908";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/nb-NO/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/nb-NO/firefox-83.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "af41f350b8442f3618fdfb997ea40482f6a5d4b6e0c4cf59e397d37f52f3df0c";
+      sha256 = "9c3a74fc7670e2202be1f4f75208f0113c115169ef70614af631cf16879e081f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ne-NP/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ne-NP/firefox-83.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "49b42f070ef75a92583a2b74d8bedfd1fd3bdb721f0330504cf1d3e3a1e06ec2";
+      sha256 = "d830f802cccc7351a447fc59ed64562cac1521d281ddf218c84d1c9af8a65cb3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/nl/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/nl/firefox-83.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "356fde435cf8c114ef3d5bb16a5e24123d7898bb1de1539ef38d589ac9292489";
+      sha256 = "ecfd03850a48ebf7c3ec9400838100514826b8f35744b0167f61c9086893ae66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/nn-NO/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/nn-NO/firefox-83.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "c6f403be62dcd65eac4b26349ed8bf4b44e5b43b1d6cd82b15fc327a85c5b18e";
+      sha256 = "ad0e4a89afabf1929d441129066dfcbf532d37da31c76bc79108d123cf5cc649";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/oc/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/oc/firefox-83.0.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "d6200285fcb916467b1b05e85e595dfa5e94f0f0a20d71824ecefdf12b215790";
+      sha256 = "9b9bbba334c4d7d3907f55a6647cecdf0bb2cd6294569a0008d866cd6eb70a35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/pa-IN/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/pa-IN/firefox-83.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "7e22a7d4815012a58de31322a532205d0d8276629a3ffa5d8d2066ef3ca2ef64";
+      sha256 = "083266958874618042ee8f2a6162184cd71bc725a994aeb68158d59edb0cafaa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/pl/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/pl/firefox-83.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "35385afc9b365042b498bb30ff330a8ff5556f8cc3c0195f485022f9306cdc8a";
+      sha256 = "cb7c72fdc91cd9269a2e53725a26ee94db0e2e608a60ff1120fbe5c1627814bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/pt-BR/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/pt-BR/firefox-83.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "ad117ed17bee468026d03bc0311ca8298f62f94eaa7a15f1dea58d9cac16f439";
+      sha256 = "a2a188a222fc6054ca59d24370528e8c8d4d7dc8e4ab18f71510b415dde73d05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/pt-PT/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/pt-PT/firefox-83.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "8f609c2fe5ffda723275405a938ab8329b30ca33850246c9d2410db08af66b1b";
+      sha256 = "528e1893438ead94afd4013d3c4f4f51107a5d0c4b6d6e018a0687f0d25f9e53";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/rm/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/rm/firefox-83.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "8130961cacbb7c1139b978cafd29bf1f281a94284f37afb66243a0ee65622eaf";
+      sha256 = "e4d6e53b642da4de5c7f30297c6fec22b37921a55cb744962dc0d60e26812549";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ro/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ro/firefox-83.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "8c4c45960a7ba85ae70f205f91035bab549ea5074f884477d7eb30ca8af5e4ef";
+      sha256 = "04ffa3eda69ea0dfc6251564c4c6bc742d5f8e5dbaf6184b4ee9461226ce5c86";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ru/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ru/firefox-83.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "1706cd12f77a650e7ea7ed6d377ca4e772ae3fb7330a81673a39731853ae0b1f";
+      sha256 = "697ddeb8ec024b5459492ebd652a612cfa1911267071b230f5ea6ac78a1e3075";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/si/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/si/firefox-83.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "cd400af9646bbb08e54069f9748fbec82242c4f9ae973c974bc3499be76a7074";
+      sha256 = "a3256c648ea75ce36009306a3c039af228e645ea2e54361fe239ad0cf0869ead";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/sk/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/sk/firefox-83.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "6ecdf6b3b1ce634cd048452de8e5e6128cb3d474199dfbd5fe1f66a40825c05d";
+      sha256 = "1ae0f898d34c74ea427228d93646ae47990834d14bc4f5563427409dba066f8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/sl/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/sl/firefox-83.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "a77a56f8b35ac4bfaf81ed9c3846ee392b4a9198b469320e9978fb5c1243db0d";
+      sha256 = "9e14b4ad7bd9a8026074e0a3da3d3ba74dbb1be31a2e9cae787802d090c7a965";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/son/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/son/firefox-83.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "0c04af05d6ec3f2423fc18a2315708a64db5e39008aa8f50c487b3e54193dbe5";
+      sha256 = "1b928ca974133a346950ffc663fbed9d1876a4c0bca53fd807d8077d031531d5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/sq/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/sq/firefox-83.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "479e7da75628821986e3840848a739666830fa37e692b53245bf164357a76528";
+      sha256 = "7bb9bcfe490bf5d577e55e9b612c932c93ac58252cef592b2af39c17987e700b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/sr/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/sr/firefox-83.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "5a272d8ab250abc196c244af90e566039d7a351ce1b8503a8b69a6b804526544";
+      sha256 = "90e496a5fe9c5d8c38dfcf5a1a07ea04be983fe78c68cb13a2b99067b0f02e7a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/sv-SE/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/sv-SE/firefox-83.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "5c48c2eb6b737df23f16e761c2db7a344ef0898b05fc16ac73d9430a8d7b4350";
+      sha256 = "eab8a1e51a90d36b58901db6175e724f38afb91270b05c51a93c03f8c51fe432";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ta/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ta/firefox-83.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "d54572f034c437c1fb3ea3148488574b32bb66e6cd0f0d83fdb0565c2876569c";
+      sha256 = "bb6d49500393d20134a6f749a77de1fc4cae2feba4e49261862f8a634b4b9276";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/te/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/te/firefox-83.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "7672b53550f83100a247bfccd4905675e6572e5fc09fc9d3caa97998cc9ea65c";
+      sha256 = "a1104e292f949976e423b587fe9728fc741b7a11e276e7d747afd3a93abe3eb5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/th/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/th/firefox-83.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "8c5cfbed931ac2777742f34563a873090d4dd14cd512641c2ae2d1acac440bef";
+      sha256 = "403e4a86b5f95cb22cdb2100372c55d92fcb4708e3f719da72b643637c711458";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/tl/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/tl/firefox-83.0.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "1b1b5cc2e47bf3d5940f7ce16f732f449856a3b98ed728a655db6835ec8d1f31";
+      sha256 = "993cf86a1b045a477fd4c683e503314fc2aea5a0a52f1faaacd18a0fdc5c7def";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/tr/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/tr/firefox-83.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "b71b7a3d25446cba4404d8310996e23f32c6801a60e9e427eac586e3ce09cff3";
+      sha256 = "8e9e96d0b1a2014dc7374ea893fe72bc72f3840742d305a6e73417468dd6245b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/trs/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/trs/firefox-83.0.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "b71df436eda4dd757de7b044b333fadfdbfeb180990c45fc3ad310c2a325f851";
+      sha256 = "3590ebb4c888cf92ebd615df9eda2413fd0a3031293d68809fef74fc92fa759b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/uk/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/uk/firefox-83.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "5fbea5aab96db69ebcc01040e86205bc212b7a0c8e539620001e2f95fdd4c060";
+      sha256 = "7a3a2bae67ddd2afd2d6953f5f045a831595ea29e5cc6ad7083b8ac89e55917b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/ur/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/ur/firefox-83.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "de3de8a70d155283f68baaceda50309312a2737acdae1c306604203a587a047e";
+      sha256 = "445a599ba623d8673d71f6ebde70c64a93e28e57b6859e325b0151240f1d49e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/uz/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/uz/firefox-83.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "faf6887af27095f12e9927226cb1d82a76caac0d61a6515e96ee2e6a4cda54b5";
+      sha256 = "b63e6c1c6afdc3694ee1d2b21175f4a5603c4454e43f0a08e87ccf800862b6bc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/vi/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/vi/firefox-83.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "010d1032acd48a36048ab1c90c854a1f617fd58b0e039fbcb510c13f9e8f6497";
+      sha256 = "7127340d189ff601f96ba6f5e6a6175d850e822599e10762908d406b2174a256";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/xh/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/xh/firefox-83.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "de6b89dd029b4636bb660cc0bb5f64dc6430f93e2321ea3fa8f6a309ca70b0da";
+      sha256 = "41772e457eaf385230086a461033854ad214b4160c6f99f7eb6c4df8dd137dc5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/zh-CN/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/zh-CN/firefox-83.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "a9d53780dc73f7bb435ed4d32d2322401fb6038756a0a0dcea5bbb1815c74cda";
+      sha256 = "013fe88aea216fbc4de9fdaaf559d65678ba389049bcff896540dae8d0a9564d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-x86_64/zh-TW/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-x86_64/zh-TW/firefox-83.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "d7a24a82720421a691e3bbdd69353d3159b5e6f1b78d056802a19e1bff892096";
+      sha256 = "7e9eea2a326842f652aad4995f796af9550d03c034587d171e4b2a33da934645";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ach/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ach/firefox-83.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "92bcb64a683b40a136f62210c328f679b3d1a4672826121d60aada840721aa75";
+      sha256 = "9974b19f4f15d9aa33b5432cceea05efe44f31c4123596aca9fb5cd3dd734152";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/af/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/af/firefox-83.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "83d5bc7fcdd6ec58c62ed59a724e30ff0b1efa52efe2284b5fc4c81f94a95b4c";
+      sha256 = "5600ad5fad398648d2e7a2d7bdf7901769fa428f9ef9f79046917133e12a7eb6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/an/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/an/firefox-83.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "1a1164b4cd7a14475e3542940369cd3d539d006425f8ad2695245e8a5ac76f07";
+      sha256 = "d8e0843dafcaf1b010773b83a665fd593741858b60aaba61d4c308a86f765146";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ar/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ar/firefox-83.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "ae16a97f8372cfe86aadceeaf06a5ef89f6fec141e4490fc93201a63e139a372";
+      sha256 = "952b2ad360662341b9281cfdd93a141fe2efd16f73baa4fc4be1de7b8f12c8c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ast/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ast/firefox-83.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "ff011971da1d18eaeeca9925ad10c30c82199cde00fc34904a058285ee8ec4fb";
+      sha256 = "a7728b09f7e96983a031a32b1b938fa362e1a1e58722b37ec03a4048a152f0b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/az/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/az/firefox-83.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "c858bc1382ba22fb8874f5e409c2571389f0f582df61c228791c0e4524fc2d9b";
+      sha256 = "c6019a3f7ef56583445acc5ab310770c937b44182a1bb3ed54ac452e6e19f8fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/be/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/be/firefox-83.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "e6372d667659c032f27b5cedf4304b72cde1d56b90ca2f69cbf1871efe1b5053";
+      sha256 = "12ead04878e308682f04afb6ac9ce9ab134a5a542af328e029cd973c14fe7444";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/bg/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/bg/firefox-83.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "522be0fd41e182cacf8370ce55e3d4081ebe65b5697232bd37b0e3969d59ecf9";
+      sha256 = "7134539d5c259cdf6dd316205b857acae87730ca01bd6ef2efcca75f9d06d027";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/bn/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/bn/firefox-83.0.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "a96512ca0ae0e850e4db268adfa89dff04b9ad4132e45d62cf2e479482c6ab74";
+      sha256 = "a97524e0d6f6f61045b2573ac2fe98e31fa372429f5f53c25fb4cb4d32a31940";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/br/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/br/firefox-83.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "4c2c91fa2b05d6c0fa8c123121654b4a860bfa3c14cbfe0c7a72437aaecd0a02";
+      sha256 = "4619705703a6878fba4de4227d90143abb92237ba556a8c5f4a51c9701671821";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/bs/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/bs/firefox-83.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "02aa8954d864744069f99a434731b7d5b848657eb9ae3c88f7b7593896dc6a33";
+      sha256 = "2131babd061761fa1119a536ae354145315875c5d8cd300405a35924bbbfcc34";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ca-valencia/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ca-valencia/firefox-83.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "d29036dd836772f12b01bde9c9183455241951ecd37dbb1737a3a6a411329ec0";
+      sha256 = "73238eb95ac828f4bc2ac220e4b953b950a75b88600b457bf3bd528245574cd8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ca/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ca/firefox-83.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "e0a79f1fffcc321dc5cc25df1eef7f2ec789b50ccdaf9abe2cfae45c4bfb1c28";
+      sha256 = "73e65093a587c89c9a392e3b65375ad2158c88e2905ab116eaf8da7cc5841cda";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/cak/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/cak/firefox-83.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "49afbe55a259abccd5d90645d54b756033570b0db0e897b61a6bad096e173c5f";
+      sha256 = "7f2dd3fdf1e0cae21a1517286b60bbbabd310dfc0dc18588fbe21ba671e97dd3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/cs/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/cs/firefox-83.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "c24226556fab58ed16374fde899aae586e06fa8d258c68cd29100dd4febe406a";
+      sha256 = "5f639cc6d14b06ae62f73fc01b909182efea32710dfd817be60499f4da3eafd7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/cy/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/cy/firefox-83.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "bbc097cbef8995f847988ca8d5280c10b8486a2622845b3df59c8bfcf6ad89fa";
+      sha256 = "7a3e9921b2e6e407ebeeb22f1ac4b529222a1f5fbdc84c44fc902b8db6aeb1ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/da/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/da/firefox-83.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "90d4acb222bc315ab5912ef5b084a9b90680eeff582efea5400805b7bd09b79f";
+      sha256 = "05dc3274927f692ec3c60f8353a30e2bcb1a36b54f4ddff90407e2818a497a38";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/de/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/de/firefox-83.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "a38be4018216205b8a6ddfdc3308803dc177bbfc70eb3564f32a379ba44174be";
+      sha256 = "c95affb4655b7a0ad6959651cf10090970035c74601ea141366cbb5d44f8a526";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/dsb/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/dsb/firefox-83.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "cfd51d887a50b857040d788c15155aff6b70ec7dfb587c7f57d6373d34ad85c0";
+      sha256 = "c9baf7df51fdebbb2521dd10830f759110a9c92dcdb579fad99d0c4112126e66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/el/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/el/firefox-83.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "3a612c94e13e1a3b374921faa1be57b1a61cb50dfc6437e4798615c6a4a80389";
+      sha256 = "52afcd2037b9cda2c66975dd184276bcccca27833cd7a6da989e32c591a06060";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/en-CA/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/en-CA/firefox-83.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "4804e454ca39369d6d8d067a3eb3e3351aa5cf84742c1e9b76bb895cbcc516ee";
+      sha256 = "375d3a11f236560f06397f157209b1ce476197a0e7b327cf187dc2002d053c90";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/en-GB/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/en-GB/firefox-83.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "273d14182a3b1e912977c002c9eaf760389f8b90bd08c538920fbf551e16d30b";
+      sha256 = "610657a623b5680c2ea350a5f3d1ec676e9dac8720e0e67b3e627e37a58b0ad6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/en-US/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/en-US/firefox-83.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "d12c5d96d5883a9f0dc0ecca65b771bdee61c4994366474d61228d7005d78365";
+      sha256 = "ac4df9d78ac0321f6be266e7fbf6b79d80bee7cfdf1b00c433072d2283c5fdf8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/eo/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/eo/firefox-83.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "9169838db0397ec2d35d76ec7ab96bad4a6072dac5272ba13661ac2588ad6358";
+      sha256 = "f23479cb30cf27fa368e9e04591aad2051eedde5e69d105bfc9ba6168792b44b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/es-AR/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/es-AR/firefox-83.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "a6d14c7062bb00b1aaf6d4118c07fa46d05b8bf39de914fdeaa5a6ce97c781fe";
+      sha256 = "5657636c105d301474cf5d2707733a35ac5f5687790002d5778dffb32a727adc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/es-CL/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/es-CL/firefox-83.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "1927ed60ccadba49b0d7ec1a49f78b565249eb1c9ea3c89da88074fd8f16c685";
+      sha256 = "896f2ac45b98eccd487de64b6c5aa98733d97bd4422dd1a16d02883e3a06c132";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/es-ES/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/es-ES/firefox-83.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "f69768413a153852ce77cd71ad332598a6b63ba779d7fd19f1b4a5bbf9d6d390";
+      sha256 = "9d337fc821dae150c4f3ce26c427ad0efa22c53f3b311b4ce7693b33c9ea4d7d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/es-MX/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/es-MX/firefox-83.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "3beecb997cd5e37a7460c4a9c73ec398b14d249af43588ce00eebd9677575c3f";
+      sha256 = "f9cbd03f9813157835ef7faf9fa2374e488144930ffdec765c370a95a9c72120";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/et/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/et/firefox-83.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "ace910037d8aac53cb62c0a815ca63ae99c041fa33401b32190c483fdde4285c";
+      sha256 = "4f33cbb67003da1b4db4dc12ee2e7b9fe942bc6e6d770608361355ce7fcf8214";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/eu/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/eu/firefox-83.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "8dd80e914dab07934140847f0d28e6c3b2c42153843bac891a3d1fce977bcda1";
+      sha256 = "31970c98d028a83a6198dcee9c5f8191343cd84ec6a7fa032a31730db2cc7b00";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/fa/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/fa/firefox-83.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "5ff9612d84d88e53eb130baa87e31472f8c1dfd17fb9b5456dcd559f8449c256";
+      sha256 = "1125c534f2067e57701fab7ae3df55c52dc10693b069817021072c74b8b9bdcf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ff/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ff/firefox-83.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "23cff8a74feead954a55111e7a09d43b33baea6b5c74625dd1a34986f7ecbb89";
+      sha256 = "ef6c66b0d8a6edce0c982eaee55cd14a4ac4d365478976a0c4f1cd48a6c10c6d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/fi/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/fi/firefox-83.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "02bad588cc7b4d79e763f02e8cef17704d1137d94a22f2de61c7ae2b1f74b9d7";
+      sha256 = "bcd529c0227bd64403dc023ef91459556fbb186e072c12075b705d50293d86c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/fr/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/fr/firefox-83.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "f33ee5fa5744b01ee7ea86645b3b70636cc3df1101572a5a7e19522df575ea70";
+      sha256 = "47c56fe2b88054d97622e9c0ff2043323b7a916da1e11541e96cf7b05c3e7d52";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/fy-NL/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/fy-NL/firefox-83.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "5b32c0bdd3d697f2d0b01d41cb235fb92a422c96e0f2fde1eec1879971a1f7ea";
+      sha256 = "b0ed17e5022b0817d6b4f58ef990ce22774bde875151c60be1f7251ec90cb189";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ga-IE/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ga-IE/firefox-83.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "bd9b2707e1f5ebcc299582e3ebf770dd5393a1c0e577bcb907d569ecde712ca6";
+      sha256 = "380aad276cadff8221e4f675751278ba994e08ddb46a0ebde12d87b741c23263";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/gd/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/gd/firefox-83.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "c1c9a076dd1a92f13a099caf13682ec2ad120b8db9ea401bf45bf59d4a2e90f5";
+      sha256 = "0489ed6e1e9150a0facb4e6fb59bea7673e89669d167806d5651224b939fada5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/gl/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/gl/firefox-83.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "ecf0f9769e011b85c6b4e4d3e639a1e8fa0953eb7b9c8e86910047d23383dd6d";
+      sha256 = "bc41c2b611ecb4ccdedbbf480138a3bc6326106d6c1641d6a06e40f502427af0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/gn/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/gn/firefox-83.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "ac05412736fa6067ad7c038f1721708eae224a4e1538ec4b8132cc647a32c91e";
+      sha256 = "ade8fe9ab75b0a5f75ce80ba0f8065c4b4cbf54d7772f4c3be96886ca166b373";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/gu-IN/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/gu-IN/firefox-83.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "885a2d79e09f74302a5312ef96420f35453340253e8e998ab37db1f6cef37921";
+      sha256 = "bc20ad60eee0e6a3d532e436d9b62175872fcb27dab4c9a5083ed6f4bda5f036";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/he/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/he/firefox-83.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "0b5fdb4085809abd26687e265a7f0296c4ac9d77d7701741ff05055cca793946";
+      sha256 = "a08862d8ebdfa2d6c4f038b91f264c9abe873537d1a7cd2997a1eb4d73bf6f4c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/hi-IN/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/hi-IN/firefox-83.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "d920fddfd6c92c190ae9625b6dc27decf6678d5083a9ffccb16eeadc918d42d4";
+      sha256 = "8ed5b454bdc38f07c79924a1dc08e76e65a48bd671991744a441693185683916";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/hr/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/hr/firefox-83.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "382eb132cc009b6616d1bd437b552cd138b9cc9f138c316166b032becd938cc3";
+      sha256 = "97356a661d56d51a9210109db8ad75d61e3e00e4c7570d4e824712b52337af27";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/hsb/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/hsb/firefox-83.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "f33a2bd9be104af88cab4445f8767bbf507166135a3ce7b7d890ff0ab08bc4bd";
+      sha256 = "5706aa76b23161baf24b79d2b45dd706006fb73aeedd06f41f3273f8078f371b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/hu/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/hu/firefox-83.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "01163f584fcb6a30c736d0d7178760465444a2575ab0844613bc735828b29827";
+      sha256 = "3b894beaef35012df54ba4c7509a06ece1a0cdf741308b3510ddc702c4eb3656";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/hy-AM/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/hy-AM/firefox-83.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "56c1537bbcfef3d8ad97e0b7da1e1043e19970cfab7e07a885227ec49ba59dd2";
+      sha256 = "b2894092de59b7d6bd6dcd2111fa4591b1a4ed054fd107e2093bd0962edb4405";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ia/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ia/firefox-83.0.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "dd883589df0819fc306357547cae94fd34c1ef7e9339fdd5376504c20974cf36";
+      sha256 = "9d9ee7e05a02078b7d4041c3b63e79f91f0a888b919cf726e2e69090ff05f71d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/id/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/id/firefox-83.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "ab9f57b1e501ddc8d5c4fe024cca69ce15f90b3229b9e76b75ee1cb7be8c5e90";
+      sha256 = "13e54589a23323e9043d4dac5586a31e5d43bdde0356b1a00a86f91ee5813eb2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/is/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/is/firefox-83.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "bde7a8f240f19a66cd7ccb26fce683e5c24311e9bb2fc41997a21b5ee5e7657f";
+      sha256 = "955a8a4ff1c5ba7124593b3c8537201ffb1fe33ea5c3edd6ab30e80e6b28f60a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/it/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/it/firefox-83.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "a87a6924935472bca4d64944e7a5fd3545051a5dc00fe7a5e0d6fb2a92c79500";
+      sha256 = "23927419191d7aee8b29da29d213ee9c7ff39363f3fc9171c70d801158cb895b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ja/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ja/firefox-83.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "871fe1476cf80f47725fc12a9bbd83dc9d13b7b4de87760c222053ba5a19f110";
+      sha256 = "4ffaf6df345922bcd82942956a0f344c4b52ac49ec64879fef7307a0c34eb8e9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ka/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ka/firefox-83.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "bed625be2113058fff0584e90ea89121420e08da234a93c5b57cc652d262fab2";
+      sha256 = "df1027754efd054bae379b35228067799e75820b08ca7e6aff5a527fdaf046a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/kab/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/kab/firefox-83.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "0b591ee502c5cf52099891727b22a8f356663e941db796884e91f821e4d7925e";
+      sha256 = "6fc1e5d662ce742a48c003145b1b4b58cb296b43a20f718bdcffdc05e386078f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/kk/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/kk/firefox-83.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "dfbbe55d2e73cc42a83bcacaa35b83ffd2e2ff89cd26790e1b608e1980f8f7b5";
+      sha256 = "52cb3ac3a33da1227c3aa5e47e04620be2cc020bc520fcf013fe11ad74ad6378";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/km/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/km/firefox-83.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "f782024da8726a8869f34eb36d0a4a7401b9d9c2ec28a3c6906a9b21f4f32c3e";
+      sha256 = "c598fa97bb79f56d01afb30caeff29a2c7dd1f162d2fb49c0632ee259d0fe860";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/kn/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/kn/firefox-83.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "59276eaab00aea65992c316d258a68a3ff7bf6091fc3ab177b7e4f606b0bb78f";
+      sha256 = "d6795f3f3c0978dbc399768fd824cceb6a3c1c883c153f65102ef476f74d6408";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ko/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ko/firefox-83.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "b19e167a77285fcf700bf37d5299c0a9e925ec12b6e60d2810ea40acdbd025ae";
+      sha256 = "b4d0b62cdfd332d8e9878b75918a0362a7b68db0b62e4e4508dfa176e79b8ed7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/lij/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/lij/firefox-83.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "5db02844a49ffe997b47ed5bbccc43d2ccc9a4b4840c2df5ddd1d393995b820a";
+      sha256 = "257eec8bead076119b0c3679feb4f3de34c9cf66bd05215e7d76936e6d3ce052";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/lt/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/lt/firefox-83.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "cd72be1796eb92d61eab18adf1825fd319c5960b503f6e7fcf67dbbe02cc8c14";
+      sha256 = "326925d68306ec6e5b7334eb413cff395ce6a27abf5b0981dee25a7888c64079";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/lv/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/lv/firefox-83.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "87f8d21918c1bf73940ee4ff095a454144421cbbdc78004677bd8d0b8b72c667";
+      sha256 = "036264de51a7a81b3d636b8217db571db70631231d485f353e64e9f43f0192f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/mk/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/mk/firefox-83.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "63a6f39666c18417b34b48109b5a618aca896f48c3538b03495f56bed3769d5d";
+      sha256 = "6d4966ae49ba7746395b17b98c158c07d33293b68a6c648d0238107812ccfc03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/mr/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/mr/firefox-83.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "7dd84ad66b3b35a9c492456195d438b4f2c242df11df1820fdc5ddb4ff4cd082";
+      sha256 = "88a90205bfd157fbcb0697efbd4884772a463f776f5110aae9903dbc1151fcbc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ms/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ms/firefox-83.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "bfbd38c3cf2c611a7f7237bdf0a5a47bec27eb1e1ca160d5068e75c00a76180e";
+      sha256 = "67d3651739404a73f263251896c129dc121808d4859169b3469b640345433e9e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/my/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/my/firefox-83.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "b91368c19dea8b6d7b363e119d80254275a1d52b9e09519a04d65098e60a5258";
+      sha256 = "d7e9a1fe6d2e0e32c2ab9a773d198de241ac2a7d330d9eddce4f3afb9a67671b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/nb-NO/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/nb-NO/firefox-83.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "bc78d4ad99fb475d99e4cab0d6a8821c40ee830346db8ded300b69b8a1265e02";
+      sha256 = "66c165884d4397db3e420151d2b6fa3d7bb7c6de790e6d284815cdcc323da3fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ne-NP/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ne-NP/firefox-83.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "607ec769d3454f4a4affc32d71105e7b8d900bdb7371a975760197e188d291dd";
+      sha256 = "f75832bd74f5ce8db3765201eee058f0386f196f407223e186c0be3d2a665fcf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/nl/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/nl/firefox-83.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "4735ccd0cb2992d41fdd5e7280749db2027bb3d55b6aa9ebce2c1e9dc43af056";
+      sha256 = "beb68fb193dfcccbe22369f9adcbebe701fd4c9ab5943ec685d5d20398a1ea5d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/nn-NO/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/nn-NO/firefox-83.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "e95f876e30ba2e97f1567b085c47a960463c7c07bf2921f3f463f8fbd7bb05d3";
+      sha256 = "de2716b8f4c13c6ef76537ef52f1d0529016302ce220a90d9b5062af9becb5b7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/oc/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/oc/firefox-83.0.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "730084b39df6915a98f5357973f7ceeca59761bcf29c909c6585f9199eb6191f";
+      sha256 = "af2a788560a65cb9f3d2ce98acce4ecd3b3105b6c924c6a4de1a9deb6f2a4d42";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/pa-IN/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/pa-IN/firefox-83.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "7d068491ecece10331c56b5679fe5de69bdb7acce62f4d3292271202804a354d";
+      sha256 = "a3575371b20bab63a8bccc110343e0cd0736cffbc5c72dd7aa371c646a057060";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/pl/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/pl/firefox-83.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "ab6da3187d8f87cdb9ed42796ffb9d14c5d2710690694592c64e1eb249a995d3";
+      sha256 = "daa554b493ce1efa90a1b040e78d2f2e7ad8ca70c16ee19312c69ed4a12f00e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/pt-BR/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/pt-BR/firefox-83.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "34bed98380ea05205e5a83801004f694463bd505e400c596ff9183c89070b2fe";
+      sha256 = "4f3fe4a1ce0e12383b37832f44b59fbb40b8fb6e95786edc57ea67ea3d5530bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/pt-PT/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/pt-PT/firefox-83.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "d1bcf96d674d52828baf8452dc620aeeaa5c5ad04b8f26fa74da3a2dd6d778ad";
+      sha256 = "c16bcb116b845a6b28b72096ae43d50f19c7b9868c8bbb833db60eaaa70b001d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/rm/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/rm/firefox-83.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "25796de47983159ba7f95847b66d6f382492f8b00f0e7bc16476712daada071f";
+      sha256 = "334d3dcf333a66f4bd169536f7f3b56ba4b257793dfd0837badff2a77b3668f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ro/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ro/firefox-83.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "6a454aa97f70e4ec91755caad76fc4f21f13d66faf26190404cc2a2ef8b837a1";
+      sha256 = "1e6ad9735fe0046beaf80ac35d0a1831aade14f388d08991b9bc583135ebd94c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ru/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ru/firefox-83.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "2e1f6b8ea95b4a98d9880bdb1f61ccad792e4fe3517dd780a52c5eed5b72adad";
+      sha256 = "a252bcd66f01375fbc4ce040b89c853c34745e8dede116d200303c56d6307f15";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/si/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/si/firefox-83.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "c75763f6d6bca7f86be911039a9efd686d8fb011bfcccdac056e2a12243947f4";
+      sha256 = "ebc5ce83b456f75b671694ac954258ca480caee563e0cb395786692aedf24d88";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/sk/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/sk/firefox-83.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "0968c66cde907b5e61ce70b1dc1244687069dfde28921a9043d0ccd55182aca7";
+      sha256 = "28aac94a71298c459f14949c9c82b379762d3192a16d92e90605ab8925cb31ad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/sl/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/sl/firefox-83.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "cc585166dbbf6baf0dbe2b9ceda53671738436c43d2af55a0672c37eb942add6";
+      sha256 = "7fe0eb68a898488bcb697120542fbdcfd1d972c658b4c361bba351a8f5eb76e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/son/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/son/firefox-83.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "911d5fe53e9aa4937f3a697ee1e57b53b87e1ed92a6231086653e03ffd864411";
+      sha256 = "f9cb1327834b6a6e41d4abf531410391a40f33a8d168d562dc367faf31d9e042";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/sq/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/sq/firefox-83.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "d7ba2423fc741867add3d76c5b13768f0415f001f8f947c664610c06cd7736b2";
+      sha256 = "15370cc0527797f451a5a1f47637c6663437c8f49fc5c056ccbc2e7510cd6c94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/sr/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/sr/firefox-83.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "456e1cdc8d8c0a0fdf39730ff2a812f8bd7a2b61d94312494fadf1d4957bd593";
+      sha256 = "c44773c36eb39067e429fb4a4b57676abc7eb9fcf45bd6654d96761f64747c6a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/sv-SE/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/sv-SE/firefox-83.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "040f71f4cf9ca2d01c1c0dfe4a44389f41da0e2a595a827fe88e36a0013cc979";
+      sha256 = "aa8d2dc50dce8a53a926c71a4a7a57023a017d5fbd54cd1e446ef74b5eef7dea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ta/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ta/firefox-83.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "488cf25e731096c5ee1458f11adbe0c4b3cf3a665437827f2b27d79e5ca805dd";
+      sha256 = "5fc3e8a048ec24e49c4c4a0e36712b378687e927c30dc8ecb3ec63bcf983062a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/te/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/te/firefox-83.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "c79f19c5c2ec4e48a257bb98d4121fd95f284f97f7af4212adbb2663964b1c53";
+      sha256 = "ff123410cec64c47d239a432d32eaefa494e7cd7fb0157cc45917fe04b2916ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/th/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/th/firefox-83.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "4e27f5646e4d62ad70ebfc93a9603c3527ef570307ec4a8408f03bc9f72c662a";
+      sha256 = "cb7cbf97884a5b4f62c4e0932ead0e5de018c9623590ac3798a86986916258dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/tl/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/tl/firefox-83.0.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "71c81c3b5f77364367aad6e004d4d455b01e7d3bbb21cd9c3e5fd7dfdb661f36";
+      sha256 = "0d55a23e2c0b7da80a6c042e50fc3c9364c3f24309cf255bfbe55a320ec2cf00";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/tr/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/tr/firefox-83.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "3257a340958e658be49f4f2982e8feb8e932532a251e98b236406d370d873275";
+      sha256 = "bfc1adb570f79b4f095bc87ab5a54c6b5179579840ded61319a10ad5ff39d52f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/trs/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/trs/firefox-83.0.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "914af864af7d51d31abdbec4a1112828d51ffd83ee6a39bbf9f5ec0223ae4ef9";
+      sha256 = "05b5a2252380147ec47561e29514e3f994414b46aae3dd168909f03e7dec16ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/uk/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/uk/firefox-83.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "7cff7f0f3d6b586c19d9370e78e6e0ab50a99af62b40de7a44318f5ca929db59";
+      sha256 = "7e34b52f4d46a735e36f549295d0f9704113024058a7d8d69a8ee6a023d03755";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/ur/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/ur/firefox-83.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "b1d17f6434fb7b44576c29e6d1b2c2b3944e27fc8b3aaecf9739c4a653ecd865";
+      sha256 = "1d48e536c09f862bc00fcaf9a175eaeffac1e0aaff66d71ca49123c00cc885bc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/uz/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/uz/firefox-83.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "3cdd2f764c88fe4a85bd32728f4ff47eb452e14c506f38f891added89fd45a0a";
+      sha256 = "1f1cf131b3196886aa0f923c5dbaa279b86c3473dc048ce23d58fe811ca1266c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/vi/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/vi/firefox-83.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "ce2a5cac99bb86adc793ac6c980432a3c1c1bd6150df856088b0cc49cd8b618c";
+      sha256 = "b98507cd809abd28c51514448bf995661dede7c727808ab8c2db46da8da0a164";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/xh/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/xh/firefox-83.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "a943db84bba8823112738999cb31dafd20d076de62bc44ac9e2b8f2a793ab283";
+      sha256 = "73de4ec29cd09610359909ada39820a119a15c3ae0cc1658c2e9b874801a9015";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/zh-CN/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/zh-CN/firefox-83.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "23a2662b2844e45cacb038f8fcc1a2647d1b03df6d7ff346c8600c08f6772dcb";
+      sha256 = "fea085476f4456133c1f0973121319f1c3efadcc50134cbf5ccde351bbe2ff06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/81.0.2/linux-i686/zh-TW/firefox-81.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/83.0/linux-i686/zh-TW/firefox-83.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "dfb5d0725fe50346dc551c407d38574a696e8f10373de73d47252ec283d1b256";
+      sha256 = "5aebd374f2e73f83bec4c14239555d9f2771d3379280fc55f90f1ae0909be009";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix
index 03815a703321c..018bf04cb570f 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/update.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix
@@ -23,8 +23,10 @@ in writeScript "update-${name}" ''
   set -eux
   pushd ${basePath}
 
+  HOME=`mktemp -d`
   export GNUPGHOME=`mktemp -d`
-  gpg --keyserver hkps://gpg.mozilla.org --recv-keys 14F26682D0916CDD81E37B6D61B7B526D98F0353
+
+  gpg --import ${./mozilla.asc}
 
   tmpfile=`mktemp`
   url=${baseUrl}
@@ -53,7 +55,7 @@ in writeScript "update-${name}" ''
 
   # this is a list of sha256 and tarballs for both arches
   # Upstream files contains python repr strings like b'somehash', hence the sed dance
-  shasums=`cat $HOME/shasums | sed -E s/"b'([a-f0-9]{64})'?(.*)"/'\1\2'/`
+  shasums=`cat $HOME/shasums | sed -E s/"b'([a-f0-9]{64})'?(.*)"/'\1\2'/ | grep tar.bz2`
 
   cat > $tmpfile <<EOF
   {
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 5837ddd7efc5b..92434806a12db 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -4,13 +4,14 @@
 
 { lib, stdenv, pkgconfig, pango, perl, python2, python3, zip
 , libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
-, freetype, fontconfig, file, nspr, nss, libnotify
+, freetype, fontconfig, file, nspr, nss, nss_3_53, libnotify
 , yasm, libGLU, libGL, sqlite, unzip, makeWrapper
 , hunspell, libXdamage, libevent, libstartup_notification
 , libvpx_1_8
 , icu67, libpng, jemalloc, glib
-, autoconf213, which, gnused, cargo, rustc, llvmPackages
+, autoconf213, which, gnused, rustPackages, rustPackages_1_45
 , rust-cbindgen, nodejs, nasm, fetchpatch
+, gnum4
 , debugBuild ? false
 
 ### optionals
@@ -22,6 +23,8 @@
 , ffmpegSupport ? true
 , gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
 , waylandSupport ? true, libxkbcommon
+# LTO is disabled since it caused segfaults on wayland see https://github.com/NixOS/nixpkgs/issues/101429
+, ltoSupport ? false, overrideCC, buildPackages
 , gssSupport ? true, kerberos
 , pipewireSupport ? waylandSupport && webrtcSupport, pipewire
 
@@ -71,6 +74,7 @@
 
 assert stdenv.cc.libc or null != null;
 assert pipewireSupport -> !waylandSupport || !webrtcSupport -> throw "pipewireSupport requires both wayland and webrtc support.";
+assert ltoSupport -> stdenv.isDarwin -> throw "LTO is broken on Darwin (see PR#19312).";
 
 let
   flag = tf: x: [(if tf then "--enable-${x}" else "--disable-${x}")];
@@ -87,9 +91,26 @@ let
             then "/Applications/${binaryNameCapitalized}.app/Contents/MacOS"
             else "/bin";
 
+  # Darwin's stdenv provides the default llvmPackages version, match that since
+  # clang LTO on Darwin is broken so the stdenv is not being changed.
+  llvmPackages = if stdenv.isDarwin
+                 then buildPackages.llvmPackages
+                 else buildPackages.llvmPackages_10;
+
+  # When LTO for Darwin is fixed, the following will need updating as lld
+  # doesn't work on it. For now it is fine since ltoSupport implies no Darwin.
+  buildStdenv = if ltoSupport
+                then overrideCC stdenv llvmPackages.lldClang
+                else stdenv;
+
+  # 78 ESR won't build with rustc 1.47
+  inherit (if lib.versionAtLeast ffversion "82" then rustPackages else rustPackages_1_45)
+    rustc cargo;
+
+  nss_pkg = if lib.versionOlder ffversion "83" then nss_3_53 else nss;
 in
 
-stdenv.mkDerivation ({
+buildStdenv.mkDerivation ({
   name = "${pname}-unwrapped-${ffversion}";
   version = ffversion;
 
@@ -97,12 +118,37 @@ stdenv.mkDerivation ({
 
   patches = [
     ./env_var_for_system_dir.patch
-  ] ++ lib.optional pipewireSupport
+  ] ++
+
+  # there are two flavors of pipewire support
+  # The patches for the ESR release and the patches for the current stable
+  # release.
+  # Until firefox upstream stabilizes pipewire support we will have to continue
+  # tracking multiple versions here.
+  lib.optional (pipewireSupport && lib.versionOlder ffversion "83")
     (fetchpatch {
       # https://src.fedoraproject.org/rpms/firefox/blob/master/f/firefox-pipewire-0-3.patch
       url = "https://src.fedoraproject.org/rpms/firefox/raw/e99b683a352cf5b2c9ff198756859bae408b5d9d/f/firefox-pipewire-0-3.patch";
       sha256 = "0qc62di5823r7ly2lxkclzj9rhg2z7ms81igz44nv0fzv3dszdab";
     })
+    ++
+    # This picks pipewire patches from fedora that are part of https://bugzilla.mozilla.org/show_bug.cgi?id=1672944
+    lib.optionals (pipewireSupport && lib.versionAtLeast ffversion "83") (let
+      fedora_revision = "d6756537dd8cf4d9816dc63ada66ea026e0fd128";
+      mkPWPatch = spec: fetchpatch {
+        inherit (spec) name sha256;
+        url = "https://src.fedoraproject.org/rpms/firefox/raw/${fedora_revision}/f/${spec.name}";
+      };
+    in map mkPWPatch [
+        { name = "pw1.patch"; sha256 = "1a7zvngn3k7dg886zmi38kmrsdzh2rrr46aw59bhr1gfmq8wlwn0"; }
+        { name = "pw2.patch"; sha256 = "17irg3yb2mchcy0z0nr4k65mwvkps467cvvczr10fnm06lhkhw1l"; }
+        { name = "pw3.patch"; sha256 = "12p6ql5ff2lfzlni6xkpz63h2xr6n2a9zf8hhjl99fj56rif6706"; }
+        { name = "pw4.patch"; sha256 = "0rvysc92rdm98s47w5lvbnrklrf7d299k3918qnldniyb4b9p4mg"; }
+        { name = "pw5.patch"; sha256 = "0kk2yxq4qkfwc4px6m08jrn18a7a7dhrngfiaw84r9ga6sgn0z00"; }
+        { name = "pw6.patch"; sha256 = "12lhx9wjpw0ahbfmw07wsx76bb223mr453q9cg8cq951vyskch3s"; }
+        { name = "pw7.patch"; sha256 = "0afw7cfd48vn62zb9y5kd2l26fg44s3aq1kyg3gm4q3rj34xidf6"; }
+    ])
+
   ++ patches;
 
 
@@ -125,28 +171,35 @@ stdenv.mkDerivation ({
     # yasm can potentially be removed in future versions
     # https://bugzilla.mozilla.org/show_bug.cgi?id=1501796
     # https://groups.google.com/forum/#!msg/mozilla.dev.platform/o-8levmLU80/SM_zQvfzCQAJ
-    nspr nss
+    nspr nss_pkg
   ]
   ++ lib.optional  alsaSupport alsaLib
   ++ lib.optional  pulseaudioSupport libpulseaudio # only headers are needed
   ++ lib.optional  gtk3Support gtk3
   ++ lib.optional  gssSupport kerberos
+  ++ lib.optional  ltoSupport llvmPackages.libunwind
   ++ lib.optionals waylandSupport [ libxkbcommon ]
   ++ lib.optionals pipewireSupport [ pipewire ]
-  ++ lib.optionals stdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos
-                                     AVFoundation MediaToolbox CoreLocation
-                                     Foundation libobjc AddressBook cups ];
+  ++ lib.optionals (lib.versionAtLeast ffversion "82") [ gnum4 ]
+  ++ lib.optionals buildStdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos
+                                          AVFoundation MediaToolbox CoreLocation
+                                          Foundation libobjc AddressBook cups ];
+
+  NIX_LDFLAGS = lib.optionalString ltoSupport ''
+    -rpath ${placeholder "out"}/lib/${binaryName}
+    -rpath ${llvmPackages.libunwind.out}/lib
+  '';
 
   NIX_CFLAGS_COMPILE = toString [
     "-I${glib.dev}/include/gio-unix-2.0"
-    "-I${nss.dev}/include/nss"
+    "-I${nss_pkg.dev}/include/nss"
   ];
 
   MACH_USE_SYSTEM_PYTHON = "1";
 
   postPatch = ''
     rm -rf obj-x86_64-pc-linux-gnu
-  '' + lib.optionalString pipewireSupport ''
+  '' + lib.optionalString (pipewireSupport && lib.versionOlder ffversion "83") ''
     # substitute the /usr/include/ lines for the libraries that pipewire provides.
     # The patch we pick from fedora only contains the generated moz.build files
     # which hardcode the dependency paths instead of running pkg_config.
@@ -179,7 +232,7 @@ stdenv.mkDerivation ({
       which
     ]
     ++ lib.optional gtk3Support wrapGAppsHook
-    ++ lib.optionals stdenv.isDarwin [ xcbuild rsync ]
+    ++ lib.optionals buildStdenv.isDarwin [ xcbuild rsync ]
     ++ extraNativeBuildInputs;
 
   preConfigure = ''
@@ -197,12 +250,12 @@ stdenv.mkDerivation ({
     # included we need to look in a few places.
     # TODO: generalize this process for other use-cases.
 
-    BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-crt1-cflags) \
-      $(< ${stdenv.cc}/nix-support/libc-cflags) \
-      $(< ${stdenv.cc}/nix-support/cc-cflags) \
-      $(< ${stdenv.cc}/nix-support/libcxx-cxxflags) \
-      ${lib.optionalString stdenv.cc.isClang "-idirafter ${stdenv.cc.cc}/lib/clang/${lib.getVersion stdenv.cc.cc}/include"} \
-      ${lib.optionalString stdenv.cc.isGNU "-isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc} -isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/${stdenv.hostPlatform.config}"} \
+    BINDGEN_CFLAGS="$(< ${buildStdenv.cc}/nix-support/libc-crt1-cflags) \
+      $(< ${buildStdenv.cc}/nix-support/libc-cflags) \
+      $(< ${buildStdenv.cc}/nix-support/cc-cflags) \
+      $(< ${buildStdenv.cc}/nix-support/libcxx-cxxflags) \
+      ${lib.optionalString buildStdenv.cc.isClang "-idirafter ${buildStdenv.cc.cc}/lib/clang/${lib.getVersion buildStdenv.cc.cc}/include"} \
+      ${lib.optionalString buildStdenv.cc.isGNU "-isystem ${buildStdenv.cc.cc}/include/c++/${lib.getVersion buildStdenv.cc.cc} -isystem ${buildStdenv.cc.cc}/include/c++/${lib.getVersion buildStdenv.cc.cc}/${buildStdenv.hostPlatform.config}"} \
       $NIX_CFLAGS_COMPILE"
 
     echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
@@ -236,11 +289,20 @@ stdenv.mkDerivation ({
     "--enable-jemalloc"
     "--enable-default-toolkit=${default-toolkit}"
     "--with-libclang-path=${llvmPackages.libclang}/lib"
-    "--with-clang-path=${llvmPackages.clang}/bin/clang"
     "--with-system-nspr"
     "--with-system-nss"
   ]
-  ++ lib.optional (stdenv.isDarwin) "--disable-xcode-checks"
+  ++ lib.optional (buildStdenv.isDarwin) "--disable-xcode-checks"
+  ++ lib.optional (!ltoSupport) "--with-clang-path=${llvmPackages.clang}/bin/clang"
+  # LTO is done using clang and lld on Linux.
+  # Darwin needs to use the default linker as lld is not supported (yet?):
+  #   https://bugzilla.mozilla.org/show_bug.cgi?id=1538724
+  # elf-hack is broken when using clang+lld:
+  #   https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+  ++ lib.optionals ltoSupport [
+    "--enable-lto"
+    "--disable-elf-hack"
+  ] ++ lib.optional (ltoSupport && !buildStdenv.isDarwin) "--enable-linker=lld"
 
   ++ flag alsaSupport "alsa"
   ++ flag pulseaudioSupport "pulseaudio"
@@ -270,12 +332,12 @@ stdenv.mkDerivation ({
   enableParallelBuilding = true;
   doCheck = false; # "--disable-tests" above
 
-  installPhase = if stdenv.isDarwin then ''
+  installPhase = if buildStdenv.isDarwin then ''
     mkdir -p $out/Applications
     cp -LR dist/${binaryNameCapitalized}.app $out/Applications
   '' else null;
 
-  postInstall = lib.optionalString stdenv.isLinux ''
+  postInstall = lib.optionalString buildStdenv.isLinux ''
     # Remove SDK cruft. FIXME: move to a separate output?
     rm -rf $out/share/idl $out/include $out/lib/${binaryName}-devel-*
 
@@ -283,7 +345,7 @@ stdenv.mkDerivation ({
     gappsWrapperArgs+=(--argv0 "$out/bin/.${binaryName}-wrapped")
   '';
 
-  postFixup = lib.optionalString stdenv.isLinux ''
+  postFixup = lib.optionalString buildStdenv.isLinux ''
     # Fix notifications. LibXUL uses dlopen for this, unfortunately; see #18712.
     patchelf --set-rpath "${lib.getLib libnotify
       }/lib:$(patchelf --print-rpath "$out"/lib/${binaryName}*/libxul.so)" \
@@ -302,6 +364,7 @@ stdenv.mkDerivation ({
     version = ffversion;
     isFirefox3Like = true;
     gtk = gtk2;
+    inherit alsaSupport;
     inherit nspr;
     inherit ffmpegSupport;
     inherit gssSupport;
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 115588c226f46..352e7bac5e9cd 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 = "81.0.2";
+    ffversion = "83.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "1szsj7rwpn7ggiavvnc38a75ip0r3p5bgr2kvy2hq7519abzmr3z49jg4alpsy1ndkfylvh28zjw9h5xys0bvs40f33ps90j60z8gla";
+      sha512 = "3va5a9471677jfzkhqp8xkba45n0bcpphbabhqbcbnps6p85m3y98pl5jy9q7cpq3a6gxc4ax7bp90yz2nfvfq7i64iz397xpprri2a";
     };
 
     patches = [
@@ -26,7 +26,6 @@ rec {
       broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
                                              # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
       license = lib.licenses.mpl20;
-      timeout = 28800; # eight hours
     };
     updateScript = callPackage ./update.nix {
       attrPath = "firefox-unwrapped";
@@ -36,10 +35,10 @@ rec {
 
   firefox-esr-78 = common rec {
     pname = "firefox-esr";
-    ffversion = "78.3.1esr";
+    ffversion = "78.5.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "10a7xfp396n81aj17fbl1b1jr8gbn5ild2ig5cfz6r5ff3wfbjs3x0iqrlwqnjfdqq2pw19k2yrv91iwymd8jwjj4p35xsfivgn0a0n";
+      sha512 = "20h53cn7p4dds1yfm166iwbjdmw4fkv5pfk4z0pni6x8ddjvg19imzs6ggmpnfhaji8mnlknm7xp5j7x9vi24awvdxdds5n88rh25hd";
     };
 
     patches = [
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 424c45d305e84..cc6cc72e27bee 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -2,9 +2,9 @@
 
 ## various stuff that can be plugged in
 , flashplayer, hal-flash
-, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2, libglvnd
+, ffmpeg, xorg, alsaLib, libpulseaudio, libcanberra-gtk2, libglvnd
 , gnome3/*.gnome-shell*/
-, browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow
+, browserpass, chrome-gnome-shell, uget-integrator, plasma5, bukubrow
 , tridactyl-native
 , fx_cast_bridge
 , udev
@@ -39,6 +39,7 @@ let
       enableAdobeFlash = cfg.enableAdobeFlash or false;
       ffmpegSupport = browser.ffmpegSupport or false;
       gssSupport = browser.gssSupport or false;
+      alsaSupport = browser.alsaSupport or false;
 
       plugins =
         let
@@ -64,7 +65,7 @@ let
           ++ lib.optional (cfg.enableTridactylNative or false) tridactyl-native
           ++ lib.optional (cfg.enableGnomeExtensions or false) chrome-gnome-shell
           ++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator
-          ++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma-browser-integration
+          ++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma5.plasma-browser-integration
           ++ lib.optional (cfg.enableFXCastBridge or false) fx_cast_bridge
           ++ extraNativeMessagingHosts
         );
@@ -76,6 +77,7 @@ let
             (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ])
             ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash
             ++ lib.optional (config.pulseaudio or true) libpulseaudio
+            ++ lib.optional alsaSupport alsaLib
             ++ pkcs11Modules;
       gtk_modules = [ libcanberra-gtk2 ];
 
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index fb261c2860729..543d59255472e 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -22,7 +22,7 @@
 
 # Additional dependencies according to other distros.
 ## Ubuntu
-, liberation_ttf, curl, utillinux, xdg_utils, wget
+, liberation_ttf, curl, util-linux, xdg_utils, wget
 ## Arch Linux.
 , flac, harfbuzz, icu, libpng, libopus, snappy, speechd
 ## Gentoo
@@ -59,7 +59,7 @@ let
     dbus gdk-pixbuf gcc-unwrapped.lib
     systemd
     libexif
-    liberation_ttf curl utillinux xdg_utils wget
+    liberation_ttf curl util-linux xdg_utils wget
     flac harfbuzz icu libpng opusWithCustomModes snappy speechd
     bzip2 libcap at-spi2-atk at-spi2-core
     kerberos libdrm mesa coreutils
@@ -150,7 +150,10 @@ in stdenv.mkDerivation {
     description = "A freeware web browser developed by Google";
     homepage = "https://www.google.com/chrome/browser/";
     license = licenses.unfree;
-    maintainers = [ maintainers.msteen ];
+    maintainers = with maintainers; [ primeos ];
+    # Note from primeos: By updating Chromium I also update Google Chrome and
+    # will try to merge PRs and respond to issues but I'm not actually using
+    # Google Chrome.
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/next/default.nix b/pkgs/applications/networking/browsers/next/default.nix
deleted file mode 100644
index e03f918a587c2..0000000000000
--- a/pkgs/applications/networking/browsers/next/default.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-{ stdenv
-, fetchFromGitHub
-, lispPackages
-, sbcl
-, callPackage
-}:
-
-let
-
-  # This is the wrapped webkitgtk platform port that we hardcode into the Lisp Core.
-  # See https://github.com/atlas-engineer/next/tree/master/ports#next-platform-ports
-  next-gtk-webkit = callPackage ./next-gtk-webkit.nix {};
-
-in
-
-stdenv.mkDerivation rec {
-  pname = "next";
-  version = "1.5.0";
-
-  src = fetchFromGitHub {
-    owner = "atlas-engineer";
-    repo = "next";
-    rev = version;
-    sha256 = "1gqkp185wcwaxr8py90hqk44nqjblrrdwvig19gizrbzr2gx2zhy";
-  };
-
-  nativeBuildInputs = [
-    sbcl
-  ] ++ (with lispPackages; [
-    prove-asdf
-    trivial-features
-  ]);
-
-  buildInputs = with lispPackages; [
-    alexandria
-    bordeaux-threads
-    cl-annot
-    cl-ansi-text
-    cl-css
-    cl-json
-    cl-markup
-    cl-ppcre
-    cl-ppcre-unicode
-    cl-prevalence
-    closer-mop
-    dbus
-    dexador
-    ironclad
-    local-time
-    log4cl
-    lparallel
-    mk-string-metrics
-    parenscript
-    plump
-    quri
-    serapeum
-    sqlite
-    str
-    swank
-    trivia
-    trivial-clipboard
-    trivial-types
-    unix-opts
-  ];
-
-  # This reference is unfortunately not detected by Nix
-  propagatedBuildInputs = [ next-gtk-webkit ];
-
-  prePatch = ''
-    substituteInPlace source/ports/gtk-webkit.lisp \
-      --replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
-  '';
-
-  buildPhase = ''
-    common-lisp.sh --eval "(require :asdf)" \
-                   --eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \
-                   --eval '(asdf:make :next)' \
-                   --quit
-  '';
-
-  installPhase = ''
-    install -D -m0755 next $out/bin/next
-  '';
-
-  # Stripping destroys the generated SBCL image
-  dontStrip = true;
-
-  meta = with stdenv.lib; {
-    description = "Infinitely extensible web-browser (with Lisp development files using WebKitGTK platform port)";
-    homepage = "https://next.atlas.engineer";
-    license = licenses.bsd3;
-    maintainers = [ maintainers.lewo ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix b/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix
deleted file mode 100644
index 316913be000c1..0000000000000
--- a/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-# https://github.com/atlas-engineer/next/tree/master/ports/gtk-webkit
-
-{ stdenv
-, pkg-config
-, next
-, webkitgtk
-, gtk3
-, glib
-, gsettings-desktop-schemas
-, glib-networking
-, gst_all_1
-, wrapGAppsHook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "next-gtk-webkit";
-  inherit (next) src version;
-
-  nativeBuildInputs = [
-    pkg-config
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    glib
-    glib-networking
-    gsettings-desktop-schemas
-    gtk3
-    webkitgtk
-    gst_all_1.gstreamer
-    gst_all_1.gst-libav
-    gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good
-    gst_all_1.gst-plugins-bad
-    gst_all_1.gst-plugins-ugly
-  ];
-
-  makeFlags = [
-    "gtk-webkit"
-    "PREFIX=${placeholder "out"}"
-  ];
-
-  installTargets =  [
-    "install-gtk-webkit"
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Infinitely extensible web-browser (user interface only)";
-    homepage = "https://next.atlas.engineer";
-    license = licenses.bsd3;
-    maintainers = [ maintainers.lewo ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/nyxt/default.nix b/pkgs/applications/networking/browsers/nyxt/default.nix
new file mode 100644
index 0000000000000..ff99b1c21ddd1
--- /dev/null
+++ b/pkgs/applications/networking/browsers/nyxt/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, lib, lispPackages, sbcl
+, makeWrapper, wrapGAppsHook, gst_all_1
+, glib, gdk-pixbuf, cairo
+, mime-types, pango, gtk3
+, glib-networking, gsettings-desktop-schemas
+, xclip, notify-osd, enchant
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nyxt";
+  inherit (lispPackages.nyxt.meta) version;
+
+  src = lispPackages.nyxt;
+
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
+  gstBuildInputs = with gst_all_1; [
+    gstreamer gst-libav
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-bad
+    gst-plugins-ugly
+  ];
+  buildInputs = [
+    glib gdk-pixbuf cairo
+    mime-types pango gtk3
+    glib-networking gsettings-desktop-schemas
+    xclip notify-osd enchant
+  ] ++ gstBuildInputs;
+
+  GST_PLUGIN_SYSTEM_PATH_1_0 = lib.concatMapStringsSep ":" (p: "${p}/lib/gstreamer-1.0") gstBuildInputs;
+
+  dontWrapGApps = true;
+  installPhase = ''
+    mkdir -p $out/share/applications/
+    sed "s/VERSION/$version/" $src/lib/common-lisp/nyxt/assets/nyxt.desktop > $out/share/applications/nyxt.desktop
+    for i in 16 32 128 256 512; do
+      mkdir -p "$out/share/icons/hicolor/''${i}x''${i}/apps/"
+      cp -f $src/lib/common-lisp/nyxt/assets/nyxt_''${i}x''${i}.png "$out/share/icons/hicolor/''${i}x''${i}/apps/nyxt.png"
+    done
+
+    mkdir -p $out/bin && makeWrapper $src/bin/nyxt $out/bin/nyxt \
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "${GST_PLUGIN_SYSTEM_PATH_1_0}" \
+      --argv0 nyxt "''${gappsWrapperArgs[@]}"
+  '';
+
+  checkPhase = ''
+    $out/bin/nyxt -h
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Infinitely extensible web-browser (with Lisp development files using WebKitGTK platform port)";
+    homepage = "https://nyxt.atlas.engineer";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ lewo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index 8bfbf98b1983e..542d432948151 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -16,13 +16,14 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "palemoon";
-  version = "28.14.2";
+  version = "28.15.0";
 
   src = fetchFromGitHub {
+    githubBase = "repo.palemoon.org";
     owner = "MoonchildProductions";
     repo = "Pale-Moon";
     rev = "${version}_Release";
-    sha256 = "1qz2sqc8rcg5z5kncabgmpl6v4i6wrs9dlgmna69255qrmsshwgm";
+    sha256 = "1sbs3gcwfx58mxc0x1g6jklmvpa9dw2bq3i8y9645gfa1s12p8wy";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 69ca08e990c76..84a6f7b92fa56 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -12,12 +12,12 @@ assert withMediaPlayback -> gst_all_1 != null;
 let
   python3Packages = python3.pkgs;
   pdfjs = let
-    version = "2.4.456";
+    version = "2.6.347";
   in
   fetchzip rec {
     name = "pdfjs-${version}";
     url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
-    sha256 = "02hpy96pi06gdq2s7n56ycm34d6d3gf8ly22y366np5vpwmc29rx";
+    sha256 = "0d016fyg81cq464li01xlkf9rxrb3rpsvmk5gh9m4d5yzmcakkfm";
     stripRoot = false;
   };
 
@@ -31,12 +31,12 @@ let
 
 in mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "qutebrowser";
-  version = "1.13.1";
+  version = "1.14.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 = "1n72dvrv4dch4i07lsis76p7g16a039fwx8rk7w8q9f60wgqb5i8";
+    sha256 = "0jip413yvyhdaywz0iadc32aaanjnhbx1d1vwzx3z1xbgc4i9svn";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/browsers/surf/default.nix b/pkgs/applications/networking/browsers/surf/default.nix
index 03571469da1f5..57eb4fad76b0c 100644
--- a/pkgs/applications/networking/browsers/surf/default.nix
+++ b/pkgs/applications/networking/browsers/surf/default.nix
@@ -1,21 +1,22 @@
-{ lib, stdenv, fetchurl
+{ lib, stdenv, fetchgit
 , pkgconfig, wrapGAppsHook
-, glib, glib-networking, gsettings-desktop-schemas, gtk, libsoup, webkitgtk
+, glib, gcr, glib-networking, gsettings-desktop-schemas, gtk, libsoup, webkitgtk
 , xorg, dmenu, findutils, gnused, coreutils
 , patches ? null
 }:
 
 stdenv.mkDerivation rec {
   pname = "surf";
-  version = "2.0";
+  version = "unstable-2019-02-08";
 
-  src = fetchurl {
-    url = "https://dl.suckless.org/surf/surf-${version}.tar.gz";
-    sha256 = "07cmajyafljigy10d21kkyvv5jf3hxkx06pz3rwwk3y3c9x4rvps";
+  src = fetchgit {
+    url = "git://git.suckless.org/surf";
+    rev = "d068a3878b6b9f2841a49cd7948cdf9d62b55585";
+    sha256 = "0pjsv2q8c74sdmqsalym8wa2lv55lj4pd36miam5wd12769xw68m";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
-  buildInputs = [ glib glib-networking gsettings-desktop-schemas gtk libsoup webkitgtk ];
+  buildInputs = [ glib gcr glib-networking gsettings-desktop-schemas gtk libsoup webkitgtk ];
 
   inherit patches;
 
@@ -32,9 +33,9 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A simple web browser based on WebKit/GTK";
+    description = "A simple web browser based on WebKitGTK";
     longDescription = ''
-      Surf is a simple web browser based on WebKit/GTK. It is able to display
+      surf is a simple web browser based on WebKitGTK. It is able to display
       websites and follow links. It supports the XEmbed protocol which makes it
       possible to embed it in another application. Furthermore, one can point
       surf to another URI by setting its XProperties.
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 d8a2e04299389..222b1b5b767cf 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -91,23 +91,22 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "10.0";
+  version = "10.0.5";
 
   lang = "en-US";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
-      sha256 = "1l2rfknffnh6hsi16dzps1wav5s723vyk57fzv9y5vjmbcbf7l2l";
+      sha256 = "1cxh39x69m4lgqin5k5p67gs9g26w7cnlbdpjqi8dw47y0bpr9xw";
     };
 
     i686-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
-      sha256 = "0x80w02ckb6mznrm1gjdpkxk9yf2rdcl16ljjglivq358a309cl2";
+      sha256 = "1cyg5ic7mrj6x1gxw5w609933d9ripa5b5gxyqnvnxfa23dkh608";
     };
   };
 in
-
 stdenv.mkDerivation rec {
   pname = "tor-browser-bundle-bin";
   inherit version;
@@ -232,9 +231,10 @@ stdenv.mkDerivation rec {
 
     # Preload extensions by moving into the runtime instead of storing under the
     # user's profile directory.
-    mkdir -p "$TBB_IN_STORE/browser/extensions"
+    # See https://support.mozilla.org/en-US/kb/deploying-firefox-with-extensions
+    mkdir -p "$TBB_IN_STORE/distribution/extensions"
     mv "$TBB_IN_STORE/TorBrowser/Data/Browser/profile.default/extensions/"* \
-      "$TBB_IN_STORE/browser/extensions"
+      "$TBB_IN_STORE/distribution/extensions"
 
     # Hard-code paths to geoip data files.  TBB resolves the geoip files
     # relative to torrc-defaults_path but if we do not hard-code them
@@ -404,7 +404,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 doublec thoughtpolice joachifm hax404 cap KarlJoad ];
+    maintainers = with maintainers; [ offline matejc thoughtpolice joachifm hax404 cap KarlJoad ];
     hydraPlatforms = [];
     # MPL2.0+, GPL+, &c.  While it's not entirely clear whether
     # the compound is "libre" in a strict sense (some components place certain
diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/browser.nix b/pkgs/applications/networking/browsers/ungoogled-chromium/browser.nix
index f87acc8722e45..c5cbee196521b 100644
--- a/pkgs/applications/networking/browsers/ungoogled-chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/ungoogled-chromium/browser.nix
@@ -13,7 +13,7 @@ mkChromiumDerivation (base: rec {
 
   installPhase = ''
     mkdir -p "$libExecPath"
-    cp -v "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/"
+    cp -v "$buildPath/"*.so "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/"
     cp -v "$buildPath/icudtl.dat" "$libExecPath/"
     cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/"
     cp -v "$buildPath/chrome" "$libExecPath/$packageName"
@@ -78,17 +78,10 @@ mkChromiumDerivation (base: rec {
     '';
     homepage = "https://github.com/Eloston/ungoogled-chromium";
     maintainers = with maintainers; [ squalus ];
-    # Overview of the maintainer roles:
-    # nixos-unstable:
-    # - TODO: Need a new maintainer for x86_64 [0]
-    # - @thefloweringash: aarch64
-    # - @primeos: Provisional maintainer (x86_64)
-    # Stable channel:
-    # - TODO (need someone to test backports [0])
-    # [0]: https://github.com/NixOS/nixpkgs/issues/78450
     license = if enableWideVine then licenses.unfree else licenses.bsd3;
     platforms = platforms.linux;
     hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else [];
-    timeout = 172800; # 48 hours
+    timeout = 172800; # 48 hours (increased from the Hydra default of 10h)
+    broken = channel == "dev"; # Blocked on https://bugs.chromium.org/p/chromium/issues/detail?id=1141896
   };
 })
diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix b/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix
index 421d6bb745a05..2accb1a7ab219 100644
--- a/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix
+++ b/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix
@@ -5,25 +5,24 @@
 , libevent, expat, libjpeg, snappy
 , libpng, libcap
 , xdg_utils, yasm, nasm, minizip, libwebp
-, libusb1, pciutils, nss, re2, zlib
+, libusb1, pciutils, nss, re2
 
 , python2Packages, perl, pkgconfig
 , nspr, systemd, kerberos
-, utillinux, alsaLib
+, util-linux, alsaLib
 , bison, gperf
 , glib, gtk3, dbus-glib
 , glibc
-, xorg
 , libXScrnSaver, libXcursor, libXtst, libGLU, libGL
 , protobuf, speechd, libXdamage, cups
-, ffmpeg_3, libxslt, libxml2, at-spi2-core
+, ffmpeg, libxslt, libxml2, at-spi2-core
 , jre8
 , pipewire_0_2
 
 # optional dependencies
 , libgcrypt ? null # gnomeSupport || cupsSupport
 , libva ? null # useVaapi
-, libdrm ? null, wayland ? null, mesa_drivers ? null, libxkbcommon ? null # useOzone
+, libdrm ? null, wayland ? null, mesa ? null, libxkbcommon ? null # useOzone
 
 # package customization
 , useOzone ? false
@@ -49,8 +48,6 @@ buildFun:
 
 with stdenv.lib;
 
-# see http://www.linuxfromscratch.org/blfs/view/cvs/xsoft/chromium.html
-
 let
   jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
 
@@ -66,7 +63,7 @@ let
   mkGnFlags =
     let
       # Serialize Nix types into GN types according to this document:
-      # https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/language.md
+      # https://source.chromium.org/gn/gn/+/master:docs/language.md
       mkGnString = value: "\"${escape ["\"" "$" "\\"] value}\"";
       sanitize = value:
         if value == true then "true"
@@ -78,14 +75,17 @@ let
       toFlag = key: value: "${key}=${sanitize value}";
     in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
 
+  # https://source.chromium.org/chromium/chromium/src/+/master:build/linux/unbundle/replace_gn_files.py
   gnSystemLibraries = [
-    "flac" "libwebp" "libxslt" "opus" "snappy" "libpng"
-    # "zlib" # version 77 reports unresolved dependency on //third_party/zlib:zlib_config
-    # "libjpeg" # fails with multiple undefined references to chromium_jpeg_*
-    # "re2" # fails with linker errors
-    # "ffmpeg" # https://crbug.com/731766
-    # "harfbuzz-ng" # in versions over 63 harfbuzz and freetype are being built together
-                    # so we can't build with one from system and other from source
+    "ffmpeg"
+    "flac"
+    "libjpeg"
+    "libpng"
+    "libwebp"
+    "libxslt"
+    "opus"
+    "snappy"
+    "zlib"
   ];
 
   opusWithCustomModes = libopus.override {
@@ -97,11 +97,9 @@ let
     libevent expat libjpeg snappy
     libpng libcap
     xdg_utils minizip libwebp
-    libusb1 re2 zlib
-    ffmpeg_3 libxslt libxml2
+    libusb1 re2
+    ffmpeg libxslt libxml2
     nasm
-    # harfbuzz # in versions over 63 harfbuzz and freetype are being built together
-               # so we can't build with one from system and other from source
   ];
 
   # build paths and release info
@@ -135,15 +133,15 @@ let
     };
 
     nativeBuildInputs = [
+      llvmPackages.lldClang.bintools
       ninja which python2Packages.python perl pkgconfig
       python2Packages.ply python2Packages.jinja2 nodejs
       gnutar python2Packages.setuptools
-      (xorg.xcbproto.override { python = python2Packages.python; })
     ];
 
     buildInputs = defaultDependencies ++ [
       nspr nss systemd
-      utillinux alsaLib
+      util-linux alsaLib
       bison gperf kerberos
       glib gtk3 dbus-glib
       libXScrnSaver libXcursor libXtst libGLU libGL
@@ -155,36 +153,37 @@ let
       ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
       ++ optionals cupsSupport [ libgcrypt cups ]
       ++ optional pulseSupport libpulseaudio
-      ++ optionals useOzone [ libdrm wayland mesa_drivers libxkbcommon ];
-
-    patches = optionals (versionRange "68" "86") [
-      ./patches/nix_plugin_paths_68.patch
-    ] ++ [
-      ./patches/remove-webp-include-69.patch
-      ./patches/no-build-timestamps.patch
-      ./patches/widevine-79.patch
-      ./patches/dont-use-ANGLE-by-default.patch
-      # Unfortunately, chromium regularly breaks on major updates and
-      # then needs various patches backported in order to be compiled with GCC.
-      # Good sources for such patches and other hints:
-      # - https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/
-      # - https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/chromium
-      # - https://github.com/chromium/chromium/search?q=GCC&s=committer-date&type=Commits
-      #
-      # ++ optionals (channel == "dev") [ ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" ) ]
+      ++ optionals useOzone [ libdrm wayland mesa.drivers libxkbcommon ];
+
+    patches = [
+      ./patches/no-build-timestamps.patch # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed)
+      ./patches/widevine-79.patch # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags
       # ++ optional (versionRange "68" "72") ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" )
-    ] ++ optionals (useVaapi && versionRange "68" "86") [ # Improvements for the VA-API build:
-      ./patches/enable-vdpau-support-for-nvidia.patch # https://aur.archlinux.org/cgit/aur.git/tree/vdpau-support.patch?h=chromium-vaapi
-      ./patches/enable-video-acceleration-on-linux.patch # Can be controlled at runtime (i.e. without rebuilding Chromium)
+    ] ++ optionals (useVaapi && versionRange "86" "87") [
+      # Check for enable-accelerated-video-decode on Linux:
+      (githubPatch "54deb9811ca9bd2327def5c05ba6987b8c7a0897" "11jvxjlkzz1hm0pvfyr88j7z3zbwzplyl5idkx92l2lzv4459c8d")
     ];
 
-    postPatch = optionalString (!versionRange "0" "86") ''
+    postPatch = ''
+      # remove unused third-party
+      for lib in ${toString gnSystemLibraries}; do
+        if [ -d "third_party/$lib" ]; then
+          find "third_party/$lib" -type f \
+            \! -path "third_party/$lib/chromium/*" \
+            \! -path "third_party/$lib/google/*" \
+            \! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \
+            \! -regex '.*\.\(gn\|gni\|isolate\)' \
+            -delete
+        fi
+      done
+
       # Required for patchShebangs (unsupported interpreter directive, basename: invalid option -- '*', etc.):
-      substituteInPlace native_client/SConstruct \
-        --replace "#! -*- python -*-" ""
-      substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \
-        --replace "/usr/bin/env -S make -f" "/usr/bin/make -f"
-    '' + ''
+      substituteInPlace native_client/SConstruct --replace "#! -*- python -*-" ""
+      if [ -e third_party/harfbuzz-ng/src/src/update-unicode-tables.make ]; then
+        substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \
+          --replace "/usr/bin/env -S make -f" "/usr/bin/make -f"
+      fi
+
       # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX
       substituteInPlace sandbox/linux/suid/client/setuid_sandbox_host.cc \
         --replace \
@@ -202,11 +201,6 @@ let
           '/usr/share/locale/' \
           '${glibc}/share/locale/'
 
-      substituteInPlace ui/gfx/x/BUILD.gn \
-        --replace \
-          '/usr/share/xcb' \
-          '${xorg.xcbproto}/share/xcb/'
-
       sed -i -e 's@"\(#!\)\?.*xdg-@"\1${xdg_utils}/bin/xdg-@' \
         chrome/browser/shell_integration_linux.cc
 
@@ -216,42 +210,20 @@ let
       sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
         gpu/config/gpu_info_collector_linux.cc
 
-      sed -i -re 's/([^:])\<(isnan *\()/\1std::\2/g' \
-        chrome/browser/ui/webui/engagement/site_engagement_ui.cc
-
-      sed -i -e '/#include/ {
-        i #include <algorithm>
-        :l; n; bl
-      }' gpu/config/gpu_control_list.cc
-
       # Allow to put extensions into the system-path.
       sed -i -e 's,/usr,/run/current-system/sw,' chrome/common/chrome_paths.cc
 
       patchShebangs .
       # use our own nodejs
       mkdir -p third_party/node/linux/node-linux-x64/bin
-      ln -s $(which node) third_party/node/linux/node-linux-x64/bin/node
+      ln -s "$(command -v node)" third_party/node/linux/node-linux-x64/bin/node
+
+      # Allow building against system libraries in official builds
+      sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py
 
-      # remove unused third-party
-      # in third_party/crashpad third_party/zlib contains just a header-adapter
-      for lib in ${toString gnSystemLibraries}; do
-        find -type f -path "*third_party/$lib/*"     \
-            \! -path "*third_party/crashpad/crashpad/third_party/zlib/*"  \
-            \! -path "*third_party/$lib/chromium/*"  \
-            \! -path "*third_party/$lib/google/*"    \
-            \! -path "*base/third_party/icu/*"       \
-            \! -path "*base/third_party/libevent/*"  \
-            \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
-            -delete
-      done
     '' + optionalString stdenv.isAarch64 ''
       substituteInPlace build/toolchain/linux/BUILD.gn \
         --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
-    '' + optionalString stdenv.cc.isClang ''
-      mkdir -p third_party/llvm-build/Release+Asserts/bin
-      ln -s ${stdenv.cc}/bin/clang              third_party/llvm-build/Release+Asserts/bin/clang
-      ln -s ${stdenv.cc}/bin/clang++            third_party/llvm-build/Release+Asserts/bin/clang++
-      ln -s ${llvmPackages.llvm}/bin/llvm-ar    third_party/llvm-build/Release+Asserts/bin/llvm-ar
     '' + optionalString ungoogled ''
       ${ungoogler}/utils/prune_binaries.py . ${ungoogler}/pruning.list || echo "some errors"
       ${ungoogler}/utils/patches.py . ${ungoogler}/patches
@@ -259,9 +231,9 @@ let
     '';
 
     gnFlags = mkGnFlags ({
-      use_lld = false;
-      use_gold = true;
-      gold_path = "${stdenv.cc}/bin";
+      custom_toolchain = "//build/toolchain/linux/unbundle:default";
+      host_toolchain = "//build/toolchain/linux/unbundle:default";
+      is_official_build = true;
       is_debug = false;
 
       proprietary_codecs = false;
@@ -283,6 +255,7 @@ let
       is_clang = stdenv.cc.isClang;
       clang_use_chrome_plugins = false;
       blink_symbol_level = 0;
+      symbol_level = 0;
       fieldtrial_testing_like_official_build = true;
 
       # Google API keys, see:
@@ -336,8 +309,7 @@ let
 
       # This is to ensure expansion of $out.
       libExecPath="${libExecPath}"
-      python build/linux/unbundle/replace_gn_files.py \
-        --system-libraries ${toString gnSystemLibraries}
+      python build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries}
       ${gnChromium}/bin/gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt
 
       # Fail if `gn gen` contains a WARNING.
@@ -352,15 +324,8 @@ let
     NIX_CFLAGS_COMPILE = "-Wno-unknown-warning-option";
 
     buildPhase = let
-      # Build paralelism: on Hydra the build was frequently running into memory
-      # exhaustion, and even other users might be running into similar issues.
-      # -j is halved to avoid memory problems, and -l is slightly increased
-      # so that the build gets slight preference before others
-      # (it will often be on "critical path" and at risk of timing out)
       buildCommand = target: ''
-        ninja -C "${buildPath}"  \
-          -j$(( ($NIX_BUILD_CORES+1) / 2 )) -l$(( $NIX_BUILD_CORES+1 )) \
-          "${target}"
+        ninja -C "${buildPath}" -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES "${target}"
         (
           source chrome/installer/linux/common/installer.include
           PACKAGE=$packageName
@@ -379,7 +344,12 @@ let
       patchelf --set-rpath "${libGL}/lib:$origRpath" "$chromiumBinary"
     '';
 
-    passthru.updateScript = ./update.py;
+    passthru = {
+      updateScript = ./update.py;
+      chromiumDeps = {
+        gn = gnChromium;
+      };
+    };
   };
 
 # Remove some extraAttrs we supplied to the base attributes already.
diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/default.nix b/pkgs/applications/networking/browsers/ungoogled-chromium/default.nix
index 7c581ee633f6b..b02c91c6e230e 100644
--- a/pkgs/applications/networking/browsers/ungoogled-chromium/default.nix
+++ b/pkgs/applications/networking/browsers/ungoogled-chromium/default.nix
@@ -1,5 +1,5 @@
 { newScope, config, stdenv, fetchurl, makeWrapper
-, llvmPackages_10, llvmPackages_11, ed, gnugrep, coreutils, xdg_utils
+, llvmPackages_11, ed, gnugrep, coreutils, xdg_utils
 , glib, gtk3, gnome3, gsettings-desktop-schemas, gn, fetchgit
 , libva ? null
 , pipewire_0_2
@@ -14,8 +14,7 @@
 , proprietaryCodecs ? true
 , enablePepperFlash ? false
 , enableWideVine ? false
-, useVaapi ? false # Deprecated, use enableVaapi instead!
-, enableVaapi ? false # Disabled by default due to unofficial support and issues on radeon
+, enableVaapi ? false # Disabled by default due to unofficial support
 , ungoogled ? true
 , useOzone ? false
 , cupsSupport ? true
@@ -24,7 +23,7 @@
 }:
 
 let
-  llvmPackages = llvmPackages_10;
+  llvmPackages = llvmPackages_11;
   stdenv = llvmPackages.stdenv;
 
   callPackage = newScope chromium;
@@ -38,36 +37,15 @@ let
       inherit channel gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs
               cupsSupport pulseSupport useOzone;
       inherit ungoogled;
-      # TODO: Remove after we can update gn for the stable channel (backward incompatible changes):
       gnChromium = gn.overrideAttrs (oldAttrs: {
-        version = "2020-05-19";
+        inherit (upstream-info.deps.gn) version;
         src = fetchgit {
-          url = "https://gn.googlesource.com/gn";
-          rev = "d0a6f072070988e7b038496c4e7d6c562b649732";
-          sha256 = "0197msabskgfbxvhzq73gc3wlr3n9cr4bzrhy5z5irbvy05lxk17";
-        };
-      });
-    } // lib.optionalAttrs (lib.versionAtLeast upstream-info.version "86") {
-      llvmPackages = llvmPackages_11;
-      gnChromium = gn.overrideAttrs (oldAttrs: {
-        version = "2020-07-20";
-        src = fetchgit {
-          url = "https://gn.googlesource.com/gn";
-          rev = "3028c6a426a4aaf6da91c4ebafe716ae370225fe";
-          sha256 = "0h3wf4152zdvrbb0jbj49q6814lfl3rcy5mj8b2pl9s0ahvkbc6q";
+          inherit (upstream-info.deps.gn) url rev sha256;
         };
       });
     } // lib.optionalAttrs (lib.versionAtLeast upstream-info.version "87") {
-      llvmPackages = llvmPackages_11;
       useOzone = true; # YAY: https://chromium-review.googlesource.com/c/chromium/src/+/2382834 \o/
-      gnChromium = gn.overrideAttrs (oldAttrs: {
-        version = "2020-08-17";
-        src = fetchgit {
-          url = "https://gn.googlesource.com/gn";
-          rev = "6f13aaac55a977e1948910942675c69f2b4f7a94";
-          sha256 = "01hpma1sllpdx09mvr4d6073sg6zmk6iv44kd3r28khymcj4s251";
-        };
-      });
+      useVaapi = !stdenv.isAarch64; # TODO: Might be best to not set use_vaapi anymore (default is fine)
     });
 
     browser = callPackage ./browser.nix { inherit channel enableWideVine; };
@@ -162,13 +140,6 @@ let
       ''
     else browser;
 
-  optionalVaapiFlags = if useVaapi # TODO: Remove after 20.09:
-    then throw ''
-      Chromium's useVaapi was replaced by enableVaapi and you don't need to pass
-      "--ignore-gpu-blacklist" anymore (also no rebuilds are required anymore).
-    '' else lib.optionalString
-      (!enableVaapi)
-      "--add-flags --disable-accelerated-video-decode --add-flags --disable-accelerated-video-encode";
 in stdenv.mkDerivation {
   name = "ungoogled-chromium${suffix}-${version}";
   inherit version;
@@ -195,7 +166,7 @@ in stdenv.mkDerivation {
 
     eval makeWrapper "${browserBinary}" "$out/bin/chromium" \
       --add-flags ${escapeShellArg (escapeShellArg commandLineArgs)} \
-      ${optionalVaapiFlags} \
+      ${lib.optionalString enableVaapi "--add-flags --enable-accelerated-video-decode"} \
       ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled}
 
     ed -v -s "$out/bin/chromium" << EOF
diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/dont-use-ANGLE-by-default.patch b/pkgs/applications/networking/browsers/ungoogled-chromium/patches/dont-use-ANGLE-by-default.patch
deleted file mode 100644
index 9f14a304eb344..0000000000000
--- a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/dont-use-ANGLE-by-default.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-A field trial currently enables the passthrough command decoder, which causes
-gl_factory.cc to try kGLImplementationEGLANGLE first, which causes Chromium to fail
-to load libGLESv2.so on NixOS.  It somehow does not try kGLImplementationDesktopGL,
-and so there is no GL support at all.
-
-Revert to using the validating command decoder, which prevents gl_factory.cc
-from touching allowed_impls, allowing it to successfully use kGLImplementationDesktopGL.
-
-diff --git a/ui/gl/gl_utils.cc b/ui/gl/gl_utils.cc
-index 697cbed5fe2d..8419bdb21a2f 100644
---- a/ui/gl/gl_utils.cc
-+++ b/ui/gl/gl_utils.cc
-@@ -71,9 +71,10 @@ bool UsePassthroughCommandDecoder(const base::CommandLine* command_line) {
-   } else if (switch_value == kCmdDecoderValidatingName) {
-     return false;
-   } else {
--    // Unrecognized or missing switch, use the default.
--    return base::FeatureList::IsEnabled(
--        features::kDefaultPassthroughCommandDecoder);
-+    // Ignore the field trial that enables it; disable it until
-+    // gl_factory.cc kGLImplementationEGLANGLE issues are sorted
-+    // out on NixOS.
-+    return false;
-   }
- }
- }
diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/enable-vdpau-support-for-nvidia.patch b/pkgs/applications/networking/browsers/ungoogled-chromium/patches/enable-vdpau-support-for-nvidia.patch
deleted file mode 100644
index 8d879de7bfd88..0000000000000
--- a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/enable-vdpau-support-for-nvidia.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
-+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
-@@ -641,6 +641,7 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers(
-   // |vpp_vaapi_wrapper_| for VaapiPicture to DownloadFromSurface() the VA's
-   // internal decoded frame.
-   if (buffer_allocation_mode_ != BufferAllocationMode::kNone &&
-+      buffer_allocation_mode_ != BufferAllocationMode::kWrapVdpau &&
-       !vpp_vaapi_wrapper_) {
-     vpp_vaapi_wrapper_ = VaapiWrapper::Create(
-         VaapiWrapper::kVideoProcess, VAProfileNone,
-@@ -665,7 +666,8 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers(
-     PictureBuffer buffer = buffers[i];
-     buffer.set_size(requested_pic_size_);
-     std::unique_ptr<VaapiPicture> picture = vaapi_picture_factory_->Create(
--        (buffer_allocation_mode_ == BufferAllocationMode::kNone)
-+        ((buffer_allocation_mode_ == BufferAllocationMode::kNone) ||
-+         (buffer_allocation_mode_ == BufferAllocationMode::kWrapVdpau))
-             ? vaapi_wrapper_
-             : vpp_vaapi_wrapper_,
-         make_context_current_cb_, bind_image_cb_, buffer);
-@@ -1093,6 +1095,12 @@ VaapiVideoDecodeAccelerator::GetSupportedProfiles() {
-
- VaapiVideoDecodeAccelerator::BufferAllocationMode
- VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
-+  // NVIDIA blobs use VDPAU
-+  if (VaapiWrapper::GetImplementationType() == VAImplementation::kNVIDIAVDPAU) {
-+    LOG(INFO) << "VA-API driver on VDPAU backend";
-+    return BufferAllocationMode::kWrapVdpau;
-+  }
-+
-   // TODO(crbug.com/912295): Enable a better BufferAllocationMode for IMPORT
-   // |output_mode_| as well.
-   if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
---- a/media/gpu/vaapi/vaapi_video_decode_accelerator.h
-+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.h
-@@ -204,6 +204,7 @@ class MEDIA_GPU_EXPORT VaapiVideoDecodeAccelerator
-     // Using |client_|s provided PictureBuffers and as many internally
-     // allocated.
-     kNormal,
-+    kWrapVdpau,
-   };
-
-   // Decides the concrete buffer allocation mode, depending on the hardware
---- a/media/gpu/vaapi/vaapi_wrapper.cc
-+++ b/media/gpu/vaapi/vaapi_wrapper.cc
-@@ -131,6 +131,9 @@ media::VAImplementation VendorStringToImplementationType(
-   } else if (base::StartsWith(va_vendor_string, "Intel iHD driver",
-                               base::CompareCase::SENSITIVE)) {
-     return media::VAImplementation::kIntelIHD;
-+  } else if (base::StartsWith(va_vendor_string, "Splitted-Desktop Systems VDPAU",
-+                              base::CompareCase::SENSITIVE)) {
-+    return media::VAImplementation::kNVIDIAVDPAU;
-   }
-   return media::VAImplementation::kOther;
- }
---- a/media/gpu/vaapi/vaapi_wrapper.h
-+++ b/media/gpu/vaapi/vaapi_wrapper.h
-@@ -79,6 +79,7 @@ enum class VAImplementation {
-   kIntelIHD,
-   kOther,
-   kInvalid,
-+  kNVIDIAVDPAU,
- };
-
- // This class handles VA-API calls and ensures proper locking of VA-API calls
diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/enable-video-acceleration-on-linux.patch b/pkgs/applications/networking/browsers/ungoogled-chromium/patches/enable-video-acceleration-on-linux.patch
deleted file mode 100644
index bd278633f67e0..0000000000000
--- a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/enable-video-acceleration-on-linux.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From b2144fd28e09cd52e7a88a62a9d9b54cf9922f9f Mon Sep 17 00:00:00 2001
-From: Michael Weiss <dev.primeos@gmail.com>
-Date: Tue, 14 Apr 2020 14:16:10 +0200
-Subject: [PATCH] Enable accelerated video decode on Linux
-
-This will enable accelerated video decode on Linux by default (i.e.
-without "--ignore-gpu-blacklist"), but on NixOS we'll provide
-"--disable-accelerated-video-decode" and
-"--disable-accelerated-video-encode" by default to avoid regressions
-(e.g. VA-API doesn't work properly for some radeon drivers).
-
-Video acceleration can then be enabled via:
-chromium.override { enableVaapi = true; }
-without rebuilding Chromium.
----
- gpu/config/software_rendering_list.json | 16 ----------------
- 1 file changed, 16 deletions(-)
-
-diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json
-index 22712bdbf38f..a06dd19a50e4 100644
---- a/gpu/config/software_rendering_list.json
-+++ b/gpu/config/software_rendering_list.json
-@@ -336,22 +336,6 @@
-       ]
-     },
-     {
--      "id": 48,
--      "description": "Accelerated video decode is unavailable on Linux",
--      "cr_bugs": [137247, 1032907],
--      "os": {
--        "type": "linux"
--      },
--      "exceptions": [
--        {
--          "machine_model_name": ["Chromecast"]
--        }
--      ],
--      "features": [
--        "accelerated_video_decode"
--      ]
--    },
--    {
-       "id": 50,
-       "description": "Disable VMware software renderer on older Mesa",
-       "cr_bugs": [145531, 332596, 571899, 629434],
--- 
-2.11.0
-
diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/nix_plugin_paths_68.patch b/pkgs/applications/networking/browsers/ungoogled-chromium/patches/nix_plugin_paths_68.patch
deleted file mode 100644
index da6a4c92b4602..0000000000000
--- a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/nix_plugin_paths_68.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc
-index f4e119d..d9775bd 100644
---- a/chrome/common/chrome_paths.cc
-+++ b/chrome/common/chrome_paths.cc
-@@ -68,21 +68,14 @@ static base::LazyInstance<base::FilePath>
-     g_invalid_specified_user_data_dir = LAZY_INSTANCE_INITIALIZER;
- 
- // Gets the path for internal plugins.
--bool GetInternalPluginsDirectory(base::FilePath* result) {
--#if defined(OS_MACOSX)
--  // If called from Chrome, get internal plugins from a subdirectory of the
--  // framework.
--  if (base::mac::AmIBundled()) {
--    *result = chrome::GetFrameworkBundlePath();
--    DCHECK(!result->empty());
--    *result = result->Append("Internet Plug-Ins");
--    return true;
--  }
--  // In tests, just look in the module directory (below).
--#endif
--
--  // The rest of the world expects plugins in the module directory.
--  return base::PathService::Get(base::DIR_MODULE, result);
-+bool GetInternalPluginsDirectory(base::FilePath* result,
-+                                 const std::string& ident) {
-+  std::string full_env = std::string("NIX_CHROMIUM_PLUGIN_PATH_") + ident;
-+  const char* value = getenv(full_env.c_str());
-+  if (value == NULL)
-+      return base::PathService::Get(base::DIR_MODULE, result);
-+  else
-+      *result = base::FilePath(value);
- }
- 
- // Gets the path for bundled implementations of components. Note that these
-@@ -272,7 +265,7 @@ bool PathProvider(int key, base::FilePath* result) {
-       create_dir = true;
-       break;
-     case chrome::DIR_INTERNAL_PLUGINS:
--      if (!GetInternalPluginsDirectory(&cur))
-+      if (!GetInternalPluginsDirectory(&cur, "ALL"))
-         return false;
-       break;
-     case chrome::DIR_COMPONENTS:
-@@ -280,7 +273,7 @@ bool PathProvider(int key, base::FilePath* result) {
-         return false;
-       break;
-     case chrome::DIR_PEPPER_FLASH_PLUGIN:
--      if (!GetInternalPluginsDirectory(&cur))
-+      if (!GetInternalPluginsDirectory(&cur, "PEPPERFLASH"))
-         return false;
-       cur = cur.Append(kPepperFlashBaseDirectory);
-       break;
-@@ -358,7 +351,7 @@ bool PathProvider(int key, base::FilePath* result) {
-         cur = cur.DirName();
-       }
- #else
--      if (!GetInternalPluginsDirectory(&cur))
-+      if (!GetInternalPluginsDirectory(&cur, "PNACL"))
-         return false;
- #endif
-       cur = cur.Append(FILE_PATH_LITERAL("pnacl"));
diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/remove-webp-include-69.patch b/pkgs/applications/networking/browsers/ungoogled-chromium/patches/remove-webp-include-69.patch
deleted file mode 100644
index 07572cf7ee947..0000000000000
--- a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/remove-webp-include-69.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/third_party/blink/renderer/platform/image-encoders/image_encoder.cc
-+++ b/third_party/blink/renderer/platform/image-encoders/image_encoder.cc
-@@ -13,7 +13,7 @@
-
- #include "jpeglib.h"  // for JPEG_MAX_DIMENSION
-
--#include "third_party/libwebp/src/webp/encode.h"  // for WEBP_MAX_DIMENSION
-+#define WEBP_MAX_DIMENSION 16383
-
- namespace blink {
-
diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/ungoogled-src.nix b/pkgs/applications/networking/browsers/ungoogled-chromium/ungoogled-src.nix
index 73f4e4c9e83d8..73c9796aaa960 100644
--- a/pkgs/applications/networking/browsers/ungoogled-chromium/ungoogled-src.nix
+++ b/pkgs/applications/networking/browsers/ungoogled-chromium/ungoogled-src.nix
@@ -1,6 +1,6 @@
 {
-  "85.0.4183.102" = {
-    rev = "85.0.4183.102-1";
-    sha256 = "1mdx4a5zcs3an9yx1jxx4amq8p9rcj0hv76r8y7nz6cpsfgd9n3y";
+  "86.0.4240.183" = {
+    rev = "86.0.4240.183-1";
+    sha256 = "0528l2wr5bpl1cwsxzl5zxz1gw91kffkh5j1kzmc5n7m4mscqxyc";
   };
 }
diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/update.py b/pkgs/applications/networking/browsers/ungoogled-chromium/update.py
index bfc7f0d2478c3..b404ca555bffa 100755
--- a/pkgs/applications/networking/browsers/ungoogled-chromium/update.py
+++ b/pkgs/applications/networking/browsers/ungoogled-chromium/update.py
@@ -1,13 +1,15 @@
 #! /usr/bin/env nix-shell
-#! nix-shell -i python -p python3 nix
+#! nix-shell -i python -p python3 nix nix-prefetch-git
 
 import csv
 import json
+import re
 import subprocess
 import sys
 
 from codecs import iterdecode
 from collections import OrderedDict
+from datetime import datetime
 from os.path import abspath, dirname
 from urllib.request import urlopen
 
@@ -26,6 +28,30 @@ def nix_prefetch_url(url, algo='sha256'):
     out = subprocess.check_output(['nix-prefetch-url', '--type', algo, url])
     return out.decode('utf-8').rstrip()
 
+def nix_prefetch_git(url, rev):
+    print(f'nix-prefetch-git {url} {rev}')
+    out = subprocess.check_output(['nix-prefetch-git', '--quiet', '--url', url, '--rev', rev])
+    return json.loads(out)
+
+def get_file_revision(revision, file_path):
+    url = f'https://raw.githubusercontent.com/chromium/chromium/{revision}/{file_path}'
+    with urlopen(url) as http_response:
+        return http_response.read()
+
+def get_channel_dependencies(channel):
+    deps = get_file_revision(channel['version'], 'DEPS')
+    gn_pattern = b"'gn_version': 'git_revision:([0-9a-f]{40})'"
+    gn_commit = re.search(gn_pattern, deps).group(1).decode()
+    gn = nix_prefetch_git('https://gn.googlesource.com/gn', gn_commit)
+    return {
+        'gn': {
+            'version': datetime.fromisoformat(gn['date']).date().isoformat(),
+            'url': gn['url'],
+            'rev': gn['rev'],
+            'sha256': gn['sha256']
+        }
+    }
+
 channels = {}
 last_channels = load_json(JSON_PATH)
 
@@ -58,6 +84,8 @@ with urlopen(HISTORY_URL) as resp:
             # the next one.
             continue
 
+        channel['deps'] = get_channel_dependencies(channel)
+
         channels[channel_name] = channel
 
 with open(JSON_PATH, 'w') as out:
diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/upstream-info.json b/pkgs/applications/networking/browsers/ungoogled-chromium/upstream-info.json
index dae7f741b3576..565f884c5102d 100644
--- a/pkgs/applications/networking/browsers/ungoogled-chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/ungoogled-chromium/upstream-info.json
@@ -1,17 +1,41 @@
 {
   "stable": {
-    "version": "85.0.4183.102",
-    "sha256": "032yh1mfwins7a62zw8kwwq8xw1n52a0a93lqz7qlyjaf9sd8s4a",
-    "sha256bin64": "1i8xaxxnmg80vsia8hxnq58qi9k5nnbrl80d6d23g9lb7dbc9cpm"
+    "version": "86.0.4240.183",
+    "sha256": "1g39i82js7fm4fqb8i66d6xs0kzqjxzi4vzvvwz5y9rkbikcc4ma",
+    "sha256bin64": "1r0dxqsx6j19hgwr3v2sdlb2vd7gb961c4wba4ymd8wy8j8pzly9",
+    "deps": {
+      "gn": {
+        "version": "2020-08-07",
+        "url": "https://gn.googlesource.com/gn",
+        "rev": "e327ffdc503815916db2543ec000226a8df45163",
+        "sha256": "0kvlfj3www84zp1vmxh76x8fdjm9hyk8lkh2vdsidafpmm75fphr"
+      }
+    }
   },
   "beta": {
-    "version": "86.0.4240.30",
-    "sha256": "1isj0zngb72k1hhn3h0s8mccg1cdmppz1mjmg19f2h306farzmzl",
-    "sha256bin64": "10d8im2adqqnkd6265gngv6xlm5qsz6r13z6cbbchsss0ssr8fxa"
+    "version": "87.0.4280.40",
+    "sha256": "07xh76fl257np68way6i5rf64qbvirkfddy7m5gvqb0fzcqd7dp3",
+    "sha256bin64": "1b2z0aqlh28pqrk6dmabxp1d4mvp9iyfmi4kqmns4cdpg0qgaf41",
+    "deps": {
+      "gn": {
+        "version": "2020-09-09",
+        "url": "https://gn.googlesource.com/gn",
+        "rev": "e002e68a48d1c82648eadde2f6aafa20d08c36f2",
+        "sha256": "0x4c7amxwzxs39grqs3dnnz0531mpf1p75niq7zhinyfqm86i4dk"
+      }
+    }
   },
   "dev": {
-    "version": "87.0.4252.0",
-    "sha256": "1lxlsdni63zh79hxvpwgmnfn67kgfzhz3yg9bkxghqchqykkz92y",
-    "sha256bin64": "130hf7b35wcxpw05ddbqq89x10c0kays1vb9qg6xhq3zx2mk6ijw"
+    "version": "88.0.4300.0",
+    "sha256": "00cfs2rp4h8ybn2snr1d8ygg635hx7q5gv2aqriy1j6f8a1pgh1b",
+    "sha256bin64": "110r1m14h91212nx6pfhn8wkics7wlwx1608l5cqsxxcpvpzl3pv",
+    "deps": {
+      "gn": {
+        "version": "2020-09-09",
+        "url": "https://gn.googlesource.com/gn",
+        "rev": "e002e68a48d1c82648eadde2f6aafa20d08c36f2",
+        "sha256": "0x4c7amxwzxs39grqs3dnnz0531mpf1p75niq7zhinyfqm86i4dk"
+      }
+    }
   }
 }
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 29a48939facc8..aa4dd7f8e4439 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -18,11 +18,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "3.3.2022.47-1";
+  version = "3.4.2066.90-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "0lraliqb5r8akh8lfmw2sy90s58sbghcpc598nlz2d89f91yq7vz";
+    sha256 = "059vcr2j0vr8szqcxfqnzxwy5i8z53g71fwhm22nc0477jbrsxz1";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/browsers/webbrowser/default.nix b/pkgs/applications/networking/browsers/webbrowser/default.nix
index d107581707849..5190f1a7b534d 100644
--- a/pkgs/applications/networking/browsers/webbrowser/default.nix
+++ b/pkgs/applications/networking/browsers/webbrowser/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchgit, makeDesktopItem, pkgconfig, makeWrapper
 # Build
-, python2, autoconf213, yasm, perl, ccache
+, python2, autoconf213, yasm, perl
 , unzip, gnome2, gnum4
 
 # Runtime
@@ -41,7 +41,7 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    gnum4 makeWrapper perl pkgconfig python2 ccache
+    gnum4 makeWrapper perl pkgconfig python2
   ];
 
   buildInputs = [
@@ -54,7 +54,6 @@ in stdenv.mkDerivation rec {
   configurePhase = ''
     export MOZCONFIG=$PWD/.mozconfig
     export MOZ_NOSPAM=1
-    export HOME=$PWD # Needed by ccache
 
     cp $src/doc/mozconfig.example $MOZCONFIG
     # Need to modify it
@@ -65,7 +64,8 @@ in stdenv.mkDerivation rec {
       --replace "mk_add_options AUTOCONF=/usr/bin/autoconf-2.13" "mk_add_options AUTOCONF=${autoconf213}/bin/autoconf" \
       --replace 'mk_add_options MOZ_OBJDIR=$HOME/build/wbobjects/' "" \
       --replace "ac_add_options --x-libraries=/usr/lib64" "ac_add_options --x-libraries=${lib.makeLibraryPath [ xorg.libX11 ]}" \
-      --replace "_BUILD_64=1" "_BUILD_64=${lib.optionalString stdenv.hostPlatform.is64bit "1"}"
+      --replace "_BUILD_64=1" "_BUILD_64=${lib.optionalString stdenv.hostPlatform.is64bit "1"}" \
+      --replace "--enable-ccache" "--disable-ccache"
 
     echo >> $MOZCONFIG '
     #
diff --git a/pkgs/applications/networking/c14/default.nix b/pkgs/applications/networking/c14/default.nix
index afd9aa53ac657..58d9d026f97d9 100644
--- a/pkgs/applications/networking/c14/default.nix
+++ b/pkgs/applications/networking/c14/default.nix
@@ -14,7 +14,7 @@ buildGoPackage rec {
   };
 
   meta = with stdenv.lib; {
-    description = "C14 is designed for data archiving & long-term backups.";
+    description = "C14 is designed for data archiving & long-term backups";
     homepage = "https://www.online.net/en/storage/c14-cold-storage";
     license = licenses.mit;
     maintainers = with maintainers; [ apeyroux ];
diff --git a/pkgs/applications/networking/calls/default.nix b/pkgs/applications/networking/calls/default.nix
index 39ad9ef1d15fa..e57cf810491c5 100644
--- a/pkgs/applications/networking/calls/default.nix
+++ b/pkgs/applications/networking/calls/default.nix
@@ -3,7 +3,7 @@
 , meson
 , ninja
 , pkgconfig
-, libhandy
+, libhandy_0
 , modemmanager
 , gtk3
 , gom
@@ -43,13 +43,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     modemmanager
-    libhandy
+    libhandy_0
     evolution-data-server
     folks
     gom
     gsound
     gtk3
-    libhandy
     libpeas
   ];
 
diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix
index 96767f63653e9..3e19af619db38 100644
--- a/pkgs/applications/networking/cloudflared/default.nix
+++ b/pkgs/applications/networking/cloudflared/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2020.6.1";
+  version = "2020.11.11";
 
   src = fetchFromGitHub {
     owner  = "cloudflare";
     repo   = "cloudflared";
     rev    = version;
-    sha256 = "09jdgpglm4v7pivx8016zzdvj0xkdhaa8xl71p2akc2jn8i8i6gb";
+    sha256 = "059q0k53n8cc78cg70pw7dnbc1cjzv3kdvw3cfamvkrmscqgczxd";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index 72c3955f90f34..4009bf96cd4fb 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -19,16 +19,16 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "2.10.1";
+  version = "2.11.8";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "1k023rq4p0hvq5famxm83csp3zsijrki8myk6v83xyfigwxc8sia";
+    sha256 = "19nkkj69506759qjfrz6d7j57z8rqjslgfrdrkx01ri68cil4mfh";
   };
 
-  vendorSha256 = "0fqdxs3r4249qxlc9cac0lpbqf2aifkcah07v0cckb9rxfyiwhjz";
+  vendorSha256 = "1ca0ssvbi4vrsn9ljc783hnh9bmf5p8nr1lz5wm8g3gbrrrf1ray";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index 505de3c080214..981e555462a32 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,24 +2,22 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "1.4.2";
-  commit = "48cced9d925b5bc94f6aa9fa4a8a19b2a59e128a";
+  version = "1.7.10";
+  commit = "ef5010c3a0b5e027fd642732d03c5b0391b1e574";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = "v${version}";
-    sha256 = "01vsyrks1k5yfvrarv8ia0isr7snilr21b7lfiy860si82r2r8hj";
+    sha256 = "1vkdny88lmxkm3iw8qv5rrl0g5xwi16hfm2f6dga8i8xl555m78c";
   };
 
-  vendorSha256 = "0r2nh7v00m6zbdnhsgjn01q9pkiz41ckkqgfnpqmkxaqmjz31iyj";
+  vendorSha256 = "0c5gykijwjrq3cx9qg9hm5j7axccngc1kp5qj3429a2ilw80l8pl";
 
   doCheck = false;
 
   nativeBuildInputs = [ packr ];
 
-  patches = [ ./use-go-module.patch ];
-
   buildFlagsArray = ''
      -ldflags=
       -X github.com/argoproj/argo-cd/common.version=${version}
diff --git a/pkgs/applications/networking/cluster/argocd/use-go-module.patch b/pkgs/applications/networking/cluster/argocd/use-go-module.patch
deleted file mode 100644
index ac597f4187e94..0000000000000
--- a/pkgs/applications/networking/cluster/argocd/use-go-module.patch
+++ /dev/null
@@ -1,3058 +0,0 @@
-diff --git a/Gopkg.lock b/Gopkg.lock
-deleted file mode 100644
-index 03737a95..00000000
---- a/Gopkg.lock
-+++ /dev/null
-@@ -1,2103 +0,0 @@
--# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
--
--
--[[projects]]
--  digest = "1:6d5a057da97a9dbdb10e7beedd2f43452b6bf7691001c0c8886e8dacf5610349"
--  name = "bou.ke/monkey"
--  packages = ["."]
--  pruneopts = ""
--  revision = "bdf6dea004c6fd1cdf4b25da8ad45a606c09409a"
--  version = "v1.0.1"
--
--[[projects]]
--  digest = "1:9702dc153c9bb6ee7ee0587c248b7024700e89e4a7be284faaeeab9da32e1c6b"
--  name = "cloud.google.com/go"
--  packages = ["compute/metadata"]
--  pruneopts = ""
--  revision = "767c40d6a2e058483c25fa193e963a22da17236d"
--  version = "v0.18.0"
--
--[[projects]]
--  digest = "1:8ec1618fc3ee146af104d6c13be250f25e5976e34557d4afbfe4b28035ce6c05"
--  name = "github.com/Knetic/govaluate"
--  packages = ["."]
--  pruneopts = ""
--  revision = "d216395917cc49052c7c7094cf57f09657ca08a8"
--  version = "v3.0.0"
--
--[[projects]]
--  digest = "1:63e57618d792cccb87ad7cb8a0602e6205732beb3b01b0ea858fc4a5fd3ce8f1"
--  name = "github.com/MakeNowJust/heredoc"
--  packages = ["."]
--  pruneopts = ""
--  revision = "efb6ca8de9d5385c3963279701760e37637cf238"
--  version = "v2.0.1"
--
--[[projects]]
--  digest = "1:b856d8248663c39265a764561c1a1a149783f6cc815feb54a1f3a591b91f6eca"
--  name = "github.com/Masterminds/semver"
--  packages = ["."]
--  pruneopts = ""
--  revision = "c7af12943936e8c39859482e61f0574c2fd7fc75"
--  version = "v1.4.2"
--
--[[projects]]
--  digest = "1:71c0dfb843260bfb9b03357cae8eac261b8d82e149ad8f76938b87a23aa47c43"
--  name = "github.com/PuerkitoBio/purell"
--  packages = ["."]
--  pruneopts = ""
--  revision = "b938d81255b5473c57635324295cb0fe398c7a58"
--
--[[projects]]
--  branch = "master"
--  digest = "1:331a419049c2be691e5ba1d24342fc77c7e767a80c666a18fd8a9f7b82419c1c"
--  name = "github.com/PuerkitoBio/urlesc"
--  packages = ["."]
--  pruneopts = ""
--  revision = "de5bf2ad457846296e2031421a34e2568e304e35"
--
--[[projects]]
--  branch = "master"
--  digest = "1:a1b56af5e69569454f55ef4842485a0da5616e240a610d77c987e17a73b0e265"
--  name = "github.com/TomOnTime/utfutil"
--  packages = ["."]
--  pruneopts = ""
--  revision = "09c41003ee1d5015b75f331e52215512e7145b8d"
--
--[[projects]]
--  branch = "master"
--  digest = "1:52905b00a73cda93a2ce8c5fa35185daed673d59e39576e81ad6ab6fb7076b3c"
--  name = "github.com/argoproj/pkg"
--  packages = [
--    "errors",
--    "exec",
--    "rand",
--    "time",
--  ]
--  pruneopts = ""
--  revision = "02a6aac40ac4cd23de448afe7a1ec0ba4b6d2b96"
--
--[[projects]]
--  digest = "1:d8a2bb36a048d1571bcc1aee208b61f39dc16c6c53823feffd37449dde162507"
--  name = "github.com/asaskevich/govalidator"
--  packages = ["."]
--  pruneopts = ""
--  revision = "ccb8e960c48f04d6935e72476ae4a51028f9e22f"
--  version = "v9"
--
--[[projects]]
--  branch = "master"
--  digest = "1:c0bec5f9b98d0bc872ff5e834fac186b807b656683bd29cb82fb207a1513fabb"
--  name = "github.com/beorn7/perks"
--  packages = ["quantile"]
--  pruneopts = ""
--  revision = "3a771d992973f24aa725d07868b467d1ddfceafb"
--
--[[projects]]
--  digest = "1:6e2b0748ea11cffebe87b4a671a44ecfb243141cdd5df54cb44b7e8e93cb7ea3"
--  name = "github.com/casbin/casbin"
--  packages = [
--    ".",
--    "config",
--    "effect",
--    "errors",
--    "log",
--    "model",
--    "persist",
--    "persist/file-adapter",
--    "rbac",
--    "rbac/default-role-manager",
--    "util",
--  ]
--  pruneopts = ""
--  revision = "aaed1b7a7eac65d37ec4e15e308429fdf0bd6a9e"
--  version = "v1.9.1"
--
--[[projects]]
--  branch = "master"
--  digest = "1:9c19f8c33e635e0439c8afc167d6d02e3aa6eea5b69d64880244fd354a99edc4"
--  name = "github.com/chai2010/gettext-go"
--  packages = [
--    "gettext",
--    "gettext/mo",
--    "gettext/plural",
--    "gettext/po",
--  ]
--  pruneopts = ""
--  revision = "bf70f2a70fb1b1f36d90d671a72795984eab0fcb"
--
--[[projects]]
--  branch = "v2"
--  digest = "1:d8ee1b165eb7f4fd9ada718e1e7eeb0bc1fd462592d0bd823df694443f448681"
--  name = "github.com/coreos/go-oidc"
--  packages = ["."]
--  pruneopts = ""
--  revision = "1180514eaf4d9f38d0d19eef639a1d695e066e72"
--
--[[projects]]
--  digest = "1:56c130d885a4aacae1dd9c7b71cfe39912c7ebc1ff7d2b46083c8812996dc43b"
--  name = "github.com/davecgh/go-spew"
--  packages = ["spew"]
--  pruneopts = ""
--  revision = "346938d642f2ec3594ed81d874461961cd0faa76"
--  version = "v1.1.0"
--
--[[projects]]
--  digest = "1:6098222470fe0172157ce9bbef5d2200df4edde17ee649c5d6e48330e4afa4c6"
--  name = "github.com/dgrijalva/jwt-go"
--  packages = ["."]
--  pruneopts = ""
--  revision = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e"
--  version = "v3.2.0"
--
--[[projects]]
--  digest = "1:c05f1899f086e3b4613d94d9e6f7ba6f4b6587498a1aa6037c5c294b22f5a743"
--  name = "github.com/docker/distribution"
--  packages = [
--    "digestset",
--    "reference",
--  ]
--  pruneopts = ""
--  revision = "2461543d988979529609e8cb6fca9ca190dc48da"
--  version = "v2.7.1"
--
--[[projects]]
--  digest = "1:b021ef379356343bdc13ec101e546b756fcef4b1186d08163bef7d3bc8c1e07f"
--  name = "github.com/docker/docker"
--  packages = [
--    "pkg/term",
--    "pkg/term/winconsole",
--  ]
--  pruneopts = ""
--  revision = "fc4825d5ef5e0e1af74904208f9b925c22f0b6f8"
--  version = "v1.6.0-rc5"
--
--[[projects]]
--  branch = "master"
--  digest = "1:d6c13a378213e3de60445e49084b8a0a9ce582776dfc77927775dbeb3ff72a35"
--  name = "github.com/docker/spdystream"
--  packages = [
--    ".",
--    "spdy",
--  ]
--  pruneopts = ""
--  revision = "6480d4af844c189cf5dd913db24ddd339d3a4f85"
--
--[[projects]]
--  branch = "master"
--  digest = "1:f1a75a8e00244e5ea77ff274baa9559eb877437b240ee7b278f3fc560d9f08bf"
--  name = "github.com/dustin/go-humanize"
--  packages = ["."]
--  pruneopts = ""
--  revision = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e"
--
--[[projects]]
--  digest = "1:971e9ba63a417c5f1f83ab358677bc59e96ff04285f26c6646ff089fb60b15e8"
--  name = "github.com/emicklei/go-restful"
--  packages = [
--    ".",
--    "log",
--  ]
--  pruneopts = ""
--  revision = "3658237ded108b4134956c1b3050349d93e7b895"
--  version = "v2.7.1"
--
--[[projects]]
--  digest = "1:ba7c75e38d81b9cf3e8601c081567be3b71bccca8c11aee5de98871360aa4d7b"
--  name = "github.com/emirpasic/gods"
--  packages = [
--    "containers",
--    "lists",
--    "lists/arraylist",
--    "trees",
--    "trees/binaryheap",
--    "utils",
--  ]
--  pruneopts = ""
--  revision = "f6c17b524822278a87e3b3bd809fec33b51f5b46"
--  version = "v1.9.0"
--
--[[projects]]
--  digest = "1:46ddeb9dd35d875ac7568c4dc1fc96ce424e034bdbb984239d8ffc151398ec01"
--  name = "github.com/evanphx/json-patch"
--  packages = ["."]
--  pruneopts = ""
--  revision = "026c730a0dcc5d11f93f1cf1cc65b01247ea7b6f"
--  version = "v4.5.0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:549f95037fea25e00a5341ac6a169a5b3e5306be107f45260440107b779b74f9"
--  name = "github.com/exponent-io/jsonpath"
--  packages = ["."]
--  pruneopts = ""
--  revision = "d6023ce2651d8eafb5c75bb0c7167536102ec9f5"
--
--[[projects]]
--  digest = "1:23a5efa4b272df86a8ebffc942f5e0c1aac4b750836037394cc450b6d91e241a"
--  name = "github.com/fatih/camelcase"
--  packages = ["."]
--  pruneopts = ""
--  revision = "44e46d280b43ec1531bb25252440e34f1b800b65"
--  version = "v1.0.0"
--
--[[projects]]
--  digest = "1:b13707423743d41665fd23f0c36b2f37bb49c30e94adb813319c44188a51ba22"
--  name = "github.com/ghodss/yaml"
--  packages = ["."]
--  pruneopts = ""
--  revision = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7"
--  version = "v1.0.0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:eb77b66abaf9649747230eb973350bd1c311a0d0362213192efbdd222082b072"
--  name = "github.com/go-openapi/analysis"
--  packages = ["."]
--  pruneopts = ""
--  revision = "5957818e100395077187fb7ef3b8a28227af06c6"
--
--[[projects]]
--  branch = "master"
--  digest = "1:ee273c95c1414ef11bd4da259b40e83f41c1d5a6bee7d1b54a05ef5f3565fd92"
--  name = "github.com/go-openapi/errors"
--  packages = ["."]
--  pruneopts = ""
--  revision = "b2b2befaf267d082d779bcef52d682a47c779517"
--
--[[projects]]
--  branch = "master"
--  digest = "1:1287439f7765209116509fffff2b8f853845e4b35572b41a1aadda42cbcffcc2"
--  name = "github.com/go-openapi/jsonpointer"
--  packages = ["."]
--  pruneopts = ""
--  revision = "779f45308c19820f1a69e9a4cd965f496e0da10f"
--
--[[projects]]
--  branch = "master"
--  digest = "1:07ac8ac445f68b0bc063d11845d479fb7e09c906ead7a8c4165b59777df09d74"
--  name = "github.com/go-openapi/jsonreference"
--  packages = ["."]
--  pruneopts = ""
--  revision = "36d33bfe519efae5632669801b180bf1a245da3b"
--
--[[projects]]
--  branch = "master"
--  digest = "1:c4a8c916364abeda1c5cf36684320298bbf4d87718b0b2bd9c4ca663157fdc75"
--  name = "github.com/go-openapi/loads"
--  packages = ["."]
--  pruneopts = ""
--  revision = "2a2b323bab96e6b1fdee110e57d959322446e9c9"
--
--[[projects]]
--  branch = "master"
--  digest = "1:1d9c762f6695e6e7ed0b4c055fa0eab7d20c2b36c935943282273d37f114e302"
--  name = "github.com/go-openapi/runtime"
--  packages = [
--    ".",
--    "logger",
--    "middleware",
--    "middleware/denco",
--    "middleware/header",
--    "middleware/untyped",
--    "security",
--  ]
--  pruneopts = ""
--  revision = "cd9d8ed52e4b4665463cbc655500e4faa09c3c16"
--
--[[projects]]
--  branch = "master"
--  digest = "1:fd4008f8283b993180f0626d0c7b2f48880e9dbb6bd92a91cac7ded30dc66777"
--  name = "github.com/go-openapi/spec"
--  packages = ["."]
--  pruneopts = ""
--  revision = "1de3e0542de65ad8d75452a595886fdd0befb363"
--
--[[projects]]
--  branch = "master"
--  digest = "1:4ddc424130bcfbf6f782f433192ca2502a02a09e4ac55dcbecf91f22ed4e3138"
--  name = "github.com/go-openapi/strfmt"
--  packages = ["."]
--  pruneopts = ""
--  revision = "481808443b00a14745fada967cb5eeff0f9b1df2"
--
--[[projects]]
--  branch = "master"
--  digest = "1:366052ef634d344217d6720719c9f8e95de13a94d211f09785b0ba3c4c181b06"
--  name = "github.com/go-openapi/swag"
--  packages = ["."]
--  pruneopts = ""
--  revision = "84f4bee7c0a6db40e3166044c7983c1c32125429"
--
--[[projects]]
--  branch = "master"
--  digest = "1:671e25496d550c80a9d6e7e588d32b380c6b4877f113750724f69acc6ce6790f"
--  name = "github.com/go-openapi/validate"
--  packages = ["."]
--  pruneopts = ""
--  revision = "b0a3ed684d0fdd3e1eda00433382188ce8aa7169"
--
--[[projects]]
--  digest = "1:024c9473f363a12918e87e7efc778091839beab514b01309a6ecd8aa336c8065"
--  name = "github.com/go-redis/cache"
--  packages = [
--    ".",
--    "internal/lrucache",
--    "internal/singleflight",
--  ]
--  pruneopts = ""
--  revision = "c58ada1e23a3b66593f81c70572c20a0bb805a90"
--  version = "v6.3.5"
--
--[[projects]]
--  digest = "1:b73fabc1ff8f2417bc5cc51d3f7274d6af5300b5ad9b8606967213134c1700dc"
--  name = "github.com/go-redis/redis"
--  packages = [
--    ".",
--    "internal",
--    "internal/consistenthash",
--    "internal/hashtag",
--    "internal/pool",
--    "internal/proto",
--    "internal/util",
--  ]
--  pruneopts = ""
--  revision = "22be8a3eaf992c828cecb69dc07348313bf08d2e"
--  version = "v6.15.1"
--
--[[projects]]
--  digest = "1:842c1acbacc80da775cfc0c412c4fe322c2d1b86c260db632987730d0d67a6bd"
--  name = "github.com/gobuffalo/packr"
--  packages = ["."]
--  pruneopts = ""
--  revision = "7f4074995d431987caaa35088199f13c44b24440"
--  version = "v1.11.0"
--
--[[projects]]
--  digest = "1:9ab1b1c637d7c8f49e39d8538a650d7eb2137b076790cff69d160823b505964c"
--  name = "github.com/gobwas/glob"
--  packages = [
--    ".",
--    "compiler",
--    "match",
--    "syntax",
--    "syntax/ast",
--    "syntax/lexer",
--    "util/runes",
--    "util/strings",
--  ]
--  pruneopts = ""
--  revision = "5ccd90ef52e1e632236f7326478d4faa74f99438"
--  version = "v0.2.3"
--
--[[projects]]
--  branch = "master"
--  digest = "1:9a06e7365c6039daf4db9bbf79650e2933a2880982cbab8106cb74a36617f40d"
--  name = "github.com/gogits/go-gogs-client"
--  packages = ["."]
--  pruneopts = ""
--  revision = "5a05380e4bc2440e0ec12f54f6f45648dbdd5e55"
--
--[[projects]]
--  digest = "1:d69d2ba23955582a64e367ff2b0808cdbd048458c178cea48f11ab8c40bd7aea"
--  name = "github.com/gogo/protobuf"
--  packages = [
--    "gogoproto",
--    "plugin/compare",
--    "plugin/defaultcheck",
--    "plugin/description",
--    "plugin/embedcheck",
--    "plugin/enumstringer",
--    "plugin/equal",
--    "plugin/face",
--    "plugin/gostring",
--    "plugin/marshalto",
--    "plugin/oneofcheck",
--    "plugin/populate",
--    "plugin/size",
--    "plugin/stringer",
--    "plugin/testgen",
--    "plugin/union",
--    "plugin/unmarshal",
--    "proto",
--    "protoc-gen-gofast",
--    "protoc-gen-gogo/descriptor",
--    "protoc-gen-gogo/generator",
--    "protoc-gen-gogo/generator/internal/remap",
--    "protoc-gen-gogo/grpc",
--    "protoc-gen-gogo/plugin",
--    "protoc-gen-gogofast",
--    "sortkeys",
--    "vanity",
--    "vanity/command",
--  ]
--  pruneopts = ""
--  revision = "5628607bb4c51c3157aacc3a50f0ab707582b805"
--  version = "v1.3.1"
--
--[[projects]]
--  branch = "master"
--  digest = "1:107b233e45174dbab5b1324201d092ea9448e58243ab9f039e4c0f332e121e3a"
--  name = "github.com/golang/glog"
--  packages = ["."]
--  pruneopts = ""
--  revision = "23def4e6c14b4da8ac2ed8007337bc5eb5007998"
--
--[[projects]]
--  digest = "1:3dd078fda7500c341bc26cfbc6c6a34614f295a2457149fc1045cab767cbcf18"
--  name = "github.com/golang/protobuf"
--  packages = [
--    "jsonpb",
--    "proto",
--    "protoc-gen-go",
--    "protoc-gen-go/descriptor",
--    "protoc-gen-go/generator",
--    "protoc-gen-go/generator/internal/remap",
--    "protoc-gen-go/grpc",
--    "protoc-gen-go/plugin",
--    "ptypes",
--    "ptypes/any",
--    "ptypes/duration",
--    "ptypes/empty",
--    "ptypes/struct",
--    "ptypes/timestamp",
--  ]
--  pruneopts = ""
--  revision = "aa810b61a9c79d51363740d207bb46cf8e620ed5"
--  version = "v1.2.0"
--
--[[projects]]
--  digest = "1:1e5b1e14524ed08301977b7b8e10c719ed853cbf3f24ecb66fae783a46f207a6"
--  name = "github.com/google/btree"
--  packages = ["."]
--  pruneopts = ""
--  revision = "4030bb1f1f0c35b30ca7009e9ebd06849dd45306"
--  version = "v1.0.0"
--
--[[projects]]
--  digest = "1:9fcb267c272bc5054564b392e3ff7e65e35400fd9914afb1d169f92b95e7dbc9"
--  name = "github.com/google/go-cmp"
--  packages = [
--    "cmp",
--    "cmp/internal/diff",
--    "cmp/internal/flags",
--    "cmp/internal/function",
--    "cmp/internal/value",
--  ]
--  pruneopts = ""
--  revision = "2d0692c2e9617365a95b295612ac0d4415ba4627"
--  version = "v0.3.1"
--
--[[projects]]
--  digest = "1:14d826ee25139b4674e9768ac287a135f4e7c14e1134a5b15e4e152edfd49f41"
--  name = "github.com/google/go-jsonnet"
--  packages = [
--    ".",
--    "ast",
--    "parser",
--  ]
--  pruneopts = ""
--  revision = "dfddf2b4e3aec377b0dcdf247ff92e7d078b8179"
--
--[[projects]]
--  branch = "master"
--  digest = "1:754f77e9c839b24778a4b64422236d38515301d2baeb63113aa3edc42e6af692"
--  name = "github.com/google/gofuzz"
--  packages = ["."]
--  pruneopts = ""
--  revision = "24818f796faf91cd76ec7bddd72458fbced7a6c1"
--
--[[projects]]
--  branch = "master"
--  digest = "1:d0899ec7c2f61fd5e4ccba7dbefe72e366a3ecce23ecdb982c768fa1d38812fb"
--  name = "github.com/google/shlex"
--  packages = ["."]
--  pruneopts = ""
--  revision = "c34317bd91bf98fab745d77b03933cf8769299fe"
--
--[[projects]]
--  digest = "1:2a131706ff80636629ab6373f2944569b8252ecc018cda8040931b05d32e3c16"
--  name = "github.com/googleapis/gnostic"
--  packages = [
--    "OpenAPIv2",
--    "compiler",
--    "extensions",
--  ]
--  pruneopts = ""
--  revision = "ee43cbb60db7bd22502942cccbc39059117352ab"
--  version = "v0.1.0"
--
--[[projects]]
--  digest = "1:09aa5dd1332b93c96bde671bafb053249dc813febf7d5ca84e8f382ba255d67d"
--  name = "github.com/gorilla/websocket"
--  packages = ["."]
--  pruneopts = ""
--  revision = "66b9c49e59c6c48f0ffce28c2d8b8a5678502c6d"
--  version = "v1.4.0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:e1fd67b5695fb12f54f979606c5d650a5aa72ef242f8e71072bfd4f7b5a141a0"
--  name = "github.com/gregjones/httpcache"
--  packages = [
--    ".",
--    "diskcache",
--  ]
--  pruneopts = ""
--  revision = "901d90724c7919163f472a9812253fb26761123d"
--
--[[projects]]
--  branch = "master"
--  digest = "1:9dca8c981b8aed7448d94e78bc68a76784867a38b3036d5aabc0b32d92ffd1f4"
--  name = "github.com/grpc-ecosystem/go-grpc-middleware"
--  packages = [
--    ".",
--    "auth",
--    "logging",
--    "logging/logrus",
--    "logging/logrus/ctxlogrus",
--    "retry",
--    "tags",
--    "tags/logrus",
--    "util/backoffutils",
--    "util/metautils",
--  ]
--  pruneopts = ""
--  revision = "bc372cc64f55abd91995ba3f219b380ffbc59e9d"
--
--[[projects]]
--  digest = "1:e24dc5ef44694848785de507f439a24e9e6d96d7b43b8cf3d6cfa857aa1e2186"
--  name = "github.com/grpc-ecosystem/go-grpc-prometheus"
--  packages = ["."]
--  pruneopts = ""
--  revision = "c225b8c3b01faf2899099b768856a9e916e5087b"
--  version = "v1.2.0"
--
--[[projects]]
--  digest = "1:9feb7485bc57adbcbc1e1037ca05588e9d8b0a3a1875fbf730021fc118859b75"
--  name = "github.com/grpc-ecosystem/grpc-gateway"
--  packages = [
--    "protoc-gen-grpc-gateway",
--    "protoc-gen-grpc-gateway/descriptor",
--    "protoc-gen-grpc-gateway/generator",
--    "protoc-gen-grpc-gateway/gengateway",
--    "protoc-gen-grpc-gateway/httprule",
--    "protoc-gen-swagger",
--    "protoc-gen-swagger/genswagger",
--    "protoc-gen-swagger/options",
--    "runtime",
--    "runtime/internal",
--    "utilities",
--  ]
--  pruneopts = ""
--  revision = "07f5e79768022f9a3265235f0db4ac8c3f675fec"
--  version = "v1.3.1"
--
--[[projects]]
--  branch = "master"
--  digest = "1:9c776d7d9c54b7ed89f119e449983c3f24c0023e75001d6092442412ebca6b94"
--  name = "github.com/hashicorp/golang-lru"
--  packages = [
--    ".",
--    "simplelru",
--  ]
--  pruneopts = ""
--  revision = "0fb14efe8c47ae851c0034ed7a448854d3d34cf3"
--
--[[projects]]
--  digest = "1:23bc0b496ba341c6e3ba24d6358ff4a40a704d9eb5f9a3bd8e8fbd57ad869013"
--  name = "github.com/imdario/mergo"
--  packages = ["."]
--  pruneopts = ""
--  revision = "163f41321a19dd09362d4c63cc2489db2015f1f4"
--  version = "0.3.2"
--
--[[projects]]
--  digest = "1:6f7a8f1f3e04174c426eea1c8661ef49a6b4c63bd2e40c0ad74b5ba9051f4812"
--  name = "github.com/improbable-eng/grpc-web"
--  packages = ["go/grpcweb"]
--  pruneopts = ""
--  revision = "16092bd1d58ae1b3c2d8be1cb67e65956f945dea"
--  version = "0.7.0"
--
--[[projects]]
--  digest = "1:870d441fe217b8e689d7949fef6e43efbc787e50f200cb1e70dbca9204a1d6be"
--  name = "github.com/inconshreveable/mousetrap"
--  packages = ["."]
--  pruneopts = ""
--  revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"
--  version = "v1.0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:95abc4eba158a39873bd4fabdee576d0ae13826b550f8b710881d80ae4093a0f"
--  name = "github.com/jbenet/go-context"
--  packages = ["io"]
--  pruneopts = ""
--  revision = "d14ea06fba99483203c19d92cfcd13ebe73135f4"
--
--[[projects]]
--  digest = "1:302ad9379eb146668760df4d779a95379acab43ce5f9a28f27f3273f98232020"
--  name = "github.com/jonboulle/clockwork"
--  packages = ["."]
--  pruneopts = ""
--  revision = "2eee05ed794112d45db504eb05aa693efd2b8b09"
--  version = "v0.1.0"
--
--[[projects]]
--  digest = "1:31c6f3c4f1e15fcc24fcfc9f5f24603ff3963c56d6fa162116493b4025fb6acc"
--  name = "github.com/json-iterator/go"
--  packages = ["."]
--  pruneopts = ""
--  revision = "f2b4162afba35581b6d4a50d3b8f34e33c144682"
--
--[[projects]]
--  branch = "master"
--  digest = "1:63e7368fcf6b54804076eaec26fd9cf0c4466166b272393db4b93102e1e962df"
--  name = "github.com/kballard/go-shellquote"
--  packages = ["."]
--  pruneopts = ""
--  revision = "95032a82bc518f77982ea72343cc1ade730072f0"
--
--[[projects]]
--  digest = "1:41e0bed5df4f9fd04c418bf9b6b7179b3671e416ad6175332601ca1c8dc74606"
--  name = "github.com/kevinburke/ssh_config"
--  packages = ["."]
--  pruneopts = ""
--  revision = "81db2a75821ed34e682567d48be488a1c3121088"
--  version = "0.5"
--
--[[projects]]
--  branch = "master"
--  digest = "1:448b4a6e39e46d8740b00dc871f26d58dc39341b160e01267b7917132831a136"
--  name = "github.com/konsorten/go-windows-terminal-sequences"
--  packages = ["."]
--  pruneopts = ""
--  revision = "b729f2633dfe35f4d1d8a32385f6685610ce1cb5"
--
--[[projects]]
--  branch = "master"
--  digest = "1:93018a4331df9925058905133cb997aec8f54d5303f4536a23e49b5648632d06"
--  name = "github.com/liggitt/tabwriter"
--  packages = ["."]
--  pruneopts = ""
--  revision = "89fcab3d43de07060e4fd4c1547430ed57e87f24"
--
--[[projects]]
--  branch = "master"
--  digest = "1:ccc20cacf54eb16464dad02efa1c14fa7c0b9e124639b0d2a51dcc87b0154e4c"
--  name = "github.com/mailru/easyjson"
--  packages = [
--    "buffer",
--    "jlexer",
--    "jwriter",
--  ]
--  pruneopts = ""
--  revision = "32fa128f234d041f196a9f3e0fea5ac9772c08e1"
--
--[[projects]]
--  digest = "1:63722a4b1e1717be7b98fc686e0b30d5e7f734b9e93d7dee86293b6deab7ea28"
--  name = "github.com/matttproud/golang_protobuf_extensions"
--  packages = ["pbutil"]
--  pruneopts = ""
--  revision = "c12348ce28de40eed0136aa2b644d0ee0650e56c"
--  version = "v1.0.1"
--
--[[projects]]
--  digest = "1:096a8a9182648da3d00ff243b88407838902b6703fc12657f76890e08d1899bf"
--  name = "github.com/mitchellh/go-homedir"
--  packages = ["."]
--  pruneopts = ""
--  revision = "ae18d6b8b3205b561c79e8e5f69bff09736185f4"
--  version = "v1.0.0"
--
--[[projects]]
--  digest = "1:713b341855f1480e4baca1e7c5434e1d266441340685ecbde32d59bdc065fb3f"
--  name = "github.com/mitchellh/go-wordwrap"
--  packages = ["."]
--  pruneopts = ""
--  revision = "9e67c67572bc5dd02aef930e2b0ae3c02a4b5a5c"
--  version = "v1.0.0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:eb9117392ee8e7aa44f78e0db603f70b1050ee0ebda4bd40040befb5b218c546"
--  name = "github.com/mitchellh/mapstructure"
--  packages = ["."]
--  pruneopts = ""
--  revision = "bb74f1db0675b241733089d5a1faa5dd8b0ef57b"
--
--[[projects]]
--  digest = "1:0c0ff2a89c1bb0d01887e1dac043ad7efbf3ec77482ef058ac423d13497e16fd"
--  name = "github.com/modern-go/concurrent"
--  packages = ["."]
--  pruneopts = ""
--  revision = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"
--  version = "1.0.3"
--
--[[projects]]
--  digest = "1:e32bdbdb7c377a07a9a46378290059822efdce5c8d96fe71940d87cb4f918855"
--  name = "github.com/modern-go/reflect2"
--  packages = ["."]
--  pruneopts = ""
--  revision = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd"
--  version = "1.0.1"
--
--[[projects]]
--  digest = "1:5d9b668b0b4581a978f07e7d2e3314af18eb27b3fb5d19b70185b7c575723d11"
--  name = "github.com/opencontainers/go-digest"
--  packages = ["."]
--  pruneopts = ""
--  revision = "279bed98673dd5bef374d3b6e4b09e2af76183bf"
--  version = "v1.0.0-rc1"
--
--[[projects]]
--  digest = "1:4c0404dc03d974acd5fcd8b8d3ce687b13bd169db032b89275e8b9d77b98ce8c"
--  name = "github.com/patrickmn/go-cache"
--  packages = ["."]
--  pruneopts = ""
--  revision = "a3647f8e31d79543b2d0f0ae2fe5c379d72cedc0"
--  version = "v2.1.0"
--
--[[projects]]
--  digest = "1:049b5bee78dfdc9628ee0e557219c41f683e5b06c5a5f20eaba0105ccc586689"
--  name = "github.com/pelletier/go-buffruneio"
--  packages = ["."]
--  pruneopts = ""
--  revision = "c37440a7cf42ac63b919c752ca73a85067e05992"
--  version = "v0.2.0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:5f0faa008e8ff4221b55a1a5057c8b02cb2fd68da6a65c9e31c82b72cbc836d0"
--  name = "github.com/petar/GoLLRB"
--  packages = ["llrb"]
--  pruneopts = ""
--  revision = "33fb24c13b99c46c93183c291836c573ac382536"
--
--[[projects]]
--  digest = "1:4709c61d984ef9ba99b037b047546d8a576ae984fb49486e48d99658aa750cd5"
--  name = "github.com/peterbourgon/diskv"
--  packages = ["."]
--  pruneopts = ""
--  revision = "0be1b92a6df0e4f5cb0a5d15fb7f643d0ad93ce6"
--  version = "v3.0.0"
--
--[[projects]]
--  digest = "1:7365acd48986e205ccb8652cc746f09c8b7876030d53710ea6ef7d0bd0dcd7ca"
--  name = "github.com/pkg/errors"
--  packages = ["."]
--  pruneopts = ""
--  revision = "645ef00459ed84a119197bfb8d8205042c6df63d"
--  version = "v0.8.0"
--
--[[projects]]
--  digest = "1:256484dbbcd271f9ecebc6795b2df8cad4c458dd0f5fd82a8c2fa0c29f233411"
--  name = "github.com/pmezard/go-difflib"
--  packages = ["difflib"]
--  pruneopts = ""
--  revision = "792786c7400a136282c1664665ae0a8db921c6c2"
--  version = "v1.0.0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:90daff4630a8cf2fa207dbd3ccaed0e860936ead1851a473019674e6b5993a13"
--  name = "github.com/pquerna/cachecontrol"
--  packages = [
--    ".",
--    "cacheobject",
--  ]
--  pruneopts = ""
--  revision = "525d0eb5f91d30e3b1548de401b7ef9ea6898520"
--
--[[projects]]
--  digest = "1:9d34d575593e3dd27bbd119138ba009ef1535a0df2aad7259e1dd5aed7405eea"
--  name = "github.com/prometheus/client_golang"
--  packages = [
--    "prometheus",
--    "prometheus/internal",
--    "prometheus/promhttp",
--  ]
--  pruneopts = ""
--  revision = "7858729281ec582767b20e0d696b6041d995d5e0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:185cf55b1f44a1bf243558901c3f06efa5c64ba62cfdcbb1bf7bbe8c3fb68561"
--  name = "github.com/prometheus/client_model"
--  packages = ["go"]
--  pruneopts = ""
--  revision = "5c3871d89910bfb32f5fcab2aa4b9ec68e65a99f"
--
--[[projects]]
--  branch = "master"
--  digest = "1:f477ef7b65d94fb17574fc6548cef0c99a69c1634ea3b6da248b63a61ebe0498"
--  name = "github.com/prometheus/common"
--  packages = [
--    "expfmt",
--    "internal/bitbucket.org/ww/goautoneg",
--    "model",
--  ]
--  pruneopts = ""
--  revision = "c7de2306084e37d54b8be01f3541a8464345e9a5"
--
--[[projects]]
--  branch = "master"
--  digest = "1:e04aaa0e8f8da0ed3d6c0700bd77eda52a47f38510063209d72d62f0ef807d5e"
--  name = "github.com/prometheus/procfs"
--  packages = [
--    ".",
--    "internal/util",
--    "nfs",
--    "xfs",
--  ]
--  pruneopts = ""
--  revision = "05ee40e3a273f7245e8777337fc7b46e533a9a92"
--
--[[projects]]
--  digest = "1:6bb048133650d1fb7fbff9fb3c35bd5c7e8653fc95c3bae6df94cd17d1580278"
--  name = "github.com/robfig/cron"
--  packages = ["."]
--  pruneopts = ""
--  revision = "45fbe1491cdd47d74d1bf1396286d67faee8b8b5"
--  version = "v3.0.0"
--
--[[projects]]
--  digest = "1:5f47c69f85311c4dc292be6cc995a0a3fe8337a6ce38ef4f71e5b7efd5ad42e0"
--  name = "github.com/rs/cors"
--  packages = ["."]
--  pruneopts = ""
--  revision = "9a47f48565a795472d43519dd49aac781f3034fb"
--  version = "v1.6.0"
--
--[[projects]]
--  digest = "1:2761e287c811d0948d47d0252b82281eca3801eb3c9d5f9530956643d5b9f430"
--  name = "github.com/russross/blackfriday"
--  packages = ["."]
--  pruneopts = ""
--  revision = "05f3235734ad95d0016f6a23902f06461fcf567a"
--  version = "v1.5.2"
--
--[[projects]]
--  digest = "1:3962f553b77bf6c03fc07cd687a22dd3b00fe11aa14d31194f5505f5bb65cdc8"
--  name = "github.com/sergi/go-diff"
--  packages = ["diffmatchpatch"]
--  pruneopts = ""
--  revision = "1744e2970ca51c86172c8190fadad617561ed6e7"
--  version = "v1.0.0"
--
--[[projects]]
--  digest = "1:01d968ff6535945510c944983eee024e81f1c949043e9bbfe5ab206ebc3588a4"
--  name = "github.com/sirupsen/logrus"
--  packages = [
--    ".",
--    "hooks/test",
--  ]
--  pruneopts = ""
--  revision = "a67f783a3814b8729bd2dac5780b5f78f8dbd64d"
--  version = "v1.1.0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:50b5be512f924d289f20e8b2aef8951d98b9bd8c44666cf169514906df597a4c"
--  name = "github.com/skratchdot/open-golang"
--  packages = ["open"]
--  pruneopts = ""
--  revision = "75fb7ed4208cf72d323d7d02fd1a5964a7a9073c"
--
--[[projects]]
--  digest = "1:022a4e2a8c327eb46a99088a51c0dda5d5be86928ace2afd72145dc1d746a323"
--  name = "github.com/soheilhy/cmux"
--  packages = ["."]
--  pruneopts = ""
--  revision = "e09e9389d85d8492d313d73d1469c029e710623f"
--  version = "v0.1.4"
--
--[[projects]]
--  digest = "1:0c63b3c7ad6d825a898f28cb854252a3b29d37700c68a117a977263f5ec94efe"
--  name = "github.com/spf13/cobra"
--  packages = ["."]
--  pruneopts = ""
--  revision = "0.0.5"
--
--[[projects]]
--  digest = "1:8e243c568f36b09031ec18dff5f7d2769dcf5ca4d624ea511c8e3197dc3d352d"
--  name = "github.com/spf13/pflag"
--  packages = ["."]
--  pruneopts = ""
--  revision = "583c0c0531f06d5278b7d917446061adc344b5cd"
--  version = "v1.0.1"
--
--[[projects]]
--  digest = "1:b1861b9a1aa0801b0b62945ed7477c1ab61a4bd03b55dfbc27f6d4f378110c8c"
--  name = "github.com/src-d/gcfg"
--  packages = [
--    ".",
--    "scanner",
--    "token",
--    "types",
--  ]
--  pruneopts = ""
--  revision = "f187355171c936ac84a82793659ebb4936bc1c23"
--  version = "v1.3.0"
--
--[[projects]]
--  digest = "1:306417ea2f31ea733df356a2b895de63776b6a5107085b33458e5cd6eb1d584d"
--  name = "github.com/stretchr/objx"
--  packages = ["."]
--  pruneopts = ""
--  revision = "facf9a85c22f48d2f52f2380e4efce1768749a89"
--  version = "v0.1"
--
--[[projects]]
--  digest = "1:c587772fb8ad29ad4db67575dad25ba17a51f072ff18a22b4f0257a4d9c24f75"
--  name = "github.com/stretchr/testify"
--  packages = [
--    "assert",
--    "mock",
--  ]
--  pruneopts = ""
--  revision = "f35b8ab0b5a2cef36673838d662e249dd9c94686"
--  version = "v1.2.2"
--
--[[projects]]
--  digest = "1:51cf0fca93f4866709ceaf01b750e51d997c299a7bd2edf7ccd79e3b428754ae"
--  name = "github.com/vmihailenco/msgpack"
--  packages = [
--    ".",
--    "codes",
--  ]
--  pruneopts = ""
--  revision = "a053f3dac71df214bfe8b367f34220f0029c9c02"
--  version = "v3.3.1"
--
--[[projects]]
--  digest = "1:afc0b8068986a01e2d8f449917829753a54f6bd4d1265c2b4ad9cba75560020f"
--  name = "github.com/xanzy/ssh-agent"
--  packages = ["."]
--  pruneopts = ""
--  revision = "640f0ab560aeb89d523bb6ac322b1244d5c3796c"
--  version = "v0.2.0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:3cf699a0df65293cc8fd2339606950d3e2f6d02a435703951d1da411a23f7cef"
--  name = "github.com/yudai/gojsondiff"
--  packages = [
--    ".",
--    "formatter",
--  ]
--  pruneopts = ""
--  revision = "0525c875b75ca60b9e67ddc44496aa16f21066b0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:9857bb2293f372b2181004d8b62179bbdb4ab0982ec6f762abe6cf2bfedaff85"
--  name = "github.com/yudai/golcs"
--  packages = ["."]
--  pruneopts = ""
--  revision = "ecda9a501e8220fae3b4b600c3db4b0ba22cfc68"
--
--[[projects]]
--  branch = "master"
--  digest = "1:525776d99293affd2c61dfb573007ff9f22863068c20c220ef3f58620758c341"
--  name = "github.com/yuin/gopher-lua"
--  packages = [
--    ".",
--    "ast",
--    "parse",
--    "pm",
--  ]
--  pruneopts = ""
--  revision = "732aa6820ec4fb93d60c4057dd574c33db8ad4e7"
--
--[[projects]]
--  branch = "master"
--  digest = "1:2ea6df0f542cc95a5e374e9cdd81eaa599ed0d55366eef92d2f6b9efa2795c07"
--  name = "golang.org/x/crypto"
--  packages = [
--    "bcrypt",
--    "blowfish",
--    "cast5",
--    "curve25519",
--    "ed25519",
--    "ed25519/internal/edwards25519",
--    "internal/chacha20",
--    "openpgp",
--    "openpgp/armor",
--    "openpgp/elgamal",
--    "openpgp/errors",
--    "openpgp/packet",
--    "openpgp/s2k",
--    "poly1305",
--    "ssh",
--    "ssh/agent",
--    "ssh/knownhosts",
--    "ssh/terminal",
--  ]
--  pruneopts = ""
--  revision = "432090b8f568c018896cd8a0fb0345872bbac6ce"
--
--[[projects]]
--  branch = "master"
--  digest = "1:b4ba046df563f56fe42b6270b20039107a37e1ab47c97aa47a16f848aa5b6d9a"
--  name = "golang.org/x/net"
--  packages = [
--    "context",
--    "context/ctxhttp",
--    "http2",
--    "http2/hpack",
--    "idna",
--    "internal/timeseries",
--    "lex/httplex",
--    "trace",
--  ]
--  pruneopts = ""
--  revision = "cbe0f9307d0156177f9dd5dc85da1a31abc5f2fb"
--
--[[projects]]
--  digest = "1:8a58c605e58272e3d280181a24749b07499cf98968da6f7c1d19c8d5649c6b1b"
--  name = "golang.org/x/oauth2"
--  packages = [
--    ".",
--    "google",
--    "internal",
--    "jws",
--    "jwt",
--  ]
--  pruneopts = ""
--  revision = "cce311a261e6fcf29de72ca96827bdb0b7d9c9e6"
--
--[[projects]]
--  branch = "master"
--  digest = "1:b2ea75de0ccb2db2ac79356407f8a4cd8f798fe15d41b381c00abf3ae8e55ed1"
--  name = "golang.org/x/sync"
--  packages = [
--    "errgroup",
--    "semaphore",
--  ]
--  pruneopts = ""
--  revision = "1d60e4601c6fd243af51cc01ddf169918a5407ca"
--
--[[projects]]
--  branch = "master"
--  digest = "1:ed900376500543ca05f2a2383e1f541b4606f19cd22f34acb81b17a0b90c7f3e"
--  name = "golang.org/x/sys"
--  packages = [
--    "unix",
--    "windows",
--  ]
--  pruneopts = ""
--  revision = "d0be0721c37eeb5299f245a996a483160fc36940"
--
--[[projects]]
--  branch = "master"
--  digest = "1:31985a0ed491dba5ba7fe92e18be008acd92ca9435ed9b35b06f3e6c00fd82cb"
--  name = "golang.org/x/text"
--  packages = [
--    "collate",
--    "collate/build",
--    "encoding",
--    "encoding/internal",
--    "encoding/internal/identifier",
--    "encoding/unicode",
--    "internal/colltab",
--    "internal/gen",
--    "internal/tag",
--    "internal/triegen",
--    "internal/ucd",
--    "internal/utf8internal",
--    "language",
--    "runes",
--    "secure/bidirule",
--    "transform",
--    "unicode/bidi",
--    "unicode/cldr",
--    "unicode/norm",
--    "unicode/rangetable",
--    "width",
--  ]
--  pruneopts = ""
--  revision = "4e4a3210bb54bb31f6ab2cdca2edcc0b50c420c1"
--
--[[projects]]
--  branch = "master"
--  digest = "1:55a681cb66f28755765fa5fa5104cbd8dc85c55c02d206f9f89566451e3fe1aa"
--  name = "golang.org/x/time"
--  packages = ["rate"]
--  pruneopts = ""
--  revision = "fbb02b2291d28baffd63558aa44b4b56f178d650"
--
--[[projects]]
--  branch = "master"
--  digest = "1:77e1d6ed91936b206979806b0aacbf817ec54b840803d8f8cd7a1de5bfbf92a4"
--  name = "golang.org/x/tools"
--  packages = [
--    "go/ast/astutil",
--    "imports",
--  ]
--  pruneopts = ""
--  revision = "5e776fee60db37e560cee3fb46db699d2f095386"
--
--[[projects]]
--  branch = "master"
--  digest = "1:e9e4b928898842a138bc345d42aae33741baa6d64f3ca69b0931f9c7a4fd0437"
--  name = "gonum.org/v1/gonum"
--  packages = [
--    "blas",
--    "blas/blas64",
--    "blas/cblas128",
--    "blas/gonum",
--    "floats",
--    "graph",
--    "graph/internal/linear",
--    "graph/internal/ordered",
--    "graph/internal/set",
--    "graph/internal/uid",
--    "graph/iterator",
--    "graph/simple",
--    "graph/topo",
--    "graph/traverse",
--    "internal/asm/c128",
--    "internal/asm/c64",
--    "internal/asm/f32",
--    "internal/asm/f64",
--    "internal/cmplx64",
--    "internal/math32",
--    "lapack",
--    "lapack/gonum",
--    "lapack/lapack64",
--    "mat",
--  ]
--  pruneopts = ""
--  revision = "90b7154515874cee6c33cf56b29e257403a09a69"
--
--[[projects]]
--  digest = "1:934fb8966f303ede63aa405e2c8d7f0a427a05ea8df335dfdc1833dd4d40756f"
--  name = "google.golang.org/appengine"
--  packages = [
--    ".",
--    "datastore",
--    "internal",
--    "internal/app_identity",
--    "internal/base",
--    "internal/datastore",
--    "internal/log",
--    "internal/modules",
--    "internal/remote_api",
--    "internal/urlfetch",
--    "urlfetch",
--  ]
--  pruneopts = ""
--  revision = "150dc57a1b433e64154302bdc40b6bb8aefa313a"
--  version = "v1.0.0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:2d833b53e432cd69645da559b822661ebc5c0a13c571dee1c1f80fb1a0241330"
--  name = "google.golang.org/genproto"
--  packages = [
--    "googleapis/api/annotations",
--    "googleapis/rpc/status",
--  ]
--  pruneopts = ""
--  revision = "2b5a72b8730b0b16380010cfe5286c42108d88e7"
--
--[[projects]]
--  digest = "1:15656947b87a6a240e61dcfae9e71a55a8d5677f240d12ab48f02cdbabf1e309"
--  name = "google.golang.org/grpc"
--  packages = [
--    ".",
--    "balancer",
--    "balancer/base",
--    "balancer/roundrobin",
--    "codes",
--    "connectivity",
--    "credentials",
--    "encoding",
--    "encoding/proto",
--    "grpclog",
--    "internal",
--    "internal/backoff",
--    "internal/channelz",
--    "internal/envconfig",
--    "internal/grpcrand",
--    "internal/transport",
--    "keepalive",
--    "metadata",
--    "naming",
--    "peer",
--    "reflection",
--    "reflection/grpc_reflection_v1alpha",
--    "resolver",
--    "resolver/dns",
--    "resolver/passthrough",
--    "stats",
--    "status",
--    "tap",
--  ]
--  pruneopts = ""
--  revision = "8dea3dc473e90c8179e519d91302d0597c0ca1d1"
--  version = "v1.15.0"
--
--[[projects]]
--  digest = "1:adf5b0ae3467c3182757ecb86fbfe819939473bb870a42789dc1a3e7729397cd"
--  name = "gopkg.in/go-playground/webhooks.v5"
--  packages = [
--    "bitbucket",
--    "bitbucket-server",
--    "github",
--    "gitlab",
--    "gogs",
--  ]
--  pruneopts = ""
--  revision = "175186584584a83966dc9a7b8ec6c3d3a4ce6110"
--  version = "v5.11.0"
--
--[[projects]]
--  digest = "1:e5d1fb981765b6f7513f793a3fcaac7158408cca77f75f7311ac82cc88e9c445"
--  name = "gopkg.in/inf.v0"
--  packages = ["."]
--  pruneopts = ""
--  revision = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"
--  version = "v0.9.0"
--
--[[projects]]
--  branch = "v2"
--  digest = "1:c80894778314c7fb90d94a5ab925214900e1341afeddc953cda7398b8cdcd006"
--  name = "gopkg.in/mgo.v2"
--  packages = [
--    "bson",
--    "internal/json",
--  ]
--  pruneopts = ""
--  revision = "3f83fa5005286a7fe593b055f0d7771a7dce4655"
--
--[[projects]]
--  digest = "1:de0ec5755ee1a5e61f079c8855cf2073b5a5f614ae3b51db65f2c4e1044455fd"
--  name = "gopkg.in/square/go-jose.v2"
--  packages = [
--    ".",
--    "cipher",
--    "json",
--  ]
--  pruneopts = ""
--  revision = "76dd09796242edb5b897103a75df2645c028c960"
--  version = "v2.1.6"
--
--[[projects]]
--  digest = "1:c8f3ff1edaf7208bf7633e5952ffb8d697552343f8010aee12427400b434ae63"
--  name = "gopkg.in/src-d/go-billy.v4"
--  packages = [
--    ".",
--    "helper/chroot",
--    "helper/polyfill",
--    "osfs",
--    "util",
--  ]
--  pruneopts = ""
--  revision = "59952543636f55de3f860b477b615093d5c2c3e4"
--  version = "v4.2.1"
--
--[[projects]]
--  digest = "1:a72d911e18578e34367f4b849340501c7e6a2787a3a05651b3d53c6cb96990f4"
--  name = "gopkg.in/src-d/go-git.v4"
--  packages = [
--    ".",
--    "config",
--    "internal/revision",
--    "plumbing",
--    "plumbing/cache",
--    "plumbing/filemode",
--    "plumbing/format/config",
--    "plumbing/format/diff",
--    "plumbing/format/gitignore",
--    "plumbing/format/idxfile",
--    "plumbing/format/index",
--    "plumbing/format/objfile",
--    "plumbing/format/packfile",
--    "plumbing/format/pktline",
--    "plumbing/object",
--    "plumbing/protocol/packp",
--    "plumbing/protocol/packp/capability",
--    "plumbing/protocol/packp/sideband",
--    "plumbing/revlist",
--    "plumbing/storer",
--    "plumbing/transport",
--    "plumbing/transport/client",
--    "plumbing/transport/file",
--    "plumbing/transport/git",
--    "plumbing/transport/http",
--    "plumbing/transport/internal/common",
--    "plumbing/transport/server",
--    "plumbing/transport/ssh",
--    "storage",
--    "storage/filesystem",
--    "storage/filesystem/dotgit",
--    "storage/memory",
--    "utils/binary",
--    "utils/diff",
--    "utils/ioutil",
--    "utils/merkletrie",
--    "utils/merkletrie/filesystem",
--    "utils/merkletrie/index",
--    "utils/merkletrie/internal/frame",
--    "utils/merkletrie/noder",
--  ]
--  pruneopts = ""
--  revision = "a1f6ef44dfed1253ef7f3bc049f66b15f8fc2ab2"
--  version = "v4.9.1"
--
--[[projects]]
--  digest = "1:ceec7e96590fb8168f36df4795fefe17051d4b0c2acc7ec4e260d8138c4dafac"
--  name = "gopkg.in/warnings.v0"
--  packages = ["."]
--  pruneopts = ""
--  revision = "ec4a0fea49c7b46c2aeb0b51aac55779c607e52b"
--  version = "v0.1.2"
--
--[[projects]]
--  digest = "1:cedccf16b71e86db87a24f8d4c70b0a855872eb967cb906a66b95de56aefbd0d"
--  name = "gopkg.in/yaml.v2"
--  packages = ["."]
--  pruneopts = ""
--  revision = "51d6538a90f86fe93ac480b35f37b2be17fef232"
--  version = "v2.2.2"
--
--[[projects]]
--  branch = "release-1.16"
--  digest = "1:5e5cfbab57ea5444c1eb295a39fdc403f097f5ace592c829db7b3e0e3ea66903"
--  name = "k8s.io/api"
--  packages = [
--    "admission/v1",
--    "admission/v1beta1",
--    "admissionregistration/v1",
--    "admissionregistration/v1beta1",
--    "apps/v1",
--    "apps/v1beta1",
--    "apps/v1beta2",
--    "auditregistration/v1alpha1",
--    "authentication/v1",
--    "authentication/v1beta1",
--    "authorization/v1",
--    "authorization/v1beta1",
--    "autoscaling/v1",
--    "autoscaling/v2beta1",
--    "autoscaling/v2beta2",
--    "batch/v1",
--    "batch/v1beta1",
--    "batch/v2alpha1",
--    "certificates/v1beta1",
--    "coordination/v1",
--    "coordination/v1beta1",
--    "core/v1",
--    "discovery/v1alpha1",
--    "events/v1beta1",
--    "extensions/v1beta1",
--    "imagepolicy/v1alpha1",
--    "networking/v1",
--    "networking/v1beta1",
--    "node/v1alpha1",
--    "node/v1beta1",
--    "policy/v1beta1",
--    "rbac/v1",
--    "rbac/v1alpha1",
--    "rbac/v1beta1",
--    "scheduling/v1",
--    "scheduling/v1alpha1",
--    "scheduling/v1beta1",
--    "settings/v1alpha1",
--    "storage/v1",
--    "storage/v1alpha1",
--    "storage/v1beta1",
--  ]
--  pruneopts = ""
--  revision = "195af9ec35214c6d98662c5791364285bf2e2cf2"
--
--[[projects]]
--  branch = "release-1.16"
--  digest = "1:7f29d62c07c68767171cf2ed8598e0cb862b99584bb8beb93189e2ed00ac520e"
--  name = "k8s.io/apiextensions-apiserver"
--  packages = [
--    "pkg/apis/apiextensions",
--    "pkg/apis/apiextensions/v1",
--    "pkg/apis/apiextensions/v1beta1",
--    "pkg/client/clientset/clientset",
--    "pkg/client/clientset/clientset/scheme",
--    "pkg/client/clientset/clientset/typed/apiextensions/v1",
--    "pkg/client/clientset/clientset/typed/apiextensions/v1beta1",
--    "pkg/features",
--  ]
--  pruneopts = ""
--  revision = "07afe84a85e43cf2503133660c424a0b594b21db"
--
--[[projects]]
--  branch = "release-1.16"
--  digest = "1:36db89a45a8cb3d565f7ebfd67dafd42c9c0bbb80d6bbd4991629b39b02a4c64"
--  name = "k8s.io/apimachinery"
--  packages = [
--    "pkg/api/equality",
--    "pkg/api/errors",
--    "pkg/api/meta",
--    "pkg/api/resource",
--    "pkg/api/validation",
--    "pkg/api/validation/path",
--    "pkg/apis/meta/internalversion",
--    "pkg/apis/meta/v1",
--    "pkg/apis/meta/v1/unstructured",
--    "pkg/apis/meta/v1/unstructured/unstructuredscheme",
--    "pkg/apis/meta/v1/validation",
--    "pkg/apis/meta/v1beta1",
--    "pkg/conversion",
--    "pkg/conversion/queryparams",
--    "pkg/fields",
--    "pkg/labels",
--    "pkg/runtime",
--    "pkg/runtime/schema",
--    "pkg/runtime/serializer",
--    "pkg/runtime/serializer/json",
--    "pkg/runtime/serializer/protobuf",
--    "pkg/runtime/serializer/recognizer",
--    "pkg/runtime/serializer/streaming",
--    "pkg/runtime/serializer/versioning",
--    "pkg/selection",
--    "pkg/types",
--    "pkg/util/cache",
--    "pkg/util/clock",
--    "pkg/util/diff",
--    "pkg/util/duration",
--    "pkg/util/errors",
--    "pkg/util/framer",
--    "pkg/util/httpstream",
--    "pkg/util/httpstream/spdy",
--    "pkg/util/intstr",
--    "pkg/util/json",
--    "pkg/util/jsonmergepatch",
--    "pkg/util/mergepatch",
--    "pkg/util/naming",
--    "pkg/util/net",
--    "pkg/util/remotecommand",
--    "pkg/util/runtime",
--    "pkg/util/sets",
--    "pkg/util/strategicpatch",
--    "pkg/util/validation",
--    "pkg/util/validation/field",
--    "pkg/util/wait",
--    "pkg/util/yaml",
--    "pkg/version",
--    "pkg/watch",
--    "third_party/forked/golang/json",
--    "third_party/forked/golang/netutil",
--    "third_party/forked/golang/reflect",
--  ]
--  pruneopts = ""
--  revision = "72ed19daf4bb788ae595ae4103c404cb0fa09c84"
--
--[[projects]]
--  branch = "release-1.16"
--  digest = "1:4e236f3f94cfc5f005ceb143948ad39a4b2ad10373f394b232838f797bddd6ef"
--  name = "k8s.io/apiserver"
--  packages = [
--    "pkg/apis/audit",
--    "pkg/authentication/serviceaccount",
--    "pkg/authentication/user",
--    "pkg/endpoints/request",
--    "pkg/features",
--    "pkg/util/feature",
--  ]
--  pruneopts = ""
--  revision = "ebfe712c1fff40c4800d779470515e6025eda218"
--
--[[projects]]
--  branch = "release-1.16"
--  digest = "1:b46a88b317c3187b6fa7c5351eca48b35aad182eee371168677747430ff955bb"
--  name = "k8s.io/cli-runtime"
--  packages = [
--    "pkg/genericclioptions",
--    "pkg/kustomize",
--    "pkg/kustomize/k8sdeps",
--    "pkg/kustomize/k8sdeps/configmapandsecret",
--    "pkg/kustomize/k8sdeps/kunstruct",
--    "pkg/kustomize/k8sdeps/kv",
--    "pkg/kustomize/k8sdeps/transformer",
--    "pkg/kustomize/k8sdeps/transformer/hash",
--    "pkg/kustomize/k8sdeps/transformer/patch",
--    "pkg/kustomize/k8sdeps/validator",
--    "pkg/printers",
--    "pkg/resource",
--  ]
--  pruneopts = ""
--  revision = "6bff60de437070d7e8644b7a930837d5de512240"
--
--[[projects]]
--  branch = "release-13.0"
--  digest = "1:84f90f6a3b5b16f2c57164c5281d302b2647da8f77aa9cb14d5ebeb17fccc25e"
--  name = "k8s.io/client-go"
--  packages = [
--    "discovery",
--    "discovery/cached/disk",
--    "discovery/fake",
--    "dynamic",
--    "dynamic/fake",
--    "informers/core/v1",
--    "informers/internalinterfaces",
--    "kubernetes",
--    "kubernetes/fake",
--    "kubernetes/scheme",
--    "kubernetes/typed/admissionregistration/v1",
--    "kubernetes/typed/admissionregistration/v1/fake",
--    "kubernetes/typed/admissionregistration/v1beta1",
--    "kubernetes/typed/admissionregistration/v1beta1/fake",
--    "kubernetes/typed/apps/v1",
--    "kubernetes/typed/apps/v1/fake",
--    "kubernetes/typed/apps/v1beta1",
--    "kubernetes/typed/apps/v1beta1/fake",
--    "kubernetes/typed/apps/v1beta2",
--    "kubernetes/typed/apps/v1beta2/fake",
--    "kubernetes/typed/auditregistration/v1alpha1",
--    "kubernetes/typed/auditregistration/v1alpha1/fake",
--    "kubernetes/typed/authentication/v1",
--    "kubernetes/typed/authentication/v1/fake",
--    "kubernetes/typed/authentication/v1beta1",
--    "kubernetes/typed/authentication/v1beta1/fake",
--    "kubernetes/typed/authorization/v1",
--    "kubernetes/typed/authorization/v1/fake",
--    "kubernetes/typed/authorization/v1beta1",
--    "kubernetes/typed/authorization/v1beta1/fake",
--    "kubernetes/typed/autoscaling/v1",
--    "kubernetes/typed/autoscaling/v1/fake",
--    "kubernetes/typed/autoscaling/v2beta1",
--    "kubernetes/typed/autoscaling/v2beta1/fake",
--    "kubernetes/typed/autoscaling/v2beta2",
--    "kubernetes/typed/autoscaling/v2beta2/fake",
--    "kubernetes/typed/batch/v1",
--    "kubernetes/typed/batch/v1/fake",
--    "kubernetes/typed/batch/v1beta1",
--    "kubernetes/typed/batch/v1beta1/fake",
--    "kubernetes/typed/batch/v2alpha1",
--    "kubernetes/typed/batch/v2alpha1/fake",
--    "kubernetes/typed/certificates/v1beta1",
--    "kubernetes/typed/certificates/v1beta1/fake",
--    "kubernetes/typed/coordination/v1",
--    "kubernetes/typed/coordination/v1/fake",
--    "kubernetes/typed/coordination/v1beta1",
--    "kubernetes/typed/coordination/v1beta1/fake",
--    "kubernetes/typed/core/v1",
--    "kubernetes/typed/core/v1/fake",
--    "kubernetes/typed/discovery/v1alpha1",
--    "kubernetes/typed/discovery/v1alpha1/fake",
--    "kubernetes/typed/events/v1beta1",
--    "kubernetes/typed/events/v1beta1/fake",
--    "kubernetes/typed/extensions/v1beta1",
--    "kubernetes/typed/extensions/v1beta1/fake",
--    "kubernetes/typed/networking/v1",
--    "kubernetes/typed/networking/v1/fake",
--    "kubernetes/typed/networking/v1beta1",
--    "kubernetes/typed/networking/v1beta1/fake",
--    "kubernetes/typed/node/v1alpha1",
--    "kubernetes/typed/node/v1alpha1/fake",
--    "kubernetes/typed/node/v1beta1",
--    "kubernetes/typed/node/v1beta1/fake",
--    "kubernetes/typed/policy/v1beta1",
--    "kubernetes/typed/policy/v1beta1/fake",
--    "kubernetes/typed/rbac/v1",
--    "kubernetes/typed/rbac/v1/fake",
--    "kubernetes/typed/rbac/v1alpha1",
--    "kubernetes/typed/rbac/v1alpha1/fake",
--    "kubernetes/typed/rbac/v1beta1",
--    "kubernetes/typed/rbac/v1beta1/fake",
--    "kubernetes/typed/scheduling/v1",
--    "kubernetes/typed/scheduling/v1/fake",
--    "kubernetes/typed/scheduling/v1alpha1",
--    "kubernetes/typed/scheduling/v1alpha1/fake",
--    "kubernetes/typed/scheduling/v1beta1",
--    "kubernetes/typed/scheduling/v1beta1/fake",
--    "kubernetes/typed/settings/v1alpha1",
--    "kubernetes/typed/settings/v1alpha1/fake",
--    "kubernetes/typed/storage/v1",
--    "kubernetes/typed/storage/v1/fake",
--    "kubernetes/typed/storage/v1alpha1",
--    "kubernetes/typed/storage/v1alpha1/fake",
--    "kubernetes/typed/storage/v1beta1",
--    "kubernetes/typed/storage/v1beta1/fake",
--    "listers/core/v1",
--    "pkg/apis/clientauthentication",
--    "pkg/apis/clientauthentication/v1alpha1",
--    "pkg/apis/clientauthentication/v1beta1",
--    "pkg/version",
--    "plugin/pkg/client/auth/exec",
--    "plugin/pkg/client/auth/gcp",
--    "plugin/pkg/client/auth/oidc",
--    "rest",
--    "rest/watch",
--    "restmapper",
--    "scale",
--    "scale/scheme",
--    "scale/scheme/appsint",
--    "scale/scheme/appsv1beta1",
--    "scale/scheme/appsv1beta2",
--    "scale/scheme/autoscalingv1",
--    "scale/scheme/extensionsint",
--    "scale/scheme/extensionsv1beta1",
--    "testing",
--    "third_party/forked/golang/template",
--    "tools/auth",
--    "tools/cache",
--    "tools/clientcmd",
--    "tools/clientcmd/api",
--    "tools/clientcmd/api/latest",
--    "tools/clientcmd/api/v1",
--    "tools/metrics",
--    "tools/pager",
--    "tools/portforward",
--    "tools/reference",
--    "tools/remotecommand",
--    "tools/watch",
--    "transport",
--    "transport/spdy",
--    "util/cert",
--    "util/connrotation",
--    "util/exec",
--    "util/flowcontrol",
--    "util/homedir",
--    "util/jsonpath",
--    "util/keyutil",
--    "util/retry",
--    "util/workqueue",
--  ]
--  pruneopts = ""
--  revision = "85029d69edeae82e97dd1a0de3b24668cee9a15d"
--
--[[projects]]
--  branch = "release-1.16"
--  digest = "1:254da4cb69b3776686b730a206e081e6f8898bb64760619d1895c25c407e718f"
--  name = "k8s.io/code-generator"
--  packages = [
--    "cmd/go-to-protobuf",
--    "cmd/go-to-protobuf/protobuf",
--    "pkg/util",
--    "third_party/forked/golang/reflect",
--  ]
--  pruneopts = ""
--  revision = "8e001e5d18949be7e823ccb9cfe9b60026e7bda0"
--
--[[projects]]
--  branch = "master"
--  digest = "1:06c18e328063f3612dfda3c4c5e5b8becda1eabceca689335c8d98704dffe70a"
--  name = "k8s.io/component-base"
--  packages = ["featuregate"]
--  pruneopts = ""
--  revision = "435ce712a6949916fa293dc4d3d49429962043d8"
--
--[[projects]]
--  branch = "master"
--  digest = "1:6a2a63e09a59caff3fd2d36d69b7b92c2fe7cf783390f0b7349fb330820f9a8e"
--  name = "k8s.io/gengo"
--  packages = [
--    "args",
--    "examples/set-gen/sets",
--    "generator",
--    "namer",
--    "parser",
--    "types",
--  ]
--  pruneopts = ""
--  revision = "e17681d19d3ac4837a019ece36c2a0ec31ffe985"
--
--[[projects]]
--  digest = "1:9eaf86f4f6fb4a8f177220d488ef1e3255d06a691cca95f14ef085d4cd1cef3c"
--  name = "k8s.io/klog"
--  packages = ["."]
--  pruneopts = ""
--  revision = "d98d8acdac006fb39831f1b25640813fef9c314f"
--  version = "v0.3.3"
--
--[[projects]]
--  branch = "master"
--  digest = "1:0d737d598e9db0a38d6ef6cba514c358b9fe7e1bc6b1128d02b2622700c75f2a"
--  name = "k8s.io/kube-aggregator"
--  packages = [
--    "pkg/apis/apiregistration",
--    "pkg/apis/apiregistration/v1",
--    "pkg/apis/apiregistration/v1beta1",
--  ]
--  pruneopts = ""
--  revision = "e80910364765199a4baebd4dec54c885fe52b680"
--
--[[projects]]
--  digest = "1:16a343bd9d820ae320de4d1eaa8acc7a214aac4b38fb21d03255d3a457d861df"
--  name = "k8s.io/kube-openapi"
--  packages = [
--    "cmd/openapi-gen",
--    "cmd/openapi-gen/args",
--    "pkg/common",
--    "pkg/generators",
--    "pkg/generators/rules",
--    "pkg/util/proto",
--    "pkg/util/proto/validation",
--    "pkg/util/sets",
--  ]
--  pruneopts = ""
--  revision = "30be4d16710ac61bce31eb28a01054596fe6a9f1"
--
--[[projects]]
--  branch = "release-1.16"
--  digest = "1:687af22932f9b53ff2e6755b2eefe160f076d522794abb980f0ddb187bcefacd"
--  name = "k8s.io/kubectl"
--  packages = [
--    "pkg/cmd/apply",
--    "pkg/cmd/delete",
--    "pkg/cmd/util",
--    "pkg/cmd/util/editor",
--    "pkg/cmd/util/editor/crlf",
--    "pkg/cmd/wait",
--    "pkg/describe",
--    "pkg/describe/versioned",
--    "pkg/generated",
--    "pkg/rawhttp",
--    "pkg/scheme",
--    "pkg/util",
--    "pkg/util/certificate",
--    "pkg/util/deployment",
--    "pkg/util/event",
--    "pkg/util/fieldpath",
--    "pkg/util/i18n",
--    "pkg/util/interrupt",
--    "pkg/util/openapi",
--    "pkg/util/openapi/validation",
--    "pkg/util/printers",
--    "pkg/util/qos",
--    "pkg/util/rbac",
--    "pkg/util/resource",
--    "pkg/util/slice",
--    "pkg/util/storage",
--    "pkg/util/templates",
--    "pkg/util/term",
--    "pkg/validation",
--    "pkg/version",
--  ]
--  pruneopts = ""
--  revision = "14647fd13a8b4cffc5a8f327b0018e037f72e4e8"
--
--[[projects]]
--  branch = "release-1.16"
--  digest = "1:02241e5570c239d31e52955b1a8e6d603a35fd6542d14e98882fb6c3c4ef3d56"
--  name = "k8s.io/kubernetes"
--  packages = [
--    "pkg/api/legacyscheme",
--    "pkg/api/v1/pod",
--    "pkg/apis/apps",
--    "pkg/apis/apps/install",
--    "pkg/apis/apps/v1",
--    "pkg/apis/apps/v1beta1",
--    "pkg/apis/apps/v1beta2",
--    "pkg/apis/authentication",
--    "pkg/apis/authentication/install",
--    "pkg/apis/authentication/v1",
--    "pkg/apis/authentication/v1beta1",
--    "pkg/apis/authorization",
--    "pkg/apis/authorization/install",
--    "pkg/apis/authorization/v1",
--    "pkg/apis/authorization/v1beta1",
--    "pkg/apis/autoscaling",
--    "pkg/apis/autoscaling/install",
--    "pkg/apis/autoscaling/v1",
--    "pkg/apis/autoscaling/v2beta1",
--    "pkg/apis/autoscaling/v2beta2",
--    "pkg/apis/batch",
--    "pkg/apis/batch/install",
--    "pkg/apis/batch/v1",
--    "pkg/apis/batch/v1beta1",
--    "pkg/apis/batch/v2alpha1",
--    "pkg/apis/certificates",
--    "pkg/apis/certificates/install",
--    "pkg/apis/certificates/v1beta1",
--    "pkg/apis/coordination",
--    "pkg/apis/coordination/install",
--    "pkg/apis/coordination/v1",
--    "pkg/apis/coordination/v1beta1",
--    "pkg/apis/core",
--    "pkg/apis/core/install",
--    "pkg/apis/core/v1",
--    "pkg/apis/events",
--    "pkg/apis/events/install",
--    "pkg/apis/events/v1beta1",
--    "pkg/apis/extensions",
--    "pkg/apis/extensions/install",
--    "pkg/apis/extensions/v1beta1",
--    "pkg/apis/networking",
--    "pkg/apis/policy",
--    "pkg/apis/policy/install",
--    "pkg/apis/policy/v1beta1",
--    "pkg/apis/rbac",
--    "pkg/apis/rbac/install",
--    "pkg/apis/rbac/v1",
--    "pkg/apis/rbac/v1alpha1",
--    "pkg/apis/rbac/v1beta1",
--    "pkg/apis/scheduling",
--    "pkg/apis/scheduling/install",
--    "pkg/apis/scheduling/v1",
--    "pkg/apis/scheduling/v1alpha1",
--    "pkg/apis/scheduling/v1beta1",
--    "pkg/apis/settings",
--    "pkg/apis/settings/install",
--    "pkg/apis/settings/v1alpha1",
--    "pkg/apis/storage",
--    "pkg/apis/storage/install",
--    "pkg/apis/storage/v1",
--    "pkg/apis/storage/v1alpha1",
--    "pkg/apis/storage/v1beta1",
--    "pkg/features",
--    "pkg/kubectl/cmd/auth",
--    "pkg/registry/rbac/reconciliation",
--    "pkg/registry/rbac/validation",
--    "pkg/util/node",
--    "pkg/util/parsers",
--    "pkg/util/slice",
--    "pkg/util/workqueue/prometheus",
--  ]
--  pruneopts = ""
--  revision = "bfafae8f1c2fdf3c3cfef04674db028531a7c098"
--
--[[projects]]
--  branch = "master"
--  digest = "1:a8a2e6bbef691323b833d0eb11bb0e570e7eb9619ac76f7b11265530e1cac922"
--  name = "k8s.io/utils"
--  packages = [
--    "buffer",
--    "exec",
--    "integer",
--    "net",
--    "pointer",
--    "trace",
--  ]
--  pruneopts = ""
--  revision = "6ca3b61696b65b0e81f1a39b4937fc2d2994ed6a"
--
--[[projects]]
--  branch = "master"
--  digest = "1:9b9f12f4c13ca4a4f4b4554c00ba46cb2910ff4079825d96d520b03c447e6da5"
--  name = "layeh.com/gopher-json"
--  packages = ["."]
--  pruneopts = ""
--  revision = "97fed8db84274c421dbfffbb28ec859901556b97"
--
--[[projects]]
--  digest = "1:0b2daace3dcced8712072529b621360cf520f3c2ead92d755f35a0ec8dca2714"
--  name = "sigs.k8s.io/kustomize"
--  packages = [
--    "pkg/commands/build",
--    "pkg/constants",
--    "pkg/expansion",
--    "pkg/factory",
--    "pkg/fs",
--    "pkg/git",
--    "pkg/gvk",
--    "pkg/ifc",
--    "pkg/ifc/transformer",
--    "pkg/image",
--    "pkg/internal/error",
--    "pkg/loader",
--    "pkg/patch",
--    "pkg/patch/transformer",
--    "pkg/resid",
--    "pkg/resmap",
--    "pkg/resource",
--    "pkg/target",
--    "pkg/transformers",
--    "pkg/transformers/config",
--    "pkg/transformers/config/defaultconfig",
--    "pkg/types",
--  ]
--  pruneopts = ""
--  revision = "a6f65144121d1955266b0cd836ce954c04122dc8"
--  version = "v2.0.3"
--
--[[projects]]
--  digest = "1:321081b4a44256715f2b68411d8eda9a17f17ebfe6f0cc61d2cc52d11c08acfa"
--  name = "sigs.k8s.io/yaml"
--  packages = ["."]
--  pruneopts = ""
--  revision = "fd68e9863619f6ec2fdd8625fe1f02e7c877e480"
--  version = "v1.1.0"
--
--[solve-meta]
--  analyzer-name = "dep"
--  analyzer-version = 1
--  input-imports = [
--    "bou.ke/monkey",
--    "github.com/Masterminds/semver",
--    "github.com/TomOnTime/utfutil",
--    "github.com/argoproj/pkg/errors",
--    "github.com/argoproj/pkg/exec",
--    "github.com/argoproj/pkg/time",
--    "github.com/casbin/casbin",
--    "github.com/casbin/casbin/model",
--    "github.com/coreos/go-oidc",
--    "github.com/dgrijalva/jwt-go",
--    "github.com/dustin/go-humanize",
--    "github.com/evanphx/json-patch",
--    "github.com/ghodss/yaml",
--    "github.com/go-openapi/loads",
--    "github.com/go-openapi/runtime/middleware",
--    "github.com/go-openapi/spec",
--    "github.com/go-redis/cache",
--    "github.com/go-redis/redis",
--    "github.com/gobuffalo/packr",
--    "github.com/gobwas/glob",
--    "github.com/gogits/go-gogs-client",
--    "github.com/gogo/protobuf/gogoproto",
--    "github.com/gogo/protobuf/proto",
--    "github.com/gogo/protobuf/protoc-gen-gofast",
--    "github.com/gogo/protobuf/protoc-gen-gogofast",
--    "github.com/gogo/protobuf/sortkeys",
--    "github.com/golang/protobuf/proto",
--    "github.com/golang/protobuf/protoc-gen-go",
--    "github.com/golang/protobuf/ptypes/empty",
--    "github.com/google/go-jsonnet",
--    "github.com/google/shlex",
--    "github.com/grpc-ecosystem/go-grpc-middleware",
--    "github.com/grpc-ecosystem/go-grpc-middleware/auth",
--    "github.com/grpc-ecosystem/go-grpc-middleware/logging",
--    "github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus",
--    "github.com/grpc-ecosystem/go-grpc-middleware/retry",
--    "github.com/grpc-ecosystem/go-grpc-middleware/tags/logrus",
--    "github.com/grpc-ecosystem/go-grpc-prometheus",
--    "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway",
--    "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger",
--    "github.com/grpc-ecosystem/grpc-gateway/runtime",
--    "github.com/grpc-ecosystem/grpc-gateway/utilities",
--    "github.com/improbable-eng/grpc-web/go/grpcweb",
--    "github.com/kballard/go-shellquote",
--    "github.com/patrickmn/go-cache",
--    "github.com/pkg/errors",
--    "github.com/prometheus/client_golang/prometheus",
--    "github.com/prometheus/client_golang/prometheus/promhttp",
--    "github.com/robfig/cron",
--    "github.com/sirupsen/logrus",
--    "github.com/sirupsen/logrus/hooks/test",
--    "github.com/skratchdot/open-golang/open",
--    "github.com/soheilhy/cmux",
--    "github.com/spf13/cobra",
--    "github.com/spf13/pflag",
--    "github.com/stretchr/testify/assert",
--    "github.com/stretchr/testify/mock",
--    "github.com/vmihailenco/msgpack",
--    "github.com/yudai/gojsondiff",
--    "github.com/yudai/gojsondiff/formatter",
--    "github.com/yuin/gopher-lua",
--    "golang.org/x/crypto/bcrypt",
--    "golang.org/x/crypto/ssh",
--    "golang.org/x/crypto/ssh/knownhosts",
--    "golang.org/x/crypto/ssh/terminal",
--    "golang.org/x/net/context",
--    "golang.org/x/oauth2",
--    "golang.org/x/sync/errgroup",
--    "golang.org/x/sync/semaphore",
--    "google.golang.org/genproto/googleapis/api/annotations",
--    "google.golang.org/grpc",
--    "google.golang.org/grpc/codes",
--    "google.golang.org/grpc/credentials",
--    "google.golang.org/grpc/grpclog",
--    "google.golang.org/grpc/metadata",
--    "google.golang.org/grpc/reflection",
--    "google.golang.org/grpc/status",
--    "gopkg.in/go-playground/webhooks.v5/bitbucket",
--    "gopkg.in/go-playground/webhooks.v5/bitbucket-server",
--    "gopkg.in/go-playground/webhooks.v5/github",
--    "gopkg.in/go-playground/webhooks.v5/gitlab",
--    "gopkg.in/go-playground/webhooks.v5/gogs",
--    "gopkg.in/src-d/go-git.v4",
--    "gopkg.in/src-d/go-git.v4/config",
--    "gopkg.in/src-d/go-git.v4/plumbing",
--    "gopkg.in/src-d/go-git.v4/plumbing/transport",
--    "gopkg.in/src-d/go-git.v4/plumbing/transport/client",
--    "gopkg.in/src-d/go-git.v4/plumbing/transport/http",
--    "gopkg.in/src-d/go-git.v4/plumbing/transport/ssh",
--    "gopkg.in/src-d/go-git.v4/storage/memory",
--    "gopkg.in/src-d/go-git.v4/utils/ioutil",
--    "gopkg.in/yaml.v2",
--    "k8s.io/api/apps/v1",
--    "k8s.io/api/batch/v1",
--    "k8s.io/api/core/v1",
--    "k8s.io/api/extensions/v1beta1",
--    "k8s.io/api/networking/v1beta1",
--    "k8s.io/api/rbac/v1",
--    "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1",
--    "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset",
--    "k8s.io/apimachinery/pkg/api/equality",
--    "k8s.io/apimachinery/pkg/api/errors",
--    "k8s.io/apimachinery/pkg/apis/meta/v1",
--    "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
--    "k8s.io/apimachinery/pkg/fields",
--    "k8s.io/apimachinery/pkg/labels",
--    "k8s.io/apimachinery/pkg/runtime",
--    "k8s.io/apimachinery/pkg/runtime/schema",
--    "k8s.io/apimachinery/pkg/runtime/serializer",
--    "k8s.io/apimachinery/pkg/selection",
--    "k8s.io/apimachinery/pkg/types",
--    "k8s.io/apimachinery/pkg/util/intstr",
--    "k8s.io/apimachinery/pkg/util/jsonmergepatch",
--    "k8s.io/apimachinery/pkg/util/runtime",
--    "k8s.io/apimachinery/pkg/util/strategicpatch",
--    "k8s.io/apimachinery/pkg/util/wait",
--    "k8s.io/apimachinery/pkg/watch",
--    "k8s.io/cli-runtime/pkg/genericclioptions",
--    "k8s.io/cli-runtime/pkg/printers",
--    "k8s.io/client-go/discovery",
--    "k8s.io/client-go/discovery/fake",
--    "k8s.io/client-go/dynamic",
--    "k8s.io/client-go/dynamic/fake",
--    "k8s.io/client-go/informers/core/v1",
--    "k8s.io/client-go/kubernetes",
--    "k8s.io/client-go/kubernetes/fake",
--    "k8s.io/client-go/kubernetes/scheme",
--    "k8s.io/client-go/listers/core/v1",
--    "k8s.io/client-go/plugin/pkg/client/auth/gcp",
--    "k8s.io/client-go/plugin/pkg/client/auth/oidc",
--    "k8s.io/client-go/rest",
--    "k8s.io/client-go/testing",
--    "k8s.io/client-go/tools/cache",
--    "k8s.io/client-go/tools/clientcmd",
--    "k8s.io/client-go/tools/clientcmd/api",
--    "k8s.io/client-go/tools/portforward",
--    "k8s.io/client-go/transport/spdy",
--    "k8s.io/client-go/util/flowcontrol",
--    "k8s.io/client-go/util/workqueue",
--    "k8s.io/code-generator/cmd/go-to-protobuf",
--    "k8s.io/klog",
--    "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1",
--    "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1",
--    "k8s.io/kube-openapi/cmd/openapi-gen",
--    "k8s.io/kube-openapi/pkg/common",
--    "k8s.io/kubectl/pkg/cmd/apply",
--    "k8s.io/kubectl/pkg/cmd/util",
--    "k8s.io/kubectl/pkg/scheme",
--    "k8s.io/kubectl/pkg/util/term",
--    "k8s.io/kubernetes/pkg/api/legacyscheme",
--    "k8s.io/kubernetes/pkg/api/v1/pod",
--    "k8s.io/kubernetes/pkg/apis/apps/install",
--    "k8s.io/kubernetes/pkg/apis/authentication/install",
--    "k8s.io/kubernetes/pkg/apis/authorization/install",
--    "k8s.io/kubernetes/pkg/apis/autoscaling/install",
--    "k8s.io/kubernetes/pkg/apis/batch/install",
--    "k8s.io/kubernetes/pkg/apis/certificates/install",
--    "k8s.io/kubernetes/pkg/apis/coordination/install",
--    "k8s.io/kubernetes/pkg/apis/core",
--    "k8s.io/kubernetes/pkg/apis/core/install",
--    "k8s.io/kubernetes/pkg/apis/events/install",
--    "k8s.io/kubernetes/pkg/apis/extensions/install",
--    "k8s.io/kubernetes/pkg/apis/policy/install",
--    "k8s.io/kubernetes/pkg/apis/rbac/install",
--    "k8s.io/kubernetes/pkg/apis/scheduling/install",
--    "k8s.io/kubernetes/pkg/apis/settings/install",
--    "k8s.io/kubernetes/pkg/apis/storage/install",
--    "k8s.io/kubernetes/pkg/kubectl/cmd/auth",
--    "k8s.io/kubernetes/pkg/util/node",
--    "k8s.io/kubernetes/pkg/util/slice",
--    "k8s.io/kubernetes/pkg/util/workqueue/prometheus",
--    "k8s.io/utils/pointer",
--    "layeh.com/gopher-json",
--  ]
--  solver-name = "gps-cdcl"
--  solver-version = 1
-diff --git a/Gopkg.toml b/Gopkg.toml
-deleted file mode 100644
-index 2fa04ee4..00000000
---- a/Gopkg.toml
-+++ /dev/null
-@@ -1,117 +0,0 @@
--# Packages should only be added to the following list when we use them *outside* of our go code.
--# (e.g. we want to build the binary to invoke as part of the build process, such as in
--# generate-proto.sh). Normal use of golang packages should be added via `dep ensure`, and pinned
--# with a [[constraint]] or [[override]] when version is important.
--required = [
--  "github.com/golang/protobuf/protoc-gen-go",
--  "github.com/gogo/protobuf/protoc-gen-gofast",
--  "github.com/gogo/protobuf/protoc-gen-gogofast",
--  "k8s.io/code-generator/cmd/go-to-protobuf",
--  "k8s.io/kube-openapi/cmd/openapi-gen",
--  "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway",
--  "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger",
--  "golang.org/x/sync/errgroup",
--]
--
--[[constraint]]
--  name = "google.golang.org/grpc"
--  version = "1.15.0"
--
--[[constraint]]
--  name = "github.com/gogo/protobuf"
--  version = "1.3.1"
--
--# override github.com/grpc-ecosystem/go-grpc-middleware's constraint on master
--[[override]]
--  name = "github.com/golang/protobuf"
--  version = "1.2.0"
--
--[[constraint]]
--  name = "github.com/grpc-ecosystem/grpc-gateway"
--  version = "v1.3.1"
--
--# prometheus does not believe in semversioning yet
--[[constraint]]
--  name = "github.com/prometheus/client_golang"
--  revision = "7858729281ec582767b20e0d696b6041d995d5e0"
--
--[[override]]
--  branch = "release-1.16"
--  name = "k8s.io/api"
--
--[[override]]
--  branch = "release-1.16"
--  name = "k8s.io/kubernetes"
--
--[[override]]
--  branch = "release-1.16"
--  name = "k8s.io/code-generator"
--
--[[override]]
--  branch = "release-1.16"
--  name = "k8s.io/apimachinery"
--
--[[override]]
--  branch = "release-1.16"
--  name = "k8s.io/apiextensions-apiserver"
--
--[[override]]
--  branch = "release-1.16"
--  name = "k8s.io/apiserver"
--
--[[override]]
--  branch = "release-1.16"
--  name = "k8s.io/kubectl"
--
--[[override]]
--  branch = "release-1.16"
--  name = "k8s.io/cli-runtime"
--
--[[override]]
--  version = "2.0.3"
--  name = "sigs.k8s.io/kustomize"
--
--# ASCIIRenderer does not implement blackfriday.Renderer
--[[override]]
--  name = "github.com/russross/blackfriday"
--  version = "1.5.2"
-- 
--[[override]]
--  branch = "release-13.0"
--  name = "k8s.io/client-go"
--
--[[override]]
--  name = "github.com/casbin/casbin"
--  version = "1.9.1"
--
--[[constraint]]
--  name = "github.com/stretchr/testify"
--  version = "1.2.2"
--
--[[constraint]]
--  name = "github.com/gobuffalo/packr"
--  version = "v1.11.0"
--
--[[constraint]]
--  branch = "master"
--  name = "github.com/argoproj/pkg"
--
--[[constraint]]
--  branch = "master"
--  name = "github.com/yudai/gojsondiff"
--
--# Fixes: Could not introduce sigs.k8s.io/kustomize@v2.0.3, as it has a dependency on github.com/spf13/cobra with constraint ^0.0.2, which has no overlap with existing constraint 0.0.5 from (root)
--[[override]]
--  name = "github.com/spf13/cobra"
--  revision = "0.0.5"
--
--# TODO: move off of k8s.io/kube-openapi and use controller-tools for CRD spec generation
--# (override argoproj/argo contraint on master)
--[[override]]
--  revision = "30be4d16710ac61bce31eb28a01054596fe6a9f1"
--  name = "k8s.io/kube-openapi"
--
--# jsonpatch replace operation does not apply: doc is missing key: /metadata/annotations
--[[override]]
--  name = "github.com/evanphx/json-patch"
--  version = "v4.1.0"
-diff --git a/go.mod b/go.mod
-new file mode 100644
-index 00000000..2e741ab3
---- /dev/null
-+++ b/go.mod
-@@ -0,0 +1,114 @@
-+module github.com/argoproj/argo-cd
-+
-+go 1.12
-+
-+require (
-+	bou.ke/monkey v1.0.1
-+	github.com/Masterminds/semver v1.4.2
-+	github.com/TomOnTime/utfutil v0.0.0-20180511104225-09c41003ee1d
-+	github.com/argoproj/pkg v0.0.0-20191031223000-02a6aac40ac4
-+	github.com/casbin/casbin v1.9.1
-+	github.com/chai2010/gettext-go v0.0.0-20170215093142-bf70f2a70fb1 // indirect
-+	github.com/coreos/go-oidc v2.1.0+incompatible
-+	github.com/dgrijalva/jwt-go v3.2.0+incompatible
-+	github.com/docker/docker v1.6.0-rc5 // indirect
-+	github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c // indirect
-+	github.com/dustin/go-humanize v1.0.0
-+	github.com/evanphx/json-patch v4.5.0+incompatible
-+	github.com/ghodss/yaml v1.0.0
-+	github.com/go-openapi/loads v0.19.2
-+	github.com/go-openapi/runtime v0.19.0
-+	github.com/go-openapi/spec v0.19.2
-+	github.com/go-redis/cache v6.3.5+incompatible
-+	github.com/go-redis/redis v6.15.1+incompatible
-+	github.com/gobuffalo/packr v1.11.0
-+	github.com/gobwas/glob v0.2.3
-+	github.com/gogits/go-gogs-client v0.0.0-20190616193657-5a05380e4bc2
-+	github.com/gogo/protobuf v1.3.1
-+	github.com/golang/protobuf v1.3.1
-+	github.com/google/btree v1.0.0 // indirect
-+	github.com/google/go-cmp v0.3.1 // indirect
-+	github.com/google/go-jsonnet v0.10.0
-+	github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf
-+	github.com/googleapis/gnostic v0.1.0 // indirect
-+	github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect
-+	github.com/grpc-ecosystem/go-grpc-middleware v0.0.0-20190222133341-cfaf5686ec79
-+	github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
-+	github.com/grpc-ecosystem/grpc-gateway v1.3.1
-+	github.com/improbable-eng/grpc-web v0.0.0-20181111100011-16092bd1d58a
-+	github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 // indirect
-+	github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
-+	github.com/malexdev/utfutil v0.0.0-20180510171754-00c8d4a8e7a8 // indirect
-+	github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect
-+	github.com/patrickmn/go-cache v2.1.0+incompatible
-+	github.com/pkg/errors v0.8.1
-+	github.com/pquerna/cachecontrol v0.0.0-20180306154005-525d0eb5f91d // indirect
-+	github.com/prometheus/client_golang v0.9.2
-+	github.com/robfig/cron v1.1.0
-+	github.com/rs/cors v1.6.0 // indirect
-+	github.com/sirupsen/logrus v1.4.2
-+	github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c
-+	github.com/soheilhy/cmux v0.1.4
-+	github.com/spf13/cobra v0.0.5
-+	github.com/spf13/pflag v1.0.5
-+	github.com/stretchr/testify v1.3.0
-+	github.com/vmihailenco/msgpack v3.3.1+incompatible
-+	github.com/yudai/gojsondiff v0.0.0-20180504020246-0525c875b75c
-+	github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
-+	github.com/yudai/pp v2.0.1+incompatible // indirect
-+	github.com/yuin/gopher-lua v0.0.0-20190115140932-732aa6820ec4
-+	golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586
-+	golang.org/x/net v0.0.0-20191004110552-13f9640d40b9
-+	golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
-+	golang.org/x/sync v0.0.0-20190423024810-112230192c58
-+	google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873
-+	google.golang.org/grpc v1.23.0
-+	gopkg.in/go-playground/webhooks.v5 v5.11.0
-+	gopkg.in/src-d/go-git.v4 v4.9.1
-+	gopkg.in/yaml.v2 v2.2.8
-+	k8s.io/api v0.0.0
-+	k8s.io/apiextensions-apiserver v0.0.0
-+	k8s.io/apimachinery v0.16.5-beta.1
-+	k8s.io/cli-runtime v0.0.0
-+	k8s.io/client-go v0.0.0
-+	k8s.io/klog v1.0.0
-+	k8s.io/kube-aggregator v0.0.0
-+	k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a
-+	k8s.io/kubectl v0.0.0
-+	k8s.io/kubernetes v0.0.0-20191207011953-bfafae8f1c2f
-+	k8s.io/utils v0.0.0-20191114200735-6ca3b61696b6
-+	layeh.com/gopher-json v0.0.0-20190114024228-97fed8db8427
-+)
-+
-+replace (
-+	k8s.io/api => k8s.io/api v0.0.0-20200131112707-d64dbec685a4
-+	k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.0.0-20200208193839-84fe3c0be50e
-+	k8s.io/apimachinery => k8s.io/apimachinery v0.16.7-beta.0.0.20200131112342-0c9ec93240c9
-+	k8s.io/apiserver => k8s.io/apiserver v0.0.0-20200208192130-2d005a048922
-+	k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20200131120220-9674fbb91442
-+	k8s.io/client-go => k8s.io/client-go v0.0.0-20191016111102-bec269661e48
-+	k8s.io/cloud-provider => k8s.io/cloud-provider v0.0.0-20200131203752-f498d522efeb
-+	k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.0.0-20200131121422-fc6110069b18
-+	k8s.io/code-generator => k8s.io/code-generator v0.16.7-beta.0.0.20200131112027-a3045e5e55c0
-+	k8s.io/component-base => k8s.io/component-base v0.0.0-20200131113804-409d4deb41dd
-+	k8s.io/cri-api => k8s.io/cri-api v0.16.8-beta.0
-+	k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.0.0-20200131121824-f033562d74c3
-+	k8s.io/gengo => k8s.io/gengo v0.0.0-20190822140433-26a664648505
-+	k8s.io/heapster => k8s.io/heapster v1.2.0-beta.1
-+	k8s.io/klog => k8s.io/klog v0.4.0
-+	k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.0.0-20200208192621-0eeb50407007
-+	k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.0.0-20200131121224-13b3f231e47d
-+	k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf
-+	k8s.io/kube-proxy => k8s.io/kube-proxy v0.0.0-20200131120626-5b8ba5e54e1f
-+	k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.0.0-20200131121024-5f0ba0866863
-+	k8s.io/kubectl => k8s.io/kubectl v0.0.0-20200131122652-b28c9fbca10f
-+	k8s.io/kubelet => k8s.io/kubelet v0.0.0-20200131120825-905bd8eea4c4
-+	k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.0.0-20200208200602-3a1c7effd2b3
-+	k8s.io/metrics => k8s.io/metrics v0.0.0-20200131120008-5c623d74062d
-+	k8s.io/node-api => k8s.io/node-api v0.0.0-20200131122255-04077c800298
-+	k8s.io/repo-infra => k8s.io/repo-infra v0.0.0-20181204233714-00fe14e3d1a3
-+	k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.0.0-20200208192953-f8dc80bbc173
-+	k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.0.0-20200131120425-dca0863cb511
-+	k8s.io/sample-controller => k8s.io/sample-controller v0.0.0-20200131115407-2b45fb79af22
-+	k8s.io/utils => k8s.io/utils v0.0.0-20190801114015-581e00157fb1
-+)
-diff --git a/go.sum b/go.sum
-new file mode 100644
-index 00000000..3d39244f
---- /dev/null
-+++ b/go.sum
-@@ -0,0 +1,700 @@
-+bitbucket.org/bertimus9/systemstat v0.0.0-20180207000608-0eeff89b0690/go.mod h1:Ulb78X89vxKYgdL24HMTiXYHlyHEvruOj1ZPlqeNEZM=
-+bou.ke/monkey v1.0.1 h1:zEMLInw9xvNakzUUPjfS4Ds6jYPqCFx3m7bRmG5NH2U=
-+bou.ke/monkey v1.0.1/go.mod h1:FgHuK96Rv2Nlf+0u1OOVDpCMdsWyOFmeeketDHE7LIg=
-+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-+cloud.google.com/go v0.38.0 h1:ROfEUZz+Gh5pa62DJWXSaonyu3StP6EA6lPEXPI6mCo=
-+cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
-+github.com/Azure/azure-sdk-for-go v32.5.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
-+github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
-+github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
-+github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
-+github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
-+github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
-+github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
-+github.com/Azure/go-autorest/autorest/to v0.2.0/go.mod h1:GunWKJp1AEqgMaGLV+iocmRAJWqST1wQYhyyjXJ3SJc=
-+github.com/Azure/go-autorest/autorest/validation v0.1.0/go.mod h1:Ha3z/SqBeaalWQvokg3NZAlQTalVMtOIAs1aGK7G6u8=
-+github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
-+github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
-+github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-+github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
-+github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190822182118-27a4ced34534/go.mod h1:iroGtC8B3tQiqtds1l+mgk/BBOrxbqjH+eUfFQYRc14=
-+github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA=
-+github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw=
-+github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
-+github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd h1:sjQovDkwrZp8u+gxLtPgKGjk5hCxuy2hrRejBTA9xFU=
-+github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd/go.mod h1:64YHyfSL2R96J44Nlwm39UHepQbyR5q10x7iYa1ks2E=
-+github.com/Masterminds/semver v1.4.2 h1:WBLTQ37jOCzSLtXNdoo8bNM8876KhNqOKvrlGITgsTc=
-+github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
-+github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
-+github.com/Microsoft/hcsshim v0.0.0-20190417211021-672e52e9209d/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
-+github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
-+github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-+github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-+github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
-+github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-+github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-+github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
-+github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-+github.com/Rican7/retry v0.1.0/go.mod h1:FgOROf8P5bebcC1DS0PdOQiqGUridaZvikzUmkFW6gg=
-+github.com/TomOnTime/utfutil v0.0.0-20180511104225-09c41003ee1d h1:WtAMR0fPCOfK7TPGZ8ZpLLY18HRvL7XJ3xcs0wnREgo=
-+github.com/TomOnTime/utfutil v0.0.0-20180511104225-09c41003ee1d/go.mod h1:WML6KOYjeU8N6YyusMjj2qRvaPNUEvrQvaxuFcMRFJY=
-+github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs=
-+github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
-+github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
-+github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
-+github.com/argoproj/pkg v0.0.0-20191031223000-02a6aac40ac4 h1:ykGEoo3WuCNoqO+rnaa0j/RdYfXZFp5Aqim+CjzdBaQ=
-+github.com/argoproj/pkg v0.0.0-20191031223000-02a6aac40ac4/go.mod h1:2EZ44RG/CcgtPTwrRR0apOc7oU6UIw8GjCUJWZ8X3bM=
-+github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
-+github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
-+github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-+github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=
-+github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-+github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7/go.mod h1:LWMyo4iOLWXHGdBki7NIht1kHru/0wM179h+d3g8ATM=
-+github.com/aws/aws-sdk-go v1.16.26/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
-+github.com/bazelbuild/bazel-gazelle v0.0.0-20181012220611-c728ce9f663e/go.mod h1:uHBSeeATKpVazAACZBDPL/Nk/UhQDDsJWDlqYJo8/Us=
-+github.com/bazelbuild/buildtools v0.0.0-20180226164855-80c7f0d45d7e/go.mod h1:5JP0TXzWDHXv8qvxRC4InIazwdyDseBDbzESUMKk1yU=
-+github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 h1:xJ4a3vCFaGF/jqvzLMYoU8P317H5OQ+Via4RmuPwCS0=
-+github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
-+github.com/bifurcation/mint v0.0.0-20180715133206-93c51c6ce115/go.mod h1:zVt7zX3K/aDCk9Tj+VM7YymsX66ERvzCJzw8rFCX2JU=
-+github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
-+github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
-+github.com/caddyserver/caddy v1.0.3/go.mod h1:G+ouvOY32gENkJC+jhgl62TyhvqEsFaDiZ4uw0RzP1E=
-+github.com/casbin/casbin v1.9.1 h1:ucjbS5zTrmSLtH4XogqOG920Poe6QatdXtz1FEbApeM=
-+github.com/casbin/casbin v1.9.1/go.mod h1:z8uPsfBJGUsnkagrt3G8QvjgTKFMBJ32UP8HpZllfog=
-+github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
-+github.com/cespare/prettybench v0.0.0-20150116022406-03b8cfe5406c/go.mod h1:Xe6ZsFhtM8HrDku0pxJ3/Lr51rwykrzgFwpmTzleatY=
-+github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw=
-+github.com/chai2010/gettext-go v0.0.0-20170215093142-bf70f2a70fb1 h1:HD4PLRzjuCVW79mQ0/pdsalOLHJ+FaEoqJLxfltpb2U=
-+github.com/chai2010/gettext-go v0.0.0-20170215093142-bf70f2a70fb1/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw=
-+github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b/go.mod h1:TrMrLQfeENAPYPRsJuq3jsqdlRh3lvi6trTZJG8+tho=
-+github.com/cheekybits/genny v0.0.0-20170328200008-9127e812e1e9/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ=
-+github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
-+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-+github.com/cloudflare/cfssl v0.0.0-20180726162950-56268a613adf/go.mod h1:yMWuSON2oQp+43nFtAV/uvKQIFpSPerB57DCt9t8sSA=
-+github.com/clusterhq/flocker-go v0.0.0-20160920122132-2b8b7259d313/go.mod h1:P1wt9Z3DP8O6W3rvwCt0REIlshg1InHImaLW0t3ObY0=
-+github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0=
-+github.com/container-storage-interface/spec v1.1.0/go.mod h1:6URME8mwIBbpVyZV93Ce5St17xBiQJQY67NDsuohiy4=
-+github.com/containerd/console v0.0.0-20170925154832-84eeaae905fa/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
-+github.com/containerd/containerd v1.0.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
-+github.com/containerd/typeurl v0.0.0-20190228175220-2a93cfde8c20/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
-+github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
-+github.com/coredns/corefile-migration v1.0.2/go.mod h1:OFwBp/Wc9dJt5cAZzHWMNhK1r5L0p0jDwIBc6j8NC8E=
-+github.com/coreos/bbolt v1.3.3/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
-+github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
-+github.com/coreos/etcd v3.3.17+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
-+github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
-+github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM=
-+github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
-+github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
-+github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
-+github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
-+github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
-+github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
-+github.com/coreos/rkt v1.30.0/go.mod h1:O634mlH6U7qk87poQifK6M2rsFNt+FyUTWNMnP1hF1U=
-+github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
-+github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4=
-+github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-+github.com/daviddengcn/go-colortext v0.0.0-20160507010035-511bcaf42ccd/go.mod h1:dv4zxwHi5C/8AeI+4gX4dCWOIvNi7I6JCSX0HvlKPgE=
-+github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
-+github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
-+github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
-+github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=
-+github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
-+github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-+github.com/docker/docker v1.6.0-rc5 h1:8dnqiCOcZf2QXwR4LNnG7AK9hXeeT6adGmtjicsVswc=
-+github.com/docker/docker v1.6.0-rc5/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-+github.com/docker/go-connections v0.3.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
-+github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-+github.com/docker/libnetwork v0.0.0-20180830151422-a9cd636e3789/go.mod h1:93m0aTqz6z+g32wla4l4WxTrdtvBRmVzYRkYvasA5Z8=
-+github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
-+github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c h1:ZfSZ3P3BedhKGUhzj7BQlPSU4OvT6tfOKe3DVHzOA7s=
-+github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
-+github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
-+github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
-+github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e h1:p1yVGRW3nmb85p1Sh1ZJSDm4A4iKLS5QNbvUHMgGu/M=
-+github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
-+github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
-+github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk=
-+github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
-+github.com/emirpasic/gods v1.9.0 h1:rUF4PuzEjMChMiNsVjdI+SyLu7rEqpQ5reNFnhC7oFo=
-+github.com/emirpasic/gods v1.9.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
-+github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw=
-+github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-+github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M=
-+github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-+github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d h1:105gxyaGwCFad8crR9dcMQWvV9Hvulu6hwUh4tWPJnM=
-+github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4=
-+github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8=
-+github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc=
-+github.com/fatih/color v1.6.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
-+github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ=
-+github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
-+github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
-+github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-+github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-+github.com/ghodss/yaml v0.0.0-20180820084758-c7ce16629ff4/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-+github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
-+github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-+github.com/gliderlabs/ssh v0.1.1 h1:j3L6gSLQalDETeEg/Jg0mGY0/y/N6zI2xX1978P0Uqw=
-+github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
-+github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-+github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is=
-+github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-+github.com/go-acme/lego v2.5.0+incompatible/go.mod h1:yzMNe9CasVUhkquNvti5nAtPmG94USbYxYrZfTkIn0M=
-+github.com/go-bindata/go-bindata v3.1.1+incompatible/go.mod h1:xK8Dsgwmeed+BBsSy2XTopBn/8uK2HWuGSnA11C3Joo=
-+github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
-+github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
-+github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-+github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-+github.com/go-openapi/analysis v0.19.2 h1:ophLETFestFZHk3ji7niPEL4d466QjW+0Tdg5VyDq7E=
-+github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-+github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-+github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-+github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=
-+github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-+github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
-+github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-+github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-+github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
-+github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
-+github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-+github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
-+github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-+github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-+github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w=
-+github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
-+github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-+github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-+github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-+github.com/go-openapi/loads v0.19.2 h1:rf5ArTHmIJxyV5Oiks+Su0mUens1+AjpkPoWr5xFRcI=
-+github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
-+github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
-+github.com/go-openapi/runtime v0.19.0 h1:sU6pp4dSV2sGlNKKyHxZzi1m1kG4WnYtWcJ+HYbygjE=
-+github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
-+github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
-+github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-+github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-+github.com/go-openapi/spec v0.19.2 h1:SStNd1jRcYtfKCN7R0laGNs80WYYvn5CbBjM2sOmCrE=
-+github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
-+github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-+github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-+github.com/go-openapi/strfmt v0.19.0 h1:0Dn9qy1G9+UJfRU7TR8bmdGxb4uifB7HNrJjOnV0yPk=
-+github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
-+github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
-+github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-+github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-+github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-+github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
-+github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-+github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
-+github.com/go-openapi/validate v0.19.2 h1:ky5l57HjyVRrsJfd2+Ro5Z9PjGuKbsmftwyMtk8H7js=
-+github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
-+github.com/go-ozzo/ozzo-validation v3.5.0+incompatible/go.mod h1:gsEKFIVnabGBt6mXmxK0MoFy+cZoTJY6mu5Ll3LVLBU=
-+github.com/go-redis/cache v6.3.5+incompatible h1:4OUyoXXYRRQ6tKA4ue3TlPUkBzk3occzjtXBZBxCzgs=
-+github.com/go-redis/cache v6.3.5+incompatible/go.mod h1:XNnMdvlNjcZvHjsscEozHAeOeSE5riG9Fj54meG4WT4=
-+github.com/go-redis/redis v6.15.1+incompatible h1:BZ9s4/vHrIqwOb0OPtTQ5uABxETJ3NRuUNoSUurnkew=
-+github.com/go-redis/redis v6.15.1+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
-+github.com/gobuffalo/packr v1.11.0 h1:lxysfHcxVCWGNMHzKABP7ZEL3A7iIVYfkev/D7AR0aM=
-+github.com/gobuffalo/packr v1.11.0/go.mod h1:rYwMLC6NXbAbkKb+9j3NTKbxSswkKLlelZYccr4HYVw=
-+github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
-+github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
-+github.com/godbus/dbus v4.1.0+incompatible/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
-+github.com/gogits/go-gogs-client v0.0.0-20190616193657-5a05380e4bc2 h1:BbwX8wsMRDZRdNYxAna+4ls3wvMKJyn4PT6Zk1CPxP4=
-+github.com/gogits/go-gogs-client v0.0.0-20190616193657-5a05380e4bc2/go.mod h1:cY2AIrMgHm6oOHmR7jY+9TtjzSjQ3iG7tURJG3Y6XH0=
-+github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
-+github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
-+github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
-+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
-+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-+github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
-+github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-+github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-+github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-+github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
-+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-+github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho=
-+github.com/golangplus/fmt v0.0.0-20150411045040-2a5d6d7d2995/go.mod h1:lJgMEyOkYFkPcDKwRXegd+iM6E7matEszMG5HhwytU8=
-+github.com/golangplus/testing v0.0.0-20180327235837-af21d9c3145e/go.mod h1:0AA//k/eakGydO4jKRoRL2j92ZKSzTgj9tclaCrvXHk=
-+github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-+github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
-+github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-+github.com/google/cadvisor v0.34.0/go.mod h1:1nql6U13uTHaLYB8rLS5x9IJc2qT6Xd/Tr1sTX6NE48=
-+github.com/google/certificate-transparency-go v1.0.21/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg=
-+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-+github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg=
-+github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-+github.com/google/go-jsonnet v0.10.0 h1:NzmG/5DRTYDjNnsL/OmX6wT+ByeKbSoRoV6VxOy+QdM=
-+github.com/google/go-jsonnet v0.10.0/go.mod h1:gVu3UVSfOt5fRFq+dh9duBqXa5905QY8S1QvMNcEIVs=
-+github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
-+github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
-+github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-+github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
-+github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-+github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
-+github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf h1:7+FW5aGwISbqUtkfmIpZJGRgNFg2ioYPvFaUxdqpDsg=
-+github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf/go.mod h1:RpwtwJQFrIEPstU94h88MWPXP2ektJZ8cZ0YntAmXiE=
-+github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-+github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
-+github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-+github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
-+github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-+github.com/googleapis/gnostic v0.1.0 h1:rVsPeBmXbYv4If/cumu1AzZPwV58q433hvONV1UEZoI=
-+github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-+github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
-+github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
-+github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
-+github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
-+github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
-+github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
-+github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
-+github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA=
-+github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
-+github.com/grpc-ecosystem/go-grpc-middleware v0.0.0-20190222133341-cfaf5686ec79 h1:lR9ssWAqp9qL0bALxqEEkuudiP1eweOdv9jsRK3e7lE=
-+github.com/grpc-ecosystem/go-grpc-middleware v0.0.0-20190222133341-cfaf5686ec79/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
-+github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
-+github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
-+github.com/grpc-ecosystem/grpc-gateway v1.3.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw=
-+github.com/grpc-ecosystem/grpc-gateway v1.3.1 h1:k2neygAEBYavP90THffKBVlkASdxu4XiI8cAWuL3MG0=
-+github.com/grpc-ecosystem/grpc-gateway v1.3.1/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw=
-+github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
-+github.com/hashicorp/golang-lru v0.0.0-20180201235237-0fb14efe8c47/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-+github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-+github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
-+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-+github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
-+github.com/heketi/heketi v9.0.0+incompatible/go.mod h1:bB9ly3RchcQqsQ9CpyaQwvva7RS5ytVoSoholZQON6o=
-+github.com/heketi/rest v0.0.0-20180404230133-aa6a65207413/go.mod h1:BeS3M108VzVlmAue3lv2WcGuPAX94/KN63MUURzbYSI=
-+github.com/heketi/tests v0.0.0-20151005000721-f3775cbcefd6/go.mod h1:xGMAM8JLi7UkZt1i4FQeQy0R2T8GLUwQhOP5M1gBhy4=
-+github.com/heketi/utils v0.0.0-20170317161834-435bc5bdfa64/go.mod h1:RYlF4ghFZPPmk2TC5REt5OFwvfb6lzxFWrTWB+qs28s=
-+github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
-+github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
-+github.com/imdario/mergo v0.3.5 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q=
-+github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-+github.com/improbable-eng/grpc-web v0.0.0-20181111100011-16092bd1d58a h1:RweVA0vnEyStwtAelyGmnU8ENDnwd1Q7pQr7U3J/rXo=
-+github.com/improbable-eng/grpc-web v0.0.0-20181111100011-16092bd1d58a/go.mod h1:6hRR09jOEG81ADP5wCQju1z71g6OL4eEvELdran/3cs=
-+github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
-+github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-+github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
-+github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
-+github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
-+github.com/jimstudt/http-authentication v0.0.0-20140401203705-3eca13d6893a/go.mod h1:wK6yTYYcgjHE1Z1QtXACPDjcFJyBskHEdagmnq3vsP8=
-+github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
-+github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
-+github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
-+github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-+github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-+github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo=
-+github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
-+github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
-+github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
-+github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
-+github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
-+github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34=
-+github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
-+github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
-+github.com/kevinburke/ssh_config v0.0.0-20180830205328-81db2a75821e h1:RgQk53JHp/Cjunrr1WlsXSZpqXn+uREuHvUVcK82CV8=
-+github.com/kevinburke/ssh_config v0.0.0-20180830205328-81db2a75821e/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
-+github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
-+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-+github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
-+github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
-+github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-+github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
-+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-+github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
-+github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
-+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-+github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
-+github.com/libopenstorage/openstorage v1.0.0/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc=
-+github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0=
-+github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
-+github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc=
-+github.com/lpabon/godbc v0.1.1/go.mod h1:Jo9QV0cf3U6jZABgiJ2skINAXb9j8m51r07g4KI92ZA=
-+github.com/lucas-clemente/aes12 v0.0.0-20171027163421-cd47fb39b79f/go.mod h1:JpH9J1c9oX6otFSgdUHwUBUizmKlrMjxWnIAjff4m04=
-+github.com/lucas-clemente/quic-clients v0.1.0/go.mod h1:y5xVIEoObKqULIKivu+gD/LU90pL73bTdtQjPBvtCBk=
-+github.com/lucas-clemente/quic-go v0.10.2/go.mod h1:hvaRS9IHjFLMq76puFJeWNfmn+H70QZ/CXoxqw9bzao=
-+github.com/lucas-clemente/quic-go-certificates v0.0.0-20160823095156-d2f86524cced/go.mod h1:NCcRLrOTZbzhZvixZLlERbJtDtYsmMw8Jc4vS8Z0g58=
-+github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
-+github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
-+github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-+github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-+github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-+github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-+github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8=
-+github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-+github.com/malexdev/utfutil v0.0.0-20180510171754-00c8d4a8e7a8 h1:A6SLdFpRzUUF5v9F/7T1fu3DERmOCgTwwP6x54eyFfU=
-+github.com/malexdev/utfutil v0.0.0-20180510171754-00c8d4a8e7a8/go.mod h1:UtpLyb/EupVKXF/N0b4NRe1DNg+QYJsnsHQ038romhM=
-+github.com/marten-seemann/qtls v0.2.3/go.mod h1:xzjG7avBwGGbdZ8dTGxlBnLArsVKLvwmjgmPuiQEcYk=
-+github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4=
-+github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
-+github.com/mattn/go-isatty v0.0.3 h1:ns/ykhmWi7G9O+8a448SecJU3nSMBXJfqQkl0upE1jI=
-+github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
-+github.com/mattn/go-shellwords v1.0.5/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
-+github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
-+github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-+github.com/mesos/mesos-go v0.0.9/go.mod h1:kPYCMQ9gsOXVAle1OsoY4I1+9kPu8GHkf88aV59fDr4=
-+github.com/mholt/certmagic v0.6.2-0.20190624175158-6a42ef9fe8c2/go.mod h1:g4cOPxcjV0oFq3qwpjSA30LReKD8AoIfwAY9VvG35NY=
-+github.com/miekg/dns v1.1.3/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
-+github.com/miekg/dns v1.1.4/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
-+github.com/mindprince/gonvml v0.0.0-20171110221305-fee913ce8fb2/go.mod h1:2eu9pRWp8mo84xCg6KswZ+USQHjwgRhNp06sozOdsTY=
-+github.com/mistifyio/go-zfs v2.1.1+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4=
-+github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-+github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
-+github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-+github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4=
-+github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
-+github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
-+github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
-+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-+github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-+github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
-+github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-+github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
-+github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
-+github.com/mrunalp/fileutils v0.0.0-20160930181131-4ee1cc9a8058/go.mod h1:x8F1gnqOkIEiO4rqoeEEEqQbo7HjGMTvyoq3gej4iT0=
-+github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
-+github.com/mvdan/xurls v1.1.0/go.mod h1:tQlNn3BED8bE/15hnSL2HLkDeLWpNPAwtw7wkEq44oU=
-+github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=
-+github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-+github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
-+github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
-+github.com/naoina/toml v0.1.1/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
-+github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-+github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-+github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
-+github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-+github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
-+github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-+github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo=
-+github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-+github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ=
-+github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
-+github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
-+github.com/opencontainers/runc v1.0.0-rc2.0.20190611121236-6cc515888830/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
-+github.com/opencontainers/runtime-spec v1.0.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
-+github.com/opencontainers/selinux v1.2.2/go.mod h1:+BLncwf63G4dgOzykXAxcmnFlUaOlkDdmw/CqsW6pjs=
-+github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
-+github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
-+github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
-+github.com/pelletier/go-buffruneio v0.2.0 h1:U4t4R6YkofJ5xHm3dJzuRpPZ0mr5MMCoAWooScCR7aA=
-+github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo=
-+github.com/pelletier/go-toml v1.0.1/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
-+github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
-+github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI=
-+github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
-+github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-+github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
-+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-+github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-+github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
-+github.com/pquerna/cachecontrol v0.0.0-20180306154005-525d0eb5f91d h1:7gXyC293Lsm2YWgQ+0uaAFFFDO82ruiQSwc3ua+Vtlc=
-+github.com/pquerna/cachecontrol v0.0.0-20180306154005-525d0eb5f91d/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
-+github.com/pquerna/ffjson v0.0.0-20180717144149-af8b230fcd20/go.mod h1:YARuvh7BUWHNhzDq2OM5tzR2RiCcN2D7sapiKyCel/M=
-+github.com/prometheus/client_golang v0.9.2 h1:awm861/B8OKDd2I/6o1dy3ra4BamzKhYOiGItCeZ740=
-+github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM=
-+github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910 h1:idejC8f05m9MGOsuEi1ATq9shN03HrxNkD/luQvxCv8=
-+github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
-+github.com/prometheus/common v0.0.0-20181126121408-4724e9255275 h1:PnBWHBf+6L0jOqq0gIVUe6Yk0/QMZ640k6NvkxcBf+8=
-+github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
-+github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a h1:9a8MnZMP0X2nLJdBg+pBmGgkJlSaKC2KaQmTCk1XDtE=
-+github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-+github.com/quobyte/api v0.1.2/go.mod h1:jL7lIHrmqQ7yh05OJ+eEEdHr0u/kmT1Ff9iHd+4H6VI=
-+github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M=
-+github.com/robfig/cron v1.1.0 h1:jk4/Hud3TTdcrJgUOBgsqrZBarcxl6ADIjSC2iniwLY=
-+github.com/robfig/cron v1.1.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
-+github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-+github.com/rs/cors v1.6.0 h1:G9tHG9lebljV9mfp9SNPDL36nCDxmo3zTlAf1YgvzmI=
-+github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
-+github.com/rubiojr/go-vhd v0.0.0-20160810183302-0bfd3b39853c/go.mod h1:DM5xW0nvfNNm2uytzsvhI3OnX8uzaRAg8UX/CnDqbto=
-+github.com/russross/blackfriday v0.0.0-20170610170232-067529f716f4/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
-+github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo=
-+github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
-+github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
-+github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo=
-+github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=
-+github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
-+github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
-+github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
-+github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
-+github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c h1:fyKiXKO1/I/B6Y2U8T7WdQGWzwehOuGIrljPtt7YTTI=
-+github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog=
-+github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
-+github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
-+github.com/soheilhy/cmux v0.1.3/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
-+github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E=
-+github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
-+github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
-+github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
-+github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
-+github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s=
-+github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
-+github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
-+github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
-+github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-+github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-+github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-+github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
-+github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
-+github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
-+github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4=
-+github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI=
-+github.com/storageos/go-api v0.0.0-20180912212459-343b3eff91fc/go.mod h1:ZrLn+e0ZuF3Y65PNF6dIwbJPZqfmtCXxFm9ckv0agOY=
-+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-+github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-+github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=
-+github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
-+github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-+github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-+github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
-+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-+github.com/syndtr/gocapability v0.0.0-20160928074757-e7cb7fa329f4/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
-+github.com/thecodeteam/goscaleio v0.1.0/go.mod h1:68sdkZAsK8bvEwBlbQnlLS+xU+hvLYM/iQ8KXej1AwM=
-+github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
-+github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
-+github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
-+github.com/vishvananda/netlink v0.0.0-20171020171820-b2de5d10e38e/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
-+github.com/vishvananda/netns v0.0.0-20171111001504-be1fbeda1936/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
-+github.com/vmihailenco/msgpack v3.3.1+incompatible h1:ibe+d1lqocBmxbJ+gwcDO8LpAHFr3PGDYovoURuTVGk=
-+github.com/vmihailenco/msgpack v3.3.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
-+github.com/vmware/govmomi v0.20.1/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU=
-+github.com/xanzy/ssh-agent v0.2.0 h1:Adglfbi5p9Z0BmK2oKU9nTG+zKfniSfnaMYB+ULd+Ro=
-+github.com/xanzy/ssh-agent v0.2.0/go.mod h1:0NyE30eGUDliuLEHJgYte/zncp2zdTStcOnWhgSqHD8=
-+github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
-+github.com/xlab/handysort v0.0.0-20150421192137-fb3537ed64a1/go.mod h1:QcJo0QPSfTONNIgpN5RA8prR7fF8nkF6cTWTcNerRO8=
-+github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
-+github.com/yudai/gojsondiff v0.0.0-20180504020246-0525c875b75c h1:/8Xb/f8s2/ZZpzMzBkFwW2Jvj7Pglk+AW8m8FFqOoIQ=
-+github.com/yudai/gojsondiff v0.0.0-20180504020246-0525c875b75c/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg=
-+github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 h1:BHyfKlQyqbsFN5p3IfnEUduWvb9is428/nNb5L3U01M=
-+github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM=
-+github.com/yudai/pp v2.0.1+incompatible h1:Q4//iY4pNF6yPLZIigmvcl7k/bPgrcTPIFIcmawg5bI=
-+github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc=
-+github.com/yuin/gopher-lua v0.0.0-20190115140932-732aa6820ec4 h1:1yOVVSFiradDwXpgdkDjlGOcGJqcohH/W49Zn8Ywgco=
-+github.com/yuin/gopher-lua v0.0.0-20190115140932-732aa6820ec4/go.mod h1:fFiAh+CowNFr0NK5VASokuwKwkbacRmHsVA7Yb1Tqac=
-+go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
-+go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
-+go.uber.org/atomic v0.0.0-20181018215023-8dc6146f7569/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
-+go.uber.org/multierr v0.0.0-20180122172545-ddea229ff1df/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
-+go.uber.org/zap v0.0.0-20180814183419-67bc79d13d15/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
-+golang.org/x/crypto v0.0.0-20180426230345-b49d69b5da94/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-+golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-+golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-+golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-+golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-+golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-+golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-+golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-+golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-+golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
-+golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-+golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-+golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
-+golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
-+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-+golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-+golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-+golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
-+golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
-+golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-+golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-+golang.org/x/net v0.0.0-20190328230028-74de082e2cca/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-+golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-+golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-+golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 h1:rjwSpXsdiK0dV8/Naq3kAw9ymfAeJIyd0upUIElB+lI=
-+golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-+golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
-+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-+golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
-+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-+golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20180903190138-2b024373dcd9/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20181004145325-8469e314837c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20190124100055-b90733256f2e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ=
-+golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-+golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-+golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
-+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-+golang.org/x/time v0.0.0-20181108054448-85acf8d2951c h1:fqgJT0MGcGpPgpWU7VRdRjuArfcOvC4AoJmILihzhDg=
-+golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-+golang.org/x/tools v0.0.0-20170824195420-5d2fd3ccab98/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-+golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-+golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-+golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
-+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-+golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-+golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-+golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-+golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-+golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-+golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-+golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-+golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-+gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
-+gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
-+gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
-+google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
-+google.golang.org/api v0.6.1-0.20190607001116-5213b8090861/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4=
-+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
-+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-+google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=
-+google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-+google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-+google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-+google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873 h1:nfPFGzJkUDX6uBmpN/pSw7MbOAWegH5QDQuoXFHedLg=
-+google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
-+google.golang.org/grpc v1.23.0 h1:AzbTB6ux+okLTzP8Ru1Xs41C303zdcfEht7MQnYJt5A=
-+google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-+gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
-+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
-+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-+gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-+gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
-+gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
-+gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
-+gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
-+gopkg.in/go-playground/webhooks.v5 v5.11.0 h1:V3vej+ZXrVvO2EmBTKlhClEbpTqXH44K5OyLUMOkHMg=
-+gopkg.in/go-playground/webhooks.v5 v5.11.0/go.mod h1:LZbya/qLVdbqDR1aKrGuWV6qbia2zCYSR5dpom2SInQ=
-+gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
-+gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
-+gopkg.in/mcuadros/go-syslog.v2 v2.2.1/go.mod h1:l5LPIyOOyIdQquNg+oU6Z3524YwrcqEm0aKH+5zpt2U=
-+gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
-+gopkg.in/square/go-jose.v2 v2.2.2 h1:orlkJ3myw8CN1nVQHBFfloD+L3egixIa4FvUP6RosSA=
-+gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
-+gopkg.in/src-d/go-billy.v4 v4.2.1 h1:omN5CrMrMcQ+4I8bJ0wEhOBPanIRWzFC953IiXKdYzo=
-+gopkg.in/src-d/go-billy.v4 v4.2.1/go.mod h1:tm33zBoOwxjYHZIE+OV8bxTWFMJLrconzFMd38aARFk=
-+gopkg.in/src-d/go-git-fixtures.v3 v3.1.1 h1:XWW/s5W18RaJpmo1l0IYGqXKuJITWRFuA45iOf1dKJs=
-+gopkg.in/src-d/go-git-fixtures.v3 v3.1.1/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g=
-+gopkg.in/src-d/go-git.v4 v4.9.1 h1:0oKHJZY8tM7B71378cfTg2c5jmWyNlXvestTT6WfY+4=
-+gopkg.in/src-d/go-git.v4 v4.9.1/go.mod h1:Vtut8izDyrM8BUVQnzJ+YvmNcem2J89EmfZYCkLokZk=
-+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
-+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
-+gopkg.in/warnings.v0 v0.1.1/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
-+gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
-+gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
-+gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-+gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-+gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
-+gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-+gotest.tools v2.1.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
-+gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
-+gotest.tools/gotestsum v0.3.5/go.mod h1:Mnf3e5FUzXbkCfynWBGOwLssY7gTQgCHObK9tMpAriY=
-+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-+honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-+honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-+honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-+honnef.co/go/tools v0.0.1-2019.2.2/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
-+k8s.io/api v0.0.0-20200131112707-d64dbec685a4 h1:7kA/ATNKWB1TVM0pwxzl/JONybbBVROCxqndoCd57fU=
-+k8s.io/api v0.0.0-20200131112707-d64dbec685a4/go.mod h1:SGkmWEIoDg63In+t6yMJLEXQSkK5XxTNDcVydoy58dc=
-+k8s.io/apiextensions-apiserver v0.0.0-20200208193839-84fe3c0be50e h1:L/XqOouONrybm+3jyUJZPo5JIMARb5qFNfmmUqy81Eg=
-+k8s.io/apiextensions-apiserver v0.0.0-20200208193839-84fe3c0be50e/go.mod h1:YzEcimsSKeVDDQnLTI9Qf8uws94WpMl4qut8Rbx4dVk=
-+k8s.io/apimachinery v0.16.7-beta.0.0.20200131112342-0c9ec93240c9 h1:pusQlPC9d40F13jjdYyJDFDwnUjCTDN5P/y5WteLVkA=
-+k8s.io/apimachinery v0.16.7-beta.0.0.20200131112342-0c9ec93240c9/go.mod h1:Xk2vD2TRRpuWYLQNM6lT9R7DSFZUYG03SarNkbGrnKE=
-+k8s.io/apiserver v0.0.0-20200208192130-2d005a048922 h1:kgU/Yr5/GsGK3GAaFgmSp+y0IMLu+FoZK+wnKlgzIrQ=
-+k8s.io/apiserver v0.0.0-20200208192130-2d005a048922/go.mod h1:kcWyL8/bV2c1b/FeWrxbO08zraTaYuhR7leZ4l9iOmo=
-+k8s.io/cli-runtime v0.0.0-20200131120220-9674fbb91442 h1:gHF/ZIm6hTWAuN/rKdH1IO/iJfKPjn0d1kdeIMbPiDg=
-+k8s.io/cli-runtime v0.0.0-20200131120220-9674fbb91442/go.mod h1:sL3otDuOz8AlMrzsrBeB/ektmi6qYAE4a9Gid/pxtSo=
-+k8s.io/client-go v0.0.0-20191016111102-bec269661e48 h1:C2XVy2z0dV94q9hSSoCuTPp1KOG7IegvbdXuz9VGxoU=
-+k8s.io/client-go v0.0.0-20191016111102-bec269661e48/go.mod h1:hrwktSwYGI4JK+TJA3dMaFyyvHVi/aLarVHpbs8bgCU=
-+k8s.io/cloud-provider v0.0.0-20200131203752-f498d522efeb/go.mod h1:hb9XI7OCOFjqueeUaUYHbEuGG/nSq0UZtydmOu83p6M=
-+k8s.io/cluster-bootstrap v0.0.0-20200131121422-fc6110069b18/go.mod h1:2U3dLDmef+EIuACENgQ1f8jQV//Z+aX/bp9DsglDXK0=
-+k8s.io/code-generator v0.16.7-beta.0.0.20200131112027-a3045e5e55c0/go.mod h1:wFdrXdVi/UC+xIfLi+4l9elsTT/uEF61IfcN2wOLULQ=
-+k8s.io/component-base v0.0.0-20200131113804-409d4deb41dd h1:W0AuOSSgValfdhcR68oayHewqFJh/nMA+JDPQbXGrkg=
-+k8s.io/component-base v0.0.0-20200131113804-409d4deb41dd/go.mod h1:55xG5ozAlA2bbjfmFYC2LPf4cQqp4nOJT5e4+cXUDnY=
-+k8s.io/cri-api v0.16.8-beta.0/go.mod h1:W6aMMPN5fmxcRGaHnb6BEfoTeS82OsJcsUJyKf+EWYc=
-+k8s.io/csi-translation-lib v0.0.0-20200131121824-f033562d74c3/go.mod h1:2NVc4Xw5CEBgQj3/GtHOKPs5M68nhbszaFFuoB+xGUE=
-+k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
-+k8s.io/heapster v1.2.0-beta.1/go.mod h1:h1uhptVXMwC8xtZBYsPXKVi8fpdlYkTs6k949KozGrM=
-+k8s.io/klog v0.4.0 h1:lCJCxf/LIowc2IGS9TPjWDyXY4nOmdGdfcwwDQCOURQ=
-+k8s.io/klog v0.4.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
-+k8s.io/kube-aggregator v0.0.0-20200208192621-0eeb50407007 h1:PqWgdqcu7/ZAno0sqGoqo3eC/qhwnz+XTotZfG+84ic=
-+k8s.io/kube-aggregator v0.0.0-20200208192621-0eeb50407007/go.mod h1:u6psj4FzpmwlJuQKReXypLOIhIF2UxzZRBThWtnjIDU=
-+k8s.io/kube-controller-manager v0.0.0-20200131121224-13b3f231e47d/go.mod h1:rlvqwtZiupLrqd54U19Th2a0sMf0PNbGA1J3zPTwFAc=
-+k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf h1:EYm5AW/UUDbnmnI+gK0TJDVK9qPLhM+sRHYanNKw0EQ=
-+k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
-+k8s.io/kube-proxy v0.0.0-20200131120626-5b8ba5e54e1f/go.mod h1:3/a8cJm4V50vBnkRwRhpgdIdsTH+4cj/kV66oxybGxc=
-+k8s.io/kube-scheduler v0.0.0-20200131121024-5f0ba0866863/go.mod h1:1xme9q7fNwDPtgIELmyOFGQErlOzFlQ1XHjTPUz1GYc=
-+k8s.io/kubectl v0.0.0-20200131122652-b28c9fbca10f h1:7764TWFJ+UYY6TX1Vq3jCo/3BkORLtywarY8SEdQh18=
-+k8s.io/kubectl v0.0.0-20200131122652-b28c9fbca10f/go.mod h1:d78MZ7MR2Q5xMwSrGvbJARH13CsOo5mSoDZWfjIe1TQ=
-+k8s.io/kubelet v0.0.0-20200131120825-905bd8eea4c4/go.mod h1:VkwV80jJy9GciSRBPFduby5qJxI5v5lV3D6WMMCveek=
-+k8s.io/kubernetes v0.0.0-20191207011953-bfafae8f1c2f h1:bGmDtZ96ysKXeBFw0+9cw9twoCQjrPRkkpSQqhxEXVs=
-+k8s.io/kubernetes v0.0.0-20191207011953-bfafae8f1c2f/go.mod h1:OdJXH1Q9L+NDVj158Zo8f6R3NSaOx1ewLUcaJv8hSRE=
-+k8s.io/legacy-cloud-providers v0.0.0-20200208200602-3a1c7effd2b3/go.mod h1:Egd+aHCesdnzDDtUaaWnAhnyt5/dgQIfM4UL5z2WJxg=
-+k8s.io/metrics v0.0.0-20200131120008-5c623d74062d/go.mod h1:18pR44uxuhPU05LZpHhJiPPzQvGoFmCf2UlTp2EhSM8=
-+k8s.io/repo-infra v0.0.0-20181204233714-00fe14e3d1a3/go.mod h1:+G1xBfZDfVFsm1Tj/HNCvg4QqWx8rJ2Fxpqr1rqp/gQ=
-+k8s.io/sample-apiserver v0.0.0-20200208192953-f8dc80bbc173/go.mod h1:Bnw1dM0HuYH49aVse0I8cV6KeyOFPBaWxnhsU7uR2UA=
-+k8s.io/utils v0.0.0-20190801114015-581e00157fb1 h1:+ySTxfHnfzZb9ys375PXNlLhkJPLKgHajBU0N62BDvE=
-+k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
-+layeh.com/gopher-json v0.0.0-20190114024228-97fed8db8427 h1:RZkKxMR3jbQxdCEcglq3j7wY3PRJIopAwBlx1RE71X0=
-+layeh.com/gopher-json v0.0.0-20190114024228-97fed8db8427/go.mod h1:ivKkcY8Zxw5ba0jldhZCYYQfGdb2K6u9tbYK1AwMIBc=
-+modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw=
-+modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
-+modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
-+modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
-+modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
-+sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
-+sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
-+sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
-+sigs.k8s.io/structured-merge-diff v1.0.2/go.mod h1:IIgPezJWb76P0hotTxzDbWsMYB8APh18qZnxkomBpxA=
-+sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
-+sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
-+vbom.ml/util v0.0.0-20160121211510-db5cfe13f5cc/go.mod h1:so/NYdZXCz+E3ZpW0uAoCj6uzU2+8OWDFv/HxUSs7kI=
diff --git a/pkgs/applications/networking/cluster/atlantis/default.nix b/pkgs/applications/networking/cluster/atlantis/default.nix
index d3e18ce691f1b..15c5f0e97c4cd 100644
--- a/pkgs/applications/networking/cluster/atlantis/default.nix
+++ b/pkgs/applications/networking/cluster/atlantis/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "atlantis";
-  version = "0.15.0";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "runatlantis";
     repo = "atlantis";
     rev = "v${version}";
-    sha256 = "0nb0dm4yn6f5pw7clgb2d1khcwcxiidqyc0sdh38wwqg0zyil0cz";
+    sha256 = "0xxg48f28ac7x6kap6w1hgsimdc604ivkck4dx7p5p7xd3s7gld5";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/docker-machine/default.nix b/pkgs/applications/networking/cluster/docker-machine/default.nix
index a801a12237445..93f5a85c33ad8 100644
--- a/pkgs/applications/networking/cluster/docker-machine/default.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/default.nix
@@ -25,7 +25,7 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     homepage = "https://docs.docker.com/machine/";
-    description = "Docker Machine is a tool that lets you install Docker Engine on virtual hosts, and manage Docker Engine on the hosts.";
+    description = "Docker Machine is a tool that lets you install Docker Engine on virtual hosts, and manage Docker Engine on the hosts";
     license = licenses.asl20;
     maintainers = with maintainers; [ offline tailhook ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix b/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix
index a9cdbf790774c..d05b34cd7de94 100644
--- a/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://minikube.sigs.k8s.io/docs/drivers/hyperkit";
-    description = "HyperKit driver for docker-machine.";
+    description = "HyperKit driver for docker-machine";
     license = licenses.asl20;
     maintainers = with maintainers; [ atkinschang ];
     platforms = platforms.darwin;
diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm.nix b/pkgs/applications/networking/cluster/docker-machine/kvm.nix
index 9352ba69da88c..024572ec3db99 100644
--- a/pkgs/applications/networking/cluster/docker-machine/kvm.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/kvm.nix
@@ -20,7 +20,7 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/dhiltgen/docker-machine-kvm";
-    description = "KVM driver for docker-machine.";
+    description = "KVM driver for docker-machine";
     license = licenses.asl20;
     maintainers = with maintainers; [ offline ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
index 172370d25e930..9ef43bed2eec8 100644
--- a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://minikube.sigs.k8s.io/docs/drivers/kvm2";
-    description = "KVM2 driver for docker-machine.";
+    description = "KVM2 driver for docker-machine";
     license = licenses.asl20;
     maintainers = with maintainers; [ tadfisher atkinschang ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/cluster/docker-machine/xhyve.nix b/pkgs/applications/networking/cluster/docker-machine/xhyve.nix
index 8c63a70b6d6e4..a740d0486db5d 100644
--- a/pkgs/applications/networking/cluster/docker-machine/xhyve.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/xhyve.nix
@@ -31,7 +31,7 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/machine-drivers/docker-machine-driver-xhyve";
-    description = "Xhyve driver for docker-machine.";
+    description = "Xhyve driver for docker-machine";
     license = licenses.bsd3;
     maintainers = with maintainers; [ periklis ];
     platforms = platforms.darwin;
diff --git a/pkgs/applications/networking/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix
index 44e21de0a0398..c478966195130 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.20.2";
+  version = "1.21.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "1a44lmrvi5f9jr04rblhcsg3zvqzvdp9wyw4m4h4scsqp5g7dfb7";
+    sha256 = "007i6kb80142v19w2dm3667sskcvdp1ilg3q3f9gjgr9c5nrg1m2";
   };
 
-  vendorSha256 = "1yzh6iglrzd43yqs1b6qh1i62b6qaz3232lgxyg3gmc81p0i5kr0";
+  vendorSha256 = "01v4x2mk5jglnigq0iic52f84vzx56zh46i7v2wlq8ninj8y1k0x";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -32,6 +32,6 @@ buildGoModule rec {
     description = "CLI client for Flux, the GitOps Kubernetes operator";
     homepage = "https://github.com/fluxcd/flux";
     license = licenses.asl20;
-    maintainers = with maintainers; [ Gonzih filalex77 ];
+    maintainers = with maintainers; [ Gonzih Br1ght0ne ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 7a5ecc5c80d75..86d1fd1383c34 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "helm";
-  version = "3.3.4";
+  version = "3.4.1";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "1b719kzchgis4imscgf6i7dvc1mq3ymgh5ganpb89kcs88qw3szj";
+    sha256 = "13w0s11319qg9mmmxc24mlj0hrp0r529p3ny4gfzsl0vn3qzd6i2";
   };
-  vendorSha256 = "0f8a0psvic923rh13f5041p7hr6w8dy9qxdw3l195yky5cf3fj6w";
+  vendorSha256 = "0x3dcvnrl7cs8faaiq9ybfgg0lkac5ppf61i724cja270nmpmazl";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix
index 785a454fea293..2516370430e36 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.130.1";
+  version = "0.135.0";
 
   src = fetchFromGitHub {
     owner = "roboll";
     repo = "helmfile";
     rev = "v${version}";
-    sha256 = "14k3281sxin4ki78f2v75nyky1jxyhyq5aw06mhdp0w5ql9b02m4";
+    sha256 = "1ky9mh5n6n84g77ax1dn1cisgxjwyrhnapaikyj4q53zcbyai3ng";
   };
 
-  vendorSha256 = "1k3aamsm97w22pdip2916a5f619rvnif7s8g6815pzsapgnpp4qp";
+  vendorSha256 = "0dycngvk4nymcrkn6pn2q2h2zfvhc69m1zs2pspl58sa0mkakk2p";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/helmsman/default.nix b/pkgs/applications/networking/cluster/helmsman/default.nix
index 19c7234e11b4f..21a9608db2c20 100644
--- a/pkgs/applications/networking/cluster/helmsman/default.nix
+++ b/pkgs/applications/networking/cluster/helmsman/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helmsman";
-  version = "3.4.4";
+  version = "3.6.2";
 
   src = fetchFromGitHub {
     owner = "Praqma";
     repo = "helmsman";
     rev = "v${version}";
-    sha256 = "01vjghak2szif0p82kall5jw7mbfh4fg7fcjkblmic7l0vlqhfac";
+    sha256 = "0a9f6745f17sws7fyhz0d8wnriv69d6nrci9j5nhysnzg97ky1np";
   };
 
-  vendorSha256 = "05vnysr5r3hbayss1pyifgp989kjw81h95iack8ady62k6ys5njl";
+  vendorSha256 = "04csmw5zpansb30amr3i6vlwxc3z38q4g69cklh44cr37glm04sm";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/hetzner-kube/default.nix b/pkgs/applications/networking/cluster/hetzner-kube/default.nix
index 7409d71fe8ff2..d0afe6d2e4364 100644
--- a/pkgs/applications/networking/cluster/hetzner-kube/default.nix
+++ b/pkgs/applications/networking/cluster/hetzner-kube/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "hetzner-kube";
@@ -20,6 +20,17 @@ buildGoModule rec {
     -X github.com/xetys/hetzner-kube/cmd.version=${version}
   '';
 
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  postInstall = ''
+    $out/bin/hetzner-kube completion bash > hetzner-kube
+    $out/bin/hetzner-kube completion zsh > _hetzner-kube
+    installShellCompletion --zsh _hetzner-kube
+    installShellCompletion --bash hetzner-kube
+  '';
+
   meta = {
     description = "A CLI tool for provisioning Kubernetes clusters on Hetzner Cloud";
     homepage = "https://github.com/xetys/hetzner-kube";
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index f6619c9f19f73..19fc90ca9e468 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.7.3";
+  version = "1.7.5";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "1w0ddz2am053bpi0jrn5v3b76jf2z4nl7zv0i1z2v9xcx59bxkac";
+    sha256 = "10h2ak3s74xb1rjvc6bc5yiyq2k8qbv07wxnshiqp5cnd6pjni0w";
   };
-  vendorSha256 = "02l13hzk5aikpylalsm35v27cljcl4z0qka9a4m125bc4rj2kp7k";
+  vendorSha256 = "1xj77w2h7qg808v6ll8hm5nvnb2lwky789aikgxli2k6m0cy0c5k";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/jx/default.nix b/pkgs/applications/networking/cluster/jx/default.nix
index 5199bbfaf3368..1f1eb3e8548fe 100644
--- a/pkgs/applications/networking/cluster/jx/default.nix
+++ b/pkgs/applications/networking/cluster/jx/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "jx";
-  version = "2.1.138";
+  version = "2.1.149";
 
   src = fetchFromGitHub {
     owner = "jenkins-x";
     repo = "jx";
     rev = "v${version}";
-    sha256 = "1i45gzaql6rfplliky56lrzwjnm2qzv25kgyq7gvn9c7hjaaq65b";
+    sha256 = "0jgny09wpfab8mkxkhv9swp1baqx3lxsx75a5i78cypkj6xadc69";
   };
 
-  vendorSha256 = "1wvggarakshpw7m8h0x2zvd6bshd2kzbrjynfa113z90pgksvjng";
+  vendorSha256 = "1fswrf14nwjm0z8qqgdx236w7w1m451lyfinhx9pyp89fw2h5mv6";
 
   doCheck = false;
 
@@ -35,7 +35,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "JX is a command line tool for installing and using Jenkins X.";
+    description = "Command line tool for installing and using Jenkins X";
     homepage = "https://jenkins-x.io";
     longDescription = ''
       Jenkins X provides automated CI+CD for Kubernetes with Preview
diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix
index aed60bbfe858c..55d51a656d9c7 100644
--- a/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/default.nix
@@ -9,10 +9,11 @@
 , buildGoPackage
 , git
 , runc
+, kmod
 , libseccomp
 , pkgconfig
 , ethtool
-, utillinux
+, util-linux
 , ipset
 , fetchFromGitHub
 , fetchurl
@@ -150,7 +151,7 @@ let
     '';
 
     meta = {
-      description = "The various binaries that get packaged into the final k3s binary.";
+      description = "The various binaries that get packaged into the final k3s binary";
       license = licenses.asl20;
       homepage = "https://k3s.io";
       maintainers = [ maintainers.euank ];
@@ -211,7 +212,7 @@ let
     '';
 
     meta = {
-      description = "The k3s go binary which is used by the final wrapped output below.";
+      description = "The k3s go binary which is used by the final wrapped output below";
       license = licenses.asl20;
       homepage = "https://k3s.io";
       maintainers = [ maintainers.euank ];
@@ -221,17 +222,19 @@ let
 in
 stdenv.mkDerivation rec {
   name = "k3s";
+  version = k3sVersion;
 
   # Important utilities used by  the kubelet, see
   # https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
   # Note the list in that issue is stale and some aren't relevant for k3s.
   k3sRuntimeDeps = [
+    kmod
     socat
     iptables
     iproute
     bridge-utils
     ethtool
-    utillinux
+    util-linux
     ipset
     conntrack-tools
   ];
@@ -257,7 +260,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A lightweight Kubernetes distribution.";
+    description = "A lightweight Kubernetes distribution";
     license = licenses.asl20;
     homepage = "https://k3s.io";
     maintainers = [ maintainers.euank ];
diff --git a/pkgs/applications/networking/cluster/k9s/default.nix b/pkgs/applications/networking/cluster/k9s/default.nix
index c365bf1e7a92d..9e188c0f7e2d4 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.22.1";
+  version = "0.24.1";
 
   src = fetchFromGitHub {
     owner  = "derailed";
     repo   = "k9s";
     rev    = "v${version}";
-    sha256 = "1qyibpvfbd8yahfmci431qd0zy4wwz03gwj1ak8rn3qxpv1cdbmk";
+    sha256 = "1b67a417b0914ccl7drdfd7bq1qsfkw9haqz4m5j96qb0l5p71w2";
   };
 
   buildFlagsArray = ''
@@ -18,12 +18,12 @@ buildGoModule rec {
       -X github.com/derailed/k9s/cmd.commit=${src.rev}
   '';
 
-  vendorSha256 = "1432ppgd3lc0h83i6vzklfhp95s2xwaf41mv4xfryzzszjfndmvl";
+  vendorSha256 = "01g50sfk0k7v60m3anfiq2w9pzl2wpa985s22ciq911h3fscka3f";
 
   doCheck = false;
 
   meta = with stdenv.lib; {
-    description = "Kubernetes CLI To Manage Your Clusters In Style.";
+    description = "Kubernetes CLI To Manage Your Clusters In Style";
     homepage = "https://github.com/derailed/k9s";
     license = licenses.asl20;
     maintainers = with maintainers; [ Gonzih markus1189 ];
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index baf10e273fb77..a81c33a84bb1f 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -64,8 +64,8 @@ rec {
   };
 
   kops_1_18 = mkKops rec {
-    version = "1.18.1";
-    sha256 = "0jw23vmq2v9czxyansggq4fapz1bcaclmxpw6na4dsn8zcssz320";
+    version = "1.18.2";
+    sha256 = "17na83j6sfhk69w9ssvicc0xd1904z952ad3zzbpha50lcy6nlhp";
     rev = "v${version}";
   };
 }
diff --git a/pkgs/applications/networking/cluster/kpt/default.nix b/pkgs/applications/networking/cluster/kpt/default.nix
index a380cc200d99f..712761eeef29a 100644
--- a/pkgs/applications/networking/cluster/kpt/default.nix
+++ b/pkgs/applications/networking/cluster/kpt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kpt";
-  version = "0.34.0";
+  version = "0.37.0";
 
   src = fetchFromGitHub {
     owner = "GoogleContainerTools";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1x4g45sq8licjcccvad6w1yb9h2z2cc2xbpp073j1pafnqwmrswq";
+    sha256 = "1b1sgwax67pazcs1lly3h3bb7ww91lcd3nr0w3r3f46d1c6iy8mn";
   };
 
-  vendorSha256 = "1vpljhqbvwv3a7k4c7p3n4ixh32f8hp9cqj8jz03mzqlmf60pyfs";
+  vendorSha256 = "0dn6nryf3vn7r0xna02va4wbgkq0z6x8sj6g2mskfywrk0mfhadv";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/cluster/kube-router/default.nix b/pkgs/applications/networking/cluster/kube-router/default.nix
index d967c741fca61..8e20093f5b21b 100644
--- a/pkgs/applications/networking/cluster/kube-router/default.nix
+++ b/pkgs/applications/networking/cluster/kube-router/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "kube-router";
-  version = "1.0.1";
+  version = "1.1.0";
 
   goPackagePath = "github.com/cloudnativelabs/kube-router";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "cloudnativelabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "00bypaccv8q9xdcz6vlvl1qxqxqssl21bs4nkd1a6q8b4jpl339z";
+    sha256 = "0nsd371w667qhgiygxcg4kmynwldb0pbip6x03rc7j854hg8l7k0";
   };
 
   buildFlagsArray = ''
diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix
index bb3b7aedd8a4c..9163347d7b229 100644
--- a/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -1,43 +1,53 @@
-{ stdenv, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
+let
+  k3sVersion = "1.19.3-k3s3";
+in
 buildGoModule rec {
   pname = "kube3d";
-  version = "3.0.2";
-  k3sVersion = "1.18.6-k3s1";
+  version = "3.3.0";
 
-  excludedPackages = ''tools'';
+  excludedPackages = "tools";
 
   src = fetchFromGitHub {
-    owner  = "rancher";
-    repo   = "k3d";
-    rev    = "v${version}";
-    sha256 = "182n4kggwr6z75vsagfd0rl89ixcw5h13whf56jh4cd38dj8is5l";
+    owner = "rancher";
+    repo = "k3d";
+    rev = "v${version}";
+    sha256 = "1pq5x4fyn98f01mzfjv335gx29c61zd85qc5vhx9rk27hi825ima";
   };
 
-  buildFlagsArray = ''
-    -ldflags=
-      -w -s
-      -X github.com/rancher/k3d/v3/version.Version=v${version}
-      -X github.com/rancher/k3d/v3/version.K3sVersion=v${k3sVersion}
-  '';
+  vendorSha256 = null;
 
   nativeBuildInputs = [ installShellFiles ];
-  postInstall = ''
-   for shell in bash zsh; do
-     $out/bin/k3d completion $shell > k3d.$shell
-     installShellCompletion k3d.$shell
-   done
-  '';
 
-  vendorSha256 = null;
+  buildFlagsArray = [
+    "-ldflags="
+    "-w"
+    "-s"
+    "-X github.com/rancher/k3d/v3/version.Version=v${version}"
+    "-X github.com/rancher/k3d/v3/version.K3sVersion=v${k3sVersion}"
+  ];
 
   doCheck = false;
 
-  meta = with stdenv.lib; {
+  postInstall = ''
+    installShellCompletion --cmd k3d \
+      --bash <($out/bin/k3d completion bash) \
+      --fish <($out/bin/k3d completion fish) \
+      --zsh <($out/bin/k3d completion zsh)
+  '';
+
+  meta = with lib; {
     homepage = "https://github.com/rancher/k3d";
-    description = "A helper to run k3s (Lightweight Kubernetes. 5 less than k8s) in a docker container";
+    description = "A helper to run k3s (Lightweight Kubernetes. 5 less than k8s) in a docker container - k3d";
+    longDescription = ''
+      k3s is the lightweight Kubernetes distribution by Rancher: rancher/k3s
+
+      k3d creates containerized k3s clusters. This means, that you can spin up a
+      multi-node k3s cluster on a single machine using docker.
+    '';
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ kuznero jlesquembre ngerstle ];
+    maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubelogin/default.nix b/pkgs/applications/networking/cluster/kubelogin/default.nix
index 4d883553bc306..ced9c43876f6e 100644
--- a/pkgs/applications/networking/cluster/kubelogin/default.nix
+++ b/pkgs/applications/networking/cluster/kubelogin/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubelogin";
-  version = "0.0.6";
+  version = "0.0.7";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18rkjdl8asr5c1kgdm2iqb5qwkfcrv2sk3nns3hhfqzs2v9mxmha";
+    sha256 = "0jw8v6ff0iwkwxlhcr35cvhy4zg31dsm1s3q4fxgi901yj1wn6zy";
   };
 
   vendorSha256 = "0al8y65xvnwl34jkpqyf6zwr21xn30zswknlym9nnn1n47fyayxb";
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 691effa392320..9a8bbe09a508c 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -15,13 +15,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "kubernetes";
-  version = "1.19.1";
+  version = "1.19.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "1wnlw2rl14q7cb8shhldbavdamvl3w3mlfvymwfvmvxfxzhrjlaq";
+    sha256 = "05gisihrklkzsdsrrmvmqlfwfdx73jbwd5668n5wa5hp432qyvwi";
   };
 
   nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
diff --git a/pkgs/applications/networking/cluster/kubeseal/default.nix b/pkgs/applications/networking/cluster/kubeseal/default.nix
index 0bd1967aec8f9..51ae1202a378b 100644
--- a/pkgs/applications/networking/cluster/kubeseal/default.nix
+++ b/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubeseal";
-  version = "0.12.5";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "bitnami-labs";
     repo = "sealed-secrets";
     rev = "v${version}";
-    sha256 = "135ls3ngdz43qx6a49faczs2vdmccalsgak2hg0rairpy2jxym37";
+    sha256 = "1hlj7i7pjyvrf9cpx6s41sdn7wjwfk7c0akx45kw662vrxcqcgf2";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kubespy/default.nix b/pkgs/applications/networking/cluster/kubespy/default.nix
index e71e598e23d5d..fa0e62c53fe81 100644
--- a/pkgs/applications/networking/cluster/kubespy/default.nix
+++ b/pkgs/applications/networking/cluster/kubespy/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubespy";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "pulumi";
     repo = "kubespy";
-    sha256 = "1p0qmn6458pa9la6zkvyrkgs2rhzfwsk9m3rk5fkmcfbh7b031r8";
+    sha256 = "1xrwhxw2y0zpzsxp1rlm1wd0aqw6jda5ai5y1ards5djqsbsv87g";
   };
 
-  vendorSha256 = "0q85is01cbgxflnqdvxc9w5iqdizgvsc44h8z21j712bm2w7blqq";
+  vendorSha256 = "0ajhbjs9ijpxp3svvj7pjiac78ps7vkqmqrizq18mllsry0m9pcl";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/kubeval/default.nix b/pkgs/applications/networking/cluster/kubeval/default.nix
index 72dfe3ecc33fc..d26f8ed5dc672 100644
--- a/pkgs/applications/networking/cluster/kubeval/default.nix
+++ b/pkgs/applications/networking/cluster/kubeval/default.nix
@@ -7,7 +7,7 @@ buildGoModule rec {
   src = fetchFromGitHub {
     owner = "instrumenta";
     repo = "kubeval";
-    rev = "${version}";
+    rev = version;
     sha256 = "05li0qv4q7fy2lr50r6c1r8dhx00jb1g01qmgc72a9zqp378yiq0";
   };
 
diff --git a/pkgs/applications/networking/cluster/linkerd/default.nix b/pkgs/applications/networking/cluster/linkerd/default.nix
index 70aeb7841593e..63e4e59ff453b 100644
--- a/pkgs/applications/networking/cluster/linkerd/default.nix
+++ b/pkgs/applications/networking/cluster/linkerd/default.nix
@@ -18,7 +18,7 @@ buildGoModule {
   subPackages = [ "cli/cmd" ];
 
   meta = with stdenv.lib; {
-    description = "A service mesh for Kubernetes and beyond.";
+    description = "A service mesh for Kubernetes and beyond";
     homepage = "https://linkerd.io/";
     license = licenses.asl20;
     maintainers = with maintainers; [ Gonzih ];
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index ff6e152a5ff21..bd71f2f5c5ba7 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -11,9 +11,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.14.0";
+  version = "1.15.1";
 
-  vendorSha256 = "03imagmsfj9rv5g2sybpdx9y7vdwag3mrsjibgsbq3jhf7r1ib3g";
+  vendorSha256 = "1xkk4f8qjqx5x878iniclni3jm2f7ka47va756vc3vk8p5s6vpdk";
 
   doCheck = false;
 
@@ -21,7 +21,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "1nwpgfgw3vg8zy3mvjja13vdj12mys4crdm8cfimv9g3ka08dqpx";
+    sha256 = "03knkc8z3vri73j1aa9ry6p1rxql3d75kphd429x5am856mpnn6g";
   };
 
   nativeBuildInputs = [ go-bindata installShellFiles pkg-config which ];
diff --git a/pkgs/applications/networking/cluster/minishift/default.nix b/pkgs/applications/networking/cluster/minishift/default.nix
index cd11bcbb431c5..f9391373b1880 100644
--- a/pkgs/applications/networking/cluster/minishift/default.nix
+++ b/pkgs/applications/networking/cluster/minishift/default.nix
@@ -4,10 +4,10 @@
 }:
 
 let
-  version = "1.34.2";
+  version = "1.34.3";
 
   # Update these on version bumps according to Makefile
-  centOsIsoVersion = "v1.15.0";
+  centOsIsoVersion = "v1.17.0";
   openshiftVersion = "v3.11.0";
 
 in buildGoPackage rec {
@@ -18,7 +18,7 @@ in buildGoPackage rec {
     owner = "minishift";
     repo = "minishift";
     rev = "v${version}";
-    sha256 = "1xzjzmjs2ijg7zzw53v02lgrg1j82jd7ljcn6lprg01hhvfrwgg7";
+    sha256 = "0yhln3kyc0098hbnjyxhbd915g6j7s692c0z8yrhh9gdpc5cr2aa";
   };
 
   nativeBuildInputs = [ pkgconfig go-bindata makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/nomad/0.11.nix b/pkgs/applications/networking/cluster/nomad/0.11.nix
index ff0d1c69f41d8..aec421bf1a7dd 100644
--- a/pkgs/applications/networking/cluster/nomad/0.11.nix
+++ b/pkgs/applications/networking/cluster/nomad/0.11.nix
@@ -2,6 +2,6 @@
 
 callPackage ./generic.nix {
   inherit buildGoPackage;
-  version = "0.11.4";
-  sha256 = "1sykp9sji6f564s7bz0cvnr9w5x92n0l1r1djf1bl7jvv2mi1mcb";
+  version = "0.11.6";
+  sha256 = "09ym9fd4fp2461ddhrb5nlz8l24iq4hsbqikzc21ainagq2g1azf";
 }
diff --git a/pkgs/applications/networking/cluster/nomad/0.12.nix b/pkgs/applications/networking/cluster/nomad/0.12.nix
index 3687b58b5a7c6..863f7cbed2f9b 100644
--- a/pkgs/applications/networking/cluster/nomad/0.12.nix
+++ b/pkgs/applications/networking/cluster/nomad/0.12.nix
@@ -2,6 +2,6 @@
 
 callPackage ./generic.nix {
   inherit buildGoPackage;
-  version = "0.12.3";
-  sha256 = "100ynhc4nm4mmjxx1jhq2kjbqshxvi5x8y482520j8gsyn40g6zc";
+  version = "0.12.7";
+  sha256 = "0y1nwmpc4fqgjyb19n1f2w4y5k7fy4p68v2vnnry11nj3im7ia14";
 }
diff --git a/pkgs/applications/networking/cluster/octant/default.nix b/pkgs/applications/networking/cluster/octant/default.nix
new file mode 100644
index 0000000000000..9e37bb6afe252
--- /dev/null
+++ b/pkgs/applications/networking/cluster/octant/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl }:
+let
+  version = "0.16.0";
+
+  system = stdenv.hostPlatform.system;
+  suffix = {
+    x86_64-linux = "Linux-64bit";
+    aarch64-linux = "Linux-arm64";
+    x86_64-darwin = "macOS-64bit";
+  }."${system}" or (throw "Unsupported system: ${system}");
+
+  baseurl = "https://github.com/vmware-tanzu/octant/releases/download";
+  fetchsrc = sha256: fetchurl {
+    url = "${baseurl}/v${version}/octant_${version}_${suffix}.tar.gz";
+    sha256 = sha256."${system}";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "octant";
+  inherit version;
+
+  src = fetchsrc {
+    x86_64-linux = "1i6i42hwxaczkfv8ldxn3wp6bslgwfkycvh88khfmapw2f5f9mhr";
+    aarch64-linux = "1ka5vscyqxckxnhnymp06yi0r2ljw42q0g62yq7qv4safljd452p";
+    x86_64-darwin = "1c50c2r2hq2fi8jcijq6vn336w96ar7b6qccv5w2240i0szsxxql";
+  };
+
+  doBuild = false;
+  doCheck = false;
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mv octant $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Highly extensible platform for developers to better understand the complexity of Kubernetes clusters.";
+    longDescription = ''
+      Octant is a tool for developers to understand how applications run on a Kubernetes cluster.
+      It aims to be part of the developer's toolkit for gaining insight and approaching complexity found in Kubernetes.
+      Octant offers a combination of introspective tooling, cluster navigation, and object management along with a
+      plugin system to further extend its capabilities.
+    '';
+    homepage = "https://octant.dev/";
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix b/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix
new file mode 100644
index 0000000000000..1c9f21afddfc5
--- /dev/null
+++ b/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "starboard-octant-plugin";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "aquasecurity";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1rgfk8l3yz7xwghr06vcgpi6zzjynxxvyg2r78fgp7wpw7bh3rmd";
+  };
+
+  vendorSha256 = "1f6x66zgrmm7x661d0d0qqharrpyb2bsi10swlgx68y5yz285296";
+
+  meta = with lib; {
+    description = "Octant plugin for viewing Starboard security information";
+    longDescription = ''
+      This is an Octant plugin for Starboard which provides visibility into vulnerability assessment reports for
+      Kubernetes workloads stored as custom security resources.
+    '';
+    homepage = src.meta.homepage;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index b547434d8da13..34d362a4623b0 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, buildGoPackage, which, go-bindata, rsync, utillinux
+{ stdenv, lib, fetchFromGitHub, buildGoPackage, which, go-bindata, rsync, util-linux
 , coreutils, kerberos, ncurses, clang, installShellFiles
 , components ? [
   "cmd/oc"
diff --git a/pkgs/applications/networking/cluster/popeye/default.nix b/pkgs/applications/networking/cluster/popeye/default.nix
index ff180bdc9b2f4..6e7eccac20635 100644
--- a/pkgs/applications/networking/cluster/popeye/default.nix
+++ b/pkgs/applications/networking/cluster/popeye/default.nix
@@ -2,24 +2,24 @@
 
 buildGoModule rec {
   pname = "popeye";
-  version = "0.8.10";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "derailed";
     repo = "popeye";
-    sha256 = "1cx39xipvvhb12nhvg7kfssnqafajni662b070ynlw8p870bj0sn";
+    sha256 = "1rslmcdjs53zvv0xaf00vxqsfc3jh2p584j3q6nfgrghc978xmpf";
   };
 
   buildFlagsArray = ''
     -ldflags=
       -s -w
       -X github.com/derailed/popeye/cmd.version=${version}
-      -X github.com/derailed/popeye/cmd.commit=b7a876eafd4f7ec5683808d8d6880c41c805056a
-      -X github.com/derailed/popeye/cmd.date=2020-08-25T23:02:30Z
+      -X github.com/derailed/popeye/cmd.commit=022c3104b642aab6bdb287468fb79068a33e1b0d
+      -X github.com/derailed/popeye/cmd.date=2020-10-31T16:44:45Z
   '';
 
-  vendorSha256 = "0b2bawc9wnqwgvrv614rq5y4ns9di65zqcbb199y2ijpsaw5d9a7";
+  vendorSha256 = "08195dnka7rs38py3kjii9zh9nifg2fnbi1wzjl0pc38i2bbrz0k";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/prow/default.nix b/pkgs/applications/networking/cluster/prow/default.nix
index 60e79ed6690a7..b1ea88a11a332 100644
--- a/pkgs/applications/networking/cluster/prow/default.nix
+++ b/pkgs/applications/networking/cluster/prow/default.nix
@@ -52,7 +52,7 @@ buildGoModule rec {
   ];
 
   meta = with lib; {
-    description = "Prow is a Kubernetes based CI/CD system";
+    description = "A Kubernetes based CI/CD system";
     longDescription = ''
       Prow is a Kubernetes based CI/CD system. Jobs can be triggered by various
       types of events and report their status to many different services. In
diff --git a/pkgs/applications/networking/cluster/sonobuoy/default.nix b/pkgs/applications/networking/cluster/sonobuoy/default.nix
index 32dbced0a461e..be5cb51d450de 100644
--- a/pkgs/applications/networking/cluster/sonobuoy/default.nix
+++ b/pkgs/applications/networking/cluster/sonobuoy/default.nix
@@ -1,30 +1,34 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 # SHA of ${version} for the tool's help output
-let rev = "c9c2a461cd3397909fe6e45ff71836347ef89fd8";
+let rev = "e03f9ee353717ccc5f58c902633553e34b2fe46a";
 in
-buildGoPackage rec {
+buildGoModule rec {
   pname = "sonobuoy";
-  version = "0.16.1";
+  version = "0.19.0";
 
-  goPackagePath = "github.com/heptio/sonobuoy";
+  goPackagePath = "github.com/vmware-tanzu/sonobuoy";
 
   buildFlagsArray =
     let t = goPackagePath;
     in ''
       -ldflags=
-        -s -X ${t}/pkg/buildinfo.Version=${version}
+        -s -X ${t}/pkg/buildinfo.Version=v${version}
            -X ${t}/pkg/buildinfo.GitSHA=${rev}
            -X ${t}/pkg/buildDate=unknown
     '';
 
   src = fetchFromGitHub {
-    sha256 = "14qc5a7jbr403wjpk6pgpb94i72yx647sg9srz07q6drq650kyfv";
+    sha256 = "1gw58a30akidk15wk8kk7f8lsyqr1q180j6fzr4462ahwxdbjgkr";
     rev = "v${version}";
     repo = "sonobuoy";
     owner = "vmware-tanzu";
   };
 
+  vendorSha256 = "1kxzd4czv8992y7y47la5jjrbhk76sxcj3v5sx0k4xplgki7np6i";
+
+  subPackages = [ "." ];
+
   meta = with lib; {
     description = ''
       Diagnostic tool that makes it easier to understand the
@@ -38,6 +42,6 @@ buildGoPackage rec {
 
     homepage = "https://sonobuoy.io";
     license = licenses.asl20;
-    maintainers = with maintainers; [ carlosdagos saschagrunert ];
+    maintainers = with maintainers; [ carlosdagos saschagrunert wilsonehusin ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/spacegun/node-composition.nix b/pkgs/applications/networking/cluster/spacegun/node-composition.nix
index 47cdb6942cecc..712f62e8d4fd2 100644
--- a/pkgs/applications/networking/cluster/spacegun/node-composition.nix
+++ b/pkgs/applications/networking/cluster/spacegun/node-composition.nix
@@ -6,7 +6,7 @@
 
 let
   nodeEnv = import ../../../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile;
     inherit nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
diff --git a/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix b/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
index 7c948fbcdfc79..15a3b0ac24c70 100644
--- a/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
+++ b/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
@@ -1,28 +1,38 @@
-{ stdenv, lib, fetchurl, autoPatchelfHook, dpkg, awscli }:
+{ stdenv, lib, fetchurl, autoPatchelfHook, dpkg, awscli, unzip }:
+let
+  ver = "1.2.7.0";
+  source = if stdenv.isDarwin then {
+    url =
+      "https://s3.amazonaws.com/session-manager-downloads/plugin/${ver}/mac/sessionmanager-bundle.zip";
+    sha256 = "sha256-HP+opNjS53zR9eUxpNUHGD9rZN1z7lDc6+nONR8fa/s=";
+  } else {
+    url =
+      "https://s3.amazonaws.com/session-manager-downloads/plugin/${ver}/ubuntu_64bit/session-manager-plugin.deb";
+    sha256 = "sha256-EZ9ncj1YYlod1RLfXOpZFijnKjLYWYVBb+C6yd42l34=";
+  };
+  platformBuildInput = if stdenv.isDarwin then [ unzip ] else [ dpkg ];
+  unpackCmd = if stdenv.isDarwin then "unzip $src" else "dpkg-deb -x $src .";
+  archivePath = if stdenv.isDarwin then "sessionmanager-bundle" else "usr/local/sessionmanagerplugin";
+in
 stdenv.mkDerivation rec {
   pname = "ssm-session-manager-plugin";
-  version = "1.1.61.0";
+  version = ver;
 
-  src = fetchurl {
-    url =
-      "https://s3.amazonaws.com/session-manager-downloads/plugin/${version}/ubuntu_64bit/session-manager-plugin.deb";
-    sha256 = "0z59irrpwhjjhn379454xyraqs590hij2n6n6k25w5hh8ak7imfl";
-  };
+  src = fetchurl source;
 
-  nativeBuildInputs = [ autoPatchelfHook dpkg ];
+  nativeBuildInputs = [ autoPatchelfHook ] ++ platformBuildInput;
 
   buildInputs = [ awscli ];
 
-  unpackPhase = "dpkg-deb -x $src .";
+  unpackPhase = unpackCmd;
 
-  installPhase =
-    "install -m755 -D usr/local/sessionmanagerplugin/bin/session-manager-plugin $out/bin/session-manager-plugin";
+  installPhase = "install -m755 -D ${archivePath}/bin/session-manager-plugin $out/bin/session-manager-plugin";
 
   meta = with lib; {
     homepage =
       "https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html";
     description = "Amazon SSM Session Manager Plugin";
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
     license = licenses.unfree;
     maintainers = with maintainers; [ mbaillie ];
   };
diff --git a/pkgs/applications/networking/cluster/starboard/default.nix b/pkgs/applications/networking/cluster/starboard/default.nix
index 20861769d8c8c..bc42bf13666ad 100644
--- a/pkgs/applications/networking/cluster/starboard/default.nix
+++ b/pkgs/applications/networking/cluster/starboard/default.nix
@@ -2,16 +2,18 @@
 
 buildGoModule rec {
   pname = "starboard";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "12vfxnny3giirdf1xhacy24dvy5zm7iil6h019s0l63876vingnc";
+    sha256 = "00d3cnd3n6laa6rphw5w9xk8slpp4a603vzhixzg01sghq26gy22";
   };
 
-  vendorSha256 = "0hj7h58j0v98plrqfldq59d084j76aiy82mfm8zi0vcqg6gxf4pb";
+  vendorSha256 = "0y816r75rp1a4rp7j0a8wzrfi2mdf4ji1vz2vaj5s7x9ik6rc13r";
+
+  subPackages = [ "cmd/starboard" ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/tanka/default.nix b/pkgs/applications/networking/cluster/tanka/default.nix
index 1793af1085a9c..293cdb6737114 100644
--- a/pkgs/applications/networking/cluster/tanka/default.nix
+++ b/pkgs/applications/networking/cluster/tanka/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tanka";
-  version = "0.11.1";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hp10qgalglsdhh6z6v4azh2hsr89mdrv1g5lssfl5jyink409yd";
+    sha256 = "1f67b236njz1qdxjyf2568vkigjmpylqlra29jlgm6vhd5qky7ia";
   };
 
-  vendorSha256 = "15x8fqz2d2793ivgxpd9jyr34njzi1xpyxdlfyj1b01n2vr3xg4m";
+  vendorSha256 = "1pr265g11lcviqw974lf05q52qrfpwnpn9a64q6088g0nfp4ly06";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
new file mode 100644
index 0000000000000..aeaff2ff5f152
--- /dev/null
+++ b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
@@ -0,0 +1,47 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "tektoncd-cli";
+  version = "0.14.0";
+
+  src = fetchFromGitHub {
+    owner = "tektoncd";
+    repo = "cli";
+    rev = "v${version}";
+    sha256 = "1mkbwh4cmhx9in928vlvs7xjjklpsxbv5niv8jmsbnifflg1an8p";
+  };
+
+  vendorSha256 = null;
+
+  doCheck = false;
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  buildPhase = ''
+    make bin/tkn
+  '';
+
+  installPhase = ''
+    install bin/tkn -Dt $out/bin
+
+    mkdir -p "$out/share/man/man1"
+    cp docs/man/man1/* "$out/share/man/man1"
+
+    installShellCompletion --cmd tkn \
+      --bash <($out/bin/tkn completion bash) \
+      --fish <($out/bin/tkn completion fish) \
+      --zsh <($out/bin/tkn completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "The Tekton Pipelines cli project provides a CLI for interacting with Tekton";
+    homepage = "https://tekton.dev";
+    longDescription = ''
+      The Tekton Pipelines cli project provides a CLI for interacting with Tekton!
+      For your convenience, it is recommended that you install the Tekton CLI, tkn, together with the core component of Tekton, Tekton Pipelines.
+    '';
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jk mstrangfeld ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-providers/cloudfoundry/default.nix b/pkgs/applications/networking/cluster/terraform-providers/cloudfoundry/default.nix
new file mode 100644
index 0000000000000..7e807d2ed5ce7
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-providers/cloudfoundry/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "terraform-provider-cloudfoundry";
+  version = "0.12.6";
+
+  src = fetchFromGitHub {
+    owner = "cloudfoundry-community";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0n5ybpzk6zkrnd9vpmbjlkm8fdp7nbfr046wih0jk72pmiyrcygi";
+  };
+
+  vendorSha256 = "01lfsd9aw9w3kr1a2a5b7ac6d8jaij83lhxl4y4qsnjlqk86fbxq";
+
+  # needs a running cloudfoundry
+  doCheck = false;
+
+  postInstall = "mv $out/bin/terraform-provider-cloudfoundry{,_v${version}}";
+
+  passthru = { provider-source-address = "registry.terraform.io/cloudfoundry-community/cloudfoundry"; };
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/cloudfoundry-community/terraform-provider-cloudfoundry";
+    description = "Terraform provider for cloudfoundry";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ ris ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index 73fc6df024e60..b7b6c8ad73b33 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -1,4 +1,5 @@
 { lib
+, buildGoModule
 , buildGoPackage
 , fetchFromGitHub
 , callPackage
@@ -7,7 +8,23 @@
 let
   list = lib.importJSON ./providers.json;
 
-  toDrv = name: data:
+  buildWithGoModule = data:
+    buildGoModule {
+      pname = data.repo;
+      version = data.version;
+      subPackages = [ "." ];
+      src = fetchFromGitHub {
+        inherit (data) owner repo rev sha256;
+      };
+      vendorSha256 = data.vendorSha256 or null;
+
+      # Terraform allow checking the provider versions, but this breaks
+      # if the versions are not provided via file paths.
+      postBuild = "mv $NIX_BUILD_TOP/go/bin/${data.repo}{,_v${data.version}}";
+      passthru = data;
+    };
+
+  buildWithGoPackage = data:
     buildGoPackage {
       pname = data.repo;
       version = data.version;
@@ -22,43 +39,13 @@ let
       passthru = data;
     };
 
-  # Google is now using the vendored go modules, which works a bit differently
-  # and is not 100% compatible with the pre-modules vendored folders.
-  #
-  # Instead of switching to goModules which requires a goModSha256, patch the
-  # goPackage derivation so it can install the top-level.
-  patchGoModVendor = drv:
-    drv.overrideAttrs (attrs: {
-      buildFlags = "-mod=vendor";
-
-      # override configurePhase to not move the source into GOPATH
-      configurePhase = ''
-        export GOPATH=$NIX_BUILD_TOP/go:$GOPATH
-        export GOCACHE=$TMPDIR/go-cache
-        export GO111MODULE=on
-      '';
-
-      # just build and install into $GOPATH/bin
-      buildPhase = ''
-        go install -mod=vendor -v -p 16 .
-
-        runHook postBuild
-      '';
-
-      # don't run the tests, they are broken in this setup
-      doCheck = false;
-    });
-
   # These providers are managed with the ./update-all script
-  automated-providers = lib.mapAttrs (toDrv) list;
+  automated-providers = lib.mapAttrs (_: attrs:
+    (if (lib.hasAttr "vendorSha256" attrs) then buildWithGoModule else buildWithGoPackage)
+      attrs) list;
 
   # These are the providers that don't fall in line with the default model
   special-providers = {
-    # Override providers that use Go modules + vendor/ folder
-    google = patchGoModVendor automated-providers.google;
-    google-beta = patchGoModVendor automated-providers.google-beta;
-    ibm = patchGoModVendor automated-providers.ibm;
-
     acme = automated-providers.acme.overrideAttrs (attrs: {
       prePatch = attrs.prePatch or "" + ''
         substituteInPlace go.mod --replace terraform-providers/terraform-provider-acme getstackhead/terraform-provider-acme
@@ -66,95 +53,15 @@ let
       '';
     });
 
-    # providers that were moved to the `hashicorp` organization,
-    # but haven't updated their references yet:
-
-    # https://github.com/hashicorp/terraform-provider-archive/pull/67
-    archive = automated-providers.archive.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-archive hashicorp/terraform-provider-archive
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-archive hashicorp/terraform-provider-archive
-      '';
-    });
-
-    # https://github.com/hashicorp/terraform-provider-dns/pull/101
-    dns = automated-providers.dns.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-dns hashicorp/terraform-provider-dns
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-dns hashicorp/terraform-provider-dns
-      '';
-    });
-
-    # https://github.com/hashicorp/terraform-provider-external/pull/41
-    external = automated-providers.external.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-external hashicorp/terraform-provider-external
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-external hashicorp/terraform-provider-external
-      '';
-    });
-
-    # https://github.com/hashicorp/terraform-provider-helm/pull/522
-    helm = automated-providers.helm.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-helm hashicorp/terraform-provider-helm
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-helm hashicorp/terraform-provider-helm
-      '';
-    });
-
-    # https://github.com/hashicorp/terraform-provider-http/pull/40
-    http = automated-providers.http.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-http hashicorp/terraform-provider-http
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-http hashicorp/terraform-provider-http
-      '';
-    });
-
-    # https://github.com/hashicorp/terraform-provider-local/pull/40
-    local = automated-providers.local.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-local hashicorp/terraform-provider-local
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-local hashicorp/terraform-provider-local
-      '';
-    });
-
-    # https://github.com/hashicorp/terraform-provider-null/pull/43
-    null = automated-providers.null.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-null hashicorp/terraform-provider-null
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-null hashicorp/terraform-provider-null
-      '';
-    });
-
-    # https://github.com/hashicorp/terraform-provider-random/pull/107
-    random = automated-providers.random.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-random hashicorp/terraform-provider-random
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-random hashicorp/terraform-provider-random
-      '';
-    });
-
-    # https://github.com/hashicorp/terraform-provider-template/pull/79
-    template = automated-providers.template.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-template hashicorp/terraform-provider-template
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-template hashicorp/terraform-provider-template
-      '';
-    });
-
-    # https://github.com/hashicorp/terraform-provider-tls/pull/71
-    tls = automated-providers.tls.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-tls hashicorp/terraform-provider-tls
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-tls hashicorp/terraform-provider-tls
-      '';
-    });
-
     # Packages that don't fit the default model
     ansible = callPackage ./ansible {};
+    cloudfoundry = callPackage ./cloudfoundry {};
     elasticsearch = callPackage ./elasticsearch {};
     gandi = callPackage ./gandi {};
+    hcloud = callPackage ./hcloud {};
     keycloak = callPackage ./keycloak {};
     libvirt = callPackage ./libvirt {};
+    linuxbox = callPackage ./linuxbox {};
     lxd = callPackage ./lxd {};
     shell = callPackage ./shell {};
     vpsadmin = callPackage ./vpsadmin {};
diff --git a/pkgs/applications/networking/cluster/terraform-providers/hcloud/default.nix b/pkgs/applications/networking/cluster/terraform-providers/hcloud/default.nix
new file mode 100644
index 0000000000000..89a22c718efb1
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-providers/hcloud/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "terraform-provider-hcloud";
+  version = "1.22.0";
+
+  src = fetchFromGitHub {
+    owner = "hetznercloud";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1h4kplrmpsbwa0nq3zyqa0cnvhv1s5avdrjyf1k1f2z6b6h4gynf";
+  };
+
+  vendorSha256 = "070p34g0ca55rmfdwf1l53yr8vyhmm5sb8hm8q036n066yp03yfs";
+
+  # Spends an awful time in other test folders, apparently tries to reach
+  # opencensus and fails.
+  checkPhase = ''
+    pushd hcloud
+    go test -v
+    popd
+  '';
+
+  postInstall = "mv $out/bin/terraform-provider-hcloud{,_v${version}}";
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/cloudfoundry-community/terraform-provider-cloudfoundry";
+    description = "Terraform provider for cloudfoundry";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ ris ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix b/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix
index 42ed3d21066fa..4662a315a8c46 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix
@@ -19,7 +19,7 @@
 
 buildGoPackage rec {
   pname = "terraform-provider-libvirt";
-  version = "0.6.2";
+  version = "0.6.3";
 
   goPackagePath = "github.com/dmacvicar/terraform-provider-libvirt";
 
@@ -27,7 +27,7 @@ buildGoPackage rec {
     owner = "dmacvicar";
     repo = "terraform-provider-libvirt";
     rev = "v${version}";
-    sha256 = "1wkpns047ccff0clfb1108wjax1qb5v06hky0i3h2wpzysll7r7b";
+    sha256 = "0ak2lpnv6h0i7lzfcggd90jpfhvsasdr6nflkflk2drlcpalggj9";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/terraform-providers/linuxbox/default.nix b/pkgs/applications/networking/cluster/terraform-providers/linuxbox/default.nix
new file mode 100644
index 0000000000000..60cd7f2d7637b
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-providers/linuxbox/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "terraform-provider-linuxbox";
+  version = "0.3.11";
+
+  src = fetchFromGitHub {
+    owner = "numtide";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1sxb2iv4dl0rw3v1r7k5dfkyh14nmp19cprqafhb7ncarmvawq39";
+  };
+
+  vendorSha256 = "16hp0pv1qpvr34ac1syjci39csvyj3c748inllypjwx76q6rwp7k";
+
+  postInstall = "mv $out/bin/terraform-provider-linuxbox{,_v${version}}";
+
+  passthru.provider-source-address = "registry.terraform.io/numtide/linuxbox";
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/numtide/terraform-provider-linuxbox";
+    description = "Basic building block for Seed DevOps";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-providers/lxd/default.nix b/pkgs/applications/networking/cluster/terraform-providers/lxd/default.nix
index d64178b1e6585..a583bc3351421 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/lxd/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/lxd/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terraform-provider-lxd";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "sl1pm4t";
     repo = "terraform-provider-lxd";
     rev = "v${version}";
-    sha256 = "1k54021178zybh9dqly2ly8ji9x5rka8dn9xd6rv7gkcl5w3y6fv";
+    sha256 = "00gj7zj45wm9sf7a7nybjijdrdr00g2yf8h41c6j679a6nfnx0fd";
   };
 
-  vendorSha256 = "1shdpl1zsbbpc3mfs0l65ykq2h15ggvqylaixcap4j4lfl7m9my0";
+  vendorSha256 = "0xq8zgx8h47pc88nkdvy5skpr8vk87b4212mm5msfxk8n7nl4fi2";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index c49f4cd2b1bae..83865214192ae 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -33,9 +33,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/archive",
     "repo": "terraform-provider-archive",
-    "rev": "v1.3.0",
-    "sha256": "1hwg8ai4bvsmgnl669608lr4v940xnyig1xshps490f47c8hqy6y",
-    "version": "1.3.0"
+    "rev": "v2.0.0",
+    "sha256": "1d5n379zyjp2srg43g78a8h33qwcpkfkj7c35idvbyydi35vzlpl",
+    "vendorSha256": null,
+    "version": "2.0.0"
   },
   "arukas": {
     "owner": "terraform-providers",
@@ -66,12 +67,13 @@
     "version": "2.14.1"
   },
   "aws": {
-    "owner": "terraform-providers",
+    "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/aws",
     "repo": "terraform-provider-aws",
-    "rev": "v2.65.0",
-    "sha256": "005vs1qd6payicxldc9lr4w6kzr58xw9b930j52g1q7hlddl5mbb",
-    "version": "2.65.0"
+    "rev": "v3.15.0",
+    "sha256": "0rxpdxg5p478sipbhq2x347gs5wrlwz4ggy9z007cbp34yhb2wka",
+    "vendorSha256": "0vapfnd4c8jb15pdjnnb97vgsvfakjvl1czccbfy0znhdk2ynz02",
+    "version": "3.15.0"
   },
   "azuread": {
     "owner": "terraform-providers",
@@ -233,11 +235,13 @@
     "version": "2.7.0"
   },
   "digitalocean": {
-    "owner": "terraform-providers",
+    "owner": "digitalocean",
+    "provider-source-address": "registry.terraform.io/digitalocean/digitalocean",
     "repo": "terraform-provider-digitalocean",
-    "rev": "v1.19.0",
-    "sha256": "0plfkwkfb19f7bzky4jfa2kmkqvbah02c6j6applsd3jyiawpbgy",
-    "version": "1.19.0"
+    "rev": "v2.2.0",
+    "sha256": "14v9sh2qqdflzzp5mvkr7hd5c21hch8b8shxiwm0ar4qgdxq3wfy",
+    "vendorSha256": null,
+    "version": "2.2.0"
   },
   "dme": {
     "owner": "terraform-providers",
@@ -250,9 +254,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/dns",
     "repo": "terraform-provider-dns",
-    "rev": "v2.2.0",
-    "sha256": "11xdxj6hfclaq9glbh14nihmrsk220crm9ld8bdv77w0bppmrrch",
-    "version": "2.2.0"
+    "rev": "v3.0.0",
+    "sha256": "160dbmg7xg7iyc70f66dphyiysrdbscwya2n28idi8wp5rjx8bid",
+    "vendorSha256": null,
+    "version": "3.0.0"
   },
   "dnsimple": {
     "owner": "terraform-providers",
@@ -293,9 +298,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/external",
     "repo": "terraform-provider-external",
-    "rev": "v1.2.0",
-    "sha256": "1kx28bffhd1pg3m0cbldclc8l9zic16mqrk7gybcls9vyds5gbvc",
-    "version": "1.2.0"
+    "rev": "v2.0.0",
+    "sha256": "16wciz08gicicsirij2ql0gy8dg0372jjsqmaigkl2n07mqz2b6a",
+    "vendorSha256": null,
+    "version": "2.0.0"
   },
   "fastly": {
     "owner": "terraform-providers",
@@ -328,30 +334,35 @@
   "github": {
     "owner": "terraform-providers",
     "repo": "terraform-provider-github",
-    "rev": "v2.8.0",
-    "sha256": "11aw9wqnayl786hvbgnb9ijijaipaggj18vkn5y0kcj2v4dwq4wg",
-    "version": "2.8.0"
+    "rev": "v3.1.0",
+    "sha256": "1xl4fd1lfbn1vnrdmg2xljnv8hy6rmf0iv7g8pzbnzbvj2pi7w3b",
+    "version": "3.1.0"
   },
   "gitlab": {
-    "owner": "terraform-providers",
+    "owner": "gitlabhq",
+    "provider-source-address": "registry.terraform.io/gitlabhq/gitlab",
     "repo": "terraform-provider-gitlab",
-    "rev": "v2.9.0",
-    "sha256": "0l0b69nxxskpsylcgli2sm9qq7p4hw96dsri24w38shhnxmpysbb",
-    "version": "2.9.0"
+    "rev": "v3.1.0",
+    "sha256": "1an34ckz7lz1k25lkjpbmls55zp9pacr46vjnjjpqx6bx5s95f5g",
+    "version": "3.1.0"
   },
   "google": {
-    "owner": "terraform-providers",
+    "owner": "hashicorp",
+    "provider-source-address": "registry.terraform.io/hashicorp/google",
     "repo": "terraform-provider-google",
-    "rev": "v3.18.0",
-    "sha256": "18cxl1qw1wyvzvhgjm1s3c19hbi5z9s6mipgazhrac70myw8dmy7",
-    "version": "3.18.0"
+    "rev": "v3.47.0",
+    "sha256": "05xb0q56y9088qbyaf3vzjm9im1s2azxffhjffjpzi0i79k0g2p0",
+    "vendorSha256": "1h83p7ncv7b4ci7qdig7hb81zk9458fq9aqqbkryawf1w7wbaq2a",
+    "version": "3.47.0"
   },
   "google-beta": {
-    "owner": "terraform-providers",
+    "owner": "hashicorp",
+    "provider-source-address": "registry.terraform.io/hashicorp/google-beta",
     "repo": "terraform-provider-google-beta",
-    "rev": "v3.18.0",
-    "sha256": "1rsaqrgr6ddgx1pala83y70dk32s0mvf6vi877awmimxjzsa1l4r",
-    "version": "3.18.0"
+    "rev": "v3.47.0",
+    "sha256": "1nk0bg2q7dg65rn3j5pkdjv07x0gs7bkv1bpfvlhi9p4fzx9g4by",
+    "vendorSha256": "0c2q4d2khsi3v9b659q1kmncnlshv4px6ch99jpcymwqg3xrxda2",
+    "version": "3.47.0"
   },
   "grafana": {
     "owner": "terraform-providers",
@@ -367,13 +378,6 @@
     "sha256": "00l3cwvyyjk0n3j535qfj3bsf1s5l07786gnxycj0f8vz3a06bcq",
     "version": "1.6.0"
   },
-  "hcloud": {
-    "owner": "terraform-providers",
-    "repo": "terraform-provider-hcloud",
-    "rev": "v1.16.0",
-    "sha256": "09v2bg4ffyh4ibz449dygxgd7mvjgh4b2r242l3cwi7pzn66imrz",
-    "version": "1.16.0"
-  },
   "hedvig": {
     "owner": "terraform-providers",
     "repo": "terraform-provider-hedvig",
@@ -385,9 +389,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/helm",
     "repo": "terraform-provider-helm",
-    "rev": "v1.2.2",
-    "sha256": "1hjlf0pzc9jkcvqi52kvqwmd8v0cvnhhcbahzxmv0zkdwh310c12",
-    "version": "1.2.2"
+    "rev": "v1.3.2",
+    "sha256": "0mpbf03483jqrwd9cx4pdn2pcv4swfs5nbp021gaqr0jf1w970x6",
+    "vendorSha256": null,
+    "version": "1.3.2"
   },
   "heroku": {
     "owner": "terraform-providers",
@@ -400,9 +405,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/http",
     "repo": "terraform-provider-http",
-    "rev": "v1.2.0",
-    "sha256": "0q8ichbqrq62q1j0rc7sdz1jzfwg2l9v4ac9jqf6y485dblhmwqd",
-    "version": "1.2.0"
+    "rev": "v2.0.0",
+    "sha256": "0x6a9qf819g16dj9inyvhwff67xy0ixyy70ck56lkidrldara444",
+    "vendorSha256": null,
+    "version": "2.0.0"
   },
   "huaweicloud": {
     "owner": "terraform-providers",
@@ -420,10 +426,12 @@
   },
   "ibm": {
     "owner": "IBM-Cloud",
+    "provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.7.0",
-    "sha256": "1kb2dxdygvph65hh7qiba9kl9k5aygxxvx3x1qi28jwny594j82a",
-    "version": "1.7.0"
+    "rev": "v1.14.0",
+    "sha256": "1r3y7r0mnbzd7xk6d5f7pvysl3p8vl5i5phya89dfwrk2x9xyw21",
+    "vendorSha256": null,
+    "version": "1.14.0"
   },
   "icinga2": {
     "owner": "terraform-providers",
@@ -475,11 +483,12 @@
     "version": "1.0.0"
   },
   "kubernetes": {
-    "owner": "terraform-providers",
+    "owner": "hashicorp",
+    "provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
     "repo": "terraform-provider-kubernetes",
-    "rev": "v1.11.3",
-    "sha256": "13j4xwibjgiqpzwbwd0d3z1idv0lwz78ip38khhmhwa78mjjb4zz",
-    "version": "1.11.3"
+    "rev": "v1.13.3",
+    "sha256": "01hkbb81r3k630s3ww6379p66h1fsd5cd1dz14jm833nsr142c0i",
+    "version": "1.13.3"
   },
   "kubernetes-alpha": {
     "owner": "hashicorp",
@@ -513,9 +522,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/local",
     "repo": "terraform-provider-local",
-    "rev": "v1.4.0",
-    "sha256": "1k1kbdn99ypn1pi6vqbs1l9a8vvf4vs32wl8waa16i26514sz1wk",
-    "version": "1.4.0"
+    "rev": "v2.0.0",
+    "sha256": "0c1mk63lh3qmj8pl80lyvvsgyg4gg7673abr8cfxrj45635h74z5",
+    "vendorSha256": null,
+    "version": "2.0.0"
   },
   "logentries": {
     "owner": "terraform-providers",
@@ -619,9 +629,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/null",
     "repo": "terraform-provider-null",
-    "rev": "v2.1.2",
-    "sha256": "0di1hxmd3s80sz8hl5q2i425by8fbk15f0r4jmnm6vra0cq89jw2",
-    "version": "2.1.2"
+    "rev": "v3.0.0",
+    "sha256": "0r1kvsc96922i85hdvf1pk8aicxjr6bc69gc63qi21hrl0jpvr7r",
+    "vendorSha256": null,
+    "version": "3.0.0"
   },
   "nutanix": {
     "owner": "terraform-providers",
@@ -739,9 +750,9 @@
   "postgresql": {
     "owner": "terraform-providers",
     "repo": "terraform-provider-postgresql",
-    "rev": "v1.6.0",
-    "sha256": "0m9x60hrry0cqx4bhmql081wjcbay3750jwzqiph5vpj9717banf",
-    "version": "1.6.0"
+    "rev": "v1.7.1",
+    "sha256": "0qlz00svvbwxslp8v7bi7mx5mvnjmh2cvg33a006gh4fy5n75shy",
+    "version": "1.7.1"
   },
   "powerdns": {
     "owner": "terraform-providers",
@@ -789,9 +800,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/random",
     "repo": "terraform-provider-random",
-    "rev": "v2.2.1",
-    "sha256": "1qklsxj443vsj61lwl7qf7xwgnllwcvb2yk6s0kn9g3iq63pcv30",
-    "version": "2.2.1"
+    "rev": "v3.0.0",
+    "sha256": "00dkpcri9ckp0kxwgh3p8175cyd44m8z13cb013pm4mrr61n4wq9",
+    "vendorSha256": null,
+    "version": "3.0.0"
   },
   "rightscale": {
     "owner": "terraform-providers",
@@ -909,9 +921,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/template",
     "repo": "terraform-provider-template",
-    "rev": "v2.1.2",
-    "sha256": "18w1mmma81m9j7yf6q500w8v9ss28w6sw2ynssl99pyw2gwmd04q",
-    "version": "2.1.2"
+    "rev": "v2.2.0",
+    "sha256": "12pn1i06jz4xl50md94yfdggg3pg5bv1viwf35izizm5rnyksyv2",
+    "vendorSha256": null,
+    "version": "2.2.0"
   },
   "tencentcloud": {
     "owner": "terraform-providers",
@@ -934,13 +947,22 @@
     "sha256": "1cl83afm00fflsd3skynjvncid3r74fkxfznrs1v8qypcg1j79g1",
     "version": "0.18.0"
   },
+  "time": {
+    "owner": "hashicorp",
+    "provider-source-address": "registry.terraform.io/hashicorp/time",
+    "repo": "terraform-provider-time",
+    "rev": "v0.6.0",
+    "sha256": "0fb81hisjicib9rzbn51jqfrchyjd3hzq98adnf22cbra8wlnxlm",
+    "version": "0.6.0"
+  },
   "tls": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/tls",
     "repo": "terraform-provider-tls",
-    "rev": "v2.1.1",
-    "sha256": "1qsx540pjcq4ra034q2dwnw5nmzab5h1c3vm20ppg5dkhhyiizq8",
-    "version": "2.1.1"
+    "rev": "v3.0.0",
+    "sha256": "1p9d5wrr4xwf2i930zlcarm1zl8ysj3nyc6rrbhpxk04kr6ap0wz",
+    "vendorSha256": null,
+    "version": "3.0.0"
   },
   "triton": {
     "owner": "terraform-providers",
@@ -1014,11 +1036,11 @@
     "version": "0.1.0"
   },
   "vultr": {
-    "owner": "terraform-providers",
+    "owner": "vultr",
     "repo": "terraform-provider-vultr",
-    "rev": "v1.3.0",
-    "sha256": "0swc2fvp83d6w0cqvyxs346c756wr48xbn8m8jqkmma5s4ab2y4k",
-    "version": "1.3.0"
+    "rev": "v1.5.0",
+    "sha256": "04qy366ignn53bbdj9s3032qr1x7h84q36qzl5ywydlw2va0qbsd",
+    "version": "1.5.0"
   },
   "wavefront": {
     "owner": "terraform-providers",
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 6153eaa145c9f..b478071ead167 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -114,7 +114,7 @@ let
           (orig: { passthru = orig.passthru // passthru; })
         else
           lib.appendToName "with-plugins" (stdenv.mkDerivation {
-            inherit (terraform) name;
+            inherit (terraform) name meta;
             buildInputs = [ makeWrapper ];
 
             buildCommand = pluginDir + ''
@@ -157,8 +157,8 @@ in rec {
   });
 
   terraform_0_13 = pluggable (generic {
-    version = "0.13.4";
-    sha256 = "1yvcz14q82v9jq4b9knn6wgnhlhrsz2ncvxv4lh9y1avn56chsqc";
+    version = "0.13.5";
+    sha256 = "1fnydzm5h65pdy2gkq403sllx05cvpldkdzdpcy124ywljb4x9d8";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index e8b602b8a8048..a6a9631481f6d 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -1,35 +1,28 @@
-{ stdenv, lib, buildGoModule, fetchFromGitHub, terraform, makeWrapper }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper }:
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.23.40";
+  version = "0.26.7";
 
-   src = fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gd2g1nl8dgj24mzk4qymcwnp6prbi3qxj863rkpi3k32zy2iw4k";
+    sha256 = "1431n6zs2mfkgh281xi0d7m9hxifrrsnd46fnpb54mr6lj9h0sdb";
   };
 
-  vendorSha256 = "0f466qn5vp74mwx9s4rcbw1x793w8hr5dcf2c12sgshya1bxs4nl";
+  vendorSha256 = "18ix11g709fvh8h02k3p2bmzrq5fjzaqa50h3g74s3hyl2gc9s9h";
 
   doCheck = false;
 
   buildInputs = [ makeWrapper ];
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-X main.VERSION=v${version}")
-  '';
+  buildFlagsArray = [ "-ldflags=" "-X main.VERSION=v${version}" ];
 
-  postInstall = ''
-    wrapProgram $out/bin/terragrunt \
-      --set TERRAGRUNT_TFPATH ${lib.getBin terraform.full}/bin/terraform
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A thin wrapper for Terraform that supports locking for Terraform state and enforces best practices.";
+  meta = with lib; {
+    description = "A thin wrapper for Terraform that supports locking for Terraform state and enforces best practices";
     homepage = "https://github.com/gruntwork-io/terragrunt/";
     license = licenses.mit;
-    maintainers = with maintainers; [ peterhoeg ];
+    maintainers = with maintainers; [ peterhoeg jk ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index c3ec58df35d4a..d362500ff5985 100644
--- a/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -5,13 +5,13 @@ buildGoModule rec {
   /* Do not use "dev" as a version. If you do, Tilt will consider itself
     running in development environment and try to serve assets from the
     source tree, which is not there once build completes.  */
-  version = "0.17.2";
+  version = "0.17.12";
 
   src = fetchFromGitHub {
     owner  = "tilt-dev";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0wiqnlam4f7085n3djvb5phhvw9df61bj8w6c5rcpffykg33vhmi";
+    sha256 = "0l70nmxvk30h56bs46cgakddzdf3laj1y88d0jchij0yy7ixa61f";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/networking/cluster/velero/default.nix b/pkgs/applications/networking/cluster/velero/default.nix
index 0d5835a8cde15..45cae94ec850f 100644
--- a/pkgs/applications/networking/cluster/velero/default.nix
+++ b/pkgs/applications/networking/cluster/velero/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "velero";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "vmware-tanzu";
     repo = "velero";
-    sha256 = "1rmymwmglcia5j0c692g34hlffba1yqs2s0iyjpafma2zabrcnai";
+    sha256 = "1hfi1iipbval0c0c0nnf6fz5n76za0vwczm5lq86sddqnznbvsrz";
   };
 
   buildFlagsArray = ''
     -ldflags=
       -s -w
       -X github.com/vmware-tanzu/velero/pkg/buildinfo.Version=${version}
-      -X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=87d86a45a6ca66c6c942c7c7f08352e26809426c
+      -X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=456eb19668f8da603756353d9179b59b5a7bfa04
       -X github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState=clean
   '';
 
@@ -27,9 +27,9 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
-    $out/bin/velero completion bash > helm.bash
-    $out/bin/velero completion zsh > helm.zsh
-    installShellCompletion helm.{bash,zsh}
+    $out/bin/velero completion bash > velero.bash
+    $out/bin/velero completion zsh > velero.zsh
+    installShellCompletion velero.{bash,zsh}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/compactor/default.nix b/pkgs/applications/networking/compactor/default.nix
index 5d9a658972c36..97a2f6992f9ac 100644
--- a/pkgs/applications/networking/compactor/default.nix
+++ b/pkgs/applications/networking/compactor/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "compactor";
-  version = "0.12.2";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "dns-stats";
     repo = pname;
     rev = version;
-    sha256 = "17p9wsslsh6ifnadvyygr0cgir4q4iirxfz9zpkpbhh76cx2qnay";
+    sha256 = "0x5rwbv0ndf9zcvnsbd78ic6shh9hd0bh3gh0lzz9wlb99lslbkk";
   };
 
   # cbor-diag, cddl and wireshark-cli are only used for tests.
diff --git a/pkgs/applications/networking/datovka/default.nix b/pkgs/applications/networking/datovka/default.nix
index f004a807aa790..22bf982ec4cc3 100644
--- a/pkgs/applications/networking/datovka/default.nix
+++ b/pkgs/applications/networking/datovka/default.nix
@@ -11,11 +11,11 @@
 
 mkDerivation rec {
   pname = "datovka";
-  version = "4.15.2";
+  version = "4.15.6";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/datove_schranky/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0vna3vaivi6w7nlkwpqhwmyly0s1d5y2yg51br2f918pjhp2cp7q";
+    sha256 = "1qs1yd9qqsf56jm9w6sffkqb2l8s3i9qgi2q8vd59ss19ym6yky2";
   };
 
   buildInputs = [ libisds qmake qtbase qtsvg libxml2 ];
diff --git a/pkgs/applications/networking/dnscontrol/default.nix b/pkgs/applications/networking/dnscontrol/default.nix
index 8fb14ae3b147f..4d27ad5361ff3 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.3.0";
+  version = "3.4.2";
 
   src = fetchFromGitHub {
     owner = "StackExchange";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lldkx906imwm8mxcfafpanbgaqh0sdm3zdkwkn7j0nmngyncx9p";
+    sha256 = "0bvvh68k2xjmmwafwdsijf3yb4ff9wbsl2ibad627l1y4js5615z";
   };
 
-  vendorSha256 = "16cc6hb2iwh1zwrrnb7s4dqxqhaj67gq3gfr5xvh5kqafd685hvx";
+  vendorSha256 = "05nwfxqgkpbv5i0365wpsnnaq528a7srycd1dsdlssz1cy7i0d31";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index b3655888e1d33..845d0f2779c24 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -7,7 +7,7 @@ assert lib.elem stdenv.hostPlatform.system platforms;
 # Dropbox client to bootstrap installation.
 # The client is self-updating, so the actual version may be newer.
 let
-  version = "83.4.152";
+  version = "111.3.447";
 
   arch = {
     x86_64-linux = "x86_64";
diff --git a/pkgs/applications/networking/feedreaders/newsflash/default.nix b/pkgs/applications/networking/feedreaders/newsflash/default.nix
index 896904b0cac2d..441a80fc071b8 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsflash/default.nix
@@ -8,7 +8,7 @@
 , gdk-pixbuf
 , glib
 , gtk3
-, libhandy
+, libhandy_0
 , openssl
 , sqlite
 , webkitgtk
@@ -54,7 +54,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = [
     gtk3
-    libhandy
+    libhandy_0
     openssl
     sqlite
     webkitgtk
diff --git a/pkgs/applications/networking/feedreaders/rss2email/default.nix b/pkgs/applications/networking/feedreaders/rss2email/default.nix
index 977b71ebc50d2..0a28f9e074c62 100644
--- a/pkgs/applications/networking/feedreaders/rss2email/default.nix
+++ b/pkgs/applications/networking/feedreaders/rss2email/default.nix
@@ -37,7 +37,7 @@ buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "A tool that converts RSS/Atom newsfeeds to email.";
+    description = "A tool that converts RSS/Atom newsfeeds to email";
     homepage = "https://pypi.python.org/pypi/rss2email";
     license = licenses.gpl2;
     maintainers = with maintainers; [ jb55 Profpatsch ekleog ];
diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix
index 40b67484360b0..f9abd3fef3c0b 100644
--- a/pkgs/applications/networking/feedreaders/rssguard/default.nix
+++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rssguard";
-  version = "3.7.2";
+  version = "3.8.2";
 
   src = fetchFromGitHub {
     owner = "martinrotter";
     repo = pname;
     rev = version;
-    sha256 = "1l2ra06am6bgwb4q200lhi64sz3np1dzf2vpjh10znxbx0mahbq6";
+    sha256 = "0vy89ih586s89s29dzzggk7bkaz70mzrc9islirk01s1jal1jn0v";
   };
 
   buildInputs =  [ qtwebengine qttools ];
diff --git a/pkgs/applications/networking/firehol/default.nix b/pkgs/applications/networking/firehol/default.nix
index 16b2b7454bf5f..de523b14ba646 100644
--- a/pkgs/applications/networking/firehol/default.nix
+++ b/pkgs/applications/networking/firehol/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, pkgs
 , autoconf, automake, curl, iprange, iproute, ipset, iptables, iputils
-, kmod, nettools, procps, tcpdump, traceroute, utillinux, whois
+, kmod, nettools, procps, tcpdump, traceroute, util-linux, whois
 
 # If true, just install FireQOS without FireHOL
 , onlyQOS ? false
@@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoconf automake ];
   buildInputs = [
     curl iprange iproute ipset iptables iputils kmod
-    nettools procps tcpdump traceroute utillinux whois
+    nettools procps tcpdump traceroute util-linux whois
   ];
 
   preConfigure = "./autogen.sh";
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 0cb0d17cc5a2d..17306059e996e 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "filezilla";
-  version = "3.50.0";
+  version = "3.51.0";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
-    sha256 = "sha256-4NuHJpylIIqtFKAkFTN7T57+PEnC1NFOZukhx4oTXBA=";
+    sha256 = "0k3c7gm16snc6dr9a3xgq14ajyqj4hxcrd6hk6jk5fsi9x51rgl2";
   };
 
   # https://www.linuxquestions.org/questions/slackware-14/trouble-building-filezilla-3-47-2-1-current-4175671182/#post6099769
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index d9168d7a29887..a0f35f3779d10 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -1,7 +1,7 @@
 { callPackage, libsForQt5 }:
 
 let
-  stableVersion = "2.2.15";
+  stableVersion = "2.2.16";
   previewVersion = stableVersion;
   addVersion = args:
     let version = if args.stable then stableVersion else previewVersion;
@@ -26,8 +26,8 @@ let
   };
   mkGui = args: libsForQt5.callPackage (import ./gui.nix (addVersion args // extraArgs)) { };
   mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { };
-  guiSrcHash = "149yphmxc47bhc2f942lp4bx354qj3cyrpn10s1xabkn2hwrsm0d";
-  serverSrcHash = "03cfg48xzgz362ra5x853k8r244dgbrmszcprs2lg70i3m722345";
+  guiSrcHash = "1kz5gr5rwqp1hn9fw17v6sy2467506zks574nqcd2vgxzhr6cy6x";
+  serverSrcHash = "1r6qj1l8jgyjm67agn83zp9c2n7pgfzwyh8a5q314zxi18nm6rqp";
 in {
   guiStable = mkGui {
     stable = true;
diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix
index bbf3f0514c45f..ad346104f969b 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -35,7 +35,9 @@ in python.pkgs.buildPythonPackage {
 
   postPatch = ''
     # yarl 1.4+ only requires Python 3.6+
-    sed -iE "s/yarl==1.3.0//" requirements.txt
+    substituteInPlace requirements.txt \
+      --replace "aiohttp==3.6.2" "aiohttp>=3.6.2" \
+      --replace "yarl==1.3.0" ""
   '';
 
   propagatedBuildInputs = with python.pkgs; [
diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
index ac6ad4f22fe93..72ff8bd8b4be2 100644
--- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
+++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
@@ -1,25 +1,29 @@
-{ stdenv, buildDunePackage, fetchFromGitHub
-, ocamlfuse, gapi_ocaml, ocaml_sqlite3
+{ lib, buildDunePackage, fetchFromGitHub
+, ocaml_extlib, ocamlfuse, gapi_ocaml, ocaml_sqlite3
 }:
 
 buildDunePackage rec {
   pname = "google-drive-ocamlfuse";
-  version = "0.7.21";
+  version = "0.7.22";
+
+  useDune2 = true;
+
+  minimumOCamlVersion = "4.06";
 
   src = fetchFromGitHub {
     owner = "astrada";
     repo = "google-drive-ocamlfuse";
     rev = "v${version}";
-    sha256 = "0by3qnjrr1mbxyl2n99zggx8dxnqlicsq2b2hhhxb2d0k8qn47sw";
+    sha256 = "027j1r2iy8vnbqs8bv893f0909yk5312ki5p3zh2pdz6s865h750";
   };
 
-  buildInputs = [ ocamlfuse gapi_ocaml ocaml_sqlite3 ];
+  buildInputs = [ ocaml_extlib ocamlfuse gapi_ocaml ocaml_sqlite3 ];
 
   meta = {
-    homepage = "http://gdfuse.forge.ocamlcore.org/";
+    inherit (src.meta) homepage;
     description = "A FUSE-based file system backed by Google Drive, written in OCaml";
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ obadz ];
+    license = lib.licenses.mit;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ obadz ];
   };
 }
diff --git a/pkgs/applications/networking/gopher/sacc/default.nix b/pkgs/applications/networking/gopher/sacc/default.nix
index 71726056a5544..e10d97aeb42bf 100644
--- a/pkgs/applications/networking/gopher/sacc/default.nix
+++ b/pkgs/applications/networking/gopher/sacc/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, fetchgit, ncurses
+{ stdenv, fetchurl, ncurses
 , patches ? [] # allow users to easily override config.def.h
 }:
 
 stdenv.mkDerivation rec {
   pname = "sacc";
-  version = "1.01";
+  version = "1.02";
 
-  src = fetchgit {
-    url = "git://bitreich.org/sacc";
-    rev = version;
-    sha256 = "0n6ghbi715m7hrxzqggx1bpqj8h7569s72b9bzk6m4gd29jaq9hz";
+  src = fetchurl {
+    url = "ftp://bitreich.org/releases/sacc/sacc-${version}.tgz";
+    sha512 = "18ja95cscgjaj1xqn70dj0482f76d0561bdcc47flqfsjh4mqckjqr65qv7awnw6rzm03i5cp45j1qx12y0y83skgsar4pplmy8q014";
   };
 
   inherit patches;
diff --git a/pkgs/applications/networking/hydroxide/default.nix b/pkgs/applications/networking/hydroxide/default.nix
index cf872b77b8d14..a54a47b9c8f2f 100644
--- a/pkgs/applications/networking/hydroxide/default.nix
+++ b/pkgs/applications/networking/hydroxide/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
     description = "A third-party, open-source ProtonMail bridge";
     homepage = "https://github.com/emersion/hydroxide";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/ids/zeek/default.nix b/pkgs/applications/networking/ids/zeek/default.nix
index a6189da7ee3e4..713156a662144 100644
--- a/pkgs/applications/networking/ids/zeek/default.nix
+++ b/pkgs/applications/networking/ids/zeek/default.nix
@@ -21,11 +21,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "zeek";
-  version = "3.2.1";
+  version = "3.2.2";
 
   src = fetchurl {
     url = "https://download.zeek.org/zeek-${version}.tar.gz";
-    sha256 = "0rybs79h0sq12vsayah8dixqac404z84rlvqynvzf3dh2lwcgg0y";
+    sha256 = "00cxz7ad7p62s2glcagzcvwbnsivrv4bmz6rl1vij907jb24hmvc";
   };
 
   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 37d8adceae1c1..c3479d1ee698b 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl, zlib, openssl, libre, librem, pkgconfig, gst_all_1
 , cairo, mpg123, alsaLib, SDL, libv4l, celt, libsndfile, srtp, ffmpeg_3
-, gsm, speex, portaudio, spandsp, libuuid, ccache, libvpx
+, gsm, speex, portaudio, spandsp, libuuid, libvpx
 }:
 stdenv.mkDerivation rec {
   version = "0.6.5";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [zlib openssl libre librem cairo mpg123
     alsaLib SDL libv4l celt libsndfile srtp ffmpeg_3 gsm speex portaudio spandsp libuuid
-    ccache libvpx
+    libvpx
   ] ++ (with gst_all_1; [ gstreamer gst-libav gst-plugins-base gst-plugins-bad gst-plugins-good ]);
   makeFlags = [
     "LIBRE_MK=${libre}/share/re/re.mk"
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix
index 07e7b74a43c2c..1a8110acacb99 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix
@@ -3,13 +3,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "bitlbee-facebook";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "bitlbee";
     repo = "bitlbee-facebook";
-    sha256 = "11068zhb1v55b1x0nhjc4f3p0glccxpcyk5c1630hfdzkj7vyqhn";
+    sha256 = "1yjhjhk3jzjip13lq009vlg84lm2lzwhac5jy0aq3vkcz6rp94rc";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
index f8bcdc4bef7cb..8b63483405877 100644
--- a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
@@ -39,11 +39,12 @@
 
 stdenv.mkDerivation rec {
   pname = "bluejeans";
-  version = "2.4.0";
+  version = "2.17.0";
+  buildNumber = "11";
 
   src = fetchurl {
-    url = "https://swdl.bluejeans.com/desktop-app/linux/${version}/BlueJeans.rpm";
-    sha256 = "180hc854ngwfn6y6nsrfn74rv78cxhq6sgshrca5zqv6wq3l98g0";
+    url = "https://swdl.bluejeans.com/desktop-app/linux/${version}/BlueJeans_${version}.${buildNumber}.rpm";
+    sha256 = "1h5jbnp5bwy6bpma9a1ia08v7bpz09fm66jsip470k1r7vjjwa68";
   };
 
   nativeBuildInputs = [ rpmextract makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/cordless/default.nix b/pkgs/applications/networking/instant-messengers/cordless/default.nix
index a262b04874646..d3633e2245ff6 100644
--- a/pkgs/applications/networking/instant-messengers/cordless/default.nix
+++ b/pkgs/applications/networking/instant-messengers/cordless/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "cordless";
-  version = "2020-08-30";
+  version = "2020-11-22";
 
   src = fetchFromGitHub {
     owner = "Bios-Marcel";
     repo = pname;
     rev = version;
-    sha256 = "sha256-CwOI7Ah4+sxD9We+Va5a6jYat5mjOeBk2EsOfwskz6k=";
+    sha256 = "0avf09b73fs3wpb4fzmm6ka595aanfvp95m6xj1ccxvq8ciwpqcw";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-01I7GrZkaskuz20kVK2YwqvP7ViPMlQ3BFaoLHwgvOE=";
+  vendorSha256 = "01anbhwgwam70dymcmvkia1xpw48658rq7wv4m7fiavxvnli6z2y";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/Bios-Marcel/cordless";
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix
index 795f71a3cd011..03508c2ffb53e 100644
--- a/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -18,24 +18,15 @@
 
 stdenv.mkDerivation rec {
   pname = "dino";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "dino";
     repo = "dino";
     rev = "v${version}";
-    sha256 = "1k5cgj5n8s40i71wqdh6m1q0njl45ichfdbbywx9rga5hljz1c54";
+    sha256 = "0wy1hb3kz3k4gqqwx308n37cqag2d017jwfz0b5s30nkx2pbwspw";
   };
 
-  patches = [
-    (fetchpatch {
-      # Allow newer versions of libsignal-protocol-c
-      url = "https://github.com/dino/dino/commit/fbd70ceaac5ebbddfa21a580c61165bf5b861303.patch";
-      sha256 = "0ydpwsmwrzfsry89fsffkfalhki4n1dw99ixjvpiingdrhjmwyl2";
-      excludes = [ "plugins/signal-protocol/libsignal-protocol-c" ];
-    })
-  ];
-
   nativeBuildInputs = [
     vala
     cmake
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 8672f64be3869..9b89634f0b3a5 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -17,20 +17,20 @@ in {
     pname = "discord-ptb";
     binaryName = "DiscordPTB";
     desktopName = "Discord PTB";
-    version = "0.0.22";
+    version = "0.0.23";
     src = fetchurl {
       url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
-      sha256 = "06qyh8i9d7il6q7q7iaymbbcmdcgrj6rc4z4xik1ay3fr7qy299j";
+      sha256 = "0vxz68vldrbmmw1alpwl7blfcy6byd6zg9m0851dm0p0ldyhsp5j";
     };
   };
   canary = callPackage ./base.nix rec {
     pname = "discord-canary";
     binaryName = "DiscordCanary";
     desktopName = "Discord Canary";
-    version = "0.0.114";
+    version = "0.0.116";
     src = fetchurl {
       url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-      sha256 = "0j3w4jf4jisrpz03462sqjsrvjw50kqqq3psyympw0jb1wjccc41";
+      sha256 = "14kg85gz91f9mvvnl5p1lwz40rm47bca3a8dwv4618zv6vncgmkp";
     };
   };
 }.${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 287c864d3927b..f2d882ad75e47 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.9",
+  "version": "1.7.14",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
@@ -62,7 +62,7 @@
   },
   "build": {
     "appId": "im.riot.app",
-    "electronVersion": "10.1.1",
+    "electronVersion": "10.1.3",
     "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 2a611aa630a2e..21374014c8861 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
@@ -4394,11 +4394,11 @@
       };
     }
     {
-      name = "npm_user_validate___npm_user_validate_1.0.0.tgz";
+      name = "npm_user_validate___npm_user_validate_1.0.1.tgz";
       path = fetchurl {
-        name = "npm_user_validate___npm_user_validate_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.0.tgz";
-        sha1 = "8ceca0f5cea04d4e93519ef72d0557a75122e951";
+        name = "npm_user_validate___npm_user_validate_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.1.tgz";
+        sha1 = "31428fc5475fe8416023f178c0ab47935ad8c561";
       };
     }
     {
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index 5b537b2b7bf26..9a3dab920f401 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.9";
+  version = "1.7.14";
   src = fetchFromGitHub {
     owner = "vector-im";
     repo = "riot-desktop";
     rev = "v${version}";
-    sha256 = "0hk9y6zzabfdi35fqzl9987d98a6k74fi0mzmhhvhvvpj8i1ldrn";
+    sha256 = "04zqvj7n803dwp4jkhiihhynp82birb14vamm6ys39a0zgs91cnv";
   };
   electron = electron_9;
 
diff --git a/pkgs/applications/networking/instant-messengers/element/element-web.nix b/pkgs/applications/networking/instant-messengers/element/element-web.nix
index 25e62423eae6a..46ac18af9ee59 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.9";
+  version = "1.7.14";
 
   src = fetchurl {
     url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
-    sha256 = "00ch486npqgrwmgfd7bsi6wb9ac6dpv08n13lygn45gha37l1kx1";
+    sha256 = "1wyk1si0dmlcskf25zmbijpz6505yzjxa7pvd3g2k9kxc49vi20j";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/ferdi/default.nix b/pkgs/applications/networking/instant-messengers/ferdi/default.nix
index e0f56e2783d0b..190050d8327b3 100644
--- a/pkgs/applications/networking/instant-messengers/ferdi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ferdi/default.nix
@@ -9,7 +9,7 @@ mkFranzDerivation rec {
     sha256 = "0i24vcnq4iz5amqmn2fgk92ff9x9y7fg8jhc3g6ksvmcfly7af3k";
   };
   meta = with stdenv.lib; {
-    description = "Ferdi allows you to combine your favorite messaging services into one application";
+    description = "Combine your favorite messaging services into one application";
     homepage = "https://getferdi.com/";
     license = licenses.free;
     maintainers = [ maintainers.davidtwco ];
diff --git a/pkgs/applications/networking/instant-messengers/fractal/default.nix b/pkgs/applications/networking/instant-messengers/fractal/default.nix
index 68e7282870ba1..bc6dbc5ce1938 100644
--- a/pkgs/applications/networking/instant-messengers/fractal/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fractal/default.nix
@@ -12,7 +12,7 @@
 , pkg-config
 , gtksourceview4
 , glib
-, libhandy
+, libhandy_0
 , gtk3
 , dbus
 , openssl
@@ -63,10 +63,10 @@ rustPlatform.buildRustPackage rec {
       gtkSupport = true;
     })
     gst_all_1.gstreamer
-    gst_all_1.gst-validate
+    gst_all_1.gst-devtools
     gtk3
     gtksourceview4
-    libhandy
+    libhandy_0
     openssl
     sqlite
   ];
@@ -92,6 +92,7 @@ rustPlatform.buildRustPackage rec {
     description = "Matrix group messaging app";
     homepage = "https://gitlab.gnome.org/GNOME/fractal";
     license = licenses.gpl3;
+    broken = stdenv.isDarwin;
     maintainers = with maintainers; [ dtzWill worldofpeace ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/franz/default.nix b/pkgs/applications/networking/instant-messengers/franz/default.nix
index 52bc60b5affd4..646a790fed252 100644
--- a/pkgs/applications/networking/instant-messengers/franz/default.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/default.nix
@@ -3,10 +3,10 @@
 mkFranzDerivation rec {
   pname = "franz";
   name = "Franz";
-  version = "5.5.0";
+  version = "5.6.1";
   src = fetchurl {
     url = "https://github.com/meetfranz/franz/releases/download/v${version}/franz_${version}_amd64.deb";
-    sha256 = "0kgfjai0pz0gpbxsmn3hbha7zr2kax0s1j3ygcsy4kzghla990wm";
+    sha256 = "1gn0n1hr6z2gsdnpxysyq6sm8y7cjr9jafhsam8ffw0bq74kph7p";
   };
   meta = with stdenv.lib; {
     description = "A free messaging app that combines chat & messaging services into one application";
diff --git a/pkgs/applications/networking/instant-messengers/franz/generic.nix b/pkgs/applications/networking/instant-messengers/franz/generic.nix
index 3f05e3d7a5d3e..96865374bed16 100644
--- a/pkgs/applications/networking/instant-messengers/franz/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/generic.nix
@@ -28,7 +28,7 @@
 # Helper function for building a derivation for Franz and forks.
 
 { pname, name, version, src, meta }:
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   inherit pname version src meta;
 
   # Don't remove runtime deps.
@@ -65,7 +65,7 @@ stdenv.mkDerivation {
     expat
     stdenv.cc.cc
   ];
-  runtimeDependencies = [ (lib.getLib udev) libnotify ];
+  runtimeDependencies = [ stdenv.cc.cc.lib (lib.getLib udev) libnotify ];
 
   unpackPhase = "dpkg-deb -x $src .";
 
@@ -84,6 +84,7 @@ stdenv.mkDerivation {
 
   postFixup = ''
     wrapProgram $out/opt/${name}/${pname} \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDependencies}" \
       --prefix PATH : ${xdg_utils}/bin \
       "''${gappsWrapperArgs[@]}"
   '';
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index 2ee017dfdbaf3..eef24f75f1553 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -60,6 +60,9 @@ python3.pkgs.buildPythonApplication rec {
       ${python3.interpreter} setup.py test
   '';
 
+  # necessary for wrapGAppsHook
+  strictDeps = false;
+
   meta = {
     homepage = "http://gajim.org/";
     description = "Jabber client written in PyGTK";
diff --git a/pkgs/applications/networking/instant-messengers/gitter/default.nix b/pkgs/applications/networking/instant-messengers/gitter/default.nix
index 57b745057dce9..69a1984806680 100644
--- a/pkgs/applications/networking/instant-messengers/gitter/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gitter/default.nix
@@ -1,29 +1,61 @@
-{ stdenv, alsaLib, atk, cairo, cups, dbus, dpkg, expat, fetchurl
-, fontconfig, freetype, gdk-pixbuf, glib, gnome2, gtk3, libX11
+{ stdenv, alsaLib, atk, at-spi2-core, cairo, cups, dbus, dpkg, expat, fetchurl
+, fontconfig, freetype, gdk-pixbuf, glib, gnome2, gtk3,  libdrm, libX11
 , libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes
 , libXi, libXrandr, libXrender, libXtst, libappindicator-gtk3, libcxx
-, libnotify, libpulseaudio, libxcb, makeDesktopItem, makeWrapper, nspr, nss
+, libnotify, libpulseaudio, libxcb, makeDesktopItem, makeWrapper, mesa, nspr, nss
 , pango, systemd }:
 
 let gitterDirectorySuffix = "opt/gitter";
+   libPath = stdenv.lib.makeLibraryPath [
+     alsaLib
+     atk
+     at-spi2-core
+     cairo
+     cups
+     dbus
+     expat
+     fontconfig
+     freetype
+     gdk-pixbuf
+     glib
+     gnome2.GConf
+     gtk3
+     libX11
+     libXScrnSaver
+     libXcomposite
+     libXcursor
+     libXdamage
+     libXext
+     libXfixes
+     libXi
+     libXrandr
+     libXrender
+     libXtst
+     libappindicator-gtk3
+     libcxx
+     libdrm
+     libnotify
+     libpulseaudio
+     libxcb
+     mesa
+     nspr
+     nss
+     pango
+     stdenv.cc.cc
+     systemd
+  ];
     doELFPatch = target: ''
       patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
          --set-rpath "$out/${gitterDirectorySuffix}/lib:${libPath}" \
          $out/${gitterDirectorySuffix}/${target}
        '';
-   libPath = stdenv.lib.makeLibraryPath [
-     alsaLib atk cairo cups dbus expat fontconfig freetype gdk-pixbuf glib
-     gnome2.GConf gtk3 libX11 libXScrnSaver libXcomposite libXcursor libXdamage
-     libXext libXfixes libXi libXrandr libXrender libXtst libappindicator-gtk3
-     libcxx libnotify libpulseaudio libxcb nspr nss pango stdenv.cc.cc systemd
-  ];
 in stdenv.mkDerivation rec {
   pname = "gitter";
-  version = "4.1.0";
+  version = "5.0.1";
 
   src = fetchurl {
     url = "https://update.gitter.im/linux64/${pname}_${version}_amd64.deb";
-    sha256 = "1gny9i2pywvczzrs93k8krqn6hwm6c2zg8yr3xmjqs3p88817wbi";
+    sha256 = "1ps9akylqrril4902r8mi0mprm0hb5wra51ry6c1rb5xz5nrzgh1";
   };
 
   nativeBuildInputs = [ makeWrapper dpkg ];
diff --git a/pkgs/applications/networking/instant-messengers/gomuks/default.nix b/pkgs/applications/networking/instant-messengers/gomuks/default.nix
index c98fd9e804067..00134e2597be9 100644
--- a/pkgs/applications/networking/instant-messengers/gomuks/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gomuks/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gomuks";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "tulir";
     repo = pname;
     rev = "v" + version;
-    sha256 = "0sf1nqwimxqql8wm6763jyc5rclhd4zxgg9gfi0qvg5ccm1r1z5q";
+    sha256 = "0xa4ch4p48w6sd0f4s1sp0hl1w4fvzhff7w2ar19ki0ydy5g368n";
   };
 
-  vendorSha256 = "sha256:0n9mwbzjkvlljlns7sby8nb9gm4vj0v4idp1zxv5xssqr5qalihf";
+  vendorSha256 = "1rhvwk8bdbbffhx2d03a8p9jc5c8v3pi7kw1dmyyngz6p7wq1g0x";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/instant-messengers/matrix-dl/default.nix b/pkgs/applications/networking/instant-messengers/matrix-dl/default.nix
index 97f7752202297..caf6669e120b5 100644
--- a/pkgs/applications/networking/instant-messengers/matrix-dl/default.nix
+++ b/pkgs/applications/networking/instant-messengers/matrix-dl/default.nix
@@ -1,14 +1,14 @@
 { lib, python3Packages, fetchFromGitHub }:
 
 python3Packages.buildPythonApplication rec {
-  pname = "matrix-dl-unstable";
-  version = "2019-09-22";
+  pname = "matrix-dl";
+  version = "unstable-2020-07-14";
 
   src = fetchFromGitHub {
     owner = "rubo77";
-    repo = "matrix-dl";
-    rev = "e91610f45b7b3b0aca34923309fc83ba377f8a69";
-    sha256 = "036xfdd21pcfjlilknc67z5jqpk0vz07853wwcsiac32iypc6f2q";
+    repo = pname;
+    rev = "b1a86d1421f39ee327284e1023f09dc165e3c8a5";
+    sha256 = "1l8nh8z7kz24v0wcy3ll3w6in2yxwa1yz8lyc3x0blz37d8ss4ql";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
index e03bdd9909e8f..92ddfe3429820 100644
--- a/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
@@ -6,7 +6,7 @@
 
 let
   nodeEnv = import ./node-env.nix {
-    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile;
     inherit nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix
index 670556bf271af..ff5ca0d99b19d 100644
--- a/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix
@@ -1,6 +1,6 @@
 # This file originates from node2nix
 
-{stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
+{stdenv, nodejs, python2, util-linux, libtool, runCommand, writeTextFile}:
 
 let
   python = if nodejs ? python then nodejs.python else python2;
@@ -396,7 +396,7 @@ let
     stdenv.mkDerivation ({
       name = "node_${name}-${version}";
       buildInputs = [ tarWrapper python nodejs ]
-        ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+        ++ stdenv.lib.optional (stdenv.isLinux) util-linux
         ++ stdenv.lib.optional (stdenv.isDarwin) libtool
         ++ buildInputs;
 
@@ -468,7 +468,7 @@ let
         name = "node-dependencies-${name}-${version}";
 
         buildInputs = [ tarWrapper python nodejs ]
-          ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+          ++ stdenv.lib.optional (stdenv.isLinux) util-linux
           ++ stdenv.lib.optional (stdenv.isDarwin) libtool
           ++ buildInputs;
 
@@ -514,7 +514,7 @@ let
     stdenv.mkDerivation {
       name = "node-shell-${name}-${version}";
 
-      buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
+      buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) util-linux ++ buildInputs;
       buildCommand = ''
         mkdir -p $out/bin
         cat > $out/bin/shell <<EOF
diff --git a/pkgs/applications/networking/instant-messengers/mcabber/default.nix b/pkgs/applications/networking/instant-messengers/mcabber/default.nix
index 98b326820b9fc..23db7d1ce2570 100644
--- a/pkgs/applications/networking/instant-messengers/mcabber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mcabber/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mcabber";
-  version = "1.1.0";
+  version = "1.1.2";
 
   src = fetchurl {
     url = "https://mcabber.com/files/mcabber-${version}.tar.bz2";
-    sha256 = "1ggh865p1rf10ffsnf4g6qv9i8bls36dxdb1nzs5r9vdqci2rz04";
+    sha256 = "0q1i5acyghsmzas88qswvki8kkk2nfpr8zapgnxbcd3lwcxl38f4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/instant-messengers/mirage/default.nix b/pkgs/applications/networking/instant-messengers/mirage/default.nix
index 1101d6f9b06ea..0aa2dbf889bb5 100644
--- a/pkgs/applications/networking/instant-messengers/mirage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mirage/default.nix
@@ -47,7 +47,7 @@ mkDerivation rec {
     '';
 
   meta = with lib; {
-    description = "A fancy, customizable, keyboard-operable Qt/QML+Python Matrix chat client for encrypted and decentralized communication.";
+    description = "A fancy, customizable, keyboard-operable Qt/QML+Python Matrix chat client for encrypted and decentralized communication";
     homepage = "https://github.com/mirukana/mirage";
     license = licenses.lgpl3;
     maintainers = with maintainers; [ colemickens ];
diff --git a/pkgs/applications/networking/instant-messengers/mm/default.nix b/pkgs/applications/networking/instant-messengers/mm/default.nix
index 3bdfcbfe7d1d1..a9306a751ac8f 100644
--- a/pkgs/applications/networking/instant-messengers/mm/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mm/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, buildGoPackage, fetchFromGitLab }:
+{ stdenv, buildGoModule, fetchgit }:
 
-buildGoPackage {
+buildGoModule {
   pname = "mm";
-  version = "2016.11.04";
+  version = "2020.11.17";
 
-  goPackagePath = "gitlab.com/meutraa/mm";
-
-  src = fetchFromGitLab {
-    owner = "meutraa";
-    repo = "mm";
-    rev = "473fdd97285168054b672dbad2ffc4047324c518";
-    sha256 = "1s8v5gxpw1sms1g3i8nq2x2mmmyz97qkmxs1fzlspfcd6i8vknkp";
+  src = fetchgit {
+    url = "https://git.lost.host/meutraa/mm.git";
+    rev = "e5fa8eeb845aac8f28fc36013ee8a1dbe1e5710c";
+    sha256 = "sha256-SdD4EE/rc85H7xqKB/kU8XFsC63i1sVObPha/zrxFGk=";
   };
 
-  meta = {
+  vendorSha256 = "sha256-zJJ9PzQShv2iRNyCg1XVscbwjV9ZtMIojJDtXXm3rVM=";
+
+  meta = with stdenv.lib; {
     description = "A file system based matrix client";
-    homepage = "https://gitlab.com/meutraa/mm";
-    license = stdenv.lib.licenses.isc;
+    homepage = "https://git.lost.host/meutraa/mm";
+    license = licenses.isc;
+    maintainers = with maintainers; [ meutraa ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix b/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix
index a751501376ff5..3b1fb255b6ee2 100644
--- a/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix
@@ -56,7 +56,7 @@ buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "An end-to-end encryption aware Matrix reverse proxy daemon.";
+    description = "An end-to-end encryption aware Matrix reverse proxy daemon";
     homepage = "https://github.com/matrix-org/pantalaimon";
     license = licenses.asl20;
     maintainers = with maintainers; [ valodim ];
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index cf7c1008a0804..1112a3215c9d9 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchFromGitHub, cmake, wrapQtAppsHook
+{ mkDerivation, lib, fetchFromGitHub, cmake
 , qtbase, qtmultimedia, qtx11extras, qttools, qtwebengine
 , libidn, qca-qt5, libsecret, libXScrnSaver, hunspell
 , libgcrypt, libotr, html-tidy, libgpgerror, libsignal-protocol-c
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "psi-plus";
   version = "1.4.1473";
 
@@ -19,15 +19,16 @@ stdenv.mkDerivation rec {
     "-DENABLE_PLUGINS=ON"
   ];
 
-  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+  nativeBuildInputs = [ cmake qttools ];
 
   buildInputs = [
-    qtbase qtmultimedia qtx11extras qttools qtwebengine
+    qtbase qtmultimedia qtx11extras qtwebengine
     libidn qca-qt5 libsecret libXScrnSaver hunspell
     libgcrypt libotr html-tidy libgpgerror libsignal-protocol-c
   ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
+    homepage = "https://sourceforge.net/projects/psiplus/";
     description = "XMPP (Jabber) client";
     maintainers = with maintainers; [ orivej misuzu ];
     license = licenses.gpl2;
diff --git a/pkgs/applications/networking/instant-messengers/psi/default.nix b/pkgs/applications/networking/instant-messengers/psi/default.nix
index c1984a218c8ae..08c3ab96210ff 100644
--- a/pkgs/applications/networking/instant-messengers/psi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi/default.nix
@@ -1,30 +1,33 @@
-{ stdenv, fetchFromGitHub, cmake, wrapQtAppsHook
+{ lib, mkDerivation, fetchFromGitHub, cmake
 , qtbase, qtmultimedia, qtx11extras, qttools, qtwebengine
 , libidn, qca-qt5, libXScrnSaver, hunspell
 }:
-stdenv.mkDerivation rec {
+
+mkDerivation rec {
   pname = "psi";
-  version = "1.4";
+  version = "1.5";
   src = fetchFromGitHub {
     owner = "psi-im";
     repo = pname;
     rev = version;
-    sha256 = "09c7cg96vgxzgbpypgcw7yv73gvzppbi1lm4svbpfn2cfxy059d4";
+    sha256 = "hXDZODHl14kimRlMQ1XjISQ2kk9NS78axVN3U21wkuM=";
     fetchSubmodules = true;
   };
   patches = [
     ./fix-cmake-hunspell-1.7.patch
   ];
-  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+  nativeBuildInputs = [ cmake qttools ];
   buildInputs = [
-    qtbase qtmultimedia qtx11extras qttools qtwebengine
+    qtbase qtmultimedia qtx11extras qtwebengine
     libidn qca-qt5 libXScrnSaver hunspell
   ];
   enableParallelBuilding = true;
-  meta = with stdenv.lib; {
-    description = "Psi, an XMPP (Jabber) client";
+
+  meta = with lib; {
+    homepage = "https://psi-im.org";
+    description = "An XMPP (Jabber) client";
     maintainers = [ maintainers.raskin ];
     license = licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index 0df7a5d8e5600..952182def26dc 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -7,7 +7,7 @@
 , AVFoundation ? null }:
 
 let
-  version = "1.17.2";
+  version = "1.17.3";
   rev = "v${version}";
 
 in mkDerivation {
@@ -17,7 +17,7 @@ in mkDerivation {
   src = fetchFromGitHub {
     owner  = "qTox";
     repo   = "qTox";
-    sha256 = "04pbv1zsxy8dph2v0r9xc8lcm5g6604pwnppi3la5w46ihbwxlb9";
+    sha256 = "19xgw9bqirxbgvj5cdh20qxh61pkwk838lq1l78n6py1qrs7z5wp";
     inherit rev;
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index b1577a37844db..c031615a90bf9 100644
--- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -10,7 +10,7 @@ mkDerivation rec {
   src = fetchFromGitHub {
     owner = "QMatrixClient";
     repo = "Quaternion";
-    rev = "${version}";
+    rev = version;
     sha256 = "0hqhg7l6wpkdbzrdjvrbqymmahziri07ba0hvbii7dd2p0h248fv";
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index c1b9cdc122c4d..93ab78c439a6f 100644
--- a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.6.10";
+  version = "0.6.12";
 
   # Building from source would be preferred, but is much more involved.
   src = fetchurl {
     url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
-    sha256 = "0zglcx5ylqjc3hjkzi84mjhp9dchnnkv12qq75q5pqkx1w45rmim";
+    sha256 = "0i1y2p5qi2bwhkm8sv0wkb0lfi2vm26qalnpg6kn0ikcxkqkq5bc";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 85f71fd0ebcc4..84f0902286278 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -25,7 +25,7 @@ let
       else "");
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "1.36.3"; # Please backport all updates to the stable channel.
+  version = "1.38.2"; # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "1b75b5li0im2mwskkf1xsa6sjprl56isvcz2iy1gc48bambc72pc";
+    sha256 = "1lq830760y4kmhqd29hhgnab6lryiipb01y0c5bbl886zk3z35n4";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/skype-call-recorder/conference.patch b/pkgs/applications/networking/instant-messengers/skype-call-recorder/conference.patch
deleted file mode 100644
index 8b8ce8fd7bbf1..0000000000000
--- a/pkgs/applications/networking/instant-messengers/skype-call-recorder/conference.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From abd67f1d44eef81baf2e9729f95e002c4ecc7350 Mon Sep 17 00:00:00 2001
-From: jlh <jlh@gmx.ch>
-Date: Fri, 16 Oct 2009 17:40:54 +0200
-Subject: [PATCH] Rudimentary support for recording hosted conference calls
-
----
- call.cpp |   37 +++++++++++++++++++++++++++++++++++--
- call.h   |   11 ++++++++++-
- 2 files changed, 45 insertions(+), 3 deletions(-)
-
-diff --git a/call.cpp b/call.cpp
-index c2b02f2..663c1c1 100644
---- a/call.cpp
-+++ b/call.cpp
-@@ -90,9 +90,10 @@ void AutoSync::reset() {
- 
- // Call class
- 
--Call::Call(QObject *p, Skype *sk, CallID i) :
--	QObject(p),
-+Call::Call(CallHandler *h, Skype *sk, CallID i) :
-+	QObject(h),
- 	skype(sk),
-+	handler(h),
- 	id(i),
- 	status("UNKNOWN"),
- 	writer(NULL),
-@@ -119,6 +120,13 @@ Call::Call(QObject *p, Skype *sk, CallID i) :
- 		debug(QString("Call %1: cannot get partner display name").arg(id));
- 		displayName = "Unnamed Caller";
- 	}
-+
-+	// Skype does not properly send updates when the CONF_ID property
-+	// changes.  since we need this information, check it now on all calls
-+	handler->updateConfIDs();
-+	// this call isn't yet in the list of calls, thus we need to
-+	// explicitely check its CONF_ID
-+	updateConfID();
- }
- 
- Call::~Call() {
-@@ -134,6 +142,10 @@ Call::~Call() {
- 	// QT takes care of deleting servers and sockets
- }
- 
-+void Call::updateConfID() {
-+	confID = skype->getObject(QString("CALL %1 CONF_ID").arg(id)).toLong();
-+}
-+
- bool Call::okToDelete() const {
- 	// this is used for checking whether past calls may now be deleted.
- 	// when a past call hasn't been decided yet whether it should have been
-@@ -270,6 +282,11 @@ void Call::startRecording(bool force) {
- 	if (isRecording)
- 		return;
- 
-+	if (handler->isConferenceRecording(confID)) {
-+		debug(QString("Call %1: call is part of a conference that is already being recorded").arg(id));
-+		return;
-+	}
-+
- 	if (force) {
- 		emit showLegalInformation();
- 	} else {
-@@ -589,6 +606,22 @@ CallHandler::~CallHandler() {
- 	delete legalInformationDialog;
- }
- 
-+void CallHandler::updateConfIDs() {
-+	QList<Call *> list = calls.values();
-+	for (int i = 0; i < list.size(); i++)
-+		list.at(i)->updateConfID();
-+}
-+
-+bool CallHandler::isConferenceRecording(CallID id) const {
-+	QList<Call *> list = calls.values();
-+	for (int i = 0; i < list.size(); i++) {
-+		Call *c = list.at(i);
-+		if (c->getConfID() == id && c->getIsRecording())
-+			return true;
-+	}
-+	return false;
-+}
-+
- void CallHandler::callCmd(const QStringList &args) {
- 	CallID id = args.at(0).toInt();
- 
-diff --git a/call.h b/call.h
-index cb8396d..b746f46 100644
---- a/call.h
-+++ b/call.h
-@@ -43,6 +43,8 @@ class QTcpServer;
- class QTcpSocket;
- class LegalInformationDialog;
- 
-+class CallHandler;
-+
- typedef int CallID;
- 
- class AutoSync {
-@@ -68,18 +70,21 @@ private:
- class Call : public QObject {
- 	Q_OBJECT
- public:
--	Call(QObject *, Skype *, CallID);
-+	Call(CallHandler *, Skype *, CallID);
- 	~Call();
- 	void startRecording(bool = false);
- 	void stopRecording(bool = true);
-+	void updateConfID();
- 	bool okToDelete() const;
- 	void setStatus(const QString &);
- 	QString getStatus() const { return status; }
- 	bool statusDone() const;
- 	bool statusActive() const;
- 	CallID getID() const { return id; }
-+	CallID getConfID() const { return confID; }
- 	void removeFile();
- 	void hideConfirmation(int);
-+	bool getIsRecording() const { return isRecording; }
- 
- signals:
- 	void startedCall(int, const QString &);
-@@ -99,10 +104,12 @@ private:
- 
- private:
- 	Skype *skype;
-+	CallHandler *handler;
- 	CallID id;
- 	QString status;
- 	QString skypeName;
- 	QString displayName;
-+	CallID confID;
- 	AudioFileWriter *writer;
- 	bool isRecording;
- 	int stereo;
-@@ -140,6 +147,8 @@ class CallHandler : public QObject {
- public:
- 	CallHandler(QObject *, Skype *);
- 	~CallHandler();
-+	void updateConfIDs();
-+	bool isConferenceRecording(CallID) const;
- 	void callCmd(const QStringList &);
- 
- signals:
--- 
-1.6.5.GIT
-
diff --git a/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix b/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix
deleted file mode 100644
index 57d1ffece71a2..0000000000000
--- a/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, cmake, lame, id3lib, libvorbis, qt4, libogg }:
-
-stdenv.mkDerivation {
-  name = "skype-call-recorder-0.8";
-  src = fetchurl {
-    url = "https://atdot.ch/scr/files/0.8/skype-call-recorder-0.8.tar.gz";
-    sha256 = "1iijkhq3aj9gr3bx6zl8ryvzkqcdhsm9yisimakwq0lnw0lgf5di";
-  };
-
-  # Keep an rpath reference to the used libogg
-  prePatch = ''
-    sed -i -e '/ADD_EXECUTABLE/aSET(LIBRARIES ''${LIBRARIES} ogg)' CMakeLists.txt
-  '';
-
-  # Better support for hosted conferences
-  patches = [ ./conference.patch ];
-
-  buildInputs = [ cmake lame id3lib libvorbis qt4 libogg ];
-  NIX_LDFLAGS = "-lvorbis";
-
-  meta = {
-    homepage = "http://atdot.ch/scr/";
-    description = "Open source tool to record your Skype calls on Linux";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [viric];
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index bc5fa0e1f1257..47a79c7309df4 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -7,7 +7,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.64.0.81";
+  version = "8.66.0.74";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -65,7 +65,7 @@ let
           "https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
           "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
         ];
-        sha256 = "0p6sp45kabm97p3hp3wp087b3k42m26ji99kzhpsz3n9vzjiczjh";
+        sha256 = "11bpzr3j6fa5x62xrx2q2sr1wxjrn0a37053j4prxjcvdrc5in8f";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index 2edccd8c019ea..5f367c76a928f 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -25,6 +25,7 @@
 , libpulseaudio
 , libuuid
 , libxcb
+, libxkbcommon
 , mesa
 , nspr
 , nss
@@ -39,9 +40,16 @@ let
   throwSystem = throw "Unsupported system: ${system}";
 
   pname = "slack";
+
+  x86_64-darwin-version = "4.11.1";
+  x86_64-darwin-sha256 = "0a5rq8zhgdckwxnyjv6nrgpnj682j1rd9yc4nwvsbvpzv15kmd35";
+
+  x86_64-linux-version = "4.11.1";
+  x86_64-linux-sha256 = "1r43g3xnla5aq38l3mpba8jb1gx9m2b6pr84prsclz27nr0rfm6g";
+
   version = {
-    x86_64-darwin = "4.9.0";
-    x86_64-linux = "4.9.1";
+    x86_64-darwin = x86_64-darwin-version;
+    x86_64-linux = x86_64-linux-version;
   }.${system} or throwSystem;
 
   src = let
@@ -49,11 +57,11 @@ let
   in {
     x86_64-darwin = fetchurl {
       url = "${base}/releases/macos/${version}/prod/x64/Slack-${version}-macOS.dmg";
-      sha256 = "007fflncvvclj4agb6g5hc5k9j5hhz1rpvlcfd8w31rn1vad4abk";
+      sha256 = x86_64-darwin-sha256;
     };
     x86_64-linux = fetchurl {
       url = "${base}/linux_releases/slack-desktop-${version}-amd64.deb";
-      sha256 = "1n8br5vlcnf13b8m6727hy4bkmd6wayss96ck4ba9zsjiyj7v74i";
+      sha256 = x86_64-linux-sha256;
     };
   }.${system} or throwSystem;
 
@@ -68,6 +76,8 @@ let
   linux = stdenv.mkDerivation rec {
     inherit pname version src meta;
 
+    passthru.updateScript = ./update.sh;
+
     rpath = stdenv.lib.makeLibraryPath [
       alsaLib
       at-spi2-atk
@@ -90,6 +100,7 @@ let
       libpulseaudio
       libuuid
       libxcb
+      libxkbcommon
       mesa
       nspr
       nss
@@ -152,6 +163,8 @@ let
   darwin = stdenv.mkDerivation {
     inherit pname version src meta;
 
+    passthru.updateScript = ./update.sh;
+
     nativeBuildInputs = [ undmg ];
 
     sourceRoot = "Slack.app";
diff --git a/pkgs/applications/networking/instant-messengers/slack/update.sh b/pkgs/applications/networking/instant-messengers/slack/update.sh
new file mode 100755
index 0000000000000..adef444110919
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/slack/update.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p curl gnused
+
+set -eou pipefail
+
+latest_linux_version=$(curl --silent https://slack.com/downloads/linux | sed -n 's/.*Version \([0-9\.]\+\).*/\1/p')
+latest_mac_version=$(curl --silent https://slack.com/downloads/mac | sed -n 's/.*Version \([0-9\.]\+\).*/\1/p')
+
+# Double check that the latest mac and linux versions are in sync.
+if [[ "$latest_linux_version" != "$latest_mac_version" ]]; then
+  echo "the latest linux ($latest_linux_version) and mac ($latest_mac_version) versions are not the same"
+  exit 1
+fi
+
+nixpkgs="$(git rev-parse --show-toplevel)"
+slack_nix="$nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix"
+nixpkgs_linux_version=$(cat "$slack_nix" | sed -n 's/.*x86_64-linux-version = \"\([0-9\.]\+\)\";.*/\1/p')
+nixpkgs_mac_version=$(cat "$slack_nix" | sed -n 's/.*x86_64-darwin-version = \"\([0-9\.]\+\)\";.*/\1/p')
+
+if [[ "$nixpkgs_linux_version" == "$latest_linux_version" && "$nixpkgs_mac_version" == "$latest_mac_version" ]]; then
+  echo "nixpkgs versions are all up to date!"
+  exit 0
+fi
+
+linux_url="https://downloads.slack-edge.com/linux_releases/slack-desktop-${latest_linux_version}-amd64.deb"
+mac_url="https://downloads.slack-edge.com/releases/macos/${latest_mac_version}/prod/x64/Slack-${latest_mac_version}-macOS.dmg"
+linux_sha256=$(nix-prefetch-url ${linux_url})
+mac_sha256=$(nix-prefetch-url ${mac_url})
+
+sed -i "s/x86_64-linux-version = \".*\"/x86_64-linux-version = \"${latest_linux_version}\"/" "$slack_nix"
+sed -i "s/x86_64-darwin-version = \".*\"/x86_64-darwin-version = \"${latest_mac_version}\"/" "$slack_nix"
+sed -i "s/x86_64-linux-sha256 = \".*\"/x86_64-linux-sha256 = \"${linux_sha256}\"/" "$slack_nix"
+sed -i "s/x86_64-darwin-sha256 = \".*\"/x86_64-darwin-sha256 = \"${mac_sha256}\"/" "$slack_nix"
+
+if ! nix-build -A slack "$nixpkgs"; then
+  echo "The updated slack failed to build."
+  exit 1
+fi
+
+echo "Successfully updated"
+echo "slack: $nixpkgs_linux_version -> $latest_linux_version"
diff --git a/pkgs/applications/networking/instant-messengers/spectral/default.nix b/pkgs/applications/networking/instant-messengers/spectral/default.nix
index 23659e8a6c9c8..b0819ade4f33a 100644
--- a/pkgs/applications/networking/instant-messengers/spectral/default.nix
+++ b/pkgs/applications/networking/instant-messengers/spectral/default.nix
@@ -31,7 +31,7 @@ in stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin qtmacextras;
 
   meta = with stdenv.lib; {
-    description = "A glossy cross-platform Matrix client.";
+    description = "A glossy cross-platform Matrix client";
     homepage = "https://spectral.im";
     license = licenses.gpl3;
     platforms = with platforms; linux ++ darwin;
diff --git a/pkgs/applications/networking/instant-messengers/ssh-chat/default.nix b/pkgs/applications/networking/instant-messengers/ssh-chat/default.nix
index 5806a269104bc..e964c654c708b 100644
--- a/pkgs/applications/networking/instant-messengers/ssh-chat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ssh-chat/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "ssh-chat";
-  version = "1.9";
+  version = "1.10";
 
   goPackagePath = "github.com/shazow/ssh-chat";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "shazow";
     repo = "ssh-chat";
     rev = "v${version}";
-    sha256 = "04yszan6a7x9498s80xymf7wd10530yjrxcdw4czbplyhjdigxlg";
+    sha256 = "e4COAyheY+mE5zltR1Ms2OJ3I8iG/N1CZ6D7I9PDW5U=";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix
index d58e27cc62bb8..bf864eb414750 100644
--- a/pkgs/applications/networking/instant-messengers/teams/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "teams";
-  version = "1.3.00.16851";
+  version = "1.3.00.25560";
 
   src = fetchurl {
     url = "https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb";
-    sha256 = "1mp4xq224nwv2ckb5zd7iv3yvkg3gv6mk9dvx3f60jgain7qr0r3";
+    sha256 = "0kpcd9q6v2qh0dzddykisdbi3djbxj2rl70wchlzrb6bx95hkzmc";
   };
 
   nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook ];
@@ -47,9 +47,13 @@ stdenv.mkDerivation rec {
     mv share $out/share
 
     substituteInPlace $out/share/applications/teams.desktop \
-      --replace /usr/bin/ $out/bin/
+      --replace /usr/bin/ ""
 
     ln -s $out/opt/teams/teams $out/bin/
+
+    # 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
   '';
 
   dontAutoPatchelf = true;
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
index 7d2586c670817..ba726d5b37710 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
@@ -33,13 +33,13 @@ in
 stdenv.mkDerivation rec {
   pname = "teamspeak-client";
 
-  version = "3.5.3";
+  version = "3.5.6";
 
   src = fetchurl {
     url = "https://files.teamspeak-services.com/releases/client/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run";
     sha256 = if stdenv.is64bit
-                then "0fp9v2rkxf0zgvf3wcx8nsmf93bzdc22xlqxk3r8cb0415adp76a"
-                else "0ni7hijprc8xygyz41568f1m9wwhl8lk5c3q28bm9m5r6qym39l6";
+                then "sha256:0hjai1bd4mq3g2dlyi0zkn8s4zlgxd38skw77mb78nc4di5gvgpg"
+                else "sha256:1y1c65nap91nv9xkvd96fagqbfl56p9n0rl6iac0i29bkysdmija";
   };
 
   # grab the plugin sdk for the desktop icon
@@ -99,15 +99,15 @@ stdenv.mkDerivation rec {
   dontStrip = true;
   dontPatchELF = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "The TeamSpeak voice communication tool";
     homepage = "https://teamspeak.com/";
     license = {
       fullName = "Teamspeak client license";
-      url = "http://sales.teamspeakusa.com/licensing.php";
+      url = "https://www.teamspeak.com/en/privacy-and-terms/";
       free = false;
     };
-    maintainers = [ stdenv.lib.maintainers.lhvwb ];
+    maintainers = with maintainers; [ lhvwb lukegb ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 7e932d74abc5e..6518f73a2299c 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,10 +1,10 @@
-{ mkDerivation, lib, fetchurl, fetchsvn
-, pkgconfig, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook
+{ mkDerivation, lib, fetchurl, callPackage
+, pkgconfig, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook, removeReferencesTo
 , qtbase, qtimageformats, gtk3, libsForQt5, enchant2, lz4, xxHash
 , dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
 , tl-expected, hunspell
 # TODO: Shouldn't be required:
-, pcre, xorg, utillinux, libselinux, libsepol, epoxy, at-spi2-core, libXtst
+, pcre, xorg, util-linux, libselinux, libsepol, epoxy, at-spi2-core, libXtst
 , xdg_utils
 }:
 
@@ -17,14 +17,17 @@ with lib;
 # - https://git.alpinelinux.org/aports/tree/testing/telegram-desktop/APKBUILD
 # - https://github.com/void-linux/void-packages/blob/master/srcpkgs/telegram-desktop/template
 
-mkDerivation rec {
+let
+  tg_owt = callPackage ./tg_owt.nix {};
+
+in mkDerivation rec {
   pname = "telegram-desktop";
-  version = "2.3.0";
+  version = "2.4.7";
 
   # Telegram-Desktop with submodules
   src = fetchurl {
     url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
-    sha256 = "0yga4p36jrc5m3d8q2y2g0505c2v540w5hgcscapl4xj9hyb21dw";
+    sha256 = "1j2v29952l0am357pqvvgzm2zghmwhlr833kgp85hssxpr9xy4vv";
   };
 
   postPatch = ''
@@ -38,14 +41,15 @@ mkDerivation rec {
   dontWrapGApps = true;
   dontWrapQtApps = true;
 
-  nativeBuildInputs = [ pkgconfig cmake ninja python3 wrapGAppsHook wrapQtAppsHook ];
+  nativeBuildInputs = [ pkgconfig cmake ninja python3 wrapGAppsHook wrapQtAppsHook removeReferencesTo ];
 
   buildInputs = [
     qtbase qtimageformats gtk3 libsForQt5.libdbusmenu enchant2 lz4 xxHash
     dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
     tl-expected hunspell
+    tg_owt
     # TODO: Shouldn't be required:
-    pcre xorg.libpthreadstubs xorg.libXdmcp utillinux libselinux libsepol epoxy at-spi2-core libXtst
+    pcre xorg.libpthreadstubs xorg.libXdmcp util-linux libselinux libsepol epoxy at-spi2-core libXtst
   ];
 
   enableParallelBuilding = true;
@@ -55,12 +59,6 @@ mkDerivation rec {
     # We're allowed to used the API ID of the Snap package:
     "-DTDESKTOP_API_ID=611335"
     "-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c"
-    "-DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF"
-    "-DDESKTOP_APP_USE_PACKAGED_VARIANT=OFF"
-    "-DDESKTOP_APP_USE_PACKAGED_GSL=OFF"
-    "-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME=ON"
-    "-DTDESKTOP_USE_PACKAGED_TGVOIP=OFF"
-    "-DDESKTOP_APP_DISABLE_WEBRTC_INTEGRATION=ON"
     #"-DDESKTOP_APP_SPECIAL_TARGET=\"\"" # TODO: Error when set to "": Bad special target '""'
     "-DTDESKTOP_LAUNCHER_BASENAME=telegramdesktop" # Note: This is the default
   ];
@@ -82,6 +80,9 @@ mkDerivation rec {
   # TODO: Package mapbox-variant
 
   postFixup = ''
+    # Nuke refs to `tg_owt` which is introduced by `__FILE__` in headers.
+    remove-references-to -t ${tg_owt} $out/bin/telegram-desktop
+
     # This is necessary to run Telegram in a pure environment.
     # We also use gappsWrapperArgs from wrapGAppsHook.
     wrapProgram $out/bin/telegram-desktop \
@@ -93,6 +94,10 @@ mkDerivation rec {
       -e "s,'XDG-RUNTIME-DIR',\"\''${XDG_RUNTIME_DIR:-/run/user/\$(id --user)}\","
   '';
 
+  passthru = {
+    inherit tg_owt;
+  };
+
   meta = {
     description = "Telegram Desktop messaging app";
     longDescription = ''
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
new file mode 100644
index 0000000000000..48499bf9f2c74
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchFromGitHub, cmake, ninja, yasm
+, pkg-config, libjpeg, openssl, libopus, ffmpeg, alsaLib, libpulseaudio
+}:
+
+let
+  rev = "e8fcae73947445db3d418fb7c20b964b59e14706";
+  sha256 = "0s2dd41r71aixhvympiqfks1liv7x78y60n0i87vmyxyfx449b5h";
+
+in stdenv.mkDerivation {
+  pname = "tg_owt";
+  version = "git-${rev}";
+
+  src = fetchFromGitHub {
+    owner = "desktop-app";
+    repo = "tg_owt";
+    inherit rev sha256;
+  };
+
+  nativeBuildInputs = [ pkg-config cmake ninja yasm ];
+
+  buildInputs = [ libjpeg openssl libopus ffmpeg alsaLib libpulseaudio ];
+
+  meta.license = lib.licenses.bsd3;
+}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
index a6e74443f2917..bc0657f7b1a73 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , fetchurl
-, fetchpatch
-, pkgconfig
+, pkg-config
 , dconf
 , telepathy-glib
 , python3
@@ -11,31 +10,21 @@
 
 stdenv.mkDerivation rec {
   pname = "telepathy-mission-control";
-  version = "5.16.5";
+  version = "5.16.6";
 
   outputs = [ "out" "lib" "dev" ];
 
   src = fetchurl {
     url = "https://telepathy.freedesktop.org/releases/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "00xxv38cfdirnfvgyd56m60j0nkmsv5fz6p2ydyzsychicxl6ssc";
+    sha256 = "0ibs575pfr0wmhfcw6ln6iz7gw2y45l3bah11rksf6g9jlwsxy1d";
   };
 
-  patches = [
-    # Fix property name (new GLib is stricter)
-    # https://github.com/NixOS/nixpkgs/pull/81626#issuecomment-601494939
-    # https://gitlab.gnome.org/GNOME/polari/-/merge_requests/141
-    (fetchpatch {
-      url = "https://github.com/TelepathyIM/telepathy-mission-control/commit/d8dab08fe8db137c6bbd8bbdc3d9b01d98c48910.patch";
-      sha256 = "1rchl0lyfj5c3yhl63spzvx9b6ny3967dlq4hgp9qhqn0zjra3sb";
-    })
-  ];
-
   buildInputs = [
     python3
   ]; # ToDo: optional stuff missing
 
   nativeBuildInputs = [
-    pkgconfig
+    pkg-config
     libxslt
     makeWrapper
   ];
@@ -57,7 +46,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "An account manager and channel dispatcher for the Telepathy framework";
     homepage = "https://telepathy.freedesktop.org/components/telepathy-mission-control/";
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Only;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix
index 540aa3fcea4da..8560a8b94473e 100644
--- a/pkgs/applications/networking/instant-messengers/toxic/default.nix
+++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "toxic";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner  = "Tox";
     repo   = "toxic";
     rev    = "v${version}";
-    sha256 = "09l2j3lwvrq7bf3051vjsnml9w63790ly3iylgf26gkrmld6k31w";
+    sha256 = "0p1cmj1kyp506y5xm04mhlznhf5wcylvgsn6b307ms91vjqs3fg2";
   };
 
   makeFlags = [ "PREFIX=$(out)"];
diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix
index e53b8c7391e8f..24ce75dc7974b 100644
--- a/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/viber/default.nix
@@ -1,15 +1,16 @@
 {fetchurl, stdenv, dpkg, makeWrapper,
- alsaLib, cups, curl, dbus, expat, fontconfig, freetype, glib, gst_all_1, harfbuzz, libcap,
- libpulseaudio, libxml2, libxslt, libGLU, libGL, nspr, nss, openssl, systemd, wayland, xorg, zlib, ...
+ alsaLib, cups, curl, dbus, expat, fontconfig, freetype, glib, gst_all_1,
+ harfbuzz, libcap, libGL, libGLU, libpulseaudio, libxkbcommon, libxml2, libxslt,
+ nspr, nss, openssl, systemd, wayland, xorg, zlib, ...
 }:
 
 stdenv.mkDerivation {
   pname = "viber";
-  version = "7.0.0.1035";
+  version = "13.3.1.22";
 
   src = fetchurl {
     url = "https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb";
-    sha256 = "06mp2wvqx4y6rd5gs2mh442qcykjrrvwnkhlpx0lara331i2p0lj";
+    sha256 = "0rs26x0lycavybn6k1hbb5kzms0zzcmxlrmi4g8k7vyafj6s8dqh";
   };
 
   buildInputs = [ dpkg makeWrapper ];
@@ -29,10 +30,11 @@ stdenv.mkDerivation {
       gst_all_1.gstreamer
       harfbuzz
       libcap
+      libGLU libGL
       libpulseaudio
+      libxkbcommon
       libxml2
       libxslt
-      libGLU libGL
       nspr
       nss
       openssl
diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index 44aa3a6ac66fb..b198b954bd40a 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.20.3912";
-    x86_64-linux = "3.20.2934";
+    x86_64-darwin = "3.21.3959";
+    x86_64-linux = "3.21.2936";
   }.${system} or throwSystem;
 
   sha256 = {
-    x86_64-darwin = "1crkdqzq3iccxbrqlrar4ai43qzjsgd4hvcajgzmz2y33f30xgqr";
-    x86_64-linux = "0z6vrhzrhrrnl3swjbxrbl1dhk2fx86s45n2z2in2shdlv08dcx7";
+    x86_64-darwin = "0fgzzqf1wnkjbcr0j0vjn6sggkz0z1kx6w4gi7gk4c4markdicm1";
+    x86_64-linux = "033804nkz1fdmq3p8iplrlx708x1fjlr09bmrpy36lqg5h7m3yd6";
   }.${system} or throwSystem;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 3109db89ff37c..887e3f458bc45 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -6,8 +6,9 @@
 , qtquickcontrols2, qtscript, qtsvg , qttools, qtwayland, qtwebchannel
 , qtwebengine
 # Runtime
-, coreutils, faac, pciutils, procps, utillinux
+, coreutils, faac, pciutils, procps, util-linux
 , pulseaudioSupport ? true, libpulseaudio ? null
+, alsaSupport ? stdenv.isLinux, alsaLib ? null
 }:
 
 assert pulseaudioSupport -> libpulseaudio != null;
@@ -15,11 +16,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
 let
   inherit (stdenv.lib) concatStringsSep makeBinPath optional;
 
-  version = "5.3.469451.0927";
+  version = "5.4.53350.1027";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
-      sha256 = "0qb9jx2zd5p6jk1g0xmh1f6xlf4gfl38ns6ixpc653qfimy8b0av";
+      sha256 = "11va3px42y81bwy10mxm7mk0kf2sni9gwb422pq9djck2dgchw5x";
     };
   };
 
@@ -45,7 +46,8 @@ in mkDerivation {
     qtscript qtwebchannel qtwebengine qtimageformats qtsvg qttools qtwayland
   ];
 
-  runtimeDependencies = optional pulseaudioSupport libpulseaudio;
+  runtimeDependencies = optional pulseaudioSupport libpulseaudio
+    ++ optional alsaSupport alsaLib;
 
   installPhase =
     let
@@ -103,7 +105,7 @@ in mkDerivation {
   dontWrapQtApps = true;
 
   qtWrapperArgs = [
-    ''--prefix PATH : ${makeBinPath [ coreutils glib.dev pciutils procps qttools.dev utillinux ]}''
+    ''--prefix PATH : ${makeBinPath [ coreutils glib.dev pciutils procps qttools.dev util-linux ]}''
     # --run "cd ${placeholder "out"}/share/zoom-us"
     # ^^ unfortunately, breaks run arg into multiple array elements, due to
     # some bad array propagation. We'll do that in bash below
diff --git a/pkgs/applications/networking/ipfs-cluster/default.nix b/pkgs/applications/networking/ipfs-cluster/default.nix
index 09ab75aae94cc..39f4d0d233432 100644
--- a/pkgs/applications/networking/ipfs-cluster/default.nix
+++ b/pkgs/applications/networking/ipfs-cluster/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoModule, fetchFromGitHub, fetchgx, gx-go }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "ipfs-cluster";
diff --git a/pkgs/applications/networking/ipfs-migrator/default.nix b/pkgs/applications/networking/ipfs-migrator/default.nix
index 4b1d1213b015a..d2339fbe8999e 100644
--- a/pkgs/applications/networking/ipfs-migrator/default.nix
+++ b/pkgs/applications/networking/ipfs-migrator/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ipfs-migrator";
-  version = "1.6.3";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "fs-repo-migrations";
     rev = "v${version}";
-    sha256 = "13ah5jk8n3wznvag6dda1ssgpqsdr9pdgvqm9gcsb7zzls89j9x5";
+    sha256 = "004qqcwcw55q13r3sr273dfa5zgxc275pcgqwihzbikl3i168d9f";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/irc/convos/default.nix b/pkgs/applications/networking/irc/convos/default.nix
index 9487780634daf..551953d433756 100644
--- a/pkgs/applications/networking/irc/convos/default.nix
+++ b/pkgs/applications/networking/irc/convos/default.nix
@@ -6,13 +6,13 @@ with stdenv.lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "convos";
-  version = "4.40";
+  version = "5.00";
 
   src = fetchFromGitHub {
     owner = "Nordaaker";
     repo = pname;
     rev = version;
-    sha256 = "0yyykr86d494xq1ga5ncr6jmdf0ny1r4gm0wzwn49bxn2x1l0xck";
+    sha256 = "0mdbh9q1vclwgnjwvb3z637s7v804h65zxazbhmd7qi3zislnhg1";
   };
 
   nativeBuildInputs = [ makeWrapper ]
diff --git a/pkgs/applications/networking/irc/ircdog/default.nix b/pkgs/applications/networking/irc/ircdog/default.nix
new file mode 100644
index 0000000000000..5badc69a3a277
--- /dev/null
+++ b/pkgs/applications/networking/irc/ircdog/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildGoPackage
+, fetchFromGitHub
+}:
+
+buildGoPackage rec {
+  pname = "ircdog";
+  version = "0.2.1";
+
+  goPackagePath = "github.com/goshuirc/ircdog";
+
+  src = fetchFromGitHub {
+    owner = "goshuirc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ppbznlkv7vajfbimxbyiq5y6pkfhm6ylhl408rwq1bawl28hpkl";
+    fetchSubmodules = true;
+  };
+
+  meta = with lib; {
+    description = "ircdog is a simple wrapper over the raw IRC protocol that can respond to pings, and interprets formatting codes";
+    homepage = "https://github.com/goshuirc/ircdog";
+    license = licenses.isc;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
+
+
diff --git a/pkgs/applications/networking/irc/tiny/default.nix b/pkgs/applications/networking/irc/tiny/default.nix
index d6b19fc77dd55..c51d93378c526 100644
--- a/pkgs/applications/networking/irc/tiny/default.nix
+++ b/pkgs/applications/networking/irc/tiny/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tiny";
-  version = "0.5.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "osa1";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1m57xsrc7lzkrm8k1wh3yx3in5bhd0qjzygxdwr8lvigpsiy5caa";
+    sha256 = "11kjndd4rzj83hzhcqvvp9nxjkana63m0h5r51xwp1ww9sn63km9";
   };
 
-  cargoSha256 = "1s93zxk85wa7zw8745ba1sgipal75w1y18nc9vca6sig4pzvvj41";
+  cargoSha256 = "079ns78acsff2qb59s7q0ck3j2fygcfqy8is6vfa71jyq7a0rjqm";
 
   RUSTC_BOOTSTRAP = 1;
 
@@ -31,6 +31,6 @@ rustPlatform.buildRustPackage rec {
     description = "A console IRC client";
     homepage = "https://github.com/osa1/tiny";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index ea00669006bd0..404810e5f2458 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -27,12 +27,12 @@ let
   in
     assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
     stdenv.mkDerivation rec {
-      version = "2.9";
+      version = "3.0";
       pname = "weechat";
 
       src = fetchurl {
         url = "https://weechat.org/files/src/weechat-${version}.tar.bz2";
-        sha256 = "12h4m4ag8cdab7q6f5n357mfg0fdayab1gcikncjkkid3bjd4r4g";
+        sha256 = "0ciddvyhyp38fnfsi1plj3z8d76f28lbzbxib2857vw7rzyqfcky";
       };
 
       outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
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 aca9a9a111d6c..0b60617cbb388 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
@@ -20,15 +20,17 @@ let
     requests
     python_magic
   ]);
+
+  version = "0.2.0";
 in buildPythonPackage {
   pname = "weechat-matrix";
-  version = "0.1.0";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "poljar";
     repo = "weechat-matrix";
-    rev = "65a5db7291439b6132e35e8cc09ed901614fabf6";
-    sha256 = "0m3k5vrv5ab1aw1mjd0r8d71anwqzvncvv9v5zx9xp1i188sdm8x";
+    rev = version;
+    hash = "sha256-qsTdF9mGHac4rPs53mgoOElcujicRNXbJ7GsoptWSGc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix
index 9a607b54b9cc0..45d41839a1ca0 100644
--- a/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -54,7 +54,7 @@ buildGoModule rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "aerc is an email client for your terminal";
+    description = "An email client for your terminal";
     homepage = "https://aerc-mail.org/";
     maintainers = with maintainers; [ tadeokondrak ];
     license = licenses.mit;
diff --git a/pkgs/applications/networking/mailreaders/alpine/default.nix b/pkgs/applications/networking/mailreaders/alpine/default.nix
index a85e4e4d04c04..83c2f3ca7ac3c 100644
--- a/pkgs/applications/networking/mailreaders/alpine/default.nix
+++ b/pkgs/applications/networking/mailreaders/alpine/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alpine";
-  version = "2.23";
+  version = "2.24";
 
   src = fetchurl {
     url = "http://alpine.x10host.com/alpine/release/src/${pname}-${version}.tar.xz";
-    sha256 = "0yqzm56lqgg8v66m09vqxjvpclli4pql5xj8zg7mynq0bhhn2fkr";
+    sha256 = "1vxw19nx10y7nx01d9i6gah2f3y5r2idbq56l13bdqi91bx9y6k5";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/bubblemail/default.nix b/pkgs/applications/networking/mailreaders/bubblemail/default.nix
new file mode 100644
index 0000000000000..d415eb4e51f2c
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/bubblemail/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, fetchFromGitLab
+, gettext
+, gtk3
+, python3Packages
+, gdk-pixbuf
+, libnotify
+, gst_all_1
+, libsecret
+, wrapGAppsHook
+, gsettings-desktop-schemas
+, gnome-online-accounts
+, glib
+, gobject-introspection
+, folks
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "bubblemail";
+  version = "1.3";
+
+  src = fetchFromGitLab {
+    domain = "framagit.org";
+    owner = "razer";
+    repo = "bubblemail";
+    rev = "v${version}";
+    sha256 = "FEIdEoZBlM28F5kSMoln7KACwetb8hp+qix1P+DIE8k=";
+  };
+
+  buildInputs = [
+    gtk3
+    gdk-pixbuf
+    glib
+    libnotify
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-bad
+    libsecret
+    gnome-online-accounts
+    folks
+  ];
+
+  nativeBuildInputs = [
+    gettext
+    wrapGAppsHook
+    python3Packages.pillow
+    # For setup-hook
+    gobject-introspection
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    gsettings-desktop-schemas
+    pygobject3
+    dbus-python
+    pyxdg
+  ];
+
+  # See https://nixos.org/nixpkgs/manual/#ssec-gnome-common-issues-double-wrapped
+  dontWrapGApps = true;
+
+  # https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  meta = with lib; {
+    description = "An extensible mail notification service.";
+    homepage = "http://bubblemail.free.fr/";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ doronbehar ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
index 26d8fb1aab80f..d3f5988b4747f 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    description = "Evolution connector for Microsoft Exchange Server protocols.";
+    description = "Evolution connector for Microsoft Exchange Server protocols";
     homepage = "https://gitlab.gnome.org/GNOME/evolution-ews";
     license = "LGPL-2.1-only OR LGPL-3.0-only"; # https://gitlab.gnome.org/GNOME/evolution-ews/issues/111
     maintainers = [ maintainers.dasj19 ];
diff --git a/pkgs/applications/networking/mailreaders/inboxer/default.nix b/pkgs/applications/networking/mailreaders/inboxer/default.nix
index 189ac1e6aaede..a11e576369933 100644
--- a/pkgs/applications/networking/mailreaders/inboxer/default.nix
+++ b/pkgs/applications/networking/mailreaders/inboxer/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, binutils, patchelf, makeWrapper
-, expat, xorg, gdk-pixbuf, glib, gnome2, cairo, atk, freetype
+, expat, xorg, gdk-pixbuf, glib, gnome2, cairo, atk, freetype, pango
 , fontconfig, dbus, nss, nspr, gtk2-x11, alsaLib, cups, libpulseaudio, udev }:
 
 stdenv.mkDerivation rec {
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
       xorg.libxcb
       gdk-pixbuf
       glib
-      gnome2.pango
+      pango
       gnome2.GConf
       expat
       stdenv.cc.cc.lib
diff --git a/pkgs/applications/networking/mailreaders/meli/default.nix b/pkgs/applications/networking/mailreaders/meli/default.nix
index 1abaeb6f16566..4f3a1ef3901fc 100644
--- a/pkgs/applications/networking/mailreaders/meli/default.nix
+++ b/pkgs/applications/networking/mailreaders/meli/default.nix
@@ -8,6 +8,7 @@
 , sqlite
 , file
 , gzip
+, makeWrapper
 , notmuch
   # Build with support for notmuch backend
 , withNotmuch ? true
@@ -27,7 +28,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoBuildFlags = lib.optional withNotmuch "--features=notmuch";
 
-  nativeBuildInputs = [ pkgconfig gzip ];
+  nativeBuildInputs = [ pkgconfig gzip makeWrapper ];
 
   buildInputs = [ openssl dbus sqlite ] ++ lib.optional withNotmuch notmuch;
 
@@ -39,6 +40,13 @@ rustPlatform.buildRustPackage rec {
     mkdir -p $out/share/man/man5
     gzip < docs/meli.conf.5 > $out/share/man/man5/meli.conf.5.gz
     gzip < docs/meli-themes.5 > $out/share/man/man5/meli-themes.5.gz
+  '' + lib.optionalString withNotmuch ''
+    # Fixes this runtime error when meli is started with notmuch configured:
+    # $ meli
+    # libnotmuch5 was not found in your system. Make sure it is installed and
+    # in the library paths.
+    # notmuch is not a valid mail backend
+    wrapProgram $out/bin/meli --set LD_LIBRARY_PATH ${notmuch}/lib
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 0b18a579e3bcc..0a6f3d1a1381f 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "1.14.7";
+  version = "2.0.2";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "0r58xnjgkw0kmnnzhb32mk5gkkani5kbi5krybpbag156fqhgxg4";
+    sha256 = "1j0i2jmlk5sc78af9flj3ynj0iiwa8biw7jgf12qm5lppsx1h4j7";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 8d3fb26b06c47..cf78da9a50484 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -6,14 +6,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "20200925";
+  version = "20201127";
   pname = "neomutt";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = version;
-    sha256 = "1q931n9sijq1iin3swzk57rz7qmy485hvr1fahy5i2wd1xx9yhb2";
+    sha256 = "sha256-BkDGKZmpwahDw1vD67CyWfxD93H83kcpv5JBGVL5F/o=";
   };
 
   buildInputs = [
@@ -22,18 +22,6 @@ stdenv.mkDerivation rec {
     mailcap sqlite
   ];
 
-  patches = [
-    # To be removed on next release. Fixes two bugs in the sidebar behavior.
-    (fetchpatch {
-      url = "https://github.com/neomutt/neomutt/commit/96753674e70edb695c1dc7af73e3317956c1b259.patch";
-      sha256 = "0yjmgdfhn8ra7bc3d40c3c29imgpgbhzphjxp6575llh9kw5h53s";
-    })
-    (fetchpatch {
-      url = "https://github.com/neomutt/neomutt/commit/6078653c9233644ca76c24bdb64e49bd443dd714.patch";
-      sha256 = "1s1p86bqpc9xq9z5qfh0mxxh6syps8shq0dm7bbkg1bz7qya5phy";
-    })
-  ];
-
   nativeBuildInputs = [
     docbook_xsl docbook_xml_dtd_42 gettext libxml2 libxslt.bin makeWrapper tcl which zlib w3m
   ];
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 71f4f52af4373..b052c839534fa 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.3.2";
+  version = "78.5.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/af/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/af/thunderbird-78.5.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "928a2aa2fefa53f088ca8122010732bf12ad660e6bd434cfa8062fd9450d6886";
+      sha256 = "011468ce085f2b5da8968b0622733d9fa25b47ec5e83b3bf4171323948aebb35";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ar/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/ar/thunderbird-78.5.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "fd7cda5dadb0233067e6ac1c19ea556fa0d4503ff04c0acaf75532bc149eabca";
+      sha256 = "661b0f1981b21df20b910f9d833d86c2812b189097ad7e1affc7338abb4f0c5c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ast/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/ast/thunderbird-78.5.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "cd23011acdae26cea8e37cab52e174f559e26c033e2a335bef1fb8fc74c3e6e7";
+      sha256 = "c1acc2b6d5dd22adeab3106c3c6925ce0c1a434e1d38b3f699fab4ca319eab14";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/be/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/be/thunderbird-78.5.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "4c8703308ad7f26bfe28e8d602a36a379d3f0baf0c14a421c02a73a034c2aaaa";
+      sha256 = "6f76341164c182dd8392d2d1abbb0408a3ab773a7389dbf1eb9bb4042d49f500";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/bg/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/bg/thunderbird-78.5.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "eea7b06f9d4dc03b675fc8f7c86eb72a900a88925a6d824983d513539d05f9fb";
+      sha256 = "4e97b38383d3a145645ca518449e37e42b5b25cbb98cb72f52657b4813f2b343";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/br/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/br/thunderbird-78.5.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "a28f92a5237722e00913d2a7b9bb597ce94094f4609c53af2cb6542251957247";
+      sha256 = "1d5bcb706bf2eb589aa0c64589fc5b22021977947d6e1099f339a46c55a56f84";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ca/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/ca/thunderbird-78.5.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "b574e593656c978689e924fa2f87591395f5fb0221dd8f5cb158356bd153c5ea";
+      sha256 = "3284b98707ee67977f148bd20d88750cc03799d9ba4aa5668c44901846fb8bcf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/cak/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/cak/thunderbird-78.5.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "3ad3fc4ec3b45be4b3ec5e8196b558d37c6a008139aa0c8e21ee1f734ae1c8dc";
+      sha256 = "7998d66eaf3edc4ee156dff06a30de8abae08ff66b380ea93d7ec0b827a0ea29";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/cs/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/cs/thunderbird-78.5.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "272f9f732266f6db4b446274c02210617b9c0ae7f406e589b68a3553f0ed8a1b";
+      sha256 = "5ba37c9dd7a1fc291bcc8b24ef025432dbd5f8a45ea2a4d1273177c6a7c8f6bd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/cy/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/cy/thunderbird-78.5.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "dd4cf52fcfefa2a45a19cedf6d6d8e3c083cfc7e87fd103afb472f31e6ae7c5b";
+      sha256 = "baaad2ef28f51b6f57fa6f0583e8e0125c50ea3b4c94dea5854faf9826aecad0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/da/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/da/thunderbird-78.5.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "bb8260f9fe22408f4811f5e7a93890ebd9a8f13ad50c511c507ffd3e00f1fc86";
+      sha256 = "6113ed3f5a36f16e64f0cc499eb683a0d7d377d0cce37882f46f203893b789d8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/de/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/de/thunderbird-78.5.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "20fabc41f2375020e00517065ad3316905bb619c727422196d49475a42f151cb";
+      sha256 = "81490e8cd8110285177c27f4057ff48ed1bdb55c94c83cc78e262b9cfcbd87ea";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/dsb/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/dsb/thunderbird-78.5.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "1b0deceff0d884da593e4e6b63cd544ddb680300db7eca1cb33ea556e63942a6";
+      sha256 = "4c6abc365842c902ff184b403a6c271760bd8e71da9efa90d30310e032b03729";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/el/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/el/thunderbird-78.5.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "02d7c36b55d3874b9b97ca70605af2bd665778f63620f70f3e8773c145fc89b1";
+      sha256 = "d492a83d3ddaf5beead77fd90a2334ca4ed90023d4c4ad478249a360f49cd5be";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/en-CA/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/en-CA/thunderbird-78.5.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "5696ae6535e5a7a8502a86a7834da57ba63b6b2b46e17b46b50535165c1cf9e7";
+      sha256 = "d7ddc5a22e89827067255726824e46d3355906441051c9faa04e6241cb833955";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/en-GB/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/en-GB/thunderbird-78.5.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "6e4c70de2f11a97487e0312af883bd966e3ef937867ebe11e0fd97fab70bb0ac";
+      sha256 = "10ff106bb933374661e3398ea4ce02c205242d1f7a647504161e295b5e3d1e11";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/en-US/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/en-US/thunderbird-78.5.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "09e237e75ea4b7c66f249344bd4774c69b9e271176280be3efd8b037699eaa3f";
+      sha256 = "297429aff3f10ab7c2859a37ec351b6b0a478495b8a34e8b492ae3473f052c7f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/es-AR/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/es-AR/thunderbird-78.5.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "1df4ab6d9ef48a36b90e2f37ca872a772d0e445a9c4d1428a65b3484facf142c";
+      sha256 = "c8bafb3476d127d28f565ea5dd749b0c870087f395e0aabfb848a004846498e9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/es-ES/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/es-ES/thunderbird-78.5.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "eb4f2ed2a4ceeeb7146f46a5b675949337aa6251b26714d9e7bf21213e4a81c0";
+      sha256 = "d8c5350627e7e6f48fbfa863bed1971254104ee299d81d1f36b99d6c6ee54313";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/et/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/et/thunderbird-78.5.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "1e52313ce19c31c0e8f1015b9bdf4f16ec81235673ce1305b1754dccc9d549c2";
+      sha256 = "f2a1001b0bb87965e40cd832102d2233b732273930d36715ff2db900b37c9ed2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/eu/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/eu/thunderbird-78.5.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "452c7663e25c88a19232afbadf5c04b2d9bde6095259b4b6e23961d134682d63";
+      sha256 = "30c6da377a8fc4596f6a67b189c1c9f7a9075df96ed3a59b4da7e0e77157d950";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/fa/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/fa/thunderbird-78.5.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "afd84bbe0728f69ded3ea9babf15d9fcc7cd52c242c2ac37dfcac14d0a700a45";
+      sha256 = "8f98dd01764a5d244c25c3c409b8dbcaa1d3daf7b3a970c60d3d37fd5ffc4294";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/fi/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/fi/thunderbird-78.5.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "fc2042612a6d4366ae5e7d86dd254a16865ec4fea4c47d242c9d170de738fc00";
+      sha256 = "be5f152b28ee21d916b184999023a1a5adddd1d2c7448e7eb37bd08948f6a14c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/fr/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/fr/thunderbird-78.5.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "55acb0633729a54eb594489b5e586626220abd51b36a18d57b78ea5cf44c74f9";
+      sha256 = "c1b2d725c43196dfe3f9bfd291dfae84ba392151222589d80e3921e627667d59";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/fy-NL/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/fy-NL/thunderbird-78.5.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "5789bc3439d9cad9b6a19b341ed20ef1addf0fd5e6e2b7fd811262a6b03efb42";
+      sha256 = "622c42950cc7d3889372b6e0c5833dc5c5f608ab23ca9962e0af67ce4b2f8ff5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ga-IE/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/ga-IE/thunderbird-78.5.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "25628528647077b5d002a362588f2cc51102a9e56cb69e1adab3ce6248934d50";
+      sha256 = "7293859380e07d362192cd9dcf88b8da04cde6e102f0b8d51a00021bf8fd9e98";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/gd/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/gd/thunderbird-78.5.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "f7a3d9ee0b0e7eb879ab213d2d607b4030a28e6f8c9fa8b9fa344dd800280873";
+      sha256 = "f54b892150bd49d028337a88d3a0b2df896a47a6904067b381d385281d2c681e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/gl/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/gl/thunderbird-78.5.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "81f43c7f99cc40d14292cf6bd2011067a626651018d1db9d8565171f8c1d3e9c";
+      sha256 = "58c88bf739fde7e0f7e279106622abde617a0aa267f34f1c10f8d886800dc50b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/he/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/he/thunderbird-78.5.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "4ba5ab71163107ab78a3b2a54d3069ef055cc052e64b253d12e8bdad1fc2b807";
+      sha256 = "8278c7580356c360c74ad161a6ee052e9398e39a2a5b75217ac0239db28ee4cf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/hr/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/hr/thunderbird-78.5.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "3bc0688dc2e7bffff8f57bd93dc6aa5442809372bfe76866ee73b0a255940d52";
+      sha256 = "b20bef1b7fab8d63c5cc6336dd59264e7c62a9a4c6f2db4232ed27624b26a3cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/hsb/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/hsb/thunderbird-78.5.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "d72f79876011e5b9b51aa5a6f13fcf94953aa2e88c78b622882ea7e488aebf2a";
+      sha256 = "ad4797a36c713b5026a4da131fc46f341cb8b72e5ad2f07a677bfedca8401163";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/hu/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/hu/thunderbird-78.5.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "758a16aa0d6e8531c29f32735958984af64861aba71b7bf4b1abd0f9317cd9e7";
+      sha256 = "1f3dea138c4f82f91b9aaf891b9959d1cdda273f20af811d967ed55058f69064";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/hy-AM/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/hy-AM/thunderbird-78.5.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "3c322f520d8e3aecfe0380235034322e3cd5b507bcec1b637ea5257dccc5675c";
+      sha256 = "836668531a555d9bd23fbb3c3b27cc647a327d02e6db1903248fc6b3d59c5dc1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/id/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/id/thunderbird-78.5.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "7e77937597d5a1edc597ef8e0531d7f221f7d94d8197a39949bb343a42e2787f";
+      sha256 = "1d74cd88cddf7b22ef8b19ee6cfedaaade15cecf68712ec8568888d0708c9c81";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/is/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/is/thunderbird-78.5.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "762cee2b1bf56c06d85b89d41b2e0dfe171ab69603d33f8b424ad1f0a38e74c2";
+      sha256 = "a6e3320211b207e9a36c6197dbf97e746d2e9e9b7bda444a8511550b5846d329";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/it/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/it/thunderbird-78.5.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "9af51c566595d8d55109144ed47ba334610afcbbfdd732c092ae4b5627c7f773";
+      sha256 = "f0e659e6888590394a652033f3d15b29ff9318b4c88faae51d6347f1441201b3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ja/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/ja/thunderbird-78.5.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "01f5ddf7c493d22cd30854209ada1936f9b22f0969c1fe16dca5782773a9c670";
+      sha256 = "a2ffc461e6d942222bef4229a820bf8536ef41dce83efc458d82476d5f98f5a4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ka/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/ka/thunderbird-78.5.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "57d567f1e3905ddecbfb56faf12f286d59b41e7243449d1890eed7d603b3edd1";
+      sha256 = "6a374b791fac25bfc3f10726d93497291163dd95b1372dc09db70c098822f4f9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/kab/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/kab/thunderbird-78.5.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "d8648f69c846b151014f3d4fe14ca52be266faf38dcbcc0bb1d86e2484626353";
+      sha256 = "a23dc5cfef7bcbe32c32363d0048813a24cfbb19f17c3041b23fc751936dcadc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/kk/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/kk/thunderbird-78.5.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "bae241982062ce0e5edadf6d413f3fc97b8d40fe20cb6690f4c637daf37235c3";
+      sha256 = "2187f7d763d34787de0d9870f746548459bd0a2ef0676286d2f9ce9bc9092ef1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ko/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/ko/thunderbird-78.5.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "827a13876cfbc38932cdd7530b6ce677f4a45d83cacf78afd1fd38b63a4e60f9";
+      sha256 = "ff88da9f6c77e8f5c1bebab542abc51266ba03d97fc5d22b86cf52a26db75e63";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/lt/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/lt/thunderbird-78.5.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "21a8895cc45fb8e952c36b0775010ce62a61e6cb5e2d971a3bbc764c1c4d24a0";
+      sha256 = "77531cad8587aba9c4091bd22c79e40e45d3c57083b5af3e54af3576ed45134b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ms/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/ms/thunderbird-78.5.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "94b48b693ec3acb9151f115eab1ac737d2f8a4a230f30c032e6a79377943b4fc";
+      sha256 = "aaa346d9bcc1cbd84beedb75c9949d4a2cd8bf80496a31e2018c2493fed68339";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/nb-NO/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/nb-NO/thunderbird-78.5.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "7501edb879e572a82c167d27d7d27332dd4ead3b7aa023c1f629b24c3a1f5bed";
+      sha256 = "dac3f1eeef73c247f9c79a09b7ffab1498be6c96865b5f21ee28d398941430a1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/nl/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/nl/thunderbird-78.5.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "9997c61862c1dd313e975924ae6eb6de920ae9d2314fef6190049d4de807b810";
+      sha256 = "e0b3df7064e08e34f85b9a83d2bef990f66ad0e1bc86f764139fc57d005d1aa3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/nn-NO/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/nn-NO/thunderbird-78.5.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "3d63ed34b338292396364cba16cc9bc2c8fe02f561b0230cc90f4db8757496f3";
+      sha256 = "eb420586e8be191ffc41f4a920506336cc9dccbf229c260a7f193cbe169a6da4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/pa-IN/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/pa-IN/thunderbird-78.5.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "3483353b87fe794035e20c38acb2ff138fdf0bc18622a392f30c35417a06098a";
+      sha256 = "12f7c97b130ce40dd1dcd00a16a20000113b7be33c87ab9002848439ce626abd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/pl/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/pl/thunderbird-78.5.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "2423e8b4598f5af27a901a9954f63815fc97bc03cd5eb54922eb8fe4c358ec7e";
+      sha256 = "5ad96dee4b422c820da8a76ab64e62e919c21d99b01b92f346a55acada7cf8ac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/pt-BR/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/pt-BR/thunderbird-78.5.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "da6be790a40fdaeced699e60e880f403ec65f5789a3db60f6c02afcef4a73095";
+      sha256 = "7d6568c067796f21079a4f6bf3374a1b91807a9b30270587cf815892d86e1590";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/pt-PT/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/pt-PT/thunderbird-78.5.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "b2468b71039ce92df55efd702da6d94ccb94ae86003426cda059b002ba11cfd8";
+      sha256 = "22058d65e2ba94f39ca6ada6750beacf2bacac0f296a34542fde01e897e4a4e2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/rm/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/rm/thunderbird-78.5.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "2acfc84306064c9938b36cbdac93e49d680ff56bb15235335751db85c328d6e6";
+      sha256 = "c61ff10e4260eb2650fc1a4e0ca8df6c4e4e2e9525168ceaef86a9b8b2ddba54";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ro/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/ro/thunderbird-78.5.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "88092024e915640ba75f79f853800e3bfc8ddc2a8d0414189128dab95f02d532";
+      sha256 = "2ec34bfd9fe4a0f0cf17f132146ab2a589c986a8b4317124f3bfc34ac48f732a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ru/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/ru/thunderbird-78.5.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "8b591cba711f89bb8c31919974328e189b02db7afea7a605601b8f245b6ad1e6";
+      sha256 = "b835dd1757f5cdc580a2b91f01a8089c1396d9eacee665fe9976019f8523fdec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/si/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/si/thunderbird-78.5.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "9cde54c8c6e1dedab2a1c39283a76c2a06842917a6f5649eb38de81efe4d3d2c";
+      sha256 = "3722e47d39024c13dd799e0c89cf79a1302817605f7025388cd5f62fea15d168";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/sk/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/sk/thunderbird-78.5.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "c46599c8c0a6fa8d9c8e52e360864fe8fa5d434ebba227055990d75f2df7feec";
+      sha256 = "4717620562c338f533053677d8956490d2d42abfd52beb6a0d41466ba3e72a36";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/sl/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/sl/thunderbird-78.5.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "5a232ec6a3968c9198e61f9ddfcd201f55c780428d8ae036161670784e414e13";
+      sha256 = "d712c5b3dddfa181877353d28667d410bea3a1f3d85e92dc058a3f3ac5ff4824";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/sq/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/sq/thunderbird-78.5.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "0fef369af4d7fcfcf306aa0246288aac58ec4e688c19e226b7e75a533dab14f4";
+      sha256 = "8443ae1161c6b3e807c9d4abc01824e894a11b6f6c9a52d3097b8301461ac0c3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/sr/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/sr/thunderbird-78.5.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "33343981ddb24b43edee0aa8200069e41bc40c0e1befac7d8177124070856bec";
+      sha256 = "13f093880d41748efa8f1566e5884d632f2fa80d4eb4f1a8dd1dc20ea626cee8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/sv-SE/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/sv-SE/thunderbird-78.5.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "ccb7a53d2e49fb53fd1affaa0f51d2ee41f33a84d3d2683c241d6391f0030786";
+      sha256 = "ee9d7262a8b6cd8460b2f1c4c0102b68f9a0983e1f021f2283ead172f07e3f37";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/th/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/th/thunderbird-78.5.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "913e379bfb662542f9ddcc1835aa668559ebfead343b4ba9302e8453ff89394f";
+      sha256 = "09cd7b862cb8caa511b6d550bb668f0fd51fdfee5b2f6a31814282785688e4de";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/tr/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/tr/thunderbird-78.5.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "0c316e292faae020d17e34f99fa8454616ed72a6e22f075096a961ebebb6a838";
+      sha256 = "0d9f63aa7b63d571d7414755bd4e8bc27b7c5fd093ee46ed0fc2db469940dcd5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/uk/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/uk/thunderbird-78.5.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "8d9d5da837d7600c2debdf5b565ebd0a4a95352229382debc7aeb9dac3be1f5b";
+      sha256 = "0aa64449381edeed7c37d18e03f74dac2f5038a6c3c5de9fa6ad037b139bb5bb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/uz/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/uz/thunderbird-78.5.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "f1188953fff54663ed02d4fae4855d4aea08694485c8e3fd50bd35fda5b7cfaa";
+      sha256 = "eabd24b838a072cb1aa9bebf3c573b3a6e7a364b759aebd62d12b16911956a00";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/vi/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/vi/thunderbird-78.5.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "69faa905db5349c0039ad34ab8a8d17ed94a4d17be4abd38670abb8ab3dc1744";
+      sha256 = "ce9b5afcb60fc0f17a384a9096b26626f3d3f570222910a46872688009aee262";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/zh-CN/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/zh-CN/thunderbird-78.5.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "187f8674521c338ca69586f993fad11a913935bb57e33015b4de9ff377d272e9";
+      sha256 = "9d69c7ef37282a7741d2392456c9ef5f5700fa1b718889e93bf7010fa99617db";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/zh-TW/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-x86_64/zh-TW/thunderbird-78.5.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "f71f2865d99a3898b8868a333d259ec653916093a8d87b32a68542ff5b025bbe";
+      sha256 = "6001d4e74212b72b2a3583438925d2431bb28994a661b4b47e77268e7790e526";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/af/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/af/thunderbird-78.5.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "354b1eaad2911860ccca8854f3284978f412452a7f190eeb0dca40f91c374a60";
+      sha256 = "e30adc9074f08e04a4477f59eff6af83bcdf22ccafa1aef5ace219a830c50f38";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ar/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/ar/thunderbird-78.5.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "2a61b943aee6cd0bbb479779f4b9cb01cc82a1090881523352264cd55bb9349b";
+      sha256 = "6d9456fd3f76de33a3f7c46d8197d83c36c832922b83de64cf4c2f5a56f7729d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ast/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/ast/thunderbird-78.5.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "b7c01f059333466686bf4c29c5506649d379ed7402d9a90fdfc8c94169287d81";
+      sha256 = "1427f7741ba5c5da163ecfce3053bdab7b14c8fc2e8c046c244f7eea6d015a2e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/be/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/be/thunderbird-78.5.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "bdb0bde174dc55c41434e1184c38f55de3692350b119b112eb0231f01af38d60";
+      sha256 = "97258efe6425869e4710c07e880df2a3f6c14d626e6512374043cff226f141fb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/bg/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/bg/thunderbird-78.5.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "4186901879e228c8bd8f88f893e4e15275fff93e6a8477600360c6f6be0cb205";
+      sha256 = "a30496a969a954525dbcf1ec0e94d8533baea3809e61d6c1c6e299f883d9676d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/br/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/br/thunderbird-78.5.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "5c7fe36626a5792aa2c58152631068bd3505486f085130d901270eaf33b42797";
+      sha256 = "16dfc1b869bb10ce7c56f1b22981586678cd81a42e13c4075ebc1da76728258d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ca/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/ca/thunderbird-78.5.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "fd19428f26fb4d2f6c616fe9ea950e6762a4867fbc28b96c5a0c22bfe89bdaa7";
+      sha256 = "bd29d4b8376355090adca0185194d3c9b6124c336bec0dababaa4a214f9945fb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/cak/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/cak/thunderbird-78.5.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "4968a288e8bb2d5badb5347dbcd4cbb5ef0619a213d043a892d267792410aa50";
+      sha256 = "b9723a8f8b8a61d01f09b18f1dff6529d22c89653586ad032831c87683da12b8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/cs/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/cs/thunderbird-78.5.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "8ba961d56d2227e310d5998bf099bbdbfb351b10ad7868de7e7a4d4d5bb7b324";
+      sha256 = "55ff98744b2f120a855c8a3bc435d39209504b7eda92560be40b8cb3fbe007f0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/cy/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/cy/thunderbird-78.5.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "0270ab63bbc9b94d7dd5a2740a71deaf9f1d2625224ad43d74d0f8c3e4a6cc05";
+      sha256 = "818a93f5a4f02e8cf7b3373c31c435dffca3fc1f86d5acc3fd4355bca21f9cf0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/da/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/da/thunderbird-78.5.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "2a3be495e24161babfe8186cf3d263705e890f036dd3121ef55bf3d700c06c25";
+      sha256 = "7df66098805f276e1498fa28c00aa7eaa8a8993b561261c54f7091a808ff6766";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/de/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/de/thunderbird-78.5.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "e4c831c8e858ef9b3f889c4b08ff091fad07c3850e92490de16988a5eb64730f";
+      sha256 = "194831e85294b41a4c1bcec8a2f20f337786054525d50e2fd6dfd6134385d2d8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/dsb/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/dsb/thunderbird-78.5.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "e52993b8fb4d9e8ab064ae3d79d58bb097d24af51d9821889da133e873e1de76";
+      sha256 = "e7344c6b2c90bca56adfca1619e1bfdc0e473f7230d4c1059d6516cee8d51759";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/el/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/el/thunderbird-78.5.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "6cdc29bb73eca549762edf7725327ab366c5c04340b387c43e5b4381849a01e8";
+      sha256 = "e2d4680ced58f78699f7bdc2c3493d6157cf2c9261aa697cd6092ed0687a7bbe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/en-CA/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/en-CA/thunderbird-78.5.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "7b98391dc4d42dd1b531400c2f9c73f3e8beefc70b6652e13a39fd2b61af845e";
+      sha256 = "6afd7bb703c62763b787d77b7467881f07d12e73d32d07c6461642307e3b9f5f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/en-GB/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/en-GB/thunderbird-78.5.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "e257688a0f461be4fcff0f2cca52cf6f63cb143ea4ace3bf81224cf46f0b594d";
+      sha256 = "78114f1a1dff6c5430b148fbb8707e03cd3ec1d05af48082755190ae45e94dd4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/en-US/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/en-US/thunderbird-78.5.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "d6c97eb8621ca662d2363d0a713f694ce6927d8674e85e3c7d45ad1d5a9429e1";
+      sha256 = "beb328b15c7b981b10f26cad6325a04257be20e25e819fa771f88fe5e5c98aec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/es-AR/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/es-AR/thunderbird-78.5.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "0db8cd545cd003399e462351137f30f5cbadda56bbe33d6367ea1469360ec3fc";
+      sha256 = "3c096d5225f8fe273b6f0adc119ea419cf60e7a7723fb3a63a6dec1be6e4c3ef";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/es-ES/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/es-ES/thunderbird-78.5.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "084e2846de52187b45d00b80b192ad4bfc5248a49d956e2eb2977e343a1d9d93";
+      sha256 = "68796cda86944bfb70207b79c162c0b2fdb66b17511300c799204fce58d2c2b2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/et/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/et/thunderbird-78.5.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "51c1a9105322783c689012dc6d5a875fd0f55611c5d79d2a6e3237ea81475d99";
+      sha256 = "6187058a289cb43e89916e484ac46c2359fc9c452d07dd4dab2e3ff8ae397c47";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/eu/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/eu/thunderbird-78.5.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "5f32ec406d4ed76b29f683e71f73fb67af098a206102043e5e624cd321d9d964";
+      sha256 = "ad587a3b25de553b69ab9aa61b9d99c4f4d7dd37b05672540eda7907b21f2857";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/fa/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/fa/thunderbird-78.5.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "b5a22adacde7e0b931f8daed54f7876dd1e1bb845e59558fe11960484369b7db";
+      sha256 = "8c06bbd83b5485b113bf4d0ca69af9ca21c7854ff38b19831eadae0c586dc606";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/fi/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/fi/thunderbird-78.5.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "de546582b1944aecdc75d62fb8da39158f3bcc9af54cd6b761db23056e9283f0";
+      sha256 = "bac6ecf3d22f6097f8cccb7da81866941426ee7bbb690937a2333b411a305fbd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/fr/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/fr/thunderbird-78.5.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "f0dc1417bf759bc29ff026a651bb7c3af6bbe4125e4f4ba683ea69d1b1255487";
+      sha256 = "859457a9c0bae23e4acf901d38de814858c60fe1a5e28ee897b2c2f4c86bc29a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/fy-NL/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/fy-NL/thunderbird-78.5.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "32ab772135e7d225b4523fe8a285528c62de998e83afebccd05ceaf19b421f45";
+      sha256 = "d5a91d212e0c9c6c533bd7f05edca3dbea93eba0bf0d34eabd1e9ba7c7138e8b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ga-IE/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/ga-IE/thunderbird-78.5.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "a7bc030ed725fd70d8a56c2f16c9ba3b6351d1b4774d122660a53b5e1a74bd1f";
+      sha256 = "980e053f0bcd5096753213fd6cc252be388312980032132bf912af2d4249278a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/gd/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/gd/thunderbird-78.5.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "f628c45bac5b24e4520c891afdde79b5235938ddb560803b29e9aa92c68577ca";
+      sha256 = "7b61b433d2f55191f7ecc63e04ceabcebcc85ab211553b71de575bbf14db05ee";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/gl/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/gl/thunderbird-78.5.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "621d843e20100641fed4fa2646d633ec4e78669113ff6627dcda9be07848a550";
+      sha256 = "2dbb2021eacf17f5d42d0f8edc32a3f4d0ae3964cc8b44b0875fcee9bbd8ebbe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/he/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/he/thunderbird-78.5.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "2e4916e0555d64e7a54a036612bf343e6f4307afddb4819f4b8839485a76f781";
+      sha256 = "b64fdf97d7f3029ffe465bbe621735970c73682cbde03935c2ad94325a7a77cf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/hr/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/hr/thunderbird-78.5.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "0f77b57b10b69eae4c3c6a3aeb11ff1cdd038bc01ab852d93d3201f4d868750c";
+      sha256 = "05606268efa91e8266a75f9f53dae8e8095fd70bc1095e2cc160171eb32e9a0a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/hsb/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/hsb/thunderbird-78.5.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "c66cd470205f8a54d2427c04300fa8198c771d803b06875b907d373c49962550";
+      sha256 = "8a2dd27b17cbfad0846a40b4863c72e0754137e4ae581998ff291b4428a069ef";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/hu/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/hu/thunderbird-78.5.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "8b9bb5089451dbf01e497a99a74e7baf5a1a23f32ef4aebfb2cdadd5f0862b29";
+      sha256 = "01daa9ab4f5d096a9a5e138db4debeee302fb875f885e644eea88103c5c62111";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/hy-AM/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/hy-AM/thunderbird-78.5.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "9d20881caa1b397d82bf55e9934c0aae7a202a3e10dfdf618e213fc5df7d657a";
+      sha256 = "69159084189c5700e5c8c27bf4cc0345fcafe0879b7f7cca285246a41e411578";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/id/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/id/thunderbird-78.5.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "2ec49e638f0f3cd7d18ad7e9e02827f9935161913ff84a9c99a1f98694293097";
+      sha256 = "798203a12f76cb3c698363da72b235fc9abfc5a68913f3265c9b17b14318eb73";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/is/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/is/thunderbird-78.5.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "d74bfe64c452883d71885185f4f4d896a31288822fd23e6b64b81dc0bf35413f";
+      sha256 = "19544548a0b0217f5f5256949d74897c784298dfe762174487ab2ba2557a55e7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/it/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/it/thunderbird-78.5.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "ced883ab4b3581e935e7f984c719854e3ba56477850173474c6bdc35ae40d7c6";
+      sha256 = "b1ae17f3d4533db0107ab280ec4e8ecc610db9581d44ed52d8ca87c821c37c1b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ja/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/ja/thunderbird-78.5.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "f4bd7f453e97f8647c95be13b9141d3a5ae9616c656da89af9805825105d0b38";
+      sha256 = "c16c27372c28063a06e31fc440294a655fb72bc033efbfd797d150e99e6ebaed";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ka/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/ka/thunderbird-78.5.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "d7bb492589f676319711227edcf413e0a8605b0361a107bb0bf57081f640ebce";
+      sha256 = "3057efd5078776f1690890d601153a73e2450051a0edb61e92d196318b644679";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/kab/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/kab/thunderbird-78.5.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "7f963664d38d0d8798bbcded7472cba761b8c0c87a83bb3829f5ca725151674f";
+      sha256 = "ce8010b362b601819fac825ce27b9efd8af8f0965f8f1cabb21bfcddb2ec7315";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/kk/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/kk/thunderbird-78.5.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "9c95f44d25b57fd09c45b65ce5d4dd19d9ffb3c1999fb240376b152f1427e631";
+      sha256 = "b73930d1508bdcaecfb9ce280f0d86fd5dc7a3d26160caa0eabbe47243956139";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ko/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/ko/thunderbird-78.5.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "f887280432dcef0606612e8abc1b7d7ff0b63776ead6d3c12c8be6d5f114c8cf";
+      sha256 = "24d6e557b6419bb3a512646edb6e1e4d01ce1c0e134b9bb9cc54ad5acb6a0675";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/lt/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/lt/thunderbird-78.5.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "08e427b38c00dc46c0f6cb4ea856f4b62ad8478cfdc75b24e4cfd453b6ad4e15";
+      sha256 = "c9dc7dc77a1c1acdc1e244e6b1201ecd3305b5c10ef946ceb880fb66d57c249a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ms/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/ms/thunderbird-78.5.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "dae2e31ee21de7d7bf4bc5bc3f45ce1f4ca650b7f45e47b7ae8d6c09800fb35a";
+      sha256 = "d3a0b9fc5b38de919515df9dc6ca696c7c70f629b192e8cae099a55432d466d3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/nb-NO/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/nb-NO/thunderbird-78.5.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "58199dcfbebbdcc122308140c128d56c6ca464e477c76c8ec39d22c6c444b6a9";
+      sha256 = "80f552a61288f1d1a6346d302919fd90f63c2d349a2d33921eac9a65c341a7d9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/nl/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/nl/thunderbird-78.5.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "c62325f5e2718f9e28554a7df99c3c68376d9c8208a62345a913e176e0388510";
+      sha256 = "89007857be04b59bf724a2f6c295c0948a885c8da8c7a7060922e04f616baf30";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/nn-NO/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/nn-NO/thunderbird-78.5.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "f560d924bf9d267f231ff0869c0770d2216690f8944df79b417f1d53dc814bd5";
+      sha256 = "b7a8060d3138a55a29374d890b326e77105f41e809053d34c24464a892c6bdbc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/pa-IN/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/pa-IN/thunderbird-78.5.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "bbb256675969e68bfd0595dbe6a1c3096622f8fb818d08759e7c3d1648745b32";
+      sha256 = "69f803555cc9b3ba7fbf638e101b76bef10a234747cd0764e906e5d2adbb9a97";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/pl/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/pl/thunderbird-78.5.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "a6fbe42f3a0be3e4e3df2156d668e1ac83c2e58abdf55ddce1469a90e2cec9dc";
+      sha256 = "4cd4da857d9cbdc5d89e07529d30df28a758c3c105160d2217b50206147c21e5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/pt-BR/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/pt-BR/thunderbird-78.5.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "bbf82582f1c9b214e4f47bb1f4cc03a0df32d779a2d2f752bef3329540c321a0";
+      sha256 = "43fca4ac927932589b58e60f7b3b1cdcdc1d73b6f9073e0c1eb2993527afe9be";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/pt-PT/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/pt-PT/thunderbird-78.5.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "3a5b00fd0a85cd5f613a8a98d8f41e8419335a9012e9f933e2adc7d2431e584a";
+      sha256 = "25591b73b7ae5d28441baeeae3fb3a5a47f36ea21db763b95782494fd8491122";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/rm/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/rm/thunderbird-78.5.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "3f3ff94e6cffa497146590b7efa57e6051ff8b815fac50e3339eff1c7ec51e8b";
+      sha256 = "14a0725f1083ab9c4baafe6944604cc5781cc9d3d44cbc406874b5ce01df785d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ro/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/ro/thunderbird-78.5.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "a9968a9b3e0c1323f9d08dc7efe31d77f0f5dacceceba1f9cdb737340b4a74c1";
+      sha256 = "f32af00602a13e262e6b34c8b5783b31a991dee72d82c841086d21e37d669dcd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ru/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/ru/thunderbird-78.5.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "e02d0d2b19787892b80ee987665e59129fd84d3f9c4e3cd139589cb41d25ae7a";
+      sha256 = "367e7865f1c5d10eb912fce96a34bf6ce25ca48e4ec9209bce8af06412be7781";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/si/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/si/thunderbird-78.5.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "bfd849787426abcdfdfc97933e4e9bb4360a96d1912d6c5f7f1ac6cd4d9370df";
+      sha256 = "da0494be7a26f0a531d108ca20a0bc9763860e44adaa6149ea059f46daabbe0c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/sk/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/sk/thunderbird-78.5.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "855560f2af08f0ee27c658cbf755973b7333604c731d9442418e75fc1bf50fa2";
+      sha256 = "1c5078f413207049a35c69be32c6996cad169cadc009b3f079b3adc8a932ca22";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/sl/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/sl/thunderbird-78.5.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "6f40769e00da9228e806304edc63e5730126937dbec77bc91d92e27ff28c0c15";
+      sha256 = "d8a5edf78b5a87c0b3baf0199231e6e9224e1afdf4eff05780b6c9b98657c1ef";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/sq/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/sq/thunderbird-78.5.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "067738a24e3f541d8e8c4515570ea61c5f17e95bcc4f61aff29db7e43f916106";
+      sha256 = "fefcb88c0c5f6ee62ba8224417a629d8a4f0c18b20fcb037c36af772b0d2b71c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/sr/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/sr/thunderbird-78.5.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "f067575a282cf0e59e87b9b6eed247d697249e181febe1713bde8555adc17cbd";
+      sha256 = "c42818c409de6447c1aa00f8aa6422a9fbb6fa16f01d5076331937c1145a4b87";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/sv-SE/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/sv-SE/thunderbird-78.5.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "c7c80cea8b8196da0bd13de4320715f14cce50a1bb9d5a529dc6c1ad48ec9535";
+      sha256 = "c27d87cde88f38f3611358b5fb3622611c38860ee37d1d90aaabcb4db614a031";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/th/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/th/thunderbird-78.5.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "667fc7175767cd7383cfe29e0774d5b302cead6670edc28032aadf1404d4ffbe";
+      sha256 = "df9b827a723675e70131d147fa6f6325f6e6a14a6b95f6f5b6fae4552501c6b0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/tr/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/tr/thunderbird-78.5.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "b41831259a05028054c80378f30cd3edd8b1cee012d7045b34d2a62f38ea4980";
+      sha256 = "7a9d6e1b5927c7c54b73062a59d366cd5153896a89e95005177fdf4b789eda42";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/uk/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/uk/thunderbird-78.5.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "c7ec76e5052c7a0b91a37bfa889a23c43503a5da5d672af2faf529e3bb626adf";
+      sha256 = "c421df09d5bbb5e4de273258757df28e5a6eba291a4eabbf28db71a50cb11da7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/uz/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/uz/thunderbird-78.5.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "c6b95124196c7865cc2d4f04a32e3bccad4a6d57ec8c9b4a4477f6cef2cc8d69";
+      sha256 = "296ca42b0c9f67ef0bb545f458334ec26e03be3327fd1e1b066d8324965704b2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/vi/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/vi/thunderbird-78.5.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "e20fce086298932fa45bf8627a2306e160395e9302b7c5b48092a8dbd2f78f2f";
+      sha256 = "46579d9723f5ccc84700c2544f3d1235db338471306d87a1caa0ac4fb337c8bd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/zh-CN/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/zh-CN/thunderbird-78.5.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "b5a9e98af41d24d12ab111356c035769c71ddd3d9a79a959584d4ae11ca8f706";
+      sha256 = "9bf0df6568eadf611891f49591975166da95eb4e78e1191eb3354a81637907d2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/zh-TW/thunderbird-78.3.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.0/linux-i686/zh-TW/thunderbird-78.5.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "9978aa31d4ef744921e43a116cdc2deead358f7db368ee64e90d37119819a4fc";
+      sha256 = "8fee4fd8980d551317fc8f98f29938034f5ff90b765e73ef8cd09f8fe68f90c8";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index dc2916eea876a..8295e8dbc8715 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -32,7 +32,7 @@
 , nasm
 , nodejs
 , nspr
-, nss
+, nss_3_53
 , pango
 , perl
 , pkgconfig
@@ -70,13 +70,13 @@ assert waylandSupport -> gtk3Support == true;
 
 stdenv.mkDerivation rec {
   pname = "thunderbird";
-  version = "78.3.2";
+  version = "78.5.0";
 
   src = fetchurl {
     url =
       "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
     sha512 =
-      "3c5b9400k3nrlabr2cvm5s3nz4ngy9qnz0j44mczh67v5xsmxi1hks8dx75s8sbbhnzmg0id4vlxfwd7i259p2xc039nkzkahmfn2wc";
+      "0c32dz8p7rrr0w13l2ynf9snj59ij1v2ld3s75vz1hvks4dikwgcbm44wmvmbisvgyfgzdsphafzlq3kz3j1ja30qjigl0dj709vr6s";
   };
 
   nativeBuildInputs = [
@@ -118,7 +118,7 @@ stdenv.mkDerivation rec {
     libvpx
     libwebp
     nspr
-    nss
+    nss_3_53
     pango
     perl
     sqlite
@@ -142,7 +142,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE =[
     "-I${glib.dev}/include/gio-unix-2.0"
-    "-I${nss.dev}/include/nss"
+    "-I${nss_3_53.dev}/include/nss"
   ];
 
   patches = [
diff --git a/pkgs/applications/networking/mkchromecast/default.nix b/pkgs/applications/networking/mkchromecast/default.nix
new file mode 100644
index 0000000000000..34f5be71ef358
--- /dev/null
+++ b/pkgs/applications/networking/mkchromecast/default.nix
@@ -0,0 +1,84 @@
+{ stdenv
+, fetchFromGitHub
+, python3Packages
+, sox
+, flac
+, lame
+, wrapQtAppsHook
+, ffmpeg
+, vorbis-tools
+, pulseaudio
+, nodejs
+, youtube-dl
+, opusTools
+, gst_all_1
+}:
+let packages = [
+  vorbis-tools
+  sox
+  flac
+  lame
+  opusTools
+  gst_all_1.gstreamer
+  nodejs
+  ffmpeg
+  youtube-dl
+] ++ stdenv.lib.optionals stdenv.isLinux [ pulseaudio ];
+
+in
+python3Packages.buildPythonApplication rec {
+  pname = "mkchromecast-unstable";
+  version = "2020-10-17";
+
+  src = fetchFromGitHub rec {
+    owner = "muammar";
+    repo = "mkchromecast";
+    rev = "eb9da74d887acd70ed179e6e4c0cbed4ff83de04";
+    sha256 = "1l565n3rmyghc4vzh80gazvdks1i97j1h94x33pkmxxlf9a9rncj";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    PyChromecast
+    psutil
+    mutagen
+    flask
+    netifaces
+    requests
+    pyqt5
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'platform.system() == "Darwin"' 'False' \
+      --replace 'platform.system() == "Linux"' 'True'
+  '';
+
+  nativeBuildInputs = [ wrapQtAppsHook ];
+
+  # Relies on an old version (0.7.7) of PyChromecast unavailable in Nixpkgs.
+  # Is also I/O bound and impure, testing an actual device, so we disable.
+  doCheck = false;
+
+  dontWrapQtApps = true;
+
+  makeWrapperArgs = [
+    "\${qtWrapperArgs[@]}"
+    "--prefix PATH : ${stdenv.lib.makeBinPath packages}"
+  ];
+
+  postInstall = ''
+    substituteInPlace $out/lib/${python3Packages.python.libPrefix}/site-packages/mkchromecast/video.py \
+      --replace '/usr/share/mkchromecast/nodejs/' '${placeholder "out"}/share/mkchromecast/nodejs/'
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    install -Dm 755 -t $out/bin bin/audiodevice
+    substituteInPlace $out/lib/${python3Packages.python.libPrefix}/site-packages/mkchromecast/audio_devices.py \
+      --replace './bin/audiodevice' '${placeholder "out"}/bin/audiodevice'
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://mkchromecast.com/";
+    description = "Cast macOS and Linux Audio/Video to your Google Cast and Sonos Devices";
+    license = licenses.mit;
+    maintainers = with maintainers; [ shou ];
+  };
+}
diff --git a/pkgs/applications/networking/mpop/default.nix b/pkgs/applications/networking/mpop/default.nix
index f6c979b5173be..e2f1f0e828d35 100644
--- a/pkgs/applications/networking/mpop/default.nix
+++ b/pkgs/applications/networking/mpop/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mpop";
-  version = "1.4.10";
+  version = "1.4.11";
 
   src = fetchurl {
     url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
-    sha256 = "1243hazpiwgvz2m3p48cdh0yw1019i6xjxgc7qyhmxcdy0inb6wy";
+    sha256 = "1gcxvhin5y0q47svqbf90r5aip0cgywm8sq6m84ygda7km8xylwv";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix
index ee5ea9d7e0303..bfa98b94d0a82 100644
--- a/pkgs/applications/networking/msmtp/default.nix
+++ b/pkgs/applications/networking/msmtp/default.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "msmtp";
-  version = "1.8.12";
+  version = "1.8.13";
 
   src = fetchurl {
     url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
-    sha256 = "0m33m5bc7ajmgy7vivnzj3mhybg37259hx79xypj769kfyafyvx8";
+    sha256 = "1fcv99nis7c6yc63n04cncjysv9jndrp469gcfxh54aiinmlbadd";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix
index aa7aaab29ac2e..e6f5d6ac4ea27 100644
--- a/pkgs/applications/networking/mullvad-vpn/default.nix
+++ b/pkgs/applications/networking/mullvad-vpn/default.nix
@@ -41,11 +41,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "mullvad-vpn";
-  version = "2020.5";
+  version = "2020.7";
 
   src = fetchurl {
     url = "https://www.mullvad.net/media/app/MullvadVPN-${version}_amd64.deb";
-    sha256 = "131z6qlpjwxcn5a62f1f147f2z1xg185jmr0vbin8h0dwa1182vn";
+    sha256 = "07vryz1nq8r4m5y9ry0d0v62ykz1cnnsv628x34yvwiyazbav4ri";
   };
 
   nativeBuildInputs = [
@@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/mullvad/mullvadvpn-app/blob/${version}/CHANGELOG.md";
     license = licenses.gpl3;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 
 }
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index c205f18e36638..fd2fb4a8fb7b9 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -133,14 +133,14 @@ let
   } source;
 
   source = rec {
-    version = "1.3.2";
+    version = "1.3.3";
 
     # Needs submodules
     src = fetchFromGitHub {
       owner = "mumble-voip";
       repo = "mumble";
       rev = version;
-      sha256 = "1ljn7h7dr9iyhvq7rdh0prl7hzn9d2hhnxv0ni6dha6f7d9qbfy6";
+      sha256 = "1jaq5bl5gdpzd4pskpcd2j93g2w320znn4s8ck8f4jz5f46da1bj";
       fetchSubmodules = true;
     };
   };
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index ed670be08a656..bfc928cfbc607 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -19,13 +19,13 @@
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.0.2";
+  version = "3.0.3";
 
   src = fetchFromGitHub {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "ROzaiRa9Odq4lXuHL7nbE0S49d0wxmDgm01qI1WM+WM=";
+    sha256 = "0idh8i71jivdjjs2y62l22yl3qxwgcr0hf53dad587bzgkkkr223";
   };
 
   patches = [
@@ -64,7 +64,7 @@ mkDerivation rec {
     description = "Nextcloud themed desktop client";
     homepage = "https://nextcloud.com";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ caugner ma27 ];
+    maintainers = with maintainers; [ caugner ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/nextdns/default.nix b/pkgs/applications/networking/nextdns/default.nix
index 8cdacf6d83801..dfe816fbf9340 100644
--- a/pkgs/applications/networking/nextdns/default.nix
+++ b/pkgs/applications/networking/nextdns/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "nextdns";
-  version = "1.8.3";
+  version = "1.9.4";
 
   src = fetchFromGitHub {
     owner = "nextdns";
     repo = "nextdns";
     rev = "v${version}";
-    sha256 = "1bl6ky258hnai4v7d0gskn6nf5sdsc3xlwl959iwzqhpp0j3q9xg";
+    sha256 = "0bd3nvisdg64wcy5syb1iyrv3vy4c6j8gy68dbf141hn1qiah1bg";
   };
 
   vendorSha256 = "09whpzsn16znyrknfm5zlhla253r69j6d751czza4c83m4r36swj";
diff --git a/pkgs/applications/networking/nym/default.nix b/pkgs/applications/networking/nym/default.nix
index 4dfe1dc549292..d85266f68d6e8 100644
--- a/pkgs/applications/networking/nym/default.nix
+++ b/pkgs/applications/networking/nym/default.nix
@@ -9,16 +9,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nym";
-  version = "0.7.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "nymtech";
     repo = "nym";
     rev = "v${version}";
-    sha256 = "05bxrpqwwf9spydac0q8sly65q8f1nk13i5fy3p5adr1phzxdnr8";
+    sha256 = "0wzk9qzjyax73lfjbbag412vw1fgk2wmhhry5hdlvdbkim42m5bn";
   };
 
-  cargoSha256 = "0mh8cwia86bm68b0wcrmnsq1af5cp6kj1j81nwxb03awnqpxc34n";
+  # fix outdated Cargo.lock
+  cargoPatches = [ (writeText "fix-nym-cargo-lock.patch" ''
+    --- a/Cargo.lock
+    +++ b/Cargo.lock
+    @@ -1826 +1826 @@
+    -version = "0.8.0"
+    +version = "0.8.1"
+  '') ];
+
+  cargoSha256 = "0zr5nzmglmvn6xfqgvipbzy8nw5cl3nf7zjmghkqdwi6zj9p9272";
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -26,20 +35,6 @@ rustPlatform.buildRustPackage rec {
 
   checkType = "debug";
 
-  /*
-  Nym's test presence::converting_mixnode_presence_into_topology_mixnode::it_returns_resolved_ip_on_resolvable_hostname tries to resolve nymtech.net.
-  Since there is no external DNS resolution available in the build sandbox, we point cargo and its children (that's what we remove the 'unsetenv' call for) to a hosts file in which we statically resolve nymtech.net.
-  */
-  preCheck = ''
-    export LD_PRELOAD=${libredirect.overrideAttrs (drv: {
-      postPatch = "sed -i -e /unsetenv/d libredirect.c";
-    })}/lib/libredirect.so
-    export NIX_REDIRECTS=/etc/hosts=${writeText "nym_resolve_test_hosts" "127.0.0.1 nymtech.net"}
-  '';
-
-  postCheck = "unset NIX_REDIRECTS LD_PRELOAD";
-
-
   passthru.updateScript = ./update.sh;
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/omping/default.nix b/pkgs/applications/networking/omping/default.nix
index dc52d767438b5..33d5a5f511118 100644
--- a/pkgs/applications/networking/omping/default.nix
+++ b/pkgs/applications/networking/omping/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "Open Multicast Ping (omping) is a tool for testing IPv4/IPv6 multicast connectivity on a LAN.";
+    description = "Open Multicast Ping (omping) is a tool for testing IPv4/IPv6 multicast connectivity on a LAN";
     license = licenses.mit;
     platforms = platforms.unix;
     inherit (src.meta) homepage;
diff --git a/pkgs/applications/networking/ostinato/default.nix b/pkgs/applications/networking/ostinato/default.nix
index dd1a7481d4636..0719c137aba5b 100644
--- a/pkgs/applications/networking/ostinato/default.nix
+++ b/pkgs/applications/networking/ostinato/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchFromGitHub, fetchurl, qmake4Hook, makeDesktopItem
-, qt4, protobuf, libpcap, wireshark, gzip, diffutils, gawk
+{ lib, mkDerivation, fetchFromGitHub, fetchurl, qmake, makeDesktopItem
+, qtbase, qtscript, protobuf, libpcap, wireshark, gzip, diffutils, gawk
+, libnl
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "ostinato";
-  version = "0.9";
+  version = "1.1";
 
   src = fetchFromGitHub  {
     owner  = "pstavirs";
     repo   = "ostinato";
     rev    = "v${version}";
-    sha256 = "109gxj6djdsk7rp1nxpx39kfi75xfl9p9qgffh1cpcdpbsbvq5bx";
+    sha256 = "0B3jOj5rA3/rD2gXS2praZImeP34zN06fOPy/IswXOg=";
   };
 
   ostinatoIcon = fetchurl {
@@ -18,14 +19,17 @@ stdenv.mkDerivation rec {
     sha256 = "f5c067823f2934e4d358d76f65a343efd69ad783a7aeabd7ab4ce3cd03490d70";
   };
 
-  buildInputs = [ qt4 protobuf libpcap ];
+  buildInputs = [ qtbase protobuf libpcap qtscript libnl ];
 
-  nativeBuildInputs = [ qmake4Hook ];
+  nativeBuildInputs = [ qmake ];
 
   patches = [ ./drone_ini.patch ];
+  prePatch = ''
+    sed -i 's|/usr/include/libnl3|${libnl.dev}/include/libnl3|' server/drone.pro
+  '';
 
   desktopItem = makeDesktopItem {
-    type          = "application";
+    type          = "Application";
     name          = "ostinato";
     desktopName   = "Ostinato";
     genericName   = "Packet/Traffic Generator and Analyzer";
@@ -59,7 +63,7 @@ stdenv.mkDerivation rec {
   # pdmlprotocol.h:23:25: fatal error: protocol.pb.h: No such file or directory
   enableParallelBuilding = false;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A packet traffic generator and analyzer";
     homepage    = "https://ostinato.org";
     license     = licenses.gpl3;
diff --git a/pkgs/applications/networking/p2p/freenet/default.nix b/pkgs/applications/networking/p2p/freenet/default.nix
index 017f059ff6c36..d50f5a6793160 100644
--- a/pkgs/applications/networking/p2p/freenet/default.nix
+++ b/pkgs/applications/networking/p2p/freenet/default.nix
@@ -74,7 +74,7 @@ in stdenv.mkDerivation {
     description = "Decentralised and censorship-resistant network";
     homepage = "https://freenetproject.org/";
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.doublec ];
+    maintainers = [ ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
index d38e9dc733653..364aeac550e62 100644
--- a/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
+++ b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
@@ -3,12 +3,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "6.8.5";
+  version = "6.8.8";
   pname = "frostwire";
 
   src = fetchurl {
     url = "https://dl.frostwire.com/frostwire/${version}/frostwire-${version}.amd64.tar.gz";
-    sha256 = "1zdas93w1yqg9yx8wlk7pxpdmwvg4ykg54ai7iyq9ir1zha8fyif";
+    sha256 = "0zxk0nv7m1k4n8n82h1rkh239a58s7j643lgqbw3qx45bdy4sf4k";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/p2p/magnetico/default.nix b/pkgs/applications/networking/p2p/magnetico/default.nix
index b8c1991c88f55..44084daf9c082 100644
--- a/pkgs/applications/networking/p2p/magnetico/default.nix
+++ b/pkgs/applications/networking/p2p/magnetico/default.nix
@@ -23,7 +23,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description  = "Autonomous (self-hosted) BitTorrent DHT search engine suite.";
+    description  = "Autonomous (self-hosted) BitTorrent DHT search engine suite";
     homepage     = "https://github.com/boramalper/magnetico";
     license      = licenses.agpl3;
     badPlatforms = platforms.darwin;
diff --git a/pkgs/applications/networking/p2p/opentracker/default.nix b/pkgs/applications/networking/p2p/opentracker/default.nix
index ed44ff24fecf1..82480b1ed21dc 100644
--- a/pkgs/applications/networking/p2p/opentracker/default.nix
+++ b/pkgs/applications/networking/p2p/opentracker/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
     homepage = "https://erdgeist.org/arts/software/opentracker/";
     license = licenses.beerware;
     platforms = platforms.linux;
-    description = "Bittorrent tracker project which aims for minimal resource usage and is intended to run at your wlan router.";
+    description = "Bittorrent tracker project which aims for minimal resource usage and is intended to run at your wlan router";
     maintainers = with maintainers; [ makefu ];
   };
 }
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 964752f3b85db..9b6a8bd707d54 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -10,13 +10,13 @@ with lib;
 
 mkDerivation rec {
   pname = "qbittorrent";
-  version = "4.2.5";
+  version = "4.3.0.1";
 
   src = fetchFromGitHub {
     owner = "qbittorrent";
     repo = "qbittorrent";
     rev = "release-${version}";
-    sha256 = "1n613ylg6i9gisgk0dbr2kpfasyizrkdjff1r8smd4vri2qrdksn";
+    sha256 = "068sf24mjvc2idimgpzvf7gjk8n9xrr3qqlqfx5j3j598ckm3yfp";
   };
 
   # NOTE: 2018-05-31: CMake is working but it is not officially supported
diff --git a/pkgs/applications/networking/p2p/soulseekqt/default.nix b/pkgs/applications/networking/p2p/soulseekqt/default.nix
index 2a8a06227133d..0d2fc0fd833cd 100644
--- a/pkgs/applications/networking/p2p/soulseekqt/default.nix
+++ b/pkgs/applications/networking/p2p/soulseekqt/default.nix
@@ -23,7 +23,7 @@ mkDerivation rec {
 
   dontBuild = true;
   dontConfigure = true;
-  
+
   nativeBuildInputs = [ imagemagick autoPatchelfHook desktop-file-utils ];
   buildInputs = [ qtmultimedia stdenv.cc.cc ];
 
@@ -53,7 +53,7 @@ mkDerivation rec {
     description = "Official Qt SoulSeek client";
     homepage = "https://www.slsknet.org";
     license = licenses.unfree;
-    maintainers = [ maintainers.genesis ];
+    maintainers = [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/pcloud/default.nix b/pkgs/applications/networking/pcloud/default.nix
new file mode 100644
index 0000000000000..7db633737d99e
--- /dev/null
+++ b/pkgs/applications/networking/pcloud/default.nix
@@ -0,0 +1,110 @@
+# Even though pCloud Drive is redistributed as a plug-n-play AppImage, it
+# requires a little bit more love because of the way Nix launches those types
+# of applications.
+#
+# What Nix does, simplifying a bit, is that it extracts an AppImage and starts
+# it via buildFHSUserEnv - this is totally fine for majority of apps, but makes
+# it by-design *impossible* to launch SUID wrappers [^1]; in case of pCloud,
+# it's fusermount.
+# (so pCloud starts, but silently fails to mount the FUSE drive.)
+#
+# To overcome this issue, we're manually extracting the AppImage and then treat
+# it as if it was a regular, good-ol' application requiring some standard path
+# fixes.
+#
+# ^1 https://github.com/NixOS/nixpkgs/issues/69338
+
+{
+  # Build dependencies
+  appimageTools, autoPatchelfHook, fetchzip, stdenv,
+
+  # Runtime dependencies;
+  # A few additional ones (e.g. Node) are already shipped together with the
+  # AppImage, so we don't have to duplicate them here.
+  alsaLib, dbus-glib, fuse, gnome3, libdbusmenu-gtk2, udev, nss
+}:
+
+let
+  pname = "pcloud";
+  version = "1.8.8";
+  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=XZpnMpXZPWyhRfdvXUhyY6XpdfmQmJiLRmmV&filename=${name}.zip";
+    hash = "sha256-z9OeFkH6EVthg5Dz2mN3jlBTMhiMt/6bUIYFeMO6EXk=";
+  };
+
+  appimageContents = appimageTools.extractType2 {
+    inherit name;
+    src = "${src}/pcloud";
+  };
+
+in stdenv.mkDerivation {
+  inherit pname version;
+
+  src = appimageContents;
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  buildInputs = [
+    alsaLib
+    dbus-glib
+    fuse
+    gnome3.gtk
+    libdbusmenu-gtk2
+    nss
+    udev
+  ];
+
+  installPhase = ''
+    mkdir "$out"
+    cp -ar . "$out/app"
+    cd "$out"
+
+    # Remove the AppImage runner, since users are not supposed to use it; the
+    # actual entry point is the `pcloud` binary
+    rm app/AppRun
+
+    # Adjust directory structure, so that the `.desktop` etc. files are
+    # properly detected
+    mkdir bin
+    mv app/usr/share .
+    mv app/usr/lib .
+
+    # Adjust the `.desktop` file
+    mkdir share/applications
+
+    substitute \
+      app/pcloud.desktop \
+      share/applications/pcloud.desktop \
+      --replace "Name=pcloud" "Name=pCloud" \
+      --replace "Exec=AppRun" "Exec=$out/bin/pcloud"
+
+    # Build the main executable
+    cat > bin/pcloud <<EOF
+    #! $SHELL -e
+
+    # This is required for the file picker dialog - otherwise pcloud just
+    # crashes
+    export XDG_DATA_DIRS="${gnome3.gsettings-desktop-schemas}/share/gsettings-schemas/${gnome3.gsettings-desktop-schemas.name}:${gnome3.gtk}/share/gsettings-schemas/${gnome3.gtk.name}:$XDG_DATA_DIRS"
+
+    exec "$out/app/pcloud"
+    EOF
+
+    chmod +x bin/pcloud
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Secure and simple to use cloud storage for your files; pCloud Drive, Electron Edition";
+    homepage = "https://www.pcloud.com/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ patryk27 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/protonmail-bridge/default.nix b/pkgs/applications/networking/protonmail-bridge/default.nix
index 7acf821dfcf4e..9b86c0847e3cf 100644
--- a/pkgs/applications/networking/protonmail-bridge/default.nix
+++ b/pkgs/applications/networking/protonmail-bridge/default.nix
@@ -1,73 +1,42 @@
-{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtsvg, qtdeclarative, qttools, qtgraphicaleffects, qtquickcontrols2, full
-, libsecret, libGL, libpulseaudio, glib, wrapQtAppsHook, mkDerivation }:
+{ lib, buildGoModule, fetchFromGitHub, pkg-config, libsecret }:
 
-let
-  version = "1.2.3-1";
-
-  description = ''
-    An application that runs on your computer in the background and seamlessly encrypts
-    and decrypts your mail as it enters and leaves your computer.
-
-    To work, gnome-keyring service must be enabled.
-  '';
-in mkDerivation {
+buildGoModule rec {
   pname = "protonmail-bridge";
-  inherit version;
+  version = "1.5.0";
 
-  src = fetchurl {
-    url = "https://protonmail.com/download/protonmail-bridge_${version}_amd64.deb";
-    sha256 = "032ggk9fvd19fbsqkzwzwh0hpyg8gpkrin71di7zsx6ias5innw1";
+  src = fetchFromGitHub {
+    owner = "ProtonMail";
+    repo = "proton-bridge";
+    rev = "br-${version}";
+    sha256 = "lHqwKlFwz9iO7LJMGFTGCauw12z/BKnQte2sVoVkOaY=";
   };
 
-  sourceRoot = ".";
+  vendorSha256 = "eP+7fqBctX9XLCoHVJDI/qaa5tocgg3F5nfUM6dzNRg=";
 
-  unpackCmd = ''
-    ar p "$src" data.tar.xz | tar xJ
-  '';
+  nativeBuildInputs = [ pkg-config ];
 
-  installPhase = ''
-    mkdir -p $out/{bin,lib,share}
+  buildInputs = [ libsecret ];
 
-    cp -r usr/lib/protonmail/bridge/protonmail-bridge $out/lib
-    cp -r usr/share $out
-
-    ln -s $out/lib/protonmail-bridge $out/bin/protonmail-bridge
+  buildPhase = ''
+    make BUILD_TIME= build-nogui
   '';
 
-  postFixup = let
-    rpath = lib.makeLibraryPath [
-      stdenv.cc.cc.lib
-      qtbase
-      qtquickcontrols2
-      qtgraphicaleffects
-      qtmultimedia
-      qtsvg
-      qtdeclarative
-      qttools
-      libGL
-      libsecret
-      libpulseaudio
-      glib
-    ];
-  in ''
-    patchelf \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${rpath}" \
-      $out/lib/protonmail-bridge
-
-    substituteInPlace $out/share/applications/ProtonMail_Bridge.desktop \
-      --replace "/usr/" "$out/" \
-      --replace "Exec=protonmail-bridge" "Exec=$out/bin/protonmail-bridge"
+  installPhase = ''
+    install -Dm555 Desktop-Bridge $out/bin/protonmail-bridge
   '';
 
-  buildInputs = [ qtbase qtquickcontrols2 qtmultimedia qtgraphicaleffects qtdeclarative ];
-
-  meta = with stdenv.lib; {
-    homepage = "https://www.protonmail.com/bridge";
-    license = licenses.mit;
-    platforms = [ "x86_64-linux" ];
+  meta = with lib; {
+    homepage = "https://github.com/ProtonMail/proton-bridge";
+    changelog = "https://github.com/ProtonMail/proton-bridge/blob/master/Changelog.md";
+    downloadPage = "https://github.com/ProtonMail/proton-bridge/releases";
+    license = licenses.gpl3;
     maintainers = with maintainers; [ lightdiscord ];
+    description = "Use your ProtonMail account with your local e-mail client";
+    longDescription = ''
+      An application that runs on your computer in the background and seamlessly encrypts
+      and decrypts your mail as it enters and leaves your computer.
 
-    inherit description;
+      To work, gnome-keyring service must be enabled.
+    '';
   };
 }
diff --git a/pkgs/applications/networking/protonvpn-gui/default.nix b/pkgs/applications/networking/protonvpn-gui/default.nix
index 38ffb42aaf81d..c2d7fbd10b15e 100644
--- a/pkgs/applications/networking/protonvpn-gui/default.nix
+++ b/pkgs/applications/networking/protonvpn-gui/default.nix
@@ -77,7 +77,7 @@ in python3Packages.buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "Linux GUI for ProtonVPN, written in Python.";
+    description = "Linux GUI for ProtonVPN, written in Python";
     homepage = "https://github.com/ProtonVPN/linux-gui";
     maintainers = with maintainers; [ offline ];
     license = licenses.gpl3;
diff --git a/pkgs/applications/networking/ps2client/default.nix b/pkgs/applications/networking/ps2client/default.nix
index 02b14b72c18b0..444a6dcf45c7d 100644
--- a/pkgs/applications/networking/ps2client/default.nix
+++ b/pkgs/applications/networking/ps2client/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   patchPhase = ''
    sed -i -e "s|-I/usr/include||g" -e "s|-I/usr/local/include||g" Makefile
   '';
-  
+
   installPhase = ''
     make PREFIX=$out install
   '';
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
     description = "Desktop clients to interact with ps2link and ps2netfs";
     homepage = "https://github.com/ps2dev/ps2client";
     license = licenses.bsd3;
-    maintainers = [ maintainers.genesis ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/remote/citrix-workspace/generic.nix b/pkgs/applications/networking/remote/citrix-workspace/generic.nix
index a2ad8b8129a69..c0dc438daacd3 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/generic.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/generic.nix
@@ -3,6 +3,7 @@
 , heimdal, krb5, libsoup, libvorbis, speex, openssl, zlib, xorg, pango, gtk2
 , gnome2, nss, nspr, gtk_engines, freetype, dconf, libpng12, libxml2
 , libjpeg, libredirect, tzdata, cacert, systemd, libcxxabi, libcxx, e2fsprogs, symlinkJoin
+, libpulseaudio, pcsclite
 
 , homepage, version, prefix, hash
 
@@ -97,10 +98,12 @@ stdenv.mkDerivation rec {
     xorg.libXScrnSaver
     xorg.libXtst
     zlib
-  ] ++ lib.optional (lib.versionOlder version "20.04") e2fsprogs;
+  ] ++ lib.optional (lib.versionOlder version "20.04") e2fsprogs
+    ++ lib.optional (lib.versionAtLeast version "20.10") libpulseaudio;
 
   runtimeDependencies = [
     glib
+    pcsclite
 
     xorg.libX11
     xorg.libXScrnSaver
@@ -146,8 +149,8 @@ stdenv.mkDerivation rec {
     export HOME=$(mktemp -d)
 
     # Run upstream installer in the store-path.
-    sed -i -e 's,^ANSWER="",ANSWER="$INSTALLER_YES",g' -e 's,/bin/true,true,g' ./linuxx64/hinst
-    ${stdenv.shell} linuxx64/hinst CDROM "$(pwd)"
+    sed -i -e 's,^ANSWER="",ANSWER="$INSTALLER_YES",g' -e 's,/bin/true,true,g' ./${prefix}/hinst
+    ${stdenv.shell} ${prefix}/hinst CDROM "$(pwd)"
 
     if [ -f "$ICAInstDir/util/setlog" ]; then
       chmod +x "$ICAInstDir/util/setlog"
@@ -169,8 +172,8 @@ stdenv.mkDerivation rec {
 
     # See https://developer-docs.citrix.com/projects/workspace-app-for-linux-oem-guide/en/latest/reference-information/#library-files
     # Those files are fallbacks to support older libwekit.so and libjpeg.so
-    rm $out/opt/citrix-icaclient/lib/ctxjpeg_fb_8.so
-    rm $out/opt/citrix-icaclient/lib/UIDialogLibWebKit.so
+    rm $out/opt/citrix-icaclient/lib/ctxjpeg_fb_8.so || true
+    rm $out/opt/citrix-icaclient/lib/UIDialogLibWebKit.so || true
 
     # We support only Gstreamer 1.0
     rm $ICAInstDir/util/{gst_aud_{play,read},gst_*0.10,libgstflatstm0.10.so}
diff --git a/pkgs/applications/networking/remote/citrix-workspace/sources.nix b/pkgs/applications/networking/remote/citrix-workspace/sources.nix
index abdd54f4af6e9..bbeed5b779c2b 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/sources.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/sources.nix
@@ -43,6 +43,17 @@ let
       x86hash   = "1b4gdmnnpa61ydiv2fnmap8cnfhskrq6swcs6i1nqrp5zvvkqrv4";
       x64suffix = "15";
       x86suffix = "15";
+      homepage  = "https://www.citrix.com/de-de/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-2009.html";
+    };
+
+    "20.10.0" = {
+      major     = "20";
+      minor     = "10";
+      patch     = "0";
+      x64hash   = "13g7r92mhwqwqkm6a4k4yn232ighkmxifs7j8wdi1yva0dvklqdf";
+      x86hash   = "04cr2da25v8x098ccyjwa47d4krk3jpldqkyf4kk2j3hwzbqh9yx";
+      x64suffix = "6";
+      x86suffix = "6";
       homepage  = "https://www.citrix.com/de-de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
     };
   };
@@ -52,7 +63,7 @@ let
   #
   # The lifespans of Citrix products can be found here:
   # https://www.citrix.com/support/product-lifecycle/milestones/receiver.html
-  unsupportedVersions = [ "19.6.0" "19.8.0" "19.10.0" "19.12.0" ];
+  unsupportedVersions = [ ];
 in {
   inherit supportedVersions unsupportedVersions;
 }
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 52f8decf170fe..a81356da252da 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, alsaLib, ffmpeg_3, glib, openssl
+{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, alsaLib, ffmpeg, glib, openssl
 , pcre, zlib, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama
 , libXrandr, libXrender, libXv, libXtst, libxkbcommon, libxkbfile, wayland
-, gstreamer, gst-plugins-base, gst-plugins-good, libunwind, orc, libxslt
-, libusb1, libpulseaudio ? null, cups ? null, pcsclite ? null, systemd ? null
-, buildServer ? true, nocaps ? false }:
+, gstreamer, gst-plugins-base, gst-plugins-good, libunwind, orc, libxslt, cairo
+, libusb1, libpulseaudio, cups, pcsclite, systemd, libjpeg_turbo
+, buildServer ? true, nocaps ? false
+}:
 
 let
   cmFlag = flag: if flag then "ON" else "OFF";
@@ -49,8 +50,9 @@ in stdenv.mkDerivation rec {
   buildInputs = with lib;
     [
       alsaLib
+      cairo
       cups
-      ffmpeg_3
+      ffmpeg
       glib
       gst-plugins-base
       gst-plugins-good
@@ -65,6 +67,7 @@ in stdenv.mkDerivation rec {
       libXrender
       libXtst
       libXv
+      libjpeg_turbo
       libpulseaudio
       libunwind
       libusb1
@@ -93,6 +96,9 @@ in stdenv.mkDerivation rec {
       WITH_PULSE = (libpulseaudio != null);
       WITH_SERVER = buildServer;
       WITH_SSE2 = stdenv.isx86_64;
+      WITH_VAAPI = true;
+      WITH_JPEG = (libjpeg_turbo != null);
+      WITH_CAIRO = (cairo != null);
     };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/remote/waypipe/default.nix b/pkgs/applications/networking/remote/waypipe/default.nix
index 0393a5bdeb838..2c91d6496a0ed 100644
--- a/pkgs/applications/networking/remote/waypipe/default.nix
+++ b/pkgs/applications/networking/remote/waypipe/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchFromGitLab
 , meson, ninja, pkg-config, scdoc
-, wayland, wayland-protocols, openssh
+, openssh
 , mesa, lz4, zstd, ffmpeg, libva
 }:
 
 stdenv.mkDerivation rec {
   pname = "waypipe-unstable";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "mstoeckl";
     repo = "waypipe";
     rev = "v${version}";
-    sha256 = "0bkmibask7gfnwkn3fg3l6zaabp95n1zsdnz3dwng8j80a0kakyy";
+    sha256 = "00skyxmbssfxksb8wlqdr8gajpysadirjcn230fd5gaf5msvllx7";
   };
 
   postPatch = ''
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ meson ninja pkg-config scdoc ];
 
   buildInputs = [
-    wayland wayland-protocols
     # Optional dependencies:
     mesa lz4 zstd ffmpeg libva
   ];
diff --git a/pkgs/applications/networking/remote/x2goserver/default.nix b/pkgs/applications/networking/remote/x2goserver/default.nix
index f69d2326217df..1c20bd8b7a828 100644
--- a/pkgs/applications/networking/remote/x2goserver/default.nix
+++ b/pkgs/applications/networking/remote/x2goserver/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, perlPackages, makeWrapper, perl, which, nx-libs
-, utillinux, coreutils, glibc, gawk, gnused, gnugrep, findutils, xorg
+, util-linux, coreutils, glibc, gawk, gnused, gnugrep, findutils, xorg
 , nettools, iproute, bc, procps, psmisc, lsof, pwgen, openssh, sshfs, bash
 }:
 
@@ -30,7 +30,7 @@ let
   ]);
 
   binaryDeps = [
-    perlEnv which nx-libs utillinux coreutils glibc.bin gawk gnused gnugrep
+    perlEnv which nx-libs util-linux coreutils glibc.bin gawk gnused gnugrep
     findutils nettools iproute bc procps psmisc lsof pwgen openssh sshfs
     xorg.xauth xorg.xinit xorg.xrandr xorg.xmodmap xorg.xwininfo xorg.fontutil
     xorg.xkbcomp xorg.setxkbmap
diff --git a/pkgs/applications/networking/resilio-sync/default.nix b/pkgs/applications/networking/resilio-sync/default.nix
index fe75268c0ecb3..537e0fc818004 100644
--- a/pkgs/applications/networking/resilio-sync/default.nix
+++ b/pkgs/applications/networking/resilio-sync/default.nix
@@ -4,6 +4,7 @@ let
   arch = {
     x86_64-linux = "x64";
     i686-linux = "i386";
+    aarch64-linux = "arm64";
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ];
 
@@ -16,6 +17,7 @@ in stdenv.mkDerivation rec {
     sha256 = {
       x86_64-linux = "0gar5lzv1v4yqmypwqsjnfb64vffzn8mw9vnjr733fgf1pmr57hf";
       i686-linux   = "1bws7r86h1vysjkhyvp2zk8yvxazmlczvhjlcayldskwq48iyv6w";
+      aarch64-linux = "0j8wk5cf8bcaaqxi8gnqf1mpv8nyfjyr4ibls7jnn2biqq767af2";
     }.${stdenv.hostPlatform.system};
   };
 
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
new file mode 100644
index 0000000000000..3fe3b6650755a
--- /dev/null
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "seaweedfs";
+  version = "2.12";
+
+  src = fetchFromGitHub {
+    owner = "chrislusf";
+    repo = "seaweedfs";
+    rev = version;
+    sha256 = "08jv8dbvdygcm6wzvncx89p8cn9mbjn4lj8rf5svq8lr7zk1rvpw";
+  };
+
+  vendorSha256 = "0g344dj325d35i0myrzhg5chspqnly40qp910ml6zrmp7iszc1mw";
+
+  subPackages = [ "weed" ];
+
+  meta = with lib; {
+    description = "Simple and highly scalable distributed file system";
+    homepage = "https://github.com/chrislusf/seaweedfs";
+    maintainers = [ maintainers.raboof ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/applications/networking/sniffers/sngrep/default.nix b/pkgs/applications/networking/sniffers/sngrep/default.nix
index b48edd69837a5..9dda62b3badbf 100644
--- a/pkgs/applications/networking/sniffers/sngrep/default.nix
+++ b/pkgs/applications/networking/sniffers/sngrep/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sngrep";
-  version = "1.4.7";
+  version = "1.4.8";
 
   src = fetchFromGitHub {
     owner = "irontec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1dx5l48m4634y0zi6wjky412g80lfxqq1nphv7pi1kwvm1k5m5ri";
+    sha256 = "0lnwsw9x4y4lr1yh749y24f71p5zsghwh5lp28zqfanw025mipf2";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index e9f676eae5589..d906b4459009d 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 stdenv.lib;
 
 let
-  version = "3.2.7";
+  version = "3.4.0";
   variant = if withQt then "qt" else "cli";
   pcap = libpcap.override { withBluez = stdenv.isLinux; };
 
@@ -21,7 +21,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "1nkhglzxj05hwhgzrgan4glv0z67rmasf9djx1dmqicwdnw2z0xy";
+    sha256 = "1bm8jj2rviis9j9l6nixvhxcfx362y9iphkxssgmiz2kj6yypr37";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/super-productivity/default.nix b/pkgs/applications/networking/super-productivity/default.nix
index 7a70375e42c9d..3c4c0f0df3c05 100644
--- a/pkgs/applications/networking/super-productivity/default.nix
+++ b/pkgs/applications/networking/super-productivity/default.nix
@@ -97,7 +97,7 @@ in stdenv.mkDerivation {
   dontStrip = true;
 
   meta = with stdenv.lib; {
-    description = "To Do List / Time Tracker with Jira Integration.";
+    description = "To Do List / Time Tracker with Jira Integration";
     homepage = "https://super-productivity.com";
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix
index 6244cd661d0ad..73b40ea111a78 100644
--- a/pkgs/applications/networking/sync/backintime/common.nix
+++ b/pkgs/applications/networking/sync/backintime/common.nix
@@ -1,34 +1,40 @@
-{stdenv, fetchFromGitHub, makeWrapper, gettext, python3Packages, rsync, cron, openssh, sshfs-fuse, encfs }:
+{stdenv, lib, fetchFromGitHub, makeWrapper, gettext,
+python3, rsync, cron, openssh, sshfs-fuse, encfs }:
 
 let
-  inherit (python3Packages) python dbus-python keyring;
-in stdenv.mkDerivation rec {
-  version = "1.1.24";
+  python' = python3.withPackages (ps: with ps; [ dbus-python keyring ]);
 
+  apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ];
+in stdenv.mkDerivation rec {
   pname = "backintime-common";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "bit-team";
     repo = "backintime";
     rev = "v${version}";
-    sha256 = "0g6gabnr60ns8854hijdddbanks7319q4n3fj5l6rc4xsq0qck18";
+    sha256 = "mBjheLY7DHs995heZmxVnDdvABkAROCjRJ4a/uJmJcg=";
   };
 
-  buildInputs = [ makeWrapper gettext python dbus-python keyring openssh cron rsync sshfs-fuse encfs ];
+  nativeBuildInputs = [ makeWrapper gettext ];
+  buildInputs = [ python' ];
 
   installFlags = [ "DEST=$(out)" ];
 
-  preConfigure = "cd common";
+  preConfigure = ''
+    cd common
+    substituteInPlace configure \
+      --replace "/.." "" \
+      --replace "share/backintime" "${python'.sitePackages}/backintime"
+    substituteInPlace "backintime" \
+      --replace "share" "${python'.sitePackages}"
+  '';
 
   dontAddPrefix = true;
 
-  preFixup =
-    ''
-    substituteInPlace "$out/bin/backintime" \
-      --replace "=\"/usr/share" "=\"$prefix/share"
+  preFixup = ''
     wrapProgram "$out/bin/backintime" \
-      --prefix PYTHONPATH : "$PYTHONPATH" \
-      --prefix PATH : "$prefix/bin:$PATH"
+      --prefix PATH : ${apps}
     '';
 
   meta = {
diff --git a/pkgs/applications/networking/sync/backintime/qt.nix b/pkgs/applications/networking/sync/backintime/qt.nix
new file mode 100644
index 0000000000000..a48d6d8804fe0
--- /dev/null
+++ b/pkgs/applications/networking/sync/backintime/qt.nix
@@ -0,0 +1,26 @@
+{ mkDerivation, backintime-common, python3 }:
+
+let
+  python' = python3.withPackages (ps: with ps; [ pyqt5 backintime-common ]);
+in
+mkDerivation {
+  inherit (backintime-common)
+    version src installFlags meta dontAddPrefix nativeBuildInputs;
+
+  pname = "backintime-qt";
+
+  buildInputs = [ python' backintime-common ];
+
+  preConfigure = ''
+    cd qt
+    substituteInPlace configure \
+      --replace '"/../etc' '"/etc'
+    substituteInPlace qttools.py \
+      --replace "__file__, os.pardir, os.pardir" '"${backintime-common}/${python'.sitePackages}/backintime"'
+  '';
+
+  preFixup = ''
+    wrapQtApp "$out/bin/backintime-qt" \
+      --prefix PATH : "${backintime-common}/bin:$PATH"
+  '';
+}
diff --git a/pkgs/applications/networking/sync/backintime/qt4.nix b/pkgs/applications/networking/sync/backintime/qt4.nix
deleted file mode 100644
index b72ddc8bae63b..0000000000000
--- a/pkgs/applications/networking/sync/backintime/qt4.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{stdenv, makeWrapper, gettext, backintime-common, python3, python3Packages }:
-
-stdenv.mkDerivation {
-  inherit (backintime-common) version src installFlags;
-
-  pname = "backintime-qt4";
-
-  buildInputs = [ makeWrapper gettext python3 python3Packages.pyqt4 backintime-common python3 ];
-
-  preConfigure = "cd qt4";
-  configureFlags = [  ];
-
-  dontAddPrefix = true;
-
-  preFixup =
-      ''
-      substituteInPlace "$out/bin/backintime-qt4" \
-        --replace "=\"/usr/share" "=\"$prefix/share"
-
-      wrapProgram "$out/bin/backintime-qt4" \
-        --prefix PYTHONPATH : "${backintime-common}/share/backintime/common:$PYTHONPATH" \
-        --prefix PATH : "${backintime-common}/bin:$PATH"
-    '';
-
-  meta = with stdenv.lib; {
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index bd68531db190a..2f0a9a044f24d 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "rclone";
-  version = "1.53.1";
+  version = "1.53.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1yi6n5ip680ydqhz8fnd0igr8dy7zzhpx37mdgahsfac7cwf6k0q";
+    sha256 = "10nimrq8nmpmfk2d4fx0yp916wk5q027m283izpshrbwvx7l6xx0";
   };
 
   vendorSha256 = "1l4iz31k1pylvf0zrp4nhxna70s1ma4981x6q1s3dhszjxil5c88";
diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix
index 2728d8484ef12..e07fecbf89363 100644
--- a/pkgs/applications/networking/sync/rsync/default.nix
+++ b/pkgs/applications/networking/sync/rsync/default.nix
@@ -35,7 +35,21 @@ stdenv.mkDerivation rec {
                 ++ stdenv.lib.optional enableXXHash xxHash;
   nativeBuildInputs = [perl];
 
-  configureFlags = ["--with-nobody-group=nogroup"];
+  configureFlags = [
+    "--with-nobody-group=nogroup"
+
+    # disable the included zlib explicitly as it otherwise still compiles and
+    # links them even.
+    "--with-included-zlib=no"
+  ]
+    # Work around issue with cross-compilation:
+    #     configure.sh: error: cannot run test program while cross compiling
+    # Remove once 3.2.4 or more recent is released.
+    # The following PR should fix the cross-compilation issue.
+    # Test using `nix-build -A pkgsCross.aarch64-multiplatform.rsync`.
+    # https://github.com/WayneD/rsync/commit/b7fab6f285ff0ff3816b109a8c3131b6ded0b484
+    ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--enable-simd=no"
+  ;
 
   passthru.tests = { inherit (nixosTests) rsyncd; };
 
diff --git a/pkgs/applications/networking/sync/unison/4.08-compatibility.patch b/pkgs/applications/networking/sync/unison/4.08-compatibility.patch
deleted file mode 100644
index a6921b516f072..0000000000000
--- a/pkgs/applications/networking/sync/unison/4.08-compatibility.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 29fa058c3127f3b47c347dcaa4a94f4c0e888308 Mon Sep 17 00:00:00 2001
-From: Jaap Boender <jaapb@kerguelen.org>
-Date: Thu, 21 Mar 2019 12:26:51 +0000
-Subject: [PATCH] Compatibility with OCaml 4.08
-
----
- src/files.ml                 | 2 +-
- src/recon.ml                 | 4 ++--
- src/system/system_generic.ml | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/files.ml b/src/files.ml
-index ba42ad57..5babf21e 100644
---- a/src/files.ml
-+++ b/src/files.ml
-@@ -722,7 +722,7 @@ let get_files_in_directory dir =
-   with End_of_file ->
-     dirh.System.closedir ()
-   end;
--  Sort.list (<) !files
-+  List.sort String.compare !files
- 
- let ls dir pattern =
-   Util.convertUnixErrorsToTransient
-diff --git a/src/recon.ml b/src/recon.ml
-index 5ed358d7..0df2cfe4 100644
---- a/src/recon.ml
-+++ b/src/recon.ml
-@@ -651,8 +651,8 @@ let rec reconcile
- 
- (* Sorts the paths so that they will be displayed in order                   *)
- let sortPaths pathUpdatesList =
--  Sort.list
--    (fun (p1, _) (p2, _) -> Path.compare p1 p2 <= 0)
-+  List.sort
-+    Path.compare
-     pathUpdatesList
- 
- let rec enterPath p1 p2 t =
-diff --git a/src/system/system_generic.ml b/src/system/system_generic.ml
-index ed8e18f3..0e28a781 100755
---- a/src/system/system_generic.ml
-+++ b/src/system/system_generic.ml
-@@ -47,7 +47,7 @@ let open_out_gen = open_out_gen
- let chmod = Unix.chmod
- let chown = Unix.chown
- let utimes = Unix.utimes
--let link = Unix.link
-+let link s d = Unix.link s d
- let openfile = Unix.openfile
- let opendir f =
-   let h = Unix.opendir f in
diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix
index 7b7318544c56a..36e8035092624 100644
--- a/pkgs/applications/networking/sync/unison/default.nix
+++ b/pkgs/applications/networking/sync/unison/default.nix
@@ -6,12 +6,12 @@ let inherit (ocamlPackages) ocaml lablgtk; in
 stdenv.mkDerivation (rec {
 
   pname = "unison";
-  version = "2.51.2";
+  version = "2.51.3";
   src = fetchFromGitHub {
     owner = "bcpierce00";
     repo = "unison";
     rev = "v${version}";
-    sha256 = "1bykiyc0dc5pkw8x370qkg2kygq9pq7yqzsgczd3y13b6ivm4sdq";
+    sha256 = "sha256-42hmdMwOYSWGiDCmhuqtpCWtvtyD2l+kA/bhHD/Qh5Y=";
   };
 
   buildInputs = [ ocaml makeWrapper ncurses ];
@@ -27,12 +27,6 @@ stdenv.mkDerivation (rec {
     "UISTYLE=${if enableX11 then "gtk2" else "text"}"
   ] ++ stdenv.lib.optional (!ocaml.nativeCompilers) "NATIVE=false";
 
-  patches = [
-    # NOTE: Only needed until Unison 2.51.3 is released!
-    ./4.08-compatibility.patch
-    ./lablgtk.patch
-  ];
-
   preInstall = "mkdir -p $out/bin";
 
   postInstall = if enableX11 then ''
diff --git a/pkgs/applications/networking/sync/unison/lablgtk.patch b/pkgs/applications/networking/sync/unison/lablgtk.patch
deleted file mode 100644
index 20c1db1b1166b..0000000000000
--- a/pkgs/applications/networking/sync/unison/lablgtk.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 2e7ea9481c6c3ff2ec513c39f73cfe15c0763c06 Mon Sep 17 00:00:00 2001
-From: daviddavid <geiger.david68210@gmail.com>
-Date: Mon, 26 Feb 2018 13:36:36 +0100
-Subject: [PATCH] Fix for lablgtk >= 2.18.6
-
----
- src/uigtk2.ml | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/uigtk2.ml b/src/uigtk2.ml
-index 2ba6d79..04c4da4 100644
---- a/src/uigtk2.ml
-+++ b/src/uigtk2.ml
-@@ -89,12 +89,12 @@ let fontItalic = lazy (Pango.Font.from_string "italic")
- (* This does not work with the current version of Lablgtk, due to a bug
- let icon =
-   GdkPixbuf.from_data ~width:48 ~height:48 ~has_alpha:true
--    (Gpointer.region_of_string Pixmaps.icon_data)
-+    (Gpointer.region_of_bytes Pixmaps.icon_data)
- *)
- let icon =
-   let p = GdkPixbuf.create ~width:48 ~height:48 ~has_alpha:true () in
-   Gpointer.blit
--    (Gpointer.region_of_string Pixmaps.icon_data) (GdkPixbuf.get_pixels p);
-+    (Gpointer.region_of_bytes Pixmaps.icon_data) (GdkPixbuf.get_pixels p);
-   p
- 
- let leftPtrWatch =
--- 
-2.25.1
-
diff --git a/pkgs/applications/networking/syncplay/default.nix b/pkgs/applications/networking/syncplay/default.nix
index ac242eb9dc9fc..da4551d7f5552 100644
--- a/pkgs/applications/networking/syncplay/default.nix
+++ b/pkgs/applications/networking/syncplay/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "syncplay";
-  version = "1.6.5";
+  version = "1.6.6";
 
   format = "other";
 
@@ -10,7 +10,7 @@ buildPythonApplication rec {
     owner = "Syncplay";
     repo = "syncplay";
     rev = "v${version}";
-    sha256 = "107dgsrjv95ww6gj77q89dirl604b2ljlpjg79gffm9c4gkmjj2m";
+    sha256 = "1wkxdp7dv5y1100awy949higvs5035ylfyl83qrp4lnimy3imw09";
   };
 
   propagatedBuildInputs = [ pyside2 shiboken2 twisted certifi ] ++ twisted.extras.tls;
diff --git a/pkgs/applications/networking/syncthing-gtk/default.nix b/pkgs/applications/networking/syncthing-gtk/default.nix
index cf1e053dd53c1..e432b37951725 100644
--- a/pkgs/applications/networking/syncthing-gtk/default.nix
+++ b/pkgs/applications/networking/syncthing-gtk/default.nix
@@ -59,6 +59,7 @@ buildPythonApplication rec {
     description = "GTK3 & python based GUI for Syncthing";
     homepage = "https://github.com/syncthing/syncthing-gtk";
     license = licenses.gpl2;
+    broken = true;
     maintainers = with maintainers; [ ];
     platforms = syncthing.meta.platforms;
   };
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 6dd71ed4b4b68..febb1e6998200 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -3,17 +3,17 @@
 let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
-      version = "1.10.0";
+      version = "1.11.1";
       name = "${stname}-${version}";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "0wi8k248qr80vscb5qwh2ygiyy2am9hh6a8c1il1h2702ch2cd45";
+        sha256 = "0x5a24r74i9am6a8k32qkb2vck28d2jiy4yhpb4g774m4krjqxd2";
       };
 
-      vendorSha256 = "0as1kn7bpgp5b82pf1bgr23az1qq8x85zr2zwgqsx57yjbc18658";
+      vendorSha256 = "0ap287996ix119hkdyssn2q2bqjbgdshi9a67hf8msfp7k9warm7";
 
       doCheck = false;
 
diff --git a/pkgs/applications/networking/termius/default.nix b/pkgs/applications/networking/termius/default.nix
index 92f667a4362d7..b4907cc8bdaee 100644
--- a/pkgs/applications/networking/termius/default.nix
+++ b/pkgs/applications/networking/termius/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "termius";
-  version = "6.4.1";
+  version = "7.1.0";
 
   src = fetchurl {
     url = "https://deb.termius.com/pool/main/t/termius-app/termius-app_${version}_amd64.deb";
-    sha256 = "0vc4nz5yndg11zhs92xj496jqzlhy9g0vqlfqrmg8zpf9ciygbqz";
+    sha256 = "801579b931ca0ad5340085df8863042336e2b609dd1cd6771260c873f3d2bb73";
   };
 
   desktopItem = makeDesktopItem {
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
     cp -R "opt" "$out"
     cp -R "usr/share" "$out/share"
     chmod -R g-w "$out"
-
     # Desktop file
     mkdir -p "$out/share/applications"
     cp "${desktopItem}/share/applications/"* "$out/share/applications"
@@ -64,7 +63,7 @@ stdenv.mkDerivation rec {
     homepage = "https://termius.com/";
     downloadPage = "https://termius.com/linux/";
     license = licenses.unfree;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne th0rgal ];
     platforms = [ "x86_64-linux" ];
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/testssl/default.nix b/pkgs/applications/networking/testssl/default.nix
index 197756d8ace43..0e0727d464f80 100644
--- a/pkgs/applications/networking/testssl/default.nix
+++ b/pkgs/applications/networking/testssl/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, makeWrapper, lib
-, dnsutils, coreutils, openssl, nettools, utillinux, procps }:
+, dnsutils, coreutils, openssl, nettools, util-linux, procps }:
 
 stdenv.mkDerivation rec {
   pname = "testssl.sh";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     nettools  # for hostname
     openssl   # for openssl
     procps    # for ps
-    utillinux # for hexdump
+    util-linux # for hexdump
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/networking/trebleshot/default.nix b/pkgs/applications/networking/trebleshot/default.nix
index 56ebe1873ae61..82f91ddef8b48 100644
--- a/pkgs/applications/networking/trebleshot/default.nix
+++ b/pkgs/applications/networking/trebleshot/default.nix
@@ -10,7 +10,7 @@ mkDerivation rec {
   src = fetchFromGitHub {
     owner = "genonbeta";
     repo = "TrebleShot-Desktop";
-    rev = "${version}";
+    rev = version;
     sha256 = "1k8wagw6arsi1lqkhn1nl6j11mb122vi1qs0q2np6nznwfy7pn1k";
   };
 
diff --git a/pkgs/applications/networking/tsung/default.nix b/pkgs/applications/networking/tsung/default.nix
index 6f5a3f3ec16fc..7b142249687da 100644
--- a/pkgs/applications/networking/tsung/default.nix
+++ b/pkgs/applications/networking/tsung/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = "http://tsung.erlang-projects.org/";
-    description = "A high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc.";
+    description = "A high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc";
     longDescription = ''
       Tsung is a distributed load testing tool. It is protocol-independent and
       can currently be used to stress HTTP, WebDAV, SOAP, PostgreSQL, MySQL,
diff --git a/pkgs/applications/networking/versus/default.nix b/pkgs/applications/networking/versus/default.nix
new file mode 100644
index 0000000000000..1d2875e44e643
--- /dev/null
+++ b/pkgs/applications/networking/versus/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "versus";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "INFURA";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0j5mj9gwwvgx7r1svlg14dpcqlj8mhwlf7sampkkih6bv92qfzcd";
+  };
+
+  vendorSha256 = "1d12jcd8crxcgp5m8ga691wivim4cg8cbz4pzgxp0jhzg9jplpbv";
+
+  meta = with stdenv.lib; {
+    description = "Benchmark multiple API endpoints against each other";
+    homepage = "https://github.com/INFURA/versus";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mmahut ];
+  };
+}
diff --git a/pkgs/applications/office/atlassian-cli/default.nix b/pkgs/applications/office/atlassian-cli/default.nix
index 3cc62aa9dc180..1140bb9bee20e 100644
--- a/pkgs/applications/office/atlassian-cli/default.nix
+++ b/pkgs/applications/office/atlassian-cli/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-cli";
-  version = "9.3.0";
-  
+  version = "9.4.0";
+
   src = fetchzip {
     url  = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
-    sha256  = "1gsyxkkx04vhp8ii0xbln5h8wa8x3dj6xhh2fyjs4z0bil4hlf06";
+    sha256  = "091dhjkx7fdn23cj7c4071swncsbmknpvidmmjzhc0355l3p4k2g";
     extraPostFetch = "chmod go-w $out";
   };
-  
+
   tools = [
     "agile"
     "bamboo"
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     "trello"
     "upm"
   ];
-  
+
   installPhase = ''
     mkdir -p $out/{bin,share/doc/atlassian-cli}
     cp -r lib $out/share/java
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
       chmod +x $out/bin/$tool
     done
   '';
-  
+
   meta = with stdenv.lib; {
     description = "An integrated family of CLI’s for various Atlassian applications";
     homepage = "https://bobswift.atlassian.net/wiki/spaces/ACLI/overview";
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index 40c4b77f1b6b6..a8ca37df36ad8 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -15,11 +15,11 @@
 
 mkDerivation rec {
   pname = "calligra";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-flViKGZdeeZ8Bi/RFz1mdvCw187v3W4bC8+aeB6nCVE=";
+    sha256 = "0iqi6z6gkck2afgy200dacgcspq7i7887alcj0pklm08hbmsdy5i";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/office/elementary-planner/default.nix b/pkgs/applications/office/elementary-planner/default.nix
index c1d459a2df584..671613ddd32ee 100644
--- a/pkgs/applications/office/elementary-planner/default.nix
+++ b/pkgs/applications/office/elementary-planner/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-planner";
-  version = "2.4.6";
+  version = "2.5.4";
 
   src = fetchFromGitHub {
     owner = "alainm23";
     repo = "planner";
     rev = version;
-    sha256 = "0z0997yq809wbsk3w21xv4fcrgqcb958qdlksf4rhzhfnwbiii6y";
+    sha256 = "0q5zmjh0d1mapgqb2a38spss280jkkc2n835kc7grzvs9jgq1k1k";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix
index b33d978ee0b9c..d6b404f9db780 100644
--- a/pkgs/applications/office/fava/default.nix
+++ b/pkgs/applications/office/fava/default.nix
@@ -5,11 +5,11 @@ let
 in
 buildPythonApplication rec {
   pname = "fava";
-  version = "1.15";
+  version = "1.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "037fhimfjiqay28wg7hd5sm7r0935ynw9d905iszn965ihr1qsgz";
+    sha256 = "436b6f9441a638f8028729c2a39c28433f7878c2af6ddb9bfccaeea9ea3086e1";
   };
 
   checkInputs = [ python3.pkgs.pytest ];
diff --git a/pkgs/applications/office/flexibee/default.nix b/pkgs/applications/office/flexibee/default.nix
index f33eb98a48b4f..52e58c5c9ccb2 100644
--- a/pkgs/applications/office/flexibee/default.nix
+++ b/pkgs/applications/office/flexibee/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 let
-  version = "2020.2.3.1";
+  version = "2020.2.6";
   majorVersion = builtins.substring 0 6 version;
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.flexibee.eu/download/${majorVersion}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "05wzg7f6mzz7r6azzb8k2g5fakkqh6762y4q9qkmrzbixvxh4lz9";
+    sha256 = "0vscz24sabk9xafywnx41rqhq6300ddsw1x95ibc7ghsgbkq80ja";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/office/grisbi/default.nix b/pkgs/applications/office/grisbi/default.nix
index d4f08b141a6ed..812218d0a38fa 100644
--- a/pkgs/applications/office/grisbi/default.nix
+++ b/pkgs/applications/office/grisbi/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    description = "A personnal accounting application.";
+    description = "A personnal accounting application";
     longDescription = ''
       Grisbi is an application written by French developers, so it perfectly
       respects French accounting rules. Grisbi can manage multiple accounts,
diff --git a/pkgs/applications/office/gtg/default.nix b/pkgs/applications/office/gtg/default.nix
index 9fccd574eb14b..31266bf6142b1 100644
--- a/pkgs/applications/office/gtg/default.nix
+++ b/pkgs/applications/office/gtg/default.nix
@@ -11,17 +11,18 @@
 , pango
 , gdk-pixbuf
 , gobject-introspection
+, xvfb_run
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "gtg";
-  version = "unstable-2020-09-16";
+  version = "unstable-2020-10-22";
 
   src = fetchFromGitHub {
     owner = "getting-things-gnome";
     repo = "gtg";
-    rev = "1be991c6d7f7b2e4b8ac16f82e8a07f9dce4272f";
-    sha256 = "1f5acpjwnp08c78dds7xm22qjzcfnx2qs121yvm3rswkh27s4n23";
+    rev = "144814c16723fa9d00e17e047df5d79ab443fc5f";
+    sha256 = "1lpanfbj8y8b6cqp92lgbvfs8irrc5bsdffzcjcycazv19qm7z2n";
   };
 
 
@@ -45,7 +46,6 @@ python3Packages.buildPythonApplication rec {
     pycairo
     pygobject3
     lxml
-    dbus-python
     gst-python
     liblarch
   ];
@@ -53,15 +53,16 @@ python3Packages.buildPythonApplication rec {
   checkInputs = with python3Packages; [
     nose
     mock
+    xvfb_run
   ];
 
   format = "other";
   strictDeps = false; # gobject-introspection does not run with strictDeps (https://github.com/NixOS/nixpkgs/issues/56943)
 
-  checkPhase = "python3 ../run-tests";
+  checkPhase = "xvfb-run python3 ../run-tests";
 
   meta = with stdenv.lib; {
-    description = " A personal tasks and TODO-list items organizer.";
+    description = " A personal tasks and TODO-list items organizer";
     longDescription = ''
       "Getting Things GNOME" (GTG) is a personal tasks and ToDo list organizer inspired by the "Getting Things Done" (GTD) methodology.
       GTG is intended to help you track everything you need to do and need to know, from small tasks to large projects.
diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix
index 7ab53b19ce048..03da2170b3d35 100644
--- a/pkgs/applications/office/jabref/default.nix
+++ b/pkgs/applications/office/jabref/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchurl, makeWrapper, makeDesktopItem, jdk, jre, wrapGAppsHook, gtk3, gsettings-desktop-schemas }:
+{ stdenv, fetchurl, makeWrapper, makeDesktopItem, wrapGAppsHook, gtk3, gsettings-desktop-schemas
+, zlib , libX11, libXext, libXi, libXrender, libXtst, libGL, alsaLib, libav, cairo, freetype, pango, gdk-pixbuf, glib }:
 
 stdenv.mkDerivation rec {
-  version = "3.8.1";
+  version = "5.1";
   pname = "jabref";
 
   src = fetchurl {
-    url = "https://github.com/JabRef/jabref/releases/download/v${version}/JabRef-${version}.jar";
-    sha256 = "11asfym74zdq46i217z5n6vc79gylcx8xn7nvwacfqmym0bz79cg";
+    url = "https://github.com/JabRef/jabref/releases/download/v${version}/JabRef-${version}-portable_linux.tar.gz";
+    sha256 = "04f612byrq3agzy26byg1sgrjyhcpa8xfj0ssh8dl8d8vnhx9742";
   };
 
+  preferLocalBuild = true;
+
   desktopItem = makeDesktopItem {
     comment =  meta.description;
     name = "jabref";
@@ -19,21 +22,44 @@ stdenv.mkDerivation rec {
     exec = "jabref";
   };
 
-  buildInputs = [ makeWrapper jdk wrapGAppsHook gtk3 gsettings-desktop-schemas ];
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
+  buildInputs = [ gsettings-desktop-schemas ] ++ systemLibs;
 
-  dontUnpack = true;
+  systemLibs = [ gtk3 zlib libX11 libXext libXi libXrender libXtst libGL alsaLib libav cairo freetype pango gdk-pixbuf glib ];
+  systemLibPaths = stdenv.lib.makeLibraryPath systemLibs;
 
   installPhase = ''
-    mkdir -p $out/bin $out/share/java $out/share/icons
+    mkdir -p $out/share/java $out/share/icons
 
-    cp -r ${desktopItem}/share/applications $out/share/
+    cp -r lib $out/lib
+
+    for f in $out/lib/runtime/bin/j*; do
+      patchelf \
+        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "${ stdenv.lib.makeLibraryPath [ zlib ]}:$out/lib/runtime/lib:$out/lib/runtime/lib/server" $f
+    done
+
+    for f in $out/lib/runtime/lib/*.so; do
+      patchelf \
+        --set-rpath "${systemLibPaths}:$out/lib/runtime/lib:$out/lib/runtime/lib/server" $f
+    done
 
-    jar xf $src images/icons/JabRef-icon-mac.svg
-    cp images/icons/JabRef-icon-mac.svg $out/share/icons/jabref.svg
+    # patching the libs in the JImage runtime image is quite impossible as there is no documented way
+    # of rebuilding the image after it has been extracted
+    # the image format itself is "intendedly not documented" - maybe one of the reasons the
+    # devolpers constantly broke "jimage recreate" and dropped it in OpenJDK 9 Build 116 Early Access
+    # so, for now just copy the image and provide our lib paths through the wrapper
+
+    makeWrapper $out/lib/runtime/bin/java $out/bin/jabref \
+      --add-flags '-Djava.library.path=${systemLibPaths}' --add-flags "-p $out/lib/app -m org.jabref/org.jabref.JabRefLauncher" \
+      --run 'export LD_LIBRARY_PATH=${systemLibPaths}:$LD_LIBRARY_PATH'
+
+    cp -r ${desktopItem}/share/applications $out/share/
 
-    ln -s $src $out/share/java/jabref-${version}.jar
-    makeWrapper ${jre}/bin/java $out/bin/jabref \
-      --add-flags "-jar $out/share/java/jabref-${version}.jar"
+    # we still need to unpack the runtime image to get the icon
+    mkdir unpacked
+    $out/lib/runtime/bin/jimage extract --dir=./unpacked lib/runtime/lib/modules
+    cp unpacked/org.jabref/icons/jabref.svg $out/share/icons/jabref.svg
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 111e50b7d454b..e0399a0cdf668 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -3,20 +3,21 @@
 , libxml2, db, curl, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk3, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, cups, xorg, libcmis, fontforge
-, openssl, gperf, cppunit, poppler, utillinux
+, openssl, gperf, cppunit, poppler, util-linux
 , librsvg, libGLU, libGL, bsh, CoinMP, libwps, libabw, libmysqlclient
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
-, libwpg, dbus-glib, clucene_core, libcdr, lcms, vigra
+, libwpg, dbus-glib, clucene_core, libcdr, lcms
 , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
 , fontsConf, pkgconfig, bluez5, libtool, carlito
 , libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf
-, librevenge, libe-book, libmwaw, glm, glew, gst_all_1
+, librevenge, libe-book, libmwaw, glm, gst_all_1
 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
 , gnome3, glib, ncurses, epoxy, gpgme
 , langs ? [ "ca" "cs" "da" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ro" "ru" "sl" "zh-CN" ]
 , withHelp ? true
 , kdeIntegration ? false, mkDerivation ? null, qtbase ? null, qtx11extras ? null
 , ki18n ? null, kconfig ? null, kcoreaddons ? null, kio ? null, kwindowsystem ? null
+, wrapQtAppsHook ? null
 , variant ? "fresh"
 } @ args:
 
@@ -303,8 +304,15 @@ in (mkDrv rec {
 
     mkdir -p $dev
     cp -r include $dev
+  '' + lib.optionalString kdeIntegration ''
+      for prog in $out/bin/*
+      do
+        wrapQtApp $prog
+      done
   '';
 
+  dontWrapQtApps = true;
+
   configureFlags = [
     (if withHelp then "" else "--without-help")
     "--with-boost=${boost.dev}"
@@ -382,7 +390,8 @@ in (mkDrv rec {
 
   nativeBuildInputs = [
     gdb fontforge autoconf automake bison pkgconfig libtool
-  ] ++ lib.optional (!kdeIntegration) wrapGAppsHook;
+  ] ++ lib.optional (!kdeIntegration) wrapGAppsHook
+    ++ lib.optional kdeIntegration wrapQtAppsHook;
 
   buildInputs = with xorg;
     [ ant ArchiveZip boost cairo clucene_core
@@ -394,10 +403,10 @@ in (mkDrv rec {
       libXdmcp libpthreadstubs libGLU libGL mythes
       glib libmysqlclient
       neon nspr nss openldap openssl pam perl pkgconfig poppler
-      python3 sane-backends unzip vigra which zip zlib
+      python3 sane-backends unzip which zip zlib
       mdds bluez5 libcmis libwps libabw libzmf
-      libxshmfence libatomic_ops graphite2 harfbuzz gpgme utillinux
-      librevenge libe-book libmwaw glm glew ncurses epoxy
+      libxshmfence libatomic_ops graphite2 harfbuzz gpgme util-linux
+      librevenge libe-book libmwaw glm ncurses epoxy
       libodfgen CoinMP librdf_rasqal gnome3.adwaita-icon-theme gettext
     ]
     ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ])
diff --git a/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py b/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py
index 636f36cb383b3..c4d15927f380d 100755
--- a/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py
+++ b/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py
@@ -53,10 +53,10 @@ def main():
 
 def construct_url(x):
     if x['brief']:
-        return 'http://dev-www.libreoffice.org/src/{}{}'.format(
+        return 'https://dev-www.libreoffice.org/src/{}{}'.format(
             x.get('subdir', ''), x['tarball'])
     else:
-        return 'http://dev-www.libreoffice.org/src/{}{}-{}'.format(
+        return 'https://dev-www.libreoffice.org/src/{}{}-{}'.format(
             x.get('subdir', ''), x['md5'], x['tarball'])
 
 
diff --git a/pkgs/applications/office/libreoffice/src-fresh/download.nix b/pkgs/applications/office/libreoffice/src-fresh/download.nix
index 16d754a18a14a..e26081a02980f 100644
--- a/pkgs/applications/office/libreoffice/src-fresh/download.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/download.nix
@@ -1,882 +1,882 @@
 [
   {
     name = "libabw-0.1.3.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libabw-0.1.3.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libabw-0.1.3.tar.xz";
     sha256 = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed";
     md5 = "";
     md5name = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed-libabw-0.1.3.tar.xz";
   }
   {
     name = "commons-logging-1.2-src.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz";
     sha256 = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81";
     md5 = "";
     md5name = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81-commons-logging-1.2-src.tar.gz";
   }
   {
     name = "apr-1.5.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
     sha256 = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb";
     md5 = "";
     md5name = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb-apr-1.5.2.tar.gz";
   }
   {
     name = "apr-util-1.5.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/apr-util-1.5.4.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/apr-util-1.5.4.tar.gz";
     sha256 = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19";
     md5 = "";
     md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz";
   }
   {
     name = "boost_1_71_0.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/boost_1_71_0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/boost_1_71_0.tar.xz";
     sha256 = "35e06a3bd7cd8f66be822c7d64e80c2b6051a181e9e897006917cb8e7988a543";
     md5 = "";
     md5name = "35e06a3bd7cd8f66be822c7d64e80c2b6051a181e9e897006917cb8e7988a543-boost_1_71_0.tar.xz";
   }
   {
     name = "breakpad.zip";
-    url = "http://dev-www.libreoffice.org/src/breakpad.zip";
+    url = "https://dev-www.libreoffice.org/src/breakpad.zip";
     sha256 = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9";
     md5 = "";
     md5name = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9-breakpad.zip";
   }
   {
     name = "bsh-2.0b6-src.zip";
-    url = "http://dev-www.libreoffice.org/src/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
+    url = "https://dev-www.libreoffice.org/src/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
     sha256 = "9e93c73e23aff644b17dfff656444474c14150e7f3b38b19635e622235e01c96";
     md5 = "beeca87be45ec87d241ddd0e1bad80c1";
     md5name = "beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
   }
   {
     name = "bzip2-1.0.6.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
     sha256 = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd";
     md5 = "00b516f4704d4a7cb50a1d97e6e8e15b";
     md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
   }
   {
     name = "cairo-1.16.0.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/cairo-1.16.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/cairo-1.16.0.tar.xz";
     sha256 = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331";
     md5 = "";
     md5name = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331-cairo-1.16.0.tar.xz";
   }
   {
     name = "libcdr-0.1.6.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libcdr-0.1.6.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libcdr-0.1.6.tar.xz";
     sha256 = "01cd00b04a030977e544433c2d127c997205332cd9b8e35ec0ee17110da7f861";
     md5 = "";
     md5name = "01cd00b04a030977e544433c2d127c997205332cd9b8e35ec0ee17110da7f861-libcdr-0.1.6.tar.xz";
   }
   {
     name = "clucene-core-2.3.3.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz";
     sha256 = "ddfdc433dd8ad31b5c5819cc4404a8d2127472a3b720d3e744e8c51d79732eab";
     md5 = "48d647fbd8ef8889e5a7f422c1bfda94";
     md5name = "48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz";
   }
   {
     name = "dtoa-20180411.tgz";
-    url = "http://dev-www.libreoffice.org/src/dtoa-20180411.tgz";
+    url = "https://dev-www.libreoffice.org/src/dtoa-20180411.tgz";
     sha256 = "0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4";
     md5 = "";
     md5name = "0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4-dtoa-20180411.tgz";
   }
   {
     name = "libcmis-0.5.2.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libcmis-0.5.2.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libcmis-0.5.2.tar.xz";
     sha256 = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2";
     md5 = "";
     md5name = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2-libcmis-0.5.2.tar.xz";
   }
   {
     name = "CoinMP-1.7.6.tgz";
-    url = "http://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz";
+    url = "https://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz";
     sha256 = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f";
     md5 = "";
     md5name = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f-CoinMP-1.7.6.tgz";
   }
   {
     name = "cppunit-1.15.1.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/cppunit-1.15.1.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/cppunit-1.15.1.tar.gz";
     sha256 = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7";
     md5 = "";
     md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz";
   }
   {
     name = "converttexttonumber-1-5-0.oxt";
-    url = "http://dev-www.libreoffice.org/src/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
+    url = "https://dev-www.libreoffice.org/src/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
     sha256 = "71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3";
     md5 = "1f467e5bb703f12cbbb09d5cf67ecf4a";
     md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
   }
   {
     name = "curl-7.71.0.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/curl-7.71.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/curl-7.71.0.tar.xz";
     sha256 = "cdf18794393d8bead915312708a9e5d819c6e9919de14b20d5c8e7987abd9772";
     md5 = "";
     md5name = "cdf18794393d8bead915312708a9e5d819c6e9919de14b20d5c8e7987abd9772-curl-7.71.0.tar.xz";
   }
   {
     name = "libe-book-0.1.3.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libe-book-0.1.3.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libe-book-0.1.3.tar.xz";
     sha256 = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9";
     md5 = "";
     md5name = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9-libe-book-0.1.3.tar.xz";
   }
   {
     name = "libepoxy-1.5.3.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libepoxy-1.5.3.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.3.tar.xz";
     sha256 = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d";
     md5 = "";
     md5name = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d-libepoxy-1.5.3.tar.xz";
   }
   {
     name = "epm-3.7.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
     sha256 = "b3fc4c5445de6c9a801504a3ea3efb2d4ea9d5a622c9427e716736e7713ddb91";
     md5 = "3ade8cfe7e59ca8e65052644fed9fca4";
     md5name = "3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
   }
   {
     name = "libepubgen-0.1.1.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libepubgen-0.1.1.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libepubgen-0.1.1.tar.xz";
     sha256 = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad";
     md5 = "";
     md5name = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad-libepubgen-0.1.1.tar.xz";
   }
   {
     name = "libetonyek-0.1.9.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.9.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libetonyek-0.1.9.tar.xz";
     sha256 = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a";
     md5 = "";
     md5name = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a-libetonyek-0.1.9.tar.xz";
   }
   {
     name = "expat-2.2.8.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/expat-2.2.8.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/expat-2.2.8.tar.bz2";
     sha256 = "9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102";
     md5 = "";
     md5name = "9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102-expat-2.2.8.tar.bz2";
   }
   {
     name = "Firebird-3.0.0.32483-0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/Firebird-3.0.0.32483-0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/Firebird-3.0.0.32483-0.tar.bz2";
     sha256 = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860";
     md5 = "";
     md5name = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860-Firebird-3.0.0.32483-0.tar.bz2";
   }
   {
     name = "fontconfig-2.13.91.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/fontconfig-2.13.91.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/fontconfig-2.13.91.tar.gz";
     sha256 = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5";
     md5 = "";
     md5name = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5-fontconfig-2.13.91.tar.gz";
   }
   {
     name = "crosextrafonts-20130214.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz";
     sha256 = "c48d1c2fd613c9c06c959c34da7b8388059e2408d2bb19845dc3ed35f76e4d09";
     md5 = "368f114c078f94214a308a74c7e991bc";
     md5name = "368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz";
   }
   {
     name = "crosextrafonts-carlito-20130920.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
     sha256 = "4bd12b6cbc321c1cf16da76e2c585c925ce956a08067ae6f6c64eff6ccfdaf5a";
     md5 = "c74b7223abe75949b4af367942d96c7a";
     md5name = "c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
   }
   {
     name = "dejavu-fonts-ttf-2.37.zip";
-    url = "http://dev-www.libreoffice.org/src/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
+    url = "https://dev-www.libreoffice.org/src/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
     sha256 = "7576310b219e04159d35ff61dd4a4ec4cdba4f35c00e002a136f00e96a908b0a";
     md5 = "33e1e61fab06a547851ed308b4ffef42";
     md5name = "33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
   }
   {
     name = "GentiumBasic_1102.zip";
-    url = "http://dev-www.libreoffice.org/src/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
+    url = "https://dev-www.libreoffice.org/src/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
     sha256 = "2f1a2c5491d7305dffd3520c6375d2f3e14931ee35c6d8ae1e8f098bf1a7b3cc";
     md5 = "1725634df4bb3dcb1b2c91a6175f8789";
     md5name = "1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
   }
   {
     name = "liberation-narrow-fonts-ttf-1.07.6.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/liberation-narrow-fonts-ttf-1.07.6.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/liberation-narrow-fonts-ttf-1.07.6.tar.gz";
     sha256 = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3";
     md5 = "";
     md5name = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3-liberation-narrow-fonts-ttf-1.07.6.tar.gz";
   }
   {
     name = "liberation-fonts-ttf-2.00.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.00.4.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.00.4.tar.gz";
     sha256 = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45";
     md5 = "";
     md5name = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45-liberation-fonts-ttf-2.00.4.tar.gz";
   }
   {
     name = "LinLibertineG-20120116.zip";
-    url = "http://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
+    url = "https://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
     sha256 = "54adcb2bc8cac0927a647fbd9362f45eff48130ce6e2379dc3867643019e08c5";
     md5 = "e7a384790b13c29113e22e596ade9687";
     md5name = "e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
   }
   {
     name = "source-code-pro-2.030R-ro-1.050R-it.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
     sha256 = "09466dce87653333f189acd8358c60c6736dcd95f042dee0b644bdcf65b6ae2f";
     md5 = "907d6e99f241876695c19ff3db0b8923";
     md5name = "907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
   }
   {
     name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
     sha256 = "e7bc9a1fec787a529e49f5a26b93dcdcf41506449dfc70f92cdef6d17eb6fb61";
     md5 = "edc4d741888bc0d38e32dbaa17149596";
     md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
   }
   {
     name = "source-serif-pro-3.000R.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/source-serif-pro-3.000R.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/source-serif-pro-3.000R.tar.gz";
     sha256 = "826a2b784d5cdb4c2bbc7830eb62871528360a61a52689c102a101623f1928e3";
     md5 = "";
     md5name = "826a2b784d5cdb4c2bbc7830eb62871528360a61a52689c102a101623f1928e3-source-serif-pro-3.000R.tar.gz";
   }
   {
     name = "EmojiOneColor-SVGinOT-1.3.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz";
     sha256 = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7";
     md5 = "";
     md5name = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7-EmojiOneColor-SVGinOT-1.3.tar.gz";
   }
   {
     name = "noto-fonts-20171024.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/noto-fonts-20171024.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/noto-fonts-20171024.tar.gz";
     sha256 = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994";
     md5 = "";
     md5name = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994-noto-fonts-20171024.tar.gz";
   }
   {
     name = "culmus-0.131.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/culmus-0.131.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/culmus-0.131.tar.gz";
     sha256 = "dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b";
     md5 = "";
     md5name = "dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b-culmus-0.131.tar.gz";
   }
   {
     name = "libre-hebrew-1.0.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libre-hebrew-1.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libre-hebrew-1.0.tar.gz";
     sha256 = "f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a";
     md5 = "";
     md5name = "f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a-libre-hebrew-1.0.tar.gz";
   }
   {
     name = "alef-1.001.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/alef-1.001.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/alef-1.001.tar.gz";
     sha256 = "b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52";
     md5 = "";
     md5name = "b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52-alef-1.001.tar.gz";
   }
   {
     name = "Amiri-0.111.zip";
-    url = "http://dev-www.libreoffice.org/src/Amiri-0.111.zip";
+    url = "https://dev-www.libreoffice.org/src/Amiri-0.111.zip";
     sha256 = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166";
     md5 = "";
     md5name = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166-Amiri-0.111.zip";
   }
   {
     name = "ttf-kacst_2.01+mry.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/ttf-kacst_2.01+mry.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/ttf-kacst_2.01+mry.tar.gz";
     sha256 = "dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56";
     md5 = "";
     md5name = "dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56-ttf-kacst_2.01+mry.tar.gz";
   }
   {
     name = "ReemKufi-0.7.zip";
-    url = "http://dev-www.libreoffice.org/src/ReemKufi-0.7.zip";
+    url = "https://dev-www.libreoffice.org/src/ReemKufi-0.7.zip";
     sha256 = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f";
     md5 = "";
     md5name = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f-ReemKufi-0.7.zip";
   }
   {
     name = "Scheherazade-2.100.zip";
-    url = "http://dev-www.libreoffice.org/src/Scheherazade-2.100.zip";
+    url = "https://dev-www.libreoffice.org/src/Scheherazade-2.100.zip";
     sha256 = "251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5";
     md5 = "";
     md5name = "251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5-Scheherazade-2.100.zip";
   }
   {
     name = "libfreehand-0.1.2.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libfreehand-0.1.2.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libfreehand-0.1.2.tar.xz";
     sha256 = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac";
     md5 = "";
     md5name = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac-libfreehand-0.1.2.tar.xz";
   }
   {
     name = "freetype-2.9.1.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/freetype-2.9.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/freetype-2.9.1.tar.bz2";
     sha256 = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d";
     md5 = "";
     md5name = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d-freetype-2.9.1.tar.bz2";
   }
   {
     name = "glm-0.9.9.7.zip";
-    url = "http://dev-www.libreoffice.org/src/glm-0.9.9.7.zip";
+    url = "https://dev-www.libreoffice.org/src/glm-0.9.9.7.zip";
     sha256 = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95";
     md5 = "";
     md5name = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95-glm-0.9.9.7.zip";
   }
   {
     name = "gpgme-1.9.0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/gpgme-1.9.0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/gpgme-1.9.0.tar.bz2";
     sha256 = "1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb";
     md5 = "";
     md5name = "1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb-gpgme-1.9.0.tar.bz2";
   }
   {
     name = "graphite2-minimal-1.3.14.tgz";
-    url = "http://dev-www.libreoffice.org/src/graphite2-minimal-1.3.14.tgz";
+    url = "https://dev-www.libreoffice.org/src/graphite2-minimal-1.3.14.tgz";
     sha256 = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc";
     md5 = "";
     md5name = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc-graphite2-minimal-1.3.14.tgz";
   }
   {
     name = "harfbuzz-2.6.0.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/harfbuzz-2.6.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/harfbuzz-2.6.0.tar.xz";
     sha256 = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966";
     md5 = "";
     md5name = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966-harfbuzz-2.6.0.tar.xz";
   }
   {
     name = "hsqldb_1_8_0.zip";
-    url = "http://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
+    url = "https://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
     sha256 = "d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370";
     md5 = "17410483b5b5f267aa18b7e00b65e6e0";
     md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
   }
   {
     name = "hunspell-1.7.0.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/hunspell-1.7.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/hunspell-1.7.0.tar.gz";
     sha256 = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951";
     md5 = "";
     md5name = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951-hunspell-1.7.0.tar.gz";
   }
   {
     name = "hyphen-2.8.8.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
     sha256 = "304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705";
     md5 = "5ade6ae2a99bc1e9e57031ca88d36dad";
     md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
   }
   {
     name = "icu4c-67_1-src.tgz";
-    url = "http://dev-www.libreoffice.org/src/icu4c-67_1-src.tgz";
+    url = "https://dev-www.libreoffice.org/src/icu4c-67_1-src.tgz";
     sha256 = "94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc";
     md5 = "";
     md5name = "94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc-icu4c-67_1-src.tgz";
   }
   {
     name = "icu4c-67_1-data.zip";
-    url = "http://dev-www.libreoffice.org/src/icu4c-67_1-data.zip";
+    url = "https://dev-www.libreoffice.org/src/icu4c-67_1-data.zip";
     sha256 = "7c16a59cc8c06128b7ecc1dc4fc056b36b17349312829b17408b9e67b05c4a7e";
     md5 = "";
     md5name = "7c16a59cc8c06128b7ecc1dc4fc056b36b17349312829b17408b9e67b05c4a7e-icu4c-67_1-data.zip";
   }
   {
     name = "flow-engine-0.9.4.zip";
-    url = "http://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
+    url = "https://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
     sha256 = "233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd";
     md5 = "ba2930200c9f019c2d93a8c88c651a0f";
     md5name = "ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
   }
   {
     name = "flute-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
     sha256 = "1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133";
     md5 = "d8bd5eed178db6e2b18eeed243f85aa8";
     md5name = "d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
   }
   {
     name = "libbase-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
     sha256 = "75c80359c9ce343c20aab8a36a45cb3b9ee7c61cf92c13ae45399d854423a9ba";
     md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624";
     md5name = "eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
   }
   {
     name = "libfonts-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
     sha256 = "e0531091787c0f16c83965fdcbc49162c059d7f0c64669e7f119699321549743";
     md5 = "3bdf40c0d199af31923e900d082ca2dd";
     md5name = "3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
   }
   {
     name = "libformula-1.1.7.zip";
-    url = "http://dev-www.libreoffice.org/src/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
+    url = "https://dev-www.libreoffice.org/src/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
     sha256 = "5826d1551bf599b85742545f6e01a0079b93c1b2c8434bf409eddb3a29e4726b";
     md5 = "3404ab6b1792ae5f16bbd603bd1e1d03";
     md5name = "3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
   }
   {
     name = "liblayout-0.2.10.zip";
-    url = "http://dev-www.libreoffice.org/src/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
+    url = "https://dev-www.libreoffice.org/src/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
     sha256 = "e1fb87f3f7b980d33414473279615c4644027e013012d156efa538bc2b031772";
     md5 = "db60e4fde8dd6d6807523deb71ee34dc";
     md5name = "db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
   }
   {
     name = "libloader-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
     sha256 = "3d853b19b1d94a6efa69e7af90f7f2b09ecf302913bee3da796c15ecfebcfac8";
     md5 = "97b2d4dba862397f446b217e2b623e71";
     md5name = "97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
   }
   {
     name = "librepository-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
     sha256 = "abe2c57ac12ba45d83563b02e240fa95d973376de2f720aab8fe11f2e621c095";
     md5 = "8ce2fcd72becf06c41f7201d15373ed9";
     md5name = "8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
   }
   {
     name = "libserializer-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
     sha256 = "05640a1f6805b2b2d7e2cb9c50db9a5cb084e3c52ab1a71ce015239b4a1d4343";
     md5 = "f94d9870737518e3b597f9265f4e9803";
     md5name = "f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
   }
   {
     name = "libxml-1.1.7.zip";
-    url = "http://dev-www.libreoffice.org/src/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
+    url = "https://dev-www.libreoffice.org/src/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
     sha256 = "7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66";
     md5 = "ace6ab49184e329db254e454a010f56d";
     md5name = "ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
   }
   {
     name = "sacjava-1.3.zip";
-    url = "http://dev-www.libreoffice.org/src/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
+    url = "https://dev-www.libreoffice.org/src/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
     sha256 = "085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045";
     md5 = "39bb3fcea1514f1369fcfc87542390fd";
     md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
   }
   {
     name = "libjpeg-turbo-1.5.3.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.3.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.3.tar.gz";
     sha256 = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523";
     md5 = "";
     md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz";
   }
   {
     name = "language-subtag-registry-2020-04-01.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2020-04-01.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2020-04-01.tar.bz2";
     sha256 = "fb1ee0dabfd956a445fbe9f351e86a52767808558f20f4256e67fbbb3768e9da";
     md5 = "";
     md5name = "fb1ee0dabfd956a445fbe9f351e86a52767808558f20f4256e67fbbb3768e9da-language-subtag-registry-2020-04-01.tar.bz2";
   }
   {
     name = "JLanguageTool-1.7.0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
     sha256 = "48c87e41636783bba438b65fd895821e369ed139e1465fac654323ad93c5a82d";
     md5 = "b63e6340a02ff1cacfeadb2c42286161";
     md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
   }
   {
     name = "lcms2-2.9.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/lcms2-2.9.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/lcms2-2.9.tar.gz";
     sha256 = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20";
     md5 = "";
     md5name = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20-lcms2-2.9.tar.gz";
   }
   {
     name = "libassuan-2.5.1.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libassuan-2.5.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libassuan-2.5.1.tar.bz2";
     sha256 = "47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449";
     md5 = "";
     md5name = "47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449-libassuan-2.5.1.tar.bz2";
   }
   {
     name = "libatomic_ops-7.6.8.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libatomic_ops-7.6.8.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libatomic_ops-7.6.8.tar.gz";
     sha256 = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665";
     md5 = "";
     md5name = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665-libatomic_ops-7.6.8.tar.gz";
   }
   {
     name = "libeot-0.01.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libeot-0.01.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libeot-0.01.tar.bz2";
     sha256 = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a";
     md5 = "";
     md5name = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a-libeot-0.01.tar.bz2";
   }
   {
     name = "libexttextcat-3.4.5.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libexttextcat-3.4.5.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libexttextcat-3.4.5.tar.xz";
     sha256 = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8";
     md5 = "";
     md5name = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8-libexttextcat-3.4.5.tar.xz";
   }
   {
     name = "libffi-3.3.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libffi-3.3.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libffi-3.3.tar.gz";
     sha256 = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056";
     md5 = "";
     md5name = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056-libffi-3.3.tar.gz";
   }
   {
     name = "libgpg-error-1.27.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libgpg-error-1.27.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libgpg-error-1.27.tar.bz2";
     sha256 = "4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2";
     md5 = "";
     md5name = "4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2-libgpg-error-1.27.tar.bz2";
   }
   {
     name = "liblangtag-0.6.2.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";
     sha256 = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e";
     md5 = "";
     md5name = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e-liblangtag-0.6.2.tar.bz2";
   }
   {
     name = "libnumbertext-1.0.6.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libnumbertext-1.0.6.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.6.tar.xz";
     sha256 = "739f220b34bf7cb731c09de2921771d644d37dfd276c45564401e5759f10ae57";
     md5 = "";
     md5name = "739f220b34bf7cb731c09de2921771d644d37dfd276c45564401e5759f10ae57-libnumbertext-1.0.6.tar.xz";
   }
   {
     name = "ltm-1.0.zip";
-    url = "http://dev-www.libreoffice.org/src/ltm-1.0.zip";
+    url = "https://dev-www.libreoffice.org/src/ltm-1.0.zip";
     sha256 = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483";
     md5 = "";
     md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip";
   }
   {
     name = "xmlsec1-1.2.30.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/xmlsec1-1.2.30.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.30.tar.gz";
     sha256 = "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8";
     md5 = "";
     md5name = "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8-xmlsec1-1.2.30.tar.gz";
   }
   {
     name = "libxml2-2.9.10.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libxml2-2.9.10.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.10.tar.gz";
     sha256 = "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f";
     md5 = "";
     md5name = "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f-libxml2-2.9.10.tar.gz";
   }
   {
     name = "libxslt-1.1.34.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libxslt-1.1.34.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libxslt-1.1.34.tar.gz";
     sha256 = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f";
     md5 = "";
     md5name = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f-libxslt-1.1.34.tar.gz";
   }
   {
     name = "lp_solve_5.5.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
     sha256 = "171816288f14215c69e730f7a4f1c325739873e21f946ff83884b350574e6695";
     md5 = "26b3e95ddf3d9c077c480ea45874b3b8";
     md5name = "26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
   }
   {
     name = "lxml-4.1.1.tgz";
-    url = "http://dev-www.libreoffice.org/src/lxml-4.1.1.tgz";
+    url = "https://dev-www.libreoffice.org/src/lxml-4.1.1.tgz";
     sha256 = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e";
     md5 = "";
     md5name = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e-lxml-4.1.1.tgz";
   }
   {
     name = "mariadb-connector-c-3.1.8-src.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/mariadb-connector-c-3.1.8-src.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.1.8-src.tar.gz";
     sha256 = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b";
     md5 = "";
     md5name = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b-mariadb-connector-c-3.1.8-src.tar.gz";
   }
   {
     name = "mdds-1.6.0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/mdds-1.6.0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/mdds-1.6.0.tar.bz2";
     sha256 = "f1585c9cbd12f83a6d43d395ac1ab6a9d9d5d77f062c7b5f704e24ed72dae07d";
     md5 = "";
     md5name = "f1585c9cbd12f83a6d43d395ac1ab6a9d9d5d77f062c7b5f704e24ed72dae07d-mdds-1.6.0.tar.bz2";
   }
   {
     name = "mDNSResponder-878.200.35.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/mDNSResponder-878.200.35.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/mDNSResponder-878.200.35.tar.gz";
     sha256 = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0";
     md5 = "";
     md5name = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0-mDNSResponder-878.200.35.tar.gz";
   }
   {
     name = "libmspub-0.1.4.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libmspub-0.1.4.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libmspub-0.1.4.tar.xz";
     sha256 = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba";
     md5 = "";
     md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz";
   }
   {
     name = "libmwaw-0.3.16.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.16.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.16.tar.xz";
     sha256 = "0c639edba5297bde5575193bf5b5f2f469956beaff5c0206d91ce9df6bde1868";
     md5 = "";
     md5name = "0c639edba5297bde5575193bf5b5f2f469956beaff5c0206d91ce9df6bde1868-libmwaw-0.3.16.tar.xz";
   }
   {
     name = "mythes-1.2.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
     sha256 = "1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b0e0790a305f";
     md5 = "a8c2c5b8f09e7ede322d5c602ff6a4b6";
     md5name = "a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
   }
   {
     name = "neon-0.30.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/neon-0.30.2.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/neon-0.30.2.tar.gz";
     sha256 = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca";
     md5 = "";
     md5name = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca-neon-0.30.2.tar.gz";
   }
   {
-    name = "nss-3.47.1-with-nspr-4.23.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/nss-3.47.1-with-nspr-4.23.tar.gz";
-    sha256 = "07d4276168f59bb3038c7826dabb5fbfbab8336ddf65e4e6e43bce89ada78c64";
+    name = "nss-3.55-with-nspr-4.27.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/nss-3.55-with-nspr-4.27.tar.gz";
+    sha256 = "ec6032d78663c6ef90b4b83eb552dedf721d2bce208cec3bf527b8f637db7e45";
     md5 = "";
-    md5name = "07d4276168f59bb3038c7826dabb5fbfbab8336ddf65e4e6e43bce89ada78c64-nss-3.47.1-with-nspr-4.23.tar.gz";
+    md5name = "ec6032d78663c6ef90b4b83eb552dedf721d2bce208cec3bf527b8f637db7e45-nss-3.55-with-nspr-4.27.tar.gz";
   }
   {
     name = "libodfgen-0.1.6.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libodfgen-0.1.6.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libodfgen-0.1.6.tar.bz2";
     sha256 = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2";
     md5 = "";
     md5name = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2-libodfgen-0.1.6.tar.bz2";
   }
   {
     name = "odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
-    url = "http://dev-www.libreoffice.org/src/../extern/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
+    url = "https://dev-www.libreoffice.org/src/../extern/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
     sha256 = "d55495ab3a86544650587de2a72180ddf8bfc6376d14ddfa923992dbc86a06e0";
     md5 = "";
     md5name = "d55495ab3a86544650587de2a72180ddf8bfc6376d14ddfa923992dbc86a06e0-odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
   }
   {
     name = "officeotron-0.7.4-master.jar";
-    url = "http://dev-www.libreoffice.org/src/../extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
+    url = "https://dev-www.libreoffice.org/src/../extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
     sha256 = "f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770";
     md5 = "8249374c274932a21846fa7629c2aa9b";
     md5name = "8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
   }
   {
     name = "openldap-2.4.45.tgz";
-    url = "http://dev-www.libreoffice.org/src/openldap-2.4.45.tgz";
+    url = "https://dev-www.libreoffice.org/src/openldap-2.4.45.tgz";
     sha256 = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824";
     md5 = "";
     md5name = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824-openldap-2.4.45.tgz";
   }
   {
     name = "openssl-1.0.2t.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/openssl-1.0.2t.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/openssl-1.0.2t.tar.gz";
     sha256 = "14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc";
     md5 = "";
     md5name = "14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc-openssl-1.0.2t.tar.gz";
   }
   {
     name = "liborcus-0.15.4.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/liborcus-0.15.4.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/liborcus-0.15.4.tar.bz2";
     sha256 = "cfb2aa60825f2a78589ed030c07f46a1ee16ef8a2d1bf2279192fbc1ae5a5f61";
     md5 = "";
     md5name = "cfb2aa60825f2a78589ed030c07f46a1ee16ef8a2d1bf2279192fbc1ae5a5f61-liborcus-0.15.4.tar.bz2";
   }
   {
     name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
     sha256 = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb";
     md5 = "";
     md5name = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb-owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
   }
   {
     name = "libpagemaker-0.0.4.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libpagemaker-0.0.4.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libpagemaker-0.0.4.tar.xz";
     sha256 = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d";
     md5 = "";
     md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz";
   }
   {
     name = "pdfium-4137.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/pdfium-4137.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/pdfium-4137.tar.bz2";
     sha256 = "9a2f9bddca935a263f06c81003483473a525ccd0f4e517bc75fceb914d4c54b6";
     md5 = "";
     md5name = "9a2f9bddca935a263f06c81003483473a525ccd0f4e517bc75fceb914d4c54b6-pdfium-4137.tar.bz2";
   }
   {
     name = "pixman-0.34.0.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
     sha256 = "21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e";
     md5 = "e80ebae4da01e77f68744319f01d52a3";
     md5name = "e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
   }
   {
     name = "libpng-1.6.37.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libpng-1.6.37.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libpng-1.6.37.tar.xz";
     sha256 = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca";
     md5 = "";
     md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz";
   }
   {
     name = "poppler-0.82.0.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/poppler-0.82.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/poppler-0.82.0.tar.xz";
     sha256 = "234f8e573ea57fb6a008e7c1e56bfae1af5d1adf0e65f47555e1ae103874e4df";
     md5 = "";
     md5name = "234f8e573ea57fb6a008e7c1e56bfae1af5d1adf0e65f47555e1ae103874e4df-poppler-0.82.0.tar.xz";
   }
   {
     name = "postgresql-9.2.24.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/postgresql-9.2.24.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/postgresql-9.2.24.tar.bz2";
     sha256 = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126";
     md5 = "";
     md5name = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126-postgresql-9.2.24.tar.bz2";
   }
   {
     name = "Python-3.7.7.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/Python-3.7.7.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/Python-3.7.7.tar.xz";
     sha256 = "06a0a9f1bf0d8cd1e4121194d666c4e28ddae4dd54346de6c343206599f02136";
     md5 = "";
     md5name = "06a0a9f1bf0d8cd1e4121194d666c4e28ddae4dd54346de6c343206599f02136-Python-3.7.7.tar.xz";
   }
   {
     name = "QR-Code-generator-1.4.0.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/QR-Code-generator-1.4.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/QR-Code-generator-1.4.0.tar.gz";
     sha256 = "fcdf9fd69fde07ae4dca2351d84271a9de8093002f733b77c70f52f1630f6e4a";
     md5 = "";
     md5name = "fcdf9fd69fde07ae4dca2351d84271a9de8093002f733b77c70f52f1630f6e4a-QR-Code-generator-1.4.0.tar.gz";
   }
   {
     name = "libqxp-0.0.2.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libqxp-0.0.2.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libqxp-0.0.2.tar.xz";
     sha256 = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c";
     md5 = "";
     md5name = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c-libqxp-0.0.2.tar.xz";
   }
   {
     name = "raptor2-2.0.15.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
     sha256 = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed";
     md5 = "a39f6c07ddb20d7dd2ff1f95fa21e2cd";
     md5name = "a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
   }
   {
     name = "rasqal-0.9.33.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
     sha256 = "6924c9ac6570bd241a9669f83b467c728a322470bf34f4b2da4f69492ccfd97c";
     md5 = "1f5def51ca0026cd192958ef07228b52";
     md5name = "1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
   }
   {
     name = "redland-1.0.17.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
     sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
     md5 = "e5be03eda13ef68aabab6e42aa67715e";
     md5name = "e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
   }
   {
     name = "librevenge-0.0.4.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/librevenge-0.0.4.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/librevenge-0.0.4.tar.bz2";
     sha256 = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf";
     md5 = "";
     md5name = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf-librevenge-0.0.4.tar.bz2";
   }
   {
     name = "rhino1_5R5.zip";
-    url = "http://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
+    url = "https://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
     sha256 = "1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753";
     md5 = "798b2ffdc8bcfe7bca2cf92b62caf685";
     md5name = "798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
   }
   {
     name = "serf-1.2.1.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/serf-1.2.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/serf-1.2.1.tar.bz2";
     sha256 = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700";
     md5 = "";
     md5name = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700-serf-1.2.1.tar.bz2";
   }
   {
-    name = "skia-m84-c1baf6e1c2a5454148adb516f0f833483b5a0353.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/skia-m84-c1baf6e1c2a5454148adb516f0f833483b5a0353.tar.xz";
-    sha256 = "f88dc1a500d29c87ef5251c5a6c3ea66aa4c7daf0cf5d349ece64b36f7623be0";
+    name = "skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz";
+    sha256 = "3294877fa2b61b220d98a0f7bfc11325429b13edd2cf455444c703ee3a14d760";
     md5 = "";
-    md5name = "f88dc1a500d29c87ef5251c5a6c3ea66aa4c7daf0cf5d349ece64b36f7623be0-skia-m84-c1baf6e1c2a5454148adb516f0f833483b5a0353.tar.xz";
+    md5name = "3294877fa2b61b220d98a0f7bfc11325429b13edd2cf455444c703ee3a14d760-skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz";
   }
   {
     name = "libstaroffice-0.0.7.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libstaroffice-0.0.7.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libstaroffice-0.0.7.tar.xz";
     sha256 = "f94fb0ad8216f97127bedef163a45886b43c62deac5e5b0f5e628e234220c8db";
     md5 = "";
     md5name = "f94fb0ad8216f97127bedef163a45886b43c62deac5e5b0f5e628e234220c8db-libstaroffice-0.0.7.tar.xz";
   }
   {
     name = "swingExSrc.zip";
-    url = "http://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
+    url = "https://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
     sha256 = "64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1";
     md5 = "35c94d2df8893241173de1d16b6034c0";
     md5name = "35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
   }
   {
     name = "twaindsm_2.4.1.orig.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/twaindsm_2.4.1.orig.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/twaindsm_2.4.1.orig.tar.gz";
     sha256 = "82c818be771f242388457aa8c807e4b52aa84dc22b21c6c56184a6b4cbb085e6";
     md5 = "";
     md5name = "82c818be771f242388457aa8c807e4b52aa84dc22b21c6c56184a6b4cbb085e6-twaindsm_2.4.1.orig.tar.gz";
   }
   {
     name = "ucpp-1.3.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz";
     sha256 = "983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776";
     md5 = "0168229624cfac409e766913506961a8";
     md5name = "0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz";
   }
   {
     name = "libvisio-0.1.7.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libvisio-0.1.7.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libvisio-0.1.7.tar.xz";
     sha256 = "8faf8df870cb27b09a787a1959d6c646faa44d0d8ab151883df408b7166bea4c";
     md5 = "";
     md5name = "8faf8df870cb27b09a787a1959d6c646faa44d0d8ab151883df408b7166bea4c-libvisio-0.1.7.tar.xz";
   }
   {
     name = "libwpd-0.10.3.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libwpd-0.10.3.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libwpd-0.10.3.tar.xz";
     sha256 = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09";
     md5 = "";
     md5name = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09-libwpd-0.10.3.tar.xz";
   }
   {
     name = "libwpg-0.3.3.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libwpg-0.3.3.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libwpg-0.3.3.tar.xz";
     sha256 = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c";
     md5 = "";
     md5name = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c-libwpg-0.3.3.tar.xz";
   }
   {
     name = "libwps-0.4.11.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libwps-0.4.11.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libwps-0.4.11.tar.xz";
     sha256 = "a8fdaabc28654a975fa78c81873ac503ba18f0d1cdbb942f470a21d29284b4d1";
     md5 = "";
     md5name = "a8fdaabc28654a975fa78c81873ac503ba18f0d1cdbb942f470a21d29284b4d1-libwps-0.4.11.tar.xz";
   }
   {
     name = "xsltml_2.1.2.zip";
-    url = "http://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
+    url = "https://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
     sha256 = "75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870";
     md5 = "a7983f859eafb2677d7ff386a023bc40";
     md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
   }
   {
     name = "zlib-1.2.11.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/zlib-1.2.11.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/zlib-1.2.11.tar.xz";
     sha256 = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066";
     md5 = "";
     md5name = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066-zlib-1.2.11.tar.xz";
   }
   {
     name = "libzmf-0.0.2.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libzmf-0.0.2.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libzmf-0.0.2.tar.xz";
     sha256 = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22";
     md5 = "";
     md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz";
diff --git a/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
index 1beb8f1156c4a..dbfd249901e70 100644
--- a/pkgs/applications/office/libreoffice/src-fresh/primary.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -8,8 +8,8 @@ rec {
 
   major = "7";
   minor = "0";
-  patch = "0";
-  tweak = "3";
+  patch = "3";
+  tweak = "1";
 
   subdir = "${major}.${minor}.${patch}";
 
@@ -17,13 +17,13 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "sha256-sl+vgnLGIWtyw8Y/ovVsxThdOMg2Gby4SRaiaqvZVB0=";
+    sha256 = "0b998k2dxbbj7hn3srn07fgsah236h14ncyyahamdff6h3hvqrk5";
   };
 
   # FIXME rename
   translations = fetchSrc {
     name = "translations";
-    sha256 = "sha256-i3yfD5cmM6D9BctjablIFRqfibjrwLAaxxPIsQdk0sY=";
+    sha256 = "0s3ic79q0c16hbd6r06mwkyqhw4fdfy9z3xbqvdxp7jl64cjlaj4";
   };
 
   # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
@@ -31,6 +31,6 @@ rec {
 
   help = fetchSrc {
     name = "help";
-    sha256 = "sha256-hYBEEPRmh16zgGZBUN20xfTY6qL07aKMC1lC/0ij9/0=";
+    sha256 = "14wjkcdmcflfcc7264jx64s6clk5rdsprx7nkbv08z0bp6ff677b";
   };
 }
diff --git a/pkgs/applications/office/minetime/default.nix b/pkgs/applications/office/minetime/default.nix
index 8f90973e5f8e8..1241b97b427f2 100644
--- a/pkgs/applications/office/minetime/default.nix
+++ b/pkgs/applications/office/minetime/default.nix
@@ -3,10 +3,10 @@
 let
   name = "${pname}-${version}";
   pname = "minetime";
-  version = "1.7.3";
+  version = "1.8.10";
   appimage = fetchurl {
     url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}.AppImage";
-    sha256 = "0zz6p3mwxg9gm1sqzs582pq2nkb10lv0c3r542b9llqyzk9qv5aa";
+    sha256 = "1a80lgk6v9kv9xb2y3i08gk25jm0pqyl57kfr5p1rbc33prhmcgw";
   };
   extracted = appimageTools.extractType2 {
     inherit name;
diff --git a/pkgs/applications/office/paperless/python-modules/default.nix b/pkgs/applications/office/paperless/python-modules/default.nix
index 40a496312fa9c..4c5510ebb7430 100644
--- a/pkgs/applications/office/paperless/python-modules/default.nix
+++ b/pkgs/applications/office/paperless/python-modules/default.nix
@@ -1,6 +1,6 @@
 pyPkgs: fetchFromGitHub:
 {
-  django_2_0 = pyPkgs.django_2_2.overridePythonAttrs (old: rec {
+  django_2_0 = pyPkgs.django_2.overridePythonAttrs (old: rec {
     version = "2.0.12";
     src = pyPkgs.fetchPypi {
       inherit (old) pname;
diff --git a/pkgs/applications/office/paperwork/backend.nix b/pkgs/applications/office/paperwork/backend.nix
deleted file mode 100644
index af0d4c4305903..0000000000000
--- a/pkgs/applications/office/paperwork/backend.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ buildPythonPackage, lib, fetchFromGitLab
-
-, isPy3k, isPyPy
-
-, pyenchant, simplebayes, pillow, pycountry, whoosh, termcolor
-, python-Levenshtein, pygobject3, pyocr, natsort, libinsane
-, distro
-
-, pkgs
-}:
-
-buildPythonPackage rec {
-  pname = "paperwork-backend";
-  version = "1.3.1";
-
-  src = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    repo = "paperwork";
-    group = "World";
-    owner = "OpenPaperwork";
-    rev = version;
-    sha256 = "1219yz8z4r1yn6miq8zc2z1m1lnhf3dmkhwfw23n05bg842nvg65";
-  };
-
-  sourceRoot = "source/paperwork-backend";
-
-  # Python 2.x is not supported.
-  disabled = !isPy3k && !isPyPy;
-
-  patchPhase = ''
-    echo 'version = "${version}"' > paperwork_backend/_version.py
-  '';
-
-  preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend";
-
-  propagatedBuildInputs = [
-    pyenchant simplebayes pillow pycountry whoosh termcolor
-    python-Levenshtein libinsane pygobject3 pyocr natsort
-    pkgs.poppler_gi pkgs.gtk3 distro
-  ];
-
-  meta = {
-    description = "Backend part of Paperwork (Python API, no UI)";
-    homepage = "https://openpaper.work/";
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ aszlig symphorien ];
-  };
-}
diff --git a/pkgs/applications/office/paperwork/openpaperwork-core.nix b/pkgs/applications/office/paperwork/openpaperwork-core.nix
new file mode 100644
index 0000000000000..cae55ae95f1c3
--- /dev/null
+++ b/pkgs/applications/office/paperwork/openpaperwork-core.nix
@@ -0,0 +1,42 @@
+{ buildPythonPackage, lib, fetchFromGitLab
+
+, isPy3k, isPyPy
+
+, distro, setuptools
+
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "openpaperwork-core";
+  inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
+
+  sourceRoot = "source/openpaperwork-core";
+
+  # Python 2.x is not supported.
+  disabled = !isPy3k && !isPyPy;
+
+  patchPhase = ''
+    echo 'version = "${version}"' > src/openpaperwork_core/_version.py
+    chmod a+w -R ..
+    patchShebangs ../tools
+  '';
+
+  propagatedBuildInputs = [
+    distro
+    setuptools
+  ];
+
+  nativeBuildInputs = [ pkgs.gettext pkgs.which ];
+
+  preBuild = ''
+    make l10n_compile
+  '';
+
+  meta = {
+    description = "Backend part of Paperwork (Python API, no UI)";
+    homepage = "https://openpaper.work/";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ aszlig symphorien ];
+  };
+}
diff --git a/pkgs/applications/office/paperwork/openpaperwork-gtk.nix b/pkgs/applications/office/paperwork/openpaperwork-gtk.nix
new file mode 100644
index 0000000000000..5dae745ce2eb3
--- /dev/null
+++ b/pkgs/applications/office/paperwork/openpaperwork-gtk.nix
@@ -0,0 +1,52 @@
+{ buildPythonPackage
+, lib
+, fetchFromGitLab
+
+, isPy3k
+, isPyPy
+
+, openpaperwork-core
+, pillow
+, pygobject3
+, distro
+
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "openpaperwork-gtk";
+  inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
+
+  sourceRoot = "source/openpaperwork-gtk";
+
+  # Python 2.x is not supported.
+  disabled = !isPy3k && !isPyPy;
+
+  patchPhase = ''
+    echo 'version = "${version}"' > src/openpaperwork_gtk/_version.py
+    chmod a+w -R ..
+    patchShebangs ../tools
+  '';
+
+  nativeBuildInputs = [ pkgs.gettext pkgs.which ];
+  preBuild = ''
+    make l10n_compile
+  '';
+
+  propagatedBuildInputs = [
+    pillow
+    pygobject3
+    pkgs.poppler_gi
+    pkgs.gtk3
+    distro
+    pkgs.pango
+    openpaperwork-core
+  ];
+
+  meta = {
+    description = "Reusable GTK components of Paperwork";
+    homepage = "https://openpaper.work/";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ aszlig symphorien ];
+  };
+}
diff --git a/pkgs/applications/office/paperwork/paperwork-backend.nix b/pkgs/applications/office/paperwork/paperwork-backend.nix
new file mode 100644
index 0000000000000..a033bd695db6c
--- /dev/null
+++ b/pkgs/applications/office/paperwork/paperwork-backend.nix
@@ -0,0 +1,77 @@
+{ buildPythonPackage
+, lib
+, fetchFromGitLab
+
+, isPy3k
+, isPyPy
+
+, pyenchant
+, simplebayes
+, pypillowfight
+, pycountry
+, whoosh
+, termcolor
+, python-Levenshtein
+, pygobject3
+, pyocr
+, natsort
+, libinsane
+, distro
+, openpaperwork-core
+, openpaperwork-gtk
+, psutil
+
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "paperwork-backend";
+  inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
+
+  sourceRoot = "source/paperwork-backend";
+
+  # Python 2.x is not supported.
+  disabled = !isPy3k && !isPyPy;
+
+  patchPhase = ''
+    echo 'version = "${version}"' > src/paperwork_backend/_version.py
+    chmod a+w -R ..
+    patchShebangs ../tools
+  '';
+
+  propagatedBuildInputs = [
+    pyenchant
+    simplebayes
+    pypillowfight
+    pycountry
+    whoosh
+    termcolor
+    python-Levenshtein
+    libinsane
+    pygobject3
+    pyocr
+    natsort
+    pkgs.poppler_gi
+    pkgs.gtk3
+    distro
+    openpaperwork-core
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  nativeBuildInputs = [ pkgs.gettext pkgs.which ];
+  preBuild = ''
+    make l10n_compile
+  '';
+
+  checkInputs = [ openpaperwork-gtk psutil ];
+
+  meta = {
+    description = "Backend part of Paperwork (Python API, no UI)";
+    homepage = "https://openpaper.work/";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ aszlig symphorien ];
+  };
+}
diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/paperwork-gtk.nix
index 102c3cd2564c5..c493421dd11be 100644
--- a/pkgs/applications/office/paperwork/default.nix
+++ b/pkgs/applications/office/paperwork/paperwork-gtk.nix
@@ -10,45 +10,36 @@
 , dbus
 , libnotify
 , wrapGAppsHook
+, fetchFromGitLab
+, which
+, gettext
+, gobject-introspection
 }:
 
 python3Packages.buildPythonApplication rec {
-  inherit (python3Packages.paperwork-backend) version src;
+  inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
   pname = "paperwork";
 
   sourceRoot = "source/paperwork-gtk";
 
   # Patch out a few paths that assume that we're using the FHS:
   postPatch = ''
-    themeDir="$(echo "${gnome3.adwaita-icon-theme}/share/icons/"*)"
-    sed -i -e "s,/usr/share/icons/gnome,$themeDir," src/paperwork/deps.py
+    chmod a+w -R ..
+    patchShebangs ../tools
 
-    sed -i -e 's,sys\.prefix,"",g' \
-      src/paperwork/frontend/aboutdialog/__init__.py \
-      src/paperwork/frontend/mainwindow/__init__.py \
-      setup.py
+    export HOME=$(mktemp -d)
 
-    sed -i -e '/^UI_FILES_DIRS = \[/,/^\]$/ {
-      c UI_FILES_DIRS = ["'"$out/share/paperwork"'"]
-    }' src/paperwork/frontend/util/__init__.py
-
-    sed -i -e '/^LOCALE_PATHS = \[/,/^\]$/ {
-      c LOCALE_PATHS = ["'"$out/share"'"]
-    }' src/paperwork/paperwork.py
-
-    sed -i -e 's/"icon"/"icon-name"/g' \
-      src/paperwork/frontend/mainwindow/mainwindow.glade
-
-    sed -i -e 's/"logo"/"logo-icon-name"/g' \
-      src/paperwork/frontend/aboutdialog/aboutdialog.glade
-
-    cat - ../AUTHORS.py > src/paperwork/_version.py <<EOF
+    cat - ../AUTHORS.py > src/paperwork_gtk/_version.py <<EOF
     # -*- coding: utf-8 -*-
     version = "${version}"
     authors_code=""
     EOF
   '';
 
+  preBuild = ''
+    make l10n_compile
+  '';
+
   ASPELL_CONF = "dict-dir ${buildEnv {
     name = "aspell-all-dicts";
     paths = lib.collect lib.isDerivation aspellDicts;
@@ -56,37 +47,49 @@ python3Packages.buildPythonApplication rec {
 
   postInstall = ''
     # paperwork-shell needs to be re-wrapped with access to paperwork
-    cp ${python3Packages.paperwork-backend}/bin/.paperwork-shell-wrapped $out/bin/paperwork-shell
+    cp ${python3Packages.paperwork-shell}/bin/.paperwork-cli-wrapped $out/bin/paperwork-cli
     # install desktop files and icons
-    XDG_DATA_HOME=$out/share $out/bin/paperwork-shell install
+    XDG_DATA_HOME=$out/share $out/bin/paperwork-gtk install --user
   '';
 
-  checkInputs = [ xvfb_run dbus.daemon ] ++ (with python3Packages; [ paperwork-backend ]);
+  checkInputs = [ xvfb_run dbus.daemon ];
 
   nativeBuildInputs = [
     wrapGAppsHook
+    gobject-introspection
+    (lib.getBin gettext)
+    which
   ];
 
   buildInputs = [
     gnome3.adwaita-icon-theme
     libnotify
     librsvg
+    gtk3
+    cairo
   ];
 
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   # A few parts of chkdeps need to have a display and a dbus session, so we not
   # only need to run a virtual X server + dbus but also have a large enough
   # resolution, because the Cairo test tries to draw a 200x200 window.
   preCheck = ''
     xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
       --config-file=${dbus.daemon}/share/dbus-1/session.conf \
-      paperwork-shell chkdeps paperwork
+      $out/bin/paperwork-gtk chkdeps
   '';
 
   propagatedBuildInputs = with python3Packages; [
     paperwork-backend
+    paperwork-shell
+    openpaperwork-gtk
+    openpaperwork-core
     pypillowfight
-    gtk3
-    cairo
     pyxdg
     dateutil
     setuptools
diff --git a/pkgs/applications/office/paperwork/paperwork-shell.nix b/pkgs/applications/office/paperwork/paperwork-shell.nix
new file mode 100644
index 0000000000000..1be6f329e3cfd
--- /dev/null
+++ b/pkgs/applications/office/paperwork/paperwork-shell.nix
@@ -0,0 +1,59 @@
+{ buildPythonPackage
+, lib
+, fetchFromGitLab
+
+, isPy3k
+, isPyPy
+
+, openpaperwork-core
+, openpaperwork-gtk
+, paperwork-backend
+, fabulous
+, getkey
+
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "paperwork-shell";
+  inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
+
+  sourceRoot = "source/paperwork-shell";
+
+  # Python 2.x is not supported.
+  disabled = !isPy3k && !isPyPy;
+
+  patchPhase = ''
+    echo 'version = "${version}"' > src/paperwork_shell/_version.py
+    chmod a+w -R ..
+    patchShebangs ../tools
+  '';
+
+  propagatedBuildInputs = [
+    openpaperwork-core
+    paperwork-backend
+    fabulous
+    getkey
+  ];
+
+  checkInputs = [
+    openpaperwork-gtk
+  ];
+
+  nativeBuildInputs = [ pkgs.gettext pkgs.which ];
+  preBuild = ''
+    make l10n_compile
+  '';
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+    "$out/bin/paperwork-cli" chkdeps
+  '';
+
+  meta = {
+    description = "CLI for Paperwork";
+    homepage = "https://openpaper.work/";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ aszlig symphorien ];
+  };
+}
diff --git a/pkgs/applications/office/paperwork/src.nix b/pkgs/applications/office/paperwork/src.nix
new file mode 100644
index 0000000000000..70770676edded
--- /dev/null
+++ b/pkgs/applications/office/paperwork/src.nix
@@ -0,0 +1,12 @@
+{fetchFromGitLab}:
+rec {
+  version = "2.0.1";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    repo = "paperwork";
+    group = "World";
+    owner = "OpenPaperwork";
+    rev = version;
+    sha256 = "16pc4drwpjl4937wdavs6wk0j1qs474b072wplhs8ywxfgqip1h4";
+  };
+}
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index b3538dd2b7130..163e612157684 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.48.1";
+  version = "0.49.2";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "0xhxp4iglggv6rqwsg0xjn8z46v910rj372abkaviwa3cqzf7gdb";
+    sha256 = "0c2ixzwbc094wqc2lyrh3w1azswg6xz3wdh8l4lbkiw02s9czhhn";
   };
 
   nativeBuildInputs = [
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A simple tool to calculate the overall performance of an investment portfolio.";
+    description = "A simple tool to calculate the overall performance of an investment portfolio";
     homepage = "https://www.portfolio-performance.info/";
     license = licenses.epl10;
     maintainers = with maintainers; [ elohmeier oyren ];
diff --git a/pkgs/applications/office/scribus/unstable.nix b/pkgs/applications/office/scribus/unstable.nix
index ff69329140bf7..c2c300b87486e 100644
--- a/pkgs/applications/office/scribus/unstable.nix
+++ b/pkgs/applications/office/scribus/unstable.nix
@@ -18,7 +18,7 @@
 , podofo
 , poppler
 , poppler_data
-, python2
+, python3
 , qtbase
 , qtimageformats
 , qttools
@@ -26,7 +26,7 @@
 }:
 
 let
-  pythonEnv = python2.withPackages (
+  pythonEnv = python3.withPackages (
     ps: [
       ps.pillow
       ps.tkinter
@@ -36,50 +36,13 @@ in
 mkDerivation rec {
   pname = "scribus";
 
-  version = "1.5.5";
+  version = "1.5.6.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-devel/${pname}-${version}.tar.xz";
-    sha256 = "0w9zzsiaq3f7vpxybk01c9z2b4qqg67mzpyfb2gjchz8dhdb423r";
+    sha256 = "sha256-1CV2lVOc+kDerYq9rwTFHjTU10vK1aLJNNCObp1Dt6s=";
   };
 
-  patches = [
-    # Poppler patches from
-    # https://github.com/scribusproject/scribus/commits/master/scribus/plugins/import/pdf
-
-    # fix build with Poppler 0.82
-    (fetchpatch {
-      url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
-      sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
-    })
-    # fix build with Poppler 0.83
-    (fetchpatch {
-      url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
-      sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
-    })
-    # fix build with Poppler 0.84
-    # TODO: Remove patches with scribus version > 1.5.5 as it should be fixed upstream in next version
-    (fetchpatch {
-      url = "https://github.com/scribusproject/scribus/commit/3742559924136c2471ab15081c5b600dd5feaeb0.patch";
-      sha256 = "1d72h7jbajy9w83bnxmhn1ca947hpfxnfbmq30g5ljlj824c7y9y";
-    })
-    # Formating changes needed for the Poppler 0.86 patch to apply
-    (fetchpatch {
-      url = "https://github.com/scribusproject/scribus/commit/58613b5ce44335f202a55ab15ed303d97fe274cb.patch";
-      sha256 = "16n3wch2mkabgkb06iywggdkckr4idrw4in56k5jh2jqjl0ra2db";
-    })
-    (fetchpatch {
-      url = "https://github.com/scribusproject/scribus/commit/24aba508aac3f672f5f8cd629744a3b71e58ec37.patch";
-      sha256 = "0g6l3qc75wiykh59059ajraxjczh11wkm68942d0skl144i893rr";
-      includes = [ "scribus/plugins/import/pdf/*" ];
-    })
-    # fix build with Poppler 0.86
-    (fetchpatch {
-      url = "https://github.com/scribusproject/scribus/commit/67f8771aaff2f55d61b8246f420e762f4b526944.patch";
-      sha256 = "1lszpzlpgdhm79nywvqji25aklfhzb2qfsfiyld7yv51h82zwp77";
-    })
-  ];
-
   enableParallelBuilding = true;
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index e84e849674194..067b06747d776 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -30,6 +30,7 @@ mkDerivation rec {
   cmakeFlags = [
     "-DSKG_DESIGNER=OFF"
     "-DSKG_WEBENGINE=ON"
+    "-DBUILD_TESTS=ON"
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/office/softmaker/freeoffice.nix b/pkgs/applications/office/softmaker/freeoffice.nix
index 2e12e6d3d43df..bdd90fecb8ee0 100644
--- a/pkgs/applications/office/softmaker/freeoffice.nix
+++ b/pkgs/applications/office/softmaker/freeoffice.nix
@@ -5,9 +5,9 @@
   # overridable. This is useful when the upstream archive was replaced
   # and nixpkgs is not in sync yet.
 , officeVersion ? {
-  version = "978";
+  version = "980";
   edition = "2018";
-  sha256 = "1c5div1kbyyj48f89wkhc1i1759n70bsbp3w4a42cr0jmllyl60v";
+  sha256 = "19pgil86aagiz6z4kx22gd4cxbbmrx42ix42arkfb6p6hav1plby";
 }
 
 , ... } @ args:
diff --git a/pkgs/applications/office/softmaker/generic.nix b/pkgs/applications/office/softmaker/generic.nix
index c1e25ecb00ec3..29ca574a41746 100644
--- a/pkgs/applications/office/softmaker/generic.nix
+++ b/pkgs/applications/office/softmaker/generic.nix
@@ -5,7 +5,10 @@
 
   # For fixing up execution of /bin/ls, which is necessary for
   # product unlocking.
-, coreutils
+, coreutils, libredirect
+
+  # Extra utilities used by the SoftMaker applications.
+, gnugrep, util-linux, which
 
 , pname, version, edition, suiteName, src, archive
 
@@ -52,7 +55,26 @@ in stdenv.mkDerivation {
     runHook postUnpack
   '';
 
-  installPhase = ''
+  installPhase = let
+    # SoftMaker/FreeOffice collects some system information upon
+    # unlocking the product. But in doing so, it attempts to execute
+    # /bin/ls. If the execve syscall fails, the whole unlock
+    # procedure fails. This works around that by rewriting /bin/ls
+    # to the proper path.
+    #
+    # In addition, it expects some common utilities (which, whereis)
+    # to be in the path.
+    #
+    # SoftMaker Office restarts itself upon some operations, such
+    # changing the theme and unlocking. Unfortunately, we do not
+    # have control over its environment then and it will fail
+    # with an error.
+    extraWrapperArgs = ''
+      --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
+      --set NIX_REDIRECTS "/bin/ls=${coreutils}/bin/ls" \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ coreutils gnugrep util-linux which ]}"
+    '';
+  in ''
     runHook preInstall
 
     mkdir -p $out/share
@@ -61,9 +83,12 @@ in stdenv.mkDerivation {
     # Wrap rather than symlinking, so that the programs can determine
     # their resource path.
     mkdir -p $out/bin
-    makeWrapper $out/share/${pname}${edition}/planmaker $out/bin/${pname}-planmaker
-    makeWrapper $out/share/${pname}${edition}/presentations $out/bin/${pname}-presentations
-    makeWrapper $out/share/${pname}${edition}/textmaker $out/bin/${pname}-textmaker
+    makeWrapper $out/share/${pname}${edition}/planmaker $out/bin/${pname}-planmaker \
+      ${extraWrapperArgs}
+    makeWrapper $out/share/${pname}${edition}/presentations $out/bin/${pname}-presentations \
+      ${extraWrapperArgs}
+    makeWrapper $out/share/${pname}${edition}/textmaker $out/bin/${pname}-textmaker \
+      ${extraWrapperArgs}
 
     for size in 16 32 48 64 96 128 256 512 1024; do
       mkdir -p $out/share/icons/hicolor/''${size}x''${size}/apps
diff --git a/pkgs/applications/office/timekeeper/default.nix b/pkgs/applications/office/timekeeper/default.nix
new file mode 100644
index 0000000000000..60b4bad60bb42
--- /dev/null
+++ b/pkgs/applications/office/timekeeper/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, fetchFromGitHub
+, poco
+, pkg-config
+, gnome2
+, gtkmm2
+, lib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "timekeeper";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "bburdette";
+    repo = "TimeKeeper";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "03rvzkygnn7igcindbb5bcmfy0l83n0awkzprsnhlb6ndxax3k9w";
+  };
+
+  nativeBuildInputs = [
+    poco
+    pkg-config
+  ];
+
+  buildInputs = [
+    gtkmm2
+    gnome2.libglademm
+    gnome2.libglade
+  ];
+
+  installPhase = ''
+    install -Dm755 TimeKeeper/TimeKeeper $out/bin/timekeeper
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Log hours worked and make reports";
+    homepage = "https://github.com/bburdette/TimeKeeper";
+    maintainers = with maintainers; [ bburdette ];
+    platforms = [ "x86_64-linux" ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/applications/office/todo.txt-cli/default.nix b/pkgs/applications/office/todo.txt-cli/default.nix
index 489b759f48c4b..8db5691ed84d7 100644
--- a/pkgs/applications/office/todo.txt-cli/default.nix
+++ b/pkgs/applications/office/todo.txt-cli/default.nix
@@ -13,8 +13,8 @@ in stdenv.mkDerivation {
   installPhase = ''
     install -vd $out/bin
     install -vm 755 todo.sh $out/bin
-    install -vd $out/etc/bash_completion.d
-    install -vm 644 todo_completion $out/etc/bash_completion.d/todo
+    install -vd $out/share/bash-completion/completions
+    install -vm 644 todo_completion $out/share/bash-completion/completions/todo
     install -vd $out/etc/todo
     install -vm 644 todo.cfg $out/etc/todo/config
   '';
diff --git a/pkgs/applications/office/todoman/default.nix b/pkgs/applications/office/todoman/default.nix
index 092a776ae6062..3eb7f4f57d02e 100644
--- a/pkgs/applications/office/todoman/default.nix
+++ b/pkgs/applications/office/todoman/default.nix
@@ -1,4 +1,9 @@
-{ stdenv, python3, glibcLocales, installShellFiles, jq }:
+{ stdenv
+, python3
+, glibcLocales
+, installShellFiles
+, jq
+}:
 
 let
   inherit (python3.pkgs) buildPythonApplication fetchPypi;
@@ -12,22 +17,36 @@ buildPythonApplication rec {
     sha256 = "1aq7f63bhs9dnwzp15nfr07f2ki6s3lnqfap3b09rhchn6lfznwb";
   };
 
-    LOCALE_ARCHIVE = stdenv.lib.optionalString stdenv.isLinux
-      "${glibcLocales}/lib/locale/locale-archive";
-    LANG = "en_US.UTF-8";
-    LC_TYPE = "en_US.UTF-8";
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+  propagatedBuildInputs = with python3.pkgs; [
+    atomicwrites
+    click
+    click-log
+    click-repl
+    configobj
+    humanize
+    icalendar
+    parsedatetime
+    python-dateutil
+    pyxdg
+    tabulate
+    urwid
+  ];
 
-  nativeBuildInputs = [ installShellFiles ];
-  buildInputs = [ glibcLocales ];
-  propagatedBuildInputs = with python3.pkgs;
-    [ atomicwrites click click-log click-repl configobj humanize icalendar parsedatetime
-      python-dateutil pyxdg tabulate urwid ];
+  checkInputs = with python3.pkgs; [
+    flake8
+    flake8-import-order
+    freezegun
+    hypothesis
+    pytest
+    pytestrunner
+    pytestcov
+    glibcLocales
+  ];
 
-  checkInputs = with python3.pkgs;
-    [ flake8 flake8-import-order freezegun hypothesis pytest pytestrunner pytestcov ];
-
-  makeWrapperArgs = [ "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive"
-                      "--set CHARSET en_us.UTF-8" ];
+  LC_ALL = "en_US.UTF-8";
 
   postInstall = ''
     installShellCompletion --bash contrib/completion/bash/_todo
diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix
index 3d577a8852ed8..217f1fd85d62b 100644
--- a/pkgs/applications/office/trilium/default.nix
+++ b/pkgs/applications/office/trilium/default.nix
@@ -1,7 +1,7 @@
 { stdenv, nixosTests, fetchurl, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem, gtk3, wrapGAppsHook, zlib, libxkbfile }:
 
 let
-  description = "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.";
+  description = "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases";
   desktopItem = makeDesktopItem {
     name = "Trilium";
     exec = "trilium";
diff --git a/pkgs/applications/office/vnote/default.nix b/pkgs/applications/office/vnote/default.nix
index 80b6ef6243ca9..b266ce86e2acc 100644
--- a/pkgs/applications/office/vnote/default.nix
+++ b/pkgs/applications/office/vnote/default.nix
@@ -3,7 +3,7 @@
 let
   description = "A note-taking application that knows programmers and Markdown better";
 in mkDerivation rec {
-  version = "2.8.2";
+  version = "2.10";
   pname = "vnote";
 
   src = fetchFromGitHub {
@@ -11,7 +11,7 @@ in mkDerivation rec {
     repo = "vnote";
     fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "18qffq5c2plr5rjb5lafhdz1v5kbbb2wiyacgdhh3xni3khni52l";
+    sha256 = "EeeVGnKI0irLO1zJQxlVlIUhqG987JIgxNvKpUgLxUQ=";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/office/wordgrinder/default.nix b/pkgs/applications/office/wordgrinder/default.nix
index 6438bed482851..e50e319f319c1 100644
--- a/pkgs/applications/office/wordgrinder/default.nix
+++ b/pkgs/applications/office/wordgrinder/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wordgrinder";
-  version = "0.7.2";
+  version = "0.8";
 
   src = fetchFromGitHub {
     repo = "wordgrinder";
     owner = "davidgiven";
     rev = version;
-    sha256 = "08lnq5wmspfqdjmqm15gizcq0xr7mg4h62qhvwj63v0sd6ks1cal";
+    sha256 = "124d1bnn2aqs6ik8pdazzni6a0583prz9lfdjrbwyb97ipqga9pm";
   };
 
   makeFlags = [
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
 
   dontUseNinjaBuild = true;
   dontUseNinjaInstall = true;
+  dontConfigure = true;
 
   nativeBuildInputs = [
     pkgconfig
@@ -33,11 +34,12 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    libXft
     lua52Packages.lua
     ncurses
     readline
     zlib
+  ] ++ stdenv.lib.optionals stdenv.isLinux [
+    libXft
   ];
 
   # To be able to find <Xft.h>
diff --git a/pkgs/applications/office/zanshin/default.nix b/pkgs/applications/office/zanshin/default.nix
index 18e7629749646..e3b9408ed96db 100644
--- a/pkgs/applications/office/zanshin/default.nix
+++ b/pkgs/applications/office/zanshin/default.nix
@@ -1,10 +1,18 @@
-{
-  mkDerivation, lib,
-  fetchurl,
-  extra-cmake-modules,
-  qtbase, boost,
-  akonadi-calendar, akonadi-notes, akonadi-search, kidentitymanagement, kontactinterface, kldap,
-  krunner, kwallet, kcalendarcore
+{ mkDerivation
+, lib
+, fetchurl
+, extra-cmake-modules
+, qtbase
+, boost
+, akonadi-calendar
+, akonadi-notes
+, akonadi-search
+, kidentitymanagement
+, kontactinterface
+, kldap
+, krunner
+, kwallet
+, kcalendarcore
 }:
 
 mkDerivation rec {
@@ -21,9 +29,17 @@ mkDerivation rec {
   ];
 
   buildInputs = [
-    qtbase boost
-    akonadi-calendar akonadi-notes akonadi-search kidentitymanagement kontactinterface kldap
-    krunner kwallet kcalendarcore
+    qtbase
+    boost
+    akonadi-calendar
+    akonadi-notes
+    akonadi-search
+    kidentitymanagement
+    kontactinterface
+    kldap
+    krunner
+    kwallet
+    kcalendarcore
   ];
 
   meta = with lib; {
@@ -32,5 +48,6 @@ mkDerivation rec {
     maintainers = with maintainers; [ zraexy ];
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/radio/aldo/default.nix b/pkgs/applications/radio/aldo/default.nix
index df52531a518d7..83bb520272ea3 100644
--- a/pkgs/applications/radio/aldo/default.nix
+++ b/pkgs/applications/radio/aldo/default.nix
@@ -1,14 +1,19 @@
-{ stdenv, fetchurl, libao }:
+{ stdenv, fetchgit, libao, autoreconfHook }:
 
-stdenv.mkDerivation rec {
+let
   pname = "aldo";
-  version = "0.7.7";
+  version = "0.7.8";
+in stdenv.mkDerivation {
+  inherit pname version;
 
-  src = fetchurl {
-    url = "mirror://savannah/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "14lzgldqzbbzydsy1cai3wln3hpyj1yhj8ji3wygyzr616fq9f7i";
+  src = fetchgit {
+    url = "git://git.savannah.gnu.org/${pname}.git";
+    rev = "v${version}";
+    sha256 = "0swvdq0pw1msy40qkpn1ar9kacqjyrw2azvf2fy38y0svyac8z2i";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   buildInputs = [ libao ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/radio/dump1090/default.nix b/pkgs/applications/radio/dump1090/default.nix
index 11c5c46ae6810..6e70a9f8d0327 100644
--- a/pkgs/applications/radio/dump1090/default.nix
+++ b/pkgs/applications/radio/dump1090/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dump1090";
-  version = "3.8.1";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "flightaware";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xg8rzrxqklx1m9ncxsd96dlkbjcsxfi2mrb859v50f07xysdyd8";
+    sha256 = "1zacsqaqsiapljhzw31dwc4nld2rp98jm3ivkyznrhzk9n156p42";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/radio/ebook2cw/Makefile.patch b/pkgs/applications/radio/ebook2cw/Makefile.patch
new file mode 100644
index 0000000000000..be6c32e414701
--- /dev/null
+++ b/pkgs/applications/radio/ebook2cw/Makefile.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile b/Makefile
+index 005d60d..f69c7fe 100644
+--- a/Makefile
++++ b/Makefile
+@@ -41,6 +41,7 @@ install:
+ 	install -d -v                      $(DESTDIR)/bin/
+ 	install -d -v                      $(DESTDIR)/share/doc/ebook2cw/
+ 	install -d -v                      $(DESTDIR)/share/doc/ebook2cw/examples/
++	install -d -v                      $(DESTDIR)/share/locale/de/LC_MESSAGES/
+ 	install -s -m 0755 ebook2cw        $(DESTDIR)/bin/
+ 	install    -m 0644 ebook2cw.1      $(DESTDIR)/share/man/man1/
+ 	install    -m 0644 README          $(DESTDIR)/share/doc/ebook2cw/
diff --git a/pkgs/applications/radio/ebook2cw/configfile.patch b/pkgs/applications/radio/ebook2cw/configfile.patch
deleted file mode 100644
index c7aafe5227a53..0000000000000
--- a/pkgs/applications/radio/ebook2cw/configfile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/ebook2cw.c	2017-11-08 19:52:58.298131348 -0700
-+++ b/ebook2cw.c	2017-11-08 19:53:02.588231067 -0700
-@@ -136,7 +136,7 @@
- 	char isomap[256][4]; 		/* by these strings */
- 	char utf8map[256][8];
- 
--	char configfile[1025];
-+	char configfile[2048];
- 
- 	char id3_author[80],
- 		id3_title[80],
diff --git a/pkgs/applications/radio/ebook2cw/default.nix b/pkgs/applications/radio/ebook2cw/default.nix
index d273594f4c90c..5bd9e47ab7163 100644
--- a/pkgs/applications/radio/ebook2cw/default.nix
+++ b/pkgs/applications/radio/ebook2cw/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchsvn, lame, libvorbis }:
+{ stdenv, fetchgit, lame, libvorbis, gettext }:
 
 stdenv.mkDerivation rec {
   pname = "ebook2cw";
-  version = "0.8.2";
+  version = "0.8.3";
 
-  src = fetchsvn {
-    url = "svn://svn.fkurz.net/ebook2cw/tags/${pname}-${version}";
-    sha256 = "1mvp3nz3k76v757792n9b7fcm5jm3jcwarl1k7cila9fi0c2rsiw";
+  src = fetchgit {
+    url = "https://git.fkurz.net/dj1yfk/ebook2cw.git";
+    rev = "${pname}-${version}";
+    sha256 = "0jqmnjblv3wzr0ppqzndzd8wg02nlkvzg1fqw14vyyp76sdjsh46";
   };
 
-  buildInputs = [ lame libvorbis ];
+  buildInputs = [ lame libvorbis gettext ];
 
-  patches = [ ./configfile.patch ];
+  patches = [ ./Makefile.patch ];
 
   makeFlags = [ "DESTDIR=$(out)" ];
 
diff --git a/pkgs/applications/radio/fldigi/default.nix b/pkgs/applications/radio/fldigi/default.nix
index af93b7ee65d6d..5f7ee88a029b6 100644
--- a/pkgs/applications/radio/fldigi/default.nix
+++ b/pkgs/applications/radio/fldigi/default.nix
@@ -2,12 +2,12 @@
   libsamplerate, libpulseaudio, libXinerama, gettext, pkgconfig, alsaLib }:
 
 stdenv.mkDerivation rec {
-  version = "4.1.14";
+  version = "4.1.16";
   pname = "fldigi";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0hr6xbv01xf7z4r2jxxhn8xjdmca2198q4m9glh4877dllvfq6xj";
+    sha256 = "1dfkvhs0ri5kbyskk730ik8ix5z138qys26b31p6kixd8jjkw3k4";
   };
 
   buildInputs = [ libXinerama gettext hamlib fltk14 libjpeg libpng portaudio
diff --git a/pkgs/applications/radio/flmsg/default.nix b/pkgs/applications/radio/flmsg/default.nix
index e437dffa48563..fa3f175fcc567 100644
--- a/pkgs/applications/radio/flmsg/default.nix
+++ b/pkgs/applications/radio/flmsg/default.nix
@@ -6,12 +6,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.14";
+  version = "4.0.17";
   pname = "flmsg";
 
   src = fetchurl {
     url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
-    sha256 = "0s1prawkpvr7xr7h8w7r0ly90ya3n8h6qsii0x6laqrkgjn9w9iy";
+    sha256 = "09xf3f65d3qi69frznf4fdznbfbc7kmgxw716q2c7ccsmh9c5q44";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/radio/flrig/default.nix b/pkgs/applications/radio/flrig/default.nix
index d95d894bdef74..d7c4b03596625 100644
--- a/pkgs/applications/radio/flrig/default.nix
+++ b/pkgs/applications/radio/flrig/default.nix
@@ -6,12 +6,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.51";
+  version = "1.3.52";
   pname = "flrig";
 
   src = fetchurl {
     url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
-    sha256 = "0aq4x0ai9q08ypfhzfj2inc4z3q39zq1l6h9as1kil9yn4zbay61";
+    sha256 = "18c154080vl25cy4l5amh96abm6kzm7mzld9h58pabc28yqq8zl8";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/radio/gqrx/default.nix b/pkgs/applications/radio/gqrx/default.nix
index 33b858799e2a9..106d2103ec400 100644
--- a/pkgs/applications/radio/gqrx/default.nix
+++ b/pkgs/applications/radio/gqrx/default.nix
@@ -9,13 +9,13 @@ assert pulseaudioSupport -> libpulseaudio != null;
 
 mkDerivation rec {
   pname = "gqrx";
-  version = "2.12.1";
+  version = "2.13.5";
 
   src = fetchFromGitHub {
     owner = "csete";
     repo = "gqrx";
     rev = "v${version}";
-    sha256 = "00alf3q6y313xpx6p7v43vqsphd2x4am4q362lw21bcy9wc4jidw";
+    sha256 = "168wjad5g0ka555hwsciwbj7fqx1c89q59hq1yxj8aiyp5kfcahx";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/radio/limesuite/default.nix b/pkgs/applications/radio/limesuite/default.nix
index 013b4978b56a5..25f49c3a2d653 100644
--- a/pkgs/applications/radio/limesuite/default.nix
+++ b/pkgs/applications/radio/limesuite/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "limesuite";
-  version = "20.07.2";
+  version = "20.10.0";
 
   src = fetchFromGitHub {
     owner = "myriadrf";
     repo = "LimeSuite";
     rev = "v${version}";
-    sha256 = "0v0w0f5ff1gwpfy13x1q1jsx9xfg4s3ccg05ikpnkzj4yg6sjps1";
+    sha256 = "04wzfhzqmxjsa6bgcr4zd518fln9rbwnbabf48kha84d70vzkdlx";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/radio/noaa-apt/default.nix b/pkgs/applications/radio/noaa-apt/default.nix
index 55703ea44d6da..01dc7b5c30dbc 100644
--- a/pkgs/applications/radio/noaa-apt/default.nix
+++ b/pkgs/applications/radio/noaa-apt/default.nix
@@ -13,13 +13,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "noaa-apt";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "martinber";
     repo = "noaa-apt";
     rev = "v${version}";
-    sha256 = "0fqki4a9c54rixdz5bpswvn433f9saw6yazgw4av3xdd7g2fdvvj";
+    sha256 = "0fmbg6lw7lmm402hzddpzgi7y9mc6kic14x8rif7fampk20mv3ms";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
     pango
   ];
 
-  cargoSha256 = "1pzcq31inazmc9cz31fspzqkp0lpkjid8ai3g17sin1pfzby5jlh";
+  cargoSha256 = "0w4rbbz8lsh31xkgibzndiic47690nfcjrn1411dskf7ali6djy8";
 
   preBuild = ''
     # Used by macro pointing to resource location at compile time.
@@ -55,10 +55,11 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "NOAA APT image decoder.";
-    homepage = "http://noaa-apt.mbernardi.com.ar/";
+    description = "NOAA APT image decoder";
+    homepage = "https://noaa-apt.mbernardi.com.ar/";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ trepetti ];
+    platforms = platforms.all;
     changelog = "https://github.com/martinber/noaa-apt/releases/tag/v${version}";
   };
 }
diff --git a/pkgs/applications/radio/quisk/default.nix b/pkgs/applications/radio/quisk/default.nix
new file mode 100644
index 0000000000000..86edfadcce11c
--- /dev/null
+++ b/pkgs/applications/radio/quisk/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, python38Packages, fetchPypi
+, fftw, alsaLib, pulseaudio, wxPython_4_0 }:
+
+python38Packages.buildPythonApplication rec {
+  pname = "quisk";
+  version = "4.1.73";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "37dfb02a32341025c086b07d66ddf1608d4ee1ae1c62fb51f87c97662f13e0d8";
+  };
+
+  buildInputs = [ fftw alsaLib pulseaudio ];
+
+  propagatedBuildInputs = [ wxPython_4_0 ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A SDR transceiver for radios that use the Hermes protocol";
+    longDescription = ''
+      QUISK is a Software Defined Radio (SDR) transceiver. You supply radio
+      hardware that converts signals at the antenna to complex (I/Q) data at an
+      intermediate frequency (IF). Data can come from a sound card, Ethernet or
+      USB. Quisk then filters and demodulates the data and sends the audio to
+      your speakers or headphones. For transmit, Quisk takes the microphone
+      signal, converts it to I/Q data and sends it to the hardware.
+
+      Quisk can be used with SoftRock, Hermes Lite 2, HiQSDR, Odyssey and many
+      radios that use the Hermes protocol. Quisk can connect to digital
+      programs like Fldigi and WSJT-X. Quisk can be connected to other software
+      like N1MM+ and software that uses Hamlib.
+    '';
+    license = licenses.gpl2Plus;
+    homepage = "https://james.ahlstrom.name/quisk/";
+    maintainers = with maintainers; [ pulsation ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/radio/rtl-sdr/default.nix b/pkgs/applications/radio/rtl-sdr/default.nix
index 8fb5154ff7887..7e044296b02cc 100644
--- a/pkgs/applications/radio/rtl-sdr/default.nix
+++ b/pkgs/applications/radio/rtl-sdr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, pkgconfig, libusb1 }:
+{ stdenv, fetchgit, fetchpatch, cmake, pkgconfig, libusb1 }:
 
 stdenv.mkDerivation rec {
   pname = "rtl-sdr";
@@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
     sha256 = "0lmvsnb4xw4hmz6zs0z5ilsah5hjz29g1s0050n59fllskqr3b8k";
   };
 
+  patches = [ (fetchpatch {
+    name = "hardened-udev-rules.patch";
+    url = "https://osmocom.org/projects/rtl-sdr/repository/revisions/b2814731563be4d5a0a68554ece6454a2c63af12/diff?format=diff";
+    sha256 = "0ns740s2rys4glq4la4bh0sxfv1mn61yfjns2yllhx70rsb2fqrn";
+  }) ];
+
   nativeBuildInputs = [ pkgconfig cmake ];
   buildInputs = [ libusb1 ];
 
diff --git a/pkgs/applications/radio/rtl_433/default.nix b/pkgs/applications/radio/rtl_433/default.nix
index 78d0f8befc981..c84160c19eaee 100644
--- a/pkgs/applications/radio/rtl_433/default.nix
+++ b/pkgs/applications/radio/rtl_433/default.nix
@@ -1,25 +1,26 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
 , libusb1, rtl-sdr, soapysdr-with-plugins
 }:
 
-stdenv.mkDerivation {
-
-  version = "20.02";
+stdenv.mkDerivation rec {
+  version = "20.11";
   pname = "rtl_433";
 
   src = fetchFromGitHub {
     owner = "merbanan";
     repo = "rtl_433";
-    rev = "20.02";
-    sha256 = "11991xky9gawkragdyg27qsf7kw5bhlg7ygvf3fn7ng00x4xbh1z";
+    rev = version;
+    sha256 = "093bxjxkg7yf78wqj5gpijbfa2p05ny09qqsj84kzi1svnzsa369";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  nativeBuildInputs = [ pkgconfig cmake ];
 
   buildInputs = [ libusb1 rtl-sdr soapysdr-with-plugins ];
 
+  doCheck = true;
+
   meta = with stdenv.lib; {
-    description = "Decode traffic from devices that broadcast on 433.9 MHz";
+    description = "Decode traffic from devices that broadcast on 433.9 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz";
     homepage = "https://github.com/merbanan/rtl_433";
     license = licenses.gpl2;
     maintainers = with maintainers; [ earldouglas ];
diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix
index 6d0a19334decc..dd8c56610c287 100644
--- a/pkgs/applications/radio/sdrangel/default.nix
+++ b/pkgs/applications/radio/sdrangel/default.nix
@@ -13,47 +13,40 @@ libav,
 libiio,
 libopus,
 libpulseaudio,
-libusb-compat-0_1,
+libusb1,
 limesuite,
+libbladeRF,
 mkDerivation,
 ocl-icd,
 opencv3,
 pkgconfig,
 qtbase,
 qtmultimedia,
+qtserialport,
 qtwebsockets,
 rtl-sdr,
-serialdv
+serialdv,
+uhd
 }:
 
-let
-
-  codec2' = codec2.overrideAttrs (old: {
-    src = fetchFromGitHub {
-      owner = "drowe67";
-      repo = "codec2";
-      rev = "567346818c0d4d697773cf66d925fdb031e15668";
-      sha256 = "0ngqlh2cw5grx2lg7xj8baz6p55gfhq4caggxkb4pxlg817pwbpa";
-    };
-  });
-
-in mkDerivation rec {
+mkDerivation rec {
   pname = "sdrangel";
-  version = "4.11.12";
+  version = "4.21.1";
 
   src = fetchFromGitHub {
     owner = "f4exb";
     repo = "sdrangel";
     rev = "v${version}";
-    sha256 = "0zbx0gklylk8npb3wnnmqpam0pdxl40f20i3wzwwh4gqrppxywzx";
+    sha256 = "y6BVwnSJXiapgm9pAuby1DLLeU5MSyB4uqEa3oS35/U=";
     fetchSubmodules = false;
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [
-    glew opencv3 libusb-compat-0_1 boost libopus limesuite libav libiio libpulseaudio
+    glew opencv3 libusb1 boost libopus limesuite libav libiio libpulseaudio
     qtbase qtwebsockets qtmultimedia rtl-sdr airspy hackrf
-    fftwFloat codec2' cm256cc serialdv
+    fftwFloat codec2 cm256cc serialdv qtserialport
+    libbladeRF uhd
   ];
   cmakeFlags = [
     "-DLIBSERIALDV_INCLUDE_DIR:PATH=${serialdv}/include/serialdv"
diff --git a/pkgs/applications/radio/urh/default.nix b/pkgs/applications/radio/urh/default.nix
index 730b679ba61e7..5411571113d54 100644
--- a/pkgs/applications/radio/urh/default.nix
+++ b/pkgs/applications/radio/urh/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urh";
-  version = "2.8.8";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0knymy85n9kxj364jpxjc4v9c238b00nl40rafi1ripkqx36bsfv";
+    sha256 = "1pcyj1vzv51j8rgi0hh9chw3vfkfi03bg1rg7gs4nk95ffmwx4pd";
   };
 
   nativeBuildInputs = [ qt5.wrapQtAppsHook ];
diff --git a/pkgs/applications/science/astronomy/astrolabe-generator/default.nix b/pkgs/applications/science/astronomy/astrolabe-generator/default.nix
index cb3f3131ea14a..4a6bdd9d1e9cf 100644
--- a/pkgs/applications/science/astronomy/astrolabe-generator/default.nix
+++ b/pkgs/applications/science/astronomy/astrolabe-generator/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.astrolabeproject.com";
     description = "A Java-based tool for generating EPS files for constructing astrolabes and related tools";
     license = licenses.gpl3;
-    maintainers = [ maintainers.genesis ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/science/astronomy/kstars/default.nix b/pkgs/applications/science/astronomy/kstars/default.nix
index 0b53e3e85ac3d..fde8df6104854 100644
--- a/pkgs/applications/science/astronomy/kstars/default.nix
+++ b/pkgs/applications/science/astronomy/kstars/default.nix
@@ -1,27 +1,30 @@
 {
-  mkDerivation, lib, fetchgit,
-  extra-cmake-modules,
+  stdenv, extra-cmake-modules, fetchurl,
 
   kconfig, kdoctools, kguiaddons, ki18n, kinit, kiconthemes, kio,
-  knewstuff, kplotting, kwidgetsaddons, kxmlgui,
+  knewstuff, kplotting, kwidgetsaddons, kxmlgui, wrapQtAppsHook,
 
   qtx11extras, qtwebsockets,
 
   eigen, zlib,
 
-  cfitsio, indilib, xplanet
+  cfitsio, indilib, xplanet, libnova, gsl
 }:
 
-mkDerivation {
-  name = "kstars";
-  
-  src = fetchgit {
-    url = "https://anongit.kde.org/kstars.git";
-    rev = "7acc527939280edd22823371dc4e22494c6c626a";
-    sha256 = "1n1lgi7p3dj893fdnzjbnrha40p4apl0dy8zppcabxwrb1khb84v";
+stdenv.mkDerivation rec {
+  pname = "kstars";
+  version = "3.4.3";
+
+  src = fetchurl {
+    url = "https://mirrors.mit.edu/kde/stable/kstars/kstars-${version}.tar.xz";
+    sha256 = "0j5yxg6ay6sic194skz6vjzg6yvrpb3gvypvs0frjrcjbsl1j4f8";
   };
-  
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+
+  patches = [
+    ./indi-fix.patch
+  ];
+
+  nativeBuildInputs = [ extra-cmake-modules kdoctools wrapQtAppsHook ];
   buildInputs = [
     kconfig kdoctools kguiaddons ki18n kinit kiconthemes kio
     knewstuff kplotting kwidgetsaddons kxmlgui
@@ -30,10 +33,14 @@ mkDerivation {
 
     eigen zlib
 
-    cfitsio indilib xplanet
+    cfitsio indilib xplanet libnova gsl
+  ];
+
+  cmakeFlags = [
+    "-DINDI_NIX_ROOT=${indilib}"
   ];
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "Virtual planetarium astronomy software";
     homepage = "https://kde.org/applications/education/org.kde.kstars";
     longDescription = ''
diff --git a/pkgs/applications/science/astronomy/kstars/indi-fix.patch b/pkgs/applications/science/astronomy/kstars/indi-fix.patch
new file mode 100644
index 0000000000000..9ff9f8a31dd3c
--- /dev/null
+++ b/pkgs/applications/science/astronomy/kstars/indi-fix.patch
@@ -0,0 +1,50 @@
+--- CMakeLists.txt	2020-11-02 13:58:06.119743710 -0600
++++ kstars-3.4.3/CMakeLists.txt	2020-11-02 14:05:01.707799274 -0600
+@@ -4,5 +4,7 @@
+ set (KStars_VERSION_REVISION 3)
+ set (CMAKE_CXX_STANDARD 11)
+ 
++add_definitions(-DINDI_NIX_ROOT=${INDI_NIX_ROOT})
++
+ # Build KStars Lite with -DBUILD_KSTARS_LITE=ON
+ option(BUILD_KSTARS_LITE "Build KStars Lite" OFF)
+
+--- ksutils.cpp	2020-11-02 13:47:44.883596916 -0600
++++ kstars-3.4.3/kstars/auxiliary/ksutils.cpp	2020-11-02 17:41:44.961937090 -0600
+@@ -1076,6 +1076,9 @@
+ {
+     QString snap = QProcessEnvironment::systemEnvironment().value("SNAP");
+     QString flat = QProcessEnvironment::systemEnvironment().value("FLATPAK_DEST");
++#define STR_EXPAND(x) #x
++#define STR(x) STR_EXPAND(x)
++    QString nix = QString(STR(INDI_NIX_ROOT));
+ 
+     if (option == "fitsDir")
+     {
+@@ -1089,7 +1091,7 @@
+         if (flat.isEmpty() == false)
+             return flat + "/bin/indiserver";
+         else
+-            return snap + "/usr/bin/indiserver";
++            return nix + "/bin/indiserver";
+     }
+     else if (option == "INDIHubAgent")
+     {
+@@ -1099,7 +1101,7 @@
+         if (flat.isEmpty() == false)
+             return flat + "/bin/indihub-agent";
+         else
+-            return snap + "/usr/bin/indihub-agent";
++            return nix + "/bin/indihub-agent";
+     }
+     else if (option == "indiDriversDir")
+     {
+@@ -1109,7 +1111,7 @@
+         if (flat.isEmpty() == false)
+             return flat + "/share/indi";
+         else
+-            return snap + "/usr/share/indi";
++            return nix + "/share/indi";
+ #else
+         return QStandardPaths::locate(QStandardPaths::GenericDataLocation, "indi", QStandardPaths::LocateDirectory);
+ #endif
diff --git a/pkgs/applications/science/astronomy/phd2/default.nix b/pkgs/applications/science/astronomy/phd2/default.nix
new file mode 100644
index 0000000000000..98afba77c4f02
--- /dev/null
+++ b/pkgs/applications/science/astronomy/phd2/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, pkg-config, cmake, gtk3,
+  wxGTK30-gtk3, curl, gettext, glib, indilib, libnova }:
+
+stdenv.mkDerivation rec {
+  pname = "phd2";
+  version = "2.6.9dev1";
+
+  src = fetchFromGitHub {
+    owner = "OpenPHDGuiding";
+    repo = "phd2";
+    rev = "v${version}";
+    sha256 = "1ih7m9lilh12xbhmwm9kkicaqy72mi3firl6df7m5x38n2zj3zm4";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ gtk3 wxGTK30-gtk3 curl gettext glib indilib libnova ];
+
+  cmakeFlags = [
+    "-DOPENSOURCE_ONLY=1"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://openphdguiding.org/";
+    description = "Telescope auto-guidance application";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ hjones2199 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/science/biology/bedtools/default.nix b/pkgs/applications/science/biology/bedtools/default.nix
index 332e06ea0cf5a..f92e912f6800e 100644
--- a/pkgs/applications/science/biology/bedtools/default.nix
+++ b/pkgs/applications/science/biology/bedtools/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   installPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cxx} CC=${cc} install";
 
   meta = with stdenv.lib; {
-    description = "A powerful toolset for genome arithmetic.";
+    description = "A powerful toolset for genome arithmetic";
     license = licenses.gpl2;
     homepage = "https://bedtools.readthedocs.io/en/latest/";
     maintainers = with maintainers; [ jbedo ];
diff --git a/pkgs/applications/science/biology/dcm2niix/default.nix b/pkgs/applications/science/biology/dcm2niix/default.nix
index 59b173ac98cd6..cfd1206f2314f 100644
--- a/pkgs/applications/science/biology/dcm2niix/default.nix
+++ b/pkgs/applications/science/biology/dcm2niix/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libyamlcpp ];
 
   meta = with stdenv.lib; {
-    description = "dcm2niix DICOM to NIfTI converter";
+    description = "DICOM to NIfTI converter";
     longDescription = ''
       dcm2niix is a designed to convert neuroimaging data from the
       DICOM format to the NIfTI format.
diff --git a/pkgs/applications/science/biology/deeptools/default.nix b/pkgs/applications/science/biology/deeptools/default.nix
index 8787c96e5b032..2621c5bbf037f 100644
--- a/pkgs/applications/science/biology/deeptools/default.nix
+++ b/pkgs/applications/science/biology/deeptools/default.nix
@@ -1,14 +1,14 @@
-{ lib
-, python
-}:
+{ lib, python, fetchFromGitHub }:
 with python.pkgs;
 buildPythonApplication rec {
   pname = "deepTools";
-  version = "3.4.1";
+  version = "3.5.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "05zw9gk17hz08hns5lnhn7l13idg9jdz4gdba6m6gbr84yz149gs";
+  src = fetchFromGitHub {
+    owner = "deeptools";
+    repo = "deepTools";
+    rev = version;
+    sha256 = "1bz8ln32mfc9k8l9wgp034vw80dxh6f92dfqxhcrpggk4akwj6ml";
   };
 
   propagatedBuildInputs = [
@@ -23,7 +23,7 @@ buildPythonApplication rec {
     deeptoolsintervals
   ];
 
-  checkInputs = [ pytest ];
+  checkInputs = [ nose ];
 
   meta = with lib; {
     homepage = "https://deeptools.readthedocs.io/en/develop";
diff --git a/pkgs/applications/science/biology/delly/default.nix b/pkgs/applications/science/biology/delly/default.nix
index a6c45f8aa44e1..6acdc53544c76 100644
--- a/pkgs/applications/science/biology/delly/default.nix
+++ b/pkgs/applications/science/biology/delly/default.nix
@@ -1,25 +1,16 @@
 { stdenv, fetchpatch, fetchFromGitHub, htslib, zlib, bzip2, lzma, ncurses, boost }:
 
-let
-  htslibPatch = fetchpatch {
-    url = "https://github.com/dellytools/delly/commit/0e5c710b0c5ea790bb39699d4cbd49cf4fb86f14.diff";
-    sha256 = "09bz1qqvzhdzm99hf9zgrv80kq9jlr1m2mdvx96p2hk5lpnbdl7y";
-    excludes = [ "src/htslib" ];
-  };
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "delly";
-  version = "0.8.2";
+  version = "0.8.5";
 
   src = fetchFromGitHub {
       owner = "dellytools";
       repo = pname;
       rev = "v${version}";
-      sha256 = "14bkmixz7737xj192ww96s3a20zc7xs7r04db8avw3ggi3i1s1cs";
+      sha256 = "1af1y20hd8x2yvix0gjvx038w7chf4fiyr68ny5yvrx5b2gw0vbq";
   };
 
-  patches = [ htslibPatch ];
-
   buildInputs = [ zlib htslib bzip2 lzma ncurses boost ];
 
   EBROOTHTSLIB = htslib;
@@ -34,7 +25,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Structural variant caller for mapped DNA sequenced data";
-    license = licenses.gpl3;
+    license = licenses.bsd3;
     maintainers = with maintainers; [ scalavision ];
     platforms = platforms.linux;
     longDescription = ''
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index bc4f1677fc983..86a16c4f04748 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "igv";
-  version = "2.8.9";
+  version = "2.8.12";
   src = fetchzip {
     url = "https://data.broadinstitute.org/igv/projects/downloads/2.8/IGV_${version}.zip";
-    sha256 = "1874w1xprv91caz1ymfxilq6inhj36xzx8j9m0mcyp0qfvfvyjp7";
+    sha256 = "0zxmk417j9s5nms0np1fsip7r0jhwkj1d1x424ljr9krcb2zwcyq";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/science/biology/kallisto/default.nix b/pkgs/applications/science/biology/kallisto/default.nix
index 5a1bb187886be..014ae14cc7948 100644
--- a/pkgs/applications/science/biology/kallisto/default.nix
+++ b/pkgs/applications/science/biology/kallisto/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = false;
 
   meta = with stdenv.lib; {
-    description = "Kallisto is a program for quantifying abundances of transcripts from RNA-Seq data";
+    description = "Program for quantifying abundances of transcripts from RNA-Seq data";
     homepage = "https://pachterlab.github.io/kallisto";
     license = licenses.bsd2;
     platforms = platforms.linux;
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix
index 13f6a23913fcf..0976e5a108029 100644
--- a/pkgs/applications/science/biology/last/default.nix
+++ b/pkgs/applications/science/biology/last/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "last";
-  version = "1066";
+  version = "1145";
 
   src = fetchurl {
     url = "http://last.cbrc.jp/last-${version}.zip";
-    sha256 = "098j3f3a80rmhd01ds7rnb9y1xykmll2yh5ivpnvskssd8z2vc4r";
+    sha256 = "0g54nmxxrirgid1i1k5i6rf7vnjpk9548sy06yqb4fj7vdzqgq99";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/science/biology/lumpy/default.nix b/pkgs/applications/science/biology/lumpy/default.nix
new file mode 100644
index 0000000000000..f6267a2e017f8
--- /dev/null
+++ b/pkgs/applications/science/biology/lumpy/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchFromGitHub, htslib, zlib, curl, openssl, samblaster, sambamba
+, samtools, hexdump, python2Packages, which }:
+
+let
+  python =
+    python2Packages.python.withPackages (pkgs: with pkgs; [ pysam numpy ]);
+
+in stdenv.mkDerivation rec {
+  pname = "lumpy";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "arq5x";
+    repo = "lumpy-sv";
+    rev = "v${version}";
+    sha256 = "0r71sg7qch8r6p6dw995znrqdj6q49hjdylhzbib2qmv8nvglhs9";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ which ];
+  buildInputs =
+    [ htslib zlib curl openssl python samblaster sambamba samtools hexdump ];
+
+  preConfigure = ''
+    patchShebangs ./.
+
+    # Use Nix htslib over bundled version
+    sed -i 's/lumpy_filter: htslib/lumpy_filter:/' Makefile
+    sed -i 's|../../lib/htslib/libhts.a|-lhts|' src/filter/Makefile
+    # Also make sure we use the includes from Nix's htslib
+    sed -i 's|../../lib/htslib/|${htslib}|' src/filter/Makefile
+  '';
+
+  # Upstream's makefile doesn't have an install target
+  installPhase = ''
+    mkdir -p $out
+    cp -r bin $out
+    cp -r scripts $out
+    sed -i 's|/build/source|'$out'|' $out/bin/lumpyexpress.config
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Probabilistic structural variant caller";
+    homepage = "https://github.com/arq5x/lumpy-sv";
+    maintainers = with maintainers; [ jbedo ];
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" ];
+  };
+
+}
diff --git a/pkgs/applications/science/biology/mosdepth/default.nix b/pkgs/applications/science/biology/mosdepth/default.nix
index 1ce6357d2e813..d2b05943f7cea 100644
--- a/pkgs/applications/science/biology/mosdepth/default.nix
+++ b/pkgs/applications/science/biology/mosdepth/default.nix
@@ -17,13 +17,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "mosdepth";
-  version = "0.2.9";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "brentp";
     repo = "mosdepth";
     rev = "v${version}";
-    sha256 = "01gm9gj2x2zs4yx6wk761fi1papi7qr3gp4ln1kkn8n2f9y9h849";
+    sha256 = "1kcrvamrafz1m0s7mlbhaay8jyg97l1w37p6syl36r2m1plmwxjd";
   };
 
   nativeBuildInputs = [ nim ];
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
   installPhase = "install -Dt $out/bin mosdepth";
 
   meta = with stdenv.lib; {
-    description = "fast BAM/CRAM depth calculation for WGS, exome, or targeted sequencing.";
+    description = "fast BAM/CRAM depth calculation for WGS, exome, or targeted sequencing";
     license = licenses.mit;
     homepage = "https://github.com/brentp/mosdepth";
     maintainers = with maintainers; [ jbedo ];
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index d496e78748d95..0353f2e7cebdd 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.23.4";
+  version = "2.23.8";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "0xg4nbx02a2kckr6p8pqjpv5rmp95bkmglgm1bma6f77s7hkab7q";
+    sha256 = "0aflbsxzc2pcp195bbgwk6zqabq0pszc41s1pw17khn8ywl2jjr2";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/biology/plink/default.nix b/pkgs/applications/science/biology/plink/default.nix
deleted file mode 100644
index 009e12aa02f0f..0000000000000
--- a/pkgs/applications/science/biology/plink/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, zlib, unzip }:
-
-stdenv.mkDerivation {
-  name = "plink-1.07";
-
-  src = fetchurl {
-    url = "http://pngu.mgh.harvard.edu/~purcell/plink/dist/plink-1.07-src.zip";
-    sha256 = "4af56348443d0c6a1db64950a071b1fcb49cc74154875a7b43cccb4b6a7f482b";
-  };
-
-  buildInputs = [ zlib unzip ] ;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp plink $out/bin
-  '';
-  
-  meta = {
-    description = "Whole genome association toolkit";
-    homepage = "http://pngu.mgh.harvard.edu/~purcell/plink/";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.all;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/science/biology/sambamba/default.nix b/pkgs/applications/science/biology/sambamba/default.nix
new file mode 100644
index 0000000000000..7e33a66121890
--- /dev/null
+++ b/pkgs/applications/science/biology/sambamba/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, python3, which, dmd, ldc, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "sambamba";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "biod";
+    repo = "sambamba";
+    rev = "v${version}";
+    sha256 = "0k5wy06zrbsc40x6answgz7rz2phadyqwlhi9nqxbfqanbg9kq20";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ which python3 dmd ldc ];
+  buildInputs = [ zlib ];
+
+  # Upstream's install target is broken; copy manually
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/sambamba-${version} $out/bin/sambamba
+  '';
+
+  meta = with stdenv.lib; {
+    description = "SAM/BAM processing tool";
+    homepage = "https://lomereiter.github.io/sambamba/";
+    maintainers = with maintainers; [ jbedo ];
+    license = with licenses; gpl2;
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/pkgs/applications/science/biology/samblaster/default.nix b/pkgs/applications/science/biology/samblaster/default.nix
new file mode 100644
index 0000000000000..6846e3c84fae4
--- /dev/null
+++ b/pkgs/applications/science/biology/samblaster/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "samblaster";
+  version = "0.1.26";
+
+  src = fetchFromGitHub {
+    owner = "GregoryFaust";
+    repo = "samblaster";
+    rev = "v.${version}";
+    sha256 = "0g24fq5hplnfgqkh3xqpg3lgx3wmxwnh9c7m6yw7pbi40lmgl1jv";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp samblaster $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tool for marking duplicates and extracting discordant/split reads from SAM/BAM files";
+    maintainers = with maintainers; [ jbedo ];
+    license = licenses.mit;
+    homepage = "https://github.com/GregoryFaust/samblaster";
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix
index e750eea89ac9f..27ed79a1f6ca5 100644
--- a/pkgs/applications/science/biology/samtools/default.nix
+++ b/pkgs/applications/science/biology/samtools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "samtools";
-  version = "1.10";
+  version = "1.11";
 
   src = fetchurl {
     url = "https://github.com/samtools/samtools/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "119ms0dpydw8dkh3zc4yyw9zhdzgv12px4l2kayigv31bpqcb7kv";
+    sha256 = "1dp5wknak4arnw5ghhif9mmljlfnw5bgm91wib7z0j8wdjywx0z2";
   };
 
   nativeBuildInputs = [ perl ];
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     homepage = "http://www.htslib.org/";
     platforms = platforms.unix;
-    maintainers = [ maintainers.mimame ];
+    maintainers = with maintainers; [ mimame unode ];
   };
 }
diff --git a/pkgs/applications/science/biology/snpeff/default.nix b/pkgs/applications/science/biology/snpeff/default.nix
index c68fcfada3325..941f107a580fe 100644
--- a/pkgs/applications/science/biology/snpeff/default.nix
+++ b/pkgs/applications/science/biology/snpeff/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Genetic variant annotation and effect prediction toolbox.";
+    description = "Genetic variant annotation and effect prediction toolbox";
     license = licenses.lgpl3;
     homepage = "http://snpeff.sourceforge.net/";
     maintainers = with maintainers; [ jbedo ];
diff --git a/pkgs/applications/science/biology/star/default.nix b/pkgs/applications/science/biology/star/default.nix
index c331acbfe7058..f2e1a2a8fee55 100644
--- a/pkgs/applications/science/biology/star/default.nix
+++ b/pkgs/applications/science/biology/star/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "star";
-  version = "2.7.5c";
+  version = "2.7.6a";
 
   src = fetchFromGitHub {
     repo = "STAR";
     owner = "alexdobin";
     rev = version;
-    sha256 = "1plx9akrzwjk7f2j94l9ss0apg0asqmrf2bp0728d4bvlhnzmjyy";
+    sha256 = "1zw9f4jbhz0y51namnmid42pa7pviviy94q9db8w0774nksdf8is";
   };
 
   sourceRoot = "source/source";
diff --git a/pkgs/applications/science/biology/tebreak/default.nix b/pkgs/applications/science/biology/tebreak/default.nix
index 07669d097a44d..82c624ba7cd9e 100644
--- a/pkgs/applications/science/biology/tebreak/default.nix
+++ b/pkgs/applications/science/biology/tebreak/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, last, exonerate, minia, python3Packages, bwa
-, samtools, findutils }:
+, samtools, findutils, python }:
 
 python3Packages.buildPythonApplication rec {
   pname = "tebreak";
@@ -32,6 +32,12 @@ python3Packages.buildPythonApplication rec {
     done
   '';
 
+  checkPhase = ''
+    $out/bin/tebreak -b test/data/example.ins.bam  -r test/data/Homo_sapiens_chr4_50000000-60000000_assembly19.fasta -p 4 --pickle test/example.pickle --detail_out test/example.tebreak.detail.out -i lib/teref.human.fa
+    pushd test
+    ${python.interpreter} checktest.py
+  '';
+
   meta = with stdenv.lib; {
     description = "Find and characterise transposable element insertions";
     homepage = "https://github.com/adamewing/tebreak";
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
index 6545472a52958..9adb8e3674b8c 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.3";
+  version = "14.31.17";
   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 = "067051wp9kgkgcy3mvqwxhim0h1qfcf4jk8vrbzd3y9pwmjismzy";
+    sha256 = "1cg3a56bbvlq5wfjgwclg9vsj61kmj6fnqvgf7fdvklhdvnijla2";
   };
 
   patchPhase = ''
@@ -48,6 +48,6 @@ stdenv.mkDerivation rec {
      homepage = "https://sourceforge.net/projects/jmol";
      license = licenses.lgpl2;
      platforms = platforms.all;
-     maintainers = with maintainers; [ timokau mounium ];
+     maintainers = with maintainers; [ mounium ] ++ teams.sage.members;
   };
 }
diff --git a/pkgs/applications/science/chemistry/marvin/default.nix b/pkgs/applications/science/chemistry/marvin/default.nix
index e8cd077afd209..ddab526ebe790 100644
--- a/pkgs/applications/science/chemistry/marvin/default.nix
+++ b/pkgs/applications/science/chemistry/marvin/default.nix
@@ -4,12 +4,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "marvin";
-  version = "20.17.0";
+  version = "20.20.0";
 
   src = fetchurl {
     name = "marvin-${version}.deb";
     url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
-    sha256 = "0ip6ma9ivk5b74s9najn2rrkiha7hya1rjhgyrc71kwsj5gqgli0";
+    sha256 = "1a8b0drb0c95c8arm3aa0z0sbdm9ilj4h1g90i0qyn4g2wk2xsal";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/science/chemistry/openmolcas/default.nix b/pkgs/applications/science/chemistry/openmolcas/default.nix
index 0d74e784d7727..8bc62da3a3109 100644
--- a/pkgs/applications/science/chemistry/openmolcas/default.nix
+++ b/pkgs/applications/science/chemistry/openmolcas/default.nix
@@ -7,7 +7,7 @@
 assert blas.implementation == "openblas" && lapack.implementation == "openblas";
 
 let
-  version = "19.11";
+  version = "20.10";
   gitLabRev = "v${version}";
 
   python = python3.withPackages (ps : with ps; [ six pyparsing ]);
@@ -20,18 +20,13 @@ in stdenv.mkDerivation {
     owner = "Molcas";
     repo = "OpenMolcas";
     rev = gitLabRev;
-    sha256 = "1wwqhkyyi7pw5x1ghnp83ir17zl5jsj7phhqxapybyi3bmg0i00q";
+    sha256 = "1w8av44dx5r9yp2xhf9ypdrhappvk984wrd5pa1ww0qv6j2446ic";
   };
 
-  patches = [ (fetchpatch {
-    name = "Fix-MPI-INT-size"; # upstream patch, fixes a Fortran compiler error
-    url = "https://gitlab.com/Molcas/OpenMolcas/commit/860e3350523f05ab18e49a428febac8a4297b6e4.patch";
-    sha256 = "0h96h5ikbi5l6ky41nkxmxfhjiykkiifq7vc2s3fdy1r1siv09sb";
-  }) (fetchpatch {
-    name = "fix-cisandbox"; # upstream patch, fixes a Fortran compiler error
-    url = "https://gitlab.com/Molcas/OpenMolcas/commit/d871590c8ce4689cd94cdbbc618954c65589393d.patch";
-    sha256 = "0dgz1w2rkglnis76spai3m51qa72j4bz6ppnk5zmzrr6ql7gwpgg";
-  })];
+  patches = [
+    # Required to handle openblas multiple outputs
+    ./openblasPath.patch
+];
 
   nativeBuildInputs = [ perl cmake texlive.combined.scheme-minimal makeWrapper ];
   buildInputs = [
@@ -55,7 +50,7 @@ in stdenv.mkDerivation {
     "-DTOOLS=ON"
     "-DHDF5=ON"
     "-DFDE=ON"
-    "-DOPENBLASROOT=${openblas}"
+    "-DOPENBLASROOT=${openblas.dev}"
   ];
 
   GAROOT=globalarrays;
diff --git a/pkgs/applications/science/chemistry/openmolcas/openblasPath.patch b/pkgs/applications/science/chemistry/openmolcas/openblasPath.patch
new file mode 100644
index 0000000000000..e47adcc3e9a36
--- /dev/null
+++ b/pkgs/applications/science/chemistry/openmolcas/openblasPath.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 276ae4e2..db13e6e3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1507,7 +1507,6 @@ if (LINALG STREQUAL "OpenBLAS")
+     NAMES openblas
+     PATHS ${OPENBLASROOT}
+     PATH_SUFFIXES lib
+-    NO_DEFAULT_PATH
+   )
+ 
+   if (NOT LIBOPENBLAS)
diff --git a/pkgs/applications/science/electronics/appcsxcad/default.nix b/pkgs/applications/science/electronics/appcsxcad/default.nix
index d2b7c0d66a15e..c2d7cefec9b83 100644
--- a/pkgs/applications/science/electronics/appcsxcad/default.nix
+++ b/pkgs/applications/science/electronics/appcsxcad/default.nix
@@ -27,7 +27,6 @@ mkDerivation {
 
   nativeBuildInputs = [
     cmake
-    wrapQtAppsHook
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/science/electronics/flatcam/default.nix b/pkgs/applications/science/electronics/flatcam/default.nix
index 247f99485bb41..b8a80c5e9c117 100644
--- a/pkgs/applications/science/electronics/flatcam/default.nix
+++ b/pkgs/applications/science/electronics/flatcam/default.nix
@@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec {
 
   src = fetchFromBitbucket {
     owner = "jpcgt";
-    repo = "${pname}";
+    repo = pname;
     rev = "533afd6a1772857cb633c011b5e0a15b60b1e92e"; # 8.5 with Red Hat packaging.
     sha256 = "199kiiml18k34z1zhk2hbhibphmnv0kb11kxiajq52alps0mjb3m";
   };
@@ -48,7 +48,7 @@ python3Packages.buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "2-D post processing for PCB fabrication on CNC routers.";
+    description = "2-D post processing for PCB fabrication on CNC routers";
     homepage = "https://bitbucket.org/jpcgt/flatcam";
     license = licenses.mit;
     maintainers = with maintainers; [ trepetti ];
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index 36cc19142d199..ad5e9e55c575b 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.106";
+  version = "3.3.107";
 
   src = fetchurl {
     url    = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
-    sha256 = "0ma53s27735x16dq5qi91kvlypkiwkxh2jhw0gziyccnk1mkdsji";
+    sha256 = "0ma30jyc94iid3v3m8aw4i2lyiqfxkpsdvdmmaibynk400cbzivl";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/science/electronics/horizon-eda/default.nix b/pkgs/applications/science/electronics/horizon-eda/default.nix
index 3b6a4c7b73839..6b9f07ee68f19 100644
--- a/pkgs/applications/science/electronics/horizon-eda/default.nix
+++ b/pkgs/applications/science/electronics/horizon-eda/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "horizon-eda";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "horizon-eda";
     repo = "horizon";
     rev = "v${version}";
-    sha256 = "0b1bi99xdhbkb2vdb9y6kyqm0h8y0q168jf2xi8kd0z7kww8li2p";
+    sha256 = "13c4p60vrmwmnrv2jcr2gc1cxnimy7j8yp1p6434pbbk2py9k8mx";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/electronics/kicad/base.nix b/pkgs/applications/science/electronics/kicad/base.nix
index 3d83e905103ba..7f11f483a9d0a 100644
--- a/pkgs/applications/science/electronics/kicad/base.nix
+++ b/pkgs/applications/science/electronics/kicad/base.nix
@@ -55,17 +55,6 @@ stdenv.mkDerivation rec {
 
   src = kicadSrc;
 
-  # quick fix for #72248
-  # should be removed if a a more permanent fix is published
-  patches = [
-    (
-      fetchpatch {
-        url = "https://github.com/johnbeard/kicad/commit/dfb1318a3989e3d6f9f2ac33c924ca5030ea273b.patch";
-        sha256 = "00ifd3fas8lid8svzh1w67xc8kyx89qidp7gm633r014j3kjkgcd";
-      }
-    )
-  ];
-
   # tagged releases don't have "unknown"
   # kicad nightlies use git describe --dirty
   # nix removes .git, so its approximated here
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index 7bf45a8fc548c..48a5779d207a6 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -197,13 +197,13 @@ stdenv.mkDerivation rec {
     "--prefix XDG_DATA_DIRS : ${cups}/share"
     "--prefix GIO_EXTRA_MODULES : ${gnome3.dconf}/lib/gio/modules"
 
-    "--set KISYSMOD ${footprints}/share/kicad/modules"
-    "--set KICAD_SYMBOL_DIR ${symbols}/share/kicad/library"
-    "--set KICAD_TEMPLATE_DIR ${templates}/share/kicad/template"
+    "--set-default KISYSMOD ${footprints}/share/kicad/modules"
+    "--set-default KICAD_SYMBOL_DIR ${symbols}/share/kicad/library"
+    "--set-default KICAD_TEMPLATE_DIR ${templates}/share/kicad/template"
     "--prefix KICAD_TEMPLATE_DIR : ${symbols}/share/kicad/template"
     "--prefix KICAD_TEMPLATE_DIR : ${footprints}/share/kicad/template"
   ]
-  ++ optionals (with3d) [ "--set KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ]
+  ++ optionals (with3d) [ "--set-default KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ]
   ++ optionals (withNgspice) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
 
   # infinisil's workaround for #39493
@@ -212,11 +212,10 @@ stdenv.mkDerivation rec {
 
   # why does $makeWrapperArgs have to be added explicitly?
   # $out and $program_PYTHONPATH don't exist when makeWrapperArgs gets set?
-  # kicad-ogltest's source seems to indicate that crashing is expected behaviour...
   installPhase =
     let
       tools = [ "kicad" "pcbnew" "eeschema" "gerbview" "pcb_calculator" "pl_editor" "bitmap2component" ];
-      utils = [ "dxf2idf" "idf2vrml" "idfcyl" "idfrect" "kicad2step" "kicad-ogltest" ];
+      utils = [ "dxf2idf" "idf2vrml" "idfcyl" "idfrect" "kicad2step" ];
     in
     (concatStringsSep "\n"
       (flatten [
diff --git a/pkgs/applications/science/electronics/kicad/update.sh b/pkgs/applications/science/electronics/kicad/update.sh
index 8c154c302c840..cfd78323b77a2 100755
--- a/pkgs/applications/science/electronics/kicad/update.sh
+++ b/pkgs/applications/science/electronics/kicad/update.sh
@@ -110,7 +110,7 @@ for version in "${all_versions[@]}"; do
     echo "Checking src" >&2
     src_rev="$(${get_rev} "${gitlab}"/code/kicad.git "${version}" | cut -f1)"
     has_rev="$(grep -sm 1 "\"${pname}\"" -A 4 "${file}" | grep -sm 1 "${src_rev}" || true)"
-    has_hash="$(grep -sm 1 "\"${pname}\"" -A 5 "${file}" | grep -sm 1 "sha256")"
+    has_hash="$(grep -sm 1 "\"${pname}\"" -A 5 "${file}" | grep -sm 1 "sha256" || true)"
     if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then
       echo "Reusing old ${pname}.src.sha256, already latest .rev" >&2
       grep -sm 1 "\"${pname}\"" -A 5 "${file}" | grep -sm 1 "rev" -A 1
@@ -130,7 +130,7 @@ for version in "${all_versions[@]}"; do
         echo "Checking i18n" >&2
         i18n_rev="$(${get_rev} "${i18n}" "${version}" | cut -f1)"
         has_rev="$(grep -sm 1 "\"${pname}\"" -A 11 "${file}" | grep -sm 1 "${i18n_rev}" || true)"
-        has_hash="$(grep -sm 1 "\"${pname}\"" -A 12 "${file}" | grep -sm 1 "i18n.sha256")"
+        has_hash="$(grep -sm 1 "\"${pname}\"" -A 12 "${file}" | grep -sm 1 "i18n.sha256" || true)"
         if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then
           echo "Reusing old kicad-i18n-${today}.src.sha256, already latest .rev" >&2
           grep -sm 1 "\"${pname}\"" -A 12 "${file}" | grep -sm 1 "i18n" -A 1
@@ -146,7 +146,7 @@ for version in "${all_versions[@]}"; do
             url="${gitlab}/libraries/kicad-${lib}.git"
             lib_rev="$(${get_rev} "${url}" "${version}" | cut -f1 | head -n1)"
             has_rev="$(grep -sm 1 "\"${pname}\"" -A 19 "${file}" | grep -sm 1 "${lib_rev}" || true)"
-            has_hash="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}.sha256")"
+            has_hash="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}.sha256" || true)"
             if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then
               echo "Reusing old kicad-${lib}-${today}.src.sha256, already latest .rev" >&2
               grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}" -A 1
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index 1afb33b6fbd82..beadd1724e106 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,41 +3,41 @@
 {
   "kicad" = {
     kicadVersion = {
-      version = "5.1.6";
+      version =			"5.1.8";
       src = {
-        rev = "c6e7f7de7df655fd59b57823499efc443009de6b";
-        sha256 = "1pa3z0h0679jmgxlzc833h6q85b5paxdp69kf2h93vkaryj58622";
+        rev =			"db9833491010954bc27fac92c83d2864bd95c23c";
+        sha256 =		"08ni9j2lw2hjc1csk6rkydcxwdal6da17ch60zkjij5vfsif2hix";
       };
     };
     libVersion = {
-      version = "5.1.6";
+      version =			"5.1.8";
       libSources = {
-        i18n.rev = "5ad171ce5c8d90f4740517c2adecb310d8be51bd";
-        i18n.sha256 = "0qryi8xjm23ka363zfl7bbga0v5c31fr3d4nyxp3m168vkv9zhha";
-        symbols.rev = "5150eaa2a7d15cfc6bb1459c527c4ebaa66d7708";
-        symbols.sha256 = "12w3rdy085drlikkpb27n9ni7cyg9l0pqy7hnr86cxjcw3l5wcx6";
-        templates.rev = "9213d439f757e6049b7e54f3ea08272a0d0f44a9";
-        templates.sha256 = "1hppcsrkn4dk6ggby6ckh0q65qxkywrbyxa4lwpaf7pxjyv498xg";
-        footprints.rev = "a61b4e49762fb355f654e65a1c7db1aaf7bb2332";
-        footprints.sha256 = "1kmf91a5mmvj9izrv40mkaw1w36yjgn8daczd9rq2wlmd0rdp1zx";
-        packages3d.rev = "150ff1caf0b01dc04c84f4f966f4f88fedfa8f8c";
-        packages3d.sha256 = "0b9jglf77fy0n0r8xs4yqkv6zvipyfvp0z5dnqlzp32csy5aqpi1";
+        i18n.rev =		"78adcd19e7ed53f4889d6db65a33dd8ec2d323e9";
+        i18n.sha256 =		"0x0w2m6d3xfm22y4anp5j2j67iwzby149ynj6qjlw2kcsi8kwk1j";
+        symbols.rev =		"bf475af94877e8fd9cf80e667578ff61835e02bb";
+        symbols.sha256 =	"1ii3r813653ng2ycggnknqx4g3ja7dbm4qyxrf9aq48ws0xkvhx3";
+        templates.rev =		"1ccbaf3704e8ff4030d0915f71e051af621ef7d7";
+        templates.sha256 =	"1a8xfcbdbb4ylrb5m7n2jjk9kwvgmlx1pmnn2cwj327a2b3m4jjs";
+        footprints.rev =	"302ac78bac21825532f970fb92714fa5973ad79b";
+        footprints.sha256 =	"0gyqxryda273hjn2rv8dha461j9bjh054y5dlpiw1wiha65lrf9i";
+        packages3d.rev =	"7abe02f30fd79b8f4f66c01589861df7f8f72f04";
+        packages3d.sha256 =	"1szcin52fcsyb55bj7xq7lz6ig187dpz3lk7blwab7b9c4dn3c3y";
       };
     };
   };
   "kicad-unstable" = {
     kicadVersion = {
-      version =			"2020-10-09";
+      version =			"2020-11-07";
       src = {
-        rev =			"560428a70f0196fb4ade620042c5ddefc1685ebe";
-        sha256 =		"0rzn83bpl06v1d49lcvwfg93nirn684bqqq536zxhmjm0ayx29ka";
+        rev =			"9454f9df9245aea037d1ad5baf050c2d9101159c";
+        sha256 =		"03bd0dk234ihqnwrv4n40gi856xcjqgxplfwjzlwcq521gwykv30";
       };
     };
     libVersion = {
-      version =			"2020-10-09";
+      version =			"2020-11-07";
       libSources = {
-        i18n.rev =		"d24af2da8cab4ce1081c401909a4a880514e5549";
-        i18n.sha256 =		"0r0sv52k84sw4jxf10lrmzwmn58d2fv5h57fdrspnmvnh10q63xf";
+        i18n.rev =		"e89d9a89bec59199c1ade56ee2556591412ab7b0";
+        i18n.sha256 =		"04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
         symbols.rev =		"9c50f4333bafc5a1abf7786436db5ffb6a66758d";
         symbols.sha256 =	"06ic59svz0256isy93863i5ay4k8wshvp1kspnqrc776wmq03l3k";
         templates.rev =		"41eae4ccd3ac02fdb969e3aa272c07ab51dcf5af";
diff --git a/pkgs/applications/science/electronics/librepcb/default.nix b/pkgs/applications/science/electronics/librepcb/default.nix
index de01b095e3816..4b0a4108ab22b 100644
--- a/pkgs/applications/science/electronics/librepcb/default.nix
+++ b/pkgs/applications/science/electronics/librepcb/default.nix
@@ -1,39 +1,47 @@
-{ lib, mkDerivation, fetchFromGitHub, qtbase, qttools, qmake, wrapQtAppsHook }:
+{ stdenv, lib, fetchFromGitHub
+, qtbase, qttools, qmake, wrapQtAppsHook
+}:
 
-mkDerivation {
+stdenv.mkDerivation rec {
   pname = "librepcb";
-  version = "0.1.4";
+  version = "0.1.5";
 
   src = fetchFromGitHub {
-    owner = "LibrePCB";
-    repo = "LibrePCB";
+    owner  = pname;
+    repo   = pname;
+    rev    = version;
+    sha256 = "0ag8h3id2c1k9ds22rfrvyhf2vjhkv82xnrdrz4n1hnlr9566vcx";
     fetchSubmodules = true;
-    rev = "ae04eef5a71b5ba66ae2cee6b631c1c933ace535";
-    sha256 = "0wk5qny1jb6n4mwyyrs7syir3hmwxlwazcd80bpxharmsj7p0rzc";
   };
 
-  enableParallelBuilding = true;
-
   nativeBuildInputs = [ qmake qttools wrapQtAppsHook ];
-
   buildInputs = [ qtbase ];
 
   qmakeFlags = ["-r"];
+  enableParallelBuilding = true;
 
   postInstall = ''
-      mkdir -p $out/share/librepcb/fontobene
-      cp share/librepcb/fontobene/newstroke.bene $out/share/librepcb/fontobene/
-    '';
+    mkdir -p $out/share/librepcb/fontobene
+    cp share/librepcb/fontobene/newstroke.bene $out/share/librepcb/fontobene/
+  '';
+
+  # the build system tries to use 'git' at build time to find the HEAD hash.
+  # that's a no-no, so replace it with a quick hack. NOTE: the # adds a comment
+  # at the end of the line to remove the git call.
+  patchPhase = ''
+    substituteInPlace ./libs/librepcb/common/common.pro \
+      --replace 'GIT_COMMIT_SHA' 'GIT_COMMIT_SHA="\\\"${src.rev}\\\"" # '
+  '';
 
   preFixup = ''
     wrapQtApp $out/bin/librepcb
   '';
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "A free EDA software to develop printed circuit boards";
-    homepage = "https://librepcb.org/";
-    maintainers = with maintainers; [ luz ];
-    license = licenses.gpl3;
-    platforms = platforms.linux;
+    homepage    = "https://librepcb.org/";
+    maintainers = with maintainers; [ luz thoughtpolice ];
+    license     = licenses.gpl3;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/electronics/magic-vlsi/default.nix b/pkgs/applications/science/electronics/magic-vlsi/default.nix
index 96849c3002986..6667f2be9c3da 100644
--- a/pkgs/applications/science/electronics/magic-vlsi/default.nix
+++ b/pkgs/applications/science/electronics/magic-vlsi/default.nix
@@ -1,16 +1,20 @@
-{ stdenv, fetchurl, m4, tcsh, libX11, tcl, tk, cairo, ncurses, mesa_glu, python3 }:
+{ stdenv, fetchurl
+, m4, tcsh, libX11, tcl, tk
+, cairo, ncurses, mesa_glu, python3
+}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "magic-vlsi";
-  version = "8.3.5";
+  version = "8.3.80";
 
   src = fetchurl {
-    url = "http://opencircuitdesign.com/magic/archive/magic-8.3.5.tgz";
-    sha256 = "0wv4zmxlqjfaakgp802icn0cd9f8ylkz2sppix83axq8p5cg90yq";
+    url    = "http://opencircuitdesign.com/magic/archive/magic-${version}.tgz";
+    sha256 = "0a5x4sh5xsr79pqbgv6221jc4fvaxkg2pvrdhy1cs4bmsc1sbm9j";
   };
 
   buildInputs = [ m4 tcsh libX11 tcl tk cairo ncurses mesa_glu ];
   nativeBuildInputs = [ python3 ];
+  enableParallelBuilding = true;
 
   configureFlags = [
     "--with-tcl=${tcl}"
@@ -22,6 +26,8 @@ stdenv.mkDerivation {
     patchShebangs scripts/*
   '';
 
+  NIX_CFLAGS_COMPILE = "-Wno-implicit-function-declaration";
+
   patches = [
     ./0001-strip-bin-prefix.patch
     ./0002-fix-format-security.patch
@@ -29,8 +35,8 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "VLSI layout tool written in Tcl";
-    homepage = "http://opencircuitdesign.com/magic/";
-    license = licenses.mit;
-    maintainers = [ maintainers.anna328p ];
+    homepage    = "http://opencircuitdesign.com/magic/";
+    license     = licenses.mit;
+    maintainers = with maintainers; [ anna328p thoughtpolice ];
   };
 }
diff --git a/pkgs/applications/science/electronics/nanovna-saver/default.nix b/pkgs/applications/science/electronics/nanovna-saver/default.nix
new file mode 100644
index 0000000000000..62bda91e50082
--- /dev/null
+++ b/pkgs/applications/science/electronics/nanovna-saver/default.nix
@@ -0,0 +1,51 @@
+{ lib, mkDerivationWith, wrapQtAppsHook, python3Packages, fetchFromGitHub
+, qtbase }:
+
+let
+  version = "0.3.7";
+  pname = "nanovna-saver";
+
+in mkDerivationWith python3Packages.buildPythonApplication {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "NanoVNA-Saver";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0c22ckyypg91gfb2sdc684msw28nnb6r8cq3b362gafvv00a35mi";
+  };
+
+  nativeBuildInputs = [ wrapQtAppsHook ];
+
+  propagatedBuildInputs = with python3Packages; [
+    cython
+    scipy_1_4
+    pyqt5
+    pyserial
+    numpy
+  ];
+
+  doCheck = false;
+
+  dontWrapGApps = true;
+  dontWrapQtApps = true;
+
+  postFixup = ''
+    wrapProgram $out/bin/NanoVNASaver \
+      "''${gappsWrapperArgs[@]}" \
+      "''${qtWrapperArgs[@]}"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/NanoVNA-Saver/nanovna-saver";
+    description =
+      "A tool for reading, displaying and saving data from the NanoVNA";
+    longDescription = ''
+      A multiplatform tool to save Touchstone files from the NanoVNA, sweep
+      frequency spans in segments to gain more than 101 data points, and
+      generally display and analyze the resulting data.
+    '';
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ zaninime ];
+  };
+}
diff --git a/pkgs/applications/science/electronics/ngspice/default.nix b/pkgs/applications/science/electronics/ngspice/default.nix
index ab2861d53f208..5113dc778f62d 100644
--- a/pkgs/applications/science/electronics/ngspice/default.nix
+++ b/pkgs/applications/science/electronics/ngspice/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ngspice";
-  version = "32";
+  version = "33";
 
   src = fetchurl {
     url = "mirror://sourceforge/ngspice/ngspice-${version}.tar.gz";
-    sha256 = "1wiys30c9mqzxr7iv1sws0jnn4xi0mj3lanhnk2qfvaiji70rn9w";
+    sha256 = "1wa1hmpn13spmxqgbb1m7vgy32mwvjqwrxhymzll8z65q5nbd7dr";
   };
 
   nativeBuildInputs = [ flex bison ];
diff --git a/pkgs/applications/science/electronics/openhantek6022/default.nix b/pkgs/applications/science/electronics/openhantek6022/default.nix
index ad8fa3c7a7ae9..acdac346fd3ba 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.2";
+  version = "3.1.3";
 
   src = fetchFromGitHub {
     owner = "OpenHantek";
     repo = "OpenHantek6022";
     rev = version;
-    sha256 = "104j7d3i5y6jd20c2z3l10sr6sgdy8iki3g9mlwhddnr8x6nzc03";
+    sha256 = "1n4l8ks5808d99zj1vj0ck0v1lb9s7iv3ahww7ximbf9iha39pbm";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/applications/science/electronics/qcsxcad/default.nix b/pkgs/applications/science/electronics/qcsxcad/default.nix
deleted file mode 100644
index c12678c0047d0..0000000000000
--- a/pkgs/applications/science/electronics/qcsxcad/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ stdenv
-, mkDerivation
-, fetchFromGitHub
-, cmake
-, csxcad
-, tinyxml
-, vtkWithQt5
-, wrapQtAppsHook
-, qtbase
-}:
-
-mkDerivation {
-  pname = "qcsxcad";
-  version = "unstable-2020-01-04";
-
-  src = fetchFromGitHub {
-    owner = "thliebig";
-    repo = "QCSXCAD";
-    rev = "0dabbaf2bc1190adec300871cf309791af842c8e";
-    sha256 = "11kbh0mxbdfh7s5azqin3i2alic5ihmdfj0jwgnrhlpjk4cbf9rn";
-  };
-
-  nativeBuildInputs = [
-    cmake
-    wrapQtAppsHook
-  ];
-
-  cmakeFlags = [
-    "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
-    "-DCSXCAD_ROOT_DIR=${csxcad}"
-    "-DENABLE_RPATH=OFF"
-  ];
-
-  buildInputs = [
-    csxcad
-    tinyxml
-    vtkWithQt5
-    qtbase
-  ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "Qt library for CSXCAD";
-    homepage = "https://github.com/thliebig/QCSXCAD";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ matthuszagh ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/science/electronics/verilog/default.nix b/pkgs/applications/science/electronics/verilog/default.nix
index df1ce7b7235f0..6217df2db8f84 100644
--- a/pkgs/applications/science/electronics/verilog/default.nix
+++ b/pkgs/applications/science/electronics/verilog/default.nix
@@ -1,43 +1,45 @@
-{ stdenv, fetchFromGitHub, autoconf, gperf, flex, bison, readline, ncurses
-, bzip2, zlib
-# Test inputs
+{ stdenv
+, fetchFromGitHub
+, autoconf
+, bison
+, bzip2
+, flex
+, gperf
+, ncurses
 , perl
+, readline
+, zlib
 }:
 
 let
   iverilog-test = fetchFromGitHub {
-    owner = "steveicarus";
-    repo = "ivtest";
-    rev = "6882cb8ec08926c4e356c6092f0c5f8c23328d5c";
-    sha256 = "04sj5nqzwls1y760kgnd9c2whkcrr8kvj9lisd5rvk0w580kjb2x";
+    owner  = "steveicarus";
+    repo   = "ivtest";
+    rev    = "253609b89576355b3bef2f91e90db62223ecf2be";
+    sha256 = "18i7jlr2csp7mplcrwjhllwvb6w3v7x7mnx7vdw48nd3g5scrydx";
   };
 in
 stdenv.mkDerivation rec {
-  pname = "iverilog";
-  version = "unstable-2020-08-24";
+  pname   = "iverilog";
+  version = "11.0";
 
   src = fetchFromGitHub {
-    owner = "steveicarus";
-    repo = pname;
-    rev = "d8556e4c86e1465b68bdc8d5ba2056ba95a42dfd";
-    sha256 = "sha256-sT9j/0Q2FD5MOGpH/quMGvAuM7t7QavRHKD9lX7Elfs=";
+    owner  = "steveicarus";
+    repo   = pname;
+    rev    = "v${stdenv.lib.replaceStrings ["."] ["_"] version}";
+    sha256 = "0nzcyi6l2zv9wxzsv9i963p3igyjds0n55x0ph561mc3pfbc7aqp";
   };
 
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ autoconf bison flex gperf ];
 
-  preConfigure = ''
-    chmod +x $PWD/autoconf.sh
-    $PWD/autoconf.sh
-  '';
+  buildInputs = [ bzip2 ncurses readline zlib ];
 
-  nativeBuildInputs = [ autoconf gperf flex bison ];
+  preConfigure = "sh autoconf.sh";
+
+  enableParallelBuilding = true;
 
-  buildInputs = [ readline ncurses bzip2 zlib ];
+  doCheck = true;
 
-  # tests from .travis.yml
-  doCheck = true; # runs ``make check``
-  # most tests pass, but some that rely on exact text of floating-point numbers fail on aarch64.
-  doInstallCheck = !stdenv.isAarch64;
   installCheckInputs = [ perl ];
 
   installCheckPhase = ''
@@ -58,9 +60,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Icarus Verilog compiler";
-    homepage = "http://iverilog.icarus.com/";
-    license = with licenses; [ gpl2Plus lgpl21Plus] ;
-    maintainers = with maintainers; [ winden ];
-    platforms = platforms.all;
+    homepage    = "http://iverilog.icarus.com/";  # https does not work
+    license     = with licenses; [ gpl2Plus lgpl21Plus ];
+    maintainers = with maintainers; [ winden thoughtpolice ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/applications/science/electronics/vhd2vl/default.nix b/pkgs/applications/science/electronics/vhd2vl/default.nix
index 43dfdcabd02fc..be9e890fc8d55 100644
--- a/pkgs/applications/science/electronics/vhd2vl/default.nix
+++ b/pkgs/applications/science/electronics/vhd2vl/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , bison
 , flex
 , verilog
@@ -16,6 +17,15 @@ stdenv.mkDerivation rec {
     sha256 = "17va2pil4938j8c93anhy45zzgnvq3k71a7glj02synfrsv6fs8n";
   };
 
+  patches = stdenv.lib.optionals (!stdenv.isAarch64) [
+    # fix build with verilog 11.0 - https://github.com/ldoolitt/vhd2vl/pull/15
+    # for some strange reason, this is not needed for aarch64
+    (fetchpatch {
+      url = "https://github.com/ldoolitt/vhd2vl/commit/ce9b8343ffd004dfe8779a309f4b5a594dbec45e.patch";
+      sha256 = "1qaqhm2mk66spb2dir9n91b385rarglc067js1g6pcg8mg5v3hhf";
+    })
+  ];
+
   nativeBuildInputs = [
     bison
     flex
diff --git a/pkgs/applications/science/geometry/antiprism/default.nix b/pkgs/applications/science/geometry/antiprism/default.nix
new file mode 100644
index 0000000000000..4691291a4257a
--- /dev/null
+++ b/pkgs/applications/science/geometry/antiprism/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, libX11
+, libGL
+, libGLU
+, freeglut }:
+
+stdenv.mkDerivation rec {
+  pname = "antiprism";
+  version = "0.26";
+
+  src = fetchFromGitHub {
+    owner = "antiprism";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-5FE6IbYKk7eMT985R9NCX3GDXE8SrdVHFcCpKeJvKtQ=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ libX11 libGLU libGL.dev freeglut.dev ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.antiprism.com";
+    description = "A collection of programs for generating, manipulating, transforming and viewing polyhedra";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/applications/science/logic/btor2tools/default.nix b/pkgs/applications/science/logic/btor2tools/default.nix
index 714ab49524b03..34c0dac2a17e3 100644
--- a/pkgs/applications/science/logic/btor2tools/default.nix
+++ b/pkgs/applications/science/logic/btor2tools/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "A generic parser and tool package for the BTOR2 format";
     homepage    = "https://github.com/Boolector/btor2tools";
     license     = licenses.mit;
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index 946cba41b143b..dc9e40912d536 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -35,6 +35,7 @@ let
    "8.11.1" = "0qriy9dy36dajsv5qmli8gd6v55mah02ya334nw49ky19v7518m0";
    "8.11.2" = "0f77ccyxdgbf1nrj5fa8qvrk1cyfy06fv8gj9kzfvlcgn0cf48sa";
    "8.12.0" = "18dc7k0piv6v064zgdadpw6mkkxk7j663hb3svgj5236fihjr0cz";
+   "8.12.1" = "1rkcyjjrzcqw9xk93hsq0vvji4f8r5iq0f739mghk60bghkpnb7q";
   }.${version};
   coq-version = stdenv.lib.versions.majorMinor version;
   versionAtLeast = stdenv.lib.versionAtLeast coq-version;
diff --git a/pkgs/applications/science/logic/coq2html/default.nix b/pkgs/applications/science/logic/coq2html/default.nix
index 2e56eda893e92..e53e8e7392c0a 100644
--- a/pkgs/applications/science/logic/coq2html/default.nix
+++ b/pkgs/applications/science/logic/coq2html/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchgit, ocaml }:
 
-let 
+let
   version = "20170720";
 in
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    description = "coq2html is an HTML documentation generator for Coq source files";
+    description = "HTML documentation generator for Coq source files";
     longDescription = ''
       coq2html is an HTML documentation generator for Coq source files. It is
       an alternative to the standard coqdoc documentation generator
diff --git a/pkgs/applications/science/logic/cryptoverif/default.nix b/pkgs/applications/science/logic/cryptoverif/default.nix
index 6877060d36d61..28295ea28922c 100644
--- a/pkgs/applications/science/logic/cryptoverif/default.nix
+++ b/pkgs/applications/science/logic/cryptoverif/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cryptoverif";
-  version = "2.01pl1";
+  version = "2.03pl1";
 
   src = fetchurl {
     url    = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${version}.tar.gz";
-    sha256 = "1bkmrv3wsy8mwhrxd3z3br9zgv37c2w6443rm4s9jl0aphcgnbiw";
+    sha256 = "0q7qa1qm7mbky3m36445gdmgmkb9mrhrdsk7mmwn8fzw0rfc6z00";
   };
 
   buildInputs = [ ocaml ];
diff --git a/pkgs/applications/science/logic/key/default.nix b/pkgs/applications/science/logic/key/default.nix
new file mode 100644
index 0000000000000..b08c4d84d1fcf
--- /dev/null
+++ b/pkgs/applications/science/logic/key/default.nix
@@ -0,0 +1,74 @@
+{ stdenv
+, fetchurl
+, unzip
+, jdk
+, ant
+, jre
+, makeWrapper
+, runCommand
+, key
+}:
+
+# get this from the download URL when changing version
+let gitRevision = "7d3deab0763c88edee4f7a08e604661e0dbdd450";
+
+in stdenv.mkDerivation rec {
+  pname = "key";
+  version = "2.6.3";
+
+  src = fetchurl {
+    url = "https://formal.iti.kit.edu/key/releases/${version}/key-src-${version}_${gitRevision}.zip";
+    sha256 = "1dr5jmrqs0iy76wdsfiv5hx929i24yzm1xypzqqvx7afc7apyawy";
+  };
+
+  sourceRoot = "key";
+
+  nativeBuildInputs = [
+    unzip
+    jdk
+    ant
+    makeWrapper
+  ];
+
+  buildPhase = ''
+    ant -buildfile scripts/build.xml \
+      -Dgit.revision=${gitRevision} \
+      compileAll deployAll
+  '';
+
+  postCheck = ''
+    ant -buildfile scripts/build.xml \
+      -Dgit.revision=${gitRevision} \
+      compileAllTests runAllTests test-deploy-all
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/java
+    # Wrong version in the code. On next version change 2.5 to ${version}:
+    unzip deployment/key-2.5_${gitRevision}.zip -d $out/share/java
+    mkdir -p $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/KeY \
+      --add-flags "-cp $out/share/java/KeY.jar de.uka.ilkd.key.core.Main"
+  '';
+
+  passthru.tests.check-version = runCommand "key-help" {} ''
+    ${key}/bin/KeY --help | grep 2.5 # Wrong version in the code. On next version change to ${version}
+    touch $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Java formal verification tool";
+    homepage = "https://www.key-project.org"; # also https://formal.iti.kit.edu/key/
+    longDescription = ''
+      The KeY System is a formal software development tool that aims to
+      integrate design, implementation, formal specification, and formal
+      verification of object-oriented software as seamlessly as possible.
+      At the core of the system is a novel theorem prover for the first-order
+      Dynamic Logic for Java with a user-friendly graphical interface.
+    '';
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 32a75cabc13f8..88e1b4fbc0e1d 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,22 +2,26 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.19.0";
+  version = "3.23.0";
 
   src = fetchFromGitHub {
     owner  = "leanprover-community";
     repo   = "lean";
     rev    = "v${version}";
-    sha256 = "1dybq6104vc62x620izgblfd8dqc4ynaiw8ml07km78lq38anm6v";
+    sha256 = "09mklc1p6ms1jayg2f89hqfmhca3h5744lli936l38ypn1d00sxx";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ gmp ];
   enableParallelBuilding = true;
 
-  preConfigure = ''
-    cd src
-  '';
+  cmakeDir = "../src";
+
+  # Running the tests is required to build the *.olean files for the core
+  # library.
+  doCheck = true;
+
+  postPatch = "patchShebangs .";
 
   postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace $out/bin/leanpkg \
diff --git a/pkgs/applications/science/logic/ott/default.nix b/pkgs/applications/science/logic/ott/default.nix
index ecc253a64d986..48ad63eaa993e 100644
--- a/pkgs/applications/science/logic/ott/default.nix
+++ b/pkgs/applications/science/logic/ott/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   postInstall = "opaline -prefix $out";
 
   meta = {
-    description = "Ott: tool for the working semanticist";
+    description = "A tool for the working semanticist";
     longDescription = ''
       Ott is a tool for writing definitions of programming languages and
       calculi. It takes as input a definition of a language syntax and
diff --git a/pkgs/applications/science/logic/potassco/clingcon.nix b/pkgs/applications/science/logic/potassco/clingcon.nix
index 1203822d86e99..b74583ca1a2cc 100644
--- a/pkgs/applications/science/logic/potassco/clingcon.nix
+++ b/pkgs/applications/science/logic/potassco/clingcon.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "potassco";
-    repo = "${pname}";
+    repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
     sha256 = "1q7517h10jfvjdk2czq8d6y57r8kr1j1jj2k2ip2qxkpyfigk4rs";
diff --git a/pkgs/applications/science/logic/workcraft/default.nix b/pkgs/applications/science/logic/workcraft/default.nix
index 4038db17f9380..9ce6592d99895 100644
--- a/pkgs/applications/science/logic/workcraft/default.nix
+++ b/pkgs/applications/science/logic/workcraft/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "workcraft";
-  version = "3.3.0";
+  version = "3.3.2";
 
   src = fetchurl {
     url = "https://github.com/workcraft/workcraft/releases/download/v${version}/workcraft-v${version}-linux.tar.gz";
-    sha256 = "072i7kan2c9f4s9jxwqr4ccsi9979c12xhwr385sbq06rwyrna85";
+    sha256 = "0v71x3fph2j3xrnysvkm7zsgnbxisfbdfgxzvzxxfdg59a6l3xid";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/logic/z3/4.4.0.nix b/pkgs/applications/science/logic/z3/4.4.0.nix
index 1e3bcea42ef7a..a5388572db610 100644
--- a/pkgs/applications/science/logic/z3/4.4.0.nix
+++ b/pkgs/applications/science/logic/z3/4.4.0.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A high-performance theorem prover and SMT solver";
-    homepage    = "http://github.com/Z3Prover/z3";
+    homepage    = "https://github.com/Z3Prover/z3";
     license     = stdenv.lib.licenses.mit;
     platforms   = stdenv.lib.platforms.x86_64;
     maintainers = with stdenv.lib.maintainers; [ thoughtpolice ttuegel ];
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
index 88aafcdae222c..48512eff53001 100644
--- a/pkgs/applications/science/logic/z3/default.nix
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -22,7 +22,8 @@ stdenv.mkDerivation rec {
     sha256 = "1hnbzq10d23drd7ksm3c1n2611c3kd0q0yxgz8y78zaafwczvwxx";
   };
 
-  buildInputs = [ python fixDarwinDylibNames ]
+  nativeBuildInputs = optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
+  buildInputs = [ python ]
   ++ optional javaBindings jdk
   ++ optionals ocamlBindings [ ocaml findlib zarith ]
   ;
@@ -59,7 +60,7 @@ stdenv.mkDerivation rec {
     description = "A high-performance theorem prover and SMT solver";
     homepage    = "https://github.com/Z3Prover/z3";
     license     = stdenv.lib.licenses.mit;
-    platforms   = stdenv.lib.platforms.x86_64;
+    platforms   = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ thoughtpolice ttuegel ];
   };
 }
diff --git a/pkgs/applications/science/machine-learning/labelimg/default.nix b/pkgs/applications/science/machine-learning/labelimg/default.nix
index 05c56b0b09583..18c304e831653 100644
--- a/pkgs/applications/science/machine-learning/labelimg/default.nix
+++ b/pkgs/applications/science/machine-learning/labelimg/default.nix
@@ -28,7 +28,7 @@
       makeWrapperArgs+=("''${qtWrapperArgs[@]}")
     '';
     meta = with stdenv.lib; {
-      description = "LabelImg is a graphical image annotation tool and label object bounding boxes in images";
+      description = "A graphical image annotation tool and label object bounding boxes in images";
       homepage = "https://github.com/tzutalin/labelImg";
       license = licenses.mit;
       platforms = platforms.linux;
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 717b240c1cce2..e4fbe8a7f2dec 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -12,11 +12,11 @@
 assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
-  name = "R-4.0.2";
+  name = "R-4.0.3";
 
   src = fetchurl {
     url = "https://cran.r-project.org/src/base/R-4/${name}.tar.gz";
-    sha256 = "0xdy3dy2bzdiba8z94hjykyra8si8a5q15s0bri7c26scjrymg6k";
+    sha256 = "03cypg2qf7v9mq9mr9alz9w5y9m5kdgwbc97bp26pyymg253m609";
   };
 
   dontUseImakeConfigure = true;
@@ -113,6 +113,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     hydraPlatforms = platforms.linux;
 
-    maintainers = with maintainers; [ peti timokau ];
+    maintainers = with maintainers; [ peti ] ++ teams.sage.members;
   };
 }
diff --git a/pkgs/applications/science/math/bliss/default.nix b/pkgs/applications/science/math/bliss/default.nix
index 361b088466265..9ab90134aad41 100644
--- a/pkgs/applications/science/math/bliss/default.nix
+++ b/pkgs/applications/science/math/bliss/default.nix
@@ -22,14 +22,14 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin $out/share/doc/bliss $out/lib $out/include/bliss
-    mv bliss $out/bin 
+    mv bliss $out/bin
     mv html/* COPYING* $out/share/doc/bliss
     mv *.a $out/lib
     mv *.h *.hh $out/include/bliss
   '';
 
   meta = with stdenv.lib; {
-    description = "bliss is an open source tool for computing automorphism groups and canonical forms of graphs. It has both a command line user interface as well as C++ and C programming language APIs.";
+    description = "An open source tool for computing automorphism groups and canonical forms of graphs. It has both a command line user interface as well as C++ and C programming language APIs";
     homepage = "http://www.tcs.hut.fi/Software/bliss/";
     license = licenses.lgpl3;
     platforms = [ "i686-linux" "x86_64-linux" ];
diff --git a/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix
index 8e50f48b286b4..e770cff2da9cd 100644
--- a/pkgs/applications/science/math/calc/default.nix
+++ b/pkgs/applications/science/math/calc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, utillinux, makeWrapper
+{ stdenv, lib, fetchurl, util-linux, makeWrapper
 , enableReadline ? true, readline, ncurses }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
       --replace '-install_name ''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}'
   '';
 
-  buildInputs = [ utillinux makeWrapper ]
+  buildInputs = [ util-linux makeWrapper ]
              ++ lib.optionals enableReadline [ readline ncurses ];
 
   makeFlags = [
diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix
index 5cebef83a4a97..a6950ad3451ca 100644
--- a/pkgs/applications/science/math/geogebra/default.nix
+++ b/pkgs/applications/science/math/geogebra/default.nix
@@ -1,18 +1,7 @@
-{ stdenv, fetchurl, jre, makeDesktopItem, makeWrapper, language ? "en_US" }:
-
-stdenv.mkDerivation rec {
+{ stdenv, fetchurl, jre, makeDesktopItem, makeWrapper, unzip, language ? "en_US" }:
+let
   pname = "geogebra";
-  version = "5-0-593-0";
-
-  preferLocalBuild = true;
-
-  src = fetchurl {
-    urls = [
-      "https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
-      "http://web.archive.org/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
-    ];
-    sha256 = "d84c27a3299e6df08881733d22215a18decedcba4c2d97a9e5424c39cd57db35";
-  };
+  version = "5-0-609-0";
 
   srcIcon = fetchurl {
     url = "http://static.geogebra.org/images/geogebra-logo.svg";
@@ -30,23 +19,6 @@ stdenv.mkDerivation rec {
     mimeType = "application/vnd.geogebra.file;application/vnd.geogebra.tool;";
   };
 
-  buildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    install -D geogebra/* -t "$out/libexec/geogebra/"
-
-    makeWrapper "$out/libexec/geogebra/geogebra" "$out/bin/geogebra" \
-      --set JAVACMD "${jre}/bin/java" \
-      --set GG_PATH "$out/libexec/geogebra" \
-      --add-flags "--language=${language}"
-
-    install -Dm644 "${desktopItem}/share/applications/"* \
-      -t $out/share/applications/
-
-    install -Dm644 "${srcIcon}" \
-      "$out/share/icons/hicolor/scalable/apps/geogebra.svg"
-  '';
-
   meta = with stdenv.lib; {
     description = "Dynamic mathematics software with graphics, algebra and spreadsheets";
     longDescription = ''
@@ -57,7 +29,61 @@ stdenv.mkDerivation rec {
     homepage = "https://www.geogebra.org/";
     maintainers = with maintainers; [ ma27 ];
     license = with licenses; [ gpl3 cc-by-nc-sa-30 geogebra ];
-    platforms = platforms.all;
+    platforms = with platforms; linux ++ darwin;
     hydraPlatforms = [];
   };
-}
+
+  linuxPkg = stdenv.mkDerivation {
+    inherit pname version meta srcIcon desktopItem;
+
+    preferLocalBuild = true;
+
+    src = fetchurl {
+      urls = [
+        "https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
+        "http://web.archive.org/web/20201022200454/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
+      ];
+      sha256 = "0xbhg8hm3dqm3qkraj48pqwslrnjyxpq9mcgylr2m8i1gmqw7xwf";
+    };
+
+    nativeBuildInputs = [ makeWrapper ];
+
+    installPhase = ''
+      install -D geogebra/* -t "$out/libexec/geogebra/"
+
+      makeWrapper "$out/libexec/geogebra/geogebra" "$out/bin/geogebra" \
+        --set JAVACMD "${jre}/bin/java" \
+        --set GG_PATH "$out/libexec/geogebra" \
+        --add-flags "--language=${language}"
+
+      install -Dm644 "${desktopItem}/share/applications/"* \
+        -t $out/share/applications/
+
+      install -Dm644 "${srcIcon}" \
+        "$out/share/icons/hicolor/scalable/apps/geogebra.svg"
+    '';
+  };
+
+  darwinPkg = stdenv.mkDerivation {
+    inherit pname version meta;
+
+    preferLocalBuild = true;
+
+    src = fetchurl {
+      url = "https://download.geogebra.org/installers/5.0/GeoGebra-MacOS-Installer-withJava-${version}.zip";
+      sha256 = "16fgqwxz31cfmia0pyzpk05aqzrqr11sjbw37q9zb3xfh3p1r4gz";
+    };
+
+    dontUnpack = true;
+
+    nativeBuildInputs = [ unzip ];
+
+    installPhase = ''
+      install -dm755 $out/Applications
+      unzip $src -d $out/Applications
+    '';
+  };
+in
+if stdenv.isDarwin
+then darwinPkg
+else linuxPkg
diff --git a/pkgs/applications/science/math/geogebra/geogebra6.nix b/pkgs/applications/science/math/geogebra/geogebra6.nix
index 65caff82ead10..7bd5826489371 100644
--- a/pkgs/applications/science/math/geogebra/geogebra6.nix
+++ b/pkgs/applications/science/math/geogebra/geogebra6.nix
@@ -1,46 +1,70 @@
 { stdenv, unzip, fetchurl, electron_6, makeWrapper, geogebra }:
-stdenv.mkDerivation rec{
+let
+  pname = "geogebra";
+  version = "6-0-609-0";
 
-  name = "geogebra-${version}";
-  version = "6-0-600-0";
+  srcIcon = geogebra.srcIcon;
+  desktopItem = geogebra.desktopItem;
 
-  src = fetchurl {
-    urls = [
-        "https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
-        "https://web.archive.org/web/20200904093945/https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
-      ];
-    sha256 = "1l49rvfkil2cz6r7sa2mi0p6hvb6p66jv3x6xj8hjqls4l3sfhkm";
+  meta = with stdenv.lib; geogebra.meta // {
+    license = licenses.geogebra;
+    maintainers = with maintainers; [ voidless ];
+    platforms = with platforms; linux ++ darwin;
   };
 
-  dontConfigure = true;
-  dontBuild = true;
+  linuxPkg = stdenv.mkDerivation {
+    inherit pname version meta;
 
-  nativeBuildInputs = [
-    unzip
-    makeWrapper
-  ];
+    src = fetchurl {
+      urls = [
+          "https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
+          "https://web.archive.org/web/20201022200156/https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
+        ];
+      sha256 = "0rzcbq587x8827g9v03awa9hz27vyfjc0cz45ymbchqp31lsx49b";
+    };
 
-  unpackPhase = ''
-    unzip $src
-  '';
+    dontConfigure = true;
+    dontBuild = true;
 
-  installPhase = ''
-    mkdir -p $out/libexec/geogebra/ $out/bin
-    cp -r GeoGebra-linux-x64/{resources,locales} "$out/"
-    makeWrapper ${stdenv.lib.getBin electron_6}/bin/electron $out/bin/geogebra --add-flags "$out/resources/app"
-    install -Dm644 "${desktopItem}/share/applications/"* \
-      -t $out/share/applications/
+    nativeBuildInputs = [
+      unzip
+      makeWrapper
+    ];
 
-    install -Dm644 "${srcIcon}" \
-      "$out/share/icons/hicolor/scalable/apps/geogebra.svg"
-  '';
+    unpackPhase = ''
+      unzip $src
+    '';
 
-  srcIcon = geogebra.srcIcon;
+    installPhase = ''
+      mkdir -p $out/libexec/geogebra/ $out/bin
+      cp -r GeoGebra-linux-x64/{resources,locales} "$out/"
+      makeWrapper ${stdenv.lib.getBin electron_6}/bin/electron $out/bin/geogebra --add-flags "$out/resources/app"
+      install -Dm644 "${desktopItem}/share/applications/"* \
+        -t $out/share/applications/
 
-  desktopItem = geogebra.desktopItem;
-  meta = with stdenv.lib; geogebra.meta // {
-    license = licenses.geogebra;
-    maintainers = with maintainers; [ voidless ];
-    platforms = platforms.linux;
+      install -Dm644 "${srcIcon}" \
+        "$out/share/icons/hicolor/scalable/apps/geogebra.svg"
+    '';
+  };
+
+  darwinPkg = stdenv.mkDerivation {
+    inherit pname version meta;
+
+    src = fetchurl {
+      url = "https://download.geogebra.org/installers/6.0/GeoGebra-Classic-6-MacOS-Portable-${version}.zip";
+      sha256 = "0275869zgwbl1qjj593q6629hnxbwk9c15rkm29a3lh10pinb099";
+    };
+
+    dontUnpack = true;
+
+    nativeBuildInputs = [ unzip ];
+
+    installPhase = ''
+      install -dm755 $out/Applications
+      unzip $src -d $out/Applications
+    '';
   };
-}
+in
+if stdenv.isDarwin
+then darwinPkg
+else linuxPkg
diff --git a/pkgs/applications/science/math/gfan/default.nix b/pkgs/applications/science/math/gfan/default.nix
index adac92f376c8e..7e2a4625d3011 100644
--- a/pkgs/applications/science/math/gfan/default.nix
+++ b/pkgs/applications/science/math/gfan/default.nix
@@ -8,11 +8,15 @@ stdenv.mkDerivation rec {
     sha256 = "02pihqb1lb76a0xbfwjzs1cd6ay3ldfxsm8dvsbl6qs3vkjxax56";
   };
 
-  patchPhase = stdenv.lib.optionalString stdenv.cc.isClang ''
+  patches = [
+    ./gfan-0.6.2-cddlib-prefix.patch
+  ];
+
+  postPatch = stdenv.lib.optionalString stdenv.cc.isClang ''
     substituteInPlace Makefile --replace "-fno-guess-branch-probability" ""
   '';
 
-  buildFlags = [ "CC=cc" "CXX=c++" "cddnoprefix=1" ];
+  buildFlags = [ "CC=cc" "CXX=c++" ];
   installFlags = [ ''PREFIX=$(out)'' ];
   buildInputs = [ gmp mpir cddlib ];
 
diff --git a/pkgs/applications/science/math/gfan/gfan-0.6.2-cddlib-prefix.patch b/pkgs/applications/science/math/gfan/gfan-0.6.2-cddlib-prefix.patch
new file mode 100644
index 0000000000000..8a96a991cf754
--- /dev/null
+++ b/pkgs/applications/science/math/gfan/gfan-0.6.2-cddlib-prefix.patch
@@ -0,0 +1,55 @@
+diff -ru gfan0.6.2.orig/src/app_librarytest.cpp gfan0.6.2/src/app_librarytest.cpp
+--- gfan0.6.2.orig/src/app_librarytest.cpp	2020-10-19 08:41:27.981863500 +0900
++++ gfan0.6.2/src/app_librarytest.cpp	2020-10-19 08:42:44.551863500 +0900
+@@ -12,8 +12,8 @@
+ #include "setoper.h"
+ #include "cdd.h"
+ #else
+-#include "cdd/setoper.h"
+-#include "cdd/cdd.h"
++#include "cddlib/setoper.h"
++#include "cddlib/cdd.h"
+ #endif
+ #include <iostream>
+ #include <fstream>
+diff -ru gfan0.6.2.orig/src/gfanlib_zcone.cpp gfan0.6.2/src/gfanlib_zcone.cpp
+--- gfan0.6.2.orig/src/gfanlib_zcone.cpp	2020-10-19 08:41:27.981863500 +0900
++++ gfan0.6.2/src/gfanlib_zcone.cpp	2020-10-19 08:42:44.571863500 +0900
+@@ -16,8 +16,8 @@
+ #include "setoper.h"
+ #include "cdd.h"
+ #else
+-#include "cdd/setoper.h"
+-#include "cdd/cdd.h"
++#include "cddlib/setoper.h"
++#include "cddlib/cdd.h"
+ #endif
+ //}
+ 
+@@ -52,8 +52,8 @@
+ 				  "dd_free_global_constants()\n"
+ 				  "in your deinitialisation code (only available for cddlib version>=094d).\n"
+ 				  "This requires the header includes:\n"
+-				  "#include \"cdd/setoper.h\"\n"
+-				  "#include \"cdd/cdd.h\"\n"
++				  "#include \"cddlib/setoper.h\"\n"
++				  "#include \"cddlib/cdd.h\"\n"
+ 				  "\n"
+ 				  "Alternatively, you may call gfan:initializeCddlibIfRequired() and deinitializeCddlibIfRequired()\n"
+ 				  "if gfanlib is the only code using cddlib. If at some point cddlib is no longer required by gfanlib\n"
+diff -ru gfan0.6.2.orig/src/lp_cdd.cpp gfan0.6.2/src/lp_cdd.cpp
+--- gfan0.6.2.orig/src/lp_cdd.cpp	2020-10-19 08:41:27.991863500 +0900
++++ gfan0.6.2/src/lp_cdd.cpp	2020-10-19 08:42:44.571863500 +0900
+@@ -5,9 +5,9 @@
+ #include "cdd.h"
+ #include "cdd_f.h"
+ #else
+-#include "cdd/setoper.h"
+-#include "cdd/cdd.h"
+-#include "cdd/cdd_f.h"
++#include "cddlib/setoper.h"
++#include "cddlib/cdd.h"
++#include "cddlib/cdd_f.h"
+ #endif
+ //}
+ #include "termorder.h"
diff --git a/pkgs/applications/science/math/ginac/default.nix b/pkgs/applications/science/math/ginac/default.nix
index 701445f901000..3c129e8033bdf 100644
--- a/pkgs/applications/science/math/ginac/default.nix
+++ b/pkgs/applications/science/math/ginac/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cln, pkgconfig, readline, gmp, python }:
 
 stdenv.mkDerivation rec {
-  name = "ginac-1.7.9";
+  name = "ginac-1.8.0";
 
   src = fetchurl {
     url    = "${meta.homepage}/${name}.tar.bz2";
-    sha256 = "08cqc87qq4w6z3l053x5gfqsa4zkgkicq8skxsbsj39nli1zzkb7";
+    sha256 = "0l9byzfxq3f9az5pcdldnl95ws8mpirkqky46f973mvxi5541d24";
   };
 
   propagatedBuildInputs = [ cln ];
diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix
index db7e238e8ded8..41c9846b23b2f 100644
--- a/pkgs/applications/science/math/gmsh/default.nix
+++ b/pkgs/applications/science/math/gmsh/default.nix
@@ -5,11 +5,11 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "gmsh";
-  version = "4.6.0";
+  version = "4.7.0";
 
   src = fetchurl {
     url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
-    sha256 = "075dyblmlfdlhgbb1dwk6jzlqx93q90n6zwpr3mpii5n1zjmab0g";
+    sha256 = "03ij2hnh393gw59hgrz3qrmgc4qw82bc9nd98sks4jrp5gwk4zz2";
   };
 
   buildInputs = [ blas lapack gmm fltk libjpeg zlib libGLU libGL
diff --git a/pkgs/applications/science/math/lrcalc/default.nix b/pkgs/applications/science/math/lrcalc/default.nix
index 438a84c0e0be9..ddd470e621a09 100644
--- a/pkgs/applications/science/math/lrcalc/default.nix
+++ b/pkgs/applications/science/math/lrcalc/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     description = "Littlewood-Richardson calculator";
     homepage = "http://math.rutgers.edu/~asbuch/lrcalc/";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ timokau ];
+    maintainers = teams.sage.members;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix
index ace5ee55d7b16..d04a89bd8842d 100644
--- a/pkgs/applications/science/math/mathematica/default.nix
+++ b/pkgs/applications/science/math/mathematica/default.nix
@@ -144,6 +144,9 @@ stdenv.mkDerivation rec {
   '';
 
   dontBuild = true;
+  
+  # This is primarily an IO bound build; there's little benefit to building remotely.
+  preferLocalBuild = true;
 
   # all binaries are already stripped
   dontStrip = true;
diff --git a/pkgs/applications/science/math/maxima/5.41.nix b/pkgs/applications/science/math/maxima/5.41.nix
deleted file mode 100644
index 829dffc6116ec..0000000000000
--- a/pkgs/applications/science/math/maxima/5.41.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, sbcl, texinfo, perl, python, makeWrapper, rlwrap ? null
-, tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false
-}:
-
-let
-  name    = "maxima";
-  # old version temporarily kept for sage, see discussion at
-  # https://github.com/NixOS/nixpkgs/commit/82254747af35f3e0e0d6f78023ded3a81e25331b
-  version = "5.41.0";
-
-  searchPath =
-    stdenv.lib.makeBinPath
-      (stdenv.lib.filter (x: x != null) [ sbcl ecl rlwrap tk gnuplot ]);
-in
-stdenv.mkDerivation ({
-  inherit version;
-  name = "${name}-${version}";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "0x0n81z0s4pl8nwpf7ivlsbvsdphm9w42250g7qdkizl0132by6s";
-  };
-
-  buildInputs = stdenv.lib.filter (x: x != null) [
-    sbcl ecl texinfo perl python makeWrapper
-  ];
-
-  postInstall = ''
-    # Make sure that maxima can find its runtime dependencies.
-    for prog in "$out/bin/"*; do
-      wrapProgram "$prog" --prefix PATH ":" "$out/bin:${searchPath}"
-    done
-    # Move emacs modules and documentation into the right place.
-    mkdir -p $out/share/emacs $out/share/doc
-    ln -s ../maxima/${version}/emacs $out/share/emacs/site-lisp
-    ln -s ../maxima/${version}/doc $out/share/doc/maxima
-  ''
-   + (stdenv.lib.optionalString ecl-fasl ''
-     cp src/binary-ecl/maxima.fas* "$out/lib/maxima/${version}/binary-ecl/"
-   '')
-  ;
-
-  patches = [
-    # fix path to info dir (see https://trac.sagemath.org/ticket/11348)
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/infodir.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "09v64n60f7i6frzryrj0zd056lvdpms3ajky4f9p6kankhbiv21x";
-    })
-
-    # fix https://sourceforge.net/p/maxima/bugs/2596/
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/matrixexp.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "06961hn66rhjijfvyym21h39wk98sfxhp051da6gz0n9byhwc6zg";
-    })
-
-    # undo https://sourceforge.net/p/maxima/code/ci/f5e9b0f7eb122c4e48ea9df144dd57221e5ea0ca, see see https://trac.sagemath.org/ticket/13364#comment:93
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/undoing_true_false_printing_patch.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "0fvi3rcjv6743sqsbgdzazy9jb6r1p1yq63zyj9fx42wd1hgf7yx";
-    })
-
-    # upstream bug https://sourceforge.net/p/maxima/bugs/2520/ (not fixed)
-    # introduced in https://trac.sagemath.org/ticket/13364
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/0001-taylor2-Avoid-blowing-the-stack-when-diff-expand-isn.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "0xa0b6cr458zp7lc7qi0flv5ar0r3ivsqhjl0c3clv86di2y522d";
-    })
-  ] ++ stdenv.lib.optionals ecl-fasl [
-    # build fasl, needed for ECL support
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/maxima.system.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "18zafig8vflhkr80jq2ivk46k92dkszqlyq8cfmj0b2vcfjwwbar";
-    })
-    # There are some transient test failures. I hope this disables all those tests.
-    # If those test failures ever happen in the non-ecl version, that should be
-    # reportetd upstream.
-    ./known-ecl-failures.patch
-  ];
-
-  # Failures in the regression test suite won't abort the build process. We run
-  # the suite only so that potential errors show up in the build log. See also:
-  # https://sourceforge.net/tracker/?func=detail&aid=3365831&group_id=4933&atid=104933.
-  doCheck = true;
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "Computer algebra system";
-    homepage = "http://maxima.sourceforge.net";
-    license = stdenv.lib.licenses.gpl2;
-
-    longDescription = ''
-      Maxima is a fairly complete computer algebra system written in
-      lisp with an emphasis on symbolic computation. It is based on
-      DOE-MACSYMA and licensed under the GPL. Its abilities include
-      symbolic integration, 3D plotting, and an ODE solver.
-    '';
-
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.peti ];
-  };
-})
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index 49ff0d5d5a050..1bf7d16f29048 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, fetchpatch, sbcl, texinfo, perl, python, makeWrapper, rlwrap ? null
-, tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false
+{ stdenv, fetchurl, fetchpatch, sbcl, texinfo, perl, python, makeWrapper, autoreconfHook
+, rlwrap ? null, tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false
 }:
 
 let
   name    = "maxima";
-  version = "5.42.2";
+  version = "5.44.0";
 
   searchPath =
     stdenv.lib.makeBinPath
@@ -16,14 +16,20 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "0kdncy6137sg3rradirxzj10mkcvafxd892zlclwhr9sa7b12zhn";
+    sha256 = "1v6jr5s6hhj6r18gfk6hgxk2qd6z1dxkrjq9ss2z1y6sqi45wgyr";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   buildInputs = stdenv.lib.filter (x: x != null) [
     sbcl ecl texinfo perl python makeWrapper
     gnuplot   # required in the test suite
   ];
 
+  postPatch = ''
+    substituteInPlace doc/info/Makefile.am --replace "/usr/bin/env perl" "${perl}/bin/perl"
+  '';
+
   postInstall = ''
     # Make sure that maxima can find its runtime dependencies.
     for prog in "$out/bin/"*; do
@@ -57,13 +63,6 @@ stdenv.mkDerivation ({
       url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/undoing_true_false_printing_patch.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
       sha256 = "0fvi3rcjv6743sqsbgdzazy9jb6r1p1yq63zyj9fx42wd1hgf7yx";
     })
-
-    # upstream bug https://sourceforge.net/p/maxima/bugs/2520/ (not fixed)
-    # introduced in https://trac.sagemath.org/ticket/13364
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/0001-taylor2-Avoid-blowing-the-stack-when-diff-expand-isn.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "0xa0b6cr458zp7lc7qi0flv5ar0r3ivsqhjl0c3clv86di2y522d";
-    })
   ] ++ stdenv.lib.optionals ecl-fasl [
     # build fasl, needed for ECL support
     (fetchpatch {
@@ -74,11 +73,13 @@ stdenv.mkDerivation ({
 
   # The test suite is disabled since 5.42.2 because of the following issues:
   #
-  #   Errors found in /build/maxima-5.42.2/share/linearalgebra/rtest_matrixexp.mac, problems:
+  #   Error(s) found:
+  #   /build/maxima-5.44.0/share/linearalgebra/rtest_matrixexp.mac problems:
   #   (20 21 22)
-  #   Error found in rtest_arag, problem:
-  #   (error break)
-  #   3 tests failed out of 3,881 total tests.
+  #   Tests that were expected to fail but passed:
+  #   /build/maxima-5.44.0/share/vector/rtest_vect.mac problem:
+  #   (19)
+  #   3 tests failed out of 16,184 total tests.
   #
   # These failures don't look serious. It would be nice to fix them, but I
   # don't know how and probably won't have the time to find out.
diff --git a/pkgs/applications/science/math/maxima/known-ecl-failures.patch b/pkgs/applications/science/math/maxima/known-ecl-failures.patch
deleted file mode 100644
index f1d612d993e64..0000000000000
--- a/pkgs/applications/science/math/maxima/known-ecl-failures.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/tests/testsuite.lisp b/tests/testsuite.lisp
-index 45a81f4..36c35b8 100644
---- a/tests/testsuite.lisp
-+++ b/tests/testsuite.lisp
-@@ -25,13 +25,14 @@
-         ((mlist simp) "rtest10" 24 25)
-         ((mlist) "rtest11" #+(or gcl cmucl ccl64) 158 #+(or gcl cmucl ccl64) 174 #+gcl 175)
-         "rtest13" "rtest13s"
--        "rtest14"
-+        ;; "rtest14" ;; some tests sometimes fail with ecl, hard to reproduce. Observed failing: 250, 267, 297, 307, 310, 312, 315, 319
-         "rtest15"
- 	;; ccl versions 1.11 and earlier fail test 50.  Mark it as a
- 	;; known failure.  Presumably 1.12 will have this fixed.
-         ((mlist simp) "rtest16" #+ccl 50)
-         "rtestode" "rtestode_zp"
--        "rtest3" "rtest8"
-+        "rtest3"
-+        ((mlist simp) "rtest8" 104) ;; fails with ecl
-         ((mlist simp) "rtest12" 76 78)
-         "rexamples"
-         ((mlist simp) "rtesthyp" 105 112 113 123 124 128)
diff --git a/pkgs/applications/science/math/nauty/default.nix b/pkgs/applications/science/math/nauty/default.nix
index d75fc9731cdf9..76e7c796a1388 100644
--- a/pkgs/applications/science/math/nauty/default.nix
+++ b/pkgs/applications/science/math/nauty/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     inherit version;
     description = ''Programs for computing automorphism groups of graphs and digraphs'';
     license = licenses.asl20;
-    maintainers = with maintainers; [ raskin timokau ];
+    maintainers = teams.sage.members;
     platforms = platforms.unix;
     # I'm not sure if the filename will remain the same for future changelog or
     # if it will track changes to minor releases. Lets see. Better than nothing
diff --git a/pkgs/applications/science/math/palp/default.nix b/pkgs/applications/science/math/palp/default.nix
index c383438002f45..9ae4fe1ba920c 100644
--- a/pkgs/applications/science/math/palp/default.nix
+++ b/pkgs/applications/science/math/palp/default.nix
@@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
     # version was released that pointed to gplv2 however, so thats probably
     # the right license.
     license = licenses.gpl2;
-    maintainers = with maintainers; [ timokau ];
+    maintainers = teams.sage.members;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix
index bd730a1eaaaa5..a3e2f99ab274c 100644
--- a/pkgs/applications/science/math/pari/default.nix
+++ b/pkgs/applications/science/math/pari/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     homepage = "http://pari.math.u-bordeaux.fr";
     downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ ertes raskin AndersonTorres timokau ];
+    maintainers = with maintainers; [ ertes AndersonTorres ] ++ teams.sage.members;
     platforms = platforms.linux ++ platforms.darwin;
     updateWalker = true;
   };
diff --git a/pkgs/applications/science/math/pari/gp2c.nix b/pkgs/applications/science/math/pari/gp2c.nix
index 7726a0d789e97..082ff60c3e8db 100644
--- a/pkgs/applications/science/math/pari/gp2c.nix
+++ b/pkgs/applications/science/math/pari/gp2c.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gp2c";
-  version = "0.0.11pl4";
+  version = "0.0.12";
 
   src = fetchurl {
     url = "https://pari.math.u-bordeaux.fr/pub/pari/GP2C/${pname}-${version}.tar.gz";
-    sha256 = "sha256-QGocEXxTahB5fHhlWtHXgMEl6brQ34LNwScxHNuB1rI=";
+    sha256 = "039ip7qkwwv46wrcdrz7y12m30kazzkjr44kqbc0h137g4wzd7zf";
   };
 
   buildInputs = [ pari perl ];
diff --git a/pkgs/applications/science/math/pspp/default.nix b/pkgs/applications/science/math/pspp/default.nix
index 95c2c3931b3cc..d6c5b58f0d561 100644
--- a/pkgs/applications/science/math/pspp/default.nix
+++ b/pkgs/applications/science/math/pspp/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk3, gsl
 , pkgconfig, gtksourceview, pango, gettext, dconf
 , makeWrapper, gsettings-desktop-schemas, hicolor-icon-theme
-, texinfo, ssw
+, texinfo, ssw, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "pspp";
-  version = "1.2.0";
+  version = "1.4.1";
 
   src = fetchurl {
     url = "mirror://gnu/pspp/${pname}-${version}.tar.gz";
-    sha256 = "07pp27zycrb5x927jwaj9r3q7hy915jh51xs85zxby6gfiwl63m5";
+    sha256 = "0lqrash677b09zxdlxp89z6k02y4i23mbqg83956dwl69wc53dan";
   };
 
-  nativeBuildInputs = [ pkgconfig texinfo ];
+  nativeBuildInputs = [ pkgconfig texinfo python3 ];
   buildInputs = [ libxml2 readline zlib perl cairo gtk3 gsl
     gtksourceview pango gettext
     makeWrapper gsettings-desktop-schemas hicolor-icon-theme ssw
diff --git a/pkgs/applications/science/math/pynac/default.nix b/pkgs/applications/science/math/pynac/default.nix
index 82e331216712d..87fb205174bfd 100644
--- a/pkgs/applications/science/math/pynac/default.nix
+++ b/pkgs/applications/science/math/pynac/default.nix
@@ -4,8 +4,9 @@
 , pkgconfig
 , flint
 , gmp
-, python2
+, python3
 , singular
+, ncurses
 }:
 
 stdenv.mkDerivation rec {
@@ -23,8 +24,8 @@ stdenv.mkDerivation rec {
     flint
     gmp
     singular
-    singular
-    python2
+    python3
+    ncurses
   ];
 
   nativeBuildInputs = [
@@ -42,7 +43,7 @@ stdenv.mkDerivation rec {
     '';
     homepage    = "http://pynac.org";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ timokau ];
+    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 133df7c75ac58..09ead07dc09d6 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.13.0";
+  version = "3.15.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "qalculate-gtk";
     rev = "v${version}";
-    sha256 = "0yrzvsii84r9d2i2hrs4f65wzv3yj24l9d9yqfv3j85881h8wkm2";
+    sha256 = "1w0r9vv1h3zbfdvk8965g5plfkz5clf81riil5b394ms9vsw0bx5";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/science/math/rofi-calc/default.nix b/pkgs/applications/science/math/rofi-calc/default.nix
index 40b2711ff65a6..ebf2d2f0475d1 100644
--- a/pkgs/applications/science/math/rofi-calc/default.nix
+++ b/pkgs/applications/science/math/rofi-calc/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rofi-calc";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vwb9c3xvd2cms6cw8j8parg7w4bsxvvrd1wgggr8sz2p8rrvy5p";
+    sha256 = "ZGY4ZtAG/ZnEnC80modZBV4RdRQElbkjeoKCEFVrncE=";
   };
 
   nativeBuildInputs = [
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/svenstaro/rofi-calc";
     license = licenses.mit;
     maintainers = with maintainers; [ luc65r albakham ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    platforms = with platforms; linux;
   };
 }
 
diff --git a/pkgs/applications/science/math/sage/flask-oldsessions.nix b/pkgs/applications/science/math/sage/flask-oldsessions.nix
index 403dc8708fabb..86fe9912c19eb 100644
--- a/pkgs/applications/science/math/sage/flask-oldsessions.nix
+++ b/pkgs/applications/science/math/sage/flask-oldsessions.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Provides a session class that works like the one in Flask before 0.10.";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ timokau ];
+    maintainers = teams.sage.members;
     homepage = "https://github.com/mitsuhiko/flask-oldsessions";
   };
 }
diff --git a/pkgs/applications/science/math/sage/flask-openid.nix b/pkgs/applications/science/math/sage/flask-openid.nix
index 527173dec80a0..900b033429ef4 100644
--- a/pkgs/applications/science/math/sage/flask-openid.nix
+++ b/pkgs/applications/science/math/sage/flask-openid.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Adds openid support to flask applications";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ timokau ];
+    maintainers = teams.sage.members;
     homepage = "https://pythonhosted.org/Flask-OpenID/";
   };
 }
diff --git a/pkgs/applications/science/math/sage/pybrial.nix b/pkgs/applications/science/math/sage/pybrial.nix
index 718414126ae8f..5fc8a4aa6f488 100644
--- a/pkgs/applications/science/math/sage/pybrial.nix
+++ b/pkgs/applications/science/math/sage/pybrial.nix
@@ -20,6 +20,6 @@ buildPythonPackage rec {
     meta = with stdenv.lib; {
       description = "python implementation of BRiAl";
       license = licenses.gpl2;
-      maintainers = with maintainers; [ timokau ];
+      maintainers = teams.sage.members;
     };
 }
diff --git a/pkgs/applications/science/math/sage/python-openid.nix b/pkgs/applications/science/math/sage/python-openid.nix
index 4c7fdadadaf04..1e8a908ac79ae 100644
--- a/pkgs/applications/science/math/sage/python-openid.nix
+++ b/pkgs/applications/science/math/sage/python-openid.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "OpenID library for Python";
     license = licenses.asl20;
-    maintainers = with maintainers; [ timokau ];
+    maintainers = teams.sage.members;
     homepage = "https://github.com/openid/python-openid/";
   };
 }
diff --git a/pkgs/applications/science/math/sage/sage.nix b/pkgs/applications/science/math/sage/sage.nix
index e130d5f4cdccd..a21bffea14cd8 100644
--- a/pkgs/applications/science/math/sage/sage.nix
+++ b/pkgs/applications/science/math/sage/sage.nix
@@ -64,6 +64,6 @@ stdenv.mkDerivation rec {
     broken = true;
     description = "Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ timokau ];
+    maintainers = teams.sage.members;
   };
 }
diff --git a/pkgs/applications/science/math/sage/sagenb.nix b/pkgs/applications/science/math/sage/sagenb.nix
index 77b2168ad9747..ad5c53b6c1184 100644
--- a/pkgs/applications/science/math/sage/sagenb.nix
+++ b/pkgs/applications/science/math/sage/sagenb.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Sage Notebook";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ timokau ];
+    maintainers = teams.sage.members;
   };
 
   # let sagenb use mathjax
diff --git a/pkgs/applications/science/math/singular/default.nix b/pkgs/applications/science/math/singular/default.nix
index a8c4f6bb9a09d..8c5eac2c06d2e 100644
--- a/pkgs/applications/science/math/singular/default.nix
+++ b/pkgs/applications/science/math/singular/default.nix
@@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A CAS for polynomial computations";
-    maintainers = with maintainers; [ raskin timokau ];
+    maintainers = teams.sage.members;
     # 32 bit x86 fails with some link error: `undefined reference to `__divmoddi4@GCC_7.0.0'`
     platforms = subtractLists platforms.i686 platforms.unix;
     license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
diff --git a/pkgs/applications/science/math/symmetrica/default.nix b/pkgs/applications/science/math/symmetrica/default.nix
index b363137fb99cb..ca752259797f6 100644
--- a/pkgs/applications/science/math/symmetrica/default.nix
+++ b/pkgs/applications/science/math/symmetrica/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = ''A collection of routines for representation theory and combinatorics'';
     license = licenses.isc;
-    maintainers = with maintainers; [raskin timokau];
+    maintainers = teams.sage.members;
     platforms = platforms.unix;
     homepage = "https://gitlab.com/sagemath/symmetrica";
   };
diff --git a/pkgs/applications/science/misc/convertall/default.nix b/pkgs/applications/science/misc/convertall/default.nix
new file mode 100644
index 0000000000000..63ed18c89b2fa
--- /dev/null
+++ b/pkgs/applications/science/misc/convertall/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, python3, wrapQtAppsHook }:
+
+let
+  inherit (python3.pkgs) wrapPython pyqt5;
+in stdenv.mkDerivation rec {
+  pname = "convertall";
+  version = "0.8.0";
+
+  src = fetchFromGitHub {
+    owner = "doug-101";
+    repo = "ConvertAll";
+    rev = "v${version}";
+    sha256 = "02xxasgbjbivsbhyfpn3cpv52lscdx5kc95s6ns1dvnmdg0fpng0";
+  };
+
+  nativeBuildInputs = [ python3 wrapPython wrapQtAppsHook ];
+
+  propagatedBuildInputs = [ pyqt5 ];
+
+  installPhase = ''
+    python3 install.py -p $out -x
+  '';
+
+  postFixup = ''
+    buildPythonPath $out
+    patchPythonScript $out/share/convertall/convertall.py
+    makeQtWrapper $out/share/convertall/convertall.py $out/bin/convertall
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://convertall.bellz.org/";
+    description = "Graphical unit converter";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ orivej ];
+    platforms = pyqt5.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/science/misc/cytoscape/default.nix b/pkgs/applications/science/misc/cytoscape/default.nix
index 12cdeb453d7ac..647492bbe3183 100644
--- a/pkgs/applications/science/misc/cytoscape/default.nix
+++ b/pkgs/applications/science/misc/cytoscape/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cytoscape";
-  version = "3.8.1";
+  version = "3.8.2";
 
   src = fetchurl {
     url = "https://github.com/cytoscape/cytoscape/releases/download/${version}/${pname}-unix-${version}.tar.gz";
-    sha256 = "006g0w29sccg5h0zlrxdp3lx4vx1bfdhx2cms6aah85r5b82wgkf";
+    sha256 = "0zgsq9qnyvmq96pgf7372r16rm034fd0r4qa72xi9zbd4f2r7z8w";
   };
 
   patches = [
diff --git a/pkgs/applications/science/misc/foldingathome/control.nix b/pkgs/applications/science/misc/foldingathome/control.nix
index 91c3b8c779cd3..85be61f6686d0 100644
--- a/pkgs/applications/science/misc/foldingathome/control.nix
+++ b/pkgs/applications/science/misc/foldingathome/control.nix
@@ -8,7 +8,7 @@
 }:
 let
   majMin = stdenv.lib.versions.majorMinor version;
-  version = "7.6.13";
+  version = "7.6.21";
 
   python = python2.withPackages
     (
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.foldingathome.org/releases/public/release/fahcontrol/debian-stable-64bit/v${majMin}/fahcontrol_${version}-1_all.deb";
-    sha256 = "0qfvhwc29cgqkwf2bkhq4gr2d1c4jgccfs58916ss03n4rwz9gng";
+    sha256 = "1vfrdqkrvdlyxaw3f6z92w5dllrv6810lmf8yhcmjcwmphipvf71";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/misc/foldingathome/viewer.nix b/pkgs/applications/science/misc/foldingathome/viewer.nix
index cdeed6536efab..a383de621f29b 100644
--- a/pkgs/applications/science/misc/foldingathome/viewer.nix
+++ b/pkgs/applications/science/misc/foldingathome/viewer.nix
@@ -11,7 +11,7 @@
 }:
 let
   majMin = stdenv.lib.versions.majorMinor version;
-  version = "7.6.13";
+  version = "7.6.21";
 in
 stdenv.mkDerivation rec {
   inherit version;
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.foldingathome.org/releases/public/release/fahviewer/debian-stable-64bit/v${majMin}/fahviewer_${version}_amd64.deb";
-    sha256 = "09yfvk16j1iwx8h1xg678ks3bc8760gfdn7n32j8r893kd32cwyk";
+    sha256 = "00fd00pf6fcpplcaahvy9ir60mk69d9rcmwsyq3jrv9mxqm9aq7p";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/misc/nextinspace/default.nix b/pkgs/applications/science/misc/nextinspace/default.nix
new file mode 100644
index 0000000000000..390b2c58ca682
--- /dev/null
+++ b/pkgs/applications/science/misc/nextinspace/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchPypi, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+  pname = "nextinspace";
+  version = "1.0.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1h3dksxyy5gq071fa7i2p73s50918y1bkk38hgfwr4226c3wipvg";
+  };
+
+  pythonPath = with python3Packages; [
+    requests
+    tzlocal
+    colorama
+  ];
+
+  meta = with lib; {
+    description = "Print upcoming space-related events in your terminal";
+    homepage = "https://github.com/The-Kid-Gid/nextinspace";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ penguwin ];
+  };
+}
diff --git a/pkgs/applications/science/misc/openmodelica/default.nix b/pkgs/applications/science/misc/openmodelica/default.nix
index 50d4dcc1a9ff6..268ae53401f5c 100644
--- a/pkgs/applications/science/misc/openmodelica/default.nix
+++ b/pkgs/applications/science/misc/openmodelica/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    description = "OpenModelica is an open-source Modelica-based modeling and simulation environment";
+    description = "An open-source Modelica-based modeling and simulation environment";
     homepage    = "https://openmodelica.org";
     license     = licenses.gpl3;
     maintainers = with maintainers; [ smironov ];
diff --git a/pkgs/applications/science/misc/rink/default.nix b/pkgs/applications/science/misc/rink/default.nix
index b868706a05f99..0b1ef2b16ea9e 100644
--- a/pkgs/applications/science/misc/rink/default.nix
+++ b/pkgs/applications/science/misc/rink/default.nix
@@ -23,6 +23,6 @@ rustPlatform.buildRustPackage rec {
     description = "Unit-aware calculator";
     homepage = "https://rinkcalc.app";
     license = with licenses; [ mpl20 gpl3 ];
-    maintainers = with maintainers; [ sb0 filalex77 ];
+    maintainers = with maintainers; [ sb0 Br1ght0ne ];
   };
 }
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index 2b7532a93454c..a03f7682a51c4 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "snakemake";
-  version = "5.19.3";
+  version = "5.28.0";
 
   propagatedBuildInputs = with python3Packages; [
     appdirs
@@ -13,6 +13,7 @@ python3Packages.buildPythonApplication rec {
     jsonschema
     nbformat
     psutil
+    pulp
     pyyaml
     ratelimiter
     requests
@@ -22,7 +23,7 @@ python3Packages.buildPythonApplication rec {
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "b83f3ef73e25dafcb39b3565030e33fa2f7e80ed70256c535dc7e58ea762305d";
+    sha256 = "2367ce91baf7f8fa7738d33aff9670ffdf5410bbac49aeb209f73b45a3425046";
   };
 
   doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index 151abb099f5b4..bfa4a1f43391a 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -9,11 +9,11 @@
 }:
 
 stdenv.mkDerivation {
-  name = "gromacs-2020.3";
+  name = "gromacs-2020.4";
 
   src = fetchurl {
-    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2020.3.tar.gz";
-    sha256 = "1acjrhcfzpqy2dncblhj97602jbg9gdha4q1bgji9nrj25lq6cch";
+    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2020.4.tar.gz";
+    sha256 = "1rplvgna60nqyb8nspaz3bfkwb044kv3zxdaa5whql5m441nj6am";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/physics/elmerfem/default.nix b/pkgs/applications/science/physics/elmerfem/default.nix
index 46cc32fa168eb..a76fe3a72774a 100644
--- a/pkgs/applications/science/physics/elmerfem/default.nix
+++ b/pkgs/applications/science/physics/elmerfem/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = "https://elmerfem.org/";
-    description = "A finite element software for multiphysical problems.";
+    description = "A finite element software for multiphysical problems";
     platforms = platforms.unix;
     maintainers = [ maintainers.wulfsta ];
     license = licenses.lgpl21;
diff --git a/pkgs/applications/science/physics/xflr5/default.nix b/pkgs/applications/science/physics/xflr5/default.nix
index 85838b04cbf1b..5ae56528f9644 100644
--- a/pkgs/applications/science/physics/xflr5/default.nix
+++ b/pkgs/applications/science/physics/xflr5/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, fetchurl, wrapQtAppsHook, qmake }:
+{ mkDerivation, lib, fetchurl, qmake }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "xflr5";
   version = "6.47";
 
@@ -11,13 +11,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ qmake wrapQtAppsHook ];
+  nativeBuildInputs = [ qmake ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An analysis tool for airfoils, wings and planes";
     homepage = https://sourceforge.net/projects/xflr5/;
     license = licenses.gpl3;
     maintainers = [ maintainers.esclear ];
     platforms = platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/science/programming/scyther/default.nix b/pkgs/applications/science/programming/scyther/default.nix
index 5cfe081072a4e..ca6b57de611d2 100644
--- a/pkgs/applications/science/programming/scyther/default.nix
+++ b/pkgs/applications/science/programming/scyther/default.nix
@@ -13,7 +13,7 @@ let
   };
 
   meta = with lib; {
-    description = "Scyther is a tool for the automatic verification of security protocols.";
+    description = "A tool for the automatic verification of security protocols";
     homepage = "https://www.cs.ox.ac.uk/people/cas.cremers/scyther/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ infinisil ];
diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix
index c354dad804286..6fdb7b8fcbe29 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.19";
+  version = "1.8.27";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rbq2nm01212rp5xbl8p8kjl2mpgfppkwjsq3lnfw1v6g0m4359h";
+    sha256 = "f3c704e2d67b36e4932896abe00c89e7f3fb7458fc52849b5d7d6d83bd623adf";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix
index fe9719efdef84..4939fcf566271 100644
--- a/pkgs/applications/search/recoll/default.nix
+++ b/pkgs/applications/search/recoll/default.nix
@@ -1,60 +1,88 @@
-{ mkDerivation, stdenv, fetchurl, lib, bison
-, qtbase, xapian, file, python, perl
-, djvulibre, groff, libxslt, unzip, poppler_utils, antiword, catdoc, lyx
-, libwpd, unrtf, untex
-, ghostscript, gawk, gnugrep, gnused, gnutar, gzip, libiconv, zlib
-, withGui ? true }:
+{ stdenv
+, fetchurl
+, lib
+, mkDerivation
+, antiword
+, bison
+, catdoc
+, chmlib
+, djvulibre
+, file
+, gawk
+, ghostscript
+, gnugrep
+, gnused
+, gnutar
+, groff
+, gzip
+, libiconv
+, libwpd
+, libxslt
+, lyx
+, perl
+, pkg-config
+, poppler_utils
+, python3Packages
+, qtbase
+, unrtf
+, untex
+, unzip
+, which
+, xapian
+, zlib
+, withGui ? true
+}:
 
 assert stdenv.hostPlatform.system != "powerpc-linux";
 
 mkDerivation rec {
-  ver = "1.24.5";
-  name = "recoll-${ver}";
+  pname = "recoll";
+  version = "1.27.12";
 
   src = fetchurl {
-    url = "https://www.lesbonscomptes.com/recoll/${name}.tar.gz";
-    sha256 = "10m3a0ghnyipjcxapszlr8adyy2yaaxx4vgrkxrfmz13814z89cv";
+    url = "https://www.lesbonscomptes.com/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "0bgadm8p319fws66ca4rpv9fx2bllbphgn892rh78db81lz20i5v";
   };
 
   configureFlags = [ "--enable-recollq" "--disable-webkit" ]
     ++ lib.optionals (!withGui) [ "--disable-qtgui" "--disable-x11mon" ]
     ++ (if stdenv.isLinux then [ "--with-inotify" ] else [ "--without-inotify" ]);
 
-  buildInputs = [ xapian file python bison zlib ]
-    ++ lib.optional withGui qtbase
-    ++ lib.optional stdenv.isDarwin libiconv;
+  nativeBuildInputs = [ pkg-config ];
 
-  patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
-    sed -i 's/-Wl,--no-undefined -Wl,--warn-unresolved-symbols//' Makefile.am
-    sed -i 's/-Wl,--no-undefined -Wl,--warn-unresolved-symbols//' Makefile.in
-  '';
+  buildInputs = with python3Packages; [
+    bison chmlib file python setuptools which xapian zlib
+  ] ++ lib.optional withGui qtbase
+    ++ lib.optional stdenv.isDarwin libiconv;
 
   # the filters search through ${PATH} using a sh proc 'checkcmds' for the
   # filtering utils. Short circuit this by replacing the filtering command with
   # the absolute path to the filtering command.
   postInstall = ''
+    substituteInPlace $out/lib/*/site-packages/recoll/rclconfig.py --replace /usr/share/recoll $out/share/recoll
+    substituteInPlace $out/share/recoll/filters/rclconfig.py       --replace /usr/share/recoll $out/share/recoll
     for f in $out/share/recoll/filters/* ; do
       if [[ ! "$f" =~ \.zip$ ]]; then
-        substituteInPlace  $f --replace '"antiword"'      '"${lib.getBin antiword}/bin/antiword"'
-        substituteInPlace  $f --replace '"awk"'           '"${lib.getBin gawk}/bin/awk"'
-        substituteInPlace  $f --replace '"catppt"'        '"${lib.getBin catdoc}/bin/catppt"'
-        substituteInPlace  $f --replace '"djvused"'       '"${lib.getBin djvulibre}/bin/djvused"'
-        substituteInPlace  $f --replace '"djvutxt"'       '"${lib.getBin djvulibre}/bin/djvutxt"'
-        substituteInPlace  $f --replace '"egrep"'         '"${lib.getBin gnugrep}/bin/egrep"'
-        substituteInPlace  $f --replace '"groff"'         '"${lib.getBin groff}/bin/groff"'
-        substituteInPlace  $f --replace '"gunzip"'        '"${lib.getBin gzip}/bin/gunzip"'
-        substituteInPlace  $f --replace '"iconv"'         '"${lib.getBin libiconv}/bin/iconv"'
-        substituteInPlace  $f --replace '"pdftotext"'     '"${lib.getBin poppler_utils}/bin/pdftotext"'
-        substituteInPlace  $f --replace '"pstotext"'      '"${lib.getBin ghostscript}/bin/ps2ascii"'
-        substituteInPlace  $f --replace '"sed"'           '"${lib.getBin gnused}/bin/sed"'
-        substituteInPlace  $f --replace '"tar"'           '"${lib.getBin gnutar}/bin/tar"'
-        substituteInPlace  $f --replace '"unzip"'         '"${lib.getBin unzip}/bin/unzip"'
-        substituteInPlace  $f --replace '"xls2csv"'       '"${lib.getBin catdoc}/bin/xls2csv"'
-        substituteInPlace  $f --replace '"xsltproc"'      '"${lib.getBin libxslt}/bin/xsltproc"'
-        substituteInPlace  $f --replace '"unrtf"'         '"${lib.getBin unrtf}/bin/unrtf"'
-        substituteInPlace  $f --replace '"untex"'         '"${lib.getBin untex}/bin/untex"'
-        substituteInPlace  $f --replace '"wpd2html"'      '"${lib.getBin libwpd}/bin/wpd2html"'
-        substituteInPlace  $f --replace /usr/bin/perl ${lib.getBin perl}/bin/perl
+        substituteInPlace $f --replace '"antiword"'  '"${lib.getBin antiword}/bin/antiword"'
+        substituteInPlace $f --replace '"awk"'       '"${lib.getBin gawk}/bin/awk"'
+        substituteInPlace $f --replace '"catppt"'    '"${lib.getBin catdoc}/bin/catppt"'
+        substituteInPlace $f --replace '"djvused"'   '"${lib.getBin djvulibre}/bin/djvused"'
+        substituteInPlace $f --replace '"djvutxt"'   '"${lib.getBin djvulibre}/bin/djvutxt"'
+        substituteInPlace $f --replace '"egrep"'     '"${lib.getBin gnugrep}/bin/egrep"'
+        substituteInPlace $f --replace '"groff"'     '"${lib.getBin groff}/bin/groff"'
+        substituteInPlace $f --replace '"gunzip"'    '"${lib.getBin gzip}/bin/gunzip"'
+        substituteInPlace $f --replace '"iconv"'     '"${lib.getBin libiconv}/bin/iconv"'
+        substituteInPlace $f --replace '"pdftotext"' '"${lib.getBin poppler_utils}/bin/pdftotext"'
+        substituteInPlace $f --replace '"pstotext"'  '"${lib.getBin ghostscript}/bin/ps2ascii"'
+        substituteInPlace $f --replace '"sed"'       '"${lib.getBin gnused}/bin/sed"'
+        substituteInPlace $f --replace '"tar"'       '"${lib.getBin gnutar}/bin/tar"'
+        substituteInPlace $f --replace '"unzip"'     '"${lib.getBin unzip}/bin/unzip"'
+        substituteInPlace $f --replace '"xls2csv"'   '"${lib.getBin catdoc}/bin/xls2csv"'
+        substituteInPlace $f --replace '"xsltproc"'  '"${lib.getBin libxslt}/bin/xsltproc"'
+        substituteInPlace $f --replace '"unrtf"'     '"${lib.getBin unrtf}/bin/unrtf"'
+        substituteInPlace $f --replace '"untex"'     '"${lib.getBin untex}/bin/untex"'
+        substituteInPlace $f --replace '"wpd2html"'  '"${lib.getBin libwpd}/bin/wpd2html"'
+        substituteInPlace $f --replace /usr/bin/perl   ${lib.getBin perl}/bin/perl
       fi
     done
   '' + stdenv.lib.optionalString stdenv.isLinux ''
diff --git a/pkgs/applications/system/glances/default.nix b/pkgs/applications/system/glances/default.nix
index 6b77914539ccd..b0bd5cc8b1508 100644
--- a/pkgs/applications/system/glances/default.nix
+++ b/pkgs/applications/system/glances/default.nix
@@ -4,6 +4,7 @@
 , bottle, pysnmp
 , hddtemp
 , netifaces # IP module
+, py-cpuinfo
 }:
 
 buildPythonApplication rec {
@@ -41,6 +42,7 @@ buildPythonApplication rec {
     psutil
     pysnmp
     setuptools
+    py-cpuinfo
   ] ++ lib.optional stdenv.isLinux hddtemp;
 
   preConfigure = ''
diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/terminal-emulators/alacritty/default.nix
index 72e00cb15a708..cd372b79c26b2 100644
--- a/pkgs/applications/misc/alacritty/default.nix
+++ b/pkgs/applications/terminal-emulators/alacritty/default.nix
@@ -52,16 +52,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "alacritty";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "alacritty";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1948j57xhqvc5y876s929x9rhd6j0xnw5c91g1zqw2rfncn602g2";
+    sha256 = "vQdNwNiUvoJWRT1foPRadirI2zWjnzU3sGnIxeHKlj8=";
   };
 
-  cargoSha256 = "17lyzcj07f0vyki3091vgjd0w8ki11sw5m8gb3bxdph1dl04rria";
+  cargoSha256 = "1PQSg6EmwVMZj2ALw6qsbtPMCtALVHx5TR05FjGD/QE=";
 
   nativeBuildInputs = [
     cmake
@@ -74,7 +74,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   buildInputs = rpathLibs
-  ++ lib.optionals stdenv.isDarwin [
+    ++ lib.optionals stdenv.isDarwin [
     AppKit
     CoreGraphics
     CoreServices
@@ -136,7 +136,7 @@ rustPlatform.buildRustPackage rec {
     description = "A cross-platform, GPU-accelerated terminal emulator";
     homepage = "https://github.com/alacritty/alacritty";
     license = licenses.asl20;
-    maintainers = with maintainers; [ filalex77 mic92 cole-h ma27 ];
+    maintainers = with maintainers; [ Br1ght0ne mic92 cole-h ma27 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/aminal/default.nix b/pkgs/applications/terminal-emulators/aminal/default.nix
index 7f04a93d6a326..7f04a93d6a326 100644
--- a/pkgs/applications/misc/aminal/default.nix
+++ b/pkgs/applications/terminal-emulators/aminal/default.nix
diff --git a/pkgs/applications/misc/cool-retro-term/default.nix b/pkgs/applications/terminal-emulators/cool-retro-term/default.nix
index 739ad07adbf3a..739ad07adbf3a 100644
--- a/pkgs/applications/misc/cool-retro-term/default.nix
+++ b/pkgs/applications/terminal-emulators/cool-retro-term/default.nix
diff --git a/pkgs/applications/misc/eterm/default.nix b/pkgs/applications/terminal-emulators/eterm/default.nix
index b51acd9fa7284..b51acd9fa7284 100644
--- a/pkgs/applications/misc/eterm/default.nix
+++ b/pkgs/applications/terminal-emulators/eterm/default.nix
diff --git a/pkgs/applications/misc/evilvte/default.nix b/pkgs/applications/terminal-emulators/evilvte/default.nix
index 7a5284a527a67..7a5284a527a67 100644
--- a/pkgs/applications/misc/evilvte/default.nix
+++ b/pkgs/applications/terminal-emulators/evilvte/default.nix
diff --git a/pkgs/applications/misc/foot/default.nix b/pkgs/applications/terminal-emulators/foot/default.nix
index 3d95f7c5772dd..3d95f7c5772dd 100644
--- a/pkgs/applications/misc/foot/default.nix
+++ b/pkgs/applications/terminal-emulators/foot/default.nix
diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/terminal-emulators/guake/default.nix
index d403ddc8b26ca..d403ddc8b26ca 100644
--- a/pkgs/applications/misc/guake/default.nix
+++ b/pkgs/applications/terminal-emulators/guake/default.nix
diff --git a/pkgs/applications/misc/havoc/default.nix b/pkgs/applications/terminal-emulators/havoc/default.nix
index a6d5278fc3c5a..a6d5278fc3c5a 100644
--- a/pkgs/applications/misc/havoc/default.nix
+++ b/pkgs/applications/terminal-emulators/havoc/default.nix
diff --git a/pkgs/applications/misc/hyper/default.nix b/pkgs/applications/terminal-emulators/hyper/default.nix
index 1535b1a2568eb..e5ea0a67f93ae 100644
--- a/pkgs/applications/misc/hyper/default.nix
+++ b/pkgs/applications/terminal-emulators/hyper/default.nix
@@ -11,11 +11,11 @@ let
   ];
 in
 stdenv.mkDerivation rec {
-  version = "2.1.2";
+  version = "3.0.2";
   pname = "hyper";
   src = fetchurl {
     url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}_amd64.deb";
-    sha256 = "1n4qlbk7q9zkhhg72mdks95g15xgyrc6ixf882ghvrqghd4zxplm";
+    sha256 = "0fv4wv5f8nc739bna83qxmgrvvbyq4w9ch764q2f12wjygrz336p";
   };
   buildInputs = [ dpkg ];
   unpackPhase = ''
diff --git a/pkgs/applications/misc/iterm2/default.nix b/pkgs/applications/terminal-emulators/iterm2/default.nix
index e273eda45c315..e273eda45c315 100644
--- a/pkgs/applications/misc/iterm2/default.nix
+++ b/pkgs/applications/terminal-emulators/iterm2/default.nix
diff --git a/pkgs/applications/misc/iterm2/disable_updates.patch b/pkgs/applications/terminal-emulators/iterm2/disable_updates.patch
index e717c58f30f16..e717c58f30f16 100644
--- a/pkgs/applications/misc/iterm2/disable_updates.patch
+++ b/pkgs/applications/terminal-emulators/iterm2/disable_updates.patch
diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index e2eda846d60f4..b6a93aefb594f 100644
--- a/pkgs/applications/misc/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -21,14 +21,14 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.19.1";
+  version = "0.19.2";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "145fx4nnn0gszawllfwqf1h65ak0ij6ffargs7y0cgaxsc991s6m";
+    sha256 = "06mlrc283k5f75y36fmmaxnj29jfc1s8vaykjph6a86m1gcl5wgi";
   };
 
   buildInputs = [
@@ -53,10 +53,10 @@ buildPythonApplication rec {
 
   nativeBuildInputs = [
     pkgconfig sphinx ncurses
+    installShellFiles
   ] ++ stdenv.lib.optionals stdenv.isDarwin [
     imagemagick
     libicns  # For the png2icns tool.
-    installShellFiles
   ];
 
   propagatedBuildInputs = stdenv.lib.optional stdenv.isLinux libGL;
@@ -113,10 +113,10 @@ buildPythonApplication rec {
     wrapProgram "$out/bin/kitty" --prefix PATH : "$out/bin:${stdenv.lib.makeBinPath [ imagemagick xsel ncurses.dev ]}"
     runHook postInstall
 
-    mkdir -p "$out/share/"{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions}
-    "$out/bin/kitty" + complete setup fish > "$out/share/fish/vendor_completions.d/kitty.fish"
-    "$out/bin/kitty" + complete setup bash > "$out/share/bash-completion/completions/kitty.bash"
-    "$out/bin/kitty" + complete setup zsh > "$out/share/zsh/site-functions/_kitty"
+    installShellCompletion --cmd kitty \
+      --bash <("$out/bin/kitty" + complete setup bash) \
+      --fish <("$out/bin/kitty" + complete setup fish) \
+      --zsh  <("$out/bin/kitty" + complete setup zsh)
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/misc/kitty/fix-paths.patch b/pkgs/applications/terminal-emulators/kitty/fix-paths.patch
index 380f6d7491464..380f6d7491464 100644
--- a/pkgs/applications/misc/kitty/fix-paths.patch
+++ b/pkgs/applications/terminal-emulators/kitty/fix-paths.patch
diff --git a/pkgs/applications/misc/lilyterm/default.nix b/pkgs/applications/terminal-emulators/lilyterm/default.nix
index 28f9625b5b667..28f9625b5b667 100644
--- a/pkgs/applications/misc/lilyterm/default.nix
+++ b/pkgs/applications/terminal-emulators/lilyterm/default.nix
diff --git a/pkgs/applications/misc/lxterminal/default.nix b/pkgs/applications/terminal-emulators/lxterminal/default.nix
index 8c002bd14b086..8c002bd14b086 100644
--- a/pkgs/applications/misc/lxterminal/default.nix
+++ b/pkgs/applications/terminal-emulators/lxterminal/default.nix
diff --git a/pkgs/applications/misc/lxterminal/respect-xml-catalog-files-var.patch b/pkgs/applications/terminal-emulators/lxterminal/respect-xml-catalog-files-var.patch
index 598f506118f29..598f506118f29 100644
--- a/pkgs/applications/misc/lxterminal/respect-xml-catalog-files-var.patch
+++ b/pkgs/applications/terminal-emulators/lxterminal/respect-xml-catalog-files-var.patch
diff --git a/pkgs/applications/misc/microcom/default.nix b/pkgs/applications/terminal-emulators/microcom/default.nix
index 8377505ec1c54..8377505ec1c54 100644
--- a/pkgs/applications/misc/microcom/default.nix
+++ b/pkgs/applications/terminal-emulators/microcom/default.nix
diff --git a/pkgs/applications/misc/mlterm/default.nix b/pkgs/applications/terminal-emulators/mlterm/default.nix
index 7c7906fc841f0..9c01430d6dfc9 100644
--- a/pkgs/applications/misc/mlterm/default.nix
+++ b/pkgs/applications/terminal-emulators/mlterm/default.nix
@@ -1,26 +1,45 @@
-{ stdenv, fetchurl, pkgconfig, autoconf, makeDesktopItem
+{ stdenv, lib, fetchFromGitHub, pkgconfig, autoconf, makeDesktopItem
 , libX11, gdk-pixbuf, cairo, libXft, gtk3, vte
 , harfbuzz #substituting glyphs with opentype fonts
 , fribidi, m17n_lib #bidi and encoding
 , openssl, libssh2 #build-in ssh
 , fcitx, ibus, uim #IME
 , wrapGAppsHook #color picker in mlconfig
+, Cocoa #Darwin
 }:
 
 stdenv.mkDerivation rec {
   pname = "mlterm";
-  version = "3.9.0";
+  version = "3.9.1";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/project/mlterm/01release/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "17h6j4nmbyvsx2shm8mqm7smzq9i7mbqxjw19c2m0rhf5yzqhr3k";
+  src = fetchFromGitHub {
+    owner = "arakiken";
+    repo = pname;
+    rev = "rel-${lib.replaceStrings [ "." ] [ "_" ] version}"; # 3.9.1 -> rel-3_9_1
+    sha256 = "1hh196kz2n3asv8r8r2bdk5b2w93zq7rw4880ciiq1554h0ib7fj";
   };
 
   nativeBuildInputs = [ pkgconfig autoconf wrapGAppsHook ];
   buildInputs = [
-    libX11 gdk-pixbuf.dev cairo libXft gtk3 vte
-    harfbuzz fribidi m17n_lib openssl libssh2
-    fcitx ibus uim
+    libX11
+    gdk-pixbuf.dev
+    cairo
+    libXft
+    gtk3
+    harfbuzz
+    fribidi
+  ] ++ lib.optionals (!stdenv.isDarwin) [
+    # need linker magic, not adapted for Darwin yet
+    openssl
+    libssh2
+
+    # Not supported on Darwin
+    vte
+    m17n_lib
+
+    fcitx
+    ibus
+    uim
   ];
 
   #bad configure.ac and Makefile.in everywhere
@@ -42,34 +61,41 @@ stdenv.mkDerivation rec {
       --replace "-m 2755 -g utmp" " " \
       --replace "-m 4755 -o root" " "
   '';
-  NIX_LDFLAGS = "
+  NIX_LDFLAGS = lib.optionalString (!stdenv.isDarwin) "
     -L${stdenv.cc.cc.lib}/lib
     -lX11 -lgdk_pixbuf-2.0 -lcairo -lfontconfig -lfreetype -lXft
     -lvte-2.91 -lgtk-3 -lharfbuzz -lfribidi -lm17n
-  " + stdenv.lib.optionalString (openssl != null) "
+  " + lib.optionalString (openssl != null) "
     -lcrypto
-  " + stdenv.lib.optionalString (libssh2 != null) "
+  " + lib.optionalString (libssh2 != null) "
     -lssh2
   ";
 
   configureFlags = [
-    "--with-x=yes"
-    "--with-gui=xlib,fb"
     "--with-imagelib=gdk-pixbuf" #or mlimgloader depending on your bugs of choice
     "--with-type-engines=cairo,xft,xcore"
     "--with-gtk=3.0"
     "--enable-ind" #indic scripts
     "--enable-fribidi" #bidi scripts
-    "--enable-m17nlib" #character encodings
     "--with-tools=mlclient,mlconfig,mlcc,mlterm-menu,mlimgloader,registobmp,mlfc"
      #mlterm-menu and mlconfig depend on enabling gnome3.at-spi2-core
      #and configuring ~/.mlterm/key correctly.
- ] ++ stdenv.lib.optional (libssh2 == null) "--disable-ssh2";
+ ] ++ lib.optionals (!stdenv.isDarwin) [
+   "--with-x=yes"
+   "--with-gui=xlib,fb"
+    "--enable-m17nlib" #character encodings
+ ] ++ lib.optionals stdenv.isDarwin [
+    "--with-gui=quartz"
+ ] ++ lib.optionals (libssh2 == null) [ " --disable-ssh2" ];
 
   postInstall = ''
     install -D contrib/icon/mlterm-icon.svg "$out/share/icons/hicolor/scalable/apps/mlterm.svg"
     install -D contrib/icon/mlterm-icon-gnome2.png "$out/share/icons/hicolor/48x48/apps/mlterm.png"
     install -D -t $out/share/applications $desktopItem/share/applications/*
+  '' + lib.optionalString stdenv.isDarwin ''
+    mkdir -p $out/Applications/
+    cp -a cocoa/mlterm.app $out/Applications/
+    install $out/bin/mlterm -Dt $out/Applications/mlterm.app/Contents/MacOS/
   '';
 
   desktopItem = makeDesktopItem {
@@ -80,17 +106,17 @@ stdenv.mkDerivation rec {
     comment = "Terminal emulator";
     desktopName = "mlterm";
     genericName = "Terminal emulator";
-    categories = stdenv.lib.concatStringsSep ";" [
+    categories = lib.concatStringsSep ";" [
       "Application" "System" "TerminalEmulator"
     ];
     startupNotify = "false";
   };
 
-  meta = with stdenv.lib; {
-    description = "Multi Lingual TERMinal emulator on X11";
+  meta = with lib; {
+    description = "Multi Lingual TERMinal emulator";
     homepage = "http://mlterm.sourceforge.net/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ vrthra ramkromberg ];
-    platforms = with platforms; linux;
+    maintainers = with maintainers; [ vrthra ramkromberg atemu ];
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/misc/mrxvt/default.nix b/pkgs/applications/terminal-emulators/mrxvt/default.nix
index 4dc70133ec479..4dc70133ec479 100644
--- a/pkgs/applications/misc/mrxvt/default.nix
+++ b/pkgs/applications/terminal-emulators/mrxvt/default.nix
diff --git a/pkgs/applications/misc/nimmm/default.nix b/pkgs/applications/terminal-emulators/nimmm/default.nix
index 383057ca65518..383057ca65518 100644
--- a/pkgs/applications/misc/nimmm/default.nix
+++ b/pkgs/applications/terminal-emulators/nimmm/default.nix
diff --git a/pkgs/applications/misc/roxterm/default.nix b/pkgs/applications/terminal-emulators/roxterm/default.nix
index d02296f0e16d1..88ff0dc460ecb 100644
--- a/pkgs/applications/misc/roxterm/default.nix
+++ b/pkgs/applications/terminal-emulators/roxterm/default.nix
@@ -1,7 +1,7 @@
 { at-spi2-core, cmake, dbus, dbus-glib, docbook_xsl, epoxy, fetchpatch, fetchFromGitHub
 , glib, gtk3, harfbuzz, libXdmcp, libXtst, libpthreadstubs
 , libselinux, libsepol, libtasn1, libxkbcommon, libxslt, p11-kit, pcre2
-, pkgconfig, stdenv, utillinuxMinimal, vte, wrapGAppsHook, xmlto
+, pkgconfig, stdenv, util-linuxMinimal, vte, wrapGAppsHook, xmlto
 }:
 
 stdenv.mkDerivation rec {
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ gtk3 dbus dbus-glib vte pcre2 harfbuzz libpthreadstubs libXdmcp
-      utillinuxMinimal glib docbook_xsl xmlto libselinux
+      util-linuxMinimal glib docbook_xsl xmlto libselinux
       libsepol libxkbcommon epoxy at-spi2-core libXtst libtasn1 p11-kit
     ];
 
diff --git a/pkgs/applications/misc/rxvt-unicode-plugins/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/default.nix
index 74bfbe83e91f3..74bfbe83e91f3 100644
--- a/pkgs/applications/misc/rxvt-unicode-plugins/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/default.nix
diff --git a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix
index a4e03fa347f0e..a4e03fa347f0e 100644
--- a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix
diff --git a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-bidi/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-bidi/default.nix
index 4b6b4eb8184cc..4b6b4eb8184cc 100644
--- a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-bidi/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-bidi/default.nix
diff --git a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-font-size/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix
index f81709b973900..f81709b973900 100644
--- a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-font-size/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix
diff --git a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-perl/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix
index 0c95acd72057f..0c95acd72057f 100644
--- a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-perl/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix
diff --git a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-perls/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perls/default.nix
index 53bb938c3330d..53bb938c3330d 100644
--- a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-perls/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perls/default.nix
diff --git a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-resize-font/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-resize-font/default.nix
index a056e603f0044..a056e603f0044 100644
--- a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-resize-font/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-resize-font/default.nix
diff --git a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-tabbedex/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-tabbedex/default.nix
index 71a55f9293c66..71a55f9293c66 100644
--- a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-tabbedex/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-tabbedex/default.nix
diff --git a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-theme-switch/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-theme-switch/default.nix
index 5a84a9b472a5b..5a84a9b472a5b 100644
--- a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-theme-switch/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-theme-switch/default.nix
diff --git a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-vtwheel/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-vtwheel/default.nix
index aebbedacef644..eb520f38bedbe 100644
--- a/pkgs/applications/misc/rxvt-unicode-plugins/urxvt-vtwheel/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-vtwheel/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
    rev = "36d3e861664aeae36a45f96100f10f8fe2218035";
    sha256 = "1h3vrsbli5q9kr84j5ijbivlhpwlh3l8cv233pg362v2zz4ja8i7";
   };
-  
+
   installPhase = ''
     sed -i 's|#! perl|#! ${perl}/bin/perl|g' vtwheel
     mkdir -p $out/lib/urxvt/perl
@@ -23,5 +23,5 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ danbst ];
     platforms = with platforms; unix;
   };
-  
+
 }
diff --git a/pkgs/applications/misc/rxvt-unicode/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix
index 6512f402ffbd8..6512f402ffbd8 100644
--- a/pkgs/applications/misc/rxvt-unicode/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix
diff --git a/pkgs/applications/misc/rxvt-unicode/patches/256-color-resources.patch b/pkgs/applications/terminal-emulators/rxvt-unicode/patches/256-color-resources.patch
index c8d2acfbdc519..c8d2acfbdc519 100644
--- a/pkgs/applications/misc/rxvt-unicode/patches/256-color-resources.patch
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode/patches/256-color-resources.patch
diff --git a/pkgs/applications/misc/rxvt-unicode/patches/9.06-font-width.patch b/pkgs/applications/terminal-emulators/rxvt-unicode/patches/9.06-font-width.patch
index 636083218fa56..636083218fa56 100644
--- a/pkgs/applications/misc/rxvt-unicode/patches/9.06-font-width.patch
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode/patches/9.06-font-width.patch
diff --git a/pkgs/applications/misc/rxvt-unicode/patches/makefile-phony.patch b/pkgs/applications/terminal-emulators/rxvt-unicode/patches/makefile-phony.patch
index 5e42e17c156a6..5e42e17c156a6 100644
--- a/pkgs/applications/misc/rxvt-unicode/patches/makefile-phony.patch
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode/patches/makefile-phony.patch
diff --git a/pkgs/applications/misc/rxvt-unicode/wrapper.nix b/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix
index 38978799b5a8d..b03acb99530af 100644
--- a/pkgs/applications/misc/rxvt-unicode/wrapper.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix
@@ -29,7 +29,7 @@ let
   # This provides simple way to customize urxvt using
   # the `.override` mechanism.
   wrapper = { configure, ... }:
-    let 
+    let
       config = configure { inherit availablePlugins; };
       plugins = config.plugins or (builtins.attrValues availablePlugins);
       extraDeps = config.extraDeps or [ ];
diff --git a/pkgs/applications/misc/rxvt/default.nix b/pkgs/applications/terminal-emulators/rxvt/default.nix
index c71973da13beb..c71973da13beb 100644
--- a/pkgs/applications/misc/rxvt/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt/default.nix
diff --git a/pkgs/applications/terminal-emulators/sakura/default.nix b/pkgs/applications/terminal-emulators/sakura/default.nix
new file mode 100644
index 0000000000000..7cccec3b72fcb
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/sakura/default.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, fetchurl
+, cmake
+, pkgconfig
+, gtk3
+, perl
+, vte
+, pcre2
+, glib
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sakura";
+  version = "3.7.1";
+
+  src = fetchurl {
+    url = "https://launchpad.net/${pname}/trunk/${version}/+download/${pname}-${version}.tar.bz2";
+    sha256 = "sha256-cppODnUKQpS9kFkkOqxU3yqAElAVn8VQtQsP4Carkos=";
+  };
+
+  nativeBuildInputs = [ cmake perl pkgconfig makeWrapper ];
+
+  buildInputs = [ gtk3 vte pcre2 glib ];
+
+  # 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}/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.pleyades.net/david/projects/sakura";
+    description = "A terminal emulator based on GTK and VTE";
+    longDescription = ''
+      sakura is a terminal emulator based on GTK and VTE. It's a terminal
+      emulator with few dependencies, so you don't need a full GNOME desktop
+      installed to have a decent terminal emulator. Current terminal emulators
+      based on VTE are gnome-terminal, XFCE Terminal, TermIt and a small
+      sample program included in the vte sources. The differences between
+      sakura and the last one are that it uses a notebook to provide several
+      terminals in one window and adds a contextual menu with some basic
+      options. No more no less.
+    '';
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ astsmtl codyopel AndersonTorres ];
+    platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/terminal-emulators/st/default.nix
index a91229f2921e3..a91229f2921e3 100644
--- a/pkgs/applications/misc/st/default.nix
+++ b/pkgs/applications/terminal-emulators/st/default.nix
diff --git a/pkgs/applications/misc/st/xst.nix b/pkgs/applications/terminal-emulators/st/xst.nix
index 3e29abee5d65d..3e29abee5d65d 100644
--- a/pkgs/applications/misc/st/xst.nix
+++ b/pkgs/applications/terminal-emulators/st/xst.nix
diff --git a/pkgs/applications/misc/stupidterm/default.nix b/pkgs/applications/terminal-emulators/stupidterm/default.nix
index 2016059d81e78..2016059d81e78 100644
--- a/pkgs/applications/misc/stupidterm/default.nix
+++ b/pkgs/applications/terminal-emulators/stupidterm/default.nix
diff --git a/pkgs/applications/misc/terminator/default.nix b/pkgs/applications/terminal-emulators/terminator/default.nix
index 5de8109e3a4d2..5de8109e3a4d2 100644
--- a/pkgs/applications/misc/terminator/default.nix
+++ b/pkgs/applications/terminal-emulators/terminator/default.nix
diff --git a/pkgs/applications/misc/terminus/default.nix b/pkgs/applications/terminal-emulators/terminus/default.nix
index 4c38e530247e8..4c38e530247e8 100644
--- a/pkgs/applications/misc/terminus/default.nix
+++ b/pkgs/applications/terminal-emulators/terminus/default.nix
diff --git a/pkgs/applications/misc/termite/add_errno_header.patch b/pkgs/applications/terminal-emulators/termite/add_errno_header.patch
index 81283f86a21db..81283f86a21db 100644
--- a/pkgs/applications/misc/termite/add_errno_header.patch
+++ b/pkgs/applications/terminal-emulators/termite/add_errno_header.patch
diff --git a/pkgs/applications/misc/termite/default.nix b/pkgs/applications/terminal-emulators/termite/default.nix
index 63565e207f77f..2f991ca1c7e68 100644
--- a/pkgs/applications/misc/termite/default.nix
+++ b/pkgs/applications/terminal-emulators/termite/default.nix
@@ -4,6 +4,8 @@ let
 
   # termite requires VTE with some internals exposed
   # https://github.com/thestinger/vte-ng
+  #
+  # three of the patches have been locally modified to cleanly apply on 0.62
   vte-ng =  vte.overrideAttrs (attrs: {
     patches = attrs.patches or [] ++ [
       (fetchpatch {
@@ -11,26 +13,17 @@ let
         url = "https://github.com/thestinger/vte-ng/commit/342e26574f50dcd40bbeaad9e839c2a6144d0c1c.patch";
         sha256 = "1b0k9ys545q85vfki417p21kis9f36yd0hyp12phayynss6fn715";
       })
-      (fetchpatch {
-        name = "0002-expose-function-for-setting-cursor-position.patch";
-        url = "https://github.com/thestinger/vte-ng/commit/5ae3acb69474fe5bc43767a4a3625e9ed23607a1.patch";
-        sha256 = "091sb44g2pl0zbxnxidpfmsqqc65dmkakhjb0wvlnsjckqalhs89";
-      })
-      (fetchpatch {
-        name = "0003-add-function-for-setting-the-text-selections.patch";
-        url = "https://github.com/thestinger/vte-ng/commit/742d57ecf15e24f6a5f2133a81b6c70acc8ff03c.patch";
-        sha256 = "12rq3svbj1nzridbssxsvmmb8njky3w8qdnkymz7850b3kqg277x";
-      })
+      # Derived from https://github.com/thestinger/vte-ng/commit/5ae3acb69474fe5bc43767a4a3625e9ed23607a1.patch
+      ./vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch
+      # Derived from https://github.com/thestinger/vte-ng/commit/742d57ecf15e24f6a5f2133a81b6c70acc8ff03c.patch
+      ./vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch
       (fetchpatch {
         name = "0004-add-functions-to-get-set-block-selection-mode.patch";
         url = "https://github.com/thestinger/vte-ng/commit/08748fd9cb82bd191e5c476b1682ca71f7732572.patch";
         sha256 = "1cnhd8f7ywdgcyd6xmcd2nn39jjxzkxp4d0zsj2k7m5v74nhcs1g";
       })
-      (fetchpatch {
-        name = "0005-expose-function-for-getting-the-selected-text.patch";
-        url = "https://github.com/thestinger/vte-ng/commit/dd74ae7c06e8888af2fc090ac6f8920a9d8227fb.patch";
-        sha256 = "0pbnbkwqxm4p9xsgvqwayvh8srk5z1kyjnigmahf9mlqn7hi6v27";
-      })
+      # Derived from "https://github.com/thestinger/vte-ng/commit/dd74ae7c06e8888af2fc090ac6f8920a9d8227fb.patch";
+      ./vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch
     ];
   });
 
diff --git a/pkgs/applications/misc/termite/remove_ldflags_macos.patch b/pkgs/applications/terminal-emulators/termite/remove_ldflags_macos.patch
index f8c68518bb4de..f8c68518bb4de 100644
--- a/pkgs/applications/misc/termite/remove_ldflags_macos.patch
+++ b/pkgs/applications/terminal-emulators/termite/remove_ldflags_macos.patch
diff --git a/pkgs/applications/misc/termite/url_regexp_trailing.patch b/pkgs/applications/terminal-emulators/termite/url_regexp_trailing.patch
index 96deaa073d71b..96deaa073d71b 100644
--- a/pkgs/applications/misc/termite/url_regexp_trailing.patch
+++ b/pkgs/applications/terminal-emulators/termite/url_regexp_trailing.patch
diff --git a/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch
new file mode 100644
index 0000000000000..8f5c0dab39ad3
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch
@@ -0,0 +1,61 @@
+From 5ae3acb69474fe5bc43767a4a3625e9ed23607a1 Mon Sep 17 00:00:00 2001
+From: Jelle van der Waa <jelle@vdwaa.nl>
+Date: Sat, 13 Feb 2016 22:18:01 +0100
+Subject: [PATCH] expose function for setting cursor position
+
+---
+ src/vte/vteterminal.h |  5 +++++
+ src/vtegtk.cc         | 24 ++++++++++++++++++++++++
+ 2 files changed, 29 insertions(+)
+
+diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
+index a607e5da..9701320d 100644
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -378,6 +378,11 @@ _VTE_PUBLIC
+ void vte_terminal_get_cursor_position(VteTerminal *terminal,
+ 				      glong *column,
+                                       glong *row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
++_VTE_PUBLIC
++void vte_terminal_set_cursor_position(VteTerminal *terminal,
++                                      glong column,
++                                      glong row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
++
+ 
+ _VTE_PUBLIC
+ char *vte_terminal_hyperlink_check_event(VteTerminal *terminal,
+diff --git a/src/vtegtk.cc b/src/vtegtk.cc
+index b11b780b..bdf36eac 100644
+--- a/src/vtegtk.cc
++++ b/src/vtegtk.cc
+@@ -2415,6 +2415,30 @@ vte_terminal_get_cursor_position(VteTerminal *terminal,
+ 	}
+ }
+ 
++/**
++ * vte_terminal_set_cursor_position
++ * @terminal: a #VteTerminal
++ * @column: the new cursor column
++ * @row: the new cursor row
++ *
++ * Set the location of the cursor.
++ */
++void
++vte_terminal_set_cursor_position(VteTerminal *terminal,
++		                 long column, long row) noexcept
++{
++	g_return_if_fail(VTE_IS_TERMINAL(terminal));
++
++        auto impl = IMPL(terminal);
++	impl->invalidate_cursor_once(FALSE);
++	impl->m_screen->cursor.col = column;
++	impl->m_screen->cursor.row = row;
++	impl->invalidate_cursor_once(FALSE);
++	impl->check_cursor_blink();
++	impl->queue_cursor_moved();
++
++}
++
+ /**
+  * vte_terminal_pty_new_sync:
+  * @terminal: a #VteTerminal
diff --git a/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch
new file mode 100644
index 0000000000000..203228dae34d7
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch
@@ -0,0 +1,56 @@
+From 742d57ecf15e24f6a5f2133a81b6c70acc8ff03c Mon Sep 17 00:00:00 2001
+From: Jelle van der Waa <jelle@vdwaa.nl>
+Date: Sat, 13 Feb 2016 22:25:19 +0100
+Subject: [PATCH] add function for setting the text selections
+
+---
+ src/vte/vteterminal.h |  4 ++++
+ src/vtegtk.cc         | 20 ++++++++++++++++++++
+ 2 files changed, 24 insertions(+)
+
+diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
+index 9701320d..a11b4cb7 100644
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -196,6 +196,10 @@ _VTE_PUBLIC
+ void vte_terminal_select_all(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
+ _VTE_PUBLIC
+ void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
++_VTE_PUBLIC
++void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row,
++			      long end_col, long end_row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
++
+ 
+ /* By-word selection */
+ _VTE_PUBLIC
+diff --git a/src/vtegtk.cc b/src/vtegtk.cc
+index bdf36eac..d9e9f2ed 100644
+--- a/src/vtegtk.cc
++++ b/src/vtegtk.cc
+@@ -2390,6 +2390,26 @@ vte_terminal_unselect_all(VteTerminal *terminal)
+         IMPL(terminal)->deselect_all();
+ }
+ 
++/**
++ * vte_terminal_select_text:
++ * @terminal: a #VteTerminal
++ * @start_col: the starting column for the selection
++ * @start_row: the starting row for the selection
++ * @end_col: the end column for the selection
++ * @end_row: the end row for the selection
++ *
++ * Sets the current selection region.
++ */
++void
++vte_terminal_select_text(VteTerminal *terminal,
++		         long start_col, long start_row,
++			 long end_col, long end_row) noexcept
++{
++	g_return_if_fail (VTE_IS_TERMINAL (terminal));
++
++        IMPL(terminal)->select_text(start_col, start_row, end_col, end_row);
++}
++
+ /**
+  * vte_terminal_get_cursor_position:
+  * @terminal: a #VteTerminal
diff --git a/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch
new file mode 100644
index 0000000000000..0a2c52722268f
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch
@@ -0,0 +1,29 @@
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -204,7 +204,9 @@
+ _VTE_PUBLIC
+ void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row,
+ 			      long end_col, long end_row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
+-
++_VTE_PUBLIC
++char *
++vte_terminal_get_selection(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
+ 
+ /* By-word selection */
+ _VTE_PUBLIC
+--- a/src/vtegtk.cc
++++ b/src/vtegtk.cc
+@@ -2435,6 +2435,13 @@
+         IMPL(terminal)->select_text(start_col, start_row, end_col, end_row);
+ }
+ 
++char *
++vte_terminal_get_selection(VteTerminal *terminal) noexcept
++{
++	g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL);
++	return g_strdup (IMPL(terminal)->m_selection[VTE_SELECTION_PRIMARY]->str);
++}
++
+ /**
+  * vte_terminal_get_cursor_position:
+  * @terminal: a #VteTerminal
diff --git a/pkgs/applications/misc/termite/wrapper.nix b/pkgs/applications/terminal-emulators/termite/wrapper.nix
index 379223d9076d0..379223d9076d0 100644
--- a/pkgs/applications/misc/termite/wrapper.nix
+++ b/pkgs/applications/terminal-emulators/termite/wrapper.nix
diff --git a/pkgs/applications/misc/termonad/default.nix b/pkgs/applications/terminal-emulators/termonad/default.nix
index 4388cbcfb4419..4388cbcfb4419 100644
--- a/pkgs/applications/misc/termonad/default.nix
+++ b/pkgs/applications/terminal-emulators/termonad/default.nix
diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/terminal-emulators/tilda/default.nix
index 0a672b039f6be..0a672b039f6be 100644
--- a/pkgs/applications/misc/tilda/default.nix
+++ b/pkgs/applications/terminal-emulators/tilda/default.nix
diff --git a/pkgs/applications/misc/tilix/default.nix b/pkgs/applications/terminal-emulators/tilix/default.nix
index 4707685e3dab3..4707685e3dab3 100644
--- a/pkgs/applications/misc/tilix/default.nix
+++ b/pkgs/applications/terminal-emulators/tilix/default.nix
diff --git a/pkgs/applications/terminal-emulators/wayst/default.nix b/pkgs/applications/terminal-emulators/wayst/default.nix
new file mode 100644
index 0000000000000..99ee326aebf25
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/wayst/default.nix
@@ -0,0 +1,91 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, pkgconfig
+, freetype
+, fontconfig
+, libGL
+, libX11
+, libXrandr
+, libxcb
+, libxkbcommon
+, utf8proc
+, wayland
+
+, libnotify
+, xdg_utils
+, makeDesktopItem
+}:
+
+let
+  desktopItem = makeDesktopItem {
+    desktopName = "Wayst";
+    name = "wayst";
+    exec = "wayst";
+    icon = "wayst";
+    terminal = "false";
+    categories = "System;TerminalEmulator";
+    comment = "A simple terminal emulator";
+    extraEntries = ''
+      GenericName=Terminal
+      Keywords=wayst;terminal;
+    '';
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "wayst";
+  version = "unstable-2020-10-12";
+
+  src = fetchFromGitHub {
+    owner = "91861";
+    repo = pname;
+    rev = "b8c7ca00a785a748026ed1ba08bf3d19916ced18";
+    hash = "sha256-wHAU1yxukxApzhLLLctZ/AYqF7t21HQc5omPBZyxra0=";
+  };
+
+  makeFlags = [ "INSTALL_DIR=\${out}/bin" ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [
+    fontconfig
+    libX11
+    freetype
+    libGL
+    libxcb
+    libxkbcommon
+    libXrandr
+    utf8proc
+    wayland
+  ];
+
+  # This patch forces the Makefile to use utf8proc
+  # The makefile relies on ldconfig to find the utf8proc libraries
+  # which is not possible on nixpkgs
+  patches = [ ./utf8proc.patch ];
+
+  postPatch = ''
+    substituteInPlace src/settings.c \
+      --replace xdg-open ${xdg_utils}/bin/xdg-open
+    substituteInPlace src/main.c \
+      --replace notify-send ${libnotify}/bin/notify-send
+  '';
+
+  preInstall = ''
+    mkdir -p $out/bin
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/applications
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
+    install -D icons/wayst.svg $out/share/icons/hicolor/scalable/apps/wayst.svg
+  '';
+
+  meta = with lib; {
+    description = "A simple terminal emulator";
+    homepage = "https://github.com/91861/wayst";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ berbiche ];
+  };
+}
diff --git a/pkgs/applications/terminal-emulators/wayst/utf8proc.patch b/pkgs/applications/terminal-emulators/wayst/utf8proc.patch
new file mode 100644
index 0000000000000..0923c5dbe18d7
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/wayst/utf8proc.patch
@@ -0,0 +1,24 @@
+commit caa5a6bed31937f2d1b322da204e11eae57a720f
+Author: Nicolas Berbiche <nicolas@normie.dev>
+Date:   Tue Oct 20 18:14:44 2020 -0400
+
+    PATCH: use nixpkgs utf8proc
+    
+    This patch forces the Makefile to use utf8proc from `buildInputs`.
+    The Makefile relies on ldconfig to find the utf8proc libraries,
+    which is not possible with nixpkgs.
+
+diff --git a/Makefile b/Makefile
+index caccdf7..90b11ea 100644
+--- a/Makefile
++++ b/Makefile
+@@ -29,7 +29,7 @@ else
+ 	LDFLAGS = -O2 -flto
+ endif
+ 
+-ifeq ($(shell ldconfig -p | grep libutf8proc.so > /dev/null || echo fail),fail)
++ifeq (false,fail)
+ $(info libutf8proc not found. Support for language-specific combining characters and unicode normalization will be disabled.)
+ 	CFLAGS += -DNOUTF8PROC
+ else
+
diff --git a/pkgs/applications/misc/x3270/default.nix b/pkgs/applications/terminal-emulators/x3270/default.nix
index 747d26538764c..747d26538764c 100644
--- a/pkgs/applications/misc/x3270/default.nix
+++ b/pkgs/applications/terminal-emulators/x3270/default.nix
diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix
new file mode 100644
index 0000000000000..1ec704f5d4389
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/xterm/default.nix
@@ -0,0 +1,119 @@
+{ stdenv, fetchurl, fetchpatch, xorg, ncurses, freetype, fontconfig, pkgconfig
+, makeWrapper, nixosTests, writeScript, common-updater-scripts, git, nixfmt, nix
+, gnused, coreutils, enableDecLocator ? true }:
+
+stdenv.mkDerivation rec {
+  pname = "xterm";
+  version = "362";
+
+  src = fetchurl {
+    urls = [
+      "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
+      "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
+    ];
+    sha256 = "HU/+Im+o8CGFm7wwB3iP9jpGoxJC2b2ae9fr4k6BrKI=";
+  };
+
+  buildInputs = [
+    xorg.libXaw
+    xorg.xorgproto
+    xorg.libXt
+    xorg.libXext
+    xorg.libX11
+    xorg.libSM
+    xorg.libICE
+    ncurses
+    freetype
+    fontconfig
+    pkgconfig
+    xorg.libXft
+    xorg.luit
+    makeWrapper
+  ];
+
+  patches = [ ./sixel-256.support.patch ]
+    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
+      name = "posix-ptys.patch";
+      url =
+        "https://git.alpinelinux.org/aports/plain/community/xterm/posix-ptys.patch?id=3aa532e77875fa1db18c7fcb938b16647031bcc1";
+      sha256 = "0czgnsxkkmkrk1idw69qxbprh0jb4sw3c24zpnqq2v76jkl7zvlr";
+    });
+
+  configureFlags = [
+    "--enable-wide-chars"
+    "--enable-256-color"
+    "--enable-sixel-graphics"
+    "--enable-regis-graphics"
+    "--enable-load-vt-fonts"
+    "--enable-i18n"
+    "--enable-doublechars"
+    "--enable-luit"
+    "--enable-mini-luit"
+    "--with-tty-group=tty"
+    "--with-app-defaults=$(out)/lib/X11/app-defaults"
+  ] ++ stdenv.lib.optional enableDecLocator "--enable-dec-locator";
+
+  # Work around broken "plink.sh".
+  NIX_LDFLAGS = "-lXmu -lXt -lICE -lX11 -lfontconfig";
+
+  # Hack to get xterm built with the feature of releasing a possible setgid of 'utmp',
+  # decided by the sysadmin to allow the xterm reporting to /var/run/utmp
+  # If we used the configure option, that would have affected the xterm installation,
+  # (setgid with the given group set), and at build time the environment even doesn't have
+  # groups, and the builder will end up removing any setgid.
+  postConfigure = ''
+    echo '#define USE_UTMP_SETGID 1'
+  '';
+
+  postInstall = ''
+    for bin in $out/bin/*; do
+      wrapProgram $bin --set XAPPLRESDIR $out/lib/X11/app-defaults/
+    done
+
+    install -D -t $out/share/applications xterm.desktop
+    install -D -t $out/share/icons/hicolor/48x48/apps icons/xterm-color_48x48.xpm
+  '';
+
+  passthru = {
+    tests = { inherit (nixosTests) xterm; };
+
+    updateScript = let
+      # Tags that end in letters are unstable
+      suffixes = stdenv.lib.concatStringsSep " "
+        (map (c: "-c versionsort.suffix='${c}'")
+          (stdenv.lib.stringToCharacters "abcdefghijklmnopqrstuvwxyz"));
+    in writeScript "update.sh" ''
+      #!${stdenv.shell}
+      set -o errexit
+      PATH=${
+        stdenv.lib.makeBinPath [
+          common-updater-scripts
+          git
+          nixfmt
+          nix
+          coreutils
+          gnused
+        ]
+      }
+
+      oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')"
+      latestTag="$(git ${suffixes} ls-remote --exit-code --refs --sort='version:refname' --tags git@github.com:ThomasDickey/xterm-snapshots.git 'xterm-*' | tail --lines=1 | cut --delimiter='/' --fields=3 | sed 's|^xterm-||g')"
+
+      if [ ! "$oldVersion" = "$latestTag" ]; then
+        update-source-version ${pname} "$latestTag" --version-key=version --print-changes
+        nixpkgs="$(git rev-parse --show-toplevel)"
+        default_nix="$nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix"
+        nixfmt "$default_nix"
+      else
+        echo "${pname} is already up-to-date"
+      fi
+    '';
+  };
+
+  meta = {
+    homepage = "https://invisible-island.net/xterm";
+    license = with stdenv.lib.licenses; [ mit ];
+    maintainers = with stdenv.lib.maintainers; [ nequissimus vrthra ];
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/applications/misc/xterm/sixel-256.support.patch b/pkgs/applications/terminal-emulators/xterm/sixel-256.support.patch
index 480e67e89ca3e..480e67e89ca3e 100644
--- a/pkgs/applications/misc/xterm/sixel-256.support.patch
+++ b/pkgs/applications/terminal-emulators/xterm/sixel-256.support.patch
diff --git a/pkgs/applications/misc/xtermcontrol/default.nix b/pkgs/applications/terminal-emulators/xtermcontrol/default.nix
index f7c0edf22420f..f7c0edf22420f 100644
--- a/pkgs/applications/misc/xtermcontrol/default.nix
+++ b/pkgs/applications/terminal-emulators/xtermcontrol/default.nix
diff --git a/pkgs/applications/misc/yaft/default.nix b/pkgs/applications/terminal-emulators/yaft/default.nix
index e66f397a38307..e66f397a38307 100644
--- a/pkgs/applications/misc/yaft/default.nix
+++ b/pkgs/applications/terminal-emulators/yaft/default.nix
diff --git a/pkgs/applications/version-management/bcompare/default.nix b/pkgs/applications/version-management/bcompare/default.nix
index 1af64f8e6df54..5da3aee5d7b68 100644
--- a/pkgs/applications/version-management/bcompare/default.nix
+++ b/pkgs/applications/version-management/bcompare/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bcompare";
-  version = "4.3.5.24893";
+  version = "4.3.7.25118";
 
   src = fetchurl {
     url = "https://www.scootersoftware.com/${pname}-${version}_amd64.deb";
-    sha256 = "1gm8d6hgdg8f3hd83wqac28gkvz5nyn62wj7x44vmr60dh4i2jfn";
+    sha256 = "165d6d81vy29pr62y4rcvl4abqqhfwdzcsx77p0dqlzgqswj88v8";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/version-management/commitizen/node-composition.nix b/pkgs/applications/version-management/commitizen/node-composition.nix
index c970861a86f0d..17879f381d57e 100644
--- a/pkgs/applications/version-management/commitizen/node-composition.nix
+++ b/pkgs/applications/version-management/commitizen/node-composition.nix
@@ -6,7 +6,7 @@
 
 let
   nodeEnv = import ./node-env.nix {
-    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile;
     inherit nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
diff --git a/pkgs/applications/version-management/commitizen/node-env.nix b/pkgs/applications/version-management/commitizen/node-env.nix
index e1abf53049350..04e3ee097fae8 100644
--- a/pkgs/applications/version-management/commitizen/node-env.nix
+++ b/pkgs/applications/version-management/commitizen/node-env.nix
@@ -1,6 +1,6 @@
 # This file originates from node2nix
 
-{stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
+{stdenv, nodejs, python2, util-linux, libtool, runCommand, writeTextFile}:
 
 let
   python = if nodejs ? python then nodejs.python else python2;
@@ -396,7 +396,7 @@ let
     stdenv.mkDerivation ({
       name = "node_${name}-${version}";
       buildInputs = [ tarWrapper python nodejs ]
-        ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+        ++ stdenv.lib.optional (stdenv.isLinux) util-linux
         ++ stdenv.lib.optional (stdenv.isDarwin) libtool
         ++ buildInputs;
 
@@ -470,7 +470,7 @@ let
         name = "node-dependencies-${name}-${version}";
 
         buildInputs = [ tarWrapper python nodejs ]
-          ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+          ++ stdenv.lib.optional (stdenv.isLinux) util-linux
           ++ stdenv.lib.optional (stdenv.isDarwin) libtool
           ++ buildInputs;
 
@@ -516,7 +516,7 @@ let
     stdenv.mkDerivation {
       name = "node-shell-${name}-${version}";
 
-      buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
+      buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) util-linux ++ buildInputs;
       buildCommand = ''
         mkdir -p $out/bin
         cat > $out/bin/shell <<EOF
diff --git a/pkgs/applications/version-management/cvs-fast-export/default.nix b/pkgs/applications/version-management/cvs-fast-export/default.nix
index 0592f6e545d8f..cbd630094f0e8 100644
--- a/pkgs/applications/version-management/cvs-fast-export/default.nix
+++ b/pkgs/applications/version-management/cvs-fast-export/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, makeWrapper, flex, bison,
  asciidoc, docbook_xml_dtd_45, docbook_xsl,
  libxml2, libxslt,
- python27, rcs, cvs, git,
+ python3, rcs, cvs, git,
  coreutils, rsync}:
 with stdenv; with lib;
 mkDerivation rec {
@@ -22,7 +22,7 @@ mkDerivation rec {
 
   buildInputs = [
     flex bison asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt
-    python27 rcs cvs git makeWrapper
+    python3 rcs cvs git makeWrapper
   ];
 
   postPatch = "patchShebangs .";
diff --git a/pkgs/applications/version-management/git-and-tools/bump2version/default.nix b/pkgs/applications/version-management/git-and-tools/bump2version/default.nix
index 69b44625f95ad..eb44f6d412b51 100644
--- a/pkgs/applications/version-management/git-and-tools/bump2version/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/bump2version/default.nix
@@ -7,7 +7,7 @@ buildPythonApplication rec {
 
   src = fetchFromGitHub {
     owner = "c4urself";
-    repo = "${pname}";
+    repo = pname;
     rev = "refs/tags/v${version}";
     sha256 = "10p7rg569rk3qvzs5kjj17894bqlsg3ihhbln6ciwwfhkfq1kpja";
   };
@@ -16,12 +16,12 @@ buildPythonApplication rec {
   # X's in pytest are git tests which won't run in sandbox
   checkPhase = ''
     pytest tests/ -k 'not usage_string_fork'
-  ''; 
+  '';
 
   meta = with stdenv.lib; {
     description = "Version-bump your software with a single command";
     longDescription = ''
-      A small command line tool to simplify releasing software by updating 
+      A small command line tool to simplify releasing software by updating
       all version strings in your source code by the correct increment.
     '';
     homepage = "https://github.com/c4urself/bump2version";
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
index 8debc642b4573..79c118a200c1a 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
@@ -69,6 +69,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  stripDebugList = [ "cgit" ];
+
   meta = {
     homepage = "https://git.zx2c4.com/cgit/about/";
     repositories.git = "git://git.zx2c4.com/cgit";
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 130ace63b4bb2..477d9ca3ea6f3 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -34,6 +34,8 @@ let
 
   gh = callPackage ./gh { };
 
+  ghorg = callPackage ./ghorg { };
+
   ghq = callPackage ./ghq { };
 
   git = appendToName "minimal" gitBase;
@@ -72,6 +74,8 @@ let
   # support for bugzilla
   git-bz = callPackage ./git-bz { };
 
+  git-chglog = callPackage ./git-chglog { };
+
   git-cinnabar = callPackage ./git-cinnabar { };
 
   git-codeowners = callPackage ./git-codeowners { };
@@ -82,6 +86,8 @@ let
 
   git-crypt = callPackage ./git-crypt { };
 
+  git-delete-merged-branches = callPackage ./git-delete-merged-branches { };
+
   git-dit = callPackage ./git-dit {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
@@ -129,7 +135,7 @@ let
   git-radar = callPackage ./git-radar { };
 
   git-recent = callPackage ./git-recent {
-    utillinux = if stdenv.isLinux then utillinuxMinimal else utillinux;
+    util-linux = if stdenv.isLinux then util-linuxMinimal else util-linux;
   };
 
   git-remote-codecommit = python3Packages.callPackage ./git-remote-codecommit { };
@@ -194,7 +200,7 @@ let
   gitstatus = callPackage ./gitstatus { };
 
   gitui = callPackage ./gitui {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) Security AppKit;
   };
 
   grv = callPackage ./grv { };
@@ -239,6 +245,8 @@ let
 
   transcrypt = callPackage ./transcrypt { };
 
+  git-vanity-hash = callPackage ./git-vanity-hash { };
+
   ydiff = pkgs.python3.pkgs.toPythonApplication pkgs.python3.pkgs.ydiff;
 
 } // lib.optionalAttrs (config.allowAliases or true) (with self; {
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 e59ca6ac89992..d6b976a29f45e 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "1.1.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "1jf1y6135p30dlr42fnl0w7782fczizq8yya4bsd6xf66bcq0zzn";
+    sha256 = "1d15nrba53yk75n610wnyziq9x5v515i8pqi97iyrsz2gm2lbi3p";
   };
 
-  vendorSha256 = "12ka5x5m4h8dfpcdhfjc5lz6bm8pzfqkbhs9j3a8w08xsi93dvdz";
+  vendorSha256 = "009dv2brr4h71z78cxikgm0az3hxh28mwm94kn2sgx3pd4r5gir5";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -30,9 +30,8 @@ buildGoModule rec {
     done
   '';
 
-  checkPhase = ''
-    make test
-  '';
+  # fails with `unable to find git executable in PATH`
+  doCheck = false;
 
   meta = with lib; {
     description = "GitHub CLI tool";
diff --git a/pkgs/applications/version-management/git-and-tools/ghorg/default.nix b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
new file mode 100644
index 0000000000000..30049e8458778
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "ghorg";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "gabrie30";
+    repo = "ghorg";
+    rev = version;
+    sha256 = "0diwndkckv6fga45j9zngizycn5m71r67cziv0zrx6c66ssbj49w";
+  };
+
+  doCheck = false;
+  vendorSha256 = null;
+
+  subPackages = [ "." ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+
+  meta = with stdenv.lib; {
+    description = "Quickly clone an entire org/users repositories into one directory";
+    longDescription = ''
+      ghorg allows you to quickly clone all of an orgs, or users repos into a
+      single directory. This can be useful in many situations including
+      - Searching an orgs/users codebase with ack, silver searcher, grep etc..
+      - Bash scripting
+      - Creating backups
+      - Onboarding
+      - Performing Audits
+    '';
+    homepage = "https://github.com/gabrie30/ghorg";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ vidbina ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix b/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix
index 1870340313831..d8e34f5700583 100644
--- a/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix
@@ -2,23 +2,27 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-absorb";
-  version = "0.6.4";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner  = "tummychow";
     repo   = pname;
     rev    = "refs/tags/${version}";
-    sha256 = "01hf9hbrigqn4qcz6jmprp7by9nh55k1r2d11g7sil5fpw6m2j9k";
+    sha256 = "04v10bn24acify34vh5ayymsr1flcyb05f3az9k1s2m6nlxy5gb9";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
 
-  cargoSha256 = "04dkfjb6pxqaalw2y6yli9q58g8x8ppfmibivpvqifk8r8dhkdqp";
+  cargoSha256 = "0h0vlz4qd8i9bf1mgjr618zbdwfp6bmy7ql9a1xzjmfdpkl3cgk9";
 
   postInstall = ''
     installManPage Documentation/git-absorb.1
+    for shell in bash zsh fish; do
+      $out/bin/git-absorb --gen-completions $shell > git-absorb.$shell
+      installShellCompletion git-absorb.$shell
+    done
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git-bug/default.nix b/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
index 44eba8c4b39c2..7c345639e9f86 100644
--- a/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
@@ -24,7 +24,7 @@ buildGoModule rec {
   '';
 
   postInstall = ''
-    install -D -m 0644 misc/bash_completion/git-bug "$out/etc/bash_completion.d/git-bug"
+    install -D -m 0644 misc/bash_completion/git-bug "$out/share/bash-completion/completions/git-bug"
     install -D -m 0644 misc/zsh_completion/git-bug "$out/share/zsh/site-functions/git-bug"
     install -D -m 0644 -t "$out/share/man/man1" doc/man/*
   '';
diff --git a/pkgs/applications/version-management/git-and-tools/git-chglog/default.nix b/pkgs/applications/version-management/git-and-tools/git-chglog/default.nix
new file mode 100644
index 0000000000000..05d5dfe96056c
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-chglog/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "git-chglog";
+  version = "0.9.1";
+
+  goPackagePath = "github.com/git-chglog/git-chglog";
+
+  src = fetchFromGitHub {
+    owner = "git-chglog";
+    repo = "git-chglog";
+    rev = version;
+    sha256 = "08x7w1jlvxxvwnz6pvkjmfd3nqayd8n15r9jbqi2amrp31z0gq0p";
+  };
+
+  meta = with lib; {
+    description = "CHANGELOG generator implemented in Go (Golang)";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ldenefle ];
+  };
+}
+
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 858383f966413..fa77b5307a37b 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.5";
+  version = "3.8";
 
   src = fetchFromGitHub {
     owner = "git-cola";
     repo = "git-cola";
     rev = "v${version}";
-    sha256 = "09b60jbpdr4czx7h4vqahqmmi7m9vn77jlkpjfhys7crrdnxjp9i";
+    sha256 = "1qxv2k8lxcxpqx46ka7f042xk90xns5w9lc4009cxmsqvcdba03a";
   };
 
   buildInputs = [ git gettext ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix b/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix
new file mode 100644
index 0000000000000..d5abd0a59761c
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix
@@ -0,0 +1,28 @@
+{ lib, python3Packages, fetchFromGitHub, git }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "git-delete-merged-branches";
+  version = "6.0.5";
+
+  src = fetchFromGitHub {
+    owner = "hartwork";
+    repo = pname;
+    rev = version;
+    sha256 = "1mlmikcpm94nymid35v9rx9dyprhwidgwbdfd5zhsw502d40v0xp";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    colorama
+    clintermission
+  ];
+
+  checkInputs = [ git ]
+    ++ (with python3Packages; [ parameterized ]);
+
+  meta = with lib; {
+    description = "Command-line tool to delete merged Git branches";
+    homepage = "https://pypi.org/project/git-delete-merged-branches/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
index ed9e1cd4bdfa4..d322a141cd944 100644
--- a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "git-extras";
-  version = "6.0.0";
+  version = "6.1.0";
 
   src = fetchzip {
     url = "https://github.com/tj/git-extras/archive/${version}.tar.gz";
-    sha256 = "0mxb3c5lb5n7c76bp10bw7bid564vjxi5f7cvzaj2ss93v5rr11g";
+    sha256 = "12ff9rhgqd71xm72r385hx0h8g75hz0ag0adzqcwfa54k0lhrrrz";
   };
 
   nativeBuildInputs = [ unixtools.column which ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-filter-repo/default.nix b/pkgs/applications/version-management/git-and-tools/git-filter-repo/default.nix
index 5a7e5bd32afb2..c642f062c7b69 100644
--- a/pkgs/applications/version-management/git-and-tools/git-filter-repo/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-filter-repo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "git-filter-repo";
-  version = "2.28.0";
+  version = "2.29.0";
 
   src = fetchurl {
     url = "https://github.com/newren/git-filter-repo/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "0sa6h6k1mnhx8p8w5d88gx7cqbnxaazfj1dv47c107fk70hqvvpx";
+    sha256 = "00nn7k9jqrybb762486fmigsnbcn9lbvimgpfvvarz4ikdp9y9pb";
   };
 
   buildInputs = [ pythonPackages.python ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-gone/default.nix b/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
index 46decaf3cc127..13411ed4c41b2 100644
--- a/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-gone";
-  version = "0.3.6";
+  version = "0.3.7";
 
   src = fetchFromGitHub {
     owner = "lunaryorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wpmabd5lshsga3dhv1hix7i99f1f82rpl6kjmpi315whg11kki3";
+    sha256 = "0hhy1yazda9r4n753a5m9jf31fbzmm4v8wvl3pksspj2syglmll8";
   };
 
-  cargoSha256 = "0ayqsrhy6hpi20gfryhnwl2c1na4nnmzxkp7him104cc07vsdllq";
+  cargoSha256 = "1g2jijx8y34lid9qwa26v4svab5v9ki6gn9vcfiy61dqa964c3l9";
 
   nativeBuildInputs = [ pkgconfig makeWrapper installShellFiles ];
 
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 cbb69403531e8..dac3c54a16a6b 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 = "2.15.6";
+  version = "2.15.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ajb3m3i3pfc5v3gshglk7qphk1rpniwx8q8isgx1a6cyarzr9bd";
+    sha256 = "0djbl4s9i7bs7kkldr7453yayi38s8mx0i41mkd0j2cvv5r9himr";
   };
 
   nativeBuildInputs = [ installShellFiles pbr ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-recent/default.nix b/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
index 99b64e012eae3..a01b84a948ada 100644
--- a/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
@@ -1,6 +1,6 @@
 {stdenv, git, less, fetchFromGitHub, makeWrapper
-# utillinuxMinimal is included because we need the column command
-, utillinux
+# util-linuxMinimal is included because we need the column command
+, util-linux
 }:
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp git-recent $out/bin
     wrapProgram $out/bin/git-recent \
-      --prefix PATH : "${stdenv.lib.makeBinPath [ git less utillinux ]}"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ git less util-linux ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git-stree/default.nix b/pkgs/applications/version-management/git-and-tools/git-stree/default.nix
index dc636571acc05..aa53529933ff1 100644
--- a/pkgs/applications/version-management/git-and-tools/git-stree/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-stree/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation {
   };
 
   installPhase = ''
-    mkdir -p $out/bin $out/etc/bash_completion.d
+    mkdir -p $out/bin $out/share/bash-completion/completions
     install -m 0755 git-stree $out/bin/
-    install -m 0644 git-stree-completion.bash $out/etc/bash_completion.d/
+    install -m 0644 git-stree-completion.bash $out/share/bash-completion/completions/
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git-trim/default.nix b/pkgs/applications/version-management/git-and-tools/git-trim/default.nix
index 137e6eb71589b..33534334bea70 100644
--- a/pkgs/applications/version-management/git-and-tools/git-trim/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-trim/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-trim";
-  version = "0.4.0";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "foriequal0";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0w6qrr53wal4p4jvz35f9mpqwz1vfcymj17sz418n9p9lw45f24n";
+    sha256 = "1rb9dhj7b7mjrhsvm9vw5gzjfxj10idnzv488jkfdz7sfhd3fcvz";
   };
 
-  cargoSha256 = "1mlvkvgcln59bi249z87v8i0ixq1a7walkzsjml6d219rmy5550h";
+  cargoSha256 = "1q62gqqhf78ljcvzp7yrnr0vk65rif2f7axzjq0b87prbcsr7ij4";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-vanity-hash/default.nix b/pkgs/applications/version-management/git-and-tools/git-vanity-hash/default.nix
new file mode 100644
index 0000000000000..839acc5cca594
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-vanity-hash/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "git-vanity-hash";
+  version = "2020-02-26-unstable";
+
+  src = fetchFromGitHub {
+    owner = "prasmussen";
+    repo = "git-vanity-hash";
+    rev = "000004122124005af8d118a3f379bfc6ecc1e7c7";
+    sha256 = "1wf342zawbphlzvji0yba0qg4f6v67h81nhxqcsir132jv397ma7";
+  };
+
+  cargoSha256 = "0mbdis1kxmgj3wlgznr9bqf5yv0jwlj2f63gr5c99ja0ijccp99h";
+
+  postInstall = ''
+    mkdir -p $out/share/doc/git-vanity-hash
+    cp README.md $out/share/doc/git-vanity-hash
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/prasmussen/git-vanity-hash";
+    description = "Tool for creating commit hashes with a specific prefix";
+    license = [ licenses.mit ];
+    maintainers = [ maintainers.kaction ];
+  };
+}
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 7e40366142a96..b7e4f3e6c4834 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -2,7 +2,7 @@
 , curl, openssl, zlib, expat, perlPackages, python3, gettext, cpio
 , gnugrep, gnused, gawk, coreutils # needed at runtime by git-filter-branch etc
 , openssh, pcre2
-, asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
+, asciidoctor, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xsl_ns, docbook_xml_dtd_45
 , libxslt, tcl, tk, makeWrapper, libiconv
 , svnSupport, subversionClient, perlLibs, smtpPerlLibs
 , perlSupport ? true
@@ -22,7 +22,7 @@ assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.28.0";
+  version = "2.29.2";
   svn = subversionClient.override { perlBindings = perlSupport; };
 
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "17a311vzimqn1glc9d7x82rhb1mb81m5rr4g8xji8idaafid39fz";
+    sha256 = "1h87yv117ypnc0yi86941089c14n91gixk8b6shj2y35prp47z7j";
   };
 
   outputs = [ "out" ] ++ stdenv.lib.optional withManual "doc";
@@ -65,8 +65,8 @@ stdenv.mkDerivation {
   '';
 
   nativeBuildInputs = [ gettext perlPackages.perl ]
-    ++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
-         docbook_xsl docbook_xml_dtd_45 libxslt ];
+    ++ stdenv.lib.optionals withManual [ asciidoctor texinfo xmlto docbook2x
+         docbook_xsl docbook_xsl_ns docbook_xml_dtd_45 libxslt ];
   buildInputs = [curl openssl zlib expat cpio makeWrapper libiconv]
     ++ stdenv.lib.optionals perlSupport [ perlPackages.perl ]
     ++ stdenv.lib.optionals guiSupport [tcl tk]
@@ -145,7 +145,7 @@ stdenv.mkDerivation {
       }
 
       # Install git-subtree.
-      make -C contrib/subtree install ${stdenv.lib.optionalString withManual "install-doc"}
+      make -C contrib/subtree install ${stdenv.lib.optionalString withManual "USE_ASCIIDOCTOR=1 install-doc"}
       rm -rf contrib/subtree
 
       # Install contrib stuff.
@@ -153,8 +153,8 @@ stdenv.mkDerivation {
       cp -a contrib $out/share/git/
       mkdir -p $out/share/bash-completion/completions
       ln -s $out/share/git/contrib/completion/git-completion.bash $out/share/bash-completion/completions/git
-      mkdir -p $out/etc/bash_completion.d
-      ln -s $out/share/git/contrib/completion/git-prompt.sh $out/etc/bash_completion.d/
+      mkdir -p $out/share/bash-completion/completions
+      ln -s $out/share/git/contrib/completion/git-prompt.sh $out/share/bash-completion/completions/
 
       # grep is a runtime dependency, need to patch so that it's found
       substituteInPlace $out/libexec/git-core/git-sh-setup \
@@ -230,7 +230,7 @@ stdenv.mkDerivation {
       '')
 
    + stdenv.lib.optionalString withManual ''# Install man pages and Info manual
-       make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES PERL_PATH="${buildPackages.perl}/bin/perl" cmd-list.made install install-html install-info \
+       make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES USE_ASCIIDOCTOR=1 PERL_PATH="${buildPackages.perl}/bin/perl" cmd-list.made install install-html install-info \
          -C Documentation ''
 
    + (if guiSupport then ''
@@ -249,6 +249,7 @@ stdenv.mkDerivation {
      '')
    + stdenv.lib.optionalString stdenv.isDarwin ''
     # enable git-credential-osxkeychain by default if darwin
+    mkdir -p $out/etc
     cat > $out/etc/gitconfig << EOF
     [credential]
       helper = osxkeychain
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 5b7dbc521f6a7..47d095b0f1c19 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.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "gitstatus";
     rev = "v${version}";
-    sha256 = "0zan1sa8c24hpqwj66y9srd4n15f4nk64fc5jrd4smgfgn22wph8";
+    sha256 = "03zaywncds7pjrl07rvdf3fh39gnp2zfvgsf0afqwv317sgmgpzf";
   };
 
   buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ];
diff --git a/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix b/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
index 2f99c88a37bc6..9c74fa35752f4 100644
--- a/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
@@ -16,7 +16,7 @@ libgit2.overrideAttrs (oldAttrs: {
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "libgit2";
-    rev = "tag-005f77dca6dbe8788e55139fa1199fc94cc04f9a";
-    sha256 = "1h5bnisk4ljdpfzlv8g41m8js9841xyjhfywc5cn8pmyv58c50il";
+    rev = "tag-82cefe2b42300224ad3c148f8b1a569757cc617a";
+    sha256 = "1vhnqynqyxizzkq1h5dfjm75f0jm5637jh0gypwqqz2yjqrscza0";
   };
 })
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 25985ef0a2352..21e382a44bc87 100644
--- a/pkgs/applications/version-management/git-and-tools/gitui/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitui/default.nix
@@ -1,24 +1,26 @@
-{ stdenv, rustPlatform, fetchFromGitHub, libiconv, Security }:
-
+{ stdenv, rustPlatform, fetchFromGitHub, libiconv, xorg, python3, Security, AppKit }:
 rustPlatform.buildRustPackage rec {
   pname = "gitui";
-  version = "0.9.1";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "extrawurst";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lxpdwpxizc4bczh5cl2x2xbbdam3fakvgcbbrdh43czgjwb4ds1";
+    sha256 = "1ifwbi6nydh66z6cprjmz2qvy9z52rj9jg2xf054i249gy955hah";
   };
 
-  cargoSha256 = "14x0m3pq4gapgqaljxdwmr5pk9h209ls95an9xgrq0dj6apyimgx";
+  cargoSha256 = "1454dn7k1fc4yxhbcmx0z3hj9d9srnlc2k1qp707h1vq46ib1rsf";
 
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
+  nativeBuildInputs = [ python3 ];
+  buildInputs = [ ]
+    ++ stdenv.lib.optional stdenv.isLinux xorg.libxcb
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security AppKit ];
 
   meta = with stdenv.lib; {
     description = "Blazing fast terminal-ui for git written in rust";
     homepage = "https://github.com/extrawurst/gitui";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne yanganto ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index 22ffd442fdc98..be81364279710 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, groff, installShellFiles, utillinux }:
+{ stdenv, buildGoPackage, fetchFromGitHub, groff, installShellFiles, util-linux }:
 
 buildGoPackage rec {
   pname = "hub";
@@ -16,7 +16,7 @@ buildGoPackage rec {
     sha256 = "1qjab3dpia1jdlszz3xxix76lqrm4zbmqzd9ymld7h06awzsg2vh";
   };
 
-  nativeBuildInputs = [ groff installShellFiles utillinux ];
+  nativeBuildInputs = [ groff installShellFiles util-linux ];
 
   postPatch = ''
     patchShebangs .
diff --git a/pkgs/applications/version-management/git-and-tools/lab/default.nix b/pkgs/applications/version-management/git-and-tools/lab/default.nix
index 2413019ebc7b8..3459f5099c970 100644
--- a/pkgs/applications/version-management/git-and-tools/lab/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/lab/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper, xdg_utils }:
 
 buildGoModule rec {
   pname = "lab";
@@ -17,6 +17,8 @@ buildGoModule rec {
 
   doCheck = false;
 
+  buildInputs = [ makeWrapper ];
+
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
   postInstall = ''
@@ -24,9 +26,10 @@ buildGoModule rec {
     export LAB_CORE_HOST=a LAB_CORE_USER=b LAB_CORE_TOKEN=c
     $out/bin/lab completion bash > $out/share/bash-completion/completions/lab
     $out/bin/lab completion zsh > $out/share/zsh/site-functions/_lab
+    wrapProgram $out/bin/lab --prefix PATH ":" "${lib.makeBinPath [ xdg_utils ]}";
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab";
     homepage = "https://zaquestion.github.io/lab";
     license = licenses.cc0;
diff --git a/pkgs/applications/version-management/git-and-tools/pass-git-helper/default.nix b/pkgs/applications/version-management/git-and-tools/pass-git-helper/default.nix
index 5c4ece7c9e51b..5914378f5b35e 100644
--- a/pkgs/applications/version-management/git-and-tools/pass-git-helper/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/pass-git-helper/default.nix
@@ -1,17 +1,21 @@
-{ stdenv, buildPythonApplication, fetchFromGitHub, pyxdg }:
+{ stdenv, buildPythonApplication, fetchFromGitHub, pyxdg, pytest }:
 
 buildPythonApplication rec {
   pname   = "pass-git-helper";
-  version = "0.4";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner  = "languitar";
     repo   = "pass-git-helper";
-    rev    = version;
-    sha256 = "1zccbmq5l6asl9qm1f90vg9467y3spmv3ayrw07qizrj43yfd9ap";
+    rev    = "v${version}";
+    sha256 = "18nvwlp0w4aqj268wly60rnjzqw2d8jl0hbs6bkwp3hpzzz5g6yd";
   };
 
   propagatedBuildInputs = [ pyxdg ];
+  checkInputs = [ pytest ];
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/languitar/pass-git-helper";
diff --git a/pkgs/applications/version-management/git-and-tools/thicket/default.nix b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
index 4a02baa465c6c..3abfd3a31392b 100644
--- a/pkgs/applications/version-management/git-and-tools/thicket/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
@@ -29,6 +29,6 @@ in crystal.buildCrystalPackage rec {
     description = "A better one-line git log";
     homepage = "https://github.com/taylorthurlow/thicket";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/topgit/default.nix b/pkgs/applications/version-management/git-and-tools/topgit/default.nix
index 0da0cfa02b630..9577b56b6c732 100644
--- a/pkgs/applications/version-management/git-and-tools/topgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/topgit/default.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ perl git ];
 
   postInstall = ''
-    install -Dm644 README -t"$out/share/doc/${pname}-${version}/"
-    install -Dm755 contrib/tg-completion.bash -t "$out/etc/bash_completion.d/"
+    install -Dm644 README -t "$out/share/doc/${pname}-${version}/"
+    install -Dm755 contrib/tg-completion.bash -t "$out/share/bash-completion/completions/"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix b/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
index 589d53b3cfaad..c99c70379df45 100644
--- a/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, git, makeWrapper, openssl, coreutils, utillinux, gnugrep, gnused, gawk }:
+{ stdenv, fetchFromGitHub, git, makeWrapper, openssl, coreutils, util-linux, gnugrep, gnused, gawk }:
 
 stdenv.mkDerivation rec {
   pname = "transcrypt";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1dkr69plk16wllk5bzlkchrzw63pk239dgbjhrb3mb61i065jdam";
   };
 
-  buildInputs = [ makeWrapper git openssl coreutils utillinux gnugrep gnused gawk ];
+  buildInputs = [ makeWrapper git openssl coreutils util-linux gnugrep gnused gawk ];
 
   patches = [ ./helper-scripts_depspathprefix.patch ];
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     install -m 644 -D contrib/zsh/_transcrypt $out/share/zsh/site-functions/_transcrypt
 
     wrapProgram $out/bin/transcrypt \
-      --prefix PATH : "${stdenv.lib.makeBinPath [ git openssl coreutils utillinux gnugrep gnused gawk ]}"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ git openssl coreutils util-linux gnugrep gnused gawk ]}"
 
     cat > $out/bin/transcrypt-depspathprefix << EOF
     #!${stdenv.shell}
diff --git a/pkgs/applications/version-management/git-lfs/default.nix b/pkgs/applications/version-management/git-lfs/default.nix
index 2df8b335bda71..bd6c5f5cc6781 100644
--- a/pkgs/applications/version-management/git-lfs/default.nix
+++ b/pkgs/applications/version-management/git-lfs/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "git-lfs";
-  version = "2.12.0";
+  version = "2.12.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "git-lfs";
     repo = "git-lfs";
-    sha256 = "0pyvlcy6jxh0vzpsmywlbzwwdyj3jkcclnqb6sg786mmwrnqzj88";
+    sha256 = "1x8s1w8yqhj5nm20knr2gkb59rwzx220nf099lgd62cajzsdpjx5";
   };
 
   goPackagePath = "github.com/git-lfs/git-lfs";
diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix
index c7702cfa19516..d0bbca15ea179 100644
--- a/pkgs/applications/version-management/git-review/default.nix
+++ b/pkgs/applications/version-management/git-review/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, pythonPackages} :
+{ lib, fetchurl, buildPythonApplication, pbr, requests, setuptools }:
 
-pythonPackages.buildPythonApplication rec {
+buildPythonApplication rec {
   pname = "git-review";
   version = "1.28.0";
 
@@ -8,21 +8,20 @@ pythonPackages.buildPythonApplication rec {
   # upstream repository (and we are installing from tarball instead)
   PBR_VERSION = version;
 
-  src = fetchFromGitHub {
-    owner = "openstack-infra";
-    repo = pname;
-    rev = version;
-    sha256 = "1hgw1dkl94m3idv4izc7wf2j7al2c7nnsqywy7g53nzkv9pfv47s";
+  src = fetchurl {
+    url = "https://opendev.org/opendev/${pname}/archive/${version}.tar.gz";
+    sha256 = "1y1jzb0hlprynwwr4q5y4x06641qrhj0k69mclabnmhfam9g8ygm";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ pbr requests setuptools ];
+  propagatedBuildInputs = [ pbr requests setuptools ];
 
   # Don't do tests because they require gerrit which is not packaged
   doCheck = false;
 
-  meta = {
-    homepage = "https://github.com/openstack-infra/git-review";
+  meta = with lib; {
+    homepage = "https://opendev.org/opendev/git-review";
     description = "Tool to submit code to Gerrit";
-    license = stdenv.lib.licenses.asl20;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ metadark ];
   };
 }
diff --git a/pkgs/applications/version-management/git-up/default.nix b/pkgs/applications/version-management/git-up/default.nix
index faed3d25a8adf..2a0a97771cbfe 100644
--- a/pkgs/applications/version-management/git-up/default.nix
+++ b/pkgs/applications/version-management/git-up/default.nix
@@ -28,7 +28,7 @@ pythonPackages.buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/msiemens/PyGitUp";
-    description = "A git pull replacement that rebases all local branches when pulling.";
+    description = "A git pull replacement that rebases all local branches when pulling";
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.all;
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 7c86318abac6a..29c8fac962bf3 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.12.5";
+  version = "1.12.6";
 
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "03p4nn7xklqr43h4d98qvv2xc14ly7mbb90njnxljj64yh7svw4n";
+    sha256 = "sha256-mEhtFcWLUhd+WK8wDhrGr6RvL4X2G42W6su/c8zxGR4=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 827d9539dba66..8b93bf2176ac5 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.3.2";
+  version = "7.4.0";
 
   src = fetchzip {
     url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
-    sha256 = "0bw75m87qbnnn1gjphik3xcjx2zwczsa37rpr16la1zjhqjl5m7j";
+    sha256 = "0ih0jxdm74vr4dgslhnl3llvi31zin0g2xjw6a4pdji2y2kajkzk";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/version-management/gitlab-triage/Gemfile b/pkgs/applications/version-management/gitlab-triage/Gemfile
new file mode 100644
index 0000000000000..7549ada64050d
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-triage/Gemfile
@@ -0,0 +1,3 @@
+source 'https://rubygems.org' do
+  gem 'gitlab-triage'
+end
diff --git a/pkgs/applications/version-management/gitlab-triage/Gemfile.lock b/pkgs/applications/version-management/gitlab-triage/Gemfile.lock
new file mode 100644
index 0000000000000..adec5b524f340
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-triage/Gemfile.lock
@@ -0,0 +1,35 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    activesupport (5.2.4.4)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      i18n (>= 0.7, < 2)
+      minitest (~> 5.1)
+      tzinfo (~> 1.1)
+    concurrent-ruby (1.1.7)
+    gitlab-triage (1.13.0)
+      activesupport (~> 5.1)
+      httparty (~> 0.17)
+    httparty (0.18.1)
+      mime-types (~> 3.0)
+      multi_xml (>= 0.5.2)
+    i18n (1.8.5)
+      concurrent-ruby (~> 1.0)
+    mime-types (3.3.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2020.0512)
+    minitest (5.14.2)
+    multi_xml (0.6.0)
+    thread_safe (0.3.6)
+    tzinfo (1.2.7)
+      thread_safe (~> 0.1)
+
+PLATFORMS
+  ruby
+  x86_64-linux
+
+DEPENDENCIES
+  gitlab-triage!
+
+BUNDLED WITH
+   2.1.4
diff --git a/pkgs/applications/version-management/gitlab-triage/default.nix b/pkgs/applications/version-management/gitlab-triage/default.nix
new file mode 100644
index 0000000000000..09dfbcbc368b9
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-triage/default.nix
@@ -0,0 +1,14 @@
+{ lib, bundlerApp }:
+
+bundlerApp {
+  pname = "gitlab-triage";
+  gemdir = ./.;
+  exes = [ "gitlab-triage" ];
+
+  meta = with lib; {
+    description = "GitLab's issues and merge requests triage, automated!";
+    homepage = "https://gitlab.com/gitlab-org/gitlab-triage";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/applications/version-management/gitlab-triage/gemset.nix b/pkgs/applications/version-management/gitlab-triage/gemset.nix
new file mode 100644
index 0000000000000..1ce8450bba1cf
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-triage/gemset.nix
@@ -0,0 +1,118 @@
+{
+  activesupport = {
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dpnk20s754fz6jfz9sp3ri49hn46ksw4hf6ycnlw7s3hsdxqgcd";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  concurrent-ruby = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
+      type = "gem";
+    };
+    version = "1.1.7";
+  };
+  gitlab-triage = {
+    dependencies = ["activesupport" "httparty"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11sas3h3n638gni1mysck1ahyakqnl8gg6g21pc3krs6jrg9qxj9";
+      type = "gem";
+    };
+    version = "1.13.0";
+  };
+  httparty = {
+    dependencies = ["mime-types" "multi_xml"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17gpnbf2a7xkvsy20jig3ljvx8hl5520rqm9pffj2jrliq1yi3w7";
+      type = "gem";
+    };
+    version = "0.18.1";
+  };
+  i18n = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
+      type = "gem";
+    };
+    version = "1.8.5";
+  };
+  mime-types = {
+    dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
+      type = "gem";
+    };
+    version = "3.3.1";
+  };
+  mime-types-data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1z75svngyhsglx0y2f9rnil2j08f9ab54b3l95bpgz67zq2if753";
+      type = "gem";
+    };
+    version = "3.2020.0512";
+  };
+  minitest = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "170y2cvx51gm3cm3nhdf7j36sxnkh6vv8ls36p90ric7w8w16h4v";
+      type = "gem";
+    };
+    version = "5.14.2";
+  };
+  multi_xml = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj";
+      type = "gem";
+    };
+    version = "0.6.0";
+  };
+  thread_safe = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
+      type = "gem";
+    };
+    version = "0.3.6";
+  };
+  tzinfo = {
+    dependencies = ["thread_safe"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r";
+      type = "gem";
+    };
+    version = "1.2.7";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 9389934ffc68f..40e9fc5234e17 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,13 +1,13 @@
 {
-  "version": "13.0.14",
-  "repo_hash": "15is18x631ifsj4iwmrs1s9lc3i99hwsxxf5v42qldbmsys31l1k",
+  "version": "13.6.0",
+  "repo_hash": "1flri1cgx8drwf46x4sja366aiiif0ww807xrrcxa05pxj0mx8k5",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v13.0.14-ee",
+  "rev": "v13.6.0-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "13.0.14",
-    "GITLAB_PAGES_VERSION": "1.18.0",
-    "GITLAB_SHELL_VERSION": "13.2.0",
-    "GITLAB_WORKHORSE_VERSION": "8.31.2"
+    "GITALY_SERVER_VERSION": "13.6.0",
+    "GITLAB_PAGES_VERSION": "1.30.0",
+    "GITLAB_SHELL_VERSION": "13.13.0",
+    "GITLAB_WORKHORSE_VERSION": "8.54.0"
   }
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 76127681bbd9f..ee6c8201fa3ff 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv
-, ruby, tzdata, git, nettools, nixosTests, nodejs
+, ruby, tzdata, git, nettools, nixosTests, nodejs, openssl
 , gitlabEnterprise ? false, callPackage, yarn
 , fixup_yarn_lock, replace
 }:
@@ -28,6 +28,10 @@ let
           patches = [ ./fix-grpc-ar.patch ];
           dontBuild = false;
         };
+        # the openssl needs the openssl include files
+        openssl = x.openssl // {
+          buildInputs = [ openssl ];
+        };
       };
     groups = [
       "default" "unicorn" "ed25519" "metrics" "development" "puma" "test" "kerberos"
@@ -89,8 +93,9 @@ let
 
       bundle exec rake gettext:po_to_json RAILS_ENV=production NODE_ENV=production
       bundle exec rake rake:assets:precompile RAILS_ENV=production NODE_ENV=production
-      bundle exec rake webpack:compile RAILS_ENV=production NODE_ENV=production NODE_OPTIONS="--max_old_space_size=3072"
+      bundle exec rake gitlab:assets:compile_webpack_if_needed RAILS_ENV=production NODE_ENV=production
       bundle exec rake gitlab:assets:fix_urls RAILS_ENV=production NODE_ENV=production
+      bundle exec rake gitlab:assets:check_page_bundle_mixins_css_for_sideeffects RAILS_ENV=production NODE_ENV=production
 
       runHook postBuild
     '';
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 8a35c8c3b475a..d8564dca87795 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -1,28 +1,25 @@
 source 'https://rubygems.org'
 
-# Require bundler >= 1.16.5 to avoid this bug: https://github.com/bundler/bundler/issues/6537
-gem 'bundler', '>= 1.17.3'
-
 gem 'rugged', '~> 0.28'
-gem 'github-linguist', '~> 7.9', require: 'linguist'
+gem 'github-linguist', '~> 7.11', require: 'linguist'
 gem 'gitlab-markup', '~> 1.7.1'
-gem 'activesupport', '~> 6.0.3.1'
+gem 'activesupport', '~> 6.0.3.3'
 gem 'rdoc', '~> 6.0'
 gem 'gitlab-gollum-lib', '~> 4.2.7.9', require: false
 gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.2', require: false
-gem 'grpc', '~> 1.24.0'
-gem 'sentry-raven', '~> 2.9.0', require: false
-gem 'faraday', '~> 0.12'
+gem 'grpc', '~> 1.30.2'
+gem 'sentry-raven', '~> 3.0', require: false
+gem 'faraday', '~> 1.0'
 gem 'rbtrace', require: false
 
 # Labkit provides observability functionality
-gem 'gitlab-labkit', '~> 0.12.0'
+gem 'gitlab-labkit', '~> 0.13.2'
 
 # Detects the open source license the repository includes
 # This version needs to be in sync with GitLab CE/EE
 gem 'licensee', '~> 8.9.0'
 
-gem 'google-protobuf', '~> 3.8.0'
+gem 'google-protobuf', '~> 3.12'
 
 group :development, :test do
   gem 'rubocop', '~> 0.69', require: false
@@ -32,11 +29,5 @@ group :development, :test do
   gem 'factory_bot', require: false
   gem 'pry', '~> 0.12.2', require: false
 
-  gem 'grpc-tools', '= 1.0.1'
-
-  # gitlab-shell spec gems
-  gem 'listen', '~> 0.5.0'
-  gem 'simplecov', '~> 0.17.1', require: false
-  gem 'vcr', '~> 4.0.0'
-  gem 'webmock', '~> 3.4.0'
+  gem 'grpc-tools', '= 1.30.2'
 end
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index f409ebb9b414a..a633e067f0d9c 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -2,20 +2,20 @@ GEM
   remote: https://rubygems.org/
   specs:
     abstract_type (0.0.7)
-    actionpack (6.0.3.1)
-      actionview (= 6.0.3.1)
-      activesupport (= 6.0.3.1)
+    actionpack (6.0.3.3)
+      actionview (= 6.0.3.3)
+      activesupport (= 6.0.3.3)
       rack (~> 2.0, >= 2.0.8)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actionview (6.0.3.1)
-      activesupport (= 6.0.3.1)
+    actionview (6.0.3.3)
+      activesupport (= 6.0.3.3)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activesupport (6.0.3.1)
+    activesupport (6.0.3.3)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
@@ -24,34 +24,29 @@ GEM
     adamantium (0.2.0)
       ice_nine (~> 0.11.0)
       memoizable (~> 0.4.0)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
-    ast (2.4.0)
+    ast (2.4.1)
     binding_ninja (0.2.3)
     builder (3.2.4)
-    charlock_holmes (0.7.6)
+    charlock_holmes (0.7.7)
     coderay (1.1.2)
     concord (0.1.5)
       adamantium (~> 0.2.0)
       equalizer (~> 0.0.9)
-    concurrent-ruby (1.1.6)
-    crack (0.4.3)
-      safe_yaml (~> 1.0.0)
+    concurrent-ruby (1.1.7)
     crass (1.0.6)
     diff-lcs (1.3)
-    docile (1.3.2)
     equalizer (0.0.11)
     erubi (1.9.0)
     escape_utils (1.2.1)
     factory_bot (5.0.2)
       activesupport (>= 4.2.0)
-    faraday (0.15.4)
+    faraday (1.0.1)
       multipart-post (>= 1.2, < 3)
-    ffi (1.12.2)
+    ffi (1.13.1)
     gemojione (3.3.0)
       json
-    github-linguist (7.9.0)
-      charlock_holmes (~> 0.7.6)
+    github-linguist (7.11.0)
+      charlock_holmes (~> 0.7.7)
       escape_utils (~> 1.2.0)
       mini_mime (~> 1.0)
       rugged (>= 0.25.1)
@@ -67,56 +62,53 @@ GEM
     gitlab-gollum-rugged_adapter (0.4.4.2)
       mime-types (>= 1.15)
       rugged (~> 0.25)
-    gitlab-labkit (0.12.0)
+    gitlab-labkit (0.13.2)
       actionpack (>= 5.0.0, < 6.1.0)
       activesupport (>= 5.0.0, < 6.1.0)
       grpc (~> 1.19)
-      jaeger-client (~> 0.10)
+      jaeger-client (~> 1.1)
       opentracing (~> 0.4)
       redis (> 3.0.0, < 5.0.0)
     gitlab-markup (1.7.1)
-    google-protobuf (3.8.0)
-    googleapis-common-protos-types (1.0.4)
-      google-protobuf (~> 3.0)
-    grpc (1.24.0)
-      google-protobuf (~> 3.8)
+    google-protobuf (3.12.4)
+    googleapis-common-protos-types (1.0.5)
+      google-protobuf (~> 3.11)
+    grpc (1.30.2)
+      google-protobuf (~> 3.12)
       googleapis-common-protos-types (~> 1.0)
-    grpc-tools (1.0.1)
-    hashdiff (0.3.9)
-    i18n (1.8.2)
+    grpc-tools (1.30.2)
+    i18n (1.8.5)
       concurrent-ruby (~> 1.0)
     ice_nine (0.11.2)
-    jaeger-client (0.10.0)
+    jaeger-client (1.1.0)
       opentracing (~> 0.3)
       thrift
-    jaro_winkler (1.5.2)
-    json (2.2.0)
+    json (2.3.1)
     licensee (8.9.2)
       rugged (~> 0.24)
-    listen (0.5.3)
-    loofah (2.5.0)
+    loofah (2.7.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     memoizable (0.4.2)
       thread_safe (~> 0.3, >= 0.3.1)
     method_source (0.9.2)
-    mime-types (3.2.2)
+    mime-types (3.3.1)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2019.0331)
+    mime-types-data (3.2020.0512)
     mini_mime (1.0.2)
     mini_portile2 (2.4.0)
-    minitest (5.14.0)
-    msgpack (1.3.1)
-    multipart-post (2.0.0)
-    nokogiri (1.10.9)
+    minitest (5.14.2)
+    msgpack (1.3.3)
+    multipart-post (2.1.1)
+    nokogiri (1.10.10)
       mini_portile2 (~> 2.4.0)
     nokogumbo (1.5.0)
       nokogiri
     opentracing (0.5.0)
-    optimist (3.0.0)
-    parallel (1.17.0)
-    parser (2.7.0.5)
-      ast (~> 2.4.0)
+    optimist (3.0.1)
+    parallel (1.19.2)
+    parser (2.7.2.0)
+      ast (~> 2.4.1)
     proc_to_ast (0.1.0)
       coderay
       parser
@@ -125,8 +117,7 @@ GEM
     pry (0.12.2)
       coderay (~> 1.1.0)
       method_source (~> 0.9.0)
-    public_suffix (3.0.3)
-    rack (2.1.2)
+    rack (2.2.3)
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
     rails-dom-testing (2.0.3)
@@ -135,13 +126,15 @@ GEM
     rails-html-sanitizer (1.3.0)
       loofah (~> 2.3)
     rainbow (3.0.0)
-    rbtrace (0.4.11)
+    rbtrace (0.4.14)
       ffi (>= 1.0.6)
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
     rdoc (6.2.0)
     redis (4.1.3)
-    rouge (3.19.0)
+    regexp_parser (1.8.1)
+    rexml (3.2.4)
+    rouge (3.24.0)
     rspec (3.8.0)
       rspec-core (~> 3.8.0)
       rspec-expectations (~> 3.8.0)
@@ -161,34 +154,32 @@ GEM
       rspec (>= 2.13, < 4)
       unparser
     rspec-support (3.8.0)
-    rubocop (0.69.0)
-      jaro_winkler (~> 1.5.1)
+    rubocop (0.86.0)
       parallel (~> 1.10)
-      parser (>= 2.6)
+      parser (>= 2.7.0.1)
       rainbow (>= 2.2.2, < 4.0)
+      regexp_parser (>= 1.7)
+      rexml
+      rubocop-ast (>= 0.0.3, < 1.0)
       ruby-progressbar (~> 1.7)
-      unicode-display_width (>= 1.4.0, < 1.7)
-    ruby-progressbar (1.10.0)
+      unicode-display_width (>= 1.4.0, < 2.0)
+    rubocop-ast (0.2.0)
+      parser (>= 2.7.0.1)
+    ruby-progressbar (1.10.1)
     rugged (0.28.4.1)
-    safe_yaml (1.0.5)
     sanitize (4.6.6)
       crass (~> 1.0.2)
       nokogiri (>= 1.4.4)
       nokogumbo (~> 1.4)
-    sentry-raven (2.9.0)
-      faraday (>= 0.7.6, < 1.0)
-    simplecov (0.17.1)
-      docile (~> 1.1)
-      json (>= 1.8, < 3)
-      simplecov-html (~> 0.10.0)
-    simplecov-html (0.10.2)
+    sentry-raven (3.0.4)
+      faraday (>= 1.0)
     stringex (2.8.5)
     thread_safe (0.3.6)
     thrift (0.11.0.0)
     timecop (0.9.1)
     tzinfo (1.2.7)
       thread_safe (~> 0.1)
-    unicode-display_width (1.6.0)
+    unicode-display_width (1.7.0)
     unparser (0.4.7)
       abstract_type (~> 0.0.7)
       adamantium (~> 0.2.0)
@@ -197,31 +188,24 @@ GEM
       equalizer (~> 0.0.9)
       parser (>= 2.6.5)
       procto (~> 0.0.2)
-    vcr (4.0.0)
-    webmock (3.4.2)
-      addressable (>= 2.3.6)
-      crack (>= 0.3.2)
-      hashdiff
-    zeitwerk (2.3.0)
+    zeitwerk (2.4.0)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  activesupport (~> 6.0.3.1)
-  bundler (>= 1.17.3)
+  activesupport (~> 6.0.3.3)
   factory_bot
-  faraday (~> 0.12)
-  github-linguist (~> 7.9)
+  faraday (~> 1.0)
+  github-linguist (~> 7.11)
   gitlab-gollum-lib (~> 4.2.7.9)
   gitlab-gollum-rugged_adapter (~> 0.4.4.2)
-  gitlab-labkit (~> 0.12.0)
+  gitlab-labkit (~> 0.13.2)
   gitlab-markup (~> 1.7.1)
-  google-protobuf (~> 3.8.0)
-  grpc (~> 1.24.0)
-  grpc-tools (= 1.0.1)
+  google-protobuf (~> 3.12)
+  grpc (~> 1.30.2)
+  grpc-tools (= 1.30.2)
   licensee (~> 8.9.0)
-  listen (~> 0.5.0)
   pry (~> 0.12.2)
   rbtrace
   rdoc (~> 6.0)
@@ -229,11 +213,8 @@ DEPENDENCIES
   rspec-parameterized
   rubocop (~> 0.69)
   rugged (~> 0.28)
-  sentry-raven (~> 2.9.0)
-  simplecov (~> 0.17.1)
+  sentry-raven (~> 3.0)
   timecop
-  vcr (~> 4.0.0)
-  webmock (~> 3.4.0)
 
 BUNDLED WITH
    2.1.4
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 84cf1e500a228..51818072d396a 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -19,22 +19,16 @@ let
       };
   };
 in buildGoPackage rec {
-  version = "13.0.14";
+  version = "13.6.0";
   pname = "gitaly";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "16ynkwiv0faa60msashj5w1bc4rdh7yv2qjmpcbf7dwq54gqmlbv";
+    sha256 = "1b3vjg5sxrg8cfxn1nh8j26h847kxrfnn2chbb5v3ivhp1kp6zh2";
   };
 
-  # Fix a check which assumes that hook files are writeable by their
-  # owner.
-  patches = [
-    ./fix-executable-check.patch
-  ];
-
   goPackagePath = "gitlab.com/gitlab-org/gitaly";
 
   passthru = {
@@ -44,11 +38,11 @@ in buildGoPackage rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ rubyEnv.wrappedRuby libgit2_0_27 ];
   goDeps = ./deps.nix;
-  preBuild = "rm -r go/src/gitlab.com/gitlab-org/labkit/vendor";
+  preBuild = "rm -rf go/src/gitlab.com/gitlab-org/labkit/vendor";
 
   postInstall = ''
     mkdir -p $ruby
-    cp -rv $src/ruby/{bin,lib,proto,git-hooks,gitlab-shell} $ruby
+    cp -rv $src/ruby/{bin,lib,proto,git-hooks} $ruby
   '';
 
   outputs = [ "out" "ruby" ];
diff --git a/pkgs/applications/version-management/gitlab/gitaly/deps.nix b/pkgs/applications/version-management/gitlab/gitaly/deps.nix
index 221ce16163d85..532fc9faa89d5 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/deps.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/deps.nix
@@ -118,6 +118,15 @@
     };
   }
   {
+    goPackagePath = "github.com/alexbrainman/sspi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alexbrainman/sspi";
+      rev = "4729b3d4d858";
+      sha256 = "12xy7gi9v48z8akm6h33qjk3m06f5nw1q15a6y2r61pd404bkdyc";
+    };
+  }
+  {
     goPackagePath = "github.com/armon/consul-api";
     fetch = {
       type = "git";
@@ -136,6 +145,15 @@
     };
   }
   {
+    goPackagePath = "github.com/avast/retry-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/avast/retry-go";
+      rev = "v2.4.2";
+      sha256 = "0hb4b1668516a4gv8avmflr565b6c1h93phdb068hcjxxj8767ba";
+    };
+  }
+  {
     goPackagePath = "github.com/beorn7/perks";
     fetch = {
       type = "git";
@@ -316,6 +334,15 @@
     };
   }
   {
+    goPackagePath = "github.com/dpotapov/go-spnego";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dpotapov/go-spnego";
+      rev = "c2c609116ad0";
+      sha256 = "1ba14j1y8sjlagx7rfjmvdwlyc90qblpplfb0p3zwsj8chqaijgf";
+    };
+  }
+  {
     goPackagePath = "github.com/dustin/go-humanize";
     fetch = {
       type = "git";
@@ -401,8 +428,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/getsentry/raven-go";
-      rev = "v0.1.2";
-      sha256 = "1dl80kar4lzdcfl3w6jssi1ld6bv0rmx6sp6bz6rzysfr9ilm02z";
+      rev = "v0.2.0";
+      sha256 = "0imfwmsb72168fqandf2lxhzhngf2flxhzaar8hcnnfjv2a291lf";
     };
   }
   {
@@ -410,8 +437,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/getsentry/sentry-go";
-      rev = "v0.5.1";
-      sha256 = "1kfn0gcb4c6amhagv04ydpl6p9cqw7f0lxas688a0rf89iwdzz89";
+      rev = "v0.7.0";
+      sha256 = "13n9r7845wsq9z61rbvlqjjjg4aifplc74v3kv0i1lys2fw8a5k9";
     };
   }
   {
@@ -433,6 +460,51 @@
     };
   }
   {
+    goPackagePath = "github.com/git-lfs/git-lfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/git-lfs/git-lfs";
+      rev = "9ea4eed5b112";
+      sha256 = "02xx8iw48zyccfxm30kc3r3hgwhc64yfrcy7c2bv4b1hqn09wwnz";
+    };
+  }
+  {
+    goPackagePath = "github.com/git-lfs/gitobj";
+    fetch = {
+      type = "git";
+      url = "https://github.com/git-lfs/gitobj";
+      rev = "v2.0.0";
+      sha256 = "15x3q3ad50jyi6rjjw4siw6gxcp1ppwwhmzq3916vs186b0rqdyv";
+    };
+  }
+  {
+    goPackagePath = "github.com/git-lfs/go-netrc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/git-lfs/go-netrc";
+      rev = "e0e9ca483a18";
+      sha256 = "16djli5hasqm4js2d72msk32ym0y5jmk3a4634nrgbncjksnfihi";
+    };
+  }
+  {
+    goPackagePath = "github.com/git-lfs/go-ntlm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/git-lfs/go-ntlm";
+      rev = "c5056e7fa066";
+      sha256 = "1wrv3aczz0g4wqxjw5pvyy9z1cvj2b33q84h5mprik0f1hwyfwnh";
+    };
+  }
+  {
+    goPackagePath = "github.com/git-lfs/wildmatch";
+    fetch = {
+      type = "git";
+      url = "https://github.com/git-lfs/wildmatch";
+      rev = "v1.0.4";
+      sha256 = "19k8a9j9l0ddlv3asxnn7bblryz674fpm9dg8ds0s74fhix6a5dr";
+    };
+  }
+  {
     goPackagePath = "github.com/go-check/check";
     fetch = {
       type = "git";
@@ -572,8 +644,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gogo/protobuf";
-      rev = "v1.1.1";
-      sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
+      rev = "v1.2.1";
+      sha256 = "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m";
     };
   }
   {
@@ -766,6 +838,15 @@
     };
   }
   {
+    goPackagePath = "github.com/hashicorp/go-uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-uuid";
+      rev = "v1.0.2";
+      sha256 = "1azjn5a03cv0bdab3clmkfz8g9807nxxjwy9i7dy73p7d4sikhja";
+    };
+  }
+  {
     goPackagePath = "github.com/hashicorp/go-version";
     fetch = {
       type = "git";
@@ -865,6 +946,15 @@
     };
   }
   {
+    goPackagePath = "github.com/jcmturner/gofork";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jcmturner/gofork";
+      rev = "v1.0.0";
+      sha256 = "0xzsnjqv3d59w9pgqzf6550wdwaqnac7zcdgqfd25w65yhcffzhr";
+    };
+  }
+  {
     goPackagePath = "github.com/joho/godotenv";
     fetch = {
       type = "git";
@@ -991,6 +1081,15 @@
     };
   }
   {
+    goPackagePath = "github.com/kisielk/errcheck";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/errcheck";
+      rev = "v1.1.0";
+      sha256 = "19vd4rxmqbk5lpiav3pf7df3yjlz0l0dwx9mn0gjq5f998iyhy6y";
+    };
+  }
+  {
     goPackagePath = "github.com/kisielk/gotool";
     fetch = {
       type = "git";
@@ -1022,8 +1121,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "v1.0.2";
-      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
+      rev = "v1.0.3";
+      sha256 = "1yrsd4s8vhjnxhwbigirymz89dn6qfjnhn28i33vvvdgf96j6ypl";
     };
   }
   {
@@ -1130,8 +1229,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-isatty";
-      rev = "v0.0.9";
-      sha256 = "0i3km37lajahh1y2392g4hpgvq05arcgiiv93yhzxxyv0fpqj72m";
+      rev = "v0.0.12";
+      sha256 = "1dfsh27d52wmz0nmmzm2382pfrs2fcijvh6cgir7jbb4pnigr5w4";
     };
   }
   {
@@ -1297,6 +1396,15 @@
     };
   }
   {
+    goPackagePath = "github.com/oklog/ulid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/oklog/ulid";
+      rev = "v2.0.2";
+      sha256 = "1apm4r23kxsm0c9hlxsr7xh6xwrk2cjqylbpxd4ffxbl6bwflja0";
+    };
+  }
+  {
     goPackagePath = "github.com/olekukonko/tablewriter";
     fetch = {
       type = "git";
@@ -1306,6 +1414,15 @@
     };
   }
   {
+    goPackagePath = "github.com/olekukonko/ts";
+    fetch = {
+      type = "git";
+      url = "https://github.com/olekukonko/ts";
+      rev = "78ecb04241c0";
+      sha256 = "0k88n5rvs5k5zalbfa7c71jkjb8dhpk83s425z728qn6aq49c978";
+    };
+  }
+  {
     goPackagePath = "github.com/onsi/ginkgo";
     fetch = {
       type = "git";
@@ -1328,8 +1445,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/opentracing/opentracing-go";
-      rev = "v1.0.2";
-      sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9";
+      rev = "v1.2.0";
+      sha256 = "04rgdwl29kimp2wnm4dycnzp7941hvpj6wym85x23c6fclacm94h";
     };
   }
   {
@@ -1360,12 +1477,21 @@
     };
   }
   {
+    goPackagePath = "github.com/pborman/getopt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pborman/getopt";
+      rev = "7148bc3a4c30";
+      sha256 = "0zhvvmv671r1fbdd5hbv3flx8k2rb60giqx115w0553c56qkqfpj";
+    };
+  }
+  {
     goPackagePath = "github.com/pelletier/go-toml";
     fetch = {
       type = "git";
       url = "https://github.com/pelletier/go-toml";
-      rev = "v1.2.0";
-      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
+      rev = "v1.8.1";
+      sha256 = "1pi1r9ds0vxjza4qrbk52y98wxrzh1ghwzc9c2v1w6i02pdwdcz9";
     };
   }
   {
@@ -1468,6 +1594,15 @@
     };
   }
   {
+    goPackagePath = "github.com/rubyist/tracerx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rubyist/tracerx";
+      rev = "787959303086";
+      sha256 = "1xj5213r00zjhb7d2l6wlwv62g6mss50jwjpf7g8fk8djv3l29zz";
+    };
+  }
+  {
     goPackagePath = "github.com/russross/blackfriday";
     fetch = {
       type = "git";
@@ -1517,8 +1652,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/sirupsen/logrus";
-      rev = "v1.4.2";
-      sha256 = "087k2lxrr9p9dh68yw71d05h5g9p5v26zbwd6j7lghinjfaw334x";
+      rev = "v1.7.0";
+      sha256 = "1a59pw7zimvm8k423iq9l4f4qjj1ia1xc6pkmhwl2mxc46y2n442";
     };
   }
   {
@@ -1594,6 +1729,15 @@
     };
   }
   {
+    goPackagePath = "github.com/ssgelm/cookiejarparser";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ssgelm/cookiejarparser";
+      rev = "v1.0.1";
+      sha256 = "0fnm53br0cg3iwzniil0lh9w4xd6xpzfypwfpdiammfqavlqgcw4";
+    };
+  }
+  {
     goPackagePath = "github.com/stretchr/objx";
     fetch = {
       type = "git";
@@ -1607,8 +1751,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "v1.4.0";
-      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
+      rev = "v1.6.1";
+      sha256 = "1yhiqqzjvi63pf01rgzx68gqkkvjx03fvl5wk30br5l6s81s090l";
     };
   }
   {
@@ -1787,8 +1931,8 @@
     fetch = {
       type = "git";
       url = "https://gitlab.com/gitlab-org/gitlab-shell.git";
-      rev = "716e30c55e89";
-      sha256 = "0g2bgwm5rf93xfd40j3d2a5js1a212r2l2qdbds3gp7h0v73npjw";
+      rev = "3f9890ef73dc";
+      sha256 = "1zx7x3g18xzw7fs7cayd20llxabv5r93m2mp6ixgr99ksvi6zix7";
     };
   }
   {
@@ -1796,8 +1940,8 @@
     fetch = {
       type = "git";
       url = "https://gitlab.com/gitlab-org/labkit.git";
-      rev = "0149780c759d";
-      sha256 = "1krp5jkwpckpdznbl9xp4yvq6cii750r24agcni3snbbs8hd8gb1";
+      rev = "40dcf811328c";
+      sha256 = "1x22iz53wjg1qps0bnr4lniik09szmy99ny2kb6smjpv9cr6klw7";
     };
   }
   {
@@ -1814,8 +1958,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/uber-go/atomic";
-      rev = "v1.3.2";
-      sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6";
+      rev = "v1.4.0";
+      sha256 = "0c6yzx15c20719xii3dm0vyjd8i9jx45m0wh5yp1zf29b0gbljcy";
     };
   }
   {
@@ -1823,8 +1967,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "87dc89f01550";
-      sha256 = "0z4i1m2yn3f31ci7wvcm2rxkx2yiv7a78mfzklncmsz2k97rlh2g";
+      rev = "5c72a883971a";
+      sha256 = "1cimmqpajys001x6yq8ycklc4w34y7iwrksv7ayv7m7fgzhcjn3d";
     };
   }
   {
@@ -1877,8 +2021,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "6afb5195e5aa";
-      sha256 = "1aiz41q2yxgg3dxfkn33ff54vhaxbiwcps9j3ia1xx4cqxim38zw";
+      rev = "62affa334b73";
+      sha256 = "0v88xr36220wawwck914f90n9zvvc6lcx33ak3iplkwq0xkgw5fr";
     };
   }
   {
@@ -1895,8 +2039,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "cd5d95a43a6e";
-      sha256 = "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds";
+      rev = "6e8e738ad208";
+      sha256 = "1avk27pszd5l5df6ff7j78wgla46ir1hhy2jwfl9a3c0ys602yx9";
     };
   }
   {
@@ -1904,8 +2048,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "86b910548bc1";
-      sha256 = "1z8l2wp27q0bd4nc46j31lc7cr6kiw52zi6ix3i121pd3rcyrw44";
+      rev = "e3ed0017c211";
+      sha256 = "0nz91nxgfcbcxirscdrxcq5a97z5pyz0g0k2chjxx228dz59aw1i";
     };
   }
   {
@@ -1913,8 +2057,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "v0.3.2";
-      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+      rev = "v0.3.3";
+      sha256 = "19pihqm3phyndmiw6i42pdv6z1rbvlqlsnhsyqf9gsnn0qnmqqlh";
     };
   }
   {
@@ -2053,6 +2197,51 @@
     };
   }
   {
+    goPackagePath = "gopkg.in/jcmturner/aescts.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/jcmturner/aescts.v1";
+      rev = "v1.0.1";
+      sha256 = "0rbq4zf3db48xa2gqdp2swws7wizmbwagigqkr1zxzd1ramps6rv";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/jcmturner/dnsutils.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/jcmturner/dnsutils.v1";
+      rev = "v1.0.1";
+      sha256 = "0l543c64pyzbnrc00jspg21672l3a0kjjw9pbdxwna93w8d8m927";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/jcmturner/goidentity.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/jcmturner/goidentity.v2";
+      rev = "v2.0.0";
+      sha256 = "0sfkxrx57dmjlzz4sxfmbsfaxkm32wg6ymjhaga2ggkixlzdd4d7";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/jcmturner/gokrb5.v5";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/jcmturner/gokrb5.v5";
+      rev = "v5.3.0";
+      sha256 = "0jynpkncifdd2ib2pc9qhh0r8q7ab7yw0ygzpzgisdzv8ars1diq";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/jcmturner/rpc.v0";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/jcmturner/rpc.v0";
+      rev = "v0.0.2";
+      sha256 = "0hivgq52gwxsqs5x1my2047k7nqh7wx3yi0llsj3lc3h2mjy4yhd";
+    };
+  }
+  {
     goPackagePath = "gopkg.in/mgo.v2";
     fetch = {
       type = "git";
@@ -2075,8 +2264,17 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.8";
-      sha256 = "1inf7svydzscwv9fcjd2rm61a4xjk6jkswknybmns2n58shimapw";
+      rev = "v2.3.0";
+      sha256 = "1md0hlyd9s6myv3663i9l59y74n4xjazifmmyxn43g86fgkc5lzj";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v3";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v3";
+      rev = "9f266ea9e77c";
+      sha256 = "1bbai3lzb50m0x2vwsdbagrbhvfylj9k1m32hgbqwldqx4p9ay35";
     };
   }
   {
diff --git a/pkgs/applications/version-management/gitlab/gitaly/fix-executable-check.patch b/pkgs/applications/version-management/gitlab/gitaly/fix-executable-check.patch
deleted file mode 100644
index 65e130078b7f3..0000000000000
--- a/pkgs/applications/version-management/gitlab/gitaly/fix-executable-check.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/internal/config/config.go b/internal/config/config.go
-index 037c9602..3d5409dc 100644
---- a/internal/config/config.go
-+++ b/internal/config/config.go
-@@ -185,7 +185,7 @@ func checkExecutable(path string) error {
- 		return err
- 	}
- 
--	if fi.Mode()&0755 < 0755 {
-+	if fi.Mode()&0555 < 0555 {
- 		return fmt.Errorf("not executable: %v", path)
- 	}
- 
diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index f693d5b4c7bae..9cdadec5d4fb2 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -13,10 +13,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1665r4ffqdpykxwpgdnaq7xsaz1nfswc5wjs2qr0npx8bq7g49kh";
+      sha256 = "1p873nqwmpsvmkb5n86d70wndx1qhy15pc9mbcd1mc8sj174578b";
       type = "gem";
     };
-    version = "6.0.3.1";
+    version = "6.0.3.3";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -24,10 +24,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n21pswh3k7m33vzhxyrbi5lj64b1138yqv34jjhkhlq3474b4rh";
+      sha256 = "08pvmjddlw01q5r9zdfgddwp4csndpf5i2w47677z5r36jznz36q";
       type = "gem";
     };
-    version = "6.0.3.1";
+    version = "6.0.3.3";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -35,10 +35,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1l29n9n38c9lpy5smh26r7fy7jp2bpjqlzhxgsr79cv7xpwlrbhs";
+      sha256 = "1dmkqbvndbz011a1byg6f990936vfadbnwjwjw9vjzr4kd8bxk96";
       type = "gem";
     };
-    version = "6.0.3.1";
+    version = "6.0.3.3";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -49,24 +49,15 @@
     };
     version = "0.2.0";
   };
-  addressable = {
-    dependencies = ["public_suffix"];
+  ast = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
-      type = "gem";
-    };
-    version = "2.6.0";
-  };
-  ast = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
+      sha256 = "1l3468czzjmxl93ap40hp7z94yxp4nbag0bxqs789bm30md90m2a";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.4.1";
   };
   binding_ninja = {
     groups = ["default" "development" "test"];
@@ -89,12 +80,14 @@
     version = "3.2.4";
   };
   charlock_holmes = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
+      sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p";
       type = "gem";
     };
-    version = "0.7.6";
+    version = "0.7.7";
   };
   coderay = {
     source = {
@@ -118,19 +111,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl";
-      type = "gem";
-    };
-    version = "1.1.6";
-  };
-  crack = {
-    dependencies = ["safe_yaml"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
+      sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
       type = "gem";
     };
-    version = "0.4.3";
+    version = "1.1.7";
   };
   crass = {
     groups = ["default"];
@@ -150,16 +134,6 @@
     };
     version = "1.3";
   };
-  docile = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qrwiyagxzl8zlx3dafb0ay8l14ib7imb2rsmx70i5cp420v8gif";
-      type = "gem";
-    };
-    version = "1.3.2";
-  };
   equalizer = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -203,20 +177,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0";
+      sha256 = "0wwks9652xwgjm7yszcq5xr960pjypc07ivwzbjzpvy9zh2fw6iq";
       type = "gem";
     };
-    version = "0.15.4";
+    version = "1.0.1";
   };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10lfhahnnc91v63xpvk65apn61pib086zha3z5sp1xk9acfx12h4";
+      sha256 = "12lpwaw82bb0rm9f52v1498bpba8aj2l2q359mkwbxsswhpga5af";
       type = "gem";
     };
-    version = "1.12.2";
+    version = "1.13.1";
   };
   gemojione = {
     dependencies = ["json"];
@@ -233,10 +207,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rhw05d88l928g6y2bngvmr66565b2z822hyynmb13b7khf07y1a";
+      sha256 = "12vwx6msqqdyf10zrrp2zdwr8ixrb82phriyin16rsmndb93cijv";
       type = "gem";
     };
-    version = "7.9.0";
+    version = "7.11.0";
   };
   github-markup = {
     source = {
@@ -274,10 +248,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a63zgjll83b25hiq8m4sk75jci2rj8z46lss0j3bc6zi3pxnzax";
+      sha256 = "0vgd61xdclihifcdivddfs1gipxy1ql0kf9q47k9h0xisscyjhd2";
       type = "gem";
     };
-    version = "0.12.0";
+    version = "0.13.2";
   };
   gitlab-markup = {
     groups = ["default"];
@@ -294,10 +268,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0by3289irdklb9gjqw41fq6mg6yja3iyzh99dj8p8z9l4brllqn4";
+      sha256 = "1m3la0yid3bqx9b30raisqbp27d0q7vdrlslazrdasf8v1vhifxj";
       type = "gem";
     };
-    version = "3.8.0";
+    version = "3.12.4";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -305,10 +279,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hyr94cafiqj0k8q19hnl658pmbz2b404akikzfv4hdb1j1bwsg1";
+      sha256 = "1aava1b75n056s24gn7ajrkmm6s3xa3swl62dl5q9apw4marghji";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   grpc = {
     dependencies = ["google-protobuf" "googleapis-common-protos-types"];
@@ -316,30 +290,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18wikj9qd4jb4lks55cs2cf3q7fifnanm9z9ywnxhpj57vbnilpf";
+      sha256 = "1rsglf7ag17n465iff7vlw83pn2rpl4kv9sb1rpf17nx6xpi7yl5";
       type = "gem";
     };
-    version = "1.24.0";
+    version = "1.30.2";
   };
   grpc-tools = {
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pjs2sm43mai2fy0jsbxl8rs9bych8f5j8hv630fjwh0323cmcc9";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  hashdiff = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1qji49afni3c90zws617x514xi7ik70g2iwngj9skq68mjcq6y4x";
+      sha256 = "0k9zhsqhamp02ryzgfb4y2bbick151vlhrhj0kqbbz9lyhms0bd4";
       type = "gem";
     };
-    version = "0.3.9";
+    version = "1.30.2";
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
@@ -347,10 +311,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jwrd1l4mxz06iyx6053lr6hz2zy7ah2k3ranfzisvych5q19kwm";
+      sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
       type = "gem";
     };
-    version = "1.8.2";
+    version = "1.8.5";
   };
   ice_nine = {
     source = {
@@ -366,30 +330,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "198m72c9w3wfwr1mq22dcjjm7d4jd0bci4lrq6zq2zvlzhi04n8l";
+      sha256 = "1a2qlkc1hkr5hkj2574l1a63sm04bdx98gfhh9m8vvp6psdrnpnb";
       type = "gem";
     };
-    version = "0.10.0";
-  };
-  jaro_winkler = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l";
-      type = "gem";
-    };
-    version = "1.5.2";
+    version = "1.1.0";
   };
   json = {
-    groups = ["default"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
+      sha256 = "158fawfwmv2sq4whqqaksfykkiad2xxrrj0nmpnc6vnlzi1bp7iz";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.3.1";
   };
   licensee = {
     dependencies = ["rugged"];
@@ -400,24 +354,16 @@
     };
     version = "8.9.2";
   };
-  listen = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0inlw7vix61170vjr87h9izhjm5dbby8rbfrf1iryiv7b3kyvkxl";
-      type = "gem";
-    };
-    version = "0.5.3";
-  };
   loofah = {
     dependencies = ["crass" "nokogiri"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jk9fgn5ayzbqvzqm11gbkqvas77zdbpkvynlylyiwynclgrn040";
+      sha256 = "1alz1x6rkhbw10qpszr384299rf52rcyasn0619a9p50vzs8vczq";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.7.0";
   };
   memoizable = {
     dependencies = ["thread_safe"];
@@ -438,22 +384,24 @@
   };
   mime-types = {
     dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
+      sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.3.1";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
+      sha256 = "1z75svngyhsglx0y2f9rnil2j08f9ab54b3l95bpgz67zq2if753";
       type = "gem";
     };
-    version = "3.2019.0331";
+    version = "3.2020.0512";
   };
   mini_mime = {
     groups = ["default"];
@@ -478,28 +426,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g73x65hmjph8dg1h3rkzfg7ys3ffxm35hj35grw75fixmq53qyz";
+      sha256 = "170y2cvx51gm3cm3nhdf7j36sxnkh6vv8ls36p90ric7w8w16h4v";
       type = "gem";
     };
-    version = "5.14.0";
+    version = "5.14.2";
   };
   msgpack = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qr2mkm2i3m76zarvy7qgjl9596hmvjrg7x6w42vx8cfsbf5p0y1";
+      sha256 = "1lva6bkvb4mfa0m3bqn4lm4s4gi81c40jvdcsrxr6vng49q9daih";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.3.3";
   };
   multipart-post = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
+      sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.1";
   };
   nokogiri = {
     dependencies = ["mini_portile2"];
@@ -507,10 +457,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm";
+      sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2";
       type = "gem";
     };
-    version = "1.10.9";
+    version = "1.10.10";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -532,22 +482,24 @@
     version = "0.5.0";
   };
   optimist = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05jxrp3nbn5iilc1k7ir90mfnwc5abc9h78s5rpm3qafwqxvcj4j";
+      sha256 = "1vg2chy1cfmdj6c1gryl8zvjhhmb3plwgyh1jfnpq4fnfqv7asrk";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.0.1";
   };
   parallel = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r";
+      sha256 = "17b127xxmm2yqdz146qwbs57046kn0js1h8synv01dwqz2z1kp2l";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.19.2";
   };
   parser = {
     dependencies = ["ast"];
@@ -555,10 +507,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iirjc36irgwpfb58jdf9gli382cj893y9caqhxas8anpzzlikgc";
+      sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z";
       type = "gem";
     };
-    version = "2.7.0.5";
+    version = "2.7.2.0";
   };
   proc_to_ast = {
     dependencies = ["coderay" "parser" "unparser"];
@@ -586,23 +538,15 @@
     };
     version = "0.12.2";
   };
-  public_suffix = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
-      type = "gem";
-    };
-    version = "3.0.3";
-  };
   rack = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04qa0ry26hxfwkmvhi0fjlvbm8irzg66ahnpx2pp3bl6qbdc0i8w";
+      sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16";
       type = "gem";
     };
-    version = "2.1.2";
+    version = "2.2.3";
   };
   rack-test = {
     dependencies = ["rack"];
@@ -647,12 +591,14 @@
   };
   rbtrace = {
     dependencies = ["ffi" "msgpack" "optimist"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lwsq08i0aj8na5q5ba3gg02sx3wl58fi6m52svl5p7cy56ycdwi";
+      sha256 = "0s8prj0klfgpmpfcpdzbf149qrrsdxgnb6w6kkqc9gyars4vyaqn";
       type = "gem";
     };
-    version = "0.4.11";
+    version = "0.4.14";
   };
   rdoc = {
     groups = ["default"];
@@ -674,15 +620,35 @@
     };
     version = "4.1.3";
   };
+  regexp_parser = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0n9d14ppshnx71i3mi1pnm3hwhcbb6m6vsc0b0dqgsab8r2rs96n";
+      type = "gem";
+    };
+    version = "1.8.1";
+  };
+  rexml = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
+      type = "gem";
+    };
+    version = "3.2.4";
+  };
   rouge = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "102rc07d78k5bkl0s9nd1gw6wz0w0zcvg4g5sl7z9xxi4r793c35";
+      sha256 = "1igl00gk0vaq4xxk44m7yflqdzsblgxlzcxj8saz96bmx7mg7392";
       type = "gem";
     };
-    version = "3.19.0";
+    version = "3.24.0";
   };
   rspec = {
     dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
@@ -750,43 +716,46 @@
     version = "3.8.0";
   };
   rubocop = {
-    dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"];
+    dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cmw8ajaiidvrzjcsljh47f4l3lmcazqrzljgalj3szkr8ibkk5i";
+      sha256 = "1jl3ghxw1bpj272s5s3gl07l2rbd1vwr9z9jmlxxaa2faldn9gms";
       type = "gem";
     };
-    version = "0.69.0";
+    version = "0.86.0";
   };
-  ruby-progressbar = {
+  rubocop-ast = {
+    dependencies = ["parser"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
+      sha256 = "1w5rjkwxaxkr2jr1sl5wz0nffal27ik6b1qfzx5skl43vfk2jz97";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "0.2.0";
   };
-  rugged = {
-    groups = ["default"];
+  ruby-progressbar = {
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rdidxgpk1b6y1jq9v77lcx5khq0s9q0s253lr8x57d3hk43iskx";
+      sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
       type = "gem";
     };
-    version = "0.28.4.1";
+    version = "1.10.1";
   };
-  safe_yaml = {
-    groups = ["default" "development" "test"];
+  rugged = {
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56";
+      sha256 = "0rdidxgpk1b6y1jq9v77lcx5khq0s9q0s253lr8x57d3hk43iskx";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "0.28.4.1";
   };
   sanitize = {
     dependencies = ["crass" "nokogiri" "nokogumbo"];
@@ -803,31 +772,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j9rwbig24ry0smgvmkzdjrzyszniaswipinvflzxzzaz52v7483";
+      sha256 = "17j4br2lpnd8066d50mkg9kwk9v70hn3zfiqkvysd8p9nffmqnm0";
       type = "gem";
     };
-    version = "2.9.0";
-  };
-  simplecov = {
-    dependencies = ["docile" "json" "simplecov-html"];
-    groups = ["development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1135k46nik05sdab30yxb8264lqiz01c8v000g16cl9pjc4mxrdw";
-      type = "gem";
-    };
-    version = "0.17.1";
-  };
-  simplecov-html = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn";
-      type = "gem";
-    };
-    version = "0.10.2";
+    version = "3.0.4";
   };
   stringex = {
     groups = ["default"];
@@ -881,10 +829,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w";
+      sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
   };
   unparser = {
     dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"];
@@ -897,31 +845,14 @@
     };
     version = "0.4.7";
   };
-  vcr = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qh7lkj9b0shph84dw1wsrlaprl0jn1i4339fpsfy99402290zrr";
-      type = "gem";
-    };
-    version = "4.0.0";
-  };
-  webmock = {
-    dependencies = ["addressable" "crack" "hashdiff"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "03994dxs4xayvkxqp01dd1ivhg4xxx7z35f7cxw7y2mwj3xn24ib";
-      type = "gem";
-    };
-    version = "3.4.2";
-  };
   zeitwerk = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1akpm3pwvyiack2zk6giv9yn3cqb8pw6g40p4394pdc3xmy3s4k0";
+      sha256 = "0jvn50k76kl14fpymk4hdsf9sk00jl84yxzl783xhnw4dicp0m0k";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.4.0";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index 3e32e90a6d2ac..1e48b569c6508 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,12 +2,12 @@
 
 buildGoPackage rec {
   pname = "gitlab-shell";
-  version = "13.2.0";
+  version = "13.13.0";
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "0drdpg4nmhzrmy8sl1f3hcd1278bpapgf0wmhi94xlyayh47j53a";
+    sha256 = "1zx7x3g18xzw7fs7cayd20llxabv5r93m2mp6ixgr99ksvi6zix7";
   };
 
   buildInputs = [ ruby ];
@@ -17,6 +17,10 @@ buildGoPackage rec {
   goPackagePath = "gitlab.com/gitlab-org/gitlab-shell";
   goDeps = ./deps.nix;
 
+  preBuild = ''
+    rm -rf "$NIX_BUILD_TOP/go/src/gitlab.com/gitlab-org/labkit/vendor"
+  '';
+
   postInstall = ''
     cp -r "$NIX_BUILD_TOP/go/src/$goPackagePath"/bin/* $out/bin
     cp -r "$NIX_BUILD_TOP/go/src/$goPackagePath"/{support,VERSION} $out/
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix
index 72c0f2cdf513b..4f841c5fff094 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix
@@ -14,8 +14,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/googleapis/google-cloud-go";
-      rev = "v0.26.0";
-      sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1";
+      rev = "v0.50.0";
+      sha256 = "0pbz5migljd5whxh6z1w79cwx93n85mcs3x1bckl27yzaa4lvqsl";
+    };
+  }
+  {
+    goPackagePath = "dmitri.shuralyov.com/gpu/mtl";
+    fetch = {
+      type = "git";
+      url = "https://dmitri.shuralyov.com/gpu/mtl";
+      rev = "666a987793e9";
+      sha256 = "1isd03hgiwcf2ld1rlp0plrnfz7r4i7c5q4kb6hkcd22axnmrv0z";
+    };
+  }
+  {
+    goPackagePath = "github.com/AndreasBriese/bbloom";
+    fetch = {
+      type = "git";
+      url = "https://github.com/AndreasBriese/bbloom";
+      rev = "e2d15f34fcf9";
+      sha256 = "05kkrsmpragy69bj6s80pxlm3pbwxrkkx7wgk0xigs6y2n6ylpds";
     };
   }
   {
@@ -28,6 +46,60 @@
     };
   }
   {
+    goPackagePath = "github.com/BurntSushi/xgb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/xgb";
+      rev = "27f122750802";
+      sha256 = "18lp2x8f5bljvlz0r7xn744f0c9rywjsb9ifiszqqdcpwhsa0kvj";
+    };
+  }
+  {
+    goPackagePath = "github.com/CloudyKit/fastprinter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/CloudyKit/fastprinter";
+      rev = "74b38d55f37a";
+      sha256 = "07wkq3503j7sd5knsgp3lwzfdwm6sj7a3l6i71i52yb3fd8md235";
+    };
+  }
+  {
+    goPackagePath = "github.com/Joker/hpp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Joker/hpp";
+      rev = "v1.0.0";
+      sha256 = "1xnqkjkmqdj48w80qa74rwcmgar8dcilpkcrcn1f53djk45k1gq2";
+    };
+  }
+  {
+    goPackagePath = "github.com/Joker/jade";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Joker/jade";
+      rev = "d475f43051e7";
+      sha256 = "0yigzvxp5qd05pai0yimzkpl2m23358a2fqqs585psrdmwsic2pn";
+    };
+  }
+  {
+    goPackagePath = "github.com/Shopify/goreferrer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Shopify/goreferrer";
+      rev = "ec9c9a553398";
+      sha256 = "0d740psj8czks1hl0nr6nlrwfbwq3nc51jj2p91d1wyhhmgn6jmn";
+    };
+  }
+  {
+    goPackagePath = "github.com/ajg/form";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ajg/form";
+      rev = "v1.5.1";
+      sha256 = "1d6sxzzf9yycdf8jm5877y0khmhkmhxfw3sc4xpdcsrdlc7gqh5a";
+    };
+  }
+  {
     goPackagePath = "github.com/alecthomas/template";
     fetch = {
       type = "git";
@@ -46,12 +118,39 @@
     };
   }
   {
+    goPackagePath = "github.com/armon/consul-api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/consul-api";
+      rev = "eb2c6b5be1b6";
+      sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/go-radix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/go-radix";
+      rev = "7fddfc383310";
+      sha256 = "0y8chspn14n9xpsfb9gxnnf819rfpriaz64v81p7873a42kkhxb4";
+    };
+  }
+  {
     goPackagePath = "github.com/beorn7/perks";
     fetch = {
       type = "git";
       url = "https://github.com/beorn7/perks";
-      rev = "v1.0.0";
-      sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x";
+      rev = "v1.0.1";
+      sha256 = "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7";
+    };
+  }
+  {
+    goPackagePath = "github.com/bgentry/speakeasy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bgentry/speakeasy";
+      rev = "v0.1.0";
+      sha256 = "02dfrj0wyphd3db9zn2mixqxwiz1ivnyc5xc7gkz58l5l27nzp8s";
     };
   }
   {
@@ -64,6 +163,33 @@
     };
   }
   {
+    goPackagePath = "github.com/chzyer/logex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/logex";
+      rev = "v1.1.10";
+      sha256 = "08pbjj3wx9acavlwyr055isa8a5hnmllgdv5k6ra60l5y1brmlq4";
+    };
+  }
+  {
+    goPackagePath = "github.com/chzyer/readline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/readline";
+      rev = "2972be24d48e";
+      sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r";
+    };
+  }
+  {
+    goPackagePath = "github.com/chzyer/test";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/test";
+      rev = "a1ea475d72b1";
+      sha256 = "0rns2aqk22i9xsgyap0pq8wi4cfaxsri4d9q6xxhhyma8jjsnj2k";
+    };
+  }
+  {
     goPackagePath = "github.com/client9/misspell";
     fetch = {
       type = "git";
@@ -73,12 +199,21 @@
     };
   }
   {
+    goPackagePath = "github.com/client9/reopen";
+    fetch = {
+      type = "git";
+      url = "https://github.com/client9/reopen";
+      rev = "v1.0.0";
+      sha256 = "0f0dpdbmvk7w518c6zjhlmp65y55vvx47x4lq9pgzvcbsvjsf18s";
+    };
+  }
+  {
     goPackagePath = "github.com/cloudflare/tableflip";
     fetch = {
       type = "git";
       url = "https://github.com/cloudflare/tableflip";
-      rev = "8392f1641731";
-      sha256 = "0by5hk8s0bhhl3kiw658p5g53zvc61k4q2wxnh1w64p5ghd1rfn8";
+      rev = "4baec9811f2b";
+      sha256 = "095xb5gfz7dglljp91nh68dnscddvlf7q5ivvz972fq86r3ypq6q";
     };
   }
   {
@@ -91,6 +226,51 @@
     };
   }
   {
+    goPackagePath = "github.com/codegangsta/inject";
+    fetch = {
+      type = "git";
+      url = "https://github.com/codegangsta/inject";
+      rev = "33e0aa1cb7c0";
+      sha256 = "1jqakr3z9l60qhcgrdzsb6rlk8ikcamisw0g2ndmrf27s0ibfcaj";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/etcd";
+      rev = "v3.3.10";
+      sha256 = "1x2ii1hj8jraba8rbxz6dmc03y3sjxdnzipdvg6fywnlq1f3l3wl";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-etcd";
+      rev = "v2.0.0";
+      sha256 = "1xb34hzaa1lkbq5vkzy9vcz6gqwj7hp6cdbvyack2bf28dwn33jj";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-semver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-semver";
+      rev = "v0.2.0";
+      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
+    };
+  }
+  {
+    goPackagePath = "github.com/cpuguy83/go-md2man";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cpuguy83/go-md2man";
+      rev = "v1.0.10";
+      sha256 = "1bqkf2bvy1dns9zd24k81mh2p1zxsx2nhq5cj8dz2vgkv1xkh60i";
+    };
+  }
+  {
     goPackagePath = "github.com/davecgh/go-spew";
     fetch = {
       type = "git";
@@ -100,6 +280,105 @@
     };
   }
   {
+    goPackagePath = "github.com/denisenkom/go-mssqldb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/denisenkom/go-mssqldb";
+      rev = "cfbb681360f0";
+      sha256 = "0mr4y9vppiyl7mvad74k3zk4sc1jdkmc0lcd6lhm70iziw2xpncs";
+    };
+  }
+  {
+    goPackagePath = "github.com/dgraph-io/badger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgraph-io/badger";
+      rev = "v1.6.0";
+      sha256 = "1vzibjqhb10q6s2chbzlwndij2d9ybjnq7h28hx4akr119avd0d5";
+    };
+  }
+  {
+    goPackagePath = "github.com/dgrijalva/jwt-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgrijalva/jwt-go";
+      rev = "v3.2.0";
+      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
+    };
+  }
+  {
+    goPackagePath = "github.com/dgryski/go-farm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgryski/go-farm";
+      rev = "6a90982ecee2";
+      sha256 = "1x3l4jgps0v1bjvd446kj4dp0ckswjckxgrng9afm275ixnf83ix";
+    };
+  }
+  {
+    goPackagePath = "github.com/dustin/go-humanize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dustin/go-humanize";
+      rev = "v1.0.0";
+      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
+    };
+  }
+  {
+    goPackagePath = "github.com/eknkc/amber";
+    fetch = {
+      type = "git";
+      url = "https://github.com/eknkc/amber";
+      rev = "cdade1c07385";
+      sha256 = "152w97yckwncgw7lwjvgd8d00wy6y0nxzlvx72kl7nqqxs9vhxd9";
+    };
+  }
+  {
+    goPackagePath = "github.com/etcd-io/bbolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/etcd-io/bbolt";
+      rev = "v1.3.3";
+      sha256 = "0dn0zngks9xiz0rrrb3911f73ghl64z84jsmzai2yfmzqr7cdkqc";
+    };
+  }
+  {
+    goPackagePath = "github.com/fasthttp-contrib/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fasthttp-contrib/websocket";
+      rev = "1f3b11f56072";
+      sha256 = "1yacmwmil625p0pzj800h9dnmiab6bjwfmi48p9fcrvy2yyv9b97";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "v1.7.0";
+      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/structs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/structs";
+      rev = "v1.1.0";
+      sha256 = "1wrhb8wp8zpzggl61lapb627lw8yv281abvr6vqakmf569nswa9q";
+    };
+  }
+  {
+    goPackagePath = "github.com/flosch/pongo2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/flosch/pongo2";
+      rev = "bbf5a6c351f4";
+      sha256 = "0yqh58phznnxakm64w82gawrpndb0r85vsd1s7h244qqrq7w4avq";
+    };
+  }
+  {
     goPackagePath = "github.com/fsnotify/fsnotify";
     fetch = {
       type = "git";
@@ -109,15 +388,78 @@
     };
   }
   {
+    goPackagePath = "github.com/gavv/httpexpect";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gavv/httpexpect";
+      rev = "v2.0.0";
+      sha256 = "0dqb7lsinciz594q6jg59hrvk4g4awbs2ybsr580j22j2xag53vs";
+    };
+  }
+  {
     goPackagePath = "github.com/getsentry/raven-go";
     fetch = {
       type = "git";
       url = "https://github.com/getsentry/raven-go";
-      rev = "v0.1.2";
+      rev = "v0.1.0";
       sha256 = "1dl80kar4lzdcfl3w6jssi1ld6bv0rmx6sp6bz6rzysfr9ilm02z";
     };
   }
   {
+    goPackagePath = "github.com/getsentry/sentry-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/getsentry/sentry-go";
+      rev = "v0.5.1";
+      sha256 = "1kfn0gcb4c6amhagv04ydpl6p9cqw7f0lxas688a0rf89iwdzz89";
+    };
+  }
+  {
+    goPackagePath = "github.com/gin-contrib/sse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gin-contrib/sse";
+      rev = "5545eab6dad3";
+      sha256 = "0jhcvi66rn7c1wg3rf7q7sylrvlk7c40yk79c5lypnz1dpsdcrb5";
+    };
+  }
+  {
+    goPackagePath = "github.com/gin-gonic/gin";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gin-gonic/gin";
+      rev = "v1.4.0";
+      sha256 = "19nxip48p2s8l7p1p7wpd5li2fcngi4c58rgcg71izdmsmj2iw1d";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-check/check";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-check/check";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-errors/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-errors/errors";
+      rev = "v1.0.1";
+      sha256 = "0rznpknk19rxkr7li6dqs52c26pjazp69lh493l4ny4sxn5922lp";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-gl/glfw";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-gl/glfw";
+      rev = "12ad95a8df72";
+      sha256 = "0ahw4a1lk7wqn6m0sjngsv2zc08kxxj259ai6g4kf11lmidszm9s";
+    };
+  }
+  {
     goPackagePath = "github.com/go-kit/kit";
     fetch = {
       type = "git";
@@ -136,6 +478,24 @@
     };
   }
   {
+    goPackagePath = "github.com/go-martini/martini";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-martini/martini";
+      rev = "22fa46961aab";
+      sha256 = "01ip3mwbnm5isq120ww73yrvbcn6n5944prhhbyf2ggyf6g46ylh";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-sql-driver/mysql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-sql-driver/mysql";
+      rev = "v1.4.1";
+      sha256 = "1fvsvwc1v2i0gqn01mynvi1shp5xm0xaym6xng09fcbqb56lbjx1";
+    };
+  }
+  {
     goPackagePath = "github.com/go-stack/stack";
     fetch = {
       type = "git";
@@ -145,6 +505,69 @@
     };
   }
   {
+    goPackagePath = "github.com/gobuffalo/envy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobuffalo/envy";
+      rev = "v1.7.1";
+      sha256 = "1s1f05cgpkhgcs2qfh04ixxm1ggk8ms3fpwsxhb0mx7nfrcm106d";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobuffalo/logger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobuffalo/logger";
+      rev = "v1.0.1";
+      sha256 = "1w6rkz0xwq3xj3giwzjkfnai69a0cgg09zx01z7s8r5z450cish3";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobuffalo/packd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobuffalo/packd";
+      rev = "v0.3.0";
+      sha256 = "02sg33jkp219g0z3yf2fn9xm2zds1qxzdznx5mh8vffh4njjg1x8";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobuffalo/packr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobuffalo/packr";
+      rev = "v2.7.1";
+      sha256 = "0m5kl2fq8gf1v4vllgag2xl8fd382sdgqrcdb8f5alsnrdn08kb9";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobwas/httphead";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/httphead";
+      rev = "2c6c146eadee";
+      sha256 = "0j7nlrf79cafl8ap69ri2c7v3psr2y133cr2wn735z7yn3dz3kss";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobwas/pool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/pool";
+      rev = "v0.2.0";
+      sha256 = "1avpa8c75j1y4hs7awazrjjy7w0pjfw80l424ddn5zyizvh7s67i";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobwas/ws";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/ws";
+      rev = "v1.0.2";
+      sha256 = "070mfcjbfb40bglc9aw9zjvd4jb1hp3l1s12ww6mjlwbjcg0mm9s";
+    };
+  }
+  {
     goPackagePath = "github.com/gogo/protobuf";
     fetch = {
       type = "git";
@@ -154,6 +577,15 @@
     };
   }
   {
+    goPackagePath = "github.com/golang-sql/civil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang-sql/civil";
+      rev = "cb61b32ac6fe";
+      sha256 = "0yadfbvi0w06lg3sxw0daji02jxd3vv2in26yfmwpl4vd4vm9zay";
+    };
+  }
+  {
     goPackagePath = "github.com/golang/glog";
     fetch = {
       type = "git";
@@ -163,12 +595,12 @@
     };
   }
   {
-    goPackagePath = "github.com/golang/lint";
+    goPackagePath = "github.com/golang/groupcache";
     fetch = {
       type = "git";
-      url = "https://github.com/golang/lint";
-      rev = "06c8688daad7";
-      sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
+      url = "https://github.com/golang/groupcache";
+      rev = "215e87163ea7";
+      sha256 = "07555csk49ara636bhl2vbzziayls3qks8964z0q29g065zliy9j";
     };
   }
   {
@@ -176,8 +608,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/mock";
-      rev = "v1.1.1";
-      sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy";
+      rev = "v1.3.1";
+      sha256 = "1wnfa8njxdym1qb664dmfnkpm4pmqy22hqjlqpwaaiqhglb5g9d1";
     };
   }
   {
@@ -190,12 +622,66 @@
     };
   }
   {
+    goPackagePath = "github.com/gomodule/redigo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gomodule/redigo";
+      rev = "574c33c3df38";
+      sha256 = "1qpw8mq9xqj1hmpag1av941swkx39qikahsajyhn34rc2q54f4z6";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/btree";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/btree";
+      rev = "v1.0.0";
+      sha256 = "0ba430m9fbnagacp57krgidsyrgp3ycw5r7dj71brgp5r52g82p6";
+    };
+  }
+  {
     goPackagePath = "github.com/google/go-cmp";
     fetch = {
       type = "git";
       url = "https://github.com/google/go-cmp";
-      rev = "v0.2.0";
-      sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
+      rev = "v0.4.0";
+      sha256 = "1x5pvl3fb5sbyng7i34431xycnhmx8xx94gq2n19g6p0vz68z2v2";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev = "v1.0.0";
+      sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/martian";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/martian";
+      rev = "v2.1.0";
+      sha256 = "197hil6vrjk50b9wvwyzf61csid83whsjj6ik8mc9r2lryxlyyrp";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/pprof";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/pprof";
+      rev = "d4f498aebedc";
+      sha256 = "1r4pn70yy5vfl38jx9v8224n7jkhcm5wg28vv48izgznlgv7h024";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/renameio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/renameio";
+      rev = "v0.1.0";
+      sha256 = "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx";
     };
   }
   {
@@ -208,6 +694,33 @@
     };
   }
   {
+    goPackagePath = "github.com/googleapis/gax-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/gax-go";
+      rev = "v2.0.5";
+      sha256 = "1lxawwngv6miaqd25s3ba0didfzylbwisd2nz7r4gmbmin6jsjrx";
+    };
+  }
+  {
+    goPackagePath = "github.com/gopherjs/gopherjs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gopherjs/gopherjs";
+      rev = "0766667cb4d1";
+      sha256 = "13pfc9sxiwjky2lm1xb3i3lcisn8p6mgjk2d927l7r92ysph8dmw";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/websocket";
+      rev = "v1.4.0";
+      sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
+    };
+  }
+  {
     goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware";
     fetch = {
       type = "git";
@@ -226,6 +739,51 @@
     };
   }
   {
+    goPackagePath = "github.com/hashicorp/errwrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/errwrap";
+      rev = "v1.0.0";
+      sha256 = "0slfb6w3b61xz04r32bi0a1bygc82rjzhqkxj2si2074wynqnr1c";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-multierror";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-multierror";
+      rev = "v1.0.0";
+      sha256 = "00nyn8llqzbfm8aflr9kwsvpzi4kv8v45c141v88xskxp5xf6z49";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-version";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-version";
+      rev = "v1.2.0";
+      sha256 = "1bwi6y6111xq8ww8kjq0w1cmz15l1h9hb2id6596l8l0ag1vjj1z";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/golang-lru";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev = "v0.5.1";
+      sha256 = "13f870cvk161bzjj6x41l45r5x9i1z9r2ymwmvm7768kg08zznpy";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/hcl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/hcl";
+      rev = "v1.0.0";
+      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
+    };
+  }
+  {
     goPackagePath = "github.com/hpcloud/tail";
     fetch = {
       type = "git";
@@ -235,6 +793,78 @@
     };
   }
   {
+    goPackagePath = "github.com/ianlancetaylor/demangle";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ianlancetaylor/demangle";
+      rev = "5e5cf60278f6";
+      sha256 = "1fhjk11cip9c3jyj1byz9z77n6n2rlxmyz0xjx1zpn1da3cvri75";
+    };
+  }
+  {
+    goPackagePath = "github.com/imkira/go-interpol";
+    fetch = {
+      type = "git";
+      url = "https://github.com/imkira/go-interpol";
+      rev = "v1.1.0";
+      sha256 = "180h3pf2p0pch6hmqf45wk7wd87md83d3p122f8ll43x5nja5mph";
+    };
+  }
+  {
+    goPackagePath = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev = "v1.0.0";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/blackfriday";
+      rev = "v2.0.0";
+      sha256 = "1gkizavajqmxm79il8r6cbi0g9ls3vwdh9wr0zy89vc9sq17p3im";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/go.uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/go.uuid";
+      rev = "v2.0.0";
+      sha256 = "0nc0ggn0a6bcwdrwinnx3z6889x65c20a2dwja0n8can3xblxs35";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/i18n";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/i18n";
+      rev = "987a633949d0";
+      sha256 = "0yslm7hmacc57v970jbys4x5c5yxgcjgff982ngivg9v1a16kifq";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/schema";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/schema";
+      rev = "v0.0.1";
+      sha256 = "1a1lk2ll2xv3ljffmfw4q8mqqw727pj8dzs6c8g2hh0b0b050g79";
+    };
+  }
+  {
+    goPackagePath = "github.com/joho/godotenv";
+    fetch = {
+      type = "git";
+      url = "https://github.com/joho/godotenv";
+      rev = "v1.3.0";
+      sha256 = "0ri8if0pc3x6jg4c3i8wr58xyfpxkwmcjk3rp8gb398a1aa3gpjm";
+    };
+  }
+  {
     goPackagePath = "github.com/json-iterator/go";
     fetch = {
       type = "git";
@@ -244,6 +874,51 @@
     };
   }
   {
+    goPackagePath = "github.com/jstemmer/go-junit-report";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jstemmer/go-junit-report";
+      rev = "v0.9.1";
+      sha256 = "1knip80yir1cdsjlb3rzy0a4w3kl4ljpiciaz6hjzwqlfhnv7bkw";
+    };
+  }
+  {
+    goPackagePath = "github.com/jtolds/gls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jtolds/gls";
+      rev = "v4.20.0";
+      sha256 = "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/errors";
+      rev = "089d3ea4e4d5";
+      sha256 = "056za75j1zgksky7pbf0pkjqz5ha15g3wj3p4ma10m9sywdyq79r";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/loggo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/loggo";
+      rev = "584905176618";
+      sha256 = "0hzi0652y74jf62wwyi9gf8bzrs7ynvhjfqc8rwr4l799d7i5gd4";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/testing";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/testing";
+      rev = "472a3e8b2073";
+      sha256 = "05wjc2k0kwbam7anaxwnj30pl03dcdbrsz32icd70zl70ipsqsw4";
+    };
+  }
+  {
     goPackagePath = "github.com/julienschmidt/httprouter";
     fetch = {
       type = "git";
@@ -253,6 +928,51 @@
     };
   }
   {
+    goPackagePath = "github.com/k0kubun/colorstring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/k0kubun/colorstring";
+      rev = "9440f1994b88";
+      sha256 = "0isskya7ky4k9znrh85crfc2pxwyfz2s8j1a5cbjb8b8zf2v0qbj";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/golog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/golog";
+      rev = "v0.0.9";
+      sha256 = "160hd3z93c9i33q9g1bhfdxmsqg1lanncnrqcsr2444dy5j6ly3i";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/iris";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/iris";
+      rev = "v12.0.1";
+      sha256 = "0k1jhamvf0byx6d317gzg6r2jls7bajhhf2spvdinarl2cjnakm5";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/neffos";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/neffos";
+      rev = "v0.0.10";
+      sha256 = "0mkqrxff28rcc71nw5qqsywn0fm2jz7magwp9hhvh1s01lgghjdp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/pio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/pio";
+      rev = "ea782b38602d";
+      sha256 = "0ca29wmkpx19qwnvi4fja3avkxkzz14x9wyzmg1l9074bxbj8cgj";
+    };
+  }
+  {
     goPackagePath = "github.com/kelseyhightower/envconfig";
     fetch = {
       type = "git";
@@ -271,12 +991,30 @@
     };
   }
   {
+    goPackagePath = "github.com/klauspost/compress";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/compress";
+      rev = "v1.9.0";
+      sha256 = "07vndz6mdaliwagj2xq0y5c5w2zld14p9i5y7r0bkhb7klfyamfk";
+    };
+  }
+  {
+    goPackagePath = "github.com/klauspost/cpuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/cpuid";
+      rev = "v1.2.1";
+      sha256 = "1071wchrs37bvpb99fwf19fjrpz0yaqipi2y2hjvim419flvd49x";
+    };
+  }
+  {
     goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
     fetch = {
       type = "git";
       url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "v1.0.1";
-      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
+      rev = "v1.0.3";
+      sha256 = "1yrsd4s8vhjnxhwbigirymz89dn6qfjnhn28i33vvvdgf96j6ypl";
     };
   }
   {
@@ -289,12 +1027,66 @@
     };
   }
   {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/labstack/echo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/labstack/echo";
+      rev = "v4.1.11";
+      sha256 = "0b14vgwzznn7wzyjb98xdmq4wjg16l3y62njiwfz4qsm4pwzk405";
+    };
+  }
+  {
+    goPackagePath = "github.com/labstack/gommon";
+    fetch = {
+      type = "git";
+      url = "https://github.com/labstack/gommon";
+      rev = "v0.3.0";
+      sha256 = "18z7akyzm75p6anm4b8qkqgm4iivx50z07hi5wf50w1pbsvbcdi0";
+    };
+  }
+  {
+    goPackagePath = "github.com/lib/pq";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lib/pq";
+      rev = "v1.2.0";
+      sha256 = "08j1smm6rassdssdks4yh9aspa1dv1g5nvwimmknspvhx8a7waqz";
+    };
+  }
+  {
     goPackagePath = "github.com/libgit2/git2go";
     fetch = {
       type = "git";
       url = "https://github.com/libgit2/git2go";
-      rev = "ecaeb7a21d47";
-      sha256 = "14r7ryff93r49g94f6kg66xc0y6rwb31lj22s3qmzmlgywk0pgvr";
+      rev = "v30.0.5";
+      sha256 = "13jk4r8x8rb9lar35dxvh3g7hnzclq95jbpg88y4xklmh48yy3sk";
     };
   }
   {
@@ -307,6 +1099,42 @@
     };
   }
   {
+    goPackagePath = "github.com/magiconair/properties";
+    fetch = {
+      type = "git";
+      url = "https://github.com/magiconair/properties";
+      rev = "v1.8.0";
+      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "v0.1.2";
+      sha256 = "0512jm3wmzkkn7d99x9wflyqf48n5ri3npy1fqkq6l6adc5mni3n";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.9";
+      sha256 = "0i3km37lajahh1y2392g4hpgvq05arcgiiv93yhzxxyv0fpqj72m";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "v0.0.4";
+      sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs";
+    };
+  }
+  {
     goPackagePath = "github.com/mattn/go-shellwords";
     fetch = {
       type = "git";
@@ -316,6 +1144,24 @@
     };
   }
   {
+    goPackagePath = "github.com/mattn/go-sqlite3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-sqlite3";
+      rev = "v1.12.0";
+      sha256 = "0di8zy6202sbs0p9kx8lpii77ir5jwjhg6z0796y3nfvw87wk9iv";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/goveralls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/goveralls";
+      rev = "v0.0.2";
+      sha256 = "13ffdikvc594g1mryhi94m87skr7irwkjnpxp8ad2kprn6syfslp";
+    };
+  }
+  {
     goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
     fetch = {
       type = "git";
@@ -325,6 +1171,60 @@
     };
   }
   {
+    goPackagePath = "github.com/mediocregopher/mediocre-go-lib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mediocregopher/mediocre-go-lib";
+      rev = "cb65787f37ed";
+      sha256 = "0lg6q76fxjhxv05m80k4l6nrkj9qwzafs2mb2gbvhznxh8m0cv9j";
+    };
+  }
+  {
+    goPackagePath = "github.com/mediocregopher/radix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mediocregopher/radix";
+      rev = "v3.3.0";
+      sha256 = "0pchn5z2g4wnf87350war5fr9pqpdksia1ffvw7cphg4q9blggfx";
+    };
+  }
+  {
+    goPackagePath = "github.com/microcosm-cc/bluemonday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/microcosm-cc/bluemonday";
+      rev = "v1.0.2";
+      sha256 = "0j0aylsxqjcj49w7ph8cmpaqjlpvg7mb5mrcrd9bg71dlb9z9ir2";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/cli";
+      rev = "v1.0.0";
+      sha256 = "1i9kmr7rcf10d2hji8h4247hmc0nbairv7a0q51393aw2h1bnwg2";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.1.0";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev = "v1.1.2";
+      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
+    };
+  }
+  {
     goPackagePath = "github.com/modern-go/concurrent";
     fetch = {
       type = "git";
@@ -343,6 +1243,15 @@
     };
   }
   {
+    goPackagePath = "github.com/moul/http2curl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/moul/http2curl";
+      rev = "v1.0.0";
+      sha256 = "15bpx33d3ygya8dg8hbsn24h7acpajl27006pj8lw1c0bfvbnrl0";
+    };
+  }
+  {
     goPackagePath = "github.com/mwitkow/go-conntrack";
     fetch = {
       type = "git";
@@ -352,12 +1261,48 @@
     };
   }
   {
+    goPackagePath = "github.com/nats-io/nats.go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nats-io/nats.go";
+      rev = "v1.8.1";
+      sha256 = "0h9zzpjl6ac227bhf0i4ram9a5jlibq53pawv0zzxdirxrnp1vkj";
+    };
+  }
+  {
+    goPackagePath = "github.com/nats-io/nkeys";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nats-io/nkeys";
+      rev = "v0.0.2";
+      sha256 = "0kibc1g60w031rssk3vs74gfick3jdl3igckn1v4k8b5grawcks1";
+    };
+  }
+  {
+    goPackagePath = "github.com/nats-io/nuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nats-io/nuid";
+      rev = "v1.0.1";
+      sha256 = "11zbhg4kds5idsya04bwz4plj0mmiigypzppzih731ppbk2ms1zg";
+    };
+  }
+  {
+    goPackagePath = "github.com/olekukonko/tablewriter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/olekukonko/tablewriter";
+      rev = "v0.0.2";
+      sha256 = "1f4mwdh501p8105nfxayprlj5ld14fwzyyy2wbc04xk3wrm1wzlf";
+    };
+  }
+  {
     goPackagePath = "github.com/onsi/ginkgo";
     fetch = {
       type = "git";
       url = "https://github.com/onsi/ginkgo";
-      rev = "v1.7.0";
-      sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg";
+      rev = "v1.10.3";
+      sha256 = "00a40by9f5ylycnar8h3p9b4z5rcsvfvg4j3v5s5mchdqrqjv1pc";
     };
   }
   {
@@ -365,8 +1310,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/gomega";
-      rev = "v1.4.3";
-      sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
+      rev = "v1.7.1";
+      sha256 = "06p3x0910cdaa64l7d44s728d4j3yhps315dlcvrbjzhljjj7mam";
     };
   }
   {
@@ -388,12 +1333,30 @@
     };
   }
   {
+    goPackagePath = "github.com/otiai10/curr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/otiai10/curr";
+      rev = "v1.0.0";
+      sha256 = "0fpw20adq2wff7l4c87zaavj9jra4d64a8bbjixiiv3bbarim987";
+    };
+  }
+  {
     goPackagePath = "github.com/otiai10/mint";
     fetch = {
       type = "git";
       url = "https://github.com/otiai10/mint";
-      rev = "v1.2.3";
-      sha256 = "00slgv9mw2m22ix5prz2a98ji6kpzr0ap6bqs568rfdmk6hm5f0k";
+      rev = "v1.3.0";
+      sha256 = "0kfc95jc2hfgwzcpdfa5hrxgj7s6rzx5jc0n1sn863bsngx2q1ca";
+    };
+  }
+  {
+    goPackagePath = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev = "v1.2.0";
+      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
     };
   }
   {
@@ -406,12 +1369,21 @@
     };
   }
   {
+    goPackagePath = "github.com/pingcap/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pingcap/errors";
+      rev = "v0.11.4";
+      sha256 = "02k6b30m42aya763fnwx3paq4r8h28yav4i2kv2z4r28r70xxcgn";
+    };
+  }
+  {
     goPackagePath = "github.com/pkg/errors";
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev = "v0.8.0";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+      rev = "v0.8.1";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
     };
   }
   {
@@ -424,6 +1396,15 @@
     };
   }
   {
+    goPackagePath = "github.com/posener/complete";
+    fetch = {
+      type = "git";
+      url = "https://github.com/posener/complete";
+      rev = "v1.1.1";
+      sha256 = "1nbdiybjizbaxbf5q0xwbq0cjqw4bl6jggvsjzrpif0w86fcjda2";
+    };
+  }
+  {
     goPackagePath = "github.com/prometheus/client_golang";
     fetch = {
       type = "git";
@@ -437,8 +1418,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_model";
-      rev = "fd36f4220a90";
-      sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5";
+      rev = "14fe0d1b01d4";
+      sha256 = "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550";
     };
   }
   {
@@ -455,8 +1436,71 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev = "v0.0.2";
-      sha256 = "0s7pvs7fgnfpmym3cd0k219av321h9sf3yvdlnn3qy0ps280lg7k";
+      rev = "v0.0.3";
+      sha256 = "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y";
+    };
+  }
+  {
+    goPackagePath = "github.com/rogpeppe/go-internal";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rogpeppe/go-internal";
+      rev = "v1.4.0";
+      sha256 = "17wisy8bapx5ki0gpissm8dvv7x0lmdnrl1fka75g05kpbyv6g2n";
+    };
+  }
+  {
+    goPackagePath = "github.com/rubenv/sql-migrate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rubenv/sql-migrate";
+      rev = "06338513c237";
+      sha256 = "0z7y7vsnzjswx51g9hlawnzmwnb8c7rks6ljzf6m1xbimhi4n3kz";
+    };
+  }
+  {
+    goPackagePath = "github.com/russross/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/russross/blackfriday";
+      rev = "v1.5.2";
+      sha256 = "0jzbfzcywqcrnym4gxlz6nphmm1grg6wsl4f0r9x384rn83wkj7c";
+    };
+  }
+  {
+    goPackagePath = "github.com/ryanuber/columnize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ryanuber/columnize";
+      rev = "v2.1.0";
+      sha256 = "0m9jhagb1k44zfcdai76xdf9vpi3bqdl7p078ffyibmz0z9jfap6";
+    };
+  }
+  {
+    goPackagePath = "github.com/sebest/xff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sebest/xff";
+      rev = "6c115e0ffa35";
+      sha256 = "0l11d8mc870vxzgi74cc9dqr7kgxjmbfkfi53gc30rsyx877jx4h";
+    };
+  }
+  {
+    goPackagePath = "github.com/sergi/go-diff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sergi/go-diff";
+      rev = "v1.0.0";
+      sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7";
+    };
+  }
+  {
+    goPackagePath = "github.com/shurcooL/sanitized_anchor_name";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shurcooL/sanitized_anchor_name";
+      rev = "v1.0.0";
+      sha256 = "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f";
     };
   }
   {
@@ -464,8 +1508,80 @@
     fetch = {
       type = "git";
       url = "https://github.com/sirupsen/logrus";
-      rev = "v1.2.0";
-      sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg";
+      rev = "v1.6.0";
+      sha256 = "1zf9is1yxxnna0d1pyag2m9ziy3l27zb2j92p9msm1gx5jjrvzzj";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/assertions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/assertions";
+      rev = "b2de0cb4f26d";
+      sha256 = "1i7ldgavgl35c7gk25p7bvdr282ckng090zr4ch9mk1705akx09y";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/goconvey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/goconvey";
+      rev = "v1.6.4";
+      sha256 = "07zjxwszayal88z1j2bwnqrsa32vg8l4nivks5yfr9j8xfsw7n6m";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/afero";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/afero";
+      rev = "v1.1.2";
+      sha256 = "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cast";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cast";
+      rev = "v1.3.0";
+      sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "v0.0.5";
+      sha256 = "0z4x8js65mhwg1gf6sa865pdxfgn45c3av9xlcc1l3xjvcnx32v2";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/jwalterweatherman";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/jwalterweatherman";
+      rev = "v1.0.0";
+      sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "v1.0.3";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/viper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/viper";
+      rev = "v1.3.2";
+      sha256 = "1829hvf805kda65l59r17wvid7y0vr390s23zfhf4w7vdb4wp3zh";
     };
   }
   {
@@ -482,8 +1598,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "v1.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+      rev = "v1.4.0";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
     };
   }
   {
@@ -491,8 +1607,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/tinylib/msgp";
-      rev = "v1.1.0";
-      sha256 = "08ha23sn14071ywrgxlyj7r523vzdwx1i83dcp1mqa830glgqaff";
+      rev = "v1.0.2";
+      sha256 = "0pypfknghg1hcjjrqz3f1riaylk6hcxn9h0qyzynb74rp0qmlxjc";
     };
   }
   {
@@ -523,6 +1639,141 @@
     };
   }
   {
+    goPackagePath = "github.com/ugorji/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ugorji/go";
+      rev = "v1.1.7";
+      sha256 = "068gja55kbh2iivp03x4n9dcml0rxv0k64ivkmq06si2ar1835rm";
+    };
+  }
+  {
+    goPackagePath = "github.com/urfave/negroni";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/negroni";
+      rev = "v1.0.0";
+      sha256 = "1gp6j74adi1cn8fq5v3wzlzhwl4zg43n2746m4fzdcdimihk3ccp";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/bytebufferpool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/bytebufferpool";
+      rev = "v1.0.0";
+      sha256 = "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/fasthttp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/fasthttp";
+      rev = "v1.6.0";
+      sha256 = "1r1hm4rv9w6x829jjg75y8xd523b76parsyyvjwyz8k2l6bm4h0b";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/fasttemplate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/fasttemplate";
+      rev = "v1.0.1";
+      sha256 = "0l131znbv8v67y20s4q361mwiww2c33zdc68mwvxchzk1gpy5ywq";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/tcplisten";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/tcplisten";
+      rev = "ceec8f93295a";
+      sha256 = "0ksbj1gsdqanbnhly5w1wcc107bib4w0zpnyl00prr89zch3imnf";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonpointer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonpointer";
+      rev = "4e3ac2762d5f";
+      sha256 = "13y6iq2nzf9z4ls66bfgnnamj2m3438absmbpqry64bpwjfbsi9q";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonreference";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonreference";
+      rev = "bd5ef7bd5415";
+      sha256 = "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonschema";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonschema";
+      rev = "v1.2.0";
+      sha256 = "1mqiq0r8qw4qlfp3ls8073r6514rmzwrmdn4j33rppk3zh942i6l";
+    };
+  }
+  {
+    goPackagePath = "github.com/xordataexchange/crypt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xordataexchange/crypt";
+      rev = "b2862e3d0a77";
+      sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y";
+    };
+  }
+  {
+    goPackagePath = "github.com/yalp/jsonpath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yalp/jsonpath";
+      rev = "5cc68e5049a0";
+      sha256 = "0kkyxp1cg3kfxy5hhwzxg132jin4xb492z5jpqq94ix15v6rdf4b";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/gojsondiff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/gojsondiff";
+      rev = "v1.0.0";
+      sha256 = "0qnymi0027mb8kxm24mmd22bvjrdkc56c7f4q3lbdf93x1vxbbc2";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/golcs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/golcs";
+      rev = "ecda9a501e82";
+      sha256 = "0mx6wc5fz05yhvg03vvps93bc5mw4vnng98fhmixd47385qb29pq";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/pp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/pp";
+      rev = "v2.0.1";
+      sha256 = "18vbc7jagnjw1wpvhqjffl0np7bzzqdd9jpdcisvj5h85lbyn5gk";
+    };
+  }
+  {
+    goPackagePath = "github.com/ziutek/mymysql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ziutek/mymysql";
+      rev = "v1.5.4";
+      sha256 = "172s7sv5bgc40x81k18hypf9c4n8hn9v5w5zwyr4mi5prbavqcci";
+    };
+  }
+  {
     goPackagePath = "gitlab.com/gitlab-org/gitaly";
     fetch = {
       type = "git";
@@ -536,8 +1787,17 @@
     fetch = {
       type = "git";
       url = "https://gitlab.com/gitlab-org/labkit.git";
-      rev = "0c3fc7cdd57c";
-      sha256 = "0fpn37v7dhhdgd63v4mq9cna9wdzrsfams13qmjmps3xpdw2wr9i";
+      rev = "45895e129029";
+      sha256 = "17adv1gcdg0jiy8i5lr064pm3p9ywq6s0iwh9w4q5pycp4qkmn48";
+    };
+  }
+  {
+    goPackagePath = "go.opencensus.io";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-instrumentation/opencensus-go";
+      rev = "v0.22.2";
+      sha256 = "0lz7fid63pdrcvyzk5kn7vlcva102h61igmw7pz824wvj9k3hy4q";
     };
   }
   {
@@ -554,8 +1814,26 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "20be4c3c3ed5";
-      sha256 = "1ph7y8v30hc95h1dwr7vrhg1nzs47a261qin6zg8mhf12g5k2lxb";
+      rev = "87dc89f01550";
+      sha256 = "0z4i1m2yn3f31ci7wvcm2rxkx2yiv7a78mfzklncmsz2k97rlh2g";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/exp";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/exp";
+      rev = "da58074b4299";
+      sha256 = "1pgvdbjm3n47505diw3mm2hisp9b9q2lyvgl9m6xh2wx83b0cj48";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/image";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/image";
+      rev = "cff245a6509b";
+      sha256 = "0hiznlkiaay30acwvvyq8g6bm32r7bc6gv47pygrcxqpapasbz84";
     };
   }
   {
@@ -563,8 +1841,26 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/lint";
-      rev = "d0100b6bd8b3";
-      sha256 = "0b0amr9x4ji66iv9ayfx7zrfx52k1m5g66qfcxkgj80qrb1y2yn7";
+      rev = "fdd1cda4f05f";
+      sha256 = "0a23pc90fqar8sm1b480sls15ss20rqk13yrf63b6rnyd2c6z0x2";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/mobile";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/mobile";
+      rev = "d2bd2a29d028";
+      sha256 = "1nv6vvhnjr01nx9y06q46ww87dppdwpbqrlsfg1xf2587wxl8xiv";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/mod";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/mod";
+      rev = "c90efee705ee";
+      sha256 = "0i5md645rmcy5z5ij9ng428k9rz4g3k1kjy3blsq1264rn426gdf";
     };
   }
   {
@@ -572,8 +1868,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "d28f0bde5980";
-      sha256 = "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf";
+      rev = "6afb5195e5aa";
+      sha256 = "1aiz41q2yxgg3dxfkn33ff54vhaxbiwcps9j3ia1xx4cqxim38zw";
     };
   }
   {
@@ -581,8 +1877,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/oauth2";
-      rev = "d2e6202438be";
-      sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
+      rev = "bf48bf16ab8d";
+      sha256 = "1sirdib60zwmh93kf9qrx51r8544k1p9rs5mk0797wibz3m4mrdg";
     };
   }
   {
@@ -590,8 +1886,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "112230192c58";
-      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
+      rev = "cd5d95a43a6e";
+      sha256 = "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds";
     };
   }
   {
@@ -599,8 +1895,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "953cdadca894";
-      sha256 = "0gkha4whk8xkcv3isigbs250akag99isxnd3v9xmy0kl3g88hxy1";
+      rev = "86b910548bc1";
+      sha256 = "1z8l2wp27q0bd4nc46j31lc7cr6kiw52zi6ix3i121pd3rcyrw44";
     };
   }
   {
@@ -608,8 +1904,17 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+      rev = "v0.3.3";
+      sha256 = "19pihqm3phyndmiw6i42pdv6z1rbvlqlsnhsyqf9gsnn0qnmqqlh";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/time";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/time";
+      rev = "9d24e82272b4";
+      sha256 = "1f5nkr4vys2vbd8wrwyiq2f5wcaahhpxmia85d1gshcbqjqf8dkb";
     };
   }
   {
@@ -617,8 +1922,26 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/tools";
-      rev = "2c0ae7006135";
-      sha256 = "1lsi2ssxajclj3bciz2a41v1vjv768ja3v6wnbyhxy8xphwkp4fk";
+      rev = "43d50277825c";
+      sha256 = "1168q4da36wq9w2591iqzsfy5ymwfi2g46bv5dnyyspg155ld19k";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/xerrors";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/xerrors";
+      rev = "9bdfabe68543";
+      sha256 = "1yjfi1bk9xb81lqn85nnm13zz725wazvrx3b50hx19qmwg7a4b0c";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/google-api-go-client";
+      rev = "v0.15.0";
+      sha256 = "1ljhwv5xsgsbqia70f35q19vwrsm47sh08ljbwdyfa867ff17qdh";
     };
   }
   {
@@ -626,8 +1949,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/appengine";
-      rev = "v1.1.0";
-      sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
+      rev = "v1.6.5";
+      sha256 = "05hbq4cs7bqw0zl17bx8rzdkszid3nyl92100scg3jjrg70dhm7w";
     };
   }
   {
@@ -635,8 +1958,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/googleapis/go-genproto";
-      rev = "bd91e49a0898";
-      sha256 = "1f5q04h03q6fksbfkhz13ai5849rkkb8xrmmi7cxs4lzsi6ixkg8";
+      rev = "ca5a22157cba";
+      sha256 = "0ldkh6f0g0wzfkp09ib15a62bmcbpsxj93saikqmc86242bcxij0";
     };
   }
   {
@@ -671,8 +1994,17 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/check.v1";
-      rev = "20d25e280405";
-      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/errgo.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/errgo.v2";
+      rev = "v2.1.0";
+      sha256 = "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2";
     };
   }
   {
@@ -685,6 +2017,42 @@
     };
   }
   {
+    goPackagePath = "gopkg.in/go-playground/assert.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/go-playground/assert.v1";
+      rev = "v1.2.1";
+      sha256 = "1h4amgykpa0djwi619llr3g55p75ia0mi184h9s5zdl8l4rhn9pm";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/go-playground/validator.v8";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/go-playground/validator.v8";
+      rev = "v8.18.2";
+      sha256 = "1m2i48ph5a3kw9nlw2srx8i04v7chicds2hlzlrfm15045crga55";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/gorp.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/gorp.v1";
+      rev = "v1.7.2";
+      sha256 = "0zwkq4cv71vp7cmpfcs54908g1amr0cdxv1b8h1icf64jjawb1lb";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/mgo.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/mgo.v2";
+      rev = "9856a29383ce";
+      sha256 = "1gfbcmvpwwf1lydxj3g42wv2g9w3pf0y02igqk4f4f21h02sazkw";
+    };
+  }
+  {
     goPackagePath = "gopkg.in/tomb.v1";
     fetch = {
       type = "git";
@@ -698,8 +2066,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.2";
-      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+      rev = "v2.2.8";
+      sha256 = "1inf7svydzscwv9fcjd2rm61a4xjk6jkswknybmns2n58shimapw";
     };
   }
   {
@@ -707,8 +2075,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/dominikh/go-tools";
-      rev = "ea95bdfd59fc";
-      sha256 = "1763nw7pwpzkvzfnm63dgzcgbq9hwmq5l1nffchnhh77vgkaq4ic";
+      rev = "v0.0.1-2019.2.3";
+      sha256 = "1rwwahmbs4dwxncwjj56likir1kps9937vm2id3rygxzzla40zal";
+    };
+  }
+  {
+    goPackagePath = "rsc.io/binaryregexp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rsc/binaryregexp";
+      rev = "v0.2.0";
+      sha256 = "1kar0myy85waw418zslviwx8846zj0m9cmqkxjx0fvgjdi70nc4b";
     };
   }
 ]
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
index ee00070df2d71..888994adc9271 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
@@ -1,5 +1,5 @@
 diff --git a/internal/config/config.go b/internal/config/config.go
-index 2231851..c869930 100644
+index 79c2a36..12ba31e 100644
 --- a/internal/config/config.go
 +++ b/internal/config/config.go
 @@ -3,7 +3,6 @@ package config
@@ -10,7 +10,7 @@ index 2231851..c869930 100644
  	"path"
  	"path/filepath"
  
-@@ -38,16 +37,13 @@ type Config struct {
+@@ -59,16 +58,13 @@ func (c *Config) GetHttpClient() *client.HttpClient {
  }
  
  func New() (*Config, error) {
@@ -30,14 +30,14 @@ index 2231851..c869930 100644
  
  func newFromFile(filename string) (*Config, error) {
 diff --git a/internal/keyline/key_line.go b/internal/keyline/key_line.go
-index c29a320..c44b701 100644
+index c6f2422..fb0426b 100644
 --- a/internal/keyline/key_line.go
 +++ b/internal/keyline/key_line.go
-@@ -36,7 +36,7 @@ func NewPrincipalKeyLine(keyId string, principal string, rootDir string) (*KeyLi
+@@ -37,7 +37,7 @@ func NewPrincipalKeyLine(keyId, principal string, config *config.Config) (*KeyLi
  }
  
  func (k *KeyLine) ToString() string {
--	command := fmt.Sprintf("%s %s-%s", path.Join(k.RootDir, executable.BinDir, executable.GitlabShell), k.Prefix, k.Id)
+-	command := fmt.Sprintf("%s %s-%s", path.Join(k.Config.RootDir, executable.BinDir, executable.GitlabShell), k.Prefix, k.Id)
 +	command := fmt.Sprintf("%s %s-%s", path.Join("/run/current-system/sw/bin", executable.GitlabShell), k.Prefix, k.Id)
  
  	return fmt.Sprintf(`command="%s",%s %s`, command, SshOptions, k.Value)
@@ -55,3 +55,6 @@ index 52ac5ee..d96baa3 100644
    end
  
    def auth_file
+-- 
+2.28.0
+
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 6386a9cc5aa76..0ec96a8f9eaf4 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
   pname = "gitlab-workhorse";
 
-  version = "8.31.2";
+  version = "8.54.0";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "0wvhhjfb490mjdrmc9xwr3qfh3941xn3b02c757ghrvzwv329wvg";
+    sha256 = "0fz00sl9q4d3vbslh7y9nsnhjshgfg0x7mv7b7a9sc3mxmabp7gz";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitlab-workhorse";
@@ -17,16 +17,6 @@ buildGoPackage rec {
   buildInputs = [ git ];
   buildFlagsArray = "-ldflags=-X main.Version=${version}";
 
-  # gitlab-workhorse depends on an older version of labkit which
-  # contains old, vendored versions of some packages; gitlab-workhorse
-  # also explicitly depends on newer versions of these libraries,
-  # but buildGoPackage exposes the vendored versions instead,
-  # leading to compilation errors. Since the vendored libraries
-  # aren't used here anyway, we'll just remove them.
-  postConfigure = ''
-    rm -r "$NIX_BUILD_TOP/go/src/gitlab.com/gitlab-org/labkit/vendor"
-  '';
-
   meta = with stdenv.lib; {
     homepage = "http://www.gitlab.com/";
     platforms = platforms.linux;
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/deps.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/deps.nix
index 530eb073c7b5d..987970917d53b 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/deps.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/deps.nix
@@ -1,12 +1,66 @@
 # file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
 [
   {
+    goPackagePath = "bazil.org/fuse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bazil/fuse";
+      rev = "65cc252bf669";
+      sha256 = "0qjm9yrhc5h632wwhklqzhalid4lxcm9iwsqs3jahp303rm27vpk";
+    };
+  }
+  {
+    goPackagePath = "bou.ke/monkey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bouk/monkey";
+      rev = "v1.0.1";
+      sha256 = "050y07pwx5zk7fchp0lhf35w417sml7lxkkzly8f932fy25rydz5";
+    };
+  }
+  {
     goPackagePath = "cloud.google.com/go";
     fetch = {
       type = "git";
-      url = "https://code.googlesource.com/gocloud";
-      rev = "v0.50.0";
-      sha256 = "0pbz5migljd5whxh6z1w79cwx93n85mcs3x1bckl27yzaa4lvqsl";
+      url = "https://github.com/googleapis/google-cloud-go";
+      rev = "v0.58.0";
+      sha256 = "1mcnnvx55yqcj02y4f1hl10ril06q4y9pcsbkb27wgrwimi6fl2n";
+    };
+  }
+  {
+    goPackagePath = "contrib.go.opencensus.io/exporter/aws";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-ecosystem/opencensus-go-exporter-aws";
+      rev = "2befc13012d0";
+      sha256 = "0adnzms874ddcp67mgsgaw43r3fih4pzjn8n424bbi8fhwajsi29";
+    };
+  }
+  {
+    goPackagePath = "contrib.go.opencensus.io/exporter/stackdriver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-ecosystem/opencensus-go-exporter-stackdriver";
+      rev = "v0.12.1";
+      sha256 = "0y0v3v97qg5yl83vq4kjzgaidnp8iraw1d7llnm9i7s5lkmydiwb";
+    };
+  }
+  {
+    goPackagePath = "contrib.go.opencensus.io/integrations/ocsql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/opencensus-integrations/ocsql";
+      rev = "v0.1.4";
+      sha256 = "06w9vm8dq0gg0v7slnv3zij90i8i9qiz2fbg148jih6jdpyakqrq";
+    };
+  }
+  {
+    goPackagePath = "contrib.go.opencensus.io/resource";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-ecosystem/opencensus-go-resource";
+      rev = "v0.1.1";
+      sha256 = "1g9vjrh7w8f2k2kxjcwmmcza2dfp61wmsgaipfk6992hyyccl3sh";
     };
   }
   {
@@ -19,6 +73,69 @@
     };
   }
   {
+    goPackagePath = "github.com/AndreasBriese/bbloom";
+    fetch = {
+      type = "git";
+      url = "https://github.com/AndreasBriese/bbloom";
+      rev = "e2d15f34fcf9";
+      sha256 = "05kkrsmpragy69bj6s80pxlm3pbwxrkkx7wgk0xigs6y2n6ylpds";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/azure-amqp-common-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/azure-amqp-common-go";
+      rev = "v3.0.0";
+      sha256 = "0sxghycqkxaygwi6f85w9pqijm5ms2dk4qkz4d711dmi3b74512j";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/azure-pipeline-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/azure-pipeline-go";
+      rev = "v0.2.2";
+      sha256 = "1agn2nzmm1dkwggm4w7h4bnrav4n5jrl0vqbqy2s49vqlr8zirn6";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/azure-sdk-for-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/azure-sdk-for-go";
+      rev = "v37.1.0";
+      sha256 = "163ryyfg5x227013vyjnjsvww8pvi4kfc80x419d31mx88cs24ic";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/azure-service-bus-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/azure-service-bus-go";
+      rev = "v0.10.1";
+      sha256 = "11d1b5wbv23qzp54qhmkhdwwmrmbfqnc2ddxsg9hg2m258id8hl5";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/azure-storage-blob-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/azure-storage-blob-go";
+      rev = "v0.10.0";
+      sha256 = "1w64h4h1w4nclr115i1haigzy0b8z9dbdjfi8zsf5viqqzhlwqgm";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/go-amqp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/go-amqp";
+      rev = "v0.12.7";
+      sha256 = "0gy3kxn5lqpliwfa2ys367hgbsa2n88bsiy04i44ba3aass7m6h4";
+    };
+  }
+  {
     goPackagePath = "github.com/BurntSushi/toml";
     fetch = {
       type = "git";
@@ -37,6 +154,15 @@
     };
   }
   {
+    goPackagePath = "github.com/CloudyKit/fastprinter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/CloudyKit/fastprinter";
+      rev = "74b38d55f37a";
+      sha256 = "07wkq3503j7sd5knsgp3lwzfdwm6sj7a3l6i71i52yb3fd8md235";
+    };
+  }
+  {
     goPackagePath = "github.com/FZambia/sentinel";
     fetch = {
       type = "git";
@@ -46,12 +172,21 @@
     };
   }
   {
+    goPackagePath = "github.com/GoogleCloudPlatform/cloudsql-proxy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/GoogleCloudPlatform/cloudsql-proxy";
+      rev = "e802c2cb94ae";
+      sha256 = "035z6yk7i53ba91pp0hl20ks1syjaw5f5mdx5c0kbib7k4xcgv96";
+    };
+  }
+  {
     goPackagePath = "github.com/Joker/hpp";
     fetch = {
       type = "git";
       url = "https://github.com/Joker/hpp";
-      rev = "6893e659854a";
-      sha256 = "0lsx63c28rzqigv3lwzznqacpk7nr0dn6ig37v023x8lzc728ix5";
+      rev = "v1.0.0";
+      sha256 = "1xnqkjkmqdj48w80qa74rwcmgar8dcilpkcrcn1f53djk45k1gq2";
     };
   }
   {
@@ -59,8 +194,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/Joker/jade";
-      rev = "v1.0.0";
-      sha256 = "0k9b8dcwwhajw6rzjmakqwmhw9z192pzzdhppcvam6dy63yl4zjf";
+      rev = "d475f43051e7";
+      sha256 = "0yigzvxp5qd05pai0yimzkpl2m23358a2fqqs585psrdmwsic2pn";
     };
   }
   {
@@ -82,6 +217,51 @@
     };
   }
   {
+    goPackagePath = "github.com/alecthomas/assert";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/assert";
+      rev = "405dbfeb8e38";
+      sha256 = "1l567pi17k593nrd1qlbmiq8z9jy3qs60px2a16fdpzjsizwqx8l";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/chroma";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/chroma";
+      rev = "v0.7.3";
+      sha256 = "0wlw1bq7gdyxjm2j5vqbkn42ma28irc5wygkz9bj5z6idah4wl8k";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/colour";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/colour";
+      rev = "60882d9e2721";
+      sha256 = "0iq566534gbzkd16ixg7fk298wd766821vvs80838yifx9yml5vs";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/kong";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/kong";
+      rev = "v0.2.4";
+      sha256 = "0lv8xk71p5729igwmp6slhmf9x1g5z3zmkfx1mg1y2spn2ck4q7l";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/repr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/repr";
+      rev = "117648cd9897";
+      sha256 = "05v1rgzdqc8razf702laagrvhvx68xd9yxxmzd3dyz0d6425pdrp";
+    };
+  }
+  {
     goPackagePath = "github.com/alecthomas/template";
     fetch = {
       type = "git";
@@ -100,12 +280,30 @@
     };
   }
   {
-    goPackagePath = "github.com/aymerick/raymond";
+    goPackagePath = "github.com/armon/consul-api";
     fetch = {
       type = "git";
-      url = "https://github.com/aymerick/raymond";
-      rev = "v2.0.2";
-      sha256 = "1w6am4142k8lyjnwwcgx94c2d8zviflzi0a9c81gn2j0gyx475i3";
+      url = "https://github.com/armon/consul-api";
+      rev = "eb2c6b5be1b6";
+      sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/go-radix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/go-radix";
+      rev = "7fddfc383310";
+      sha256 = "0y8chspn14n9xpsfb9gxnnf819rfpriaz64v81p7873a42kkhxb4";
+    };
+  }
+  {
+    goPackagePath = "github.com/aws/aws-sdk-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aws/aws-sdk-go";
+      rev = "v1.31.13";
+      sha256 = "170yaj7ffrkw56z9kmng06wwnyblqj16zm9x39q76fi4pdnn5rqc";
     };
   }
   {
@@ -113,8 +311,35 @@
     fetch = {
       type = "git";
       url = "https://github.com/beorn7/perks";
-      rev = "v1.0.0";
-      sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x";
+      rev = "v1.0.1";
+      sha256 = "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7";
+    };
+  }
+  {
+    goPackagePath = "github.com/bgentry/speakeasy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bgentry/speakeasy";
+      rev = "v0.1.0";
+      sha256 = "02dfrj0wyphd3db9zn2mixqxwiz1ivnyc5xc7gkz58l5l27nzp8s";
+    };
+  }
+  {
+    goPackagePath = "github.com/boltdb/bolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/boltdb/bolt";
+      rev = "v1.3.1";
+      sha256 = "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r";
+    };
+  }
+  {
+    goPackagePath = "github.com/census-instrumentation/opencensus-proto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-instrumentation/opencensus-proto";
+      rev = "v0.2.1";
+      sha256 = "19fcx3sc99i5dsklny6r073z5j20vlwn2xqm6di1q3b1xwchzqfj";
     };
   }
   {
@@ -122,8 +347,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/certifi/gocertifi";
-      rev = "ee1a9a0726d2";
-      sha256 = "08l6lqaw83pva6fa0aafmhmy1mhb145av21772zfh3ij809a37i4";
+      rev = "2c3bb06c6054";
+      sha256 = "00g5jy613nkm96k6ylbcwdwpdhm84mvw2gqr3gmj5mhwmsc8x97p";
     };
   }
   {
@@ -176,8 +401,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/cloudflare/tableflip";
-      rev = "8392f1641731";
-      sha256 = "0by5hk8s0bhhl3kiw658p5g53zvc61k4q2wxnh1w64p5ghd1rfn8";
+      rev = "4baec9811f2b";
+      sha256 = "095xb5gfz7dglljp91nh68dnscddvlf7q5ivvz972fq86r3ypq6q";
+    };
+  }
+  {
+    goPackagePath = "github.com/cncf/udpa";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cncf/udpa";
+      rev = "269d4d468f6f";
+      sha256 = "0i1jiaw2k3hlwwmg4hap81vb4s1p25xp9kdfww37v0fbgjariccs";
     };
   }
   {
@@ -199,6 +433,51 @@
     };
   }
   {
+    goPackagePath = "github.com/coreos/etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/etcd";
+      rev = "v3.3.10";
+      sha256 = "1x2ii1hj8jraba8rbxz6dmc03y3sjxdnzipdvg6fywnlq1f3l3wl";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-etcd";
+      rev = "v2.0.0";
+      sha256 = "1xb34hzaa1lkbq5vkzy9vcz6gqwj7hp6cdbvyack2bf28dwn33jj";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-semver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-semver";
+      rev = "v0.2.0";
+      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
+    };
+  }
+  {
+    goPackagePath = "github.com/cpuguy83/go-md2man";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cpuguy83/go-md2man";
+      rev = "v1.0.10";
+      sha256 = "1bqkf2bvy1dns9zd24k81mh2p1zxsx2nhq5cj8dz2vgkv1xkh60i";
+    };
+  }
+  {
+    goPackagePath = "github.com/danwakefield/fnmatch";
+    fetch = {
+      type = "git";
+      url = "https://github.com/danwakefield/fnmatch";
+      rev = "cbb64ac3d964";
+      sha256 = "0cbf511ppsa6hf59mdl7nbyn2b2n71y0bpkzbmfkdqjhanqh1lqz";
+    };
+  }
+  {
     goPackagePath = "github.com/davecgh/go-spew";
     fetch = {
       type = "git";
@@ -208,6 +487,33 @@
     };
   }
   {
+    goPackagePath = "github.com/denisenkom/go-mssqldb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/denisenkom/go-mssqldb";
+      rev = "cfbb681360f0";
+      sha256 = "0mr4y9vppiyl7mvad74k3zk4sc1jdkmc0lcd6lhm70iziw2xpncs";
+    };
+  }
+  {
+    goPackagePath = "github.com/devigned/tab";
+    fetch = {
+      type = "git";
+      url = "https://github.com/devigned/tab";
+      rev = "v0.1.1";
+      sha256 = "17r98k3bcyjkq5mz2k9i2sxbzgkq05h5pqg5mn7nyrvsf09x99g5";
+    };
+  }
+  {
+    goPackagePath = "github.com/dgraph-io/badger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgraph-io/badger";
+      rev = "v1.6.0";
+      sha256 = "1vzibjqhb10q6s2chbzlwndij2d9ybjnq7h28hx4akr119avd0d5";
+    };
+  }
+  {
     goPackagePath = "github.com/dgrijalva/jwt-go";
     fetch = {
       type = "git";
@@ -217,6 +523,51 @@
     };
   }
   {
+    goPackagePath = "github.com/dgryski/go-farm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgryski/go-farm";
+      rev = "6a90982ecee2";
+      sha256 = "1x3l4jgps0v1bjvd446kj4dp0ckswjckxgrng9afm275ixnf83ix";
+    };
+  }
+  {
+    goPackagePath = "github.com/dimchansky/utfbom";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dimchansky/utfbom";
+      rev = "v1.1.0";
+      sha256 = "06s61wwd32fad1p8qn5blqjd5791avzb13fnqflkkg993adw49ww";
+    };
+  }
+  {
+    goPackagePath = "github.com/disintegration/imaging";
+    fetch = {
+      type = "git";
+      url = "https://github.com/disintegration/imaging";
+      rev = "v1.6.2";
+      sha256 = "1sl201nmk601h0aii4234sycn4v2b0rjxf8yhrnik4yjzd68q9x5";
+    };
+  }
+  {
+    goPackagePath = "github.com/dlclark/regexp2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dlclark/regexp2";
+      rev = "v1.2.0";
+      sha256 = "011l1prsywvhhi0yc7qmpsca1cwavmawyyld5kjzi0ff9ghvj4ng";
+    };
+  }
+  {
+    goPackagePath = "github.com/dustin/go-humanize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dustin/go-humanize";
+      rev = "v1.0.0";
+      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
+    };
+  }
+  {
     goPackagePath = "github.com/eknkc/amber";
     fetch = {
       type = "git";
@@ -226,6 +577,51 @@
     };
   }
   {
+    goPackagePath = "github.com/envoyproxy/go-control-plane";
+    fetch = {
+      type = "git";
+      url = "https://github.com/envoyproxy/go-control-plane";
+      rev = "v0.9.4";
+      sha256 = "0m0crzx70lp7vz13v20wxb1fcfdnzp7h3mkh3bn6a8mbfz6w5asj";
+    };
+  }
+  {
+    goPackagePath = "github.com/envoyproxy/protoc-gen-validate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/envoyproxy/protoc-gen-validate";
+      rev = "v0.1.0";
+      sha256 = "0kxd3wwh3xwqk0r684hsy281xq4y71cd11d4q2hspcjbnlbwh7cy";
+    };
+  }
+  {
+    goPackagePath = "github.com/etcd-io/bbolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/etcd-io/bbolt";
+      rev = "v1.3.3";
+      sha256 = "0dn0zngks9xiz0rrrb3911f73ghl64z84jsmzai2yfmzqr7cdkqc";
+    };
+  }
+  {
+    goPackagePath = "github.com/fasthttp-contrib/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fasthttp-contrib/websocket";
+      rev = "1f3b11f56072";
+      sha256 = "1yacmwmil625p0pzj800h9dnmiab6bjwfmi48p9fcrvy2yyv9b97";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "v1.7.0";
+      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
+    };
+  }
+  {
     goPackagePath = "github.com/fatih/structs";
     fetch = {
       type = "git";
@@ -244,6 +640,15 @@
     };
   }
   {
+    goPackagePath = "github.com/fortytw2/leaktest";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fortytw2/leaktest";
+      rev = "v1.3.0";
+      sha256 = "0487zghyxqzk6zdbhd2j074pcc2l15l4sfg5clrjqwfbql7519wx";
+    };
+  }
+  {
     goPackagePath = "github.com/fsnotify/fsnotify";
     fetch = {
       type = "git";
@@ -253,12 +658,12 @@
     };
   }
   {
-    goPackagePath = "github.com/gavv/monotime";
+    goPackagePath = "github.com/gavv/httpexpect";
     fetch = {
       type = "git";
-      url = "https://github.com/gavv/monotime";
-      rev = "30dba4353424";
-      sha256 = "0w67yyc9y11dp7lp4b712dkcgbiln1qmgfx1nbbrw3mfkzr61d7g";
+      url = "https://github.com/gavv/httpexpect";
+      rev = "v2.0.0";
+      sha256 = "0dqb7lsinciz594q6jg59hrvk4g4awbs2ybsr580j22j2xag53vs";
     };
   }
   {
@@ -266,8 +671,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/getsentry/raven-go";
-      rev = "v0.1.2";
-      sha256 = "1dl80kar4lzdcfl3w6jssi1ld6bv0rmx6sp6bz6rzysfr9ilm02z";
+      rev = "v0.2.0";
+      sha256 = "0imfwmsb72168fqandf2lxhzhngf2flxhzaar8hcnnfjv2a291lf";
     };
   }
   {
@@ -275,8 +680,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/getsentry/sentry-go";
-      rev = "v0.3.0";
-      sha256 = "1919lhvg1swcqyfa6mck6nz53c7n4df21jsz46f7x4wncb6f5il1";
+      rev = "v0.5.1";
+      sha256 = "1kfn0gcb4c6amhagv04ydpl6p9cqw7f0lxas688a0rf89iwdzz89";
     };
   }
   {
@@ -320,8 +725,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-gl/glfw";
-      rev = "12ad95a8df72";
-      sha256 = "0ahw4a1lk7wqn6m0sjngsv2zc08kxxj259ai6g4kf11lmidszm9s";
+      rev = "e6da0acd62b1";
+      sha256 = "0prvx5r7q8yrhqvnwibv4xz3dayjbq36yajzqvh0z4lqsh4hyhch";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-ini/ini";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-ini/ini";
+      rev = "v1.25.4";
+      sha256 = "0b6cql5ripbiyrm18d6bfd1rfjnwcbskppw3d0vb80l0wy72d0c6";
     };
   }
   {
@@ -352,6 +766,15 @@
     };
   }
   {
+    goPackagePath = "github.com/go-sql-driver/mysql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-sql-driver/mysql";
+      rev = "v1.5.0";
+      sha256 = "11x0m9yf3kdnf6981182r824psgxwfaqhn3x3in4yiidp0w0hk3v";
+    };
+  }
+  {
     goPackagePath = "github.com/go-stack/stack";
     fetch = {
       type = "git";
@@ -361,6 +784,69 @@
     };
   }
   {
+    goPackagePath = "github.com/gobuffalo/envy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobuffalo/envy";
+      rev = "v1.7.1";
+      sha256 = "1s1f05cgpkhgcs2qfh04ixxm1ggk8ms3fpwsxhb0mx7nfrcm106d";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobuffalo/logger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobuffalo/logger";
+      rev = "v1.0.1";
+      sha256 = "1w6rkz0xwq3xj3giwzjkfnai69a0cgg09zx01z7s8r5z450cish3";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobuffalo/packd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobuffalo/packd";
+      rev = "v0.3.0";
+      sha256 = "02sg33jkp219g0z3yf2fn9xm2zds1qxzdznx5mh8vffh4njjg1x8";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobuffalo/packr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobuffalo/packr";
+      rev = "v2.7.1";
+      sha256 = "0m5kl2fq8gf1v4vllgag2xl8fd382sdgqrcdb8f5alsnrdn08kb9";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobwas/httphead";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/httphead";
+      rev = "2c6c146eadee";
+      sha256 = "0j7nlrf79cafl8ap69ri2c7v3psr2y133cr2wn735z7yn3dz3kss";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobwas/pool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/pool";
+      rev = "v0.2.0";
+      sha256 = "1avpa8c75j1y4hs7awazrjjy7w0pjfw80l424ddn5zyizvh7s67i";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobwas/ws";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/ws";
+      rev = "v1.0.2";
+      sha256 = "070mfcjbfb40bglc9aw9zjvd4jb1hp3l1s12ww6mjlwbjcg0mm9s";
+    };
+  }
+  {
     goPackagePath = "github.com/gogo/protobuf";
     fetch = {
       type = "git";
@@ -370,6 +856,15 @@
     };
   }
   {
+    goPackagePath = "github.com/golang-sql/civil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang-sql/civil";
+      rev = "cb61b32ac6fe";
+      sha256 = "0yadfbvi0w06lg3sxw0daji02jxd3vv2in26yfmwpl4vd4vm9zay";
+    };
+  }
+  {
     goPackagePath = "github.com/golang/gddo";
     fetch = {
       type = "git";
@@ -392,17 +887,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/groupcache";
-      rev = "215e87163ea7";
-      sha256 = "07555csk49ara636bhl2vbzziayls3qks8964z0q29g065zliy9j";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/lint";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/lint";
-      rev = "06c8688daad7";
-      sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
+      rev = "8c9f03a8e57e";
+      sha256 = "0vjjr79r32icjzlb05wn02k59av7jx0rn1jijml8r4whlg7dnkfh";
     };
   }
   {
@@ -410,8 +896,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/mock";
-      rev = "v1.3.1";
-      sha256 = "1wnfa8njxdym1qb664dmfnkpm4pmqy22hqjlqpwaaiqhglb5g9d1";
+      rev = "v1.4.3";
+      sha256 = "1p37xnja1dgq5ykx24n7wincwz2gahjh71b95p8vpw7ss2g8j8wx";
     };
   }
   {
@@ -419,8 +905,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "v1.3.2";
-      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+      rev = "v1.4.2";
+      sha256 = "0m5z81im4nsyfgarjhppayk4hqnrwswr3nix9mj8pff8x9jvcjqw";
     };
   }
   {
@@ -446,8 +932,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/google/go-cmp";
-      rev = "v0.4.0";
-      sha256 = "1x5pvl3fb5sbyng7i34431xycnhmx8xx94gq2n19g6p0vz68z2v2";
+      rev = "v0.4.1";
+      sha256 = "0l1mi8lw1nlq39hqx52v9lz0369ajfi948521cxwrcb4qwm275p6";
     };
   }
   {
@@ -460,21 +946,12 @@
     };
   }
   {
-    goPackagePath = "github.com/google/martian";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/martian";
-      rev = "v2.1.0";
-      sha256 = "197hil6vrjk50b9wvwyzf61csid83whsjj6ik8mc9r2lryxlyyrp";
-    };
-  }
-  {
     goPackagePath = "github.com/google/pprof";
     fetch = {
       type = "git";
       url = "https://github.com/google/pprof";
-      rev = "d4f498aebedc";
-      sha256 = "1r4pn70yy5vfl38jx9v8224n7jkhcm5wg28vv48izgznlgv7h024";
+      rev = "427632fa3b1c";
+      sha256 = "065r8435mr8zzdiifkixzc948c4ivx0hhqjsppy71zcxmm9jhxgx";
     };
   }
   {
@@ -487,6 +964,15 @@
     };
   }
   {
+    goPackagePath = "github.com/google/subcommands";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/subcommands";
+      rev = "v1.0.1";
+      sha256 = "0rw5wwjfi0pd1kfbh09mfmyjy6h22ip7cawp0dj7v6rq4cy98ymz";
+    };
+  }
+  {
     goPackagePath = "github.com/google/uuid";
     fetch = {
       type = "git";
@@ -496,6 +982,15 @@
     };
   }
   {
+    goPackagePath = "github.com/google/wire";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/wire";
+      rev = "v0.4.0";
+      sha256 = "1z3nrccxsrhphpb6yrmc1hn4njy8qbayg3w6m9zsbi77yaiigxni";
+    };
+  }
+  {
     goPackagePath = "github.com/googleapis/gax-go";
     fetch = {
       type = "git";
@@ -514,15 +1009,6 @@
     };
   }
   {
-    goPackagePath = "github.com/gorilla/schema";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/schema";
-      rev = "v1.1.0";
-      sha256 = "14d31i3h6bg83r7ncmwm2pirab66z9hza38in18l89pbazxyh2n9";
-    };
-  }
-  {
     goPackagePath = "github.com/gorilla/websocket";
     fetch = {
       type = "git";
@@ -550,6 +1036,33 @@
     };
   }
   {
+    goPackagePath = "github.com/hashicorp/errwrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/errwrap";
+      rev = "v1.0.0";
+      sha256 = "0slfb6w3b61xz04r32bi0a1bygc82rjzhqkxj2si2074wynqnr1c";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-multierror";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-multierror";
+      rev = "v1.0.0";
+      sha256 = "00nyn8llqzbfm8aflr9kwsvpzi4kv8v45c141v88xskxp5xf6z49";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-version";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-version";
+      rev = "v1.2.0";
+      sha256 = "1bwi6y6111xq8ww8kjq0w1cmz15l1h9hb2id6596l8l0ag1vjj1z";
+    };
+  }
+  {
     goPackagePath = "github.com/hashicorp/golang-lru";
     fetch = {
       type = "git";
@@ -559,6 +1072,15 @@
     };
   }
   {
+    goPackagePath = "github.com/hashicorp/hcl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/hcl";
+      rev = "v1.0.0";
+      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
+    };
+  }
+  {
     goPackagePath = "github.com/hpcloud/tail";
     fetch = {
       type = "git";
@@ -586,21 +1108,21 @@
     };
   }
   {
-    goPackagePath = "github.com/iris-contrib/blackfriday";
+    goPackagePath = "github.com/inconshreveable/mousetrap";
     fetch = {
       type = "git";
-      url = "https://github.com/iris-contrib/blackfriday";
-      rev = "v2.0.0";
-      sha256 = "1gkizavajqmxm79il8r6cbi0g9ls3vwdh9wr0zy89vc9sq17p3im";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev = "v1.0.0";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
     };
   }
   {
-    goPackagePath = "github.com/iris-contrib/formBinder";
+    goPackagePath = "github.com/iris-contrib/blackfriday";
     fetch = {
       type = "git";
-      url = "https://github.com/iris-contrib/formBinder";
-      rev = "v5.0.0";
-      sha256 = "0mqk6j7a9d3y28ad4ylqc7z5w4hmn1ws5wwnyll918xn1wkzr5rg";
+      url = "https://github.com/iris-contrib/blackfriday";
+      rev = "v2.0.0";
+      sha256 = "1gkizavajqmxm79il8r6cbi0g9ls3vwdh9wr0zy89vc9sq17p3im";
     };
   }
   {
@@ -613,21 +1135,48 @@
     };
   }
   {
-    goPackagePath = "github.com/iris-contrib/httpexpect";
+    goPackagePath = "github.com/iris-contrib/i18n";
     fetch = {
       type = "git";
-      url = "https://github.com/iris-contrib/httpexpect";
-      rev = "ebe99fcebbce";
-      sha256 = "126c50c6r5l2gdn60jirpb54pqwswxag3wgrv6wcn998h9w9gv8c";
+      url = "https://github.com/iris-contrib/i18n";
+      rev = "987a633949d0";
+      sha256 = "0yslm7hmacc57v970jbys4x5c5yxgcjgff982ngivg9v1a16kifq";
     };
   }
   {
-    goPackagePath = "github.com/jfbus/httprs";
+    goPackagePath = "github.com/iris-contrib/schema";
     fetch = {
       type = "git";
-      url = "https://github.com/jfbus/httprs";
-      rev = "b0af8319bb15";
-      sha256 = "05cg9a27i9g92n3bivqrrqznccl5lfadlk97sp9izmd368dl5qvc";
+      url = "https://github.com/iris-contrib/schema";
+      rev = "v0.0.1";
+      sha256 = "1a1lk2ll2xv3ljffmfw4q8mqqw727pj8dzs6c8g2hh0b0b050g79";
+    };
+  }
+  {
+    goPackagePath = "github.com/jmespath/go-jmespath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jmespath/go-jmespath";
+      rev = "v0.3.0";
+      sha256 = "12qgp7yb7yfjxhd311kb820fcjmg7gd4hp2fc4v6x8s7121pwnjp";
+    };
+  }
+  {
+    goPackagePath = "github.com/johannesboyne/gofakes3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/johannesboyne/gofakes3";
+      rev = "02d71f533bec";
+      sha256 = "0igx9andbkrmwspjbq9sa8pady2hpyvvjj4hfmghnry02kq23fwn";
+    };
+  }
+  {
+    goPackagePath = "github.com/joho/godotenv";
+    fetch = {
+      type = "git";
+      url = "https://github.com/joho/godotenv";
+      rev = "v1.3.0";
+      sha256 = "0ri8if0pc3x6jg4c3i8wr58xyfpxkwmcjk3rp8gb398a1aa3gpjm";
     };
   }
   {
@@ -716,8 +1265,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kataras/golog";
-      rev = "99c81de45f40";
-      sha256 = "1dgrsvhzymgj7da54ldv8plkxk3n8zh3kc995qxl6mrpz65j801p";
+      rev = "v0.0.9";
+      sha256 = "160hd3z93c9i33q9g1bhfdxmsqg1lanncnrqcsr2444dy5j6ly3i";
     };
   }
   {
@@ -725,8 +1274,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/kataras/iris";
-      rev = "v11.1.1";
-      sha256 = "1rxpr5hdj9mji26mlfp4zic0pc6nh93akzccw24a5kynj07g68wg";
+      rev = "v12.0.1";
+      sha256 = "0k1jhamvf0byx6d317gzg6r2jls7bajhhf2spvdinarl2cjnakm5";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/neffos";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/neffos";
+      rev = "v0.0.10";
+      sha256 = "0mkqrxff28rcc71nw5qqsywn0fm2jz7magwp9hhvh1s01lgghjdp";
     };
   }
   {
@@ -761,8 +1319,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/klauspost/compress";
-      rev = "v1.4.0";
-      sha256 = "1y7951q0ji894d111lqqbacq64cxyi2dxsni5sqi9488zsasgw8s";
+      rev = "v1.9.0";
+      sha256 = "07vndz6mdaliwagj2xq0y5c5w2zld14p9i5y7r0bkhb7klfyamfk";
     };
   }
   {
@@ -770,8 +1328,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/klauspost/cpuid";
-      rev = "e7e905edc00e";
-      sha256 = "0cmyv3rwv5r5iqvvfhbiwp3jsfa40c6xfm42nxbngd5lygjcwwgf";
+      rev = "v1.2.1";
+      sha256 = "1071wchrs37bvpb99fwf19fjrpz0yaqipi2y2hjvim419flvd49x";
     };
   }
   {
@@ -779,8 +1337,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "v1.0.2";
-      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
+      rev = "v1.0.3";
+      sha256 = "1yrsd4s8vhjnxhwbigirymz89dn6qfjnhn28i33vvvdgf96j6ypl";
     };
   }
   {
@@ -824,8 +1382,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/labstack/echo";
-      rev = "v4.1.10";
-      sha256 = "0qg9ykmhgldiv2v1w8sz8x0j0bgqf11ghzrim59fb6pxz8qgg25h";
+      rev = "v4.1.11";
+      sha256 = "0b14vgwzznn7wzyjb98xdmq4wjg16l3y62njiwfz4qsm4pwzk405";
     };
   }
   {
@@ -838,12 +1396,21 @@
     };
   }
   {
+    goPackagePath = "github.com/lib/pq";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lib/pq";
+      rev = "v1.2.0";
+      sha256 = "08j1smm6rassdssdks4yh9aspa1dv1g5nvwimmknspvhx8a7waqz";
+    };
+  }
+  {
     goPackagePath = "github.com/libgit2/git2go";
     fetch = {
       type = "git";
       url = "https://github.com/libgit2/git2go";
-      rev = "ecaeb7a21d47";
-      sha256 = "14r7ryff93r49g94f6kg66xc0y6rwb31lj22s3qmzmlgywk0pgvr";
+      rev = "v30.0.5";
+      sha256 = "13jk4r8x8rb9lar35dxvh3g7hnzclq95jbpg88y4xklmh48yy3sk";
     };
   }
   {
@@ -856,12 +1423,30 @@
     };
   }
   {
+    goPackagePath = "github.com/magiconair/properties";
+    fetch = {
+      type = "git";
+      url = "https://github.com/magiconair/properties";
+      rev = "v1.8.0";
+      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
+    };
+  }
+  {
     goPackagePath = "github.com/mattn/go-colorable";
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-colorable";
-      rev = "v0.1.2";
-      sha256 = "0512jm3wmzkkn7d99x9wflyqf48n5ri3npy1fqkq6l6adc5mni3n";
+      rev = "v0.1.6";
+      sha256 = "0zv9ix7g0qf71jdhv7gbab9hjfkgbxl22kwhpz9ck1y6m4g1zxaw";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-ieproxy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-ieproxy";
+      rev = "v0.0.1";
+      sha256 = "0x1ijwwp22s20vjbca5ac7y7bx2jp6jizzqa38ks4943q7vi4w09";
     };
   }
   {
@@ -869,8 +1454,35 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-isatty";
-      rev = "v0.0.9";
-      sha256 = "0i3km37lajahh1y2392g4hpgvq05arcgiiv93yhzxxyv0fpqj72m";
+      rev = "v0.0.12";
+      sha256 = "1dfsh27d52wmz0nmmzm2382pfrs2fcijvh6cgir7jbb4pnigr5w4";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "v0.0.4";
+      sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-shellwords";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-shellwords";
+      rev = "2444a32a19f4";
+      sha256 = "08zcgr1az1n8zaxzwdd205j86hczgyc52nxfnw5avpw7rrkf7v0d";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-sqlite3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-sqlite3";
+      rev = "v1.12.0";
+      sha256 = "0di8zy6202sbs0p9kx8lpii77ir5jwjhg6z0796y3nfvw87wk9iv";
     };
   }
   {
@@ -892,6 +1504,24 @@
     };
   }
   {
+    goPackagePath = "github.com/mediocregopher/mediocre-go-lib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mediocregopher/mediocre-go-lib";
+      rev = "cb65787f37ed";
+      sha256 = "0lg6q76fxjhxv05m80k4l6nrkj9qwzafs2mb2gbvhznxh8m0cv9j";
+    };
+  }
+  {
+    goPackagePath = "github.com/mediocregopher/radix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mediocregopher/radix";
+      rev = "v3.3.0";
+      sha256 = "0pchn5z2g4wnf87350war5fr9pqpdksia1ffvw7cphg4q9blggfx";
+    };
+  }
+  {
     goPackagePath = "github.com/microcosm-cc/bluemonday";
     fetch = {
       type = "git";
@@ -901,6 +1531,15 @@
     };
   }
   {
+    goPackagePath = "github.com/mitchellh/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/cli";
+      rev = "v1.0.0";
+      sha256 = "1i9kmr7rcf10d2hji8h4247hmc0nbairv7a0q51393aw2h1bnwg2";
+    };
+  }
+  {
     goPackagePath = "github.com/mitchellh/copystructure";
     fetch = {
       type = "git";
@@ -910,6 +1549,24 @@
     };
   }
   {
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.1.0";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev = "v1.1.2";
+      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
+    };
+  }
+  {
     goPackagePath = "github.com/mitchellh/reflectwalk";
     fetch = {
       type = "git";
@@ -955,12 +1612,48 @@
     };
   }
   {
+    goPackagePath = "github.com/nats-io/nats.go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nats-io/nats.go";
+      rev = "v1.8.1";
+      sha256 = "0h9zzpjl6ac227bhf0i4ram9a5jlibq53pawv0zzxdirxrnp1vkj";
+    };
+  }
+  {
+    goPackagePath = "github.com/nats-io/nkeys";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nats-io/nkeys";
+      rev = "v0.0.2";
+      sha256 = "0kibc1g60w031rssk3vs74gfick3jdl3igckn1v4k8b5grawcks1";
+    };
+  }
+  {
+    goPackagePath = "github.com/nats-io/nuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nats-io/nuid";
+      rev = "v1.0.1";
+      sha256 = "11zbhg4kds5idsya04bwz4plj0mmiigypzppzih731ppbk2ms1zg";
+    };
+  }
+  {
+    goPackagePath = "github.com/olekukonko/tablewriter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/olekukonko/tablewriter";
+      rev = "v0.0.2";
+      sha256 = "1f4mwdh501p8105nfxayprlj5ld14fwzyyy2wbc04xk3wrm1wzlf";
+    };
+  }
+  {
     goPackagePath = "github.com/onsi/ginkgo";
     fetch = {
       type = "git";
       url = "https://github.com/onsi/ginkgo";
-      rev = "v1.10.1";
-      sha256 = "033a42h1wzmji57p86igg9whvsbp6nvfdsypskw738ys903n3z4d";
+      rev = "v1.10.3";
+      sha256 = "00a40by9f5ylycnar8h3p9b4z5rcsvfvg4j3v5s5mchdqrqjv1pc";
     };
   }
   {
@@ -968,8 +1661,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/gomega";
-      rev = "v1.7.0";
-      sha256 = "09j6wq425wgzzsbwm9ckhfgl2capv3yyqbrf45qyrjwkzm49i02y";
+      rev = "v1.7.1";
+      sha256 = "06p3x0910cdaa64l7d44s728d4j3yhps315dlcvrbjzhljjj7mam";
     };
   }
   {
@@ -982,6 +1675,42 @@
     };
   }
   {
+    goPackagePath = "github.com/otiai10/copy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/otiai10/copy";
+      rev = "v1.0.1";
+      sha256 = "0xmy0kfcx48q10s040579pcjswfaxlwhv7a2z07z9r92fdrgw03k";
+    };
+  }
+  {
+    goPackagePath = "github.com/otiai10/curr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/otiai10/curr";
+      rev = "v1.0.0";
+      sha256 = "0fpw20adq2wff7l4c87zaavj9jra4d64a8bbjixiiv3bbarim987";
+    };
+  }
+  {
+    goPackagePath = "github.com/otiai10/mint";
+    fetch = {
+      type = "git";
+      url = "https://github.com/otiai10/mint";
+      rev = "v1.3.0";
+      sha256 = "0kfc95jc2hfgwzcpdfa5hrxgj7s6rzx5jc0n1sn863bsngx2q1ca";
+    };
+  }
+  {
+    goPackagePath = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev = "v1.2.0";
+      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
+    };
+  }
+  {
     goPackagePath = "github.com/philhofer/fwd";
     fetch = {
       type = "git";
@@ -995,8 +1724,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pingcap/errors";
-      rev = "v0.11.1";
-      sha256 = "00wr0l4cwq0qx8jw51j0n7pbh9l7hdq2874x9rf1mz5svz1wbmcp";
+      rev = "v0.11.4";
+      sha256 = "02k6b30m42aya763fnwx3paq4r8h28yav4i2kv2z4r28r70xxcgn";
     };
   }
   {
@@ -1004,8 +1733,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev = "v0.8.1";
-      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+      rev = "v0.9.1";
+      sha256 = "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq";
     };
   }
   {
@@ -1018,6 +1747,15 @@
     };
   }
   {
+    goPackagePath = "github.com/posener/complete";
+    fetch = {
+      type = "git";
+      url = "https://github.com/posener/complete";
+      rev = "v1.1.1";
+      sha256 = "1nbdiybjizbaxbf5q0xwbq0cjqw4bl6jggvsjzrpif0w86fcjda2";
+    };
+  }
+  {
     goPackagePath = "github.com/prometheus/client_golang";
     fetch = {
       type = "git";
@@ -1049,8 +1787,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev = "v0.0.2";
-      sha256 = "0s7pvs7fgnfpmym3cd0k219av321h9sf3yvdlnn3qy0ps280lg7k";
+      rev = "v0.0.3";
+      sha256 = "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y";
     };
   }
   {
@@ -1067,8 +1805,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/rogpeppe/go-internal";
-      rev = "v1.3.0";
-      sha256 = "0mcdh1licgnnahwml9y2iq6xy5x9xmjw5frcnds2s3wpjyqrl216";
+      rev = "v1.4.0";
+      sha256 = "17wisy8bapx5ki0gpissm8dvv7x0lmdnrl1fka75g05kpbyv6g2n";
+    };
+  }
+  {
+    goPackagePath = "github.com/rubenv/sql-migrate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rubenv/sql-migrate";
+      rev = "06338513c237";
+      sha256 = "0z7y7vsnzjswx51g9hlawnzmwnb8c7rks6ljzf6m1xbimhi4n3kz";
+    };
+  }
+  {
+    goPackagePath = "github.com/russross/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/russross/blackfriday";
+      rev = "v1.5.2";
+      sha256 = "0jzbfzcywqcrnym4gxlz6nphmm1grg6wsl4f0r9x384rn83wkj7c";
     };
   }
   {
@@ -1081,6 +1837,15 @@
     };
   }
   {
+    goPackagePath = "github.com/ryszard/goskiplist";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ryszard/goskiplist";
+      rev = "2dfbae5fcf46";
+      sha256 = "1135gmvcwnmk36zryxq554fmikrmg5c6y5ml00arqpagn5xhnmnl";
+    };
+  }
+  {
     goPackagePath = "github.com/sebest/xff";
     fetch = {
       type = "git";
@@ -1099,6 +1864,15 @@
     };
   }
   {
+    goPackagePath = "github.com/shabbyrobe/gocovmerge";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shabbyrobe/gocovmerge";
+      rev = "3e036491d500";
+      sha256 = "1wb5xlknnmyamf7ksnd6fwyc73pip90gkjbm6qcc47flbdfdl4xg";
+    };
+  }
+  {
     goPackagePath = "github.com/shurcooL/sanitized_anchor_name";
     fetch = {
       type = "git";
@@ -1112,8 +1886,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/sirupsen/logrus";
-      rev = "v1.3.0";
-      sha256 = "0ib7k8cwxn53dyxd3af1g81z018n77n6q64pm4miznirf7c2c9gk";
+      rev = "v1.6.0";
+      sha256 = "1zf9is1yxxnna0d1pyag2m9ziy3l27zb2j92p9msm1gx5jjrvzzj";
     };
   }
   {
@@ -1130,17 +1904,71 @@
     fetch = {
       type = "git";
       url = "https://github.com/smartystreets/goconvey";
-      rev = "505e41936337";
+      rev = "v1.6.4";
       sha256 = "07zjxwszayal88z1j2bwnqrsa32vg8l4nivks5yfr9j8xfsw7n6m";
     };
   }
   {
+    goPackagePath = "github.com/spf13/afero";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/afero";
+      rev = "v1.2.1";
+      sha256 = "14qqj0cz6a595vn4dp747vddx05fd77jdsyl85qjmf9baymaxlam";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cast";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cast";
+      rev = "v1.3.0";
+      sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "v0.0.5";
+      sha256 = "0z4x8js65mhwg1gf6sa865pdxfgn45c3av9xlcc1l3xjvcnx32v2";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/jwalterweatherman";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/jwalterweatherman";
+      rev = "v1.0.0";
+      sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "v1.0.3";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/viper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/viper";
+      rev = "v1.3.2";
+      sha256 = "1829hvf805kda65l59r17wvid7y0vr390s23zfhf4w7vdb4wp3zh";
+    };
+  }
+  {
     goPackagePath = "github.com/stretchr/objx";
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/objx";
-      rev = "v0.1.1";
-      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+      rev = "v0.2.0";
+      sha256 = "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k";
     };
   }
   {
@@ -1148,8 +1976,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "v1.4.0";
-      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
+      rev = "v1.5.1";
+      sha256 = "09r89m1wy4cjv2nps1ykp00qjpi0531r07q3s34hr7m6njk4srkl";
     };
   }
   {
@@ -1157,8 +1985,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/tinylib/msgp";
-      rev = "v1.1.0";
-      sha256 = "08ha23sn14071ywrgxlyj7r523vzdwx1i83dcp1mqa830glgqaff";
+      rev = "v1.0.2";
+      sha256 = "0pypfknghg1hcjjrqz3f1riaylk6hcxn9h0qyzynb74rp0qmlxjc";
     };
   }
   {
@@ -1193,8 +2021,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/ugorji/go";
-      rev = "v1.1.4";
-      sha256 = "0ma2qvn5wqvjidpdz74x832a813qnr1cxbx6n6n125ak9b3wbn5w";
+      rev = "v1.1.7";
+      sha256 = "068gja55kbh2iivp03x4n9dcml0rxv0k64ivkmq06si2ar1835rm";
     };
   }
   {
@@ -1220,8 +2048,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/valyala/fasthttp";
-      rev = "v1.4.0";
-      sha256 = "0kypc7r91n61fm6qsadza1aiy9n6byghvcxzvx7agi6yzrllk956";
+      rev = "v1.6.0";
+      sha256 = "1r1hm4rv9w6x829jjg75y8xd523b76parsyyvjwyz8k2l6bm4h0b";
     };
   }
   {
@@ -1247,8 +2075,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/xeipuuv/gojsonpointer";
-      rev = "df4f5c81cb3b";
-      sha256 = "0dfwc66z5gq75m3z7va80c10c22ijiq99bahq86l26ki71g286xn";
+      rev = "4e3ac2762d5f";
+      sha256 = "13y6iq2nzf9z4ls66bfgnnamj2m3438absmbpqry64bpwjfbsi9q";
     };
   }
   {
@@ -1265,8 +2093,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/xeipuuv/gojsonschema";
-      rev = "v1.1.0";
-      sha256 = "10gn5y4l72zknj21mff29d9vnk4pz7jnw39xnlsb373lsiih91xg";
+      rev = "v1.2.0";
+      sha256 = "1mqiq0r8qw4qlfp3ls8073r6514rmzwrmdn4j33rppk3zh942i6l";
+    };
+  }
+  {
+    goPackagePath = "github.com/xordataexchange/crypt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xordataexchange/crypt";
+      rev = "b2862e3d0a77";
+      sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y";
     };
   }
   {
@@ -1306,6 +2143,24 @@
     };
   }
   {
+    goPackagePath = "github.com/yuin/goldmark";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yuin/goldmark";
+      rev = "v1.1.27";
+      sha256 = "1872cqnii0kwiqcy81yin0idvjy5mdy4zlzz0csb319lcjs3b923";
+    };
+  }
+  {
+    goPackagePath = "github.com/ziutek/mymysql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ziutek/mymysql";
+      rev = "v1.5.4";
+      sha256 = "172s7sv5bgc40x81k18hypf9c4n8hn9v5w5zwyr4mi5prbavqcci";
+    };
+  }
+  {
     goPackagePath = "gitlab.com/gitlab-org/gitaly";
     fetch = {
       type = "git";
@@ -1315,12 +2170,21 @@
     };
   }
   {
+    goPackagePath = "gitlab.com/gitlab-org/gitlab-shell";
+    fetch = {
+      type = "git";
+      url = "https://gitlab.com/gitlab-org/gitlab-shell.git";
+      rev = "1a2bfecd2f0e";
+      sha256 = "197b3yn7lp6dbzcgxrj3ns2a839adcfmcwi3h53i1sr6952ciayx";
+    };
+  }
+  {
     goPackagePath = "gitlab.com/gitlab-org/labkit";
     fetch = {
       type = "git";
       url = "https://gitlab.com/gitlab-org/labkit.git";
-      rev = "fac94cb428e6";
-      sha256 = "19wvfjij6zm88fxbx0cngr6ny4yh3fw469d6vlv741b37s07w3j0";
+      rev = "45895e129029";
+      sha256 = "17adv1gcdg0jiy8i5lr064pm3p9ywq6s0iwh9w4q5pycp4qkmn48";
     };
   }
   {
@@ -1328,8 +2192,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/census-instrumentation/opencensus-go";
-      rev = "v0.22.2";
-      sha256 = "0lz7fid63pdrcvyzk5kn7vlcva102h61igmw7pz824wvj9k3hy4q";
+      rev = "v0.22.3";
+      sha256 = "0xj16iq5jp26hi2py7lsd8cvqh651fgn39y05gzvjdi88d9xd3nw";
     };
   }
   {
@@ -1342,12 +2206,21 @@
     };
   }
   {
+    goPackagePath = "gocloud.dev";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cloud";
+      rev = "v0.20.0";
+      sha256 = "0zmqm8k4gxvivhpq3gpdqf9lnm9qj1ryyg9nm0rh3cvman5y07ci";
+    };
+  }
+  {
     goPackagePath = "golang.org/x/crypto";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "87dc89f01550";
-      sha256 = "0z4i1m2yn3f31ci7wvcm2rxkx2yiv7a78mfzklncmsz2k97rlh2g";
+      rev = "e9b2fee46413";
+      sha256 = "18sz5426h320l9gdll9n43lzzxg2dmqv0s5fjy6sbvbkkpjs1m28";
     };
   }
   {
@@ -1355,8 +2228,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/exp";
-      rev = "da58074b4299";
-      sha256 = "1pgvdbjm3n47505diw3mm2hisp9b9q2lyvgl9m6xh2wx83b0cj48";
+      rev = "6cc2880d07d6";
+      sha256 = "1iia6hiif6hcp0cg1i6nq63qg0pmvm2kq24pf2r2il3597rfmlgy";
     };
   }
   {
@@ -1364,8 +2237,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/image";
-      rev = "cff245a6509b";
-      sha256 = "0hiznlkiaay30acwvvyq8g6bm32r7bc6gv47pygrcxqpapasbz84";
+      rev = "e7c1f5e7dbb8";
+      sha256 = "0czp897aicqw1dgybj0hc2zzwb20rhqkdqm7siqci3yk7yk9cymf";
     };
   }
   {
@@ -1373,8 +2246,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/lint";
-      rev = "fdd1cda4f05f";
-      sha256 = "0a23pc90fqar8sm1b480sls15ss20rqk13yrf63b6rnyd2c6z0x2";
+      rev = "738671d3881b";
+      sha256 = "0jkiz4py59jjnkyxbxifpf7bsar11lbgmj5jiq2kic5k03shkn9c";
     };
   }
   {
@@ -1391,8 +2264,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/mod";
-      rev = "c90efee705ee";
-      sha256 = "0i5md645rmcy5z5ij9ng428k9rz4g3k1kjy3blsq1264rn426gdf";
+      rev = "v0.3.0";
+      sha256 = "0ldgbx2zpprbsfn6p8pfgs4nn87gwbfcv2z0fa7n8alwsq2yw78q";
     };
   }
   {
@@ -1400,8 +2273,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "6afb5195e5aa";
-      sha256 = "1aiz41q2yxgg3dxfkn33ff54vhaxbiwcps9j3ia1xx4cqxim38zw";
+      rev = "627f9648deb9";
+      sha256 = "0ziz7i9mhz6dy2f58dsa83flkk165w1cnazm7yksql5i9m7x099z";
     };
   }
   {
@@ -1418,8 +2291,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "cd5d95a43a6e";
-      sha256 = "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds";
+      rev = "43a5402ce75a";
+      sha256 = "0j6zrrb81qjr1926kkwmn0di9a0jn8qyjd9dw614rfkihxgq1vsm";
     };
   }
   {
@@ -1427,8 +2300,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "d101bd2416d5";
-      sha256 = "1ksxf37b0ym21n8j29m3wgbaiw1kcjw3hgf88kipc1ry2j13l98p";
+      rev = "6fdc65e7d980";
+      sha256 = "0al5gzij4qkrp11i1h8j7288pg6y716zyh2v0886pv2knha7gjvj";
     };
   }
   {
@@ -1436,8 +2309,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "v0.3.2";
-      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+      rev = "v0.3.3";
+      sha256 = "19pihqm3phyndmiw6i42pdv6z1rbvlqlsnhsyqf9gsnn0qnmqqlh";
     };
   }
   {
@@ -1445,8 +2318,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/time";
-      rev = "9d24e82272b4";
-      sha256 = "1f5nkr4vys2vbd8wrwyiq2f5wcaahhpxmia85d1gshcbqjqf8dkb";
+      rev = "555d28b269f0";
+      sha256 = "1rhl4lyz030kwfsg63yk83yd3ivryv1afmzdz9sxbhcj84ym6h4r";
     };
   }
   {
@@ -1454,8 +2327,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/tools";
-      rev = "43d50277825c";
-      sha256 = "1168q4da36wq9w2591iqzsfy5ymwfi2g46bv5dnyyspg155ld19k";
+      rev = "1b747fd94509";
+      sha256 = "0r53sxrkkycdpi0l5ljqpd9dzmcgns4csl3zgsaxdy1l0r0bfnyc";
     };
   }
   {
@@ -1471,9 +2344,9 @@
     goPackagePath = "google.golang.org/api";
     fetch = {
       type = "git";
-      url = "https://code.googlesource.com/google-api-go-client";
-      rev = "v0.15.0";
-      sha256 = "1ljhwv5xsgsbqia70f35q19vwrsm47sh08ljbwdyfa867ff17qdh";
+      url = "https://github.com/googleapis/google-api-go-client";
+      rev = "v0.26.0";
+      sha256 = "0niqb2hkpj7sgk8q2xbpgjhbql0s4756nzbjs1msynbc94c9g7hy";
     };
   }
   {
@@ -1481,17 +2354,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/appengine";
-      rev = "v1.6.5";
-      sha256 = "05hbq4cs7bqw0zl17bx8rzdkszid3nyl92100scg3jjrg70dhm7w";
+      rev = "v1.6.6";
+      sha256 = "15c38h6fbv06cnkr6yknygfrpibyms2mya4w0l29kaxf42jn1qi5";
     };
   }
   {
     goPackagePath = "google.golang.org/genproto";
     fetch = {
       type = "git";
-      url = "https://github.com/google/go-genproto";
-      rev = "ca5a22157cba";
-      sha256 = "0ldkh6f0g0wzfkp09ib15a62bmcbpsxj93saikqmc86242bcxij0";
+      url = "https://github.com/googleapis/go-genproto";
+      rev = "7c474a2e3482";
+      sha256 = "00337qngl2rr45qpmlysc7wm7q27vbvjr2s36w1lc08fx7ba1wk9";
     };
   }
   {
@@ -1499,8 +2372,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/grpc/grpc-go";
+      rev = "v1.29.1";
+      sha256 = "1465947r6536si36cl2ppx7929la9zba1y6xfczfyp4kgf8988hf";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/protobuf";
       rev = "v1.24.0";
-      sha256 = "0h8mwv74vzcfb7p4ai247x094skxca71vjp4wpj2wzmri0x9p4v6";
+      sha256 = "0x3qyn3rizbs671gs7f8v50rmiwf9h7kbaradpivw9718mhbg1gn";
     };
   }
   {
@@ -1567,6 +2449,15 @@
     };
   }
   {
+    goPackagePath = "gopkg.in/gorp.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/gorp.v1";
+      rev = "v1.7.2";
+      sha256 = "0zwkq4cv71vp7cmpfcs54908g1amr0cdxv1b8h1icf64jjawb1lb";
+    };
+  }
+  {
     goPackagePath = "gopkg.in/mgo.v2";
     fetch = {
       type = "git";
@@ -1589,8 +2480,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.2";
-      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+      rev = "v2.2.8";
+      sha256 = "1inf7svydzscwv9fcjd2rm61a4xjk6jkswknybmns2n58shimapw";
     };
   }
   {
@@ -1598,8 +2489,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/dominikh/go-tools";
-      rev = "v0.0.1-2019.2.3";
-      sha256 = "1rwwahmbs4dwxncwjj56likir1kps9937vm2id3rygxzzla40zal";
+      rev = "v0.0.1-2020.1.5";
+      sha256 = "1ry3ywncc9qkmh8ihh67v6k8nmqhq2gvfyrl1ykl4z6s56b7f9za";
     };
   }
   {
@@ -1611,4 +2502,22 @@
       sha256 = "1kar0myy85waw418zslviwx8846zj0m9cmqkxjx0fvgjdi70nc4b";
     };
   }
+  {
+    goPackagePath = "rsc.io/quote";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rsc/quote";
+      rev = "v3.1.0";
+      sha256 = "0nvv97hwwrl1mx5gzsbdm1ndnwpg3m7i2jb10ig9wily7zmvki0i";
+    };
+  }
+  {
+    goPackagePath = "rsc.io/sampler";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rsc/sampler";
+      rev = "v1.3.0";
+      sha256 = "0byxk2ynba50py805kcvbvjzh59l1r308i1xgyzpw6lff4xx9xjh";
+    };
+  }
 ]
diff --git a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
index 846bdeff48d3e..fcb954e388437 100644
--- a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
@@ -34,12 +34,12 @@ diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.
 index 0bea8a4f4b..290248547b 100644
 --- a/config/initializers/1_settings.rb
 +++ b/config/initializers/1_settings.rb
-@@ -255,7 +255,7 @@ Settings.gitlab['user']       ||= 'git'
- Settings.gitlab['user_home']  ||= begin
+@@ -177,7 +177,7 @@ Settings.gitlab['ssh_user'] ||= Settings.gitlab['user']
+ Settings.gitlab['user_home'] ||= begin
    Etc.getpwnam(Settings.gitlab['user']).dir
- rescue ArgumentError # no user configured
--  '/home/' + Settings.gitlab['user']
-+  '/homeless-shelter'
+                                  rescue ArgumentError # no user configured
+-                                   '/home/' + Settings.gitlab['user']
++                                   '/homeless-shelter'
  end
  Settings.gitlab['time_zone'] ||= nil
  Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].nil?
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 9c8c5e8b30d7d..d60fefe29dca0 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'
 
-gem 'rails', '~> 6.0.3'
+gem 'rails', '~> 6.0.3.1'
 
 gem 'bootsnap', '~> 1.4.6'
 
@@ -19,15 +19,17 @@ gem 'default_value_for', '~> 3.3.0'
 gem 'pg', '~> 1.1'
 
 gem 'rugged', '~> 0.28'
-gem 'grape-path-helpers', '~> 1.2'
+gem 'grape-path-helpers', '~> 1.5'
 
-gem 'faraday', '~> 0.12'
-gem 'marginalia', '~> 1.8.0'
+gem 'faraday', '~> 1.0'
+gem 'marginalia', '~> 1.9.0'
 
 # Authentication libraries
-gem 'devise', '~> 4.6'
-gem 'doorkeeper', '~> 5.0.3'
-gem 'doorkeeper-openid_connect', '~> 1.6.3'
+gem 'devise', '~> 4.7.2'
+# TODO: verify ARM compile issue on 3.1.13+ version (see https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18828)
+gem 'bcrypt', '3.1.12'
+gem 'doorkeeper', '~> 5.3.0'
+gem 'doorkeeper-openid_connect', '~> 1.7.4'
 gem 'omniauth', '~> 1.8'
 gem 'omniauth-auth0', '~> 2.0.0'
 gem 'omniauth-azure-oauth2', '~> 0.0.9'
@@ -41,12 +43,12 @@ gem 'omniauth-oauth2-generic', '~> 0.2.2'
 gem 'omniauth-saml', '~> 1.10'
 gem 'omniauth-shibboleth', '~> 1.3.0'
 gem 'omniauth-twitter', '~> 1.4'
-gem 'omniauth_crowd', '~> 2.2.0'
+gem 'omniauth_crowd', '~> 2.4.0'
 gem 'omniauth-authentiq', '~> 0.3.3'
-gem 'omniauth_openid_connect', '~> 0.3.3'
-gem "omniauth-ultraauth", '~> 0.0.2'
+gem 'omniauth_openid_connect', '~> 0.3.5'
 gem 'omniauth-salesforce', '~> 1.0.5'
-gem 'rack-oauth2', '~> 1.9.3'
+gem 'omniauth-atlassian-oauth2', '~> 0.2.0'
+gem 'rack-oauth2', '~> 1.16.0'
 gem 'jwt', '~> 2.1.0'
 
 # Kerberos authentication. EE-only
@@ -64,13 +66,13 @@ gem 'attr_encrypted', '~> 3.1.0'
 gem 'u2f', '~> 0.2.1'
 
 # GitLab Pages
-gem 'validates_hostname', '~> 1.0.6'
+gem 'validates_hostname', '~> 1.0.10'
 gem 'rubyzip', '~> 2.0.0', require: 'zip'
 # GitLab Pages letsencrypt support
-gem 'acme-client', '~> 2.0.5'
+gem 'acme-client', '~> 2.0', '>= 2.0.6'
 
 # Browser detection
-gem 'browser', '~> 2.5'
+gem 'browser', '~> 4.2'
 
 # GPG
 gem 'gpgme', '~> 2.0.19'
@@ -82,19 +84,23 @@ gem 'gitlab_omniauth-ldap', '~> 2.1.1', require: 'omniauth-ldap'
 gem 'net-ldap'
 
 # API
-gem 'grape', '~> 1.1.0'
+# Locked at Grape v1.4.0 until https://github.com/ruby-grape/grape/pull/2088 is merged
+# Remove config/initializers/grape_patch.rb
+gem 'grape', '= 1.4.0'
 gem 'grape-entity', '~> 0.7.1'
 gem 'rack-cors', '~> 1.0.6', require: 'rack/cors'
 
 # GraphQL API
-gem 'graphql', '~> 1.10.5'
+gem 'graphql', '~> 1.11.4'
 # NOTE: graphiql-rails v1.5+ doesn't work: https://gitlab.com/gitlab-org/gitlab/issues/31771
 # TODO: remove app/views/graphiql/rails/editors/show.html.erb when https://github.com/rmosolgo/graphiql-rails/pull/71 is released:
 # https://gitlab.com/gitlab-org/gitlab/issues/31747
 gem 'graphiql-rails', '~> 1.4.10'
-gem 'apollo_upload_server', '~> 2.0.0.beta3'
+gem 'apollo_upload_server', '~> 2.0.2'
 gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
+gem 'graphlient', '~> 0.4.0' # Used by BulkImport feature (group::import)
 
+gem 'hashie'
 # Disable strong_params so that Mash does not respond to :permitted?
 gem 'hashie-forbidden_attributes'
 
@@ -106,21 +112,22 @@ gem 'hamlit', '~> 2.11.0'
 
 # Files attachments
 gem 'carrierwave', '~> 1.3'
-gem 'mini_magick'
+gem 'mini_magick', '~> 4.10.1'
 
 # for backups
 gem 'fog-aws', '~> 3.5'
 # Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
 # Also see config/initializers/fog_core_patch.rb.
 gem 'fog-core', '= 2.1.0'
-gem 'fog-google', '~> 1.9'
+gem 'fog-google', '~> 1.11'
 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', require: false
 
 # for Google storage
-gem 'google-api-client', '~> 0.23'
+gem 'google-api-client', '~> 0.33'
 
 # for aws storage
 gem 'unf', '~> 0.1.4'
@@ -131,9 +138,11 @@ gem 'seed-fu', '~> 2.3.7'
 # Search
 gem 'elasticsearch-model', '~> 6.1'
 gem 'elasticsearch-rails', '~> 6.1', require: 'elasticsearch/rails/instrumentation'
-gem 'elasticsearch-api',   '~> 6.8'
-gem 'aws-sdk'
-gem 'faraday_middleware-aws-signers-v4'
+gem 'elasticsearch-api',   '~> 6.8.2'
+gem 'aws-sdk-core', '~> 3'
+gem 'aws-sdk-cloudformation', '~> 1'
+gem 'aws-sdk-s3', '~> 1'
+gem 'faraday_middleware-aws-sigv4', '~>0.3.0'
 
 # Markdown and HTML processing
 gem 'html-pipeline', '~> 2.12'
@@ -141,6 +150,7 @@ gem 'deckar01-task_list', '2.3.1'
 gem 'gitlab-markup', '~> 1.7.1'
 gem 'github-markup', '~> 1.7.0', require: 'github/markup'
 gem 'commonmarker', '~> 0.20'
+gem 'kramdown', '~> 2.3.0'
 gem 'RedCloth', '~> 4.3.2'
 gem 'rdoc', '~> 6.1.2'
 gem 'org-ruby', '~> 0.9.12'
@@ -149,7 +159,7 @@ gem 'wikicloth', '0.8.1'
 gem 'asciidoctor', '~> 2.0.10'
 gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
 gem 'asciidoctor-plantuml', '~> 0.0.12'
-gem 'rouge', '~> 3.19.0'
+gem 'rouge', '~> 3.25.0'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
 gem 'nokogiri', '~> 1.10.9'
@@ -163,7 +173,9 @@ gem 'diffy', '~> 3.3'
 gem 'diff_match_patch', '~> 0.1.0'
 
 # Application server
-gem 'rack', '~> 2.0.9'
+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'
@@ -173,7 +185,6 @@ end
 group :puma do
   gem 'gitlab-puma', '~> 4.3.3.gitlab.2', require: false
   gem 'gitlab-puma_worker_killer', '~> 0.1.1.gitlab.1', require: false
-  gem 'rack-timeout', require: false
 end
 
 # State machine
@@ -185,7 +196,7 @@ gem 'acts-as-taggable-on', '~> 6.0'
 # Background jobs
 gem 'sidekiq', '~> 5.2.7'
 gem 'sidekiq-cron', '~> 1.0'
-gem 'redis-namespace', '~> 1.6.0'
+gem 'redis-namespace', '~> 1.7.0'
 gem 'gitlab-sidekiq-fetcher', '0.5.2', require: 'sidekiq-reliable-fetch'
 
 # Cron Parser
@@ -211,7 +222,7 @@ gem 're2', '~> 1.2.0'
 gem 'version_sorter', '~> 2.2.4'
 
 # Export Ruby Regex to Javascript
-gem 'js_regex', '~> 3.1'
+gem 'js_regex', '~> 3.4'
 
 # User agent parsing
 gem 'device_detector'
@@ -237,22 +248,22 @@ gem 'atlassian-jwt', '~> 0.2.0'
 gem 'flowdock', '~> 0.7'
 
 # Slack integration
-gem 'slack-messenger', '~> 2.3.3'
+gem 'slack-messenger', '~> 2.3.4'
 
 # Hangouts Chat integration
 gem 'hangouts-chat', '~> 0.0.5'
 
 # Asana integration
-gem 'asana', '~> 0.9'
+gem 'asana', '0.10.2'
 
 # FogBugz integration
 gem 'ruby-fogbugz', '~> 0.2.1'
 
 # Kubernetes integration
-gem 'kubeclient', '~> 4.6.0'
+gem 'kubeclient', '~> 4.9.1'
 
 # Sanitize user input
-gem 'sanitize', '~> 4.6'
+gem 'sanitize', '~> 5.2.1'
 gem 'babosa', '~> 1.0.2'
 
 # Sanitizes SVG input
@@ -261,11 +272,8 @@ gem 'loofah', '~> 2.2'
 # Working with license
 gem 'licensee', '~> 8.9'
 
-# Ace editor
-gem 'ace-rails-ap', '~> 4.1.0'
-
 # Detect and convert string character encoding
-gem 'charlock_holmes', '~> 0.7.5'
+gem 'charlock_holmes', '~> 0.7.7'
 
 # Detect mime content type from content
 gem 'mimemagic', '~> 0.3.2'
@@ -277,11 +285,10 @@ gem 'fast_blank'
 gem 'gitlab-chronic', '~> 0.10.5'
 gem 'gitlab_chronic_duration', '~> 0.10.6.2'
 
-gem 'webpack-rails', '~> 0.9.10'
 gem 'rack-proxy', '~> 0.6.0'
 
 gem 'sassc-rails', '~> 2.1.0'
-gem 'uglifier', '~> 2.7.2'
+gem 'terser', '1.0.2'
 
 gem 'addressable', '~> 2.7'
 gem 'font-awesome-rails', '~> 4.7'
@@ -296,19 +303,22 @@ gem "gitlab-license", "~> 1.0"
 gem 'rack-attack', '~> 6.3.0'
 
 # Sentry integration
-gem 'sentry-raven', '~> 2.9'
+gem 'sentry-raven', '~> 3.0'
+
+# PostgreSQL query parsing
+gem 'gitlab-pg_query', '~> 1.3', require: 'pg_query'
 
 gem 'premailer-rails', '~> 1.10.3'
 
 # LabKit: Tracing and Correlation
-gem 'gitlab-labkit', '0.12.0'
+gem 'gitlab-labkit', '0.13.1'
 
 # I18n
-gem 'ruby_parser', '~> 3.8', require: false
+gem 'ruby_parser', '~> 3.15', require: false
 gem 'rails-i18n', '~> 6.0'
 gem 'gettext_i18n_rails', '~> 1.8.0'
 gem 'gettext_i18n_rails_js', '~> 1.3'
-gem 'gettext', '~> 3.2.2', require: false, group: :development
+gem 'gettext', '~> 3.3', require: false, group: :development
 
 gem 'batch-loader', '~> 1.4.0'
 
@@ -320,31 +330,29 @@ gem 'snowplow-tracker', '~> 0.6.1'
 
 # Metrics
 group :metrics do
-  gem 'method_source', '~> 0.8', require: false
+  gem 'method_source', '~> 1.0', require: false
 
   # Prometheus
-  gem 'prometheus-client-mmap', '~> 0.10.0'
+  gem 'prometheus-client-mmap', '~> 0.12.0'
   gem 'raindrops', '~> 0.18'
 end
 
 group :development do
   gem 'brakeman', '~> 4.2', require: false
-  gem 'danger', '~> 6.0', require: false
+  gem 'danger', '~> 8.0.6', require: false
 
   gem 'letter_opener_web', '~> 1.3.4'
-  gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
 
   # Better errors handler
-  gem 'better_errors', '~> 2.5.0'
-  gem 'binding_of_caller', '~> 0.8.0'
+  gem 'better_errors', '~> 2.7.1'
 
   # thin instead webrick
   gem 'thin', '~> 1.7.0'
 end
 
 group :development, :test do
-  gem 'bullet', '~> 6.0.2', require: !!ENV['ENABLE_BULLET']
-  gem 'pry-byebug', '~> 3.5.1', platform: :mri
+  gem 'bullet', '~> 6.1.0'
+  gem 'pry-byebug', '~> 3.9.0', platform: :mri
   gem 'pry-rails', '~> 0.3.9'
 
   gem 'awesome_print', require: false
@@ -359,23 +367,19 @@ group :development, :test do
   # Generate Fake data
   gem 'ffaker', '~> 2.10'
 
-  gem 'spring', '~> 2.0.0'
+  gem 'spring', '~> 2.1.0'
   gem 'spring-commands-rspec', '~> 1.0.4'
 
-  gem 'gitlab-styles', '~> 3.2.0', require: false
-  # Pin these dependencies, otherwise a new rule could break the CI pipelines
-  gem 'rubocop', '~> 0.74.0'
-  gem 'rubocop-performance', '~> 1.4.1'
-  gem 'rubocop-rspec', '~> 1.37.0'
+  gem 'gitlab-styles', '~> 5.1.0', require: false
 
-  gem 'scss_lint', '~> 0.56.0', require: false
-  gem 'haml_lint', '~> 0.34.0', require: false
-  gem 'simplecov', '~> 0.18.5', require: false
+  gem 'scss_lint', '~> 0.59.0', require: false
+  gem 'haml_lint', '~> 0.36.0', require: false
   gem 'bundler-audit', '~> 0.6.1', require: false
 
   gem 'benchmark-ips', '~> 2.3.0', require: false
 
   gem 'knapsack', '~> 1.17'
+  gem 'crystalball', '~> 0.7.0', require: false
 
   gem 'simple_po_parser', '~> 1.1.2', require: false
 
@@ -384,30 +388,36 @@ group :development, :test do
   gem 'png_quantizator', '~> 0.2.1', require: false
 
   gem 'parallel', '~> 1.19', require: false
+
+  gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
+end
+
+group :development, :test, :coverage do
+  gem 'simplecov', '~> 0.18.5', require: false
+  gem 'simplecov-cobertura', '~> 1.3.1', require: false
 end
 
 # Gems required in omnibus-gitlab pipeline
 group :development, :test, :omnibus do
-  gem 'license_finder', '~> 5.4', require: false
+  gem 'license_finder', '~> 6.0', require: false
 end
 
 group :test do
   gem 'fuubar', '~> 2.2.0'
   gem 'rspec-retry', '~> 0.6.1'
-  gem 'rspec_profiling', '~> 0.0.5'
+  gem 'rspec_profiling', '~> 0.0.6'
   gem 'rspec-parameterized', require: false
 
-  gem 'capybara', '~> 3.22.0'
+  gem 'capybara', '~> 3.33.0'
   gem 'capybara-screenshot', '~> 1.0.22'
   gem 'selenium-webdriver', '~> 3.142'
 
   gem 'shoulda-matchers', '~> 4.0.1', require: false
   gem 'email_spec', '~> 2.2.0'
-  gem 'json-schema', '~> 2.8.0'
-  gem 'webmock', '~> 3.5.1'
+  gem 'webmock', '~> 3.9.1'
   gem 'rails-controller-testing'
   gem 'concurrent-ruby', '~> 1.1'
-  gem 'test-prof', '~> 0.10.0'
+  gem 'test-prof', '~> 0.12.0'
   gem 'rspec_junit_formatter'
   gem 'guard-rspec'
 
@@ -418,7 +428,7 @@ end
 gem 'octokit', '~> 4.15'
 
 # https://gitlab.com/gitlab-org/gitlab/issues/207207
-gem 'gitlab-mail_room', '~> 0.0.4', require: 'mail_room'
+gem 'gitlab-mail_room', '~> 0.0.7', require: 'mail_room'
 
 gem 'email_reply_trimmer', '~> 0.1'
 gem 'html2text'
@@ -434,7 +444,7 @@ gem 'activerecord-explain-analyze', '~> 0.1', require: false
 gem 'oauth2', '~> 1.4'
 
 # Health check
-gem 'health_check', '~> 2.6.0'
+gem 'health_check', '~> 3.0'
 
 # System information
 gem 'vmstat', '~> 2.3.0'
@@ -454,11 +464,11 @@ group :ed25519 do
 end
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 13.0.0.pre.rc1'
+gem 'gitaly', '~> 13.5.0-rc2'
 
-gem 'grpc', '~> 1.24.0'
+gem 'grpc', '~> 1.30.2'
 
-gem 'google-protobuf', '~> 3.8.0'
+gem 'google-protobuf', '~> 3.12'
 
 gem 'toml-rb', '~> 1.0.0'
 
@@ -498,3 +508,13 @@ gem 'valid_email', '~> 0.1'
 
 # JSON
 gem 'json', '~> 2.3.0'
+gem 'json-schema', '~> 2.8.0'
+gem 'json_schemer', '~> 0.2.12'
+gem 'oj', '~> 3.10.6'
+gem 'multi_json', '~> 1.14.1'
+gem 'yajl-ruby', '~> 1.4.1', require: 'yajl'
+
+gem 'webauthn', '~> 2.3'
+
+# IPAddress utilities
+gem 'ipaddress', '~> 0.8.3'
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index e6407161f8eb5..64179847dd8cf 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -3,62 +3,61 @@ GEM
   specs:
     RedCloth (4.3.2)
     abstract_type (0.0.7)
-    ace-rails-ap (4.1.2)
-    acme-client (2.0.5)
-      faraday (~> 0.9, >= 0.9.1)
-    actioncable (6.0.3)
-      actionpack (= 6.0.3)
+    acme-client (2.0.6)
+      faraday (>= 0.17, < 2.0.0)
+    actioncable (6.0.3.3)
+      actionpack (= 6.0.3.3)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
-    actionmailbox (6.0.3)
-      actionpack (= 6.0.3)
-      activejob (= 6.0.3)
-      activerecord (= 6.0.3)
-      activestorage (= 6.0.3)
-      activesupport (= 6.0.3)
+    actionmailbox (6.0.3.3)
+      actionpack (= 6.0.3.3)
+      activejob (= 6.0.3.3)
+      activerecord (= 6.0.3.3)
+      activestorage (= 6.0.3.3)
+      activesupport (= 6.0.3.3)
       mail (>= 2.7.1)
-    actionmailer (6.0.3)
-      actionpack (= 6.0.3)
-      actionview (= 6.0.3)
-      activejob (= 6.0.3)
+    actionmailer (6.0.3.3)
+      actionpack (= 6.0.3.3)
+      actionview (= 6.0.3.3)
+      activejob (= 6.0.3.3)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (6.0.3)
-      actionview (= 6.0.3)
-      activesupport (= 6.0.3)
+    actionpack (6.0.3.3)
+      actionview (= 6.0.3.3)
+      activesupport (= 6.0.3.3)
       rack (~> 2.0, >= 2.0.8)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actiontext (6.0.3)
-      actionpack (= 6.0.3)
-      activerecord (= 6.0.3)
-      activestorage (= 6.0.3)
-      activesupport (= 6.0.3)
+    actiontext (6.0.3.3)
+      actionpack (= 6.0.3.3)
+      activerecord (= 6.0.3.3)
+      activestorage (= 6.0.3.3)
+      activesupport (= 6.0.3.3)
       nokogiri (>= 1.8.5)
-    actionview (6.0.3)
-      activesupport (= 6.0.3)
+    actionview (6.0.3.3)
+      activesupport (= 6.0.3.3)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activejob (6.0.3)
-      activesupport (= 6.0.3)
+    activejob (6.0.3.3)
+      activesupport (= 6.0.3.3)
       globalid (>= 0.3.6)
-    activemodel (6.0.3)
-      activesupport (= 6.0.3)
-    activerecord (6.0.3)
-      activemodel (= 6.0.3)
-      activesupport (= 6.0.3)
+    activemodel (6.0.3.3)
+      activesupport (= 6.0.3.3)
+    activerecord (6.0.3.3)
+      activemodel (= 6.0.3.3)
+      activesupport (= 6.0.3.3)
     activerecord-explain-analyze (0.1.0)
       activerecord (>= 4)
       pg
-    activestorage (6.0.3)
-      actionpack (= 6.0.3)
-      activejob (= 6.0.3)
-      activerecord (= 6.0.3)
+    activestorage (6.0.3.3)
+      actionpack (= 6.0.3.3)
+      activejob (= 6.0.3.3)
+      activerecord (= 6.0.3.3)
       marcel (~> 0.3.1)
-    activesupport (6.0.3)
+    activesupport (6.0.3.3)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
@@ -71,14 +70,15 @@ GEM
       memoizable (~> 0.4.0)
     addressable (2.7.0)
       public_suffix (>= 2.0.2, < 5.0)
-    aes_key_wrap (1.0.1)
+    aes_key_wrap (1.1.0)
     akismet (3.0.0)
-    apollo_upload_server (2.0.0.beta.3)
+    android_key_attestation (0.3.0)
+    apollo_upload_server (2.0.2)
       graphql (>= 1.8)
       rails (>= 4.2)
-    asana (0.9.3)
-      faraday (~> 0.9)
-      faraday_middleware (~> 0.9)
+    asana (0.10.2)
+      faraday (~> 1.0)
+      faraday_middleware (~> 1.0)
       faraday_middleware-multi_json (~> 0.0)
       oauth2 (~> 1.4)
     asciidoctor (2.0.10)
@@ -86,27 +86,40 @@ GEM
       asciidoctor (>= 1.5.6, < 3.0.0)
     asciidoctor-plantuml (0.0.12)
       asciidoctor (>= 1.5.6, < 3.0.0)
-    ast (2.4.0)
+    ast (2.4.1)
     atlassian-jwt (0.2.0)
       jwt (~> 2.1.0)
     attr_encrypted (3.1.0)
       encryptor (~> 3.0.0)
     attr_required (1.0.1)
     awesome_print (1.8.0)
-    aws-eventstream (1.0.3)
-    aws-sdk (2.11.374)
-      aws-sdk-resources (= 2.11.374)
-    aws-sdk-core (2.11.374)
-      aws-sigv4 (~> 1.0)
+    awrence (1.1.1)
+    aws-eventstream (1.1.0)
+    aws-partitions (1.345.0)
+    aws-sdk-cloudformation (1.41.0)
+      aws-sdk-core (~> 3, >= 3.99.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-core (3.104.3)
+      aws-eventstream (~> 1, >= 1.0.2)
+      aws-partitions (~> 1, >= 1.239.0)
+      aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-resources (2.11.374)
-      aws-sdk-core (= 2.11.374)
-    aws-sigv4 (1.1.0)
-      aws-eventstream (~> 1.0, >= 1.0.2)
-    axiom-types (0.1.1)
-      descendants_tracker (~> 0.0.4)
-      ice_nine (~> 0.11.0)
-      thread_safe (~> 0.3, >= 0.3.1)
+    aws-sdk-kms (1.36.0)
+      aws-sdk-core (~> 3, >= 3.99.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-s3 (1.75.0)
+      aws-sdk-core (~> 3, >= 3.104.1)
+      aws-sdk-kms (~> 1)
+      aws-sigv4 (~> 1.1)
+    aws-sigv4 (1.2.1)
+      aws-eventstream (~> 1, >= 1.0.2)
+    azure-storage-blob (2.0.0)
+      azure-storage-common (~> 2.0)
+      nokogiri (~> 1.10.4)
+    azure-storage-common (2.0.1)
+      faraday (~> 1.0)
+      faraday_middleware (~> 1.0.0.rc1)
+      nokogiri (~> 1.10.4)
     babosa (1.0.2)
     base32 (0.3.2)
     batch-loader (1.4.0)
@@ -115,30 +128,28 @@ GEM
     benchmark-ips (2.3.0)
     benchmark-memory (0.1.2)
       memory_profiler (~> 0.9)
-    better_errors (2.5.0)
+    better_errors (2.7.1)
       coderay (>= 1.0.0)
       erubi (>= 1.0.0)
       rack (>= 0.9.0)
-    bindata (2.4.3)
+    bindata (2.4.8)
     binding_ninja (0.2.3)
-    binding_of_caller (0.8.0)
-      debug_inspector (>= 0.0.1)
     bootsnap (1.4.6)
       msgpack (~> 1.0)
     bootstrap_form (4.2.0)
       actionpack (>= 5.0)
       activemodel (>= 5.0)
     brakeman (4.2.1)
-    browser (2.5.3)
+    browser (4.2.0)
     builder (3.2.4)
-    bullet (6.0.2)
+    bullet (6.1.0)
       activesupport (>= 3.0.0)
       uniform_notifier (~> 1.11)
     bundler-audit (0.6.1)
       bundler (>= 1.2.0, < 3)
       thor (~> 0.18)
-    byebug (9.1.0)
-    capybara (3.22.0)
+    byebug (11.1.3)
+    capybara (3.33.0)
       addressable
       mini_mime (>= 0.1.3)
       nokogiri (~> 1.8)
@@ -153,8 +164,9 @@ GEM
       activemodel (>= 4.0.0)
       activesupport (>= 4.0.0)
       mime-types (>= 1.16)
-    character_set (1.1.2)
-    charlock_holmes (0.7.6)
+    cbor (0.5.9.6)
+    character_set (1.4.0)
+    charlock_holmes (0.7.7)
     childprocess (3.0.0)
     chunky_png (1.3.5)
     citrus (3.0.2)
@@ -163,20 +175,21 @@ GEM
       cork
       nap
       open4 (~> 1.3)
-    coderay (1.1.2)
-    coercible (1.0.0)
-      descendants_tracker (~> 0.0.1)
+    coderay (1.1.3)
     colored2 (3.1.2)
     commonmarker (0.20.1)
       ruby-enum (~> 0.5)
     concord (0.1.5)
       adamantium (~> 0.2.0)
       equalizer (~> 0.0.9)
-    concurrent-ruby (1.1.6)
+    concurrent-ruby (1.1.7)
     connection_pool (2.2.2)
     contracts (0.11.0)
     cork (0.3.0)
       colored2 (~> 3.1)
+    cose (1.0.0)
+      cbor (~> 0.5.9)
+      openssl-signature_algorithm (~> 0.4.0)
     countries (3.0.0)
       i18n_data (~> 0.8.0)
       sixarm_ruby_unaccent (~> 1.1)
@@ -185,24 +198,25 @@ GEM
       safe_yaml (~> 1.0.0)
     crass (1.0.6)
     creole (0.5.0)
+    crystalball (0.7.0)
+      git
     css_parser (1.7.0)
       addressable
     daemons (1.2.6)
-    danger (6.0.9)
+    danger (8.0.6)
       claide (~> 1.0)
       claide-plugins (>= 0.9.2)
       colored2 (~> 3.1)
       cork (~> 0.1)
-      faraday (~> 0.9)
+      faraday (>= 0.9.0, < 2.0)
       faraday-http-cache (~> 2.0)
-      git (~> 1.5)
-      kramdown (~> 2.0)
+      git (~> 1.7)
+      kramdown (~> 2.3)
       kramdown-parser-gfm (~> 1.0)
       no_proxy_fix
       octokit (~> 4.7)
       terminal-table (~> 1)
     database_cleaner (1.7.0)
-    debug_inspector (0.0.3)
     debugger-ruby_core_source (1.3.8)
     deckar01-task_list (2.3.1)
       html-pipeline
@@ -221,10 +235,8 @@ GEM
       ruby-statistics (>= 2.1)
       thor (>= 0.19, < 2)
       unicode_plot (>= 0.0.4, < 1.0.0)
-    descendants_tracker (0.0.4)
-      thread_safe (~> 0.3, >= 0.3.1)
     device_detector (1.0.0)
-    devise (4.7.1)
+    devise (4.7.3)
       bcrypt (~> 3.0)
       orm_adapter (~> 0.1)
       railties (>= 4.1.0)
@@ -242,26 +254,50 @@ GEM
     discordrb-webhooks-blackst0ne (3.3.0)
       rest-client (~> 2.0)
     docile (1.3.2)
-    domain_name (0.5.20180417)
+    domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
-    doorkeeper (5.0.3)
-      railties (>= 4.2)
-    doorkeeper-openid_connect (1.6.3)
-      doorkeeper (>= 5.0, < 5.2)
-      json-jwt (~> 1.6)
+    doorkeeper (5.3.3)
+      railties (>= 5)
+    doorkeeper-openid_connect (1.7.4)
+      doorkeeper (>= 5.2, < 5.5)
+      json-jwt (>= 1.11.0)
+    dry-configurable (0.11.5)
+      concurrent-ruby (~> 1.0)
+      dry-core (~> 0.4, >= 0.4.7)
+      dry-equalizer (~> 0.2)
+    dry-container (0.7.2)
+      concurrent-ruby (~> 1.0)
+      dry-configurable (~> 0.1, >= 0.1.3)
+    dry-core (0.4.9)
+      concurrent-ruby (~> 1.0)
+    dry-equalizer (0.3.0)
+    dry-inflector (0.2.0)
+    dry-logic (1.0.6)
+      concurrent-ruby (~> 1.0)
+      dry-core (~> 0.2)
+      dry-equalizer (~> 0.2)
+    dry-types (1.4.0)
+      concurrent-ruby (~> 1.0)
+      dry-container (~> 0.3)
+      dry-core (~> 0.4, >= 0.4.4)
+      dry-equalizer (~> 0.3)
+      dry-inflector (~> 0.1, >= 0.1.2)
+      dry-logic (~> 1.0, >= 1.0.2)
+    ecma-re-validator (0.2.1)
+      regexp_parser (~> 1.2)
     ed25519 (1.2.4)
-    elasticsearch (6.8.0)
-      elasticsearch-api (= 6.8.0)
-      elasticsearch-transport (= 6.8.0)
-    elasticsearch-api (6.8.0)
+    elasticsearch (6.8.2)
+      elasticsearch-api (= 6.8.2)
+      elasticsearch-transport (= 6.8.2)
+    elasticsearch-api (6.8.2)
       multi_json
-    elasticsearch-model (6.1.0)
+    elasticsearch-model (6.1.1)
       activesupport (> 3)
-      elasticsearch (> 1)
+      elasticsearch (~> 6)
       hashie
-    elasticsearch-rails (6.1.0)
-    elasticsearch-transport (6.8.0)
-      faraday
+    elasticsearch-rails (6.1.1)
+    elasticsearch-transport (6.8.2)
+      faraday (~> 1)
       multi_json
     email_reply_trimmer (0.1.6)
     email_spec (2.2.0)
@@ -277,7 +313,7 @@ GEM
       tzinfo
     eventmachine (1.2.7)
     excon (0.71.1)
-    execjs (2.6.0)
+    execjs (2.7.0)
     expression_parser (0.9.0)
     extended-markdown-filter (0.6.0)
       html-pipeline (~> 2.0)
@@ -286,22 +322,25 @@ GEM
     factory_bot_rails (5.1.0)
       factory_bot (~> 5.1.0)
       railties (>= 4.2.0)
-    faraday (0.15.4)
+    faraday (1.0.1)
       multipart-post (>= 1.2, < 3)
-    faraday-http-cache (2.0.0)
-      faraday (~> 0.8)
-    faraday_middleware (0.12.2)
-      faraday (>= 0.7.4, < 1.0)
-    faraday_middleware-aws-signers-v4 (0.1.7)
-      aws-sdk-resources (~> 2)
-      faraday (~> 0.9)
+    faraday-cookie_jar (0.0.7)
+      faraday (>= 0.8.0)
+      http-cookie (~> 1.0.0)
+    faraday-http-cache (2.2.0)
+      faraday (>= 0.8)
+    faraday_middleware (1.0.0)
+      faraday (~> 1.0)
+    faraday_middleware-aws-sigv4 (0.3.0)
+      aws-sigv4 (~> 1.0)
+      faraday (>= 0.15)
     faraday_middleware-multi_json (0.0.6)
       faraday_middleware
       multi_json
     fast_blank (1.0.0)
     fast_gettext (1.6.0)
     ffaker (2.10.0)
-    ffi (1.12.2)
+    ffi (1.13.1)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
       rake
@@ -330,11 +369,12 @@ GEM
       excon (~> 0.58)
       formatador (~> 0.2)
       mime-types
-    fog-google (1.9.1)
+    fog-google (1.11.0)
       fog-core (<= 2.1.0)
       fog-json (~> 1.2)
       fog-xml (~> 0.1.0)
-      google-api-client (~> 0.23.0)
+      google-api-client (>= 0.32, < 0.34)
+      google-cloud-env (~> 1.2)
     fog-json (1.2.0)
       fog-core
       multi_json (~> 1.10)
@@ -366,7 +406,7 @@ GEM
       json
     get_process_mem (0.2.5)
       ffi (~> 1.0)
-    gettext (3.2.9)
+    gettext (3.3.6)
       locale (>= 2.0.5)
       text (>= 1.3.0)
     gettext_i18n_rails (1.8.0)
@@ -376,36 +416,45 @@ GEM
       gettext_i18n_rails (>= 0.7.1)
       po_to_json (>= 1.0.0)
       rails (>= 3.2.0)
-    git (1.5.0)
-    gitaly (13.0.0.pre.rc1)
+    git (1.7.0)
+      rchardet (~> 1.8)
+    gitaly (13.5.0.pre.rc2)
       grpc (~> 1.0)
     github-markup (1.7.0)
     gitlab-chronic (0.10.5)
       numerizer (~> 0.2)
-    gitlab-labkit (0.12.0)
+    gitlab-fog-azure-rm (1.0.0)
+      azure-storage-blob (~> 2.0)
+      azure-storage-common (~> 2.0)
+      fog-core (= 2.1.0)
+      fog-json (~> 1.2.0)
+      mime-types
+      ms_rest_azure (~> 0.12.0)
+    gitlab-labkit (0.13.1)
       actionpack (>= 5.0.0, < 6.1.0)
       activesupport (>= 5.0.0, < 6.1.0)
       grpc (~> 1.19)
-      jaeger-client (~> 0.10)
+      jaeger-client (~> 1.1)
       opentracing (~> 0.4)
       redis (> 3.0.0, < 5.0.0)
     gitlab-license (1.0.0)
-    gitlab-mail_room (0.0.4)
+    gitlab-mail_room (0.0.7)
     gitlab-markup (1.7.1)
     gitlab-net-dns (0.9.1)
-    gitlab-puma (4.3.3.gitlab.2)
+    gitlab-pg_query (1.3.0)
+    gitlab-puma (4.3.5.gitlab.3)
       nio4r (~> 2.0)
     gitlab-puma_worker_killer (0.1.1.gitlab.1)
       get_process_mem (~> 0.2)
       gitlab-puma (>= 2.7, < 5)
     gitlab-sidekiq-fetcher (0.5.2)
       sidekiq (~> 5)
-    gitlab-styles (3.2.0)
-      rubocop (~> 0.74.0)
+    gitlab-styles (5.1.0)
+      rubocop (~> 0.89.1)
       rubocop-gitlab-security (~> 0.1.0)
-      rubocop-performance (~> 1.4.1)
-      rubocop-rails (~> 2.0)
-      rubocop-rspec (~> 1.36)
+      rubocop-performance (~> 1.8.1)
+      rubocop-rails (~> 2.8)
+      rubocop-rspec (~> 1.44)
     gitlab_chronic_duration (0.10.6.2)
       numerizer (~> 0.2)
     gitlab_omniauth-ldap (2.1.1)
@@ -419,46 +468,56 @@ GEM
       actionpack (>= 3.0)
       multi_json
       request_store (>= 1.0)
-    google-api-client (0.23.4)
+    google-api-client (0.33.2)
       addressable (~> 2.5, >= 2.5.1)
-      googleauth (>= 0.5, < 0.7.0)
+      googleauth (~> 0.9)
       httpclient (>= 2.8.1, < 3.0)
-      mime-types (~> 3.0)
+      mini_mime (~> 1.0)
       representable (~> 3.0)
       retriable (>= 2.0, < 4.0)
-    google-protobuf (3.8.0)
-    googleapis-common-protos-types (1.0.4)
-      google-protobuf (~> 3.0)
-    googleauth (0.6.6)
-      faraday (~> 0.12)
+      signet (~> 0.12)
+    google-cloud-env (1.4.0)
+      faraday (>= 0.17.3, < 2.0)
+    google-protobuf (3.12.4)
+    googleapis-common-protos-types (1.0.5)
+      google-protobuf (~> 3.11)
+    googleauth (0.12.0)
+      faraday (>= 0.17.3, < 2.0)
       jwt (>= 1.4, < 3.0)
-      memoist (~> 0.12)
+      memoist (~> 0.16)
       multi_json (~> 1.11)
       os (>= 0.9, < 2.0)
-      signet (~> 0.7)
+      signet (~> 0.14)
     gpgme (2.0.20)
       mini_portile2 (~> 2.3)
-    grape (1.1.0)
+    grape (1.4.0)
       activesupport
       builder
+      dry-types (>= 1.1)
       mustermann-grape (~> 1.0.0)
       rack (>= 1.3.0)
       rack-accept
-      virtus (>= 1.0.0)
     grape-entity (0.7.1)
       activesupport (>= 4.0)
       multi_json (>= 1.3.2)
-    grape-path-helpers (1.2.0)
+    grape-path-helpers (1.5.0)
       activesupport
-      grape (~> 1.0)
-      rake (~> 12)
+      grape (~> 1.3)
+      rake (> 12)
     grape_logging (1.8.3)
       grape
       rack
     graphiql-rails (1.4.10)
       railties
       sprockets-rails
-    graphql (1.10.5)
+    graphlient (0.4.0)
+      faraday (>= 1.0)
+      faraday_middleware
+      graphql-client
+    graphql (1.11.4)
+    graphql-client (0.16.0)
+      activesupport (>= 3.0)
+      graphql (~> 1.8)
     graphql-docs (1.6.0)
       commonmarker (~> 0.16)
       escape_utils (~> 1.2)
@@ -467,12 +526,12 @@ GEM
       graphql (~> 1.6)
       html-pipeline (~> 2.8)
       sass (~> 3.4)
-    grpc (1.24.0)
-      google-protobuf (~> 3.8)
+    grpc (1.30.2)
+      google-protobuf (~> 3.12)
       googleapis-common-protos-types (~> 1.0)
     gssapi (1.2.0)
       ffi (>= 1.0.1)
-    guard (2.15.1)
+    guard (2.16.2)
       formatador (>= 0.2.4)
       listen (>= 2.7, < 4.0)
       lumberjack (>= 1.0.12, < 2.0)
@@ -489,8 +548,9 @@ GEM
     haml (5.1.2)
       temple (>= 0.8.0)
       tilt
-    haml_lint (0.34.0)
-      haml (>= 4.0, < 5.2)
+    haml_lint (0.36.0)
+      haml (>= 4.0, < 5.3)
+      parallel (~> 1.10)
       rainbow
       rubocop (>= 0.50.0)
       sysexits (~> 1.1)
@@ -498,13 +558,14 @@ GEM
       temple (>= 0.8.2)
       thor
       tilt
+    hana (1.3.6)
     hangouts-chat (0.0.5)
-    hashdiff (0.3.8)
+    hashdiff (1.0.1)
     hashie (3.6.0)
     hashie-forbidden_attributes (0.1.1)
       hashie (>= 3.0)
-    health_check (2.6.0)
-      rails (>= 4.0)
+    health_check (3.0.0)
+      railties (>= 5.0)
     heapy (0.1.4)
     hipchat (1.5.2)
       httparty
@@ -515,21 +576,22 @@ GEM
     html2text (0.2.0)
       nokogiri (~> 1.6)
     htmlentities (4.3.4)
-    http (4.2.0)
+    http (4.4.1)
       addressable (~> 2.3)
       http-cookie (~> 1.0)
-      http-form_data (~> 2.0)
+      http-form_data (~> 2.2)
       http-parser (~> 1.2.0)
+    http-accept (1.7.0)
     http-cookie (1.0.3)
       domain_name (~> 0.5)
-    http-form_data (2.1.1)
+    http-form_data (2.3.0)
     http-parser (1.2.1)
       ffi-compiler (>= 1.0, < 2.0)
     httparty (0.16.4)
       mime-types (~> 3.0)
       multi_xml (>= 0.5.2)
     httpclient (2.8.3)
-    i18n (1.8.2)
+    i18n (1.8.5)
       concurrent-ruby (~> 1.0)
     i18n_data (0.8.0)
     icalendar (2.4.1)
@@ -537,27 +599,34 @@ GEM
     invisible_captcha (0.12.1)
       rails (>= 3.2.0)
     ipaddress (0.8.3)
-    jaeger-client (0.10.0)
+    jaeger-client (1.1.0)
       opentracing (~> 0.3)
       thrift
-    jaro_winkler (1.5.4)
     jira-ruby (2.0.0)
       activesupport
       atlassian-jwt
       multipart-post
       oauth (~> 0.5, >= 0.5.0)
     jmespath (1.4.0)
-    js_regex (3.1.1)
-      character_set (~> 1.1)
-      regexp_parser (~> 1.1)
+    js_regex (3.4.0)
+      character_set (~> 1.4)
+      regexp_parser (~> 1.5)
       regexp_property_values (~> 0.3)
     json (2.3.0)
-    json-jwt (1.11.0)
+    json-jwt (1.13.0)
       activesupport (>= 4.2)
       aes_key_wrap
       bindata
     json-schema (2.8.0)
       addressable (>= 2.4)
+    json_schemer (0.2.12)
+      ecma-re-validator (~> 0.2)
+      hana (~> 1.3)
+      regexp_parser (~> 1.5)
+      uri_template (~> 0.7)
+    jsonpath (1.0.5)
+      multi_json
+      to_regexp (~> 0.2.1)
     jwt (2.1.0)
     kaminari (1.2.1)
       activesupport (>= 4.1.0)
@@ -574,12 +643,14 @@ GEM
     kgio (2.11.3)
     knapsack (1.17.0)
       rake
-    kramdown (2.1.0)
+    kramdown (2.3.0)
+      rexml
     kramdown-parser-gfm (1.1.0)
       kramdown (~> 2.0)
-    kubeclient (4.6.0)
+    kubeclient (4.9.1)
       http (>= 3.0, < 5.0)
-      recursive-open-struct (~> 1.0, >= 1.0.4)
+      jsonpath (~> 1.0)
+      recursive-open-struct (~> 1.1, >= 1.1.1)
       rest-client (~> 2.0)
     launchy (2.4.3)
       addressable (~> 2.3)
@@ -589,60 +660,69 @@ GEM
       actionmailer (>= 3.2)
       letter_opener (~> 1.0)
       railties (>= 3.2)
-    license_finder (5.4.0)
+    license_finder (6.0.0)
       bundler
-      rubyzip
+      rubyzip (>= 1, < 3)
       thor
       toml (= 0.2.0)
       with_env (= 1.1.0)
       xml-simple
     licensee (8.9.2)
       rugged (~> 0.24)
-    listen (3.1.5)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
-      ruby_dep (~> 1.2)
-    locale (2.1.2)
+    listen (3.2.1)
+      rb-fsevent (~> 0.10, >= 0.10.3)
+      rb-inotify (~> 0.9, >= 0.9.10)
+    locale (2.1.3)
     lockbox (0.3.3)
-    lograge (0.10.0)
+    lograge (0.11.2)
       actionpack (>= 4)
       activesupport (>= 4)
       railties (>= 4)
       request_store (~> 1.0)
-    loofah (2.5.0)
+    loofah (2.7.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     lru_redux (1.1.0)
-    lumberjack (1.0.13)
+    lumberjack (1.2.7)
     mail (2.7.1)
       mini_mime (>= 0.1.1)
     marcel (0.3.3)
       mimemagic (~> 0.3.2)
-    marginalia (1.8.0)
+    marginalia (1.9.0)
       actionpack (>= 2.3)
       activerecord (>= 2.3)
     memoist (0.16.0)
     memoizable (0.4.2)
       thread_safe (~> 0.3, >= 0.3.1)
     memory_profiler (0.9.14)
-    method_source (0.9.2)
-    mime-types (3.2.2)
+    method_source (1.0.0)
+    mime-types (3.3.1)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2019.0331)
+    mime-types-data (3.2020.0512)
     mimemagic (0.3.5)
     mini_histogram (0.1.3)
-    mini_magick (4.9.5)
+    mini_magick (4.10.1)
     mini_mime (1.0.2)
     mini_portile2 (2.4.0)
     minitest (5.11.3)
-    msgpack (1.3.1)
+    ms_rest (0.7.6)
+      concurrent-ruby (~> 1.0)
+      faraday (>= 0.9, < 2.0.0)
+      timeliness (~> 0.3.10)
+    ms_rest_azure (0.12.0)
+      concurrent-ruby (~> 1.0)
+      faraday (>= 0.9, < 2.0.0)
+      faraday-cookie_jar (~> 0.0.6)
+      ms_rest (~> 0.7.6)
+    msgpack (1.3.3)
     multi_json (1.14.1)
     multi_xml (0.6.0)
     multipart-post (2.1.1)
     murmurhash3 (0.1.6)
-    mustermann (1.0.3)
-    mustermann-grape (1.0.0)
-      mustermann (~> 1.0.0)
+    mustermann (1.1.1)
+      ruby2_keywords (~> 0.0.1)
+    mustermann-grape (1.0.1)
+      mustermann (>= 1.0.0)
     nakayoshi_fork (0.0.4)
     nap (1.1.0)
     nenv (0.3.0)
@@ -650,19 +730,19 @@ GEM
     net-ntp (2.1.3)
     net-ssh (6.0.0)
     netrc (0.11.0)
-    nio4r (2.5.2)
+    nio4r (2.5.4)
     no_proxy_fix (0.1.2)
-    nokogiri (1.10.9)
+    nokogiri (1.10.10)
       mini_portile2 (~> 2.4.0)
-    nokogumbo (1.5.0)
-      nokogiri
+    nokogumbo (2.0.2)
+      nokogiri (~> 1.8, >= 1.8.4)
     notiffany (0.1.3)
       nenv (~> 0.1)
       shellany (~> 0.0)
     numerizer (0.2.0)
     oauth (0.5.4)
-    oauth2 (1.4.1)
-      faraday (>= 0.8, < 0.16.0)
+    oauth2 (1.4.4)
+      faraday (>= 0.8, < 2.0)
       jwt (>= 1.0, < 3.0)
       multi_json (~> 1.3)
       multi_xml (~> 0.5)
@@ -670,9 +750,13 @@ GEM
     octokit (4.15.0)
       faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
+    oj (3.10.6)
     omniauth (1.9.0)
       hashie (>= 3.4.6, < 3.7.0)
       rack (>= 1.6.2, < 3)
+    omniauth-atlassian-oauth2 (0.2.0)
+      omniauth (>= 1.1.1)
+      omniauth-oauth2 (>= 1.5)
     omniauth-auth0 (2.0.0)
       omniauth-oauth2 (~> 1.4)
     omniauth-authentiq (0.3.3)
@@ -722,13 +806,11 @@ GEM
     omniauth-twitter (1.4.0)
       omniauth-oauth (~> 1.1)
       rack
-    omniauth-ultraauth (0.0.2)
-      omniauth_openid_connect (~> 0.3.0)
-    omniauth_crowd (2.2.3)
+    omniauth_crowd (2.4.0)
       activesupport
       nokogiri (>= 1.4.4)
       omniauth (~> 1.0)
-    omniauth_openid_connect (0.3.3)
+    omniauth_openid_connect (0.3.5)
       addressable (~> 2.5)
       omniauth (~> 1.9)
       openid_connect (~> 1.1)
@@ -743,19 +825,21 @@ GEM
       validate_email
       validate_url
       webfinger (>= 1.0.1)
+    openssl (2.2.0)
+    openssl-signature_algorithm (0.4.0)
     opentracing (0.5.0)
-    optimist (3.0.0)
+    optimist (3.0.1)
     org-ruby (0.9.12)
       rubypants (~> 0.2)
     orm_adapter (0.5.0)
     os (1.0.0)
-    parallel (1.19.1)
-    parser (2.7.0.4)
-      ast (~> 2.4.0)
+    parallel (1.19.2)
+    parser (2.7.2.0)
+      ast (~> 2.4.1)
     parslet (1.8.2)
     peek (1.1.0)
       railties (>= 4.0.0)
-    pg (1.2.2)
+    pg (1.2.3)
     png_quantizator (0.2.1)
     po_to_json (1.0.1)
       json (>= 1.6.0)
@@ -771,57 +855,57 @@ GEM
       parser
       unparser
     procto (0.0.3)
-    prometheus-client-mmap (0.10.0)
-    pry (0.11.3)
-      coderay (~> 1.1.0)
-      method_source (~> 0.9.0)
-    pry-byebug (3.5.1)
-      byebug (~> 9.1)
-      pry (~> 0.10)
+    prometheus-client-mmap (0.12.0)
+    pry (0.13.1)
+      coderay (~> 1.1)
+      method_source (~> 1.0)
+    pry-byebug (3.9.0)
+      byebug (~> 11.0)
+      pry (~> 0.13.0)
     pry-rails (0.3.9)
       pry (>= 0.10.4)
-    public_suffix (4.0.3)
+    public_suffix (4.0.6)
     pyu-ruby-sasl (0.0.3.3)
     raabro (1.1.6)
-    rack (2.0.9)
+    rack (2.2.3)
     rack-accept (0.4.5)
       rack (>= 0.4)
     rack-attack (6.3.0)
       rack (>= 1.0, < 3)
     rack-cors (1.0.6)
       rack (>= 1.6.0)
-    rack-oauth2 (1.9.3)
+    rack-oauth2 (1.16.0)
       activesupport
       attr_required
       httpclient
-      json-jwt (>= 1.9.0)
-      rack
+      json-jwt (>= 1.11.0)
+      rack (>= 2.1.0)
     rack-protection (2.0.5)
       rack
     rack-proxy (0.6.0)
       rack
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
-    rack-timeout (0.5.1)
-    rails (6.0.3)
-      actioncable (= 6.0.3)
-      actionmailbox (= 6.0.3)
-      actionmailer (= 6.0.3)
-      actionpack (= 6.0.3)
-      actiontext (= 6.0.3)
-      actionview (= 6.0.3)
-      activejob (= 6.0.3)
-      activemodel (= 6.0.3)
-      activerecord (= 6.0.3)
-      activestorage (= 6.0.3)
-      activesupport (= 6.0.3)
+    rack-timeout (0.5.2)
+    rails (6.0.3.3)
+      actioncable (= 6.0.3.3)
+      actionmailbox (= 6.0.3.3)
+      actionmailer (= 6.0.3.3)
+      actionpack (= 6.0.3.3)
+      actiontext (= 6.0.3.3)
+      actionview (= 6.0.3.3)
+      activejob (= 6.0.3.3)
+      activemodel (= 6.0.3.3)
+      activerecord (= 6.0.3.3)
+      activestorage (= 6.0.3.3)
+      activesupport (= 6.0.3.3)
       bundler (>= 1.3.0)
-      railties (= 6.0.3)
+      railties (= 6.0.3.3)
       sprockets-rails (>= 2.0.0)
-    rails-controller-testing (1.0.4)
-      actionpack (>= 5.0.1.x)
-      actionview (>= 5.0.1.x)
-      activesupport (>= 5.0.1.x)
+    rails-controller-testing (1.0.5)
+      actionpack (>= 5.0.1.rc1)
+      actionview (>= 5.0.1.rc1)
+      activesupport (>= 5.0.1.rc1)
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
@@ -830,29 +914,30 @@ GEM
     rails-i18n (6.0.0)
       i18n (>= 0.7, < 2)
       railties (>= 6.0.0, < 7)
-    railties (6.0.3)
-      actionpack (= 6.0.3)
-      activesupport (= 6.0.3)
+    railties (6.0.3.3)
+      actionpack (= 6.0.3.3)
+      activesupport (= 6.0.3.3)
       method_source
       rake (>= 0.8.7)
       thor (>= 0.20.3, < 2.0)
     rainbow (3.0.0)
     raindrops (0.19.1)
-    rake (12.3.3)
-    rb-fsevent (0.10.2)
-    rb-inotify (0.9.10)
-      ffi (>= 0.5.0, < 2)
+    rake (13.0.1)
+    rb-fsevent (0.10.4)
+    rb-inotify (0.10.1)
+      ffi (~> 1.0)
     rblineprof (0.3.6)
       debugger-ruby_core_source (~> 1.3)
-    rbtrace (0.4.11)
+    rbtrace (0.4.14)
       ffi (>= 1.0.6)
       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
-    recursive-open-struct (1.1.1)
+    recursive-open-struct (1.1.2)
     redis (4.1.3)
     redis-actionpack (5.2.0)
       actionpack (>= 5, < 7)
@@ -861,7 +946,7 @@ GEM
     redis-activesupport (5.2.0)
       activesupport (>= 3, < 7)
       redis-store (>= 1.3, < 2)
-    redis-namespace (1.6.0)
+    redis-namespace (1.7.0)
       redis (>= 3.0.4)
     redis-rack (2.1.2)
       rack (>= 2.0.8, < 3)
@@ -872,8 +957,8 @@ GEM
       redis-store (>= 1.2, < 2)
     redis-store (1.8.1)
       redis (>= 4, < 5)
-    regexp_parser (1.5.1)
-    regexp_property_values (0.3.4)
+    regexp_parser (1.8.2)
+    regexp_property_values (0.3.5)
     representable (3.0.4)
       declarative (< 0.1.0)
       declarative-option (< 0.2.0)
@@ -883,14 +968,16 @@ GEM
     responders (3.0.0)
       actionpack (>= 5.0)
       railties (>= 5.0)
-    rest-client (2.0.2)
+    rest-client (2.1.0)
+      http-accept (>= 1.7.0, < 2.0)
       http-cookie (>= 1.0.2, < 2.0)
       mime-types (>= 1.16, < 4.0)
       netrc (~> 0.8)
     retriable (3.1.2)
+    rexml (3.2.4)
     rinku (2.0.0)
     rotp (2.1.2)
-    rouge (3.19.0)
+    rouge (3.25.0)
     rqrcode (0.7.0)
       chunky_png
     rqrcode-rails3 (0.1.7)
@@ -926,27 +1013,34 @@ GEM
     rspec-support (3.9.2)
     rspec_junit_formatter (0.4.1)
       rspec-core (>= 2, < 4, != 2.12.0)
-    rspec_profiling (0.0.5)
+    rspec_profiling (0.0.6)
       activerecord
       pg
       rails
       sqlite3
-    rubocop (0.74.0)
-      jaro_winkler (~> 1.5.1)
+    rubocop (0.89.1)
       parallel (~> 1.10)
-      parser (>= 2.6)
+      parser (>= 2.7.1.1)
       rainbow (>= 2.2.2, < 4.0)
+      regexp_parser (>= 1.7)
+      rexml
+      rubocop-ast (>= 0.3.0, < 1.0)
       ruby-progressbar (~> 1.7)
-      unicode-display_width (>= 1.4.0, < 1.7)
+      unicode-display_width (>= 1.4.0, < 2.0)
+    rubocop-ast (0.8.0)
+      parser (>= 2.7.1.5)
     rubocop-gitlab-security (0.1.1)
       rubocop (>= 0.51)
-    rubocop-performance (1.4.1)
-      rubocop (>= 0.71.0)
-    rubocop-rails (2.4.0)
+    rubocop-performance (1.8.1)
+      rubocop (>= 0.87.0)
+      rubocop-ast (>= 0.4.0)
+    rubocop-rails (2.8.1)
+      activesupport (>= 4.2.0)
       rack (>= 1.1)
-      rubocop (>= 0.72.0)
-    rubocop-rspec (1.37.0)
-      rubocop (>= 0.68.1)
+      rubocop (>= 0.87.0)
+    rubocop-rspec (1.44.1)
+      rubocop (~> 0.87)
+      rubocop-ast (>= 0.7.1)
     ruby-enum (0.7.2)
       i18n
     ruby-fogbugz (0.2.1)
@@ -956,18 +1050,20 @@ GEM
     ruby-saml (1.7.2)
       nokogiri (>= 1.5.10)
     ruby-statistics (2.1.2)
-    ruby_dep (1.5.0)
-    ruby_parser (3.13.1)
+    ruby2_keywords (0.0.2)
+    ruby_parser (3.15.0)
       sexp_processor (~> 4.9)
     rubyntlm (0.6.2)
     rubypants (0.2.0)
     rubyzip (2.0.0)
     rugged (0.28.4.1)
     safe_yaml (1.0.4)
-    sanitize (4.6.6)
+    safety_net_attestation (0.4.0)
+      jwt (~> 2.0)
+    sanitize (5.2.1)
       crass (~> 1.0.2)
-      nokogiri (>= 1.4.4)
-      nokogumbo (~> 1.4)
+      nokogiri (>= 1.8.0)
+      nokogumbo (~> 2.0)
     sass (3.5.5)
       sass-listen (~> 4.0.0)
     sass-listen (4.0.0)
@@ -985,52 +1081,53 @@ GEM
     sawyer (0.8.2)
       addressable (>= 2.3.5)
       faraday (> 0.8, < 2.0)
-    scss_lint (0.56.0)
-      rake (>= 0.9, < 13)
-      sass (~> 3.5.3)
+    scss_lint (0.59.0)
+      sass (~> 3.5, >= 3.5.5)
+    securecompare (1.0.0)
     seed-fu (2.3.7)
       activerecord (>= 3.1)
       activesupport (>= 3.1)
-    selenium-webdriver (3.142.6)
+    selenium-webdriver (3.142.7)
       childprocess (>= 0.5, < 4.0)
       rubyzip (>= 1.2.2)
-    sentry-raven (2.9.0)
-      faraday (>= 0.7.6, < 1.0)
+    sentry-raven (3.0.4)
+      faraday (>= 1.0)
     settingslogic (2.0.9)
-    sexp_processor (4.12.0)
+    sexp_processor (4.15.1)
     shellany (0.0.1)
     shoulda-matchers (4.0.1)
       activesupport (>= 4.2.0)
-    sidekiq (5.2.7)
+    sidekiq (5.2.9)
       connection_pool (~> 2.2, >= 2.2.2)
-      rack (>= 1.5.0)
+      rack (~> 2.0)
       rack-protection (>= 1.5.0)
-      redis (>= 3.3.5, < 5)
+      redis (>= 3.3.5, < 4.2)
     sidekiq-cron (1.0.4)
       fugit (~> 1.1)
       sidekiq (>= 4.2.1)
-    signet (0.11.0)
+    signet (0.14.0)
       addressable (~> 2.3)
-      faraday (~> 0.9)
+      faraday (>= 0.17.3, < 2.0)
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
     simple_po_parser (1.1.2)
     simplecov (0.18.5)
       docile (~> 1.1)
       simplecov-html (~> 0.11)
+    simplecov-cobertura (1.3.1)
+      simplecov (~> 0.8)
     simplecov-html (0.12.2)
     sixarm_ruby_unaccent (1.2.0)
-    slack-messenger (2.3.3)
+    slack-messenger (2.3.4)
     snowplow-tracker (0.6.1)
       contracts (~> 0.7, <= 0.11)
-    spring (2.0.2)
-      activesupport (>= 4.2)
+    spring (2.1.1)
     spring-commands-rspec (1.0.4)
       spring (>= 0.9.1)
     sprockets (3.7.2)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
-    sprockets-rails (3.2.1)
+    sprockets-rails (3.2.2)
       actionpack (>= 4.0)
       activesupport (>= 4.0)
       sprockets (>= 3.0.0)
@@ -1054,7 +1151,9 @@ GEM
     temple (0.8.2)
     terminal-table (1.8.0)
       unicode-display_width (~> 1.1, >= 1.1.1)
-    test-prof (0.10.0)
+    terser (1.0.2)
+      execjs (>= 0.3.0, < 3)
+    test-prof (0.12.0)
     text (1.3.1)
     thin (1.7.2)
       daemons (~> 1.0, >= 1.0.9)
@@ -1062,28 +1161,30 @@ GEM
       rack (>= 1, < 3)
     thor (0.20.3)
     thread_safe (0.3.6)
-    thrift (0.11.0.0)
+    thrift (0.13.0)
     tilt (2.0.10)
     timecop (0.9.1)
+    timeliness (0.3.10)
     timfel-krb5-auth (0.8.3)
+    to_regexp (0.2.1)
     toml (0.2.0)
       parslet (~> 1.8.0)
     toml-rb (1.0.0)
       citrus (~> 3.0, > 3.0)
+    tpm-key_attestation (0.9.0)
+      bindata (~> 2.4)
+      openssl-signature_algorithm (~> 0.4.0)
     truncato (0.7.11)
       htmlentities (~> 4.3.1)
       nokogiri (>= 1.7.0, <= 2.0)
-    tzinfo (1.2.7)
+    tzinfo (1.2.8)
       thread_safe (~> 0.1)
     u2f (0.2.1)
     uber (0.1.0)
-    uglifier (2.7.2)
-      execjs (>= 0.3.0)
-      json (>= 1.8.0)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.7.5)
-    unicode-display_width (1.6.0)
+    unf_ext (0.0.7.7)
+    unicode-display_width (1.7.0)
     unicode_plot (0.0.4)
       enumerable-statistics (>= 2.0.1)
     unicode_utils (1.4.0)
@@ -1104,6 +1205,7 @@ GEM
       equalizer (~> 0.0.9)
       parser (>= 2.6.5)
       procto (~> 0.0.2)
+    uri_template (0.7.0)
     valid_email (0.1.3)
       activemodel
       mail (>= 2.6.1)
@@ -1113,30 +1215,33 @@ GEM
     validate_url (1.0.8)
       activemodel (>= 3.0.0)
       public_suffix
-    validates_hostname (1.0.6)
+    validates_hostname (1.0.10)
       activerecord (>= 3.0)
       activesupport (>= 3.0)
     version_sorter (2.2.4)
-    virtus (1.0.5)
-      axiom-types (~> 0.1)
-      coercible (~> 1.0)
-      descendants_tracker (~> 0.0, >= 0.0.3)
-      equalizer (~> 0.0, >= 0.0.9)
     vmstat (2.3.0)
     warden (1.2.8)
       rack (>= 2.0.6)
+    webauthn (2.3.0)
+      android_key_attestation (~> 0.3.0)
+      awrence (~> 1.1)
+      bindata (~> 2.4)
+      cbor (~> 0.5.9)
+      cose (~> 1.0)
+      openssl (~> 2.0)
+      safety_net_attestation (~> 0.4.0)
+      securecompare (~> 1.0)
+      tpm-key_attestation (~> 0.9.0)
     webfinger (1.1.0)
       activesupport
       httpclient (>= 2.4)
-    webmock (3.5.1)
+    webmock (3.9.1)
       addressable (>= 2.3.6)
       crack (>= 0.3.2)
-      hashdiff
-    webpack-rails (0.9.11)
-      railties (>= 3.2.0)
-    websocket-driver (0.7.1)
+      hashdiff (>= 0.4.0, < 2.0.0)
+    websocket-driver (0.7.3)
       websocket-extensions (>= 0.1.0)
-    websocket-extensions (0.1.4)
+    websocket-extensions (0.1.5)
     wikicloth (0.8.1)
       builder
       expression_parser
@@ -1145,66 +1250,69 @@ GEM
     xml-simple (1.1.5)
     xpath (3.2.0)
       nokogiri (~> 1.8)
-    zeitwerk (2.3.0)
+    yajl-ruby (1.4.1)
+    zeitwerk (2.4.1)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
   RedCloth (~> 4.3.2)
-  ace-rails-ap (~> 4.1.0)
-  acme-client (~> 2.0.5)
+  acme-client (~> 2.0, >= 2.0.6)
   activerecord-explain-analyze (~> 0.1)
   acts-as-taggable-on (~> 6.0)
   addressable (~> 2.7)
   akismet (~> 3.0)
-  apollo_upload_server (~> 2.0.0.beta3)
-  asana (~> 0.9)
+  apollo_upload_server (~> 2.0.2)
+  asana (= 0.10.2)
   asciidoctor (~> 2.0.10)
   asciidoctor-include-ext (~> 0.3.1)
   asciidoctor-plantuml (~> 0.0.12)
   atlassian-jwt (~> 0.2.0)
   attr_encrypted (~> 3.1.0)
   awesome_print
-  aws-sdk
+  aws-sdk-cloudformation (~> 1)
+  aws-sdk-core (~> 3)
+  aws-sdk-s3 (~> 1)
   babosa (~> 1.0.2)
   base32 (~> 0.3.0)
   batch-loader (~> 1.4.0)
+  bcrypt (= 3.1.12)
   bcrypt_pbkdf (~> 1.0)
   benchmark-ips (~> 2.3.0)
   benchmark-memory (~> 0.1)
-  better_errors (~> 2.5.0)
-  binding_of_caller (~> 0.8.0)
+  better_errors (~> 2.7.1)
   bootsnap (~> 1.4.6)
   bootstrap_form (~> 4.2.0)
   brakeman (~> 4.2)
-  browser (~> 2.5)
-  bullet (~> 6.0.2)
+  browser (~> 4.2)
+  bullet (~> 6.1.0)
   bundler-audit (~> 0.6.1)
-  capybara (~> 3.22.0)
+  capybara (~> 3.33.0)
   capybara-screenshot (~> 1.0.22)
   carrierwave (~> 1.3)
-  charlock_holmes (~> 0.7.5)
+  charlock_holmes (~> 0.7.7)
   commonmarker (~> 0.20)
   concurrent-ruby (~> 1.1)
   connection_pool (~> 2.0)
   countries (~> 3.0)
   creole (~> 0.5.0)
-  danger (~> 6.0)
+  crystalball (~> 0.7.0)
+  danger (~> 8.0.6)
   database_cleaner (~> 1.7.0)
   deckar01-task_list (= 2.3.1)
   default_value_for (~> 3.3.0)
   derailed_benchmarks
   device_detector
-  devise (~> 4.6)
+  devise (~> 4.7.2)
   devise-two-factor (~> 3.1.0)
   diff_match_patch (~> 0.1.0)
   diffy (~> 3.3)
   discordrb-webhooks-blackst0ne (~> 3.3)
-  doorkeeper (~> 5.0.3)
-  doorkeeper-openid_connect (~> 1.6.3)
+  doorkeeper (~> 5.3.0)
+  doorkeeper-openid_connect (~> 1.7.4)
   ed25519 (~> 1.2)
-  elasticsearch-api (~> 6.8)
+  elasticsearch-api (~> 6.8.2)
   elasticsearch-model (~> 6.1)
   elasticsearch-rails (~> 6.1)
   email_reply_trimmer (~> 0.1)
@@ -1212,8 +1320,8 @@ DEPENDENCIES
   erubi (~> 1.9.0)
   escape_utils (~> 1.1)
   factory_bot_rails (~> 5.1.0)
-  faraday (~> 0.12)
-  faraday_middleware-aws-signers-v4
+  faraday (~> 1.0)
+  faraday_middleware-aws-sigv4 (~> 0.3.0)
   fast_blank
   ffaker (~> 2.10)
   flipper (~> 0.17.1)
@@ -1223,7 +1331,7 @@ DEPENDENCIES
   fog-aliyun (~> 0.3)
   fog-aws (~> 3.5)
   fog-core (= 2.1.0)
-  fog-google (~> 1.9)
+  fog-google (~> 1.11)
   fog-local (~> 0.6)
   fog-openstack (~> 1.0)
   fog-rackspace (~> 0.1.1)
@@ -1231,70 +1339,78 @@ DEPENDENCIES
   fugit (~> 1.2.1)
   fuubar (~> 2.2.0)
   gemojione (~> 3.3)
-  gettext (~> 3.2.2)
+  gettext (~> 3.3)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 13.0.0.pre.rc1)
+  gitaly (~> 13.5.0.pre.rc2)
   github-markup (~> 1.7.0)
   gitlab-chronic (~> 0.10.5)
-  gitlab-labkit (= 0.12.0)
+  gitlab-fog-azure-rm (~> 1.0)
+  gitlab-labkit (= 0.13.1)
   gitlab-license (~> 1.0)
-  gitlab-mail_room (~> 0.0.4)
+  gitlab-mail_room (~> 0.0.7)
   gitlab-markup (~> 1.7.1)
   gitlab-net-dns (~> 0.9.1)
+  gitlab-pg_query (~> 1.3)
   gitlab-puma (~> 4.3.3.gitlab.2)
   gitlab-puma_worker_killer (~> 0.1.1.gitlab.1)
   gitlab-sidekiq-fetcher (= 0.5.2)
-  gitlab-styles (~> 3.2.0)
+  gitlab-styles (~> 5.1.0)
   gitlab_chronic_duration (~> 0.10.6.2)
   gitlab_omniauth-ldap (~> 2.1.1)
   gon (~> 6.2)
-  google-api-client (~> 0.23)
-  google-protobuf (~> 3.8.0)
+  google-api-client (~> 0.33)
+  google-protobuf (~> 3.12)
   gpgme (~> 2.0.19)
-  grape (~> 1.1.0)
+  grape (= 1.4.0)
   grape-entity (~> 0.7.1)
-  grape-path-helpers (~> 1.2)
+  grape-path-helpers (~> 1.5)
   grape_logging (~> 1.7)
   graphiql-rails (~> 1.4.10)
-  graphql (~> 1.10.5)
+  graphlient (~> 0.4.0)
+  graphql (~> 1.11.4)
   graphql-docs (~> 1.6.0)
-  grpc (~> 1.24.0)
+  grpc (~> 1.30.2)
   gssapi
   guard-rspec
-  haml_lint (~> 0.34.0)
+  haml_lint (~> 0.36.0)
   hamlit (~> 2.11.0)
   hangouts-chat (~> 0.0.5)
+  hashie
   hashie-forbidden_attributes
-  health_check (~> 2.6.0)
+  health_check (~> 3.0)
   hipchat (~> 1.5.0)
   html-pipeline (~> 2.12)
   html2text
   httparty (~> 0.16.4)
   icalendar
   invisible_captcha (~> 0.12.1)
+  ipaddress (~> 0.8.3)
   jira-ruby (~> 2.0.0)
-  js_regex (~> 3.1)
+  js_regex (~> 3.4)
   json (~> 2.3.0)
   json-schema (~> 2.8.0)
+  json_schemer (~> 0.2.12)
   jwt (~> 2.1.0)
   kaminari (~> 1.0)
   knapsack (~> 1.17)
-  kubeclient (~> 4.6.0)
+  kramdown (~> 2.3.0)
+  kubeclient (~> 4.9.1)
   letter_opener_web (~> 1.3.4)
-  license_finder (~> 5.4)
+  license_finder (~> 6.0)
   licensee (~> 8.9)
   lockbox (~> 0.3.3)
   lograge (~> 0.5)
   loofah (~> 2.2)
   lru_redux
   mail (= 2.7.1)
-  marginalia (~> 1.8.0)
+  marginalia (~> 1.9.0)
   memory_profiler (~> 0.9)
-  method_source (~> 0.8)
+  method_source (~> 1.0)
   mimemagic (~> 0.3.2)
-  mini_magick
+  mini_magick (~> 4.10.1)
   minitest (~> 5.11.0)
+  multi_json (~> 1.14.1)
   nakayoshi_fork (~> 0.0.4)
   net-ldap
   net-ntp
@@ -1302,7 +1418,9 @@ DEPENDENCIES
   nokogiri (~> 1.10.9)
   oauth2 (~> 1.4)
   octokit (~> 4.15)
+  oj (~> 3.10.6)
   omniauth (~> 1.8)
+  omniauth-atlassian-oauth2 (~> 0.2.0)
   omniauth-auth0 (~> 2.0.0)
   omniauth-authentiq (~> 0.3.3)
   omniauth-azure-oauth2 (~> 0.0.9)
@@ -1317,25 +1435,24 @@ DEPENDENCIES
   omniauth-saml (~> 1.10)
   omniauth-shibboleth (~> 1.3.0)
   omniauth-twitter (~> 1.4)
-  omniauth-ultraauth (~> 0.0.2)
-  omniauth_crowd (~> 2.2.0)
-  omniauth_openid_connect (~> 0.3.3)
+  omniauth_crowd (~> 2.4.0)
+  omniauth_openid_connect (~> 0.3.5)
   org-ruby (~> 0.9.12)
   parallel (~> 1.19)
   peek (~> 1.1)
   pg (~> 1.1)
   png_quantizator (~> 0.2.1)
   premailer-rails (~> 1.10.3)
-  prometheus-client-mmap (~> 0.10.0)
-  pry-byebug (~> 3.5.1)
+  prometheus-client-mmap (~> 0.12.0)
+  pry-byebug (~> 3.9.0)
   pry-rails (~> 0.3.9)
-  rack (~> 2.0.9)
+  rack (~> 2.2.3)
   rack-attack (~> 6.3.0)
   rack-cors (~> 1.0.6)
-  rack-oauth2 (~> 1.9.3)
+  rack-oauth2 (~> 1.16.0)
   rack-proxy (~> 0.6.0)
-  rack-timeout
-  rails (~> 6.0.3)
+  rack-timeout (~> 0.5.1)
+  rails (~> 6.0.3.1)
   rails-controller-testing
   rails-i18n (~> 6.0)
   rainbow (~> 3.0)
@@ -1346,66 +1463,65 @@ DEPENDENCIES
   re2 (~> 1.2.0)
   recaptcha (~> 4.11)
   redis (~> 4.0)
-  redis-namespace (~> 1.6.0)
+  redis-namespace (~> 1.7.0)
   redis-rails (~> 5.0.2)
   request_store (~> 1.5)
   responders (~> 3.0)
   retriable (~> 3.1.2)
-  rouge (~> 3.19.0)
+  rouge (~> 3.25.0)
   rqrcode-rails3 (~> 0.1.7)
   rspec-parameterized
   rspec-rails (~> 4.0.0)
   rspec-retry (~> 0.6.1)
   rspec_junit_formatter
-  rspec_profiling (~> 0.0.5)
-  rubocop (~> 0.74.0)
-  rubocop-performance (~> 1.4.1)
-  rubocop-rspec (~> 1.37.0)
+  rspec_profiling (~> 0.0.6)
   ruby-fogbugz (~> 0.2.1)
   ruby-prof (~> 1.3.0)
   ruby-progressbar
-  ruby_parser (~> 3.8)
+  ruby_parser (~> 3.15)
   rubyzip (~> 2.0.0)
   rugged (~> 0.28)
-  sanitize (~> 4.6)
+  sanitize (~> 5.2.1)
   sassc-rails (~> 2.1.0)
-  scss_lint (~> 0.56.0)
+  scss_lint (~> 0.59.0)
   seed-fu (~> 2.3.7)
   selenium-webdriver (~> 3.142)
-  sentry-raven (~> 2.9)
+  sentry-raven (~> 3.0)
   settingslogic (~> 2.0.9)
   shoulda-matchers (~> 4.0.1)
   sidekiq (~> 5.2.7)
   sidekiq-cron (~> 1.0)
   simple_po_parser (~> 1.1.2)
   simplecov (~> 0.18.5)
-  slack-messenger (~> 2.3.3)
+  simplecov-cobertura (~> 1.3.1)
+  slack-messenger (~> 2.3.4)
   snowplow-tracker (~> 0.6.1)
-  spring (~> 2.0.0)
+  spring (~> 2.1.0)
   spring-commands-rspec (~> 1.0.4)
   sprockets (~> 3.7.0)
   sshkey (~> 2.0)
   stackprof (~> 0.2.15)
   state_machines-activerecord (~> 0.6.0)
   sys-filesystem (~> 1.1.6)
-  test-prof (~> 0.10.0)
+  terser (= 1.0.2)
+  test-prof (~> 0.12.0)
   thin (~> 1.7.0)
   timecop (~> 0.9.1)
   toml-rb (~> 1.0.0)
   truncato (~> 0.7.11)
   u2f (~> 0.2.1)
-  uglifier (~> 2.7.2)
   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.6)
+  validates_hostname (~> 1.0.10)
   version_sorter (~> 2.2.4)
   vmstat (~> 2.3.0)
-  webmock (~> 3.5.1)
-  webpack-rails (~> 0.9.10)
+  webauthn (~> 2.3)
+  webmock (~> 3.9.1)
   wikicloth (= 0.8.1)
+  yajl-ruby (~> 1.4.1)
 
 BUNDLED WITH
    2.1.4
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 7156347be05e4..651b418234c4f 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -9,26 +9,16 @@
     };
     version = "0.0.7";
   };
-  ace-rails-ap = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "14wj9gsiy7rm0lvs27ffsrh92wndjksj6rlfj3n7jhv1v77w9v2h";
-      type = "gem";
-    };
-    version = "4.1.2";
-  };
   acme-client = {
     dependencies = ["faraday"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k9pddds2kfw0br2c153csly4248w9rppkvslx46gncadp9gdb4n";
+      sha256 = "1nwkzjamvg946xh2pv82hkwxb7vqq6gakig014gflss0cwx7bbxp";
       type = "gem";
     };
-    version = "2.0.5";
+    version = "2.0.6";
   };
   actioncable = {
     dependencies = ["actionpack" "nio4r" "websocket-driver"];
@@ -36,10 +26,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lvbyv15j3g3xhywr8jdgv5rjn26mz7430886njjfrd12x812szy";
+      sha256 = "1wpmxbprsqclna9xpa6b7sspjb89p6jqfxalasa9f984hx77dx27";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -47,10 +37,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nwvx83lha87052jywaiqq284nabp3h5lfq7vrb01myh6cr3ggaq";
+      sha256 = "0smcxpn3glnmid3v2pk04sb3bdifbw7ad1c7fq6wfijkrpih8jiw";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
@@ -58,10 +48,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16d40j1hcak5p9185dbb015difw12m5f3wjfbh4mw9w8agqsc8mr";
+      sha256 = "1spq0dbfn0qkqg9sq0rsjn360b4j36zly8hawaivkrwr3rsvyz75";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -69,10 +59,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v885hs35r8217py08z5k1wvgfzfml64g9wf5v3djgh8mhlf5nfn";
+      sha256 = "1p873nqwmpsvmkb5n86d70wndx1qhy15pc9mbcd1mc8sj174578b";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -80,10 +70,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00w8a5vxs1rlbn0innhrwhjjavmgx0scnkz8h7k83df9l1s7f70j";
+      sha256 = "05ysfz9dwnncdx0g452by7jdr35yryz6lmcrbb4r5wgjm57b4n25";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -91,10 +81,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s6fr50l714rvzr9vavg1ckgx5xjj5zz7dca42xxjp4jkr7jva7q";
+      sha256 = "08pvmjddlw01q5r9zdfgddwp4csndpf5i2w47677z5r36jznz36q";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -102,10 +92,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qr5p1sijan8k2m39w602s1mn3bwwsl7jm14drsgdhvdx5ilwg7b";
+      sha256 = "0w54ckvc229iaax879hkhyc93j7z8p0v7acp6mk3h8xjfvmwy5jp";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -113,10 +103,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pi9waxcvb8gxwp4i4wmxszyqhr28gn9jzbq1ivy84g1q658lmqz";
+      sha256 = "166jlx6kbby01vr37srh081a9fykgsz873yg5i9gl2ar3vw9gs56";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -124,10 +114,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wkm8741i00l5cq88wl9nr131wh955x4cjg2q2d60m3qhpqbxirv";
+      sha256 = "0y2a4ss6ld6yrhpcbcb3kjn5gj6zk9qklp2aq5rl1awl8vbdbdb7";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   activerecord-explain-analyze = {
     dependencies = ["activerecord" "pg"];
@@ -146,10 +136,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yy832p0q7gxp1vbncb677y35y112d2f6mvf131n0m2w35ig9m4f";
+      sha256 = "0nvfjkq979m1h4mk1ys7m4irwpswn4l9arb9yi06ffqpi1lpfl31";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -157,10 +147,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0shh34xx9ygxb57s8mag8l22klvjfnk1c4jbjvchk16r6z0ps326";
+      sha256 = "1dmkqbvndbz011a1byg6f990936vfadbnwjwjw9vjzr4kd8bxk96";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   acts-as-taggable-on = {
     dependencies = ["activerecord"];
@@ -200,10 +190,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0li86k0g812jkzrppb2fvqngvzp09nygywjpn81nx90s01wxqw07";
+      sha256 = "19bn0y70qm6mfj4y1m0j3s8ggh6dvxwrwrj5vfamhdrpddsz8ddr";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.1.0";
   };
   akismet = {
     groups = ["default"];
@@ -215,16 +205,26 @@
     };
     version = "3.0.0";
   };
+  android_key_attestation = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02spc1sh7zsljl02v9d5rdb717b628vw2k7jkkplifyjk4db0zj6";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
   apollo_upload_server = {
     dependencies = ["graphql" "rails"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0riijpyicbkqsr46w4mfhh3pq2yrmakkz8mmgbrfjhzbyzac25na";
+      sha256 = "0xk54h9mmzhrbgbmk33v38pavb8w6421mx2yrgsdarkfl9fr90y3";
       type = "gem";
     };
-    version = "2.0.0.beta.3";
+    version = "2.0.2";
   };
   asana = {
     dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
@@ -232,10 +232,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19yr6ibz481jizvx0cjfvql142v8izi474c4vmwy9qzksyq2xhdj";
+      sha256 = "0c8n8i3jb2q09l6rgcw0lb4sq85jzz6vywqlrd0ivq989zh3sq2l";
       type = "gem";
     };
-    version = "0.9.3";
+    version = "0.10.2";
   };
   asciidoctor = {
     groups = ["default"];
@@ -274,10 +274,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
+      sha256 = "1l3468czzjmxl93ap40hp7z94yxp4nbag0bxqs789bm30md90m2a";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.4.1";
   };
   atlassian-jwt = {
     dependencies = ["jwt"];
@@ -321,48 +321,79 @@
     };
     version = "1.8.0";
   };
+  awrence = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15zwdli370jfsj6jypv7vrqf4vv4ac4784faw7ar5v88fk4q9rcv";
+      type = "gem";
+    };
+    version = "1.1.1";
+  };
   aws-eventstream = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "100g77a5ixg4p5zwq77f28n2pdkk0y481f7v83qrlmnj22318qq6";
+      sha256 = "0r0pn66yqrdkrfdin7qdim0yj2x75miyg4wp6mijckhzhrjb7cv5";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.1.0";
   };
-  aws-sdk = {
-    dependencies = ["aws-sdk-resources"];
+  aws-partitions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yvl9bxzaxgcyzix2yw46cgll9nl0xfg5qx1j6y3xc1i78rk7vy0";
+      sha256 = "12q3swh4f44iqlq2md9lphg8csi0hd35jhgmkkkji9n0mgay4ggh";
       type = "gem";
     };
-    version = "2.11.374";
+    version = "1.345.0";
+  };
+  aws-sdk-cloudformation = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09kb3k5vpymg846gajc5d3wznww63yiv3ygdf4v42d4pf4wpbr1i";
+      type = "gem";
+    };
+    version = "1.41.0";
   };
   aws-sdk-core = {
-    dependencies = ["aws-sigv4" "jmespath"];
+    dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xfv8nfz8n700z29di51mcyyrnmbpq7flff4hx9mm92avnly1ysy";
+      type = "gem";
+    };
+    version = "3.104.3";
+  };
+  aws-sdk-kms = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d7nw1jihv7rglcmkd3hhidjflbzq5ik63n43q27pmx8ki108rd9";
+      sha256 = "0rpwpj4f4q9wdrbgiqngzwfdaaqyz0iif8sv16z6z0mm6y3cb06q";
       type = "gem";
     };
-    version = "2.11.374";
+    version = "1.36.0";
   };
-  aws-sdk-resources = {
-    dependencies = ["aws-sdk-core"];
+  aws-sdk-s3 = {
+    dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qx2a67vsw8rz1y0m04f97p1q4zx7miy06a5ck78hm77nvsigjj4";
+      sha256 = "068xx6wp86wkmikdzg4wqxmg570hc3ydp8211j02g13djjr3k28n";
       type = "gem";
     };
-    version = "2.11.374";
+    version = "1.75.0";
   };
   aws-sigv4 = {
     dependencies = ["aws-eventstream"];
@@ -370,21 +401,32 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dfc8i5cxjwlvi4b665lbpbwvks8a6wfy3vfmwr3pjdmxwdmc2cs";
+      sha256 = "0aknh3q37rq3ixxa84x2p26g8a15zmiig2rm1pmailsb9vqhfh3j";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.1";
   };
-  axiom-types = {
-    dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
+  azure-storage-blob = {
+    dependencies = ["azure-storage-common" "nokogiri"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1";
+      sha256 = "0qpvjyaq8478hw4cxcf8lr303wn8g9mhrfmvihyzn3zn9hll4zvd";
       type = "gem";
     };
-    version = "0.1.1";
+    version = "2.0.0";
+  };
+  azure-storage-common = {
+    dependencies = ["faraday" "faraday_middleware" "nokogiri"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nhjw77r65xrkdn2h6cd76mglgx676hyr58igyfb9f7zbgvjp69s";
+      type = "gem";
+    };
+    version = "2.0.1";
   };
   babosa = {
     groups = ["default"];
@@ -463,20 +505,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pqnxxsqqs7vnqvamk5bzs84dv584g9s0qaf2vqb1v2aj5dabcg7";
+      sha256 = "0kn7rv81i2r462k56v29i3s8abcmfcpfj9axia736mwjvv0app2k";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.7.1";
   };
   bindata = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kxy917xyxckifmnawff65j7g6yb3wh2s45npjq9lqjbi1p86lsr";
+      sha256 = "1bmlqjb5h1ry6wm2d903d6yxibpqzzxwqczvlicsqv0vilaca5ic";
       type = "gem";
     };
-    version = "2.4.3";
+    version = "2.4.8";
   };
   binding_ninja = {
     groups = ["default" "development" "test"];
@@ -488,17 +530,6 @@
     };
     version = "0.2.3";
   };
-  binding_of_caller = {
-    dependencies = ["debug_inspector"];
-    groups = ["development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g";
-      type = "gem";
-    };
-    version = "0.8.0";
-  };
   bootsnap = {
     dependencies = ["msgpack"];
     groups = ["default"];
@@ -536,10 +567,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sdx0ny34i6vqxdsc7sy9g0nafdbrw8kvvb5xh9m18x1bzpqk92f";
+      sha256 = "0q1yzvbqp0mykswipq3w00ljw9fgkhjfrij3hkwi7cx85r14n6gw";
       type = "gem";
     };
-    version = "2.5.3";
+    version = "4.2.0";
   };
   builder = {
     groups = ["default" "development" "test"];
@@ -557,10 +588,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h16vrqblcdlizgbidk7bgmhcfb96a9y5jw117my5yhs07yp0i3s";
+      sha256 = "18ifwnvn13755qkfigapyj5bflpby3phxzbb7x5336d0kzv5k7d9";
       type = "gem";
     };
-    version = "6.0.2";
+    version = "6.1.0";
   };
   bundler-audit = {
     dependencies = ["thor"];
@@ -582,21 +613,21 @@
     }];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vv7s88w8jb1qg4qz3jrs3x3y5d9jfyyl7wfiz78b5x95ydvx41q";
+      sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194";
       type = "gem";
     };
-    version = "9.1.0";
+    version = "11.1.3";
   };
   capybara = {
     dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"];
-    groups = ["development" "test"];
+    groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y7ncfji4s3h3wdr2hwsrd32k0va92a6lyx2x8w6a3vkbc94kpch";
+      sha256 = "0ji9kyb01dpnjbvpyb0c481cpnisd6wx6div6rywi9fihk66627w";
       type = "gem";
     };
-    version = "3.22.0";
+    version = "3.33.0";
   };
   capybara-screenshot = {
     dependencies = ["capybara" "launchy"];
@@ -620,25 +651,35 @@
     };
     version = "1.3.1";
   };
+  cbor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0511idr8xps9625nh3kxr68sdy6l3xy2kcz7r57g47fxb1v18jj3";
+      type = "gem";
+    };
+    version = "0.5.9.6";
+  };
   character_set = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "114npdbw1ivyx4vnid8ncnjw4wnjcipf2lvihlg3ibbh7an0m9s9";
+      sha256 = "0affq9n77vwy897ri2zhmfinfagf37hcwwimrccy1bcxan9mj3h3";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.4.0";
   };
   charlock_holmes = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
+      sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p";
       type = "gem";
     };
-    version = "0.7.6";
+    version = "0.7.7";
   };
   childprocess = {
     groups = ["default" "test"];
@@ -700,21 +741,10 @@
     }];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
+      sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw";
       type = "gem";
     };
-    version = "1.1.2";
-  };
-  coercible = {
-    dependencies = ["descendants_tracker"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
-      type = "gem";
-    };
-    version = "1.0.0";
+    version = "1.1.3";
   };
   colored2 = {
     groups = ["default" "development"];
@@ -753,10 +783,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl";
+      sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
       type = "gem";
     };
-    version = "1.1.6";
+    version = "1.1.7";
   };
   connection_pool = {
     groups = ["default"];
@@ -789,6 +819,17 @@
     };
     version = "0.3.0";
   };
+  cose = {
+    dependencies = ["cbor" "openssl-signature_algorithm"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1h1vcirk1vpr992xmnwf5z77fpizjwn4xzq2vrrjhvdmjynvl3jj";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
   countries = {
     dependencies = ["i18n_data" "sixarm_ruby_unaccent" "unicode_utils"];
     groups = ["default"];
@@ -831,6 +872,17 @@
     };
     version = "0.5.0";
   };
+  crystalball = {
+    dependencies = ["git"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1why2py76hv2m7i3a1im3zi5zcjcvz2l1nvshzndlwah58vrywkf";
+      type = "gem";
+    };
+    version = "0.7.0";
+  };
   css_parser = {
     dependencies = ["addressable"];
     groups = ["default"];
@@ -858,10 +910,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gyxfs7pkcg90llhpl2nwfqqcqi0qngqhk8gpyrffj6m0lm1m6wl";
+      sha256 = "0lrifb0kbjk9033pzjnp8qqqkg2z212h8dgj71k15c6wb6rycqa7";
       type = "gem";
     };
-    version = "6.0.9";
+    version = "8.0.6";
   };
   database_cleaner = {
     groups = ["development" "test"];
@@ -873,16 +925,6 @@
     };
     version = "1.7.0";
   };
-  debug_inspector = {
-    groups = ["default" "development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0";
-      type = "gem";
-    };
-    version = "0.0.3";
-  };
   debugger-ruby_core_source = {
     groups = ["default" "development"];
     platforms = [{
@@ -950,17 +992,6 @@
     };
     version = "1.7.0";
   };
-  descendants_tracker = {
-    dependencies = ["thread_safe"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79";
-      type = "gem";
-    };
-    version = "0.0.4";
-  };
   device_detector = {
     groups = ["default"];
     platforms = [];
@@ -977,10 +1008,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a64xq0dj6p0firpg4mrrfmlakpv17hky5yfrjhchs2sybmymr9i";
+      sha256 = "0syqkh0q9mcdgj68m2cf1innpxb8fv6xsayk1kgsdmq539rkv3ic";
       type = "gem";
     };
-    version = "4.7.1";
+    version = "4.7.3";
   };
   devise-two-factor = {
     dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
@@ -1050,10 +1081,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v";
+      sha256 = "0lcqjsmixjp52bnlgzh4lg9ppsk52x9hpwdjd53k8jnbah2602h0";
       type = "gem";
     };
-    version = "0.5.20180417";
+    version = "0.5.20190701";
   };
   doorkeeper = {
     dependencies = ["railties"];
@@ -1061,10 +1092,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w554smil33j64h50w29xavgg4k7172r0c2rrygfbp5p4ap9py9c";
+      sha256 = "01scvhvrw44ksv1aaywpp9kfm4c8qs4gwnnha40r5mq0vpc0qrny";
       type = "gem";
     };
-    version = "5.0.3";
+    version = "5.3.3";
   };
   doorkeeper-openid_connect = {
     dependencies = ["doorkeeper" "json-jwt"];
@@ -1072,10 +1103,96 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qcl11dw9b0si45id7sqwv19g8am4i221sqkigimnvhc1cci2yfw";
+      sha256 = "1yylcg4j7msxma0s8rx8990bfgr0c414a7vafs3gpgmbwy47wq45";
+      type = "gem";
+    };
+    version = "1.7.4";
+  };
+  dry-configurable = {
+    dependencies = ["concurrent-ruby" "dry-core" "dry-equalizer"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "033x4gvynfm33pchmpd5iw9n4c9q46j8vbwbcdmvb8b2r0gpzfdn";
+      type = "gem";
+    };
+    version = "0.11.5";
+  };
+  dry-container = {
+    dependencies = ["concurrent-ruby" "dry-configurable"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1npnhs3x2xcwwijpys5c8rpcvymrlab0y8806nr4h425ld5q4wd0";
+      type = "gem";
+    };
+    version = "0.7.2";
+  };
+  dry-core = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0k9ff2sr4ymiwzg4mchzv66mn6rdsgjlinm6s4x5x91yhd0h4vpk";
       type = "gem";
     };
-    version = "1.6.3";
+    version = "0.4.9";
+  };
+  dry-equalizer = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rsqpk0gjja6j6pjm0whx2px06cxr3h197vrwxp6k042p52r4v46";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  dry-inflector = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17mkdwglqsd9fg272y3zms7rixjgkb1km1xcb88ir5lxvk1jkky7";
+      type = "gem";
+    };
+    version = "0.2.0";
+  };
+  dry-logic = {
+    dependencies = ["concurrent-ruby" "dry-core" "dry-equalizer"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cqvylwv71sm9zrb0lpxmghn20zxnjswxwyhaj8y2wfniffyjgkc";
+      type = "gem";
+    };
+    version = "1.0.6";
+  };
+  dry-types = {
+    dependencies = ["concurrent-ruby" "dry-container" "dry-core" "dry-equalizer" "dry-inflector" "dry-logic"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1px1r5khlf4lw32gsrnnnsx7dvl2d94axx3h0b6zwxrhvfq3n038";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  ecma-re-validator = {
+    dependencies = ["regexp_parser"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hjnd6phkhwmd846hqkzbiiyf7n6v9s85agizkxrkha1z0g3q5fc";
+      type = "gem";
+    };
+    version = "0.2.1";
   };
   ed25519 = {
     groups = ["ed25519"];
@@ -1093,10 +1210,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jp7amblk18dag3w0yrzdzkhkbfap2d6xpbyv9314parxw98mgq0";
+      sha256 = "152z76sp2ymyaqrbm8c6y0p1ydkckwrr6iif66mdsc5s0433va3f";
       type = "gem";
     };
-    version = "6.8.0";
+    version = "6.8.2";
   };
   elasticsearch-api = {
     dependencies = ["multi_json"];
@@ -1104,10 +1221,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kq6ljssd5nd2fjaznbnyf4bhkk5q17ava5rq3bjfvjh1wyzagca";
+      sha256 = "12rjfamnqspvkjs90bvpa5zs7g0nlr9pvlvj228mj71k5pym1x8p";
       type = "gem";
     };
-    version = "6.8.0";
+    version = "6.8.2";
   };
   elasticsearch-model = {
     dependencies = ["activesupport" "elasticsearch" "hashie"];
@@ -1115,20 +1232,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ifm8vh8nr9r1wnpnfa6kjm7v54jwsgvpg060r08haydqcv5lbsy";
+      sha256 = "1q66mp28696qnr6xgsl1dym2l5wk4j2ifd673r09yi70hn9y5ji8";
       type = "gem";
     };
-    version = "6.1.0";
+    version = "6.1.1";
   };
   elasticsearch-rails = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zxqj7pgb0b32qda84jlg6kay4b9qbpjlfk2b0m23hxnkbbmf1bd";
+      sha256 = "06k97w4xdkdj982b2mgz4bv0gvkpbscn4wxsrqj6kr1x7dxia394";
       type = "gem";
     };
-    version = "6.1.0";
+    version = "6.1.1";
   };
   elasticsearch-transport = {
     dependencies = ["faraday" "multi_json"];
@@ -1136,10 +1253,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c1scz8l4z84x7g3iwf9kmvrpgjjq0gaxaswviiy9zg3csn720mc";
+      sha256 = "02z7b26vl0wmvkzy10qp530vx5c7pdv2ynfsd7mc5qmz6m0z5pxp";
       type = "gem";
     };
-    version = "6.8.0";
+    version = "6.8.2";
   };
   email_reply_trimmer = {
     groups = ["default"];
@@ -1248,10 +1365,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0grlxwiccbnflxs30r3h7g23xnps5knav1jyqkk3anvm8363ifjw";
+      sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   expression_parser = {
     groups = ["default"];
@@ -1302,10 +1419,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0";
+      sha256 = "0wwks9652xwgjm7yszcq5xr960pjypc07ivwzbjzpvy9zh2fw6iq";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  faraday-cookie_jar = {
+    dependencies = ["faraday" "http-cookie"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00hligx26w9wdnpgsrf0qdnqld4rdccy8ym6027h5m735mpvxjzk";
       type = "gem";
     };
-    version = "0.15.4";
+    version = "0.0.7";
   };
   faraday-http-cache = {
     dependencies = ["faraday"];
@@ -1313,10 +1441,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08j86fgcwl7z792qyijdsq680arzpfiydqd24ja405z2rbm7r2i0";
+      sha256 = "0lhfwlk4mhmw9pdlgdsl2bq4x45w7s51jkxjryf18wym8iiw36g7";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.2.0";
   };
   faraday_middleware = {
     dependencies = ["faraday"];
@@ -1324,21 +1452,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p7icfl28nvl8qqdsngryz1snqic9l8x6bk0dxd7ygn230y0k41d";
+      sha256 = "0jik2kgfinwnfi6fpp512vlvs0mlggign3gkbpkg5fw1jr9his0r";
       type = "gem";
     };
-    version = "0.12.2";
+    version = "1.0.0";
   };
-  faraday_middleware-aws-signers-v4 = {
-    dependencies = ["aws-sdk-resources" "faraday"];
+  faraday_middleware-aws-sigv4 = {
+    dependencies = ["aws-sigv4" "faraday"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y88xcbq8k2ijhsqdava5493p26k49agvnzca6vkl3qwfv3ambhp";
+      sha256 = "1gk2qakcvvbgfvvfd8cgf13sligv5mp816ykmra9llqmbfym8ikl";
       type = "gem";
     };
-    version = "0.1.7";
+    version = "0.3.0";
   };
   faraday_middleware-multi_json = {
     dependencies = ["faraday_middleware" "multi_json"];
@@ -1386,10 +1514,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10lfhahnnc91v63xpvk65apn61pib086zha3z5sp1xk9acfx12h4";
+      sha256 = "12lpwaw82bb0rm9f52v1498bpba8aj2l2q359mkwbxsswhpga5af";
       type = "gem";
     };
-    version = "1.12.2";
+    version = "1.13.1";
   };
   ffi-compiler = {
     dependencies = ["ffi" "rake"];
@@ -1479,15 +1607,15 @@
     version = "2.1.0";
   };
   fog-google = {
-    dependencies = ["fog-core" "fog-json" "fog-xml" "google-api-client"];
+    dependencies = ["fog-core" "fog-json" "fog-xml" "google-api-client" "google-cloud-env"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1784xynmgvj1x9phy42nbd3fcgj040zps6wn7msi6vnj1sg4wpfy";
+      sha256 = "1h9apmm2pyb157pbnrqk37wfs2d9f35navsgzs3kclrxhyl2qm5f";
       type = "gem";
     };
-    version = "1.9.1";
+    version = "1.11.0";
   };
   fog-json = {
     dependencies = ["fog-core" "multi_json"];
@@ -1625,10 +1753,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0764vj7gacn0aypm2bf6m46dzjzwzrjlmbyx6qwwwzbmi94r40wr";
+      sha256 = "04xlj00sm4mbgvyq0qkbxim75i7cpyn6iylpfwnyagl35wdvsszf";
       type = "gem";
     };
-    version = "3.2.9";
+    version = "3.3.6";
   };
   gettext_i18n_rails = {
     dependencies = ["fast_gettext"];
@@ -1653,14 +1781,15 @@
     version = "1.3.0";
   };
   git = {
+    dependencies = ["rchardet"];
     groups = ["default" "development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bf83icwypi3p3pd97vlqbnp3hvf31ncd440m9kh9y7x6yk74wyh";
+      sha256 = "0y8n1m2kys3q79b9kp8bs4803isshpf0f401a2hfy4iyh5jwzx11";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.7.0";
   };
   gitaly = {
     dependencies = ["grpc"];
@@ -1668,10 +1797,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01ki2isvqyhfw503z3ahksbfb0s0m3psi4din9azdpgcqyv1pxlh";
+      sha256 = "1q1l0c1yjnhr451jj845h2vd9s00grjiyj2w9r1b9y3bscsyzs0m";
       type = "gem";
     };
-    version = "13.0.0.pre.rc1";
+    version = "13.5.0.pre.rc2";
   };
   github-markup = {
     groups = ["default"];
@@ -1694,16 +1823,27 @@
     };
     version = "0.10.5";
   };
+  gitlab-fog-azure-rm = {
+    dependencies = ["azure-storage-blob" "azure-storage-common" "fog-core" "fog-json" "mime-types" "ms_rest_azure"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04l7ps0vvrqq8i25q7ic2zy2n8f8f1l7sn1shf5wccy1cbyj9pig";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
   gitlab-labkit = {
     dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "redis"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a63zgjll83b25hiq8m4sk75jci2rj8z46lss0j3bc6zi3pxnzax";
+      sha256 = "0cnrpqswicawhpvd4dh4jcma9d4haznc4gyl37ssvj1jkfhc4w40";
       type = "gem";
     };
-    version = "0.12.0";
+    version = "0.13.1";
   };
   gitlab-license = {
     groups = ["default"];
@@ -1720,10 +1860,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10ajr3l8vasy4zkc0p481m806g7k7idnw7mi6rlkmx4gkgb0z46j";
+      sha256 = "14785l38sqrgf06y45ayhj3nhfqdar8vrsxna764vdsw01dngmin";
       type = "gem";
     };
-    version = "0.0.4";
+    version = "0.0.7";
   };
   gitlab-markup = {
     groups = ["default"];
@@ -1745,16 +1885,26 @@
     };
     version = "0.9.1";
   };
+  gitlab-pg_query = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xvzs8gy6vbddzf9kin92lqb99vzwljikfgqvxbxqm7hzl16dilq";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
   gitlab-puma = {
     dependencies = ["nio4r"];
     groups = ["puma"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i1gv7mgjpa46v6jr97rjk0zv3jny3gc3q3bq8wd6rv59lv5s4wi";
+      sha256 = "05hazn3cq079zynj0viagly6bgh4x7pb2vqki9rgf2k39ljwrmld";
       type = "gem";
     };
-    version = "4.3.3.gitlab.2";
+    version = "4.3.5.gitlab.3";
   };
   gitlab-puma_worker_killer = {
     dependencies = ["get_process_mem" "gitlab-puma"];
@@ -1784,10 +1934,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1il4jqvz7b2l6pcxw6pfjvljpngn92mghfm47g0mfickih1i2r55";
+      sha256 = "0l24vgcmvval1apqk99c3ifcwlg1fh60vf02ggnc20f65dka81p3";
       type = "gem";
     };
-    version = "3.2.0";
+    version = "5.1.0";
   };
   gitlab_chronic_duration = {
     dependencies = ["numerizer"];
@@ -1834,25 +1984,36 @@
     version = "6.2.0";
   };
   google-api-client = {
-    dependencies = ["addressable" "googleauth" "httpclient" "mime-types" "representable" "retriable"];
+    dependencies = ["addressable" "googleauth" "httpclient" "mini_mime" "representable" "retriable" "signet"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13y6xara8w211y88pxa8bcbg6y40vkidqk854zl7z4csmgfnplxq";
+      type = "gem";
+    };
+    version = "0.33.2";
+  };
+  google-cloud-env = {
+    dependencies = ["faraday"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05h2lca9b334ayabgs3h0mzc2wg3csvkqv1lv3iirpgf90ypbk1k";
+      sha256 = "0bjgxyvagy6hjj8yg7fqq24rwdjxb6hx7fdd1bmn4mwd846lci2i";
       type = "gem";
     };
-    version = "0.23.4";
+    version = "1.4.0";
   };
   google-protobuf = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0by3289irdklb9gjqw41fq6mg6yja3iyzh99dj8p8z9l4brllqn4";
+      sha256 = "1m3la0yid3bqx9b30raisqbp27d0q7vdrlslazrdasf8v1vhifxj";
       type = "gem";
     };
-    version = "3.8.0";
+    version = "3.12.4";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -1860,10 +2021,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hyr94cafiqj0k8q19hnl658pmbz2b404akikzfv4hdb1j1bwsg1";
+      sha256 = "1aava1b75n056s24gn7ajrkmm6s3xa3swl62dl5q9apw4marghji";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   googleauth = {
     dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
@@ -1871,10 +2032,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1747p1dhpvz76i98xnjrvaj785y1232svm0nc8g9by6pz835gp2l";
+      sha256 = "0rsk471ld98pxhvzig3lnw9i13454c9nschvzxvq6vjqnn9ip0yh";
       type = "gem";
     };
-    version = "0.6.6";
+    version = "0.12.0";
   };
   gpgme = {
     dependencies = ["mini_portile2"];
@@ -1888,15 +2049,15 @@
     version = "2.0.20";
   };
   grape = {
-    dependencies = ["activesupport" "builder" "mustermann-grape" "rack" "rack-accept" "virtus"];
+    dependencies = ["activesupport" "builder" "dry-types" "mustermann-grape" "rack" "rack-accept"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04bam0iq9sad1df361317zz4knwci905yig502khl8gm1lp1168c";
+      sha256 = "03ylzpn9mng9kwk472xbsfnqcbnm0qcjjlscp17hijvpvafd8a09";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.4.0";
   };
   grape-entity = {
     dependencies = ["activesupport" "multi_json"];
@@ -1915,10 +2076,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "170aw6yvr8l5srlfjz1yqpxr7klr8jypr4i0gj41gn6v4iamyl79";
+      sha256 = "131s6a0xa0fj7w5d6xb2p2z3404w6rxbc33v7fcg50jrjgqphrjz";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.5.0";
   };
   grape_logging = {
     dependencies = ["grape" "rack"];
@@ -1942,15 +2103,37 @@
     };
     version = "1.4.10";
   };
+  graphlient = {
+    dependencies = ["faraday" "faraday_middleware" "graphql-client"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04c32rcn3j4d8sh039lkdfzn8xpifsbpsp7f90vlp2s531wbs16a";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
   graphql = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zj729kxig2klhm4naqsgrfi4xgba4vh2pazvvi7iaikaa3vfh48";
+      sha256 = "01ldxhn59lfg5ivxc9m11v1qhw29ql95qcvwwcap49n0z7d1i3k5";
       type = "gem";
     };
-    version = "1.10.5";
+    version = "1.11.4";
+  };
+  graphql-client = {
+    dependencies = ["activesupport" "graphql"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g971rccyrs3rk8812r6az54p28g66m4ngdcbszg31mvddjaqkr4";
+      type = "gem";
+    };
+    version = "0.16.0";
   };
   graphql-docs = {
     dependencies = ["commonmarker" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline" "sass"];
@@ -1969,10 +2152,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18wikj9qd4jb4lks55cs2cf3q7fifnanm9z9ywnxhpj57vbnilpf";
+      sha256 = "1rsglf7ag17n465iff7vlw83pn2rpl4kv9sb1rpf17nx6xpi7yl5";
       type = "gem";
     };
-    version = "1.24.0";
+    version = "1.30.2";
   };
   gssapi = {
     dependencies = ["ffi"];
@@ -1991,10 +2174,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "000hn5cdqz3wl99b245q958c5byi2dlsqi814q5gmyljv7i47zwf";
+      sha256 = "1fwgvkmrg97xfswwgfrfcl1nc937yxwazfvpmf8vxj7cvnx7mfki";
       type = "gem";
     };
-    version = "2.15.1";
+    version = "2.16.2";
   };
   guard-compat = {
     groups = ["default" "test"];
@@ -2029,15 +2212,15 @@
     version = "5.1.2";
   };
   haml_lint = {
-    dependencies = ["haml" "rainbow" "rubocop" "sysexits"];
+    dependencies = ["haml" "parallel" "rainbow" "rubocop" "sysexits"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iaaa5as4nlblnbvy6pxj8z9k3jqspbh4f43il519f28lgi0llsn";
+      sha256 = "0imdiwxqyca1i158yrqkdv6fa8sdfk8wwx2kaq6ad9i7k7jj365a";
       type = "gem";
     };
-    version = "0.34.0";
+    version = "0.36.0";
   };
   hamlit = {
     dependencies = ["temple" "thor" "tilt"];
@@ -2050,6 +2233,16 @@
     };
     version = "2.11.0";
   };
+  hana = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ij5clmkfl5ij9wdzr62b0w7j2qg7pb65mhvxa6mf1kv1xp6l585";
+      type = "gem";
+    };
+    version = "1.3.6";
+  };
   hangouts-chat = {
     groups = ["default"];
     platforms = [];
@@ -2065,10 +2258,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19ykg5pax8798nh1yv71adkx0zzs7gn2rxjj86v7nsw0jba5lask";
+      sha256 = "1nynpl0xbj0nphqx1qlmyggq58ms1phf5i03hk64wcc0a17x1m1c";
       type = "gem";
     };
-    version = "0.3.8";
+    version = "1.0.1";
   };
   hashie = {
     groups = ["default" "kerberos"];
@@ -2092,15 +2285,15 @@
     version = "0.1.1";
   };
   health_check = {
-    dependencies = ["rails"];
+    dependencies = ["railties"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mfa180nyzz1j0abfihm5nm3lmzq99362ibcphky6rh5vwhckvm8";
+      sha256 = "07wrbfsfsprfmykc0qbkkgxpf8vlx4a8sp77acqrjsh395f6qcqv";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "3.0.0";
   };
   heapy = {
     groups = ["default"];
@@ -2161,10 +2354,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gsn0jmri7cavw1pv3pbynq6nldsff0r5dr6pa0mxz0rkpjsgjwl";
+      sha256 = "0z8vmvnkrllkpzsxi94284di9r63g9v561a16an35izwak8g245y";
       type = "gem";
     };
-    version = "4.2.0";
+    version = "4.4.1";
+  };
+  http-accept = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09m1facypsdjynfwrcv19xcb1mqg8z6kk31g8r33pfxzh838c9n6";
+      type = "gem";
+    };
+    version = "1.7.0";
   };
   http-cookie = {
     dependencies = ["domain_name"];
@@ -2182,10 +2385,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15lpn604byf7cyxnw949xz4rvpcknqp7a48q73nm630gqxsa76f3";
+      sha256 = "1wx591jdhy84901pklh1n9sgh74gnvq1qyqxwchni1yrc49ynknc";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "2.3.0";
   };
   http-parser = {
     dependencies = ["ffi-compiler"];
@@ -2225,10 +2428,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jwrd1l4mxz06iyx6053lr6hz2zy7ah2k3ranfzisvych5q19kwm";
+      sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
       type = "gem";
     };
-    version = "1.8.2";
+    version = "1.8.5";
   };
   i18n_data = {
     groups = ["default"];
@@ -2287,20 +2490,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "198m72c9w3wfwr1mq22dcjjm7d4jd0bci4lrq6zq2zvlzhi04n8l";
+      sha256 = "1a2qlkc1hkr5hkj2574l1a63sm04bdx98gfhh9m8vvp6psdrnpnb";
       type = "gem";
     };
-    version = "0.10.0";
-  };
-  jaro_winkler = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh";
-      type = "gem";
-    };
-    version = "1.5.4";
+    version = "1.1.0";
   };
   jira-ruby = {
     dependencies = ["activesupport" "atlassian-jwt" "multipart-post" "oauth"];
@@ -2329,10 +2522,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wi4h4f3knb0yp4zq2spks3dpmdzz9wa54d6xk88md0h4v2x33cq";
+      sha256 = "1zia0pxa2lrybwv51xzhj26rf3gx8zwg1cghbdk640rbsyr8sf9a";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "3.4.0";
   };
   json = {
     groups = ["default"];
@@ -2350,10 +2543,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18rf9v20i0dk5dblr7m22di959xpch2h7gsx0cl585cryr7apwp3";
+      sha256 = "0nzbk1mrbf9mnvjpn3bxy8a85rjf94qmfdnvk78mjzk8pa0fvgdr";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.13.0";
   };
   json-schema = {
     dependencies = ["addressable"];
@@ -2366,6 +2559,28 @@
     };
     version = "2.8.0";
   };
+  json_schemer = {
+    dependencies = ["ecma-re-validator" "hana" "regexp_parser" "uri_template"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "194898b70ylkjqg7vhy4lps4a5g31n7xxb3vfacwfs40azkn83zm";
+      type = "gem";
+    };
+    version = "0.2.12";
+  };
+  jsonpath = {
+    dependencies = ["multi_json" "to_regexp"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bwgk17dwraaf6grv6v99xjjy3ds1sqsf1v49fnlyfjkniy6ap8q";
+      type = "gem";
+    };
+    version = "1.0.5";
+  };
   jwt = {
     groups = ["default"];
     platforms = [];
@@ -2441,14 +2656,15 @@
     version = "1.17.0";
   };
   kramdown = {
+    dependencies = ["rexml"];
     groups = ["default" "development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688";
+      sha256 = "1vmw752c26ny2jwl0npn0gbyqwgz4hdmlpxnsld9qi9xhk5b1qh7";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.3.0";
   };
   kramdown-parser-gfm = {
     dependencies = ["kramdown"];
@@ -2462,15 +2678,15 @@
     version = "1.1.0";
   };
   kubeclient = {
-    dependencies = ["http" "recursive-open-struct" "rest-client"];
+    dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1djf4zll2alrwv7wg4wk9v504wbri717wqaq773i1azg7cbisbw6";
+      sha256 = "07ygwvdrdhqmvqj3g7hsrgwimr1xcphk9d6qjdxr0iynqaahn0l7";
       type = "gem";
     };
-    version = "4.6.0";
+    version = "4.9.1";
   };
   launchy = {
     dependencies = ["addressable"];
@@ -2507,14 +2723,14 @@
   };
   license_finder = {
     dependencies = ["rubyzip" "thor" "toml" "with_env" "xml-simple"];
-    groups = ["development" "test"];
+    groups = ["development" "omnibus" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01rhqm5m3m22gq6q9f1x9fh3x3wrf9khnnsycblj0xg5frdjv77v";
+      sha256 = "0kc4bkaxy6mm6kpbpg8hdjsqpzybh7cy5b45qydc7bfa9c35vr93";
       type = "gem";
     };
-    version = "5.4.0";
+    version = "6.0.0";
   };
   licensee = {
     dependencies = ["rugged"];
@@ -2528,25 +2744,25 @@
     version = "8.9.2";
   };
   listen = {
-    dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
+    dependencies = ["rb-fsevent" "rb-inotify"];
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
+      sha256 = "1w923wmdi3gyiky0asqdw5dnh3gcjs2xyn82ajvjfjwh6sn0clgi";
       type = "gem";
     };
-    version = "3.1.5";
+    version = "3.2.1";
   };
   locale = {
     groups = ["default" "development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x";
+      sha256 = "0997465kxvpxm92fiwc2b16l49mngk7b68g5k35ify0m3q0yxpdn";
       type = "gem";
     };
-    version = "2.1.2";
+    version = "2.1.3";
   };
   lockbox = {
     groups = ["default"];
@@ -2564,10 +2780,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00lcn7s3slfn32di4qwlx2yj5f9r2pcnd0naxrvqqwypcg1z2sdd";
+      sha256 = "1vrjm4yqn5l6q5gsl72fmk95fl6j9z1a05gzbrwmsm3gp1a1bgac";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "0.11.2";
   };
   loofah = {
     dependencies = ["crass" "nokogiri"];
@@ -2575,10 +2791,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jk9fgn5ayzbqvzqm11gbkqvas77zdbpkvynlylyiwynclgrn040";
+      sha256 = "1alz1x6rkhbw10qpszr384299rf52rcyasn0619a9p50vzs8vczq";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.7.0";
   };
   lru_redux = {
     groups = ["default"];
@@ -2595,10 +2811,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n";
+      sha256 = "07rvqrizmqzbjzhdsh4l4fyif26a7czb506dvch18kr3nkkamim5";
       type = "gem";
     };
-    version = "1.0.13";
+    version = "1.2.7";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -2628,10 +2844,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1akbiibmg64liw8ya6xzf9lavh2n2707hxsnf9sfslsk36iwx0yn";
+      sha256 = "0n870r50z859dkcjz6dqvbvm895rpzw047basvbbfv9gi22rlxlv";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.9.0";
   };
   memoist = {
     groups = ["default"];
@@ -2673,10 +2889,10 @@
     }];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
+      sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp";
       type = "gem";
     };
-    version = "0.9.2";
+    version = "1.0.0";
   };
   mime-types = {
     dependencies = ["mime-types-data"];
@@ -2684,20 +2900,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
+      sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.3.1";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
+      sha256 = "1z75svngyhsglx0y2f9rnil2j08f9ab54b3l95bpgz67zq2if753";
       type = "gem";
     };
-    version = "3.2019.0331";
+    version = "3.2020.0512";
   };
   mimemagic = {
     groups = ["default" "test"];
@@ -2724,10 +2940,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qy09qrd5bwh8mkbj514n5vcw9ni73218h9s3zmvbpmdwrnzi8j4";
+      sha256 = "0lpq12z70n10c1qshcddd5nib2pkcbkwzvmiqqzj60l01k3x4fg9";
       type = "gem";
     };
-    version = "4.9.5";
+    version = "4.10.1";
   };
   mini_mime = {
     groups = ["default" "development" "test"];
@@ -2759,15 +2975,37 @@
     };
     version = "5.11.3";
   };
+  ms_rest = {
+    dependencies = ["concurrent-ruby" "faraday" "timeliness"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jiha1bda5knpjqjymwik6i41n69gb0phcrgvmgc5icl4mcisai7";
+      type = "gem";
+    };
+    version = "0.7.6";
+  };
+  ms_rest_azure = {
+    dependencies = ["concurrent-ruby" "faraday" "faraday-cookie_jar" "ms_rest"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06i37b84r2q206kfm5vsi9s1qiiy09091vhvc5pzb7320h0hc1ih";
+      type = "gem";
+    };
+    version = "0.12.0";
+  };
   msgpack = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qr2mkm2i3m76zarvy7qgjl9596hmvjrg7x6w42vx8cfsbf5p0y1";
+      sha256 = "1lva6bkvb4mfa0m3bqn4lm4s4gi81c40jvdcsrxr6vng49q9daih";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.3.3";
   };
   multi_json = {
     groups = ["default"];
@@ -2810,14 +3048,15 @@
     version = "0.1.6";
   };
   mustermann = {
+    dependencies = ["ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1";
+      sha256 = "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.1.1";
   };
   mustermann-grape = {
     dependencies = ["mustermann"];
@@ -2825,10 +3064,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10xdggddjl8nraq7pbli31lwgrzxzz8gp558i811lsv71fqbmhzr";
+      sha256 = "0djlbi7nh161a5mwjdm1ya4hc6lyzc493ah48gn37gk6vyri5kh0";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.1";
   };
   nakayoshi_fork = {
     groups = ["default"];
@@ -2905,10 +3144,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gnmvbryr521r135yz5bv8354m7xn6miiapfgpg1bnwsvxz8xj6c";
+      sha256 = "1cbwp1kbv6b2qfxv8sarv0d0ilb257jihlvdqj8f5pdm0ksq1sgk";
       type = "gem";
     };
-    version = "2.5.2";
+    version = "2.5.4";
   };
   no_proxy_fix = {
     groups = ["default" "development"];
@@ -2926,10 +3165,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm";
+      sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2";
       type = "gem";
     };
-    version = "1.10.9";
+    version = "1.10.10";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -2937,10 +3176,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09qc1c7acv9qm48vk2kzvnrq4ij8jrql1cv33nmv2nwmlggy0jyj";
+      sha256 = "0sxjnpjvrn10gdmfw2dimhch861lz00f28hvkkz0b1gc2rb65k9s";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "2.0.2";
   };
   notiffany = {
     dependencies = ["nenv" "shellany"];
@@ -2979,10 +3218,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh";
+      sha256 = "1bhakjh30vi8scqwnhd1c9qkac9r8hh2lr0dbs5ynwmrc5djxknm";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.4.4";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
@@ -2995,6 +3234,16 @@
     };
     version = "4.15.0";
   };
+  oj = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zik71a9dj2c0cnbqxjfzgrg6r2l3f7584813z6asl50nfdbf7jw";
+      type = "gem";
+    };
+    version = "3.10.6";
+  };
   omniauth = {
     dependencies = ["hashie" "rack"];
     groups = ["default" "kerberos"];
@@ -3006,6 +3255,17 @@
     };
     version = "1.9.0";
   };
+  omniauth-atlassian-oauth2 = {
+    dependencies = ["omniauth" "omniauth-oauth2"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jbnbp0pnasyrf0mgyig72hx8bdwhv78na6ffqrs1f4a3155f1zb";
+      type = "gem";
+    };
+    version = "0.2.0";
+  };
   omniauth-auth0 = {
     dependencies = ["omniauth-oauth2"];
     groups = ["default"];
@@ -3193,27 +3453,16 @@
     };
     version = "1.4.0";
   };
-  omniauth-ultraauth = {
-    dependencies = ["omniauth_openid_connect"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1z8gz8ql4vb8y5n4lr67afnjmp23bpqi18dmda5psigvd2jddyn8";
-      type = "gem";
-    };
-    version = "0.0.2";
-  };
   omniauth_crowd = {
     dependencies = ["activesupport" "nokogiri" "omniauth"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12g5ck05h6kr9mnp870x8pkxsadg81ca70hg8n3k8xx007lfw2q7";
+      sha256 = "1wiq1vnwjddzw2qzkpr3nqzx6glmcz5pfylw10pc7vkzdcmkpy37";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "2.4.0";
   };
   omniauth_openid_connect = {
     dependencies = ["addressable" "omniauth" "openid_connect"];
@@ -3221,10 +3470,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0awybp2jnai0w2qfgqnr3f478g3nbg5r0vcm6pa5g8k5f4rs19qr";
+      sha256 = "1wxf52yggvwmyg6f9fiykh1sk51xx34i6x6m8f06ia56npslc4aw";
       type = "gem";
     };
-    version = "0.3.3";
+    version = "0.3.5";
   };
   open4 = {
     groups = ["default" "development"];
@@ -3247,6 +3496,26 @@
     };
     version = "1.1.8";
   };
+  openssl = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03wbynzkhay7l1x76srjkg91q48mxl575vrxb3blfxlpqwsvvp0w";
+      type = "gem";
+    };
+    version = "2.2.0";
+  };
+  openssl-signature_algorithm = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14d95jr5z6dgvpwf52p7ckjf3w3cihin2k6g9599711pfxdj4fp5";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
   opentracing = {
     groups = ["default"];
     platforms = [];
@@ -3262,10 +3531,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05jxrp3nbn5iilc1k7ir90mfnwc5abc9h78s5rpm3qafwqxvcj4j";
+      sha256 = "1vg2chy1cfmdj6c1gryl8zvjhhmb3plwgyh1jfnpq4fnfqv7asrk";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.0.1";
   };
   org-ruby = {
     dependencies = ["rubypants"];
@@ -3303,10 +3572,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
+      sha256 = "17b127xxmm2yqdz146qwbs57046kn0js1h8synv01dwqz2z1kp2l";
       type = "gem";
     };
-    version = "1.19.1";
+    version = "1.19.2";
   };
   parser = {
     dependencies = ["ast"];
@@ -3314,10 +3583,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19nxgcl6fbnr6da958hyvnycv441ryp2dw4ccmldah5bm8885z39";
+      sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z";
       type = "gem";
     };
-    version = "2.7.0.4";
+    version = "2.7.2.0";
   };
   parslet = {
     groups = ["default" "development" "test"];
@@ -3345,10 +3614,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r01bqqhnk272dsyhg3cqx6j0aiwbcdnrwp7vxzc969mb5dgnnrl";
+      sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.2.3";
   };
   png_quantizator = {
     groups = ["development" "test"];
@@ -3419,10 +3688,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00d2c79xhz5k3fcclarjr1ffxbrvc6236f4rrvriad9kwqr7c1mp";
+      sha256 = "1i0h9ixdvxw1n9ynxsrbc1lkx3dvd6r78iiwgwnqfz3fap6jgd9p";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "0.12.0";
   };
   pry = {
     dependencies = ["coderay" "method_source"];
@@ -3434,10 +3703,10 @@
     }];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g";
+      sha256 = "0iyw4q4an2wmk8v5rn2ghfy2jaz9vmw2nk8415nnpx2s866934qk";
       type = "gem";
     };
-    version = "0.11.3";
+    version = "0.13.1";
   };
   pry-byebug = {
     dependencies = ["byebug" "pry"];
@@ -3449,10 +3718,10 @@
     }];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f9kj1qp14qb8crg2rdzf22pr6ngxvy4n6ipymla8q1yjr842625";
+      sha256 = "096y5vmzpyy4x9h4ky4cs4y7d19vdq9vbwwrqafbh5gagzwhifiv";
       type = "gem";
     };
-    version = "3.5.1";
+    version = "3.9.0";
   };
   pry-rails = {
     dependencies = ["pry"];
@@ -3470,10 +3739,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c6kq6s13idl2036b5lch8r7390f8w82cal8hcp4ml76fm2vdac7";
+      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
       type = "gem";
     };
-    version = "4.0.3";
+    version = "4.0.6";
   };
   pyu-ruby-sasl = {
     groups = ["default"];
@@ -3500,10 +3769,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mxzk12xylrz6d4n9jj5jasfscbf1pbk4idrb0nlf327lx9rwfkk";
+      sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16";
       type = "gem";
     };
-    version = "2.0.9";
+    version = "2.2.3";
   };
   rack-accept = {
     dependencies = ["rack"];
@@ -3544,10 +3813,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kmxj9hbjhhcs3yyb433s82hkpmzb536m0mwfadjiaisganx1cii";
+      sha256 = "1b0h0rlfl0p0drymwfc71g87fp66ck3205pl32z89xsgh0lzw25k";
       type = "gem";
     };
-    version = "1.9.3";
+    version = "1.16.0";
   };
   rack-protection = {
     dependencies = ["rack"];
@@ -3583,14 +3852,14 @@
     version = "1.1.0";
   };
   rack-timeout = {
-    groups = ["puma"];
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15xph8h6v0lvq9pxm3bc9i9pnk2k68rgdr1mp0dw4l7v1xvhs78a";
+      sha256 = "0d4dgbf8rgqx03lwsm8j6i20lzawk1bsvzfj5bhzrsycfyfk25aj";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.5.2";
   };
   rails = {
     dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
@@ -3598,10 +3867,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rvkzj2hn1rlxc0ndn742mgbdpq0l38i6pjhhwgpaq519jpkk41r";
+      sha256 = "1qqsiwsb13sxkvxj54aybjhbxqi45fyiykaz5isc1y9frm2yyw64";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -3609,10 +3878,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m1rklj6pvzi4fydxcmcv4q0xd7913hhhw1hw530nfz1wkl7vjlf";
+      sha256 = "151f303jcvs8s149mhx2g5mn67487x0blrf9dzl76q1nb7dlh53l";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   rails-dom-testing = {
     dependencies = ["activesupport" "nokogiri"];
@@ -3653,10 +3922,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01h2ifvvmlzmq8dmpqkhrrmj704v79r1vkcrnvmrqhf4a9bbyqsi";
+      sha256 = "05b79r0ms8jrs91zml1190qfxmnmks90g0sd820ks9msyr8xdp7j";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.3.3";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -3683,20 +3952,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cvaqarr1m84mhc006g3l1vw7sa5qpkcw0138lsxlf769zdllsgp";
+      sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9";
       type = "gem";
     };
-    version = "12.3.3";
+    version = "13.0.1";
   };
   rb-fsevent = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf";
+      sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87";
       type = "gem";
     };
-    version = "0.10.2";
+    version = "0.10.4";
   };
   rb-inotify = {
     dependencies = ["ffi"];
@@ -3704,10 +3973,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
+      sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
       type = "gem";
     };
-    version = "0.9.10";
+    version = "0.10.1";
   };
   rblineprof = {
     dependencies = ["debugger-ruby_core_source"];
@@ -3730,10 +3999,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lwsq08i0aj8na5q5ba3gg02sx3wl58fi6m52svl5p7cy56ycdwi";
+      sha256 = "0s8prj0klfgpmpfcpdzbf149qrrsdxgnb6w6kkqc9gyars4vyaqn";
+      type = "gem";
+    };
+    version = "0.4.14";
+  };
+  rchardet = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9";
       type = "gem";
     };
-    version = "0.4.11";
+    version = "1.8.0";
   };
   rdoc = {
     groups = ["default"];
@@ -3771,10 +4050,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0acrxff186sn6sxdfiy7nacjgwak5cqd7jha9v3kshpf3sfr7qd1";
+      sha256 = "12manni00r5qn50z8w316pnm8mqn858i5kj6s9sr9sfl8qx8ws5g";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.2";
   };
   RedCloth = {
     groups = ["default"];
@@ -3824,10 +4103,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0r7daagrjjribn098dxwbv9zivrbq2rsffbkj2ccxyn9lmjjbgah";
+      sha256 = "1wb4x8bg2d0plv3izpmi1sd7nd1ix8nxw7b43hd9bac08f4w62mx";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
   };
   redis-rack = {
     dependencies = ["rack" "redis-store"];
@@ -3867,20 +4146,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dsgjb3kszk6a82s6gl0h6a8vncjrxmcbk0r4mcxcdcad2b7vb2d";
+      sha256 = "0x4s82lgf0l71y3xc9gp4qxkrgx1kv8f6avdqd68l46ijbyvicdm";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "1.8.2";
   };
   regexp_property_values = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05ka0bkhghs9b9pv6q443k8y1c5xalmm0vylj9zd450ksncxj1yr";
+      sha256 = "1iwapp91sbvafqp12cq834rgy1ydrmrsh5w1a0wfsk4scdxcdwlb";
       type = "gem";
     };
-    version = "0.3.4";
+    version = "0.3.5";
   };
   representable = {
     dependencies = ["declarative" "declarative-option" "uber"];
@@ -3916,15 +4195,15 @@
     version = "3.0.0";
   };
   rest-client = {
-    dependencies = ["http-cookie" "mime-types" "netrc"];
+    dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j";
+      sha256 = "1qs74yzl58agzx9dgjhcpgmzfn61fqkk33k1js2y5yhlvc5l19im";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.1.0";
   };
   retriable = {
     groups = ["default"];
@@ -3936,6 +4215,16 @@
     };
     version = "3.1.2";
   };
+  rexml = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
+      type = "gem";
+    };
+    version = "3.2.4";
+  };
   rinku = {
     groups = ["default"];
     platforms = [];
@@ -3961,10 +4250,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "102rc07d78k5bkl0s9nd1gw6wz0w0zcvg4g5sl7z9xxi4r793c35";
+      sha256 = "0yvcv901lrh5rfnk1h4h56hf2m6n9pd6w8n96vag74aakgz3gaxn";
       type = "gem";
     };
-    version = "3.19.0";
+    version = "3.25.0";
   };
   rqrcode = {
     dependencies = ["chunky_png"];
@@ -4088,25 +4377,36 @@
   };
   rspec_profiling = {
     dependencies = ["activerecord" "pg" "rails" "sqlite3"];
-    groups = ["development" "test"];
+    groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g7q7gav26bpiprx4dhlvdh4zdrhwiky9jbmsp14gyfiabqdz4sz";
+      sha256 = "0vkfizrwxgs029s9imz8g3p55ggncls709hf98brmv6wg5znjibs";
       type = "gem";
     };
-    version = "0.0.5";
+    version = "0.0.6";
   };
   rubocop = {
-    dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"];
-    groups = ["development" "test"];
+    dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wpyass9qb2wvq8zsc7wdzix5xy2ldiv66wnx8mwwprz2dcvzayk";
+      sha256 = "1yh71v5d7aw6jz7505d2sv0n0ldf3wh0ly3lphdanjl0n8b42y9h";
       type = "gem";
     };
-    version = "0.74.0";
+    version = "0.89.1";
+  };
+  rubocop-ast = {
+    dependencies = ["parser"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "165ws2vwnw33nlqgzvzzjjp1zhkc712a92lbpbjx8j83g44dmdy4";
+      type = "gem";
+    };
+    version = "0.8.0";
   };
   rubocop-gitlab-security = {
     dependencies = ["rubocop"];
@@ -4120,37 +4420,37 @@
     version = "0.1.1";
   };
   rubocop-performance = {
-    dependencies = ["rubocop"];
-    groups = ["development" "test"];
+    dependencies = ["rubocop" "rubocop-ast"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ssizdnyai2hxdp6nd4b9hqyrc4gwhjlznhrdliz8wj4p8cvas44";
+      sha256 = "13v66wi5l56bvp97nlmyxscq8ipkzfha1g7nlhcrbikvmrm3h5kf";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.8.1";
   };
   rubocop-rails = {
-    dependencies = ["rack" "rubocop"];
+    dependencies = ["activesupport" "rack" "rubocop"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vvrwcxzbqiqdjxakxmjg4c3dcrlpb00i1d3i0s1gdk0ch79byag";
+      sha256 = "14g703lv0cbqw504cdjsv0yydrsnm61rwg0n0mql4zl5hw1n7lfh";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.8.1";
   };
   rubocop-rspec = {
-    dependencies = ["rubocop"];
-    groups = ["development" "test"];
+    dependencies = ["rubocop" "rubocop-ast"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dypzxzrm8lh1gip9pn93p1nwamzkqsljy6mcv2ngw9zqsial233";
+      sha256 = "0albi9zn8zrz1bb105xkcn5xdv6q7i7r34h9m4jsj5ygsvkkh8kv";
       type = "gem";
     };
-    version = "1.37.0";
+    version = "1.44.1";
   };
   ruby-enum = {
     dependencies = ["i18n"];
@@ -4215,15 +4515,15 @@
     };
     version = "2.1.2";
   };
-  ruby_dep = {
-    groups = ["default" "test"];
+  ruby2_keywords = {
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
+      sha256 = "17pcc0wgvh3ikrkr7bm3nx0qhyiqwidd13ij0fa50k7gsbnr2p0l";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "0.0.2";
   };
   ruby_parser = {
     dependencies = ["sexp_processor"];
@@ -4231,10 +4531,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s3hsccsmrirc2hy3r51kl8g9cfmcn7jxaa0asadg1kn78h1sgr7";
+      sha256 = "0b6l5bxbamaplp904i7f088j806v0pqi0kvhb8xx81v4whl40y2k";
       type = "gem";
     };
-    version = "3.13.1";
+    version = "3.15.0";
   };
   rubyntlm = {
     groups = ["default"];
@@ -4286,16 +4586,27 @@
     };
     version = "1.0.4";
   };
+  safety_net_attestation = {
+    dependencies = ["jwt"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1khq0y5w7lf2b9a220298hphf3pakd216jc9a4x4a9pdwxs2vgln";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
   sanitize = {
     dependencies = ["crass" "nokogiri" "nokogumbo"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j4j2a2mkk1a70vbx959pvx0gvr1zb9snjwvsppwj28bp0p0b2bv";
+      sha256 = "18m3zcf207gcrmghx288w3n2kpphc22lbmbc1wdx1nzcn8g2yddh";
       type = "gem";
     };
-    version = "4.6.6";
+    version = "5.2.1";
   };
   sass = {
     dependencies = ["sass-listen"];
@@ -4353,15 +4664,25 @@
     version = "0.8.2";
   };
   scss_lint = {
-    dependencies = ["rake" "sass"];
+    dependencies = ["sass"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01bfkrjn1i0hfg1ifwn1rs7vqwdbdw158krwr5fm6iasd9zgl10g";
+      sha256 = "1s6dzk4n9pnmqciliggwpiny43vc3cx3n2d5gqa9aqng77ff7yv7";
+      type = "gem";
+    };
+    version = "0.59.0";
+  };
+  securecompare = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ay65wba4i7bvfqyvf5i4r48q6g70s5m724diz9gdvdavscna36b";
       type = "gem";
     };
-    version = "0.56.0";
+    version = "1.0.0";
   };
   seed-fu = {
     dependencies = ["activerecord" "activesupport"];
@@ -4380,10 +4701,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11abil34dr8p1kw7hlaqd6kr430v4srmhzf72zzqvhcimlfvm4yb";
+      sha256 = "0adcvp86dinaqq3nhf8p3m0rl2g6q0a4h52k0i7kdnsg1qz9k86y";
       type = "gem";
     };
-    version = "3.142.6";
+    version = "3.142.7";
   };
   sentry-raven = {
     dependencies = ["faraday"];
@@ -4391,10 +4712,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j9rwbig24ry0smgvmkzdjrzyszniaswipinvflzxzzaz52v7483";
+      sha256 = "17j4br2lpnd8066d50mkg9kwk9v70hn3zfiqkvysd8p9nffmqnm0";
       type = "gem";
     };
-    version = "2.9.0";
+    version = "3.0.4";
   };
   settingslogic = {
     groups = ["default"];
@@ -4411,10 +4732,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w24rgmyjf7yz0xr2qhbr8z48h4m6gvbggr8nc1pldwn9rbi04b7";
+      sha256 = "0p0jj2la8bhb7kgqmqbksaq7idnpgjv6asgfd18d2l3z4kra14cj";
       type = "gem";
     };
-    version = "4.12.0";
+    version = "4.15.1";
   };
   shellany = {
     groups = ["default" "test"];
@@ -4443,10 +4764,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "131zv8i341bkacxx7n1id2cmblkbs379farnibqg8c7bycd1iajq";
+      sha256 = "0kw4z9mr8h1rddx6f81gf7glw9pf90w0kvgc2fx4g9hspgh9xh7y";
       type = "gem";
     };
-    version = "5.2.7";
+    version = "5.2.9";
   };
   sidekiq-cron = {
     dependencies = ["fugit" "sidekiq"];
@@ -4465,10 +4786,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f5d3bz5bjc4b0r2jmqd15qf07lgsqkgd25f0h46jihrf9l5fsi4";
+      sha256 = "10g2667fvxnc50hcd1aywgsbf8j7nrckg3n7zjvywmyz82pwmpqp";
       type = "gem";
     };
-    version = "0.11.0";
+    version = "0.14.0";
   };
   simple_po_parser = {
     groups = ["development" "test"];
@@ -4491,6 +4812,17 @@
     };
     version = "0.18.5";
   };
+  simplecov-cobertura = {
+    dependencies = ["simplecov"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07ikl2y382g6ibzfflsamh13qlsr2769bx09kxdcs894cl882wwv";
+      type = "gem";
+    };
+    version = "1.3.1";
+  };
   simplecov-html = {
     groups = ["default" "development" "test"];
     platforms = [];
@@ -4516,10 +4848,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s2bff13nd21r28528vfb2ly5718r812izww2g0vxksjq7xgr2c7";
+      sha256 = "1h89asinyyyq88v89fdc3nw0g74vq2f7p59s18jrq3svpv913ij9";
       type = "gem";
     };
-    version = "2.3.3";
+    version = "2.3.4";
   };
   snowplow-tracker = {
     dependencies = ["contracts"];
@@ -4533,15 +4865,14 @@
     version = "0.6.1";
   };
   spring = {
-    dependencies = ["activesupport"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "168yz9c1fv21wc5i8q7n43b9nk33ivg3ws1fn6x0afgryz3ssx75";
+      sha256 = "1x2wz1y2b0kp7mlk9k8zkl39rddk2l3x34b7dar3bh3axd1cs30d";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.1.1";
   };
   spring-commands-rspec = {
     dependencies = ["spring"];
@@ -4567,14 +4898,14 @@
   };
   sprockets-rails = {
     dependencies = ["actionpack" "activesupport" "sprockets"];
-    groups = ["default" "development" "test"];
+    groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1";
+      sha256 = "0mwmz36265646xqfyczgr1mhkm1hfxgxxvgdgr4xfcbf2g72p1k2";
       type = "gem";
     };
-    version = "3.2.1";
+    version = "3.2.2";
   };
   sqlite3 = {
     groups = ["default" "development" "test"];
@@ -4691,15 +5022,26 @@
     };
     version = "1.8.0";
   };
+  terser = {
+    dependencies = ["execjs"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13mj7ds6kwl1z5dp8zg6b9l3vq9012g8yr99hlpf3d1dgsyf1hl0";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
   test-prof = {
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ag33hv8ky8nxpsra9jkam9npi1jjwb7f7zmvi2najci5mdr10nr";
+      sha256 = "1pdb0szrj4mbczhlx2inszpj54rgnayvy2f2fff4q7jll2iz61i0";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "0.12.0";
   };
   text = {
     groups = ["default" "development"];
@@ -4747,10 +5089,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02p107kwx7jnkh6fpdgvaji0xdg6xkaarngkqjml6s4zny4m8slv";
+      sha256 = "08076cmdx0g51yrkd7dlxlr45nflink3jhdiq7006ljc2pc3212q";
       type = "gem";
     };
-    version = "0.11.0.0";
+    version = "0.13.0";
   };
   tilt = {
     groups = ["default" "development" "test"];
@@ -4772,6 +5114,16 @@
     };
     version = "0.9.1";
   };
+  timeliness = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gvp9b7yn4pykn794cibylc9ys1lw7fzv7djx1433icxw4y26my3";
+      type = "gem";
+    };
+    version = "0.3.10";
+  };
   timfel-krb5-auth = {
     groups = ["default" "kerberos"];
     platforms = [];
@@ -4782,6 +5134,16 @@
     };
     version = "0.8.3";
   };
+  to_regexp = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rgabfhnql6l4fx09mmj5d0vza924iczqf2blmn82l782b6qqi9v";
+      type = "gem";
+    };
+    version = "0.2.1";
+  };
   toml = {
     dependencies = ["parslet"];
     groups = ["default" "development" "test"];
@@ -4804,6 +5166,17 @@
     };
     version = "1.0.0";
   };
+  tpm-key_attestation = {
+    dependencies = ["bindata" "openssl-signature_algorithm"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kdqyanz211wmxjzfiz2wg17gj6p4431qvjr0i6sp3d6268sssg4";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
   truncato = {
     dependencies = ["htmlentities" "nokogiri"];
     groups = ["default"];
@@ -4821,10 +5194,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r";
+      sha256 = "0skr6ih9cr3pwp8l84f0z7fy3q9kiq8hw0sg3zqw0hpbbyj05743";
       type = "gem";
     };
-    version = "1.2.7";
+    version = "1.2.8";
   };
   u2f = {
     groups = ["default"];
@@ -4846,17 +5219,6 @@
     };
     version = "0.1.0";
   };
-  uglifier = {
-    dependencies = ["execjs" "json"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0mzs64z3m1b98rh6ssxpqfz9sc87f6ml6906b0m57vydzfgrh1cz";
-      type = "gem";
-    };
-    version = "2.7.2";
-  };
   unf = {
     dependencies = ["unf_ext"];
     groups = ["default"];
@@ -4873,20 +5235,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1";
+      sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4";
       type = "gem";
     };
-    version = "0.0.7.5";
+    version = "0.0.7.7";
   };
   unicode-display_width = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w";
+      sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
   };
   unicode_plot = {
     dependencies = ["enumerable-statistics"];
@@ -4963,6 +5325,16 @@
     };
     version = "0.4.7";
   };
+  uri_template = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0p8qbxlpmg3msw0ihny6a3gsn0yvydx9ksh5knn8dnq06zhqyb1i";
+      type = "gem";
+    };
+    version = "0.7.0";
+  };
   valid_email = {
     dependencies = ["activemodel" "mail"];
     groups = ["default"];
@@ -5002,10 +5374,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04p1l0v98j4ffvaks1ig9mygx5grpbpdgz7haq3mygva9iy8ykja";
+      sha256 = "066hkh3ihzhrp5a9knjgqqfi5dyv4z5hfrpdj4fpgxjkvkfaxivy";
       type = "gem";
     };
-    version = "1.0.6";
+    version = "1.0.10";
   };
   version_sorter = {
     groups = ["default"];
@@ -5017,17 +5389,6 @@
     };
     version = "2.2.4";
   };
-  virtus = {
-    dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk";
-      type = "gem";
-    };
-    version = "1.0.5";
-  };
   vmstat = {
     groups = ["default"];
     platforms = [];
@@ -5049,6 +5410,17 @@
     };
     version = "1.2.8";
   };
+  webauthn = {
+    dependencies = ["android_key_attestation" "awrence" "bindata" "cbor" "cose" "openssl" "safety_net_attestation" "securecompare" "tpm-key_attestation"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17nqmi6n4s3i6pmcd7myf7w49q9xd5xlcvz9vbqijlm4yicyxywn";
+      type = "gem";
+    };
+    version = "2.3.0";
+  };
   webfinger = {
     dependencies = ["activesupport" "httpclient"];
     groups = ["default"];
@@ -5066,21 +5438,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gg0c2sxq7rni0b93w47h7p7cn590xdhf5va7ska48inpipwlgxp";
-      type = "gem";
-    };
-    version = "3.5.1";
-  };
-  webpack-rails = {
-    dependencies = ["railties"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fsjxw730bh4k1dfnbjm645fgjyqrh830l1z7brqbsm6306ig1rr";
+      sha256 = "0z9k677j9f6jrsj6nkxl2h969q0zyfzqj2ibxldznd5jaqj85xmw";
       type = "gem";
     };
-    version = "0.9.11";
+    version = "3.9.1";
   };
   websocket-driver = {
     dependencies = ["websocket-extensions"];
@@ -5088,20 +5449,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bxamwqldmy98hxs5pqby3andws14hl36ch78g0s81gaz9b91nj2";
+      sha256 = "1i3rs4kcj0jba8idxla3s6xd1xfln3k8b4cb1dik2lda3ifnp3dh";
       type = "gem";
     };
-    version = "0.7.1";
+    version = "0.7.3";
   };
   websocket-extensions = {
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00i624ng1nvkz1yckj3f8yxxp6hi7xaqf40qh9q3hj2n1l9i8g6m";
+      sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw";
       type = "gem";
     };
-    version = "0.1.4";
+    version = "0.1.5";
   };
   wikicloth = {
     dependencies = ["builder" "expression_parser" "rinku"];
@@ -5145,14 +5506,24 @@
     };
     version = "3.2.0";
   };
+  yajl-ruby = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf";
+      type = "gem";
+    };
+    version = "1.4.1";
+  };
   zeitwerk = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1akpm3pwvyiack2zk6giv9yn3cqb8pw6g40p4394pdc3xmy3s4k0";
+      sha256 = "12n0hiawqayzchi0yga5n19hi63b2snd49fv3n23n2i4pp05jzrp";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.4.1";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/update.py b/pkgs/applications/version-management/gitlab/update.py
index 3db5099598a7a..0f215370e184d 100755
--- a/pkgs/applications/version-management/gitlab/update.py
+++ b/pkgs/applications/version-management/gitlab/update.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i python3 -p bundix bundler common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.click python3Packages.click-log vgo2nix yarn2nix
+#! nix-shell -i python3 -p bundix bundler common-updater-scripts nix nix-universal-prefetch python3 python3Packages.requests python3Packages.click python3Packages.click-log vgo2nix yarn2nix
 
 import click
 import click_log
@@ -40,9 +40,7 @@ class GitLabRepo:
         return versions
 
     def get_git_hash(self, rev: str):
-        out = subprocess.check_output(['nix-prefetch-git', self.url, rev])
-        j = json.loads(out)
-        return j['sha256']
+        return subprocess.check_output(['nix-universal-prefetch', 'fetchFromGitLab', '--owner', self.owner, '--repo', self.repo, '--rev', rev]).decode('utf-8').strip()
 
     @staticmethod
     def rev2version(tag: str) -> str:
@@ -117,6 +115,7 @@ def update_data(rev: str):
 
     with open(data_file_path.as_posix(), 'w') as f:
         json.dump(data, f, indent=2)
+        f.write("\n")
 
 
 @cli.command('update-rubyenv')
diff --git a/pkgs/applications/version-management/gitlab/yarnPkgs.nix b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
index 797329c613e47..ca504fc231e9d 100644
--- a/pkgs/applications/version-management/gitlab/yarnPkgs.nix
+++ b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
@@ -2,315 +2,323 @@
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
-      name = "_babel_code_frame___code_frame_7.8.3.tgz";
+      name = "_babel_code_frame___code_frame_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_code_frame___code_frame_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz";
-        sha1 = "33e25903d7481181534e12ec0a25f16b6fcf419e";
+        name = "_babel_code_frame___code_frame_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz";
+        sha1 = "168da1a36e90da68ae8d49c0f1b48c7c6249213a";
       };
     }
     {
-      name = "_babel_compat_data___compat_data_7.8.5.tgz";
+      name = "_babel_compat_data___compat_data_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_compat_data___compat_data_7.8.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.8.5.tgz";
-        sha1 = "d28ce872778c23551cbb9432fc68d28495b613b9";
+        name = "_babel_compat_data___compat_data_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.1.tgz";
+        sha1 = "b1085ffe72cd17bf2c0ee790fc09f9626011b2db";
       };
     }
     {
-      name = "_babel_core___core_7.8.4.tgz";
+      name = "_babel_core___core_7.10.2.tgz";
       path = fetchurl {
-        name = "_babel_core___core_7.8.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz";
-        sha1 = "d496799e5c12195b3602d0fddd77294e3e38e80e";
+        name = "_babel_core___core_7.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.10.2.tgz";
+        sha1 = "bd6786046668a925ac2bd2fd95b579b92a23b36a";
       };
     }
     {
-      name = "_babel_generator___generator_7.8.4.tgz";
+      name = "_babel_generator___generator_7.11.6.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.8.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.4.tgz";
-        sha1 = "35bbc74486956fe4251829f9f6c48330e8d0985e";
+        name = "_babel_generator___generator_7.11.6.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz";
+        sha1 = "b868900f81b163b4d464ea24545c61cbac4dc620";
       };
     }
     {
-      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.8.3.tgz";
+      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz";
-        sha1 = "60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee";
+        name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz";
+        sha1 = "f6d08acc6f70bbd59b436262553fb2e259a1a268";
       };
     }
     {
-      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.8.3.tgz";
+      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz";
-        sha1 = "c84097a427a061ac56a1c30ebf54b7b22d241503";
+        name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz";
+        sha1 = "0ec7d9be8174934532661f87783eb18d72290059";
       };
     }
     {
-      name = "_babel_helper_call_delegate___helper_call_delegate_7.8.3.tgz";
+      name = "_babel_helper_compilation_targets___helper_compilation_targets_7.10.2.tgz";
       path = fetchurl {
-        name = "_babel_helper_call_delegate___helper_call_delegate_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.8.3.tgz";
-        sha1 = "de82619898aa605d409c42be6ffb8d7204579692";
+        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz";
+        sha1 = "a17d9723b6e2c750299d2a14d4637c76936d8285";
       };
     }
     {
-      name = "_babel_helper_compilation_targets___helper_compilation_targets_7.8.4.tgz";
+      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.10.2.tgz";
       path = fetchurl {
-        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.8.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.4.tgz";
-        sha1 = "03d7ecd454b7ebe19a254f76617e61770aed2c88";
+        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.2.tgz";
+        sha1 = "7474295770f217dbcf288bf7572eb213db46ee67";
       };
     }
     {
-      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.8.3.tgz";
+      name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.3.tgz";
-        sha1 = "5b94be88c255f140fd2c10dd151e7f98f4bff397";
+        name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz";
+        sha1 = "1b8feeab1594cbcfbf3ab5a3bbcabac0468efdbd";
       };
     }
     {
-      name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.8.3.tgz";
+      name = "_babel_helper_define_map___helper_define_map_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz";
-        sha1 = "c774268c95ec07ee92476a3862b75cc2839beb79";
+        name = "_babel_helper_define_map___helper_define_map_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz";
+        sha1 = "5e69ee8308648470dd7900d159c044c10285221d";
       };
     }
     {
-      name = "_babel_helper_define_map___helper_define_map_7.8.3.tgz";
+      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_helper_define_map___helper_define_map_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz";
-        sha1 = "a0655cad5451c3760b726eba875f1cd8faa02c15";
+        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz";
+        sha1 = "e9d76305ee1162ca467357ae25df94f179af2b7e";
       };
     }
     {
-      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.8.3.tgz";
+      name = "_babel_helper_function_name___helper_function_name_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz";
-        sha1 = "a728dc5b4e89e30fc2dfc7d04fa28a930653f982";
+        name = "_babel_helper_function_name___helper_function_name_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz";
+        sha1 = "d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a";
       };
     }
     {
-      name = "_babel_helper_function_name___helper_function_name_7.8.3.tgz";
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_helper_function_name___helper_function_name_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz";
-        sha1 = "eeeb665a01b1f11068e9fb86ad56a1cb1a824cca";
+        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz";
+        sha1 = "98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2";
       };
     }
     {
-      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.8.3.tgz";
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz";
-        sha1 = "b894b947bd004381ce63ea1db9f08547e920abd5";
+        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz";
+        sha1 = "7e77c82e5dcae1ebf123174c385aaadbf787d077";
       };
     }
     {
-      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.8.3.tgz";
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.11.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz";
-        sha1 = "1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134";
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz";
+        sha1 = "ae69c83d84ee82f4b42f96e2a09410935a8f26df";
       };
     }
     {
-      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.8.3.tgz";
+      name = "_babel_helper_module_imports___helper_module_imports_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz";
-        sha1 = "659b710498ea6c1d9907e0c73f206eee7dadc24c";
+        name = "_babel_helper_module_imports___helper_module_imports_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz";
+        sha1 = "4c5c54be04bd31670a7382797d75b9fa2e5b5620";
       };
     }
     {
-      name = "_babel_helper_module_imports___helper_module_imports_7.8.3.tgz";
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.11.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_imports___helper_module_imports_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz";
-        sha1 = "7fe39589b39c016331b6b8c3f441e8f0b1419498";
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz";
+        sha1 = "b16f250229e47211abdd84b34b64737c2ab2d359";
       };
     }
     {
-      name = "_babel_helper_module_transforms___helper_module_transforms_7.8.3.tgz";
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_transforms___helper_module_transforms_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz";
-        sha1 = "d305e35d02bee720fbc2c3c3623aa0c316c01590";
+        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz";
+        sha1 = "50dc96413d594f995a77905905b05893cd779673";
       };
     }
     {
-      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.8.3.tgz";
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz";
-        sha1 = "7ed071813d09c75298ef4f208956006b6111ecb9";
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz";
+        sha1 = "2f75a831269d4f677de49986dff59927533cf375";
       };
     }
     {
-      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.8.3.tgz";
+      name = "_babel_helper_regex___helper_regex_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz";
-        sha1 = "9ea293be19babc0f52ff8ca88b34c3611b208670";
+        name = "_babel_helper_regex___helper_regex_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.1.tgz";
+        sha1 = "021cf1a7ba99822f993222a001cc3fec83255b96";
       };
     }
     {
-      name = "_babel_helper_regex___helper_regex_7.8.3.tgz";
+      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_helper_regex___helper_regex_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz";
-        sha1 = "139772607d51b93f23effe72105b319d2a4c6965";
+        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz";
+        sha1 = "bad6aaa4ff39ce8d4b82ccaae0bfe0f7dbb5f432";
       };
     }
     {
-      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.8.3.tgz";
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz";
-        sha1 = "273c600d8b9bf5006142c1e35887d555c12edd86";
+        name = "_babel_helper_replace_supers___helper_replace_supers_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz";
+        sha1 = "d585cd9388ea06e6031e4cd44b6713cbead9e6cf";
       };
     }
     {
-      name = "_babel_helper_replace_supers___helper_replace_supers_7.8.3.tgz";
+      name = "_babel_helper_simple_access___helper_simple_access_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_helper_replace_supers___helper_replace_supers_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz";
-        sha1 = "91192d25f6abbcd41da8a989d4492574fb1530bc";
+        name = "_babel_helper_simple_access___helper_simple_access_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz";
+        sha1 = "0f5ccda2945277a2a7a2d3a821e15395edcf3461";
       };
     }
     {
-      name = "_babel_helper_simple_access___helper_simple_access_7.8.3.tgz";
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.11.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_simple_access___helper_simple_access_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz";
-        sha1 = "7f8109928b4dab4654076986af575231deb639ae";
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz";
+        sha1 = "f8a491244acf6a676158ac42072911ba83ad099f";
       };
     }
     {
-      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.8.3.tgz";
+      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz";
-        sha1 = "31a9f30070f91368a7182cf05f831781065fc7a9";
+        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz";
+        sha1 = "a78c7a7251e01f616512d31b10adcf52ada5e0d2";
       };
     }
     {
-      name = "_babel_helper_wrap_function___helper_wrap_function_7.8.3.tgz";
+      name = "_babel_helper_wrap_function___helper_wrap_function_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_helper_wrap_function___helper_wrap_function_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz";
-        sha1 = "9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610";
+        name = "_babel_helper_wrap_function___helper_wrap_function_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz";
+        sha1 = "956d1310d6696257a7afd47e4c42dfda5dfcedc9";
       };
     }
     {
-      name = "_babel_helpers___helpers_7.8.4.tgz";
+      name = "_babel_helpers___helpers_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_helpers___helpers_7.8.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz";
-        sha1 = "754eb3ee727c165e0a240d6c207de7c455f36f73";
+        name = "_babel_helpers___helpers_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.1.tgz";
+        sha1 = "a6827b7cb975c9d9cef5fd61d919f60d8844a973";
       };
     }
     {
-      name = "_babel_highlight___highlight_7.8.3.tgz";
+      name = "_babel_highlight___highlight_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_highlight___highlight_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz";
-        sha1 = "28f173d04223eaaa59bc1d439a3836e6d1265797";
+        name = "_babel_highlight___highlight_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz";
+        sha1 = "7d1bdfd65753538fabe6c38596cdb76d9ac60143";
       };
     }
     {
-      name = "_babel_parser___parser_7.8.4.tgz";
+      name = "_babel_parser___parser_7.11.5.tgz";
       path = fetchurl {
-        name = "_babel_parser___parser_7.8.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz";
-        sha1 = "d1dbe64691d60358a974295fa53da074dd2ce8e8";
+        name = "_babel_parser___parser_7.11.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz";
+        sha1 = "c7ff6303df71080ec7a4f5b8c003c58f1cf51037";
       };
     }
     {
-      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.8.3.tgz";
+      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz";
-        sha1 = "bad329c670b382589721b27540c7d288601c6e6f";
+        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz";
+        sha1 = "6911af5ba2e615c4ff3c497fe2f47b35bf6d7e55";
       };
     }
     {
-      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.8.3.tgz";
+      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz";
-        sha1 = "5e06654af5cd04b608915aada9b2a6788004464e";
+        name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz";
+        sha1 = "046bc7f6550bb08d9bd1d4f060f5f5a4f1087e01";
       };
     }
     {
-      name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.8.3.tgz";
+      name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz";
-        sha1 = "38c4fe555744826e97e2ae930b0fb4cc07e66054";
+        name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz";
+        sha1 = "e36979dc1dc3b73f6d6816fc4951da2363488ef0";
       };
     }
     {
-      name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.8.3.tgz";
+      name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz";
-        sha1 = "da5216b238a98b58a1e05d6852104b10f9a70d6b";
+        name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz";
+        sha1 = "b1e691ee24c651b5a5e32213222b2379734aff09";
       };
     }
     {
-      name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.8.3.tgz";
+      name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz";
-        sha1 = "e4572253fdeed65cddeecfdab3f928afeb2fd5d2";
+        name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz";
+        sha1 = "02dca21673842ff2fe763ac253777f235e9bbf78";
       };
     }
     {
-      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.8.3.tgz";
+      name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz";
-        sha1 = "eb5ae366118ddca67bed583b53d7554cad9951bb";
+        name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz";
+        sha1 = "a9a38bc34f78bdfd981e791c27c6fdcec478c123";
       };
     }
     {
-      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.8.3.tgz";
+      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz";
-        sha1 = "9dee96ab1650eed88646ae9734ca167ac4a9c5c9";
+        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz";
+        sha1 = "cba44908ac9f142650b4a65b8aa06bf3478d5fb6";
       };
     }
     {
-      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.8.3.tgz";
+      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz";
-        sha1 = "ae10b3214cb25f7adb1f3bc87ba42ca10b7e2543";
+        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz";
+        sha1 = "c9f86d99305f9fa531b568ff5ab8c964b8b223d2";
       };
     }
     {
-      name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.8.3.tgz";
+      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.8.3.tgz";
-        sha1 = "01248c6c8dc292116b3b4ebd746150f4f0728bab";
+        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz";
+        sha1 = "15f5d6d22708629451a91be28f8facc55b0e818c";
       };
     }
     {
-      name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.8.3.tgz";
+      name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz";
-        sha1 = "b646c3adea5f98800c9ab45105ac34d06cd4a47f";
+        name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz";
+        sha1 = "ed85e8058ab0fe309c3f448e5e1b73ca89cdb598";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.10.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz";
+        sha1 = "dc04feb25e2dd70c12b05d680190e138fa2c0c6f";
       };
     }
     {
@@ -322,6 +330,22 @@
       };
     }
     {
+      name = "_babel_plugin_syntax_bigint___plugin_syntax_bigint_7.8.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_bigint___plugin_syntax_bigint_7.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz";
+        sha1 = "4c9a6f669f5d0cdf1b90a1671e9a146be5300cea";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.10.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz";
+        sha1 = "d5bc0645913df5b17ad7eda0fa2308330bde34c5";
+      };
+    }
+    {
       name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.8.3.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.8.3.tgz";
@@ -330,11 +354,11 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.8.3.tgz";
+      name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.8.3.tgz";
-        sha1 = "230afff79d3ccc215b5944b438e4e266daf3d84d";
+        name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz";
+        sha1 = "ee601348c370fa334d2207be158777496521fd51";
       };
     }
     {
@@ -346,6 +370,14 @@
       };
     }
     {
+      name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.10.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.1.tgz";
+        sha1 = "fffee77b4934ce77f3b427649ecdddbec1958550";
+      };
+    }
+    {
       name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.8.3.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.8.3.tgz";
@@ -354,6 +386,14 @@
       };
     }
     {
+      name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.10.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz";
+        sha1 = "25761ee7410bc8cf97327ba741ee94e4a61b7d99";
+      };
+    }
+    {
       name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.8.3.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.8.3.tgz";
@@ -378,155 +418,155 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.8.3.tgz";
+      name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz";
-        sha1 = "3acdece695e6b13aaf57fc291d1a800950c71391";
+        name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz";
+        sha1 = "8b8733f8c57397b3eaa47ddba8841586dcaef362";
       };
     }
     {
-      name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.8.3.tgz";
+      name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz";
-        sha1 = "82776c2ed0cd9e1a49956daeb896024c9473b8b6";
+        name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz";
+        sha1 = "cb5ee3a36f0863c06ead0b409b4cc43a889b295b";
       };
     }
     {
-      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.8.3.tgz";
+      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz";
-        sha1 = "4308fad0d9409d71eafb9b1a6ee35f9d64b64086";
+        name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz";
+        sha1 = "e5153eb1a3e028f79194ed8a7a4bf55f862b2062";
       };
     }
     {
-      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.8.3.tgz";
+      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz";
-        sha1 = "437eec5b799b5852072084b3ae5ef66e8349e8a3";
+        name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz";
+        sha1 = "146856e756d54b20fff14b819456b3e01820b85d";
       };
     }
     {
-      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.8.3.tgz";
+      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz";
-        sha1 = "97d35dab66857a437c166358b91d09050c868f3a";
+        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz";
+        sha1 = "47092d89ca345811451cd0dc5d91605982705d5e";
       };
     }
     {
-      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.8.3.tgz";
+      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.3.tgz";
-        sha1 = "46fd7a9d2bb9ea89ce88720477979fe0d71b21b8";
+        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz";
+        sha1 = "6e11dd6c4dfae70f540480a4702477ed766d733f";
       };
     }
     {
-      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.8.3.tgz";
+      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz";
-        sha1 = "96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b";
+        name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz";
+        sha1 = "59aa399064429d64dce5cf76ef9b90b7245ebd07";
       };
     }
     {
-      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.8.3.tgz";
+      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz";
-        sha1 = "20ddfbd9e4676906b1056ee60af88590cc7aaa0b";
+        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz";
+        sha1 = "abd58e51337815ca3a22a336b85f62b998e71907";
       };
     }
     {
-      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.8.3.tgz";
+      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz";
-        sha1 = "c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e";
+        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz";
+        sha1 = "920b9fec2d78bb57ebb64a644d5c2ba67cc104ee";
       };
     }
     {
-      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.8.3.tgz";
+      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz";
-        sha1 = "8d12df309aa537f272899c565ea1768e286e21f1";
+        name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz";
+        sha1 = "c900a793beb096bc9d4d0a9d0cde19518ffc83b9";
       };
     }
     {
-      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.8.3.tgz";
+      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz";
-        sha1 = "581a6d7f56970e06bf51560cd64f5e947b70d7b7";
+        name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz";
+        sha1 = "279c3116756a60dd6e6f5e488ba7957db9c59eb3";
       };
     }
     {
-      name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.8.4.tgz";
+      name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.8.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.4.tgz";
-        sha1 = "6fe8eae5d6875086ee185dd0b098a8513783b47d";
+        name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz";
+        sha1 = "ff01119784eb0ee32258e8646157ba2501fcfda5";
       };
     }
     {
-      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.8.3.tgz";
+      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz";
-        sha1 = "279373cb27322aaad67c2683e776dfc47196ed8b";
+        name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz";
+        sha1 = "4ed46fd6e1d8fde2a2ec7b03c66d853d2c92427d";
       };
     }
     {
-      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.8.3.tgz";
+      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_literals___plugin_transform_literals_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz";
-        sha1 = "aef239823d91994ec7b68e55193525d76dbd5dc1";
+        name = "_babel_plugin_transform_literals___plugin_transform_literals_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz";
+        sha1 = "5794f8da82846b22e4e6631ea1658bce708eb46a";
       };
     }
     {
-      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.8.3.tgz";
+      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz";
-        sha1 = "963fed4b620ac7cbf6029c755424029fa3a40410";
+        name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz";
+        sha1 = "90347cba31bca6f394b3f7bd95d2bbfd9fce2f39";
       };
     }
     {
-      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.8.3.tgz";
+      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz";
-        sha1 = "65606d44616b50225e76f5578f33c568a0b876a5";
+        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz";
+        sha1 = "65950e8e05797ebd2fe532b96e19fc5482a1d52a";
       };
     }
     {
-      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.8.3.tgz";
+      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.10.4.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz";
-        sha1 = "df251706ec331bd058a34bdd72613915f82928a5";
+        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz";
+        sha1 = "66667c3eeda1ebf7896d41f1f16b17105a2fbca0";
       };
     }
     {
-      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.8.3.tgz";
+      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz";
-        sha1 = "d8bbf222c1dbe3661f440f2f00c16e9bb7d0d420";
+        name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz";
+        sha1 = "9962e4b0ac6aaf2e20431ada3d8ec72082cbffb6";
       };
     }
     {
-      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.8.3.tgz";
+      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz";
-        sha1 = "592d578ce06c52f5b98b02f913d653ffe972661a";
+        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz";
+        sha1 = "ea080911ffc6eb21840a5197a39ede4ee67b1595";
       };
     }
     {
@@ -538,139 +578,179 @@
       };
     }
     {
-      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.8.3.tgz";
+      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz";
-        sha1 = "60cc2ae66d85c95ab540eb34babb6434d4c70c43";
+        name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz";
+        sha1 = "6ee41a5e648da7632e22b6fb54012e87f612f324";
       };
     }
     {
-      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.8.3.tgz";
+      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz";
-        sha1 = "ebb6a1e7a86ffa96858bd6ac0102d65944261725";
+        name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz";
+        sha1 = "2e3016b0adbf262983bf0d5121d676a5ed9c4fde";
       };
     }
     {
-      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.8.4.tgz";
+      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.8.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.4.tgz";
-        sha1 = "1d5155de0b65db0ccf9971165745d3bb990d77d3";
+        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz";
+        sha1 = "b25938a3c5fae0354144a720b07b32766f683ddd";
       };
     }
     {
-      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.8.3.tgz";
+      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz";
-        sha1 = "33194300d8539c1ed28c62ad5087ba3807b98263";
+        name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz";
+        sha1 = "cffc7315219230ed81dc53e4625bf86815b6050d";
       };
     }
     {
-      name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.8.3.tgz";
+      name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.3.tgz";
-        sha1 = "b31031e8059c07495bf23614c97f3d9698bc6ec8";
+        name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz";
+        sha1 = "10e175cbe7bdb63cc9b39f9b3f823c5c7c5c5490";
       };
     }
     {
-      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.8.3.tgz";
+      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz";
-        sha1 = "9a0635ac4e665d29b162837dd3cc50745dfdf1f5";
+        name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz";
+        sha1 = "0fc1027312b4d1c3276a57890c8ae3bcc0b64a86";
       };
     }
     {
-      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.8.3.tgz";
+      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz";
-        sha1 = "28545216e023a832d4d3a1185ed492bcfeac08c8";
+        name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz";
+        sha1 = "e8b54f238a1ccbae482c4dce946180ae7b3143f3";
       };
     }
     {
-      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.8.3.tgz";
+      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz";
-        sha1 = "9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8";
+        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz";
+        sha1 = "0c6d618a0c4461a274418460a28c9ccf5239a7c8";
       };
     }
     {
-      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.8.3.tgz";
+      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz";
-        sha1 = "be7a1290f81dae767475452199e1f76d6175b100";
+        name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz";
+        sha1 = "90fc89b7526228bed9842cff3588270a7a393b00";
       };
     }
     {
-      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.8.3.tgz";
+      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz";
-        sha1 = "7bfa4732b455ea6a43130adc0ba767ec0e402a80";
+        name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz";
+        sha1 = "914c7b7f4752c570ea00553b4284dad8070e8628";
       };
     }
     {
-      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.8.4.tgz";
+      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.8.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz";
-        sha1 = "ede4062315ce0aaf8a657a920858f1a2f35fc412";
+        name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz";
+        sha1 = "60c0239b69965d166b80a84de7315c1bc7e0bb0e";
       };
     }
     {
-      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.8.3.tgz";
+      name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz";
-        sha1 = "0cef36e3ba73e5c57273effb182f46b91a1ecaad";
+        name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz";
+        sha1 = "add0f8483dab60570d9e03cecef6c023aa8c9940";
       };
     }
     {
-      name = "_babel_preset_env___preset_env_7.8.4.tgz";
+      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.10.1.tgz";
       path = fetchurl {
-        name = "_babel_preset_env___preset_env_7.8.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.4.tgz";
-        sha1 = "9dac6df5f423015d3d49b6e9e5fa3413e4a72c4e";
+        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz";
+        sha1 = "6b58f2aea7b68df37ac5025d9c88752443a6b43f";
       };
     }
     {
-      name = "_babel_standalone___standalone_7.8.3.tgz";
+      name = "_babel_preset_env___preset_env_7.10.2.tgz";
       path = fetchurl {
-        name = "_babel_standalone___standalone_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.8.3.tgz";
-        sha1 = "0674730a8c5fbb9352de5342bf0c0c040d658380";
+        name = "_babel_preset_env___preset_env_7.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.10.2.tgz";
+        sha1 = "715930f2cf8573b0928005ee562bed52fb65fdfb";
       };
     }
     {
-      name = "_babel_template___template_7.8.3.tgz";
+      name = "_babel_preset_modules___preset_modules_0.1.3.tgz";
       path = fetchurl {
-        name = "_babel_template___template_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz";
-        sha1 = "e02ad04fe262a657809327f578056ca15fd4d1b8";
+        name = "_babel_preset_modules___preset_modules_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz";
+        sha1 = "13242b53b5ef8c883c3cf7dddd55b36ce80fbc72";
       };
     }
     {
-      name = "_babel_traverse___traverse_7.8.4.tgz";
+      name = "_babel_runtime_corejs3___runtime_corejs3_7.10.2.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.8.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.4.tgz";
-        sha1 = "f0845822365f9d5b0e312ed3959d3f827f869e3c";
+        name = "_babel_runtime_corejs3___runtime_corejs3_7.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.10.2.tgz";
+        sha1 = "3511797ddf9a3d6f3ce46b99cc835184817eaa4e";
       };
     }
     {
-      name = "_babel_types___types_7.8.3.tgz";
+      name = "_babel_runtime___runtime_7.11.2.tgz";
       path = fetchurl {
-        name = "_babel_types___types_7.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz";
-        sha1 = "5a383dffa5416db1b73dedffd311ffd0788fb31c";
+        name = "_babel_runtime___runtime_7.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz";
+        sha1 = "f549c13c754cc40b87644b9fa9f09a6a95fe0736";
+      };
+    }
+    {
+      name = "_babel_standalone___standalone_7.10.2.tgz";
+      path = fetchurl {
+        name = "_babel_standalone___standalone_7.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.10.2.tgz";
+        sha1 = "49dbbadcbc4b199df064d7d8b3e21c915b84abdb";
+      };
+    }
+    {
+      name = "_babel_template___template_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_template___template_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz";
+        sha1 = "3251996c4200ebc71d1a8fc405fba940f36ba278";
+      };
+    }
+    {
+      name = "_babel_traverse___traverse_7.11.5.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.11.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz";
+        sha1 = "be777b93b518eb6d76ee2e1ea1d143daa11e61c3";
+      };
+    }
+    {
+      name = "_babel_types___types_7.11.5.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.11.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz";
+        sha1 = "d9de577d01252d77c6800cee039ee64faf75662d";
+      };
+    }
+    {
+      name = "_bcoe_v8_coverage___v8_coverage_0.2.3.tgz";
+      path = fetchurl {
+        name = "_bcoe_v8_coverage___v8_coverage_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz";
+        sha1 = "75a2e8b51cb758a7553d6804a5932d7aace75c39";
       };
     }
     {
@@ -682,11 +762,11 @@
       };
     }
     {
-      name = "_cnakazawa_watch___watch_1.0.3.tgz";
+      name = "_cnakazawa_watch___watch_1.0.4.tgz";
       path = fetchurl {
-        name = "_cnakazawa_watch___watch_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz";
-        sha1 = "099139eaec7ebf07a27c1786a3ff64f39464d2ef";
+        name = "_cnakazawa_watch___watch_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz";
+        sha1 = "f864ae85004d0fcab6f50be9141c4da368d1656a";
       };
     }
     {
@@ -698,27 +778,27 @@
       };
     }
     {
-      name = "_gitlab_eslint_plugin___eslint_plugin_3.1.0.tgz";
+      name = "_gitlab_eslint_plugin___eslint_plugin_5.0.0.tgz";
       path = fetchurl {
-        name = "_gitlab_eslint_plugin___eslint_plugin_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/eslint-plugin/-/eslint-plugin-3.1.0.tgz";
-        sha1 = "18e03630d10788defbb4c2d746620aec09517295";
+        name = "_gitlab_eslint_plugin___eslint_plugin_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/eslint-plugin/-/eslint-plugin-5.0.0.tgz";
+        sha1 = "502eb2bccb55d65d6310ce9ef2da76035b6fc319";
       };
     }
     {
-      name = "_gitlab_svgs___svgs_1.127.0.tgz";
+      name = "_gitlab_svgs___svgs_1.175.0.tgz";
       path = fetchurl {
-        name = "_gitlab_svgs___svgs_1.127.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.127.0.tgz";
-        sha1 = "1f7ffdffe44d6a82b372535f93d78f3a895d1960";
+        name = "_gitlab_svgs___svgs_1.175.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.175.0.tgz";
+        sha1 = "734f341784af1cd1d62d160a17bcdfb61ff7b04d";
       };
     }
     {
-      name = "_gitlab_ui___ui_14.10.0.tgz";
+      name = "_gitlab_ui___ui_23.9.0.tgz";
       path = fetchurl {
-        name = "_gitlab_ui___ui_14.10.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-14.10.0.tgz";
-        sha1 = "39c04d62c914fcefe96c7ec32fdf31b1f98f1119";
+        name = "_gitlab_ui___ui_23.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-23.9.0.tgz";
+        sha1 = "e21966130b41e624dbe4505911a79afb731c2d6b";
       };
     }
     {
@@ -738,83 +818,123 @@
       };
     }
     {
-      name = "_jest_console___console_24.7.1.tgz";
+      name = "_istanbuljs_load_nyc_config___load_nyc_config_1.1.0.tgz";
       path = fetchurl {
-        name = "_jest_console___console_24.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz";
-        sha1 = "32a9e42535a97aedfe037e725bd67e954b459545";
+        name = "_istanbuljs_load_nyc_config___load_nyc_config_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz";
+        sha1 = "fd3db1d59ecf7cf121e80650bb86712f9b55eced";
       };
     }
     {
-      name = "_jest_core___core_24.8.0.tgz";
+      name = "_istanbuljs_schema___schema_0.1.2.tgz";
       path = fetchurl {
-        name = "_jest_core___core_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/core/-/core-24.8.0.tgz";
-        sha1 = "fbbdcd42a41d0d39cddbc9f520c8bab0c33eed5b";
+        name = "_istanbuljs_schema___schema_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz";
+        sha1 = "26520bf09abe4a5644cd5414e37125a8954241dd";
       };
     }
     {
-      name = "_jest_environment___environment_24.8.0.tgz";
+      name = "_jest_console___console_26.5.2.tgz";
       path = fetchurl {
-        name = "_jest_environment___environment_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-24.8.0.tgz";
-        sha1 = "0342261383c776bdd652168f68065ef144af0eac";
+        name = "_jest_console___console_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/console/-/console-26.5.2.tgz";
+        sha1 = "94fc4865b1abed7c352b5e21e6c57be4b95604a6";
       };
     }
     {
-      name = "_jest_fake_timers___fake_timers_24.8.0.tgz";
+      name = "_jest_core___core_26.5.2.tgz";
       path = fetchurl {
-        name = "_jest_fake_timers___fake_timers_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz";
-        sha1 = "2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1";
+        name = "_jest_core___core_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/core/-/core-26.5.2.tgz";
+        sha1 = "e39f14676f4ba4632ecabfdc374071ab22131f22";
       };
     }
     {
-      name = "_jest_reporters___reporters_24.8.0.tgz";
+      name = "_jest_environment___environment_26.5.2.tgz";
       path = fetchurl {
-        name = "_jest_reporters___reporters_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.8.0.tgz";
-        sha1 = "075169cd029bddec54b8f2c0fc489fd0b9e05729";
+        name = "_jest_environment___environment_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-26.5.2.tgz";
+        sha1 = "eba3cfc698f6e03739628f699c28e8a07f5e65fe";
       };
     }
     {
-      name = "_jest_source_map___source_map_24.3.0.tgz";
+      name = "_jest_fake_timers___fake_timers_26.5.2.tgz";
       path = fetchurl {
-        name = "_jest_source_map___source_map_24.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz";
-        sha1 = "563be3aa4d224caf65ff77edc95cd1ca4da67f28";
+        name = "_jest_fake_timers___fake_timers_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.5.2.tgz";
+        sha1 = "1291ac81680ceb0dc7daa1f92c059307eea6400a";
       };
     }
     {
-      name = "_jest_test_result___test_result_24.8.0.tgz";
+      name = "_jest_globals___globals_26.5.2.tgz";
       path = fetchurl {
-        name = "_jest_test_result___test_result_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz";
-        sha1 = "7675d0aaf9d2484caa65e048d9b467d160f8e9d3";
+        name = "_jest_globals___globals_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/globals/-/globals-26.5.2.tgz";
+        sha1 = "c333f82c29e19ecb609a75d1a532915a5c956c59";
       };
     }
     {
-      name = "_jest_test_sequencer___test_sequencer_24.8.0.tgz";
+      name = "_jest_reporters___reporters_26.5.2.tgz";
       path = fetchurl {
-        name = "_jest_test_sequencer___test_sequencer_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.8.0.tgz";
-        sha1 = "2f993bcf6ef5eb4e65e8233a95a3320248cf994b";
+        name = "_jest_reporters___reporters_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.5.2.tgz";
+        sha1 = "0f1c900c6af712b46853d9d486c9c0382e4050f6";
       };
     }
     {
-      name = "_jest_transform___transform_24.8.0.tgz";
+      name = "_jest_source_map___source_map_26.5.0.tgz";
       path = fetchurl {
-        name = "_jest_transform___transform_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-24.8.0.tgz";
-        sha1 = "628fb99dce4f9d254c6fd9341e3eea262e06fef5";
+        name = "_jest_source_map___source_map_26.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.5.0.tgz";
+        sha1 = "98792457c85bdd902365cd2847b58fff05d96367";
       };
     }
     {
-      name = "_jest_types___types_24.8.0.tgz";
+      name = "_jest_test_result___test_result_26.5.2.tgz";
       path = fetchurl {
-        name = "_jest_types___types_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz";
-        sha1 = "f31e25948c58f0abd8c845ae26fcea1491dea7ad";
+        name = "_jest_test_result___test_result_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.5.2.tgz";
+        sha1 = "cc1a44cfd4db2ecee3fb0bc4e9fe087aa54b5230";
+      };
+    }
+    {
+      name = "_jest_test_sequencer___test_sequencer_26.5.2.tgz";
+      path = fetchurl {
+        name = "_jest_test_sequencer___test_sequencer_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.5.2.tgz";
+        sha1 = "c4559c7e134b27b020317303ee5399bf62917a4b";
+      };
+    }
+    {
+      name = "_jest_transform___transform_26.5.2.tgz";
+      path = fetchurl {
+        name = "_jest_transform___transform_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-26.5.2.tgz";
+        sha1 = "6a0033a1d24316a1c75184d010d864f2c681bef5";
+      };
+    }
+    {
+      name = "_jest_types___types_25.5.0.tgz";
+      path = fetchurl {
+        name = "_jest_types___types_25.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz";
+        sha1 = "4d6a4793f7b9599fc3680877b856a97dbccf2a9d";
+      };
+    }
+    {
+      name = "_jest_types___types_26.5.2.tgz";
+      path = fetchurl {
+        name = "_jest_types___types_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-26.5.2.tgz";
+        sha1 = "44c24f30c8ee6c7f492ead9ec3f3c62a5289756d";
+      };
+    }
+    {
+      name = "_miragejs_pretender_node_polyfill___pretender_node_polyfill_0.1.2.tgz";
+      path = fetchurl {
+        name = "_miragejs_pretender_node_polyfill___pretender_node_polyfill_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@miragejs/pretender-node-polyfill/-/pretender-node-polyfill-0.1.2.tgz";
+        sha1 = "d26b6b7483fb70cd62189d05c95d2f67153e43f2";
       };
     }
     {
@@ -842,99 +962,99 @@
       };
     }
     {
-      name = "_rails_actioncable___actioncable_6.0.3.tgz";
+      name = "_rails_actioncable___actioncable_6.0.3_3.tgz";
       path = fetchurl {
-        name = "_rails_actioncable___actioncable_6.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3.tgz";
-        sha1 = "722b4b639936129307ddbab3a390f6bcacf3e7bc";
+        name = "_rails_actioncable___actioncable_6.0.3_3.tgz";
+        url  = "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3-3.tgz";
+        sha1 = "fb1a46d3d353512764d5fa3cea2f492391601b7a";
       };
     }
     {
-      name = "_sentry_browser___browser_5.10.2.tgz";
+      name = "_rails_ujs___ujs_6.0.3_2.tgz";
       path = fetchurl {
-        name = "_sentry_browser___browser_5.10.2.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.10.2.tgz";
-        sha1 = "0bbb05505c58ea998c833cffec3f922fe4b4fa58";
+        name = "_rails_ujs___ujs_6.0.3_2.tgz";
+        url  = "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.0.3-2.tgz";
+        sha1 = "e14c1f29086858215ce7ccd9ad6d8888c458b4a3";
       };
     }
     {
-      name = "_sentry_core___core_5.10.2.tgz";
+      name = "_sindresorhus_is___is_0.14.0.tgz";
       path = fetchurl {
-        name = "_sentry_core___core_5.10.2.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/core/-/core-5.10.2.tgz";
-        sha1 = "1cb64489e6f8363c3249415b49d3f1289814825f";
+        name = "_sindresorhus_is___is_0.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz";
+        sha1 = "9fb3a3cf3132328151f353de4632e01e52102bea";
       };
     }
     {
-      name = "_sentry_hub___hub_5.10.2.tgz";
+      name = "_sinonjs_commons___commons_1.8.1.tgz";
       path = fetchurl {
-        name = "_sentry_hub___hub_5.10.2.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.10.2.tgz";
-        sha1 = "25d9f36b8f7c5cb65cf486737fa61dc9bf69b7e3";
+        name = "_sinonjs_commons___commons_1.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz";
+        sha1 = "e7df00f98a203324f6dc7cc606cad9d4a8ab2217";
       };
     }
     {
-      name = "_sentry_minimal___minimal_5.10.2.tgz";
+      name = "_sinonjs_fake_timers___fake_timers_6.0.1.tgz";
       path = fetchurl {
-        name = "_sentry_minimal___minimal_5.10.2.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.10.2.tgz";
-        sha1 = "267c2f3aa6877a0fe7a86971942e83f3ee616580";
+        name = "_sinonjs_fake_timers___fake_timers_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz";
+        sha1 = "293674fccb3262ac782c7aadfdeca86b10c75c40";
       };
     }
     {
-      name = "_sentry_types___types_5.10.0.tgz";
+      name = "_sourcegraph_code_host_integration___code_host_integration_0.0.52.tgz";
       path = fetchurl {
-        name = "_sentry_types___types_5.10.0.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/types/-/types-5.10.0.tgz";
-        sha1 = "4f0ba31b6e4d5371112c38279f11f66c73b43746";
+        name = "_sourcegraph_code_host_integration___code_host_integration_0.0.52.tgz";
+        url  = "https://registry.yarnpkg.com/@sourcegraph/code-host-integration/-/code-host-integration-0.0.52.tgz";
+        sha1 = "3668364647b9248a0c43d738f7b046c551311338";
       };
     }
     {
-      name = "_sentry_utils___utils_5.10.2.tgz";
+      name = "_szmarczak_http_timer___http_timer_1.1.2.tgz";
       path = fetchurl {
-        name = "_sentry_utils___utils_5.10.2.tgz";
-        url  = "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.10.2.tgz";
-        sha1 = "261f575079d30aaf604e59f5f4de0aa21db22252";
+        name = "_szmarczak_http_timer___http_timer_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
+        sha1 = "b1665e2c461a2cd92f4c1bbf50d5454de0d4b421";
       };
     }
     {
-      name = "_sourcegraph_code_host_integration___code_host_integration_0.0.46.tgz";
+      name = "_testing_library_dom___dom_7.24.5.tgz";
       path = fetchurl {
-        name = "_sourcegraph_code_host_integration___code_host_integration_0.0.46.tgz";
-        url  = "https://registry.yarnpkg.com/@sourcegraph/code-host-integration/-/code-host-integration-0.0.46.tgz";
-        sha1 = "05e4cda671ed00450be12461e6a3caff473675aa";
+        name = "_testing_library_dom___dom_7.24.5.tgz";
+        url  = "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.24.5.tgz";
+        sha1 = "862124eec8c37ad184716379f09742476b23815d";
       };
     }
     {
-      name = "_toast_ui_editor___editor_2.0.1.tgz";
+      name = "_toast_ui_editor___editor_2.5.0.tgz";
       path = fetchurl {
-        name = "_toast_ui_editor___editor_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/@toast-ui/editor/-/editor-2.0.1.tgz";
-        sha1 = "749e5be1f02f42ded51488d1575ab1c19ca59952";
+        name = "_toast_ui_editor___editor_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@toast-ui/editor/-/editor-2.5.0.tgz";
+        sha1 = "02779b119eaa6dd7601249d75ca031e0b98400f1";
       };
     }
     {
-      name = "_toast_ui_vue_editor___vue_editor_2.0.1.tgz";
+      name = "_toast_ui_vue_editor___vue_editor_2.5.0.tgz";
       path = fetchurl {
-        name = "_toast_ui_vue_editor___vue_editor_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/@toast-ui/vue-editor/-/vue-editor-2.0.1.tgz";
-        sha1 = "c9c8c8da4c0a67b9fbc4240464388c67d72a0c22";
+        name = "_toast_ui_vue_editor___vue_editor_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@toast-ui/vue-editor/-/vue-editor-2.5.0.tgz";
+        sha1 = "8094136588b0f726241b5f89d0754a7169f2ffee";
       };
     }
     {
-      name = "_types_anymatch___anymatch_1.3.0.tgz";
+      name = "_types_aria_query___aria_query_4.2.0.tgz";
       path = fetchurl {
-        name = "_types_anymatch___anymatch_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.0.tgz";
-        sha1 = "d1d55958d1fccc5527d4aba29fc9c4b942f563ff";
+        name = "_types_aria_query___aria_query_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.0.tgz";
+        sha1 = "14264692a9d6e2fa4db3df5e56e94b5e25647ac0";
       };
     }
     {
-      name = "_types_babel__core___babel__core_7.1.2.tgz";
+      name = "_types_babel__core___babel__core_7.1.9.tgz";
       path = fetchurl {
-        name = "_types_babel__core___babel__core_7.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz";
-        sha1 = "608c74f55928033fce18b99b213c16be4b3d114f";
+        name = "_types_babel__core___babel__core_7.1.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz";
+        sha1 = "77e59d438522a6fb898fa43dc3455c6e72f3963d";
       };
     }
     {
@@ -954,11 +1074,11 @@
       };
     }
     {
-      name = "_types_babel__traverse___babel__traverse_7.0.6.tgz";
+      name = "_types_babel__traverse___babel__traverse_7.0.15.tgz";
       path = fetchurl {
-        name = "_types_babel__traverse___babel__traverse_7.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.6.tgz";
-        sha1 = "328dd1a8fc4cfe3c8458be9477b219ea158fd7b2";
+        name = "_types_babel__traverse___babel__traverse_7.0.15.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.15.tgz";
+        sha1 = "db9e4238931eb69ef8aab0ad6523d4d4caa39d03";
       };
     }
     {
@@ -970,6 +1090,14 @@
       };
     }
     {
+      name = "_types_color_name___color_name_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_color_name___color_name_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz";
+        sha1 = "1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0";
+      };
+    }
+    {
       name = "_types_estree___estree_0.0.44.tgz";
       path = fetchurl {
         name = "_types_estree___estree_0.0.44.tgz";
@@ -994,11 +1122,19 @@
       };
     }
     {
-      name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
+      name = "_types_graceful_fs___graceful_fs_4.1.3.tgz";
       path = fetchurl {
-        name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz";
-        sha1 = "42995b446db9a48a11a07ec083499a860e9138ff";
+        name = "_types_graceful_fs___graceful_fs_4.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz";
+        sha1 = "039af35fe26bec35003e8d86d2ee9c586354348f";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.2.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz";
+        sha1 = "79d7a78bad4219f4c03d6557a1c72d9ca6ba62d5";
       };
     }
     {
@@ -1018,6 +1154,22 @@
       };
     }
     {
+      name = "_types_istanbul_reports___istanbul_reports_3.0.0.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_reports___istanbul_reports_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz";
+        sha1 = "508b13aa344fa4976234e75dddcc34925737d821";
+      };
+    }
+    {
+      name = "_types_jest___jest_26.0.14.tgz";
+      path = fetchurl {
+        name = "_types_jest___jest_26.0.14.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.14.tgz";
+        sha1 = "078695f8f65cb55c5a98450d65083b2b73e5a3f3";
+      };
+    }
+    {
       name = "_types_json_schema___json_schema_7.0.4.tgz";
       path = fetchurl {
         name = "_types_json_schema___json_schema_7.0.4.tgz";
@@ -1042,6 +1194,14 @@
       };
     }
     {
+      name = "_types_normalize_package_data___normalize_package_data_2.4.0.tgz";
+      path = fetchurl {
+        name = "_types_normalize_package_data___normalize_package_data_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz";
+        sha1 = "e486d0d97396d79beedd0a6e33f4534ff6b4973e";
+      };
+    }
+    {
       name = "_types_parse5___parse5_5.0.0.tgz";
       path = fetchurl {
         name = "_types_parse5___parse5_5.0.0.tgz";
@@ -1050,19 +1210,19 @@
       };
     }
     {
-      name = "_types_stack_utils___stack_utils_1.0.1.tgz";
+      name = "_types_prettier___prettier_2.0.2.tgz";
       path = fetchurl {
-        name = "_types_stack_utils___stack_utils_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz";
-        sha1 = "0a851d3bd96498fa25c33ab7278ed3bd65f06c3e";
+        name = "_types_prettier___prettier_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.2.tgz";
+        sha1 = "5bb52ee68d0f8efa9cc0099920e56be6cc4e37f3";
       };
     }
     {
-      name = "_types_tapable___tapable_1.0.4.tgz";
+      name = "_types_stack_utils___stack_utils_2.0.0.tgz";
       path = fetchurl {
-        name = "_types_tapable___tapable_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.4.tgz";
-        sha1 = "b4ffc7dc97b498c969b360a41eee247f82616370";
+        name = "_types_stack_utils___stack_utils_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz";
+        sha1 = "7036640b4e21cc2f259ae826ce843d277dad8cff";
       };
     }
     {
@@ -1074,14 +1234,6 @@
       };
     }
     {
-      name = "_types_uglify_js___uglify_js_3.0.4.tgz";
-      path = fetchurl {
-        name = "_types_uglify_js___uglify_js_3.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.0.4.tgz";
-        sha1 = "96beae23df6f561862a830b4288a49e86baac082";
-      };
-    }
-    {
       name = "_types_unist___unist_2.0.3.tgz";
       path = fetchurl {
         name = "_types_unist___unist_2.0.3.tgz";
@@ -1106,19 +1258,19 @@
       };
     }
     {
-      name = "_types_webpack___webpack_4.4.23.tgz";
+      name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
       path = fetchurl {
-        name = "_types_webpack___webpack_4.4.23.tgz";
-        url  = "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.4.23.tgz";
-        sha1 = "059d6f4598cfd65ddee0e2db38317ef989696712";
+        name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz";
+        sha1 = "cb3f9f741869e20cce330ffbeb9271590483882d";
       };
     }
     {
-      name = "_types_yargs___yargs_12.0.12.tgz";
+      name = "_types_yargs___yargs_15.0.5.tgz";
       path = fetchurl {
-        name = "_types_yargs___yargs_12.0.12.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz";
-        sha1 = "45dd1d0638e8c8f153e87d296907659296873916";
+        name = "_types_yargs___yargs_15.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz";
+        sha1 = "947e9a6561483bdee9adffc983e91a6902af8b79";
       };
     }
     {
@@ -1146,14 +1298,6 @@
       };
     }
     {
-      name = "_vue_component_compiler_utils___component_compiler_utils_2.6.0.tgz";
-      path = fetchurl {
-        name = "_vue_component_compiler_utils___component_compiler_utils_2.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-2.6.0.tgz";
-        sha1 = "aa46d2a6f7647440b0b8932434d22f12371e543b";
-      };
-    }
-    {
       name = "_vue_component_compiler_utils___component_compiler_utils_3.1.1.tgz";
       path = fetchurl {
         name = "_vue_component_compiler_utils___component_compiler_utils_3.1.1.tgz";
@@ -1354,19 +1498,19 @@
       };
     }
     {
-      name = "abab___abab_2.0.0.tgz";
+      name = "abab___abab_2.0.5.tgz";
       path = fetchurl {
-        name = "abab___abab_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz";
-        sha1 = "aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f";
+        name = "abab___abab_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz";
+        sha1 = "c0b678fb32d60fc1219c784d6a826fe385aeb79a";
       };
     }
     {
-      name = "abbrev___abbrev_1.0.9.tgz";
+      name = "abbrev___abbrev_1.1.1.tgz";
       path = fetchurl {
-        name = "abbrev___abbrev_1.0.9.tgz";
-        url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz";
-        sha1 = "91b4792588a7738c25f35dd6f63752a2f8776135";
+        name = "abbrev___abbrev_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz";
+        sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8";
       };
     }
     {
@@ -1378,11 +1522,11 @@
       };
     }
     {
-      name = "acorn_globals___acorn_globals_4.3.0.tgz";
+      name = "acorn_globals___acorn_globals_6.0.0.tgz";
       path = fetchurl {
-        name = "acorn_globals___acorn_globals_4.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.0.tgz";
-        sha1 = "e3b6f8da3c1552a95ae627571f7dd6923bb54103";
+        name = "acorn_globals___acorn_globals_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz";
+        sha1 = "46cdd39f0f8ff08a876619b55f5ac8a6dc770b45";
       };
     }
     {
@@ -1402,11 +1546,11 @@
       };
     }
     {
-      name = "acorn___acorn_5.7.3.tgz";
+      name = "acorn_walk___acorn_walk_7.2.0.tgz";
       path = fetchurl {
-        name = "acorn___acorn_5.7.3.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz";
-        sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279";
+        name = "acorn_walk___acorn_walk_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz";
+        sha1 = "0de889a601203909b0fbe07b8938dc21d2e967bc";
       };
     }
     {
@@ -1418,11 +1562,11 @@
       };
     }
     {
-      name = "acorn___acorn_7.1.0.tgz";
+      name = "acorn___acorn_7.4.1.tgz";
       path = fetchurl {
-        name = "acorn___acorn_7.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz";
-        sha1 = "949d36f2c292535da602283586c2477c57eb2d6c";
+        name = "acorn___acorn_7.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz";
+        sha1 = "feaed255973d2e77555b83dbc08851a6c63520fa";
       };
     }
     {
@@ -1434,6 +1578,14 @@
       };
     }
     {
+      name = "agent_base___agent_base_4.3.0.tgz";
+      path = fetchurl {
+        name = "agent_base___agent_base_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz";
+        sha1 = "8165f01c436009bccad0b1d122f05ed770efc6ee";
+      };
+    }
+    {
       name = "aggregate_error___aggregate_error_3.0.1.tgz";
       path = fetchurl {
         name = "aggregate_error___aggregate_error_3.0.1.tgz";
@@ -1458,11 +1610,11 @@
       };
     }
     {
-      name = "ajv___ajv_6.11.0.tgz";
+      name = "ajv___ajv_6.12.5.tgz";
       path = fetchurl {
-        name = "ajv___ajv_6.11.0.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz";
-        sha1 = "c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9";
+        name = "ajv___ajv_6.12.5.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz";
+        sha1 = "19b0e8bae8f476e5ba666300387775fb1a00a4da";
       };
     }
     {
@@ -1474,11 +1626,11 @@
       };
     }
     {
-      name = "ansi_align___ansi_align_2.0.0.tgz";
+      name = "ansi_align___ansi_align_3.0.0.tgz";
       path = fetchurl {
-        name = "ansi_align___ansi_align_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz";
-        sha1 = "c36aeccba563b89ceb556f3690f0b1d9e3547f7f";
+        name = "ansi_align___ansi_align_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz";
+        sha1 = "b536b371cf687caaef236c18d3e21fe3797467cb";
       };
     }
     {
@@ -1490,14 +1642,6 @@
       };
     }
     {
-      name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
-      path = fetchurl {
-        name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
-        sha1 = "8780b98ff9dbf5638152d1f1fe5c1d7b4442976b";
-      };
-    }
-    {
       name = "ansi_escapes___ansi_escapes_4.3.0.tgz";
       path = fetchurl {
         name = "ansi_escapes___ansi_escapes_4.3.0.tgz";
@@ -1538,6 +1682,14 @@
       };
     }
     {
+      name = "ansi_regex___ansi_regex_5.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz";
+        sha1 = "388539f55179bf39339c81af30a654d69f87cb75";
+      };
+    }
+    {
       name = "ansi_styles___ansi_styles_2.2.1.tgz";
       path = fetchurl {
         name = "ansi_styles___ansi_styles_2.2.1.tgz";
@@ -1554,6 +1706,14 @@
       };
     }
     {
+      name = "ansi_styles___ansi_styles_4.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz";
+        sha1 = "90ae75c424d008d2624c5bf29ead3177ebfcf359";
+      };
+    }
+    {
       name = "anymatch___anymatch_2.0.0.tgz";
       path = fetchurl {
         name = "anymatch___anymatch_2.0.0.tgz";
@@ -1562,83 +1722,83 @@
       };
     }
     {
-      name = "anymatch___anymatch_3.0.3.tgz";
+      name = "anymatch___anymatch_3.1.1.tgz";
       path = fetchurl {
-        name = "anymatch___anymatch_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.0.3.tgz";
-        sha1 = "2fb624fe0e84bccab00afee3d0006ed310f22f09";
+        name = "anymatch___anymatch_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz";
+        sha1 = "c55ecf02185e2469259399310c173ce31233b142";
       };
     }
     {
-      name = "apollo_cache_inmemory___apollo_cache_inmemory_1.6.3.tgz";
+      name = "apollo_cache_inmemory___apollo_cache_inmemory_1.6.6.tgz";
       path = fetchurl {
-        name = "apollo_cache_inmemory___apollo_cache_inmemory_1.6.3.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.3.tgz";
-        sha1 = "826861d20baca4abc45f7ca7a874105905b8525d";
+        name = "apollo_cache_inmemory___apollo_cache_inmemory_1.6.6.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.6.tgz";
+        sha1 = "56d1f2a463a6b9db32e9fa990af16d2a008206fd";
       };
     }
     {
-      name = "apollo_cache___apollo_cache_1.3.2.tgz";
+      name = "apollo_cache___apollo_cache_1.3.5.tgz";
       path = fetchurl {
-        name = "apollo_cache___apollo_cache_1.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.3.2.tgz";
-        sha1 = "df4dce56240d6c95c613510d7e409f7214e6d26a";
+        name = "apollo_cache___apollo_cache_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.3.5.tgz";
+        sha1 = "9dbebfc8dbe8fe7f97ba568a224bca2c5d81f461";
       };
     }
     {
-      name = "apollo_client___apollo_client_2.6.4.tgz";
+      name = "apollo_client___apollo_client_2.6.10.tgz";
       path = fetchurl {
-        name = "apollo_client___apollo_client_2.6.4.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.6.4.tgz";
-        sha1 = "872c32927263a0d34655c5ef8a8949fbb20b6140";
+        name = "apollo_client___apollo_client_2.6.10.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.6.10.tgz";
+        sha1 = "86637047b51d940c8eaa771a4ce1b02df16bea6a";
       };
     }
     {
-      name = "apollo_link_batch_http___apollo_link_batch_http_1.2.11.tgz";
+      name = "apollo_link_batch_http___apollo_link_batch_http_1.2.14.tgz";
       path = fetchurl {
-        name = "apollo_link_batch_http___apollo_link_batch_http_1.2.11.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-link-batch-http/-/apollo-link-batch-http-1.2.11.tgz";
-        sha1 = "ae42dbcc02820658e1e267d05bf2aae7ac208088";
+        name = "apollo_link_batch_http___apollo_link_batch_http_1.2.14.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-link-batch-http/-/apollo-link-batch-http-1.2.14.tgz";
+        sha1 = "4502109d3f32a94d88eabd3a89274ae3a6e2f56f";
       };
     }
     {
-      name = "apollo_link_batch___apollo_link_batch_1.1.12.tgz";
+      name = "apollo_link_batch___apollo_link_batch_1.1.15.tgz";
       path = fetchurl {
-        name = "apollo_link_batch___apollo_link_batch_1.1.12.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-link-batch/-/apollo-link-batch-1.1.12.tgz";
-        sha1 = "64eb231082f182b0395ef7ab903600627f6c7fe8";
+        name = "apollo_link_batch___apollo_link_batch_1.1.15.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-link-batch/-/apollo-link-batch-1.1.15.tgz";
+        sha1 = "3a5b8c7d9cf1b7840ce630238249b95070e75e54";
       };
     }
     {
-      name = "apollo_link_http_common___apollo_link_http_common_0.2.13.tgz";
+      name = "apollo_link_http_common___apollo_link_http_common_0.2.16.tgz";
       path = fetchurl {
-        name = "apollo_link_http_common___apollo_link_http_common_0.2.13.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.13.tgz";
-        sha1 = "c688f6baaffdc7b269b2db7ae89dae7c58b5b350";
+        name = "apollo_link_http_common___apollo_link_http_common_0.2.16.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz";
+        sha1 = "756749dafc732792c8ca0923f9a40564b7c59ecc";
       };
     }
     {
-      name = "apollo_link___apollo_link_1.2.11.tgz";
+      name = "apollo_link___apollo_link_1.2.14.tgz";
       path = fetchurl {
-        name = "apollo_link___apollo_link_1.2.11.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.11.tgz";
-        sha1 = "493293b747ad3237114ccd22e9f559e5e24a194d";
+        name = "apollo_link___apollo_link_1.2.14.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.14.tgz";
+        sha1 = "3feda4b47f9ebba7f4160bef8b977ba725b684d9";
       };
     }
     {
-      name = "apollo_upload_client___apollo_upload_client_10.0.0.tgz";
+      name = "apollo_upload_client___apollo_upload_client_13.0.0.tgz";
       path = fetchurl {
-        name = "apollo_upload_client___apollo_upload_client_10.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-10.0.0.tgz";
-        sha1 = "6cc3d0ea2aef40bc237b655f5042809cacee1859";
+        name = "apollo_upload_client___apollo_upload_client_13.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-13.0.0.tgz";
+        sha1 = "146d1ddd85d711fcac8ca97a72d3ca6787f2b71b";
       };
     }
     {
-      name = "apollo_utilities___apollo_utilities_1.3.2.tgz";
+      name = "apollo_utilities___apollo_utilities_1.3.4.tgz";
       path = fetchurl {
-        name = "apollo_utilities___apollo_utilities_1.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.2.tgz";
-        sha1 = "8cbdcf8b012f664cd6cb5767f6130f5aed9115c9";
+        name = "apollo_utilities___apollo_utilities_1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.4.tgz";
+        sha1 = "6129e438e8be201b6c55b0f13ce49d2c7175c9cf";
       };
     }
     {
@@ -1674,6 +1834,14 @@
       };
     }
     {
+      name = "aria_query___aria_query_4.2.2.tgz";
+      path = fetchurl {
+        name = "aria_query___aria_query_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz";
+        sha1 = "0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b";
+      };
+    }
+    {
       name = "arr_diff___arr_diff_4.0.0.tgz";
       path = fetchurl {
         name = "arr_diff___arr_diff_4.0.0.tgz";
@@ -1698,14 +1866,6 @@
       };
     }
     {
-      name = "array_equal___array_equal_1.0.0.tgz";
-      path = fetchurl {
-        name = "array_equal___array_equal_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz";
-        sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
-      };
-    }
-    {
       name = "array_find_index___array_find_index_1.0.2.tgz";
       path = fetchurl {
         name = "array_find_index___array_find_index_1.0.2.tgz";
@@ -1842,14 +2002,6 @@
       };
     }
     {
-      name = "async_each___async_each_1.0.3.tgz";
-      path = fetchurl {
-        name = "async_each___async_each_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz";
-        sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf";
-      };
-    }
-    {
       name = "async_foreach___async_foreach_0.1.3.tgz";
       path = fetchurl {
         name = "async_foreach___async_foreach_0.1.3.tgz";
@@ -1922,11 +2074,11 @@
       };
     }
     {
-      name = "aws4___aws4_1.8.0.tgz";
+      name = "aws4___aws4_1.10.1.tgz";
       path = fetchurl {
-        name = "aws4___aws4_1.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz";
-        sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f";
+        name = "aws4___aws4_1.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz";
+        sha1 = "e1e82e4f3e999e2cfd61b161280d16a111f86428";
       };
     }
     {
@@ -1938,11 +2090,11 @@
       };
     }
     {
-      name = "axios___axios_0.19.0.tgz";
+      name = "axios___axios_0.20.0.tgz";
       path = fetchurl {
-        name = "axios___axios_0.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz";
-        sha1 = "8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8";
+        name = "axios___axios_0.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.20.0.tgz";
+        sha1 = "057ba30f04884694993a8cd07fa394cff11c50bd";
       };
     }
     {
@@ -1954,11 +2106,11 @@
       };
     }
     {
-      name = "babel_jest___babel_jest_24.8.0.tgz";
+      name = "babel_jest___babel_jest_26.5.2.tgz";
       path = fetchurl {
-        name = "babel_jest___babel_jest_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.8.0.tgz";
-        sha1 = "5c15ff2b28e20b0f45df43fe6b7f2aae93dba589";
+        name = "babel_jest___babel_jest_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.5.2.tgz";
+        sha1 = "164f367a35946c6cf54eaccde8762dec50422250";
       };
     }
     {
@@ -1970,27 +2122,27 @@
       };
     }
     {
-      name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
+      name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.3.tgz";
       path = fetchurl {
-        name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz";
-        sha1 = "f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f";
+        name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz";
+        sha1 = "84fda19c976ec5c6defef57f9427b3def66e17a3";
       };
     }
     {
-      name = "babel_plugin_istanbul___babel_plugin_istanbul_5.1.0.tgz";
+      name = "babel_plugin_istanbul___babel_plugin_istanbul_6.0.0.tgz";
       path = fetchurl {
-        name = "babel_plugin_istanbul___babel_plugin_istanbul_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.0.tgz";
-        sha1 = "6892f529eff65a3e2d33d87dc5888ffa2ecd4a30";
+        name = "babel_plugin_istanbul___babel_plugin_istanbul_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz";
+        sha1 = "e159ccdc9af95e0b570c75b4573b7c34d671d765";
       };
     }
     {
-      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.6.0.tgz";
+      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_26.5.0.tgz";
       path = fetchurl {
-        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz";
-        sha1 = "f7f7f7ad150ee96d7a5e8e2c5da8319579e78019";
+        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_26.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.5.0.tgz";
+        sha1 = "3916b3a28129c29528de91e5784a44680db46385";
       };
     }
     {
@@ -2002,19 +2154,19 @@
       };
     }
     {
-      name = "babel_plugin_rewire___babel_plugin_rewire_1.2.0.tgz";
+      name = "babel_preset_current_node_syntax___babel_preset_current_node_syntax_0.1.4.tgz";
       path = fetchurl {
-        name = "babel_plugin_rewire___babel_plugin_rewire_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-rewire/-/babel-plugin-rewire-1.2.0.tgz";
-        sha1 = "822562d72ed2c84e47c0f95ee232c920853e9d89";
+        name = "babel_preset_current_node_syntax___babel_preset_current_node_syntax_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz";
+        sha1 = "826f1f8e7245ad534714ba001f84f7e906c3b615";
       };
     }
     {
-      name = "babel_preset_jest___babel_preset_jest_24.6.0.tgz";
+      name = "babel_preset_jest___babel_preset_jest_26.5.0.tgz";
       path = fetchurl {
-        name = "babel_preset_jest___babel_preset_jest_24.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz";
-        sha1 = "66f06136eefce87797539c0d63f1769cc3915984";
+        name = "babel_preset_jest___babel_preset_jest_26.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.5.0.tgz";
+        sha1 = "f1b166045cd21437d1188d29f7fba470d5bdb0e7";
       };
     }
     {
@@ -2122,14 +2274,6 @@
       };
     }
     {
-      name = "binary_extensions___binary_extensions_1.11.0.tgz";
-      path = fetchurl {
-        name = "binary_extensions___binary_extensions_1.11.0.tgz";
-        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz";
-        sha1 = "46aa1751fb6a2f93ee5e689bb1087d4b14c6c205";
-      };
-    }
-    {
       name = "binary_extensions___binary_extensions_2.0.0.tgz";
       path = fetchurl {
         name = "binary_extensions___binary_extensions_2.0.0.tgz";
@@ -2194,27 +2338,27 @@
       };
     }
     {
-      name = "bootstrap_vue___bootstrap_vue_2.1.0.tgz";
+      name = "bootstrap_vue___bootstrap_vue_2.13.1.tgz";
       path = fetchurl {
-        name = "bootstrap_vue___bootstrap_vue_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/bootstrap-vue/-/bootstrap-vue-2.1.0.tgz";
-        sha1 = "41c0cd265a6cea14ffe29eeea71543ec396d1789";
+        name = "bootstrap_vue___bootstrap_vue_2.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/bootstrap-vue/-/bootstrap-vue-2.13.1.tgz";
+        sha1 = "dcefca78f2b0345508fbb85adb0a9897cce65fa1";
       };
     }
     {
-      name = "bootstrap___bootstrap_4.3.1.tgz";
+      name = "bootstrap___bootstrap_4.4.1.tgz";
       path = fetchurl {
-        name = "bootstrap___bootstrap_4.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.3.1.tgz";
-        sha1 = "280ca8f610504d99d7b6b4bfc4b68cec601704ac";
+        name = "bootstrap___bootstrap_4.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.4.1.tgz";
+        sha1 = "8582960eea0c5cd2bede84d8b0baf3789c3e8b01";
       };
     }
     {
-      name = "boxen___boxen_1.3.0.tgz";
+      name = "boxen___boxen_4.2.0.tgz";
       path = fetchurl {
-        name = "boxen___boxen_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz";
-        sha1 = "55c6c39a8ba58d9c61ad22cd877532deb665a20b";
+        name = "boxen___boxen_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz";
+        sha1 = "e411b62357d6d6d36587c8ac3d5d974daa070e64";
       };
     }
     {
@@ -2250,19 +2394,11 @@
       };
     }
     {
-      name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
-      path = fetchurl {
-        name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
-        sha1 = "616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4";
-      };
-    }
-    {
-      name = "browser_resolve___browser_resolve_1.11.3.tgz";
+      name = "browser_process_hrtime___browser_process_hrtime_1.0.0.tgz";
       path = fetchurl {
-        name = "browser_resolve___browser_resolve_1.11.3.tgz";
-        url  = "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz";
-        sha1 = "9b7cbb3d0f510e4cb86bdbd796124d28b5890af6";
+        name = "browser_process_hrtime___browser_process_hrtime_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz";
+        sha1 = "3c9b4b7d782c8121e56f10106d84c0d0ffc94626";
       };
     }
     {
@@ -2314,11 +2450,11 @@
       };
     }
     {
-      name = "browserslist___browserslist_4.8.7.tgz";
+      name = "browserslist___browserslist_4.12.0.tgz";
       path = fetchurl {
-        name = "browserslist___browserslist_4.8.7.tgz";
-        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.7.tgz";
-        sha1 = "ec8301ff415e6a42c949d0e66b405eb539c532d0";
+        name = "browserslist___browserslist_4.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz";
+        sha1 = "06c6d5715a1ede6c51fc39ff67fd647f740b656d";
       };
     }
     {
@@ -2330,11 +2466,11 @@
       };
     }
     {
-      name = "bser___bser_2.0.0.tgz";
+      name = "bser___bser_2.1.1.tgz";
       path = fetchurl {
-        name = "bser___bser_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz";
-        sha1 = "9ac78d3ed5d915804fd87acb158bc797147a1719";
+        name = "bser___bser_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz";
+        sha1 = "e6787da20ece9d07998533cfd9de6f5c38f4bc05";
       };
     }
     {
@@ -2434,6 +2570,14 @@
       };
     }
     {
+      name = "cacheable_request___cacheable_request_6.1.0.tgz";
+      path = fetchurl {
+        name = "cacheable_request___cacheable_request_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz";
+        sha1 = "20ffb8bd162ba4be11e9567d823db651052ca912";
+      };
+    }
+    {
       name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
       path = fetchurl {
         name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
@@ -2514,14 +2658,6 @@
       };
     }
     {
-      name = "camelcase___camelcase_3.0.0.tgz";
-      path = fetchurl {
-        name = "camelcase___camelcase_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz";
-        sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
-      };
-    }
-    {
       name = "camelcase___camelcase_4.1.0.tgz";
       path = fetchurl {
         name = "camelcase___camelcase_4.1.0.tgz";
@@ -2538,27 +2674,27 @@
       };
     }
     {
-      name = "caniuse_lite___caniuse_lite_1.0.30001030.tgz";
+      name = "camelcase___camelcase_6.0.0.tgz";
       path = fetchurl {
-        name = "caniuse_lite___caniuse_lite_1.0.30001030.tgz";
-        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001030.tgz";
-        sha1 = "78076c4c6d67d3e41d6eb9399853fb27fe6e44ee";
+        name = "camelcase___camelcase_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz";
+        sha1 = "5259f7c30e35e278f1bdc2a4d91230b37cad981e";
       };
     }
     {
-      name = "capture_exit___capture_exit_2.0.0.tgz";
+      name = "caniuse_lite___caniuse_lite_1.0.30001081.tgz";
       path = fetchurl {
-        name = "capture_exit___capture_exit_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz";
-        sha1 = "fb953bfaebeb781f62898239dabb426d08a509a4";
+        name = "caniuse_lite___caniuse_lite_1.0.30001081.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001081.tgz";
+        sha1 = "40615a3c416a047c5a4d45673e5257bf128eb3b5";
       };
     }
     {
-      name = "capture_stack_trace___capture_stack_trace_1.0.0.tgz";
+      name = "capture_exit___capture_exit_2.0.0.tgz";
       path = fetchurl {
-        name = "capture_stack_trace___capture_stack_trace_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz";
-        sha1 = "4a6fa07399c26bba47f0b2496b4d0fb408c5550d";
+        name = "capture_exit___capture_exit_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz";
+        sha1 = "fb953bfaebeb781f62898239dabb426d08a509a4";
       };
     }
     {
@@ -2602,6 +2738,30 @@
       };
     }
     {
+      name = "chalk___chalk_3.0.0.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz";
+        sha1 = "3f73c2bf526591f574cc492c51e2456349f844e4";
+      };
+    }
+    {
+      name = "chalk___chalk_4.1.0.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz";
+        sha1 = "4e14870a618d9e2edd97dd8345fd9d9dc315646a";
+      };
+    }
+    {
+      name = "char_regex___char_regex_1.0.2.tgz";
+      path = fetchurl {
+        name = "char_regex___char_regex_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz";
+        sha1 = "d744358226217f981ed58f479b1d6bcc29545dcf";
+      };
+    }
+    {
       name = "character_entities_html4___character_entities_html4_1.1.2.tgz";
       path = fetchurl {
         name = "character_entities_html4___character_entities_html4_1.1.2.tgz";
@@ -2650,30 +2810,6 @@
       };
     }
     {
-      name = "chart.js___chart.js_2.7.2.tgz";
-      path = fetchurl {
-        name = "chart.js___chart.js_2.7.2.tgz";
-        url  = "https://registry.yarnpkg.com/chart.js/-/chart.js-2.7.2.tgz";
-        sha1 = "3c9fde4dc5b95608211bdefeda7e5d33dffa5714";
-      };
-    }
-    {
-      name = "chartjs_color_string___chartjs_color_string_0.5.0.tgz";
-      path = fetchurl {
-        name = "chartjs_color_string___chartjs_color_string_0.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz";
-        sha1 = "8d3752d8581d86687c35bfe2cb80ac5213ceb8c1";
-      };
-    }
-    {
-      name = "chartjs_color___chartjs_color_2.2.0.tgz";
-      path = fetchurl {
-        name = "chartjs_color___chartjs_color_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.2.0.tgz";
-        sha1 = "84a2fb755787ed85c39dd6dd8c7b1d88429baeae";
-      };
-    }
-    {
       name = "check_types___check_types_7.3.0.tgz";
       path = fetchurl {
         name = "check_types___check_types_7.3.0.tgz";
@@ -2682,19 +2818,11 @@
       };
     }
     {
-      name = "chokidar___chokidar_2.1.8.tgz";
+      name = "chokidar___chokidar_3.4.0.tgz";
       path = fetchurl {
-        name = "chokidar___chokidar_2.1.8.tgz";
-        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz";
-        sha1 = "804b3a7b6a99358c3c5c61e71d8728f041cff917";
-      };
-    }
-    {
-      name = "chokidar___chokidar_3.0.2.tgz";
-      path = fetchurl {
-        name = "chokidar___chokidar_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.0.2.tgz";
-        sha1 = "0d1cd6d04eb2df0327446188cd13736a3367d681";
+        name = "chokidar___chokidar_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz";
+        sha1 = "b30611423ce376357c765b9b8f904b9fba3c0be8";
       };
     }
     {
@@ -2714,14 +2842,6 @@
       };
     }
     {
-      name = "ci_info___ci_info_1.6.0.tgz";
-      path = fetchurl {
-        name = "ci_info___ci_info_1.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz";
-        sha1 = "2ca20dbb9ceb32d4524a683303313f0304b1e497";
-      };
-    }
-    {
       name = "ci_info___ci_info_2.0.0.tgz";
       path = fetchurl {
         name = "ci_info___ci_info_2.0.0.tgz";
@@ -2746,14 +2866,6 @@
       };
     }
     {
-      name = "classlist_polyfill___classlist_polyfill_1.2.0.tgz";
-      path = fetchurl {
-        name = "classlist_polyfill___classlist_polyfill_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz";
-        sha1 = "935bc2dfd9458a876b279617514638bcaa964a2e";
-      };
-    }
-    {
       name = "clean_css___clean_css_4.2.1.tgz";
       path = fetchurl {
         name = "clean_css___clean_css_4.2.1.tgz";
@@ -2770,11 +2882,11 @@
       };
     }
     {
-      name = "cli_boxes___cli_boxes_1.0.0.tgz";
+      name = "cli_boxes___cli_boxes_2.2.0.tgz";
       path = fetchurl {
-        name = "cli_boxes___cli_boxes_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz";
-        sha1 = "4fa917c3e59c94a004cd61f8ee509da651687143";
+        name = "cli_boxes___cli_boxes_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz";
+        sha1 = "538ecae8f9c6ca508e3c3c95b453fe93cb4c168d";
       };
     }
     {
@@ -2802,11 +2914,11 @@
       };
     }
     {
-      name = "cliui___cliui_3.2.0.tgz";
+      name = "clipboard___clipboard_2.0.6.tgz";
       path = fetchurl {
-        name = "cliui___cliui_3.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz";
-        sha1 = "120601537a916d29940f934da3b48d585a39213d";
+        name = "clipboard___clipboard_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.6.tgz";
+        sha1 = "52921296eec0fdf77ead1749421b21c968647376";
       };
     }
     {
@@ -2826,6 +2938,14 @@
       };
     }
     {
+      name = "cliui___cliui_6.0.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz";
+        sha1 = "511d702c0c4e41ca156d7d0e96021f23e13225b1";
+      };
+    }
+    {
       name = "clone_deep___clone_deep_4.0.1.tgz";
       path = fetchurl {
         name = "clone_deep___clone_deep_4.0.1.tgz";
@@ -2842,6 +2962,14 @@
       };
     }
     {
+      name = "clone_response___clone_response_1.0.2.tgz";
+      path = fetchurl {
+        name = "clone_response___clone_response_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz";
+        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
+      };
+    }
+    {
       name = "co___co_4.6.0.tgz";
       path = fetchurl {
         name = "co___co_4.6.0.tgz";
@@ -2898,19 +3026,19 @@
       };
     }
     {
-      name = "collection_visit___collection_visit_1.0.0.tgz";
+      name = "collect_v8_coverage___collect_v8_coverage_1.0.1.tgz";
       path = fetchurl {
-        name = "collection_visit___collection_visit_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz";
-        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+        name = "collect_v8_coverage___collect_v8_coverage_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz";
+        sha1 = "cc2c8e94fc18bbdffe64d6534570c8a673b27f59";
       };
     }
     {
-      name = "color_convert___color_convert_0.5.3.tgz";
+      name = "collection_visit___collection_visit_1.0.0.tgz";
       path = fetchurl {
-        name = "color_convert___color_convert_0.5.3.tgz";
-        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz";
-        sha1 = "bdb6c69ce660fadffe0b0007cc447e1b9f7282bd";
+        name = "collection_visit___collection_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
       };
     }
     {
@@ -2922,6 +3050,22 @@
       };
     }
     {
+      name = "color_convert___color_convert_2.0.1.tgz";
+      path = fetchurl {
+        name = "color_convert___color_convert_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz";
+        sha1 = "72d3a68d598c9bdb3af2ad1e84f21d896abd4de3";
+      };
+    }
+    {
+      name = "color_convert___color_convert_0.5.3.tgz";
+      path = fetchurl {
+        name = "color_convert___color_convert_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz";
+        sha1 = "bdb6c69ce660fadffe0b0007cc447e1b9f7282bd";
+      };
+    }
+    {
       name = "color_name___color_name_1.1.3.tgz";
       path = fetchurl {
         name = "color_name___color_name_1.1.3.tgz";
@@ -2930,6 +3074,14 @@
       };
     }
     {
+      name = "color_name___color_name_1.1.4.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz";
+        sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2";
+      };
+    }
+    {
       name = "colors___colors_1.3.3.tgz";
       path = fetchurl {
         name = "colors___colors_1.3.3.tgz";
@@ -2938,11 +3090,11 @@
       };
     }
     {
-      name = "combined_stream___combined_stream_1.0.7.tgz";
+      name = "combined_stream___combined_stream_1.0.8.tgz";
       path = fetchurl {
-        name = "combined_stream___combined_stream_1.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz";
-        sha1 = "2d1d24317afb8abe95d6d2c0b07b57813539d828";
+        name = "combined_stream___combined_stream_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz";
+        sha1 = "c3d45a8b34fd730631a110a8a2520682b31d5a7f";
       };
     }
     {
@@ -3058,11 +3210,11 @@
       };
     }
     {
-      name = "configstore___configstore_3.1.1.tgz";
+      name = "configstore___configstore_5.0.1.tgz";
       path = fetchurl {
-        name = "configstore___configstore_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz";
-        sha1 = "094ee662ab83fad9917678de114faaea8fcdca90";
+        name = "configstore___configstore_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz";
+        sha1 = "d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96";
       };
     }
     {
@@ -3226,6 +3378,14 @@
       };
     }
     {
+      name = "core_js_pure___core_js_pure_3.6.5.tgz";
+      path = fetchurl {
+        name = "core_js_pure___core_js_pure_3.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz";
+        sha1 = "c79e75f5e38dbc85a662d91eea52b8256d53b813";
+      };
+    }
+    {
       name = "core_js___core_js_3.6.4.tgz";
       path = fetchurl {
         name = "core_js___core_js_3.6.4.tgz";
@@ -3266,14 +3426,6 @@
       };
     }
     {
-      name = "create_error_class___create_error_class_3.0.2.tgz";
-      path = fetchurl {
-        name = "create_error_class___create_error_class_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz";
-        sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
-      };
-    }
-    {
       name = "create_hash___create_hash_1.1.3.tgz";
       path = fetchurl {
         name = "create_hash___create_hash_1.1.3.tgz";
@@ -3290,6 +3442,14 @@
       };
     }
     {
+      name = "cron_validator___cron_validator_1.1.1.tgz";
+      path = fetchurl {
+        name = "cron_validator___cron_validator_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/cron-validator/-/cron-validator-1.1.1.tgz";
+        sha1 = "0a27bb75508c7bc03c8b840d2d9f170eeacb5615";
+      };
+    }
+    {
       name = "cropper___cropper_2.3.0.tgz";
       path = fetchurl {
         name = "cropper___cropper_2.3.0.tgz";
@@ -3314,11 +3474,11 @@
       };
     }
     {
-      name = "cross_spawn___cross_spawn_5.1.0.tgz";
+      name = "cross_spawn___cross_spawn_7.0.3.tgz";
       path = fetchurl {
-        name = "cross_spawn___cross_spawn_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz";
-        sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
+        name = "cross_spawn___cross_spawn_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz";
+        sha1 = "f73a85b9d5d41d045551c177e2882d4ac85728a6";
       };
     }
     {
@@ -3338,11 +3498,11 @@
       };
     }
     {
-      name = "crypto_random_string___crypto_random_string_1.0.0.tgz";
+      name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
       path = fetchurl {
-        name = "crypto_random_string___crypto_random_string_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz";
-        sha1 = "a230f64f568310e1498009940790ec99545bca7e";
+        name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz";
+        sha1 = "ef2a7a966ec11083388369baa02ebead229b30d5";
       };
     }
     {
@@ -3386,14 +3546,6 @@
       };
     }
     {
-      name = "cssesc___cssesc_2.0.0.tgz";
-      path = fetchurl {
-        name = "cssesc___cssesc_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz";
-        sha1 = "3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703";
-      };
-    }
-    {
       name = "cssesc___cssesc_3.0.0.tgz";
       path = fetchurl {
         name = "cssesc___cssesc_3.0.0.tgz";
@@ -3410,19 +3562,27 @@
       };
     }
     {
-      name = "cssom___cssom_0.3.4.tgz";
+      name = "cssom___cssom_0.4.4.tgz";
       path = fetchurl {
-        name = "cssom___cssom_0.3.4.tgz";
-        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz";
-        sha1 = "8cd52e8a3acfd68d3aed38ee0a640177d2f9d797";
+        name = "cssom___cssom_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz";
+        sha1 = "5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10";
       };
     }
     {
-      name = "cssstyle___cssstyle_1.1.1.tgz";
+      name = "cssom___cssom_0.3.8.tgz";
       path = fetchurl {
-        name = "cssstyle___cssstyle_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz";
-        sha1 = "18b038a9c44d65f7a8e428a653b9f6fe42faf5fb";
+        name = "cssom___cssom_0.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz";
+        sha1 = "9f1276f5b2b463f2114d3f2c75250af8c1a36f4a";
+      };
+    }
+    {
+      name = "cssstyle___cssstyle_2.3.0.tgz";
+      path = fetchurl {
+        name = "cssstyle___cssstyle_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz";
+        sha1 = "ff665a0ddbdc31864b09647f34163443d90b0852";
       };
     }
     {
@@ -3626,6 +3786,14 @@
       };
     }
     {
+      name = "d3_sankey___d3_sankey_0.12.3.tgz";
+      path = fetchurl {
+        name = "d3_sankey___d3_sankey_0.12.3.tgz";
+        url  = "https://registry.yarnpkg.com/d3-sankey/-/d3-sankey-0.12.3.tgz";
+        sha1 = "b3c268627bd72e5d80336e8de6acbfec9d15d01d";
+      };
+    }
+    {
       name = "d3_scale_chromatic___d3_scale_chromatic_1.3.3.tgz";
       path = fetchurl {
         name = "d3_scale_chromatic___d3_scale_chromatic_1.3.3.tgz";
@@ -3650,11 +3818,11 @@
       };
     }
     {
-      name = "d3_shape___d3_shape_1.2.0.tgz";
+      name = "d3_shape___d3_shape_1.3.7.tgz";
       path = fetchurl {
-        name = "d3_shape___d3_shape_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.0.tgz";
-        sha1 = "45d01538f064bafd05ea3d6d2cb748fd8c41f777";
+        name = "d3_shape___d3_shape_1.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz";
+        sha1 = "df63801be07bc986bc54f63789b4fe502992b5d7";
       };
     }
     {
@@ -3706,11 +3874,11 @@
       };
     }
     {
-      name = "d3___d3_5.15.0.tgz";
+      name = "d3___d3_5.16.0.tgz";
       path = fetchurl {
-        name = "d3___d3_5.15.0.tgz";
-        url  = "https://registry.yarnpkg.com/d3/-/d3-5.15.0.tgz";
-        sha1 = "ffd44958e6a3cb8a59a84429c45429b8bca5677a";
+        name = "d3___d3_5.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3/-/d3-5.16.0.tgz";
+        sha1 = "9c5e8d3b56403c79d4ed42fbd62f6113f199c877";
       };
     }
     {
@@ -3738,11 +3906,11 @@
       };
     }
     {
-      name = "data_urls___data_urls_1.1.0.tgz";
+      name = "data_urls___data_urls_2.0.0.tgz";
       path = fetchurl {
-        name = "data_urls___data_urls_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz";
-        sha1 = "15ee0582baa5e22bb59c77140da8f9c76963bbfe";
+        name = "data_urls___data_urls_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz";
+        sha1 = "156485a72963a970f5d5821aaf642bef2bf2db9b";
       };
     }
     {
@@ -3826,6 +3994,14 @@
       };
     }
     {
+      name = "decimal.js___decimal.js_10.2.1.tgz";
+      path = fetchurl {
+        name = "decimal.js___decimal.js_10.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz";
+        sha1 = "238ae7b0f0c793d3e3cea410108b35a2c01426a3";
+      };
+    }
+    {
       name = "deckar01_task_list___deckar01_task_list_2.3.1.tgz";
       path = fetchurl {
         name = "deckar01_task_list___deckar01_task_list_2.3.1.tgz";
@@ -3842,6 +4018,14 @@
       };
     }
     {
+      name = "decompress_response___decompress_response_3.3.0.tgz";
+      path = fetchurl {
+        name = "decompress_response___decompress_response_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz";
+        sha1 = "80a4dd323748384bfa248083622aedec982adff3";
+      };
+    }
+    {
       name = "deep_equal___deep_equal_1.0.1.tgz";
       path = fetchurl {
         name = "deep_equal___deep_equal_1.0.1.tgz";
@@ -3874,6 +4058,14 @@
       };
     }
     {
+      name = "deepmerge___deepmerge_4.2.2.tgz";
+      path = fetchurl {
+        name = "deepmerge___deepmerge_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz";
+        sha1 = "44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955";
+      };
+    }
+    {
       name = "default_gateway___default_gateway_4.2.0.tgz";
       path = fetchurl {
         name = "default_gateway___default_gateway_4.2.0.tgz";
@@ -3890,6 +4082,14 @@
       };
     }
     {
+      name = "defer_to_connect___defer_to_connect_1.1.3.tgz";
+      path = fetchurl {
+        name = "defer_to_connect___defer_to_connect_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz";
+        sha1 = "331ae050c08dcf789f8c83a7b81f0ed94f4ac591";
+      };
+    }
+    {
       name = "define_properties___define_properties_1.1.3.tgz";
       path = fetchurl {
         name = "define_properties___define_properties_1.1.3.tgz";
@@ -3994,19 +4194,11 @@
       };
     }
     {
-      name = "detect_libc___detect_libc_1.0.3.tgz";
-      path = fetchurl {
-        name = "detect_libc___detect_libc_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz";
-        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
-      };
-    }
-    {
-      name = "detect_newline___detect_newline_2.1.0.tgz";
+      name = "detect_newline___detect_newline_3.1.0.tgz";
       path = fetchurl {
-        name = "detect_newline___detect_newline_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz";
-        sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2";
+        name = "detect_newline___detect_newline_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz";
+        sha1 = "576f5dfc63ae1a192ff192d8ad3af6308991b651";
       };
     }
     {
@@ -4026,11 +4218,19 @@
       };
     }
     {
-      name = "diff_sequences___diff_sequences_24.3.0.tgz";
+      name = "diff_sequences___diff_sequences_25.2.6.tgz";
       path = fetchurl {
-        name = "diff_sequences___diff_sequences_24.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz";
-        sha1 = "0f20e8a1df1abddaf4d9c226680952e64118b975";
+        name = "diff_sequences___diff_sequences_25.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz";
+        sha1 = "5f467c00edd35352b7bca46d7927d60e687a76dd";
+      };
+    }
+    {
+      name = "diff_sequences___diff_sequences_26.5.0.tgz";
+      path = fetchurl {
+        name = "diff_sequences___diff_sequences_26.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.5.0.tgz";
+        sha1 = "ef766cf09d43ed40406611f11c6d8d9dd8b2fefd";
       };
     }
     {
@@ -4114,6 +4314,14 @@
       };
     }
     {
+      name = "dom_accessibility_api___dom_accessibility_api_0.5.3.tgz";
+      path = fetchurl {
+        name = "dom_accessibility_api___dom_accessibility_api_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.3.tgz";
+        sha1 = "0ea493c924d4070dfbf531c4aaca3d7a2c601aab";
+      };
+    }
+    {
       name = "dom_event_types___dom_event_types_1.0.0.tgz";
       path = fetchurl {
         name = "dom_event_types___dom_event_types_1.0.0.tgz";
@@ -4138,6 +4346,14 @@
       };
     }
     {
+      name = "dom_walk___dom_walk_0.1.2.tgz";
+      path = fetchurl {
+        name = "dom_walk___dom_walk_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz";
+        sha1 = "0c548bef048f4d1f2a97249002236060daa3fd84";
+      };
+    }
+    {
       name = "domain_browser___domain_browser_1.1.7.tgz";
       path = fetchurl {
         name = "domain_browser___domain_browser_1.1.7.tgz";
@@ -4162,11 +4378,11 @@
       };
     }
     {
-      name = "domexception___domexception_1.0.1.tgz";
+      name = "domexception___domexception_2.0.1.tgz";
       path = fetchurl {
-        name = "domexception___domexception_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz";
-        sha1 = "937442644ca6a31261ef36e3ec677fe805582c90";
+        name = "domexception___domexception_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz";
+        sha1 = "fb44aefba793e1574b0af6aed2801d057529f304";
       };
     }
     {
@@ -4178,11 +4394,11 @@
       };
     }
     {
-      name = "domhandler___domhandler_3.0.0.tgz";
+      name = "dompurify___dompurify_2.2.2.tgz";
       path = fetchurl {
-        name = "domhandler___domhandler_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-3.0.0.tgz";
-        sha1 = "51cd13efca31da95bbb0c5bee3a48300e333b3e9";
+        name = "dompurify___dompurify_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/dompurify/-/dompurify-2.2.2.tgz";
+        sha1 = "cb8c2b1a2f3c8a0b565127504ae4eedec176a972";
       };
     }
     {
@@ -4194,14 +4410,6 @@
       };
     }
     {
-      name = "domutils___domutils_2.0.0.tgz";
-      path = fetchurl {
-        name = "domutils___domutils_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/domutils/-/domutils-2.0.0.tgz";
-        sha1 = "15b8278e37bfa8468d157478c58c367718133c08";
-      };
-    }
-    {
       name = "dot_prop___dot_prop_4.2.0.tgz";
       path = fetchurl {
         name = "dot_prop___dot_prop_4.2.0.tgz";
@@ -4210,6 +4418,14 @@
       };
     }
     {
+      name = "dot_prop___dot_prop_5.2.0.tgz";
+      path = fetchurl {
+        name = "dot_prop___dot_prop_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz";
+        sha1 = "c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb";
+      };
+    }
+    {
       name = "dropzone___dropzone_4.2.0.tgz";
       path = fetchurl {
         name = "dropzone___dropzone_4.2.0.tgz";
@@ -4290,11 +4506,11 @@
       };
     }
     {
-      name = "electron_to_chromium___electron_to_chromium_1.3.360.tgz";
+      name = "electron_to_chromium___electron_to_chromium_1.3.466.tgz";
       path = fetchurl {
-        name = "electron_to_chromium___electron_to_chromium_1.3.360.tgz";
-        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.360.tgz";
-        sha1 = "1db9cb8d43f4c772546d94ea9be8b677a8ecb483";
+        name = "electron_to_chromium___electron_to_chromium_1.3.466.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.466.tgz";
+        sha1 = "89f716db3afc4bb482ea2aaaa16c4808f89f762a";
       };
     }
     {
@@ -4306,6 +4522,14 @@
       };
     }
     {
+      name = "emittery___emittery_0.7.1.tgz";
+      path = fetchurl {
+        name = "emittery___emittery_0.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/emittery/-/emittery-0.7.1.tgz";
+        sha1 = "c02375a927a40948c0345cc903072597f5270451";
+      };
+    }
+    {
       name = "emoji_regex___emoji_regex_7.0.3.tgz";
       path = fetchurl {
         name = "emoji_regex___emoji_regex_7.0.3.tgz";
@@ -4418,11 +4642,19 @@
       };
     }
     {
-      name = "entities___entities_2.0.0.tgz";
+      name = "entities___entities_2.0.3.tgz";
       path = fetchurl {
-        name = "entities___entities_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz";
-        sha1 = "68d6084cab1b079767540d80e56a39b423e4abf4";
+        name = "entities___entities_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz";
+        sha1 = "5c487e5742ab93c15abb5da22759b8590ec03b7f";
+      };
+    }
+    {
+      name = "entity_decode___entity_decode_2.0.2.tgz";
+      path = fetchurl {
+        name = "entity_decode___entity_decode_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/entity-decode/-/entity-decode-2.0.2.tgz";
+        sha1 = "e4f807e52c3294246e9347d1f2b02b07fd5f92e7";
       };
     }
     {
@@ -4458,6 +4690,14 @@
       };
     }
     {
+      name = "es6_promise___es6_promise_4.2.8.tgz";
+      path = fetchurl {
+        name = "es6_promise___es6_promise_4.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz";
+        sha1 = "4eb21594c972bc40553d276e510539143db53e0a";
+      };
+    }
+    {
       name = "es6_promise___es6_promise_3.0.2.tgz";
       path = fetchurl {
         name = "es6_promise___es6_promise_3.0.2.tgz";
@@ -4466,6 +4706,22 @@
       };
     }
     {
+      name = "es6_promisify___es6_promisify_5.0.0.tgz";
+      path = fetchurl {
+        name = "es6_promisify___es6_promisify_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz";
+        sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
+      };
+    }
+    {
+      name = "escape_goat___escape_goat_2.1.1.tgz";
+      path = fetchurl {
+        name = "escape_goat___escape_goat_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz";
+        sha1 = "1b2dc77003676c457ec760b2dc68edb648188675";
+      };
+    }
+    {
       name = "escape_html___escape_html_1.0.3.tgz";
       path = fetchurl {
         name = "escape_html___escape_html_1.0.3.tgz";
@@ -4482,6 +4738,14 @@
       };
     }
     {
+      name = "escape_string_regexp___escape_string_regexp_2.0.0.tgz";
+      path = fetchurl {
+        name = "escape_string_regexp___escape_string_regexp_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz";
+        sha1 = "a30304e99daa32e23b2fd20f51babd07cffca344";
+      };
+    }
+    {
       name = "escaper___escaper_2.5.3.tgz";
       path = fetchurl {
         name = "escaper___escaper_2.5.3.tgz";
@@ -4490,11 +4754,11 @@
       };
     }
     {
-      name = "escodegen___escodegen_1.11.0.tgz";
+      name = "escodegen___escodegen_1.14.3.tgz";
       path = fetchurl {
-        name = "escodegen___escodegen_1.11.0.tgz";
-        url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz";
-        sha1 = "b27a9389481d5bfd5bec76f7bb1eb3f8f4556589";
+        name = "escodegen___escodegen_1.14.3.tgz";
+        url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz";
+        sha1 = "4e7b81fba61581dc97582ed78cab7f0e8d63f503";
       };
     }
     {
@@ -4674,14 +4938,6 @@
       };
     }
     {
-      name = "esprima___esprima_3.1.3.tgz";
-      path = fetchurl {
-        name = "esprima___esprima_3.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz";
-        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
-      };
-    }
-    {
       name = "esprima___esprima_4.0.1.tgz";
       path = fetchurl {
         name = "esprima___esprima_4.0.1.tgz";
@@ -4706,11 +4962,11 @@
       };
     }
     {
-      name = "estraverse___estraverse_4.2.0.tgz";
+      name = "estraverse___estraverse_4.3.0.tgz";
       path = fetchurl {
-        name = "estraverse___estraverse_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz";
-        sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13";
+        name = "estraverse___estraverse_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz";
+        sha1 = "398ad3f3c5a24948be7725e83d11a7de28cdbd1d";
       };
     }
     {
@@ -4778,19 +5034,11 @@
       };
     }
     {
-      name = "exec_sh___exec_sh_0.3.2.tgz";
-      path = fetchurl {
-        name = "exec_sh___exec_sh_0.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz";
-        sha1 = "6738de2eb7c8e671d0366aea0b0db8c6f7d7391b";
-      };
-    }
-    {
-      name = "execa___execa_0.7.0.tgz";
+      name = "exec_sh___exec_sh_0.3.4.tgz";
       path = fetchurl {
-        name = "execa___execa_0.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz";
-        sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
+        name = "exec_sh___exec_sh_0.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz";
+        sha1 = "3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5";
       };
     }
     {
@@ -4802,6 +5050,14 @@
       };
     }
     {
+      name = "execa___execa_4.0.3.tgz";
+      path = fetchurl {
+        name = "execa___execa_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz";
+        sha1 = "0a34dabbad6d66100bd6f2c576c8669403f317f2";
+      };
+    }
+    {
       name = "execall___execall_2.0.0.tgz";
       path = fetchurl {
         name = "execall___execall_2.0.0.tgz";
@@ -4834,11 +5090,11 @@
       };
     }
     {
-      name = "expect___expect_24.8.0.tgz";
+      name = "expect___expect_26.5.2.tgz";
       path = fetchurl {
-        name = "expect___expect_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/expect/-/expect-24.8.0.tgz";
-        sha1 = "471f8ec256b7b6129ca2524b2a62f030df38718d";
+        name = "expect___expect_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/expect/-/expect-26.5.2.tgz";
+        sha1 = "3e0631c4a657a83dbec769ad246a2998953a55a6";
       };
     }
     {
@@ -4898,11 +5154,11 @@
       };
     }
     {
-      name = "extract_files___extract_files_5.0.1.tgz";
+      name = "extract_files___extract_files_8.1.0.tgz";
       path = fetchurl {
-        name = "extract_files___extract_files_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/extract-files/-/extract-files-5.0.1.tgz";
-        sha1 = "c9492a8410be643e260a376f0151361993d5f659";
+        name = "extract_files___extract_files_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/extract-files/-/extract-files-8.1.0.tgz";
+        sha1 = "46a0690d0fe77411a2e3804852adeaa65cd59288";
       };
     }
     {
@@ -4922,11 +5178,19 @@
       };
     }
     {
-      name = "fast_deep_equal___fast_deep_equal_3.1.1.tgz";
+      name = "fake_xml_http_request___fake_xml_http_request_2.1.1.tgz";
+      path = fetchurl {
+        name = "fake_xml_http_request___fake_xml_http_request_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/fake-xml-http-request/-/fake-xml-http-request-2.1.1.tgz";
+        sha1 = "279fdac235840d7a4dff77d98ec44bce9fc690a6";
+      };
+    }
+    {
+      name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
       path = fetchurl {
-        name = "fast_deep_equal___fast_deep_equal_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz";
-        sha1 = "545145077c501491e33b15ec408c294376e94ae4";
+        name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
+        sha1 = "3a7d56b559d6cbc3eb512325244e619a65c6c525";
       };
     }
     {
@@ -4938,11 +5202,11 @@
       };
     }
     {
-      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
       path = fetchurl {
-        name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
-        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+        name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
+        sha1 = "874bf69c6f404c2b5d99c481341399fd55892633";
       };
     }
     {
@@ -4978,11 +5242,11 @@
       };
     }
     {
-      name = "fb_watchman___fb_watchman_2.0.0.tgz";
+      name = "fb_watchman___fb_watchman_2.0.1.tgz";
       path = fetchurl {
-        name = "fb_watchman___fb_watchman_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz";
-        sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58";
+        name = "fb_watchman___fb_watchman_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz";
+        sha1 = "fc84fb39d2709cf3ff6d743706157bb5708a8a85";
       };
     }
     {
@@ -5154,11 +5418,19 @@
       };
     }
     {
-      name = "follow_redirects___follow_redirects_1.5.10.tgz";
+      name = "follow_redirects___follow_redirects_1.13.0.tgz";
       path = fetchurl {
-        name = "follow_redirects___follow_redirects_1.5.10.tgz";
-        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz";
-        sha1 = "7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a";
+        name = "follow_redirects___follow_redirects_1.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz";
+        sha1 = "b42e8d93a2a7eea5ed88633676d6597bc8e384db";
+      };
+    }
+    {
+      name = "font_awesome___font_awesome_4.7.0.tgz";
+      path = fetchurl {
+        name = "font_awesome___font_awesome_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz";
+        sha1 = "8fa8cf0411a1a31afd07b06d2902bb9fc815a133";
       };
     }
     {
@@ -5194,14 +5466,6 @@
       };
     }
     {
-      name = "formdata_polyfill___formdata_polyfill_3.0.19.tgz";
-      path = fetchurl {
-        name = "formdata_polyfill___formdata_polyfill_3.0.19.tgz";
-        url  = "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-3.0.19.tgz";
-        sha1 = "72f517db3a646a5dd8c31af0edf111fd8f1e4cee";
-      };
-    }
-    {
       name = "forwarded___forwarded_0.1.2.tgz";
       path = fetchurl {
         name = "forwarded___forwarded_0.1.2.tgz";
@@ -5242,14 +5506,6 @@
       };
     }
     {
-      name = "fs_minipass___fs_minipass_1.2.6.tgz";
-      path = fetchurl {
-        name = "fs_minipass___fs_minipass_1.2.6.tgz";
-        url  = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz";
-        sha1 = "2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07";
-      };
-    }
-    {
       name = "fs_minipass___fs_minipass_2.0.0.tgz";
       path = fetchurl {
         name = "fs_minipass___fs_minipass_2.0.0.tgz";
@@ -5274,19 +5530,11 @@
       };
     }
     {
-      name = "fsevents___fsevents_1.2.9.tgz";
+      name = "fsevents___fsevents_2.1.3.tgz";
       path = fetchurl {
-        name = "fsevents___fsevents_1.2.9.tgz";
-        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz";
-        sha1 = "3f5ed66583ccd6f400b5a00db6f7e861363e388f";
-      };
-    }
-    {
-      name = "fsevents___fsevents_2.0.7.tgz";
-      path = fetchurl {
-        name = "fsevents___fsevents_2.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz";
-        sha1 = "382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a";
+        name = "fsevents___fsevents_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz";
+        sha1 = "fb738703ae8d2f9fe900c33836ddebee8b97f23e";
       };
     }
     {
@@ -5362,6 +5610,14 @@
       };
     }
     {
+      name = "get_package_type___get_package_type_0.1.0.tgz";
+      path = fetchurl {
+        name = "get_package_type___get_package_type_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz";
+        sha1 = "8de2d803cff44df3bc6c456e6668b36c3926e11a";
+      };
+    }
+    {
       name = "get_stdin___get_stdin_4.0.1.tgz";
       path = fetchurl {
         name = "get_stdin___get_stdin_4.0.1.tgz";
@@ -5394,14 +5650,6 @@
       };
     }
     {
-      name = "get_stream___get_stream_3.0.0.tgz";
-      path = fetchurl {
-        name = "get_stream___get_stream_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz";
-        sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
-      };
-    }
-    {
       name = "get_stream___get_stream_4.1.0.tgz";
       path = fetchurl {
         name = "get_stream___get_stream_4.1.0.tgz";
@@ -5410,6 +5658,14 @@
       };
     }
     {
+      name = "get_stream___get_stream_5.2.0.tgz";
+      path = fetchurl {
+        name = "get_stream___get_stream_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz";
+        sha1 = "4966a1795ee5ace65e706c4b7beb71257d6e22d3";
+      };
+    }
+    {
       name = "get_value___get_value_2.0.6.tgz";
       path = fetchurl {
         name = "get_value___get_value_2.0.6.tgz";
@@ -5450,11 +5706,11 @@
       };
     }
     {
-      name = "glob_parent___glob_parent_5.0.0.tgz";
+      name = "glob_parent___glob_parent_5.1.1.tgz";
       path = fetchurl {
-        name = "glob_parent___glob_parent_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz";
-        sha1 = "1dc99f0f39b006d3e92c2c284068382f0c20e954";
+        name = "glob_parent___glob_parent_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz";
+        sha1 = "b6c1ef417c4e5663ea498f1c45afac6916bbc229";
       };
     }
     {
@@ -5482,11 +5738,11 @@
       };
     }
     {
-      name = "global_dirs___global_dirs_0.1.1.tgz";
+      name = "global_dirs___global_dirs_2.0.1.tgz";
       path = fetchurl {
-        name = "global_dirs___global_dirs_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz";
-        sha1 = "b319c0dd4607f353f3be9cca4c72fc148c49f445";
+        name = "global_dirs___global_dirs_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz";
+        sha1 = "acdf3bb6685bcd55cb35e8a052266569e9469201";
       };
     }
     {
@@ -5522,6 +5778,14 @@
       };
     }
     {
+      name = "global___global_4.4.0.tgz";
+      path = fetchurl {
+        name = "global___global_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz";
+        sha1 = "3e7b105179006a323ed71aafca3e9c57a5cc6406";
+      };
+    }
+    {
       name = "globals___globals_11.12.0.tgz";
       path = fetchurl {
         name = "globals___globals_11.12.0.tgz";
@@ -5570,11 +5834,11 @@
       };
     }
     {
-      name = "globule___globule_1.2.1.tgz";
+      name = "globule___globule_1.3.2.tgz";
       path = fetchurl {
-        name = "globule___globule_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz";
-        sha1 = "5dffb1b191f22d20797a9369b49eab4e9839696d";
+        name = "globule___globule_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz";
+        sha1 = "d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4";
       };
     }
     {
@@ -5594,19 +5858,19 @@
       };
     }
     {
-      name = "got___got_6.7.1.tgz";
+      name = "got___got_9.6.0.tgz";
       path = fetchurl {
-        name = "got___got_6.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz";
-        sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0";
+        name = "got___got_9.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz";
+        sha1 = "edf45e7d67f99545705de1f7bbeeeb121765ed85";
       };
     }
     {
-      name = "graceful_fs___graceful_fs_4.2.3.tgz";
+      name = "graceful_fs___graceful_fs_4.2.4.tgz";
       path = fetchurl {
-        name = "graceful_fs___graceful_fs_4.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz";
-        sha1 = "4a12ff1b60376ef09862c2093edd908328be8423";
+        name = "graceful_fs___graceful_fs_4.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz";
+        sha1 = "2256bde14d3632958c465ebc96dc467ca07a29fb";
       };
     }
     {
@@ -5626,19 +5890,19 @@
       };
     }
     {
-      name = "graphql_tag___graphql_tag_2.10.3.tgz";
+      name = "graphql_tag___graphql_tag_2.11.0.tgz";
       path = fetchurl {
-        name = "graphql_tag___graphql_tag_2.10.3.tgz";
-        url  = "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.3.tgz";
-        sha1 = "ea1baba5eb8fc6339e4c4cf049dabe522b0edf03";
+        name = "graphql_tag___graphql_tag_2.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.11.0.tgz";
+        sha1 = "1deb53a01c46a7eb401d6cb59dec86fa1cccbffd";
       };
     }
     {
-      name = "graphql___graphql_14.0.2.tgz";
+      name = "graphql___graphql_15.4.0.tgz";
       path = fetchurl {
-        name = "graphql___graphql_14.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/graphql/-/graphql-14.0.2.tgz";
-        sha1 = "7dded337a4c3fd2d075692323384034b357f5650";
+        name = "graphql___graphql_15.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/graphql/-/graphql-15.4.0.tgz";
+        sha1 = "e459dea1150da5a106486ba7276518b5295a4347";
       };
     }
     {
@@ -5682,11 +5946,11 @@
       };
     }
     {
-      name = "har_validator___har_validator_5.1.3.tgz";
+      name = "har_validator___har_validator_5.1.5.tgz";
       path = fetchurl {
-        name = "har_validator___har_validator_5.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz";
-        sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080";
+        name = "har_validator___har_validator_5.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz";
+        sha1 = "1f0803b9f8cb20c0fa13822df1ecddb36bde1efd";
       };
     }
     {
@@ -5778,6 +6042,14 @@
       };
     }
     {
+      name = "has_yarn___has_yarn_2.1.0.tgz";
+      path = fetchurl {
+        name = "has_yarn___has_yarn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz";
+        sha1 = "137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77";
+      };
+    }
+    {
       name = "has___has_1.0.3.tgz";
       path = fetchurl {
         name = "has___has_1.0.3.tgz";
@@ -5858,11 +6130,11 @@
       };
     }
     {
-      name = "hosted_git_info___hosted_git_info_2.2.0.tgz";
+      name = "hosted_git_info___hosted_git_info_2.8.8.tgz";
       path = fetchurl {
-        name = "hosted_git_info___hosted_git_info_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz";
-        sha1 = "7a0d097863d886c0fabbdcd37bf1758d8becf8a5";
+        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";
       };
     }
     {
@@ -5874,11 +6146,11 @@
       };
     }
     {
-      name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
+      name = "html_encoding_sniffer___html_encoding_sniffer_2.0.1.tgz";
       path = fetchurl {
-        name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
-        sha1 = "e70d84b94da53aa375e11fe3a351be6642ca46f8";
+        name = "html_encoding_sniffer___html_encoding_sniffer_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz";
+        sha1 = "42a6dc4fd33f00281176e8b23759ca4e4fa185f3";
       };
     }
     {
@@ -5922,11 +6194,11 @@
       };
     }
     {
-      name = "htmlparser2___htmlparser2_4.1.0.tgz";
+      name = "http_cache_semantics___http_cache_semantics_4.1.0.tgz";
       path = fetchurl {
-        name = "htmlparser2___htmlparser2_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz";
-        sha1 = "9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78";
+        name = "http_cache_semantics___http_cache_semantics_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
+        sha1 = "49e91c5cbf36c9b94bcfcd71c23d5249ec74e390";
       };
     }
     {
@@ -5954,6 +6226,14 @@
       };
     }
     {
+      name = "http_proxy_agent___http_proxy_agent_2.1.0.tgz";
+      path = fetchurl {
+        name = "http_proxy_agent___http_proxy_agent_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz";
+        sha1 = "e4821beef5b2142a2026bd73926fe537631c5405";
+      };
+    }
+    {
       name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
       path = fetchurl {
         name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
@@ -5986,6 +6266,22 @@
       };
     }
     {
+      name = "https_proxy_agent___https_proxy_agent_2.2.4.tgz";
+      path = fetchurl {
+        name = "https_proxy_agent___https_proxy_agent_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz";
+        sha1 = "4ee7a737abd92678a293d9b34a1af4d0d08c787b";
+      };
+    }
+    {
+      name = "human_signals___human_signals_1.1.1.tgz";
+      path = fetchurl {
+        name = "human_signals___human_signals_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz";
+        sha1 = "c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3";
+      };
+    }
+    {
       name = "iconv_lite___iconv_lite_0.4.24.tgz";
       path = fetchurl {
         name = "iconv_lite___iconv_lite_0.4.24.tgz";
@@ -6034,14 +6330,6 @@
       };
     }
     {
-      name = "ignore_walk___ignore_walk_3.0.1.tgz";
-      path = fetchurl {
-        name = "ignore_walk___ignore_walk_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz";
-        sha1 = "a83e62e7d272ac0e3b551aaa82831a19b69f82f8";
-      };
-    }
-    {
       name = "ignore___ignore_3.3.10.tgz";
       path = fetchurl {
         name = "ignore___ignore_3.3.10.tgz";
@@ -6058,11 +6346,11 @@
       };
     }
     {
-      name = "ignore___ignore_5.1.2.tgz";
+      name = "ignore___ignore_5.1.8.tgz";
       path = fetchurl {
-        name = "ignore___ignore_5.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/ignore/-/ignore-5.1.2.tgz";
-        sha1 = "e28e584d43ad7e92f96995019cc43b9e1ac49558";
+        name = "ignore___ignore_5.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz";
+        sha1 = "f150a8b50a34289b33e22f5889abd4d8016f0e57";
       };
     }
     {
@@ -6074,11 +6362,11 @@
       };
     }
     {
-      name = "immer___immer_5.2.1.tgz";
+      name = "immer___immer_7.0.7.tgz";
       path = fetchurl {
-        name = "immer___immer_5.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/immer/-/immer-5.2.1.tgz";
-        sha1 = "7d4f74c242178e87151d595f48db1b5c51580485";
+        name = "immer___immer_7.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/immer/-/immer-7.0.7.tgz";
+        sha1 = "9dfe713d49bf871cc59aedfce59b1992fa37a977";
       };
     }
     {
@@ -6122,6 +6410,14 @@
       };
     }
     {
+      name = "import_local___import_local_3.0.2.tgz";
+      path = fetchurl {
+        name = "import_local___import_local_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz";
+        sha1 = "a8cfd0431d1de4a2199703d003e3e62364fa6db6";
+      };
+    }
+    {
       name = "imports_loader___imports_loader_0.8.0.tgz";
       path = fetchurl {
         name = "imports_loader___imports_loader_0.8.0.tgz";
@@ -6138,11 +6434,11 @@
       };
     }
     {
-      name = "in_publish___in_publish_2.0.0.tgz";
+      name = "in_publish___in_publish_2.0.1.tgz";
       path = fetchurl {
-        name = "in_publish___in_publish_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz";
-        sha1 = "e20ff5e3a2afc2690320b6dc552682a9c7fadf51";
+        name = "in_publish___in_publish_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz";
+        sha1 = "948b1a535c8030561cea522f73f78f4be357e00c";
       };
     }
     {
@@ -6194,6 +6490,14 @@
       };
     }
     {
+      name = "inflected___inflected_2.0.4.tgz";
+      path = fetchurl {
+        name = "inflected___inflected_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/inflected/-/inflected-2.0.4.tgz";
+        sha1 = "323770961ccbe992a98ea930512e9a82d3d3ef77";
+      };
+    }
+    {
       name = "inflight___inflight_1.0.6.tgz";
       path = fetchurl {
         name = "inflight___inflight_1.0.6.tgz";
@@ -6258,14 +6562,6 @@
       };
     }
     {
-      name = "invert_kv___invert_kv_1.0.0.tgz";
-      path = fetchurl {
-        name = "invert_kv___invert_kv_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz";
-        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
-      };
-    }
-    {
       name = "invert_kv___invert_kv_2.0.0.tgz";
       path = fetchurl {
         name = "invert_kv___invert_kv_2.0.0.tgz";
@@ -6298,6 +6594,14 @@
       };
     }
     {
+      name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+      path = fetchurl {
+        name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
+        sha1 = "bff38543eeb8984825079ff3a2a8e6cbd46781b3";
+      };
+    }
+    {
       name = "is_absolute_url___is_absolute_url_3.0.3.tgz";
       path = fetchurl {
         name = "is_absolute_url___is_absolute_url_3.0.3.tgz";
@@ -6354,14 +6658,6 @@
       };
     }
     {
-      name = "is_binary_path___is_binary_path_1.0.1.tgz";
-      path = fetchurl {
-        name = "is_binary_path___is_binary_path_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz";
-        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
-      };
-    }
-    {
       name = "is_binary_path___is_binary_path_2.1.0.tgz";
       path = fetchurl {
         name = "is_binary_path___is_binary_path_2.1.0.tgz";
@@ -6394,14 +6690,6 @@
       };
     }
     {
-      name = "is_ci___is_ci_1.2.1.tgz";
-      path = fetchurl {
-        name = "is_ci___is_ci_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz";
-        sha1 = "e3779c8ee17fccf428488f6e281187f2e632841c";
-      };
-    }
-    {
       name = "is_ci___is_ci_2.0.0.tgz";
       path = fetchurl {
         name = "is_ci___is_ci_2.0.0.tgz";
@@ -6466,6 +6754,14 @@
       };
     }
     {
+      name = "is_docker___is_docker_2.1.1.tgz";
+      path = fetchurl {
+        name = "is_docker___is_docker_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz";
+        sha1 = "4125a88e44e450d384e09047ede71adc2d144156";
+      };
+    }
+    {
       name = "is_extendable___is_extendable_0.1.1.tgz";
       path = fetchurl {
         name = "is_extendable___is_extendable_0.1.1.tgz";
@@ -6490,11 +6786,11 @@
       };
     }
     {
-      name = "is_finite___is_finite_1.0.2.tgz";
+      name = "is_finite___is_finite_1.1.0.tgz";
       path = fetchurl {
-        name = "is_finite___is_finite_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz";
-        sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa";
+        name = "is_finite___is_finite_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz";
+        sha1 = "904135c77fb42c0641d6aa1bcdbc4daa8da082f3";
       };
     }
     {
@@ -6554,19 +6850,19 @@
       };
     }
     {
-      name = "is_installed_globally___is_installed_globally_0.1.0.tgz";
+      name = "is_installed_globally___is_installed_globally_0.3.2.tgz";
       path = fetchurl {
-        name = "is_installed_globally___is_installed_globally_0.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz";
-        sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80";
+        name = "is_installed_globally___is_installed_globally_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz";
+        sha1 = "fd3efa79ee670d1187233182d5b0a1dd00313141";
       };
     }
     {
-      name = "is_npm___is_npm_1.0.0.tgz";
+      name = "is_npm___is_npm_4.0.0.tgz";
       path = fetchurl {
-        name = "is_npm___is_npm_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz";
-        sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4";
+        name = "is_npm___is_npm_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz";
+        sha1 = "c90dd8380696df87a7a6d823c20d0b12bbe3c84d";
       };
     }
     {
@@ -6594,6 +6890,14 @@
       };
     }
     {
+      name = "is_obj___is_obj_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_obj___is_obj_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz";
+        sha1 = "473fb05d973705e3fd9620545018ca8e22ef4982";
+      };
+    }
+    {
       name = "is_path_cwd___is_path_cwd_2.2.0.tgz";
       path = fetchurl {
         name = "is_path_cwd___is_path_cwd_2.2.0.tgz";
@@ -6610,14 +6914,6 @@
       };
     }
     {
-      name = "is_path_inside___is_path_inside_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_path_inside___is_path_inside_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz";
-        sha1 = "fc06e5a1683fbda13de667aff717bbc10a48f37f";
-      };
-    }
-    {
       name = "is_path_inside___is_path_inside_2.1.0.tgz";
       path = fetchurl {
         name = "is_path_inside___is_path_inside_2.1.0.tgz";
@@ -6626,6 +6922,14 @@
       };
     }
     {
+      name = "is_path_inside___is_path_inside_3.0.2.tgz";
+      path = fetchurl {
+        name = "is_path_inside___is_path_inside_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz";
+        sha1 = "f5220fc82a3e233757291dddc9c5877f2a1f3017";
+      };
+    }
+    {
       name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
       path = fetchurl {
         name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
@@ -6642,19 +6946,19 @@
       };
     }
     {
-      name = "is_promise___is_promise_2.1.0.tgz";
+      name = "is_potential_custom_element_name___is_potential_custom_element_name_1.0.0.tgz";
       path = fetchurl {
-        name = "is_promise___is_promise_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz";
-        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+        name = "is_potential_custom_element_name___is_potential_custom_element_name_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz";
+        sha1 = "0c52e54bcca391bb2c494b21e8626d7336c6e397";
       };
     }
     {
-      name = "is_redirect___is_redirect_1.0.0.tgz";
+      name = "is_promise___is_promise_2.1.0.tgz";
       path = fetchurl {
-        name = "is_redirect___is_redirect_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz";
-        sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
+        name = "is_promise___is_promise_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
       };
     }
     {
@@ -6682,14 +6986,6 @@
       };
     }
     {
-      name = "is_retry_allowed___is_retry_allowed_1.1.0.tgz";
-      path = fetchurl {
-        name = "is_retry_allowed___is_retry_allowed_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz";
-        sha1 = "11a060568b67339444033d0125a61a20d564fb34";
-      };
-    }
-    {
       name = "is_stream___is_stream_1.1.0.tgz";
       path = fetchurl {
         name = "is_stream___is_stream_1.1.0.tgz";
@@ -6698,6 +6994,14 @@
       };
     }
     {
+      name = "is_stream___is_stream_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_stream___is_stream_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz";
+        sha1 = "bde9c32680d6fae04129d6ac9d921ce7815f78e3";
+      };
+    }
+    {
       name = "is_symbol___is_symbol_1.0.2.tgz";
       path = fetchurl {
         name = "is_symbol___is_symbol_1.0.2.tgz";
@@ -6762,6 +7066,22 @@
       };
     }
     {
+      name = "is_wsl___is_wsl_2.2.0.tgz";
+      path = fetchurl {
+        name = "is_wsl___is_wsl_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz";
+        sha1 = "74a4c76e77ca9fd3f932f290c17ea326cd157271";
+      };
+    }
+    {
+      name = "is_yarn_global___is_yarn_global_0.3.0.tgz";
+      path = fetchurl {
+        name = "is_yarn_global___is_yarn_global_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz";
+        sha1 = "d502d3382590ea3004893746754c89139973e232";
+      };
+    }
+    {
       name = "isarray___isarray_1.0.0.tgz";
       path = fetchurl {
         name = "isarray___isarray_1.0.0.tgz";
@@ -6858,6 +7178,14 @@
       };
     }
     {
+      name = "istanbul_lib_instrument___istanbul_lib_instrument_4.0.3.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_instrument___istanbul_lib_instrument_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz";
+        sha1 = "873c6fff897450118222774696a3f28902d77c1d";
+      };
+    }
+    {
       name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
       path = fetchurl {
         name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
@@ -6882,6 +7210,14 @@
       };
     }
     {
+      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.0.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz";
+        sha1 = "75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9";
+      };
+    }
+    {
       name = "istanbul_reports___istanbul_reports_2.2.6.tgz";
       path = fetchurl {
         name = "istanbul_reports___istanbul_reports_2.2.6.tgz";
@@ -6890,11 +7226,11 @@
       };
     }
     {
-      name = "istanbul_reports___istanbul_reports_3.0.0.tgz";
+      name = "istanbul_reports___istanbul_reports_3.0.2.tgz";
       path = fetchurl {
-        name = "istanbul_reports___istanbul_reports_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.0.tgz";
-        sha1 = "d4d16d035db99581b6194e119bbf36c963c5eb70";
+        name = "istanbul_reports___istanbul_reports_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz";
+        sha1 = "d593210e5000683750cb09fc0644e4b6e27fd53b";
       };
     }
     {
@@ -6906,14 +7242,6 @@
       };
     }
     {
-      name = "iterall___iterall_1.2.2.tgz";
-      path = fetchurl {
-        name = "iterall___iterall_1.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz";
-        sha1 = "92d70deb8028e0c39ff3164fdbf4d8b088130cd7";
-      };
-    }
-    {
       name = "jasmine_core___jasmine_core_2.9.0.tgz";
       path = fetchurl {
         name = "jasmine_core___jasmine_core_2.9.0.tgz";
@@ -6954,195 +7282,211 @@
       };
     }
     {
-      name = "jest_changed_files___jest_changed_files_24.8.0.tgz";
+      name = "jest_changed_files___jest_changed_files_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_changed_files___jest_changed_files_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.8.0.tgz";
-        sha1 = "7e7eb21cf687587a85e50f3d249d1327e15b157b";
+        name = "jest_changed_files___jest_changed_files_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.5.2.tgz";
+        sha1 = "330232c6a5c09a7f040a5870e8f0a9c6abcdbed5";
       };
     }
     {
-      name = "jest_cli___jest_cli_24.8.0.tgz";
+      name = "jest_cli___jest_cli_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_cli___jest_cli_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.8.0.tgz";
-        sha1 = "b075ac914492ed114fa338ade7362a301693e989";
+        name = "jest_cli___jest_cli_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.5.2.tgz";
+        sha1 = "0df114399b4036a3f046f0a9f25c50372c76b3a2";
       };
     }
     {
-      name = "jest_config___jest_config_24.8.0.tgz";
+      name = "jest_config___jest_config_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_config___jest_config_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-24.8.0.tgz";
-        sha1 = "77db3d265a6f726294687cbbccc36f8a76ee0f4f";
+        name = "jest_config___jest_config_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-26.5.2.tgz";
+        sha1 = "6e828e25f10124433dd008fbd83348636de0972a";
       };
     }
     {
-      name = "jest_diff___jest_diff_24.8.0.tgz";
+      name = "jest_diff___jest_diff_25.5.0.tgz";
       path = fetchurl {
-        name = "jest_diff___jest_diff_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.8.0.tgz";
-        sha1 = "146435e7d1e3ffdf293d53ff97e193f1d1546172";
+        name = "jest_diff___jest_diff_25.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz";
+        sha1 = "1dd26ed64f96667c068cef026b677dfa01afcfa9";
       };
     }
     {
-      name = "jest_docblock___jest_docblock_24.3.0.tgz";
+      name = "jest_diff___jest_diff_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_docblock___jest_docblock_24.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz";
-        sha1 = "b9c32dac70f72e4464520d2ba4aec02ab14db5dd";
+        name = "jest_diff___jest_diff_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.5.2.tgz";
+        sha1 = "8e26cb32dc598e8b8a1b9deff55316f8313c8053";
       };
     }
     {
-      name = "jest_each___jest_each_24.8.0.tgz";
+      name = "jest_docblock___jest_docblock_26.0.0.tgz";
       path = fetchurl {
-        name = "jest_each___jest_each_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-24.8.0.tgz";
-        sha1 = "a05fd2bf94ddc0b1da66c6d13ec2457f35e52775";
+        name = "jest_docblock___jest_docblock_26.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz";
+        sha1 = "3e2fa20899fc928cb13bd0ff68bd3711a36889b5";
       };
     }
     {
-      name = "jest_environment_jsdom___jest_environment_jsdom_24.8.0.tgz";
+      name = "jest_each___jest_each_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_environment_jsdom___jest_environment_jsdom_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.8.0.tgz";
-        sha1 = "300f6949a146cabe1c9357ad9e9ecf9f43f38857";
+        name = "jest_each___jest_each_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-26.5.2.tgz";
+        sha1 = "35e68d6906a7f826d3ca5803cfe91d17a5a34c31";
       };
     }
     {
-      name = "jest_environment_node___jest_environment_node_24.8.0.tgz";
+      name = "jest_environment_jsdom___jest_environment_jsdom_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_environment_node___jest_environment_node_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.8.0.tgz";
-        sha1 = "d3f726ba8bc53087a60e7a84ca08883a4c892231";
+        name = "jest_environment_jsdom___jest_environment_jsdom_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.5.2.tgz";
+        sha1 = "5feab05b828fd3e4b96bee5e0493464ddd2bb4bc";
       };
     }
     {
-      name = "jest_get_type___jest_get_type_24.8.0.tgz";
+      name = "jest_environment_node___jest_environment_node_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_get_type___jest_get_type_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.8.0.tgz";
-        sha1 = "a7440de30b651f5a70ea3ed7ff073a32dfe646fc";
+        name = "jest_environment_node___jest_environment_node_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.5.2.tgz";
+        sha1 = "275a0f01b5e47447056f1541a15ed4da14acca03";
       };
     }
     {
-      name = "jest_haste_map___jest_haste_map_24.8.0.tgz";
+      name = "jest_get_type___jest_get_type_25.2.6.tgz";
       path = fetchurl {
-        name = "jest_haste_map___jest_haste_map_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.0.tgz";
-        sha1 = "51794182d877b3ddfd6e6d23920e3fe72f305800";
+        name = "jest_get_type___jest_get_type_25.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz";
+        sha1 = "0b0a32fab8908b44d508be81681487dbabb8d877";
       };
     }
     {
-      name = "jest_jasmine2___jest_jasmine2_24.8.0.tgz";
+      name = "jest_get_type___jest_get_type_26.3.0.tgz";
       path = fetchurl {
-        name = "jest_jasmine2___jest_jasmine2_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.8.0.tgz";
-        sha1 = "a9c7e14c83dd77d8b15e820549ce8987cc8cd898";
+        name = "jest_get_type___jest_get_type_26.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz";
+        sha1 = "e97dc3c3f53c2b406ca7afaed4493b1d099199e0";
       };
     }
     {
-      name = "jest_junit___jest_junit_6.3.0.tgz";
+      name = "jest_haste_map___jest_haste_map_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_junit___jest_junit_6.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-junit/-/jest-junit-6.3.0.tgz";
-        sha1 = "99e64ebc54eddcb21238f0cc49f5820c89a8c785";
+        name = "jest_haste_map___jest_haste_map_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.5.2.tgz";
+        sha1 = "a15008abfc502c18aa56e4919ed8c96304ceb23d";
       };
     }
     {
-      name = "jest_leak_detector___jest_leak_detector_24.8.0.tgz";
+      name = "jest_jasmine2___jest_jasmine2_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_leak_detector___jest_leak_detector_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.8.0.tgz";
-        sha1 = "c0086384e1f650c2d8348095df769f29b48e6980";
+        name = "jest_jasmine2___jest_jasmine2_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.5.2.tgz";
+        sha1 = "0e33819d31b1f2aab5efd1e02ce502209c0e64a2";
       };
     }
     {
-      name = "jest_matcher_utils___jest_matcher_utils_24.8.0.tgz";
+      name = "jest_junit___jest_junit_12.0.0.tgz";
       path = fetchurl {
-        name = "jest_matcher_utils___jest_matcher_utils_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz";
-        sha1 = "2bce42204c9af12bde46f83dc839efe8be832495";
+        name = "jest_junit___jest_junit_12.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-junit/-/jest-junit-12.0.0.tgz";
+        sha1 = "3ebd4a6a84b50c4ab18323a8f7d9cceb9d845df6";
       };
     }
     {
-      name = "jest_message_util___jest_message_util_24.8.0.tgz";
+      name = "jest_leak_detector___jest_leak_detector_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_message_util___jest_message_util_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz";
-        sha1 = "0d6891e72a4beacc0292b638685df42e28d6218b";
+        name = "jest_leak_detector___jest_leak_detector_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.5.2.tgz";
+        sha1 = "83fcf9a4a6ef157549552cb4f32ca1d6221eea69";
       };
     }
     {
-      name = "jest_mock___jest_mock_24.8.0.tgz";
+      name = "jest_matcher_utils___jest_matcher_utils_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_mock___jest_mock_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz";
-        sha1 = "2f9d14d37699e863f1febf4e4d5a33b7fdbbde56";
+        name = "jest_matcher_utils___jest_matcher_utils_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.5.2.tgz";
+        sha1 = "6aa2c76ce8b9c33e66f8856ff3a52bab59e6c85a";
       };
     }
     {
-      name = "jest_pnp_resolver___jest_pnp_resolver_1.2.1.tgz";
+      name = "jest_message_util___jest_message_util_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_pnp_resolver___jest_pnp_resolver_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz";
-        sha1 = "ecdae604c077a7fbc70defb6d517c3c1c898923a";
+        name = "jest_message_util___jest_message_util_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.5.2.tgz";
+        sha1 = "6c4c4c46dcfbabb47cd1ba2f6351559729bc11bb";
       };
     }
     {
-      name = "jest_regex_util___jest_regex_util_24.3.0.tgz";
+      name = "jest_mock___jest_mock_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_regex_util___jest_regex_util_24.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz";
-        sha1 = "d5a65f60be1ae3e310d5214a0307581995227b36";
+        name = "jest_mock___jest_mock_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.5.2.tgz";
+        sha1 = "c9302e8ef807f2bfc749ee52e65ad11166a1b6a1";
       };
     }
     {
-      name = "jest_resolve_dependencies___jest_resolve_dependencies_24.8.0.tgz";
+      name = "jest_pnp_resolver___jest_pnp_resolver_1.2.2.tgz";
       path = fetchurl {
-        name = "jest_resolve_dependencies___jest_resolve_dependencies_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.8.0.tgz";
-        sha1 = "19eec3241f2045d3f990dba331d0d7526acff8e0";
+        name = "jest_pnp_resolver___jest_pnp_resolver_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz";
+        sha1 = "b704ac0ae028a89108a4d040b3f919dfddc8e33c";
       };
     }
     {
-      name = "jest_resolve___jest_resolve_24.8.0.tgz";
+      name = "jest_regex_util___jest_regex_util_26.0.0.tgz";
       path = fetchurl {
-        name = "jest_resolve___jest_resolve_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz";
-        sha1 = "84b8e5408c1f6a11539793e2b5feb1b6e722439f";
+        name = "jest_regex_util___jest_regex_util_26.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz";
+        sha1 = "d25e7184b36e39fd466c3bc41be0971e821fee28";
       };
     }
     {
-      name = "jest_runner___jest_runner_24.8.0.tgz";
+      name = "jest_resolve_dependencies___jest_resolve_dependencies_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_runner___jest_runner_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.8.0.tgz";
-        sha1 = "4f9ae07b767db27b740d7deffad0cf67ccb4c5bb";
+        name = "jest_resolve_dependencies___jest_resolve_dependencies_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.5.2.tgz";
+        sha1 = "ee30b7cfea81c81bf5e195a9287d7ec07f893170";
       };
     }
     {
-      name = "jest_runtime___jest_runtime_24.8.0.tgz";
+      name = "jest_resolve___jest_resolve_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_runtime___jest_runtime_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.8.0.tgz";
-        sha1 = "05f94d5b05c21f6dc54e427cd2e4980923350620";
+        name = "jest_resolve___jest_resolve_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.5.2.tgz";
+        sha1 = "0d719144f61944a428657b755a0e5c6af4fc8602";
       };
     }
     {
-      name = "jest_serializer___jest_serializer_24.4.0.tgz";
+      name = "jest_runner___jest_runner_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_serializer___jest_serializer_24.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz";
-        sha1 = "f70c5918c8ea9235ccb1276d232e459080588db3";
+        name = "jest_runner___jest_runner_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.5.2.tgz";
+        sha1 = "4f9e6b0bb7eb4710c209a9e145b8a10894f4c19f";
       };
     }
     {
-      name = "jest_snapshot___jest_snapshot_24.8.0.tgz";
+      name = "jest_runtime___jest_runtime_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_snapshot___jest_snapshot_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.8.0.tgz";
-        sha1 = "3bec6a59da2ff7bc7d097a853fb67f9d415cb7c6";
+        name = "jest_runtime___jest_runtime_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.5.2.tgz";
+        sha1 = "b72f5f79eb2fe0c46bfef4cdb9c1e01d1c69ba41";
+      };
+    }
+    {
+      name = "jest_serializer___jest_serializer_26.5.0.tgz";
+      path = fetchurl {
+        name = "jest_serializer___jest_serializer_26.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.5.0.tgz";
+        sha1 = "f5425cc4c5f6b4b355f854b5f0f23ec6b962bc13";
+      };
+    }
+    {
+      name = "jest_snapshot___jest_snapshot_26.5.2.tgz";
+      path = fetchurl {
+        name = "jest_snapshot___jest_snapshot_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.5.2.tgz";
+        sha1 = "0cf7642eaf8e8d2736bd443f619959bf237f9ccf";
       };
     }
     {
@@ -7154,43 +7498,43 @@
       };
     }
     {
-      name = "jest_util___jest_util_24.8.0.tgz";
+      name = "jest_util___jest_util_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_util___jest_util_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz";
-        sha1 = "41f0e945da11df44cc76d64ffb915d0716f46cd1";
+        name = "jest_util___jest_util_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-26.5.2.tgz";
+        sha1 = "8403f75677902cc52a1b2140f568e91f8ed4f4d7";
       };
     }
     {
-      name = "jest_validate___jest_validate_24.8.0.tgz";
+      name = "jest_validate___jest_validate_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_validate___jest_validate_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.8.0.tgz";
-        sha1 = "624c41533e6dfe356ffadc6e2423a35c2d3b4849";
+        name = "jest_validate___jest_validate_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.5.2.tgz";
+        sha1 = "7ea266700b64234cd1c0cee982490c5a80e9b0f0";
       };
     }
     {
-      name = "jest_watcher___jest_watcher_24.8.0.tgz";
+      name = "jest_watcher___jest_watcher_26.5.2.tgz";
       path = fetchurl {
-        name = "jest_watcher___jest_watcher_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.8.0.tgz";
-        sha1 = "58d49915ceddd2de85e238f6213cef1c93715de4";
+        name = "jest_watcher___jest_watcher_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.5.2.tgz";
+        sha1 = "2957f4461007e0769d74b537379ecf6b7c696916";
       };
     }
     {
-      name = "jest_worker___jest_worker_24.6.0.tgz";
+      name = "jest_worker___jest_worker_26.5.0.tgz";
       path = fetchurl {
-        name = "jest_worker___jest_worker_24.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz";
-        sha1 = "7f81ceae34b7cde0c9827a6980c35b7cdc0161b3";
+        name = "jest_worker___jest_worker_26.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.5.0.tgz";
+        sha1 = "87deee86dbbc5f98d9919e0dadf2c40e3152fa30";
       };
     }
     {
-      name = "jest___jest_24.8.0.tgz";
+      name = "jest___jest_26.5.2.tgz";
       path = fetchurl {
-        name = "jest___jest_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/jest/-/jest-24.8.0.tgz";
-        sha1 = "d5dff1984d0d1002196e9b7f12f75af1b2809081";
+        name = "jest___jest_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest/-/jest-26.5.2.tgz";
+        sha1 = "c6791642b331fe7abd2f993b0a74aa546f7be0fb";
       };
     }
     {
@@ -7202,14 +7546,6 @@
       };
     }
     {
-      name = "jquery_ujs___jquery_ujs_1.2.2.tgz";
-      path = fetchurl {
-        name = "jquery_ujs___jquery_ujs_1.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/jquery-ujs/-/jquery-ujs-1.2.2.tgz";
-        sha1 = "6a8ef1020e6b6dda385b90a4bddc128c21c56397";
-      };
-    }
-    {
       name = "jquery.caret___jquery.caret_0.3.1.tgz";
       path = fetchurl {
         name = "jquery.caret___jquery.caret_0.3.1.tgz";
@@ -7226,27 +7562,27 @@
       };
     }
     {
-      name = "jquery___jquery_3.4.1.tgz";
+      name = "jquery___jquery_3.5.1.tgz";
       path = fetchurl {
-        name = "jquery___jquery_3.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz";
-        sha1 = "714f1f8d9dde4bdfa55764ba37ef214630d80ef2";
+        name = "jquery___jquery_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz";
+        sha1 = "d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5";
       };
     }
     {
-      name = "js_base64___js_base64_2.5.1.tgz";
+      name = "js_base64___js_base64_2.6.4.tgz";
       path = fetchurl {
-        name = "js_base64___js_base64_2.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz";
-        sha1 = "1efa39ef2c5f7980bb1784ade4a8af2de3291121";
+        name = "js_base64___js_base64_2.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz";
+        sha1 = "f4e686c5de1ea1f867dbcad3d46d969428df98c4";
       };
     }
     {
-      name = "js_beautify___js_beautify_1.10.3.tgz";
+      name = "js_beautify___js_beautify_1.11.0.tgz";
       path = fetchurl {
-        name = "js_beautify___js_beautify_1.10.3.tgz";
-        url  = "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.10.3.tgz";
-        sha1 = "c73fa10cf69d3dfa52d8ed624f23c64c0a6a94c1";
+        name = "js_beautify___js_beautify_1.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.11.0.tgz";
+        sha1 = "afb873dc47d58986360093dcb69951e8bcd5ded2";
       };
     }
     {
@@ -7306,11 +7642,11 @@
       };
     }
     {
-      name = "jsdom___jsdom_11.12.0.tgz";
+      name = "jsdom___jsdom_16.4.0.tgz";
       path = fetchurl {
-        name = "jsdom___jsdom_11.12.0.tgz";
-        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz";
-        sha1 = "1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8";
+        name = "jsdom___jsdom_16.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz";
+        sha1 = "36005bde2d136f73eee1a830c6d45e55408edddb";
       };
     }
     {
@@ -7330,6 +7666,14 @@
       };
     }
     {
+      name = "json_buffer___json_buffer_3.0.0.tgz";
+      path = fetchurl {
+        name = "json_buffer___json_buffer_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz";
+        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
+      };
+    }
+    {
       name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
       path = fetchurl {
         name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
@@ -7338,6 +7682,14 @@
       };
     }
     {
+      name = "json_parse_even_better_errors___json_parse_even_better_errors_2.3.1.tgz";
+      path = fetchurl {
+        name = "json_parse_even_better_errors___json_parse_even_better_errors_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz";
+        sha1 = "7c47805a94319928e05777405dc12e1f7a4ee02d";
+      };
+    }
+    {
       name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
       path = fetchurl {
         name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
@@ -7378,11 +7730,11 @@
       };
     }
     {
-      name = "json5___json5_2.1.0.tgz";
+      name = "json5___json5_2.1.3.tgz";
       path = fetchurl {
-        name = "json5___json5_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz";
-        sha1 = "e7a0c62c48285c628d20a10b85c89bb807c32850";
+        name = "json5___json5_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz";
+        sha1 = "c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43";
       };
     }
     {
@@ -7394,6 +7746,22 @@
       };
     }
     {
+      name = "jsonc_parser___jsonc_parser_2.3.1.tgz";
+      path = fetchurl {
+        name = "jsonc_parser___jsonc_parser_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.3.1.tgz";
+        sha1 = "59549150b133f2efacca48fe9ce1ec0659af2342";
+      };
+    }
+    {
+      name = "jsonc_parser___jsonc_parser_2.2.1.tgz";
+      path = fetchurl {
+        name = "jsonc_parser___jsonc_parser_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.2.1.tgz";
+        sha1 = "db73cd59d78cce28723199466b2a03d1be1df2bc";
+      };
+    }
+    {
       name = "jsonfile___jsonfile_4.0.0.tgz";
       path = fetchurl {
         name = "jsonfile___jsonfile_4.0.0.tgz";
@@ -7498,6 +7866,14 @@
       };
     }
     {
+      name = "keyv___keyv_3.1.0.tgz";
+      path = fetchurl {
+        name = "keyv___keyv_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz";
+        sha1 = "ecc228486f69991e49e9476485a5be1e8fc5c4d9";
+      };
+    }
+    {
       name = "killable___killable_1.0.1.tgz";
       path = fetchurl {
         name = "killable___killable_1.0.1.tgz";
@@ -7562,19 +7938,11 @@
       };
     }
     {
-      name = "latest_version___latest_version_3.1.0.tgz";
+      name = "latest_version___latest_version_5.1.0.tgz";
       path = fetchurl {
-        name = "latest_version___latest_version_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz";
-        sha1 = "a205383fea322b33b5ae3b18abee0dc2f356ee15";
-      };
-    }
-    {
-      name = "lcid___lcid_1.0.0.tgz";
-      path = fetchurl {
-        name = "lcid___lcid_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz";
-        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+        name = "latest_version___latest_version_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz";
+        sha1 = "119dfe908fe38d15dfa43ecd13fa12ec8832face";
       };
     }
     {
@@ -7586,22 +7954,6 @@
       };
     }
     {
-      name = "left_pad___left_pad_1.3.0.tgz";
-      path = fetchurl {
-        name = "left_pad___left_pad_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz";
-        sha1 = "5b8a3a7765dfe001261dde915589e782f8c94d1e";
-      };
-    }
-    {
-      name = "leven___leven_2.1.0.tgz";
-      path = fetchurl {
-        name = "leven___leven_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz";
-        sha1 = "c2e7a9f772094dee9d34202ae8acce4687875580";
-      };
-    }
-    {
       name = "leven___leven_3.1.0.tgz";
       path = fetchurl {
         name = "leven___leven_3.1.0.tgz";
@@ -7642,6 +7994,14 @@
       };
     }
     {
+      name = "lines_and_columns___lines_and_columns_1.1.6.tgz";
+      path = fetchurl {
+        name = "lines_and_columns___lines_and_columns_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz";
+        sha1 = "1c00c743b433cd0a4e80758f7b64a57440d9ff00";
+      };
+    }
+    {
       name = "linkify_it___linkify_it_2.1.0.tgz";
       path = fetchurl {
         name = "linkify_it___linkify_it_2.1.0.tgz";
@@ -7650,6 +8010,14 @@
       };
     }
     {
+      name = "linkify_it___linkify_it_3.0.2.tgz";
+      path = fetchurl {
+        name = "linkify_it___linkify_it_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.2.tgz";
+        sha1 = "f55eeb8bc1d3ae754049e124ab3bb56d97797fb8";
+      };
+    }
+    {
       name = "load_json_file___load_json_file_1.1.0.tgz";
       path = fetchurl {
         name = "load_json_file___load_json_file_1.1.0.tgz";
@@ -7722,6 +8090,14 @@
       };
     }
     {
+      name = "lodash.assign___lodash.assign_4.2.0.tgz";
+      path = fetchurl {
+        name = "lodash.assign___lodash.assign_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz";
+        sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7";
+      };
+    }
+    {
       name = "lodash.camelcase___lodash.camelcase_4.3.0.tgz";
       path = fetchurl {
         name = "lodash.camelcase___lodash.camelcase_4.3.0.tgz";
@@ -7738,6 +8114,14 @@
       };
     }
     {
+      name = "lodash.compact___lodash.compact_3.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.compact___lodash.compact_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.compact/-/lodash.compact-3.0.1.tgz";
+        sha1 = "540ce3837745975807471e16b4a2ba21e7256ca5";
+      };
+    }
+    {
       name = "lodash.differencewith___lodash.differencewith_4.5.0.tgz";
       path = fetchurl {
         name = "lodash.differencewith___lodash.differencewith_4.5.0.tgz";
@@ -7746,11 +8130,11 @@
       };
     }
     {
-      name = "lodash.escaperegexp___lodash.escaperegexp_4.1.2.tgz";
+      name = "lodash.find___lodash.find_4.6.0.tgz";
       path = fetchurl {
-        name = "lodash.escaperegexp___lodash.escaperegexp_4.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz";
-        sha1 = "64762c48618082518ac3df4ccf5d5886dae20347";
+        name = "lodash.find___lodash.find_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz";
+        sha1 = "cb0704d47ab71789ffa0de8b97dd926fb88b13b1";
       };
     }
     {
@@ -7762,6 +8146,46 @@
       };
     }
     {
+      name = "lodash.forin___lodash.forin_4.4.0.tgz";
+      path = fetchurl {
+        name = "lodash.forin___lodash.forin_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.forin/-/lodash.forin-4.4.0.tgz";
+        sha1 = "5d3f20ae564011fbe88381f7d98949c9c9519731";
+      };
+    }
+    {
+      name = "lodash.get___lodash.get_4.4.2.tgz";
+      path = fetchurl {
+        name = "lodash.get___lodash.get_4.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz";
+        sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99";
+      };
+    }
+    {
+      name = "lodash.has___lodash.has_4.5.2.tgz";
+      path = fetchurl {
+        name = "lodash.has___lodash.has_4.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz";
+        sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862";
+      };
+    }
+    {
+      name = "lodash.invokemap___lodash.invokemap_4.6.0.tgz";
+      path = fetchurl {
+        name = "lodash.invokemap___lodash.invokemap_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz";
+        sha1 = "1748cda5d8b0ef8369c4eb3ec54c21feba1f2d62";
+      };
+    }
+    {
+      name = "lodash.isempty___lodash.isempty_4.4.0.tgz";
+      path = fetchurl {
+        name = "lodash.isempty___lodash.isempty_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz";
+        sha1 = "6f86cbedd8be4ec987be9aaf33c9684db1b31e7e";
+      };
+    }
+    {
       name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
       path = fetchurl {
         name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
@@ -7770,19 +8194,27 @@
       };
     }
     {
-      name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
+      name = "lodash.isfunction___lodash.isfunction_3.0.9.tgz";
       path = fetchurl {
-        name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz";
-        sha1 = "7c526a52d89b45c45cc690b88163be0497f550cb";
+        name = "lodash.isfunction___lodash.isfunction_3.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz";
+        sha1 = "06de25df4db327ac931981d1bdb067e5af68d051";
       };
     }
     {
-      name = "lodash.isstring___lodash.isstring_4.0.1.tgz";
+      name = "lodash.isinteger___lodash.isinteger_4.0.4.tgz";
       path = fetchurl {
-        name = "lodash.isstring___lodash.isstring_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz";
-        sha1 = "d527dfb5456eca7cc9bb95d5daeaf88ba54a5451";
+        name = "lodash.isinteger___lodash.isinteger_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz";
+        sha1 = "619c0af3d03f8b04c31f5882840b77b11cd68343";
+      };
+    }
+    {
+      name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
+      path = fetchurl {
+        name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz";
+        sha1 = "7c526a52d89b45c45cc690b88163be0497f550cb";
       };
     }
     {
@@ -7794,11 +8226,43 @@
       };
     }
     {
-      name = "lodash.mergewith___lodash.mergewith_4.6.2.tgz";
+      name = "lodash.lowerfirst___lodash.lowerfirst_4.3.1.tgz";
       path = fetchurl {
-        name = "lodash.mergewith___lodash.mergewith_4.6.2.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz";
-        sha1 = "617121f89ac55f59047c7aec1ccd6654c6590f55";
+        name = "lodash.lowerfirst___lodash.lowerfirst_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz";
+        sha1 = "de3c7b12e02c6524a0059c2f6cb7c5c52655a13d";
+      };
+    }
+    {
+      name = "lodash.map___lodash.map_4.6.0.tgz";
+      path = fetchurl {
+        name = "lodash.map___lodash.map_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz";
+        sha1 = "771ec7839e3473d9c4cde28b19394c3562f4f6d3";
+      };
+    }
+    {
+      name = "lodash.mapvalues___lodash.mapvalues_4.6.0.tgz";
+      path = fetchurl {
+        name = "lodash.mapvalues___lodash.mapvalues_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz";
+        sha1 = "1bafa5005de9dd6f4f26668c30ca37230cc9689c";
+      };
+    }
+    {
+      name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
+        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+      };
+    }
+    {
+      name = "lodash.pick___lodash.pick_4.4.0.tgz";
+      path = fetchurl {
+        name = "lodash.pick___lodash.pick_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz";
+        sha1 = "52f05610fff9ded422611441ed1fc123a03001b3";
       };
     }
     {
@@ -7818,6 +8282,22 @@
       };
     }
     {
+      name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+      };
+    }
+    {
+      name = "lodash.uniqby___lodash.uniqby_4.7.0.tgz";
+      path = fetchurl {
+        name = "lodash.uniqby___lodash.uniqby_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz";
+        sha1 = "d99c07a669e9e6d24e1362dfe266c67616af1302";
+      };
+    }
+    {
       name = "lodash.upperfirst___lodash.upperfirst_4.3.1.tgz";
       path = fetchurl {
         name = "lodash.upperfirst___lodash.upperfirst_4.3.1.tgz";
@@ -7826,11 +8306,19 @@
       };
     }
     {
-      name = "lodash___lodash_4.17.15.tgz";
+      name = "lodash.values___lodash.values_4.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.values___lodash.values_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz";
+        sha1 = "a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347";
+      };
+    }
+    {
+      name = "lodash___lodash_4.17.20.tgz";
       path = fetchurl {
-        name = "lodash___lodash_4.17.15.tgz";
-        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz";
-        sha1 = "b447f6670a0455bbfeedd11392eff330ea097548";
+        name = "lodash___lodash_4.17.20.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz";
+        sha1 = "b44a9b6297bcb698f1c51a3545a2b3b368d59c52";
       };
     }
     {
@@ -7898,11 +8386,19 @@
       };
     }
     {
-      name = "lowercase_keys___lowercase_keys_1.0.0.tgz";
+      name = "lowercase_keys___lowercase_keys_1.0.1.tgz";
       path = fetchurl {
-        name = "lowercase_keys___lowercase_keys_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
-        sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
+        name = "lowercase_keys___lowercase_keys_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
+        sha1 = "6f9e30b47084d971a7c820ff15a6c5167b74c26f";
+      };
+    }
+    {
+      name = "lowercase_keys___lowercase_keys_2.0.0.tgz";
+      path = fetchurl {
+        name = "lowercase_keys___lowercase_keys_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
+        sha1 = "2603e78b7b4b0006cbca2fbcc8a3202558ac9479";
       };
     }
     {
@@ -7938,14 +8434,6 @@
       };
     }
     {
-      name = "make_dir___make_dir_1.3.0.tgz";
-      path = fetchurl {
-        name = "make_dir___make_dir_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz";
-        sha1 = "79c1033b80515bd6d24ec9933e860ca75ee27f0c";
-      };
-    }
-    {
       name = "make_dir___make_dir_2.1.0.tgz";
       path = fetchurl {
         name = "make_dir___make_dir_2.1.0.tgz";
@@ -7962,11 +8450,11 @@
       };
     }
     {
-      name = "make_error___make_error_1.3.5.tgz";
+      name = "make_error___make_error_1.3.6.tgz";
       path = fetchurl {
-        name = "make_error___make_error_1.3.5.tgz";
-        url  = "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz";
-        sha1 = "efe4e81f6db28cadd605c70f29c831b58ef776c8";
+        name = "make_error___make_error_1.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz";
+        sha1 = "2eb2e37ea9b67c4891f684a1394799af484cf7a2";
       };
     }
     {
@@ -8034,11 +8522,11 @@
       };
     }
     {
-      name = "markdown_it___markdown_it_9.0.1.tgz";
+      name = "markdown_it___markdown_it_11.0.0.tgz";
       path = fetchurl {
-        name = "markdown_it___markdown_it_9.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/markdown-it/-/markdown-it-9.0.1.tgz";
-        sha1 = "aafe363c43718720b6575fd10625cde6e4ff2d47";
+        name = "markdown_it___markdown_it_11.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/markdown-it/-/markdown-it-11.0.0.tgz";
+        sha1 = "dbfc30363e43d756ebc52c38586b91b90046b876";
       };
     }
     {
@@ -8058,19 +8546,27 @@
       };
     }
     {
-      name = "markdownlint_cli___markdownlint_cli_0.18.0.tgz";
+      name = "markdownlint_cli___markdownlint_cli_0.24.0.tgz";
       path = fetchurl {
-        name = "markdownlint_cli___markdownlint_cli_0.18.0.tgz";
-        url  = "https://registry.yarnpkg.com/markdownlint-cli/-/markdownlint-cli-0.18.0.tgz";
-        sha1 = "bd1cee72739049d42dcea5f6db0c0f57c6eb8096";
+        name = "markdownlint_cli___markdownlint_cli_0.24.0.tgz";
+        url  = "https://registry.yarnpkg.com/markdownlint-cli/-/markdownlint-cli-0.24.0.tgz";
+        sha1 = "d1c1d43cd53b87aaec93035b3234eef7097139a8";
       };
     }
     {
-      name = "markdownlint___markdownlint_0.16.0.tgz";
+      name = "markdownlint_rule_helpers___markdownlint_rule_helpers_0.12.0.tgz";
       path = fetchurl {
-        name = "markdownlint___markdownlint_0.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.16.0.tgz";
-        sha1 = "69f73cc755a44231fbe5dc7c37a5909cedc0ac6e";
+        name = "markdownlint_rule_helpers___markdownlint_rule_helpers_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.12.0.tgz";
+        sha1 = "c41d9b990c50911572e8eb2fba3e6975a5514b7e";
+      };
+    }
+    {
+      name = "markdownlint___markdownlint_0.21.1.tgz";
+      path = fetchurl {
+        name = "markdownlint___markdownlint_0.21.1.tgz";
+        url  = "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.21.1.tgz";
+        sha1 = "9442afcf12bf65ce9d613212028cf85741677421";
       };
     }
     {
@@ -8186,11 +8682,11 @@
       };
     }
     {
-      name = "merge_stream___merge_stream_1.0.1.tgz";
+      name = "merge_stream___merge_stream_2.0.0.tgz";
       path = fetchurl {
-        name = "merge_stream___merge_stream_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz";
-        sha1 = "4041202d508a342ba00174008df0c251b8c135e1";
+        name = "merge_stream___merge_stream_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz";
+        sha1 = "52823629a14dd00c9770fb6ad47dc6310f2c1f60";
       };
     }
     {
@@ -8202,11 +8698,19 @@
       };
     }
     {
-      name = "mermaid___mermaid_8.4.8.tgz";
+      name = "mermaid___mermaid_8.5.2.tgz";
+      path = fetchurl {
+        name = "mermaid___mermaid_8.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.5.2.tgz";
+        sha1 = "0f1914cda53d4ea5377380e5ce07a38bef2ea7e8";
+      };
+    }
+    {
+      name = "mersenne_twister___mersenne_twister_1.1.0.tgz";
       path = fetchurl {
-        name = "mermaid___mermaid_8.4.8.tgz";
-        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.4.8.tgz";
-        sha1 = "8adcfdbc505d6bca52df167cff690427c9727b60";
+        name = "mersenne_twister___mersenne_twister_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz";
+        sha1 = "f916618ee43d7179efcf641bec4531eb9670978a";
       };
     }
     {
@@ -8242,19 +8746,19 @@
       };
     }
     {
-      name = "mime_db___mime_db_1.40.0.tgz";
+      name = "mime_db___mime_db_1.44.0.tgz";
       path = fetchurl {
-        name = "mime_db___mime_db_1.40.0.tgz";
-        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz";
-        sha1 = "a65057e998db090f732a68f6c276d387d4126c32";
+        name = "mime_db___mime_db_1.44.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz";
+        sha1 = "fa11c5eb0aca1334b4233cb4d52f10c5a6272f92";
       };
     }
     {
-      name = "mime_types___mime_types_2.1.24.tgz";
+      name = "mime_types___mime_types_2.1.27.tgz";
       path = fetchurl {
-        name = "mime_types___mime_types_2.1.24.tgz";
-        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz";
-        sha1 = "b6f8d0b3e951efb77dedeca194cff6d16f676f81";
+        name = "mime_types___mime_types_2.1.27.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz";
+        sha1 = "47949f98e279ea53119f5722e0f34e529bec009f";
       };
     }
     {
@@ -8282,6 +8786,22 @@
       };
     }
     {
+      name = "mimic_response___mimic_response_1.0.1.tgz";
+      path = fetchurl {
+        name = "mimic_response___mimic_response_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz";
+        sha1 = "4923538878eef42063cb8a3e3b0798781487ab1b";
+      };
+    }
+    {
+      name = "min_document___min_document_2.19.0.tgz";
+      path = fetchurl {
+        name = "min_document___min_document_2.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz";
+        sha1 = "7bd282e3f5842ed295bb748cdd9f1ffa2c824685";
+      };
+    }
+    {
       name = "minify___minify_4.1.2.tgz";
       path = fetchurl {
         name = "minify___minify_4.1.2.tgz";
@@ -8338,11 +8858,11 @@
       };
     }
     {
-      name = "minimist___minimist_1.2.0.tgz";
+      name = "minimist___minimist_1.2.5.tgz";
       path = fetchurl {
-        name = "minimist___minimist_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz";
-        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+        name = "minimist___minimist_1.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
+        sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602";
       };
     }
     {
@@ -8370,14 +8890,6 @@
       };
     }
     {
-      name = "minipass___minipass_2.3.5.tgz";
-      path = fetchurl {
-        name = "minipass___minipass_2.3.5.tgz";
-        url  = "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz";
-        sha1 = "cacebe492022497f656b0f0f51e2682a9ed2d848";
-      };
-    }
-    {
       name = "minipass___minipass_3.1.1.tgz";
       path = fetchurl {
         name = "minipass___minipass_3.1.1.tgz";
@@ -8386,11 +8898,11 @@
       };
     }
     {
-      name = "minizlib___minizlib_1.2.1.tgz";
+      name = "miragejs___miragejs_0.1.40.tgz";
       path = fetchurl {
-        name = "minizlib___minizlib_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz";
-        sha1 = "dd27ea6136243c7c880684e8672bb3a45fd9b614";
+        name = "miragejs___miragejs_0.1.40.tgz";
+        url  = "https://registry.yarnpkg.com/miragejs/-/miragejs-0.1.40.tgz";
+        sha1 = "5bcba7634312c012748ae7f294e1516b74b37182";
       };
     }
     {
@@ -8402,14 +8914,6 @@
       };
     }
     {
-      name = "mitt___mitt_1.2.0.tgz";
-      path = fetchurl {
-        name = "mitt___mitt_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/mitt/-/mitt-1.2.0.tgz";
-        sha1 = "cb24e6569c806e31bd4e3995787fe38a04fdf90d";
-      };
-    }
-    {
       name = "mixin_deep___mixin_deep_1.3.2.tgz";
       path = fetchurl {
         name = "mixin_deep___mixin_deep_1.3.2.tgz";
@@ -8418,6 +8922,14 @@
       };
     }
     {
+      name = "mkdirp___mkdirp_1.0.4.tgz";
+      path = fetchurl {
+        name = "mkdirp___mkdirp_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz";
+        sha1 = "3eb5ed62622756d79a5f0e2a221dfebad75c2f7e";
+      };
+    }
+    {
       name = "https___registry.npmjs.org_mkdirp___mkdirp_0.5.1.tgz";
       path = fetchurl {
         name = "https___registry.npmjs.org_mkdirp___mkdirp_0.5.1.tgz";
@@ -8426,6 +8938,14 @@
       };
     }
     {
+      name = "mock_apollo_client___mock_apollo_client_0.4.0.tgz";
+      path = fetchurl {
+        name = "mock_apollo_client___mock_apollo_client_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/mock-apollo-client/-/mock-apollo-client-0.4.0.tgz";
+        sha1 = "556a6090b1816dbf07e51093b652aca84aee979e";
+      };
+    }
+    {
       name = "moment_mini___moment_mini_2.22.1.tgz";
       path = fetchurl {
         name = "moment_mini___moment_mini_2.22.1.tgz";
@@ -8434,35 +8954,35 @@
       };
     }
     {
-      name = "moment___moment_2.24.0.tgz";
+      name = "monaco_editor_webpack_plugin___monaco_editor_webpack_plugin_1.9.0.tgz";
       path = fetchurl {
-        name = "moment___moment_2.24.0.tgz";
-        url  = "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz";
-        sha1 = "0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b";
+        name = "monaco_editor_webpack_plugin___monaco_editor_webpack_plugin_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/monaco-editor-webpack-plugin/-/monaco-editor-webpack-plugin-1.9.0.tgz";
+        sha1 = "5b547281b9f404057dc5d8c5722390df9ac90be6";
       };
     }
     {
-      name = "monaco_editor_webpack_plugin___monaco_editor_webpack_plugin_1.7.0.tgz";
+      name = "monaco_editor___monaco_editor_0.20.0.tgz";
       path = fetchurl {
-        name = "monaco_editor_webpack_plugin___monaco_editor_webpack_plugin_1.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/monaco-editor-webpack-plugin/-/monaco-editor-webpack-plugin-1.7.0.tgz";
-        sha1 = "920cbeecca25f15d70d568a7e11b0ba4daf1ae83";
+        name = "monaco_editor___monaco_editor_0.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.20.0.tgz";
+        sha1 = "5d5009343a550124426cb4d965a4d27a348b4dea";
       };
     }
     {
-      name = "monaco_editor___monaco_editor_0.18.1.tgz";
+      name = "monaco_yaml___monaco_yaml_2.5.1.tgz";
       path = fetchurl {
-        name = "monaco_editor___monaco_editor_0.18.1.tgz";
-        url  = "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.18.1.tgz";
-        sha1 = "ced7c305a23109875feeaf395a504b91f6358cfc";
+        name = "monaco_yaml___monaco_yaml_2.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/monaco-yaml/-/monaco-yaml-2.5.1.tgz";
+        sha1 = "af9303a4aa6e3b94db62b8a8659362f31944590d";
       };
     }
     {
-      name = "mousetrap___mousetrap_1.4.6.tgz";
+      name = "mousetrap___mousetrap_1.6.5.tgz";
       path = fetchurl {
-        name = "mousetrap___mousetrap_1.4.6.tgz";
-        url  = "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.4.6.tgz";
-        sha1 = "eaca72e22e56d5b769b7555873b688c3332e390a";
+        name = "mousetrap___mousetrap_1.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.6.5.tgz";
+        sha1 = "8a766d8c272b08393d5f56074e0b5ec183485bf9";
       };
     }
     {
@@ -8514,11 +9034,11 @@
       };
     }
     {
-      name = "nan___nan_2.14.0.tgz";
+      name = "nan___nan_2.14.1.tgz";
       path = fetchurl {
-        name = "nan___nan_2.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz";
-        sha1 = "7818f722027b2459a86f0295d434d1fc2336c52c";
+        name = "nan___nan_2.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz";
+        sha1 = "d7be34dfa3105b91494c3147089315eff8874b01";
       };
     }
     {
@@ -8538,14 +9058,6 @@
       };
     }
     {
-      name = "needle___needle_2.4.0.tgz";
-      path = fetchurl {
-        name = "needle___needle_2.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz";
-        sha1 = "6833e74975c444642590e15a750288c5f939b57c";
-      };
-    }
-    {
       name = "negotiator___negotiator_0.6.2.tgz";
       path = fetchurl {
         name = "negotiator___negotiator_0.6.2.tgz";
@@ -8634,43 +9146,35 @@
       };
     }
     {
-      name = "node_notifier___node_notifier_5.4.0.tgz";
+      name = "node_notifier___node_notifier_8.0.0.tgz";
       path = fetchurl {
-        name = "node_notifier___node_notifier_5.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.0.tgz";
-        sha1 = "7b455fdce9f7de0c63538297354f3db468426e6a";
+        name = "node_notifier___node_notifier_8.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.0.tgz";
+        sha1 = "a7eee2d51da6d0f7ff5094bc7108c911240c1620";
       };
     }
     {
-      name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
+      name = "node_releases___node_releases_1.1.58.tgz";
       path = fetchurl {
-        name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
-        url  = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz";
-        sha1 = "39ba4bb1439da030295f899e3b520b7785766149";
+        name = "node_releases___node_releases_1.1.58.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.58.tgz";
+        sha1 = "8ee20eef30fa60e52755fcc0942def5a734fe935";
       };
     }
     {
-      name = "node_releases___node_releases_1.1.50.tgz";
+      name = "node_sass___node_sass_4.14.1.tgz";
       path = fetchurl {
-        name = "node_releases___node_releases_1.1.50.tgz";
-        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.50.tgz";
-        sha1 = "803c40d2c45db172d0410e4efec83aa8c6ad0592";
+        name = "node_sass___node_sass_4.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz";
+        sha1 = "99c87ec2efb7047ed638fb4c9db7f3a42e2217b5";
       };
     }
     {
-      name = "node_sass___node_sass_4.12.0.tgz";
+      name = "nodemon___nodemon_2.0.4.tgz";
       path = fetchurl {
-        name = "node_sass___node_sass_4.12.0.tgz";
-        url  = "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz";
-        sha1 = "0914f531932380114a30cc5fa4fa63233a25f017";
-      };
-    }
-    {
-      name = "nodemon___nodemon_1.18.9.tgz";
-      path = fetchurl {
-        name = "nodemon___nodemon_1.18.9.tgz";
-        url  = "https://registry.yarnpkg.com/nodemon/-/nodemon-1.18.9.tgz";
-        sha1 = "90b467efd3b3c81b9453380aeb2a2cba535d0ead";
+        name = "nodemon___nodemon_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.4.tgz";
+        sha1 = "55b09319eb488d6394aa9818148c0c2d1c04c416";
       };
     }
     {
@@ -8682,11 +9186,11 @@
       };
     }
     {
-      name = "nopt___nopt_4.0.1.tgz";
+      name = "nopt___nopt_4.0.3.tgz";
       path = fetchurl {
-        name = "nopt___nopt_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz";
-        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+        name = "nopt___nopt_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz";
+        sha1 = "a375cad9d02fd921278d954c2254d5aa57e15e48";
       };
     }
     {
@@ -8738,19 +9242,11 @@
       };
     }
     {
-      name = "npm_bundled___npm_bundled_1.0.6.tgz";
+      name = "normalize_url___normalize_url_4.5.0.tgz";
       path = fetchurl {
-        name = "npm_bundled___npm_bundled_1.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz";
-        sha1 = "e7ba9aadcef962bb61248f91721cd932b3fe6bdd";
-      };
-    }
-    {
-      name = "npm_packlist___npm_packlist_1.4.1.tgz";
-      path = fetchurl {
-        name = "npm_packlist___npm_packlist_1.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz";
-        sha1 = "19064cdf988da80ea3cee45533879d90192bbfbc";
+        name = "normalize_url___normalize_url_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz";
+        sha1 = "453354087e6ca96957bd8f5baf753f5982142129";
       };
     }
     {
@@ -8762,6 +9258,14 @@
       };
     }
     {
+      name = "npm_run_path___npm_run_path_4.0.1.tgz";
+      path = fetchurl {
+        name = "npm_run_path___npm_run_path_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz";
+        sha1 = "b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea";
+      };
+    }
+    {
       name = "npmlog___npmlog_4.1.2.tgz";
       path = fetchurl {
         name = "npmlog___npmlog_4.1.2.tgz";
@@ -8786,11 +9290,11 @@
       };
     }
     {
-      name = "nwsapi___nwsapi_2.0.9.tgz";
+      name = "nwsapi___nwsapi_2.2.0.tgz";
       path = fetchurl {
-        name = "nwsapi___nwsapi_2.0.9.tgz";
-        url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz";
-        sha1 = "77ac0cdfdcad52b6a1151a84e73254edc33ed016";
+        name = "nwsapi___nwsapi_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz";
+        sha1 = "204879a9e3d068ff2a55139c2c772780681a38b7";
       };
     }
     {
@@ -8866,14 +9370,6 @@
       };
     }
     {
-      name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
-      path = fetchurl {
-        name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
-        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
-      };
-    }
-    {
       name = "object.pick___object.pick_1.3.0.tgz";
       path = fetchurl {
         name = "object.pick___object.pick_1.3.0.tgz";
@@ -9002,14 +9498,6 @@
       };
     }
     {
-      name = "os_locale___os_locale_1.4.0.tgz";
-      path = fetchurl {
-        name = "os_locale___os_locale_1.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz";
-        sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
-      };
-    }
-    {
       name = "os_locale___os_locale_3.1.0.tgz";
       path = fetchurl {
         name = "os_locale___os_locale_3.1.0.tgz";
@@ -9034,6 +9522,14 @@
       };
     }
     {
+      name = "p_cancelable___p_cancelable_1.1.0.tgz";
+      path = fetchurl {
+        name = "p_cancelable___p_cancelable_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz";
+        sha1 = "d078d15a3af409220c886f1d9a0ca2e441ab26cc";
+      };
+    }
+    {
       name = "p_defer___p_defer_1.0.0.tgz";
       path = fetchurl {
         name = "p_defer___p_defer_1.0.0.tgz";
@@ -9042,11 +9538,11 @@
       };
     }
     {
-      name = "p_each_series___p_each_series_1.0.0.tgz";
+      name = "p_each_series___p_each_series_2.1.0.tgz";
       path = fetchurl {
-        name = "p_each_series___p_each_series_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz";
-        sha1 = "930f3d12dd1f50e7434457a22cd6f04ac6ad7f71";
+        name = "p_each_series___p_each_series_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz";
+        sha1 = "961c8dd3f195ea96c747e636b262b800a6b1af48";
       };
     }
     {
@@ -9122,14 +9618,6 @@
       };
     }
     {
-      name = "p_reduce___p_reduce_1.0.0.tgz";
-      path = fetchurl {
-        name = "p_reduce___p_reduce_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz";
-        sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa";
-      };
-    }
-    {
       name = "p_retry___p_retry_3.0.1.tgz";
       path = fetchurl {
         name = "p_retry___p_retry_3.0.1.tgz";
@@ -9154,11 +9642,11 @@
       };
     }
     {
-      name = "package_json___package_json_4.0.1.tgz";
+      name = "package_json___package_json_6.5.0.tgz";
       path = fetchurl {
-        name = "package_json___package_json_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz";
-        sha1 = "8869a0401253661c4c4ca3da6c2121ed555f5eed";
+        name = "package_json___package_json_6.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz";
+        sha1 = "6feedaca35e75725876d0b0e64974697fed145b0";
       };
     }
     {
@@ -9234,27 +9722,27 @@
       };
     }
     {
-      name = "parse_passwd___parse_passwd_1.0.0.tgz";
+      name = "parse_json___parse_json_5.1.0.tgz";
       path = fetchurl {
-        name = "parse_passwd___parse_passwd_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz";
-        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
+        name = "parse_json___parse_json_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz";
+        sha1 = "f96088cdf24a8faa9aea9a009f2d9d942c999646";
       };
     }
     {
-      name = "parse5___parse5_4.0.0.tgz";
+      name = "parse_passwd___parse_passwd_1.0.0.tgz";
       path = fetchurl {
-        name = "parse5___parse5_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz";
-        sha1 = "6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608";
+        name = "parse_passwd___parse_passwd_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz";
+        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
       };
     }
     {
-      name = "parse5___parse5_5.0.0.tgz";
+      name = "parse5___parse5_5.1.1.tgz";
       path = fetchurl {
-        name = "parse5___parse5_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse5/-/parse5-5.0.0.tgz";
-        sha1 = "4d02710d44f3c3846197a11e205d4ef17842b81a";
+        name = "parse5___parse5_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz";
+        sha1 = "f68e4e5ba1852ac2cadc00f4555fff6c2abb6178";
       };
     }
     {
@@ -9354,6 +9842,14 @@
       };
     }
     {
+      name = "path_key___path_key_3.1.1.tgz";
+      path = fetchurl {
+        name = "path_key___path_key_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz";
+        sha1 = "581f6ade658cbba65a0d3380de7753295054f375";
+      };
+    }
+    {
       name = "path_parse___path_parse_1.0.6.tgz";
       path = fetchurl {
         name = "path_parse___path_parse_1.0.6.tgz";
@@ -9418,11 +9914,11 @@
       };
     }
     {
-      name = "picomatch___picomatch_2.0.7.tgz";
+      name = "picomatch___picomatch_2.2.2.tgz";
       path = fetchurl {
-        name = "picomatch___picomatch_2.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz";
-        sha1 = "514169d8c7cd0bdbeecc8a2609e34a7163de69f6";
+        name = "picomatch___picomatch_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz";
+        sha1 = "21f333e9b6b8eaff02468f5146ea406d345f4dad";
       };
     }
     {
@@ -9514,11 +10010,11 @@
       };
     }
     {
-      name = "pn___pn_1.1.0.tgz";
+      name = "pkg_up___pkg_up_2.0.0.tgz";
       path = fetchurl {
-        name = "pn___pn_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz";
-        sha1 = "e2f4cef0e219f463c179ab37463e4e1ecdccbafb";
+        name = "pkg_up___pkg_up_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz";
+        sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
       };
     }
     {
@@ -9546,11 +10042,11 @@
       };
     }
     {
-      name = "portal_vue___portal_vue_2.1.6.tgz";
+      name = "portal_vue___portal_vue_2.1.7.tgz";
       path = fetchurl {
-        name = "portal_vue___portal_vue_2.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/portal-vue/-/portal-vue-2.1.6.tgz";
-        sha1 = "a7d4790b14a79af7fd159a60ec88c30cddc6c639";
+        name = "portal_vue___portal_vue_2.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/portal-vue/-/portal-vue-2.1.7.tgz";
+        sha1 = "ea08069b25b640ca08a5b86f67c612f15f4e4ad4";
       };
     }
     {
@@ -9690,14 +10186,6 @@
       };
     }
     {
-      name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
-      path = fetchurl {
-        name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz";
-        sha1 = "249044356697b33b64f1a8f7c80922dddee7195c";
-      };
-    }
-    {
       name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
       path = fetchurl {
         name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
@@ -9730,14 +10218,6 @@
       };
     }
     {
-      name = "postcss___postcss_7.0.27.tgz";
-      path = fetchurl {
-        name = "postcss___postcss_7.0.27.tgz";
-        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz";
-        sha1 = "cc67cdc6b0daa375105b7c424a85567345fc54d9";
-      };
-    }
-    {
       name = "postcss___postcss_7.0.30.tgz";
       path = fetchurl {
         name = "postcss___postcss_7.0.30.tgz";
@@ -9754,19 +10234,19 @@
       };
     }
     {
-      name = "prepend_http___prepend_http_1.0.4.tgz";
+      name = "prepend_http___prepend_http_2.0.0.tgz";
       path = fetchurl {
-        name = "prepend_http___prepend_http_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz";
-        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+        name = "prepend_http___prepend_http_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz";
+        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
       };
     }
     {
-      name = "prettier___prettier_1.16.3.tgz";
+      name = "pretender___pretender_3.4.3.tgz";
       path = fetchurl {
-        name = "prettier___prettier_1.16.3.tgz";
-        url  = "https://registry.yarnpkg.com/prettier/-/prettier-1.16.3.tgz";
-        sha1 = "8c62168453badef702f34b45b6ee899574a6a65d";
+        name = "pretender___pretender_3.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/pretender/-/pretender-3.4.3.tgz";
+        sha1 = "a3b4160516007075d29127262f3a0063d19896e9";
       };
     }
     {
@@ -9778,11 +10258,27 @@
       };
     }
     {
-      name = "pretty_format___pretty_format_24.8.0.tgz";
+      name = "prettier___prettier_2.0.5.tgz";
       path = fetchurl {
-        name = "pretty_format___pretty_format_24.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.8.0.tgz";
-        sha1 = "8dae7044f58db7cb8be245383b565a963e3c27f2";
+        name = "prettier___prettier_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz";
+        sha1 = "d6d56282455243f2f92cc1716692c08aa31522d4";
+      };
+    }
+    {
+      name = "pretty_format___pretty_format_25.5.0.tgz";
+      path = fetchurl {
+        name = "pretty_format___pretty_format_25.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz";
+        sha1 = "7873c1d774f682c34b8d48b6743a2bf2ac55791a";
+      };
+    }
+    {
+      name = "pretty_format___pretty_format_26.5.2.tgz";
+      path = fetchurl {
+        name = "pretty_format___pretty_format_26.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.5.2.tgz";
+        sha1 = "5d896acfdaa09210683d34b6dc0e6e21423cd3e1";
       };
     }
     {
@@ -9794,11 +10290,11 @@
       };
     }
     {
-      name = "prismjs___prismjs_1.6.0.tgz";
+      name = "prismjs___prismjs_1.21.0.tgz";
       path = fetchurl {
-        name = "prismjs___prismjs_1.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/prismjs/-/prismjs-1.6.0.tgz";
-        sha1 = "118d95fb7a66dba2272e343b345f5236659db365";
+        name = "prismjs___prismjs_1.21.0.tgz";
+        url  = "https://registry.yarnpkg.com/prismjs/-/prismjs-1.21.0.tgz";
+        sha1 = "36c086ec36b45319ec4218ee164c110f9fc015a3";
       };
     }
     {
@@ -9850,11 +10346,11 @@
       };
     }
     {
-      name = "prompts___prompts_2.1.0.tgz";
+      name = "prompts___prompts_2.3.2.tgz";
       path = fetchurl {
-        name = "prompts___prompts_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz";
-        sha1 = "bf90bc71f6065d255ea2bdc0fe6520485c1b45db";
+        name = "prompts___prompts_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz";
+        sha1 = "480572d89ecf39566d2bd3fe2c9fccb7c4c0b068";
       };
     }
     {
@@ -10002,19 +10498,19 @@
       };
     }
     {
-      name = "psl___psl_1.1.29.tgz";
+      name = "psl___psl_1.8.0.tgz";
       path = fetchurl {
-        name = "psl___psl_1.1.29.tgz";
-        url  = "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz";
-        sha1 = "60f580d360170bb722a797cc704411e6da850c67";
+        name = "psl___psl_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz";
+        sha1 = "9326f8bcfb013adcc005fdff056acce020e51c24";
       };
     }
     {
-      name = "pstree.remy___pstree.remy_1.1.6.tgz";
+      name = "pstree.remy___pstree.remy_1.1.8.tgz";
       path = fetchurl {
-        name = "pstree.remy___pstree.remy_1.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.6.tgz";
-        sha1 = "73a55aad9e2d95814927131fbf4dc1b62d259f47";
+        name = "pstree.remy___pstree.remy_1.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz";
+        sha1 = "c242224f4a67c21f686839bbdb4ac282b8373d3a";
       };
     }
     {
@@ -10058,14 +10554,6 @@
       };
     }
     {
-      name = "punycode___punycode_1.4.1.tgz";
-      path = fetchurl {
-        name = "punycode___punycode_1.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
-        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
-      };
-    }
-    {
       name = "punycode___punycode_2.1.1.tgz";
       path = fetchurl {
         name = "punycode___punycode_2.1.1.tgz";
@@ -10074,6 +10562,14 @@
       };
     }
     {
+      name = "pupa___pupa_2.0.1.tgz";
+      path = fetchurl {
+        name = "pupa___pupa_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pupa/-/pupa-2.0.1.tgz";
+        sha1 = "dbdc9ff48ffbea4a26a069b6f9f7abb051008726";
+      };
+    }
+    {
       name = "qjobs___qjobs_1.2.0.tgz";
       path = fetchurl {
         name = "qjobs___qjobs_1.2.0.tgz";
@@ -10186,11 +10682,11 @@
       };
     }
     {
-      name = "react_is___react_is_16.8.6.tgz";
+      name = "react_is___react_is_16.13.1.tgz";
       path = fetchurl {
-        name = "react_is___react_is_16.8.6.tgz";
-        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz";
-        sha1 = "5bbc1e2d29141c9fbdfed456343fe2bc430a6a16";
+        name = "react_is___react_is_16.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz";
+        sha1 = "789729a4dc36de2999dc156dd6c1d9c18cea56a4";
       };
     }
     {
@@ -10218,11 +10714,11 @@
       };
     }
     {
-      name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+      name = "read_pkg_up___read_pkg_up_7.0.1.tgz";
       path = fetchurl {
-        name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
-        sha1 = "1b221c6088ba7799601c808f91161c66e58f8978";
+        name = "read_pkg_up___read_pkg_up_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz";
+        sha1 = "f3a6135758459733ae2b95638056e1854e7ef507";
       };
     }
     {
@@ -10250,11 +10746,19 @@
       };
     }
     {
-      name = "readable_stream___readable_stream_2.3.6.tgz";
+      name = "read_pkg___read_pkg_5.2.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz";
+        sha1 = "7bf295438ca5a33e56cd30e053b34ee7250c93cc";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_2.3.7.tgz";
       path = fetchurl {
-        name = "readable_stream___readable_stream_2.3.6.tgz";
-        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz";
-        sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf";
+        name = "readable_stream___readable_stream_2.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz";
+        sha1 = "1eca1cf711aef814c04f62252a36a62f6cb23b57";
       };
     }
     {
@@ -10282,27 +10786,11 @@
       };
     }
     {
-      name = "readdirp___readdirp_2.2.1.tgz";
-      path = fetchurl {
-        name = "readdirp___readdirp_2.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz";
-        sha1 = "0e87622a3325aa33e892285caf8b4e846529a525";
-      };
-    }
-    {
-      name = "readdirp___readdirp_3.1.1.tgz";
+      name = "readdirp___readdirp_3.4.0.tgz";
       path = fetchurl {
-        name = "readdirp___readdirp_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.1.1.tgz";
-        sha1 = "b158123ac343c8b0f31d65680269cc0fc1025db1";
-      };
-    }
-    {
-      name = "realpath_native___realpath_native_1.1.0.tgz";
-      path = fetchurl {
-        name = "realpath_native___realpath_native_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz";
-        sha1 = "2003294fea23fb0672f2476ebe22fcf498a2d65c";
+        name = "readdirp___readdirp_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz";
+        sha1 = "9fdccdf9e9155805449221ac645e8303ab5b9ada";
       };
     }
     {
@@ -10322,11 +10810,11 @@
       };
     }
     {
-      name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
+      name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz";
       path = fetchurl {
-        name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz";
-        sha1 = "ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e";
+        name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz";
+        sha1 = "e5de7111d655e7ba60c057dbe9ff37c87e65cdec";
       };
     }
     {
@@ -10338,11 +10826,19 @@
       };
     }
     {
-      name = "regenerator_transform___regenerator_transform_0.14.1.tgz";
+      name = "regenerator_runtime___regenerator_runtime_0.13.5.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.13.5.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz";
+        sha1 = "d878a1d094b4306d10b9096484b33ebd55e26697";
+      };
+    }
+    {
+      name = "regenerator_transform___regenerator_transform_0.14.4.tgz";
       path = fetchurl {
-        name = "regenerator_transform___regenerator_transform_0.14.1.tgz";
-        url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz";
-        sha1 = "3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb";
+        name = "regenerator_transform___regenerator_transform_0.14.4.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz";
+        sha1 = "5266857896518d1616a78a0479337a30ea974cc7";
       };
     }
     {
@@ -10362,43 +10858,43 @@
       };
     }
     {
-      name = "regexpu_core___regexpu_core_4.6.0.tgz";
+      name = "regexpu_core___regexpu_core_4.7.0.tgz";
       path = fetchurl {
-        name = "regexpu_core___regexpu_core_4.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz";
-        sha1 = "2037c18b327cfce8a6fea2a4ec441f2432afb8b6";
+        name = "regexpu_core___regexpu_core_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz";
+        sha1 = "fcbf458c50431b0bb7b45d6967b8192d91f3d938";
       };
     }
     {
-      name = "registry_auth_token___registry_auth_token_3.3.2.tgz";
+      name = "registry_auth_token___registry_auth_token_4.1.1.tgz";
       path = fetchurl {
-        name = "registry_auth_token___registry_auth_token_3.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz";
-        sha1 = "851fd49038eecb586911115af845260eec983f20";
+        name = "registry_auth_token___registry_auth_token_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz";
+        sha1 = "40a33be1e82539460f94328b0f7f0f84c16d9479";
       };
     }
     {
-      name = "registry_url___registry_url_3.1.0.tgz";
+      name = "registry_url___registry_url_5.1.0.tgz";
       path = fetchurl {
-        name = "registry_url___registry_url_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz";
-        sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
+        name = "registry_url___registry_url_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz";
+        sha1 = "e98334b50d5434b81136b44ec638d9c2009c5009";
       };
     }
     {
-      name = "regjsgen___regjsgen_0.5.0.tgz";
+      name = "regjsgen___regjsgen_0.5.2.tgz";
       path = fetchurl {
-        name = "regjsgen___regjsgen_0.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz";
-        sha1 = "a7634dc08f89209c2049adda3525711fb97265dd";
+        name = "regjsgen___regjsgen_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz";
+        sha1 = "92ff295fb1deecbf6ecdab2543d207e91aa33733";
       };
     }
     {
-      name = "regjsparser___regjsparser_0.6.0.tgz";
+      name = "regjsparser___regjsparser_0.6.4.tgz";
       path = fetchurl {
-        name = "regjsparser___regjsparser_0.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz";
-        sha1 = "f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c";
+        name = "regjsparser___regjsparser_0.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz";
+        sha1 = "a769f8684308401a66e9b529d2436ff4d0666272";
       };
     }
     {
@@ -10474,27 +10970,35 @@
       };
     }
     {
-      name = "request_promise_core___request_promise_core_1.1.1.tgz";
+      name = "request_light___request_light_0.2.5.tgz";
       path = fetchurl {
-        name = "request_promise_core___request_promise_core_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz";
-        sha1 = "3eee00b2c5aa83239cfb04c5700da36f81cd08b6";
+        name = "request_light___request_light_0.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/request-light/-/request-light-0.2.5.tgz";
+        sha1 = "38a3da7b2e56f7af8cbba57e8a94930ee2380746";
       };
     }
     {
-      name = "request_promise_native___request_promise_native_1.0.5.tgz";
+      name = "request_promise_core___request_promise_core_1.1.4.tgz";
       path = fetchurl {
-        name = "request_promise_native___request_promise_native_1.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz";
-        sha1 = "5281770f68e0c9719e5163fd3fab482215f4fda5";
+        name = "request_promise_core___request_promise_core_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz";
+        sha1 = "3eedd4223208d419867b78ce815167d10593a22f";
       };
     }
     {
-      name = "request___request_2.88.0.tgz";
+      name = "request_promise_native___request_promise_native_1.0.9.tgz";
       path = fetchurl {
-        name = "request___request_2.88.0.tgz";
-        url  = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz";
-        sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
+        name = "request_promise_native___request_promise_native_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz";
+        sha1 = "e407120526a5efdc9a39b28a5679bf47b9d9dc28";
+      };
+    }
+    {
+      name = "request___request_2.88.2.tgz";
+      path = fetchurl {
+        name = "request___request_2.88.2.tgz";
+        url  = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz";
+        sha1 = "d73c918731cb5a87da047e207234146f664d12b3";
       };
     }
     {
@@ -10562,6 +11066,14 @@
       };
     }
     {
+      name = "resolve_cwd___resolve_cwd_3.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_cwd___resolve_cwd_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz";
+        sha1 = "0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d";
+      };
+    }
+    {
       name = "resolve_dir___resolve_dir_1.0.1.tgz";
       path = fetchurl {
         name = "resolve_dir___resolve_dir_1.0.1.tgz";
@@ -10602,19 +11114,19 @@
       };
     }
     {
-      name = "resolve___resolve_1.1.7.tgz";
+      name = "resolve___resolve_1.17.0.tgz";
       path = fetchurl {
-        name = "resolve___resolve_1.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz";
-        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+        name = "resolve___resolve_1.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz";
+        sha1 = "b25941b54968231cc2d1bb76a79cb7f2c0bf8444";
       };
     }
     {
-      name = "resolve___resolve_1.15.0.tgz";
+      name = "responselike___responselike_1.0.2.tgz";
       path = fetchurl {
-        name = "resolve___resolve_1.15.0.tgz";
-        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz";
-        sha1 = "1b7ca96073ebb52e741ffd799f6b39ea462c67f5";
+        name = "responselike___responselike_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz";
+        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
       };
     }
     {
@@ -10666,6 +11178,14 @@
       };
     }
     {
+      name = "rimraf___rimraf_3.0.2.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz";
+        sha1 = "f1a5402ba6220ad52cc1282bac1ae3aa49fd061a";
+      };
+    }
+    {
       name = "ripemd160___ripemd160_2.0.1.tgz";
       path = fetchurl {
         name = "ripemd160___ripemd160_2.0.1.tgz";
@@ -10682,6 +11202,14 @@
       };
     }
     {
+      name = "route_recognizer___route_recognizer_0.3.4.tgz";
+      path = fetchurl {
+        name = "route_recognizer___route_recognizer_0.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/route-recognizer/-/route-recognizer-0.3.4.tgz";
+        sha1 = "39ab1ffbce1c59e6d2bdca416f0932611e4f3ca3";
+      };
+    }
+    {
       name = "rsvp___rsvp_4.8.4.tgz";
       path = fetchurl {
         name = "rsvp___rsvp_4.8.4.tgz";
@@ -10754,19 +11282,11 @@
       };
     }
     {
-      name = "sanitize_html___sanitize_html_1.22.0.tgz";
-      path = fetchurl {
-        name = "sanitize_html___sanitize_html_1.22.0.tgz";
-        url  = "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.22.0.tgz";
-        sha1 = "9df779c53cf5755adb2322943c21c1c1dffca7bf";
-      };
-    }
-    {
-      name = "sass_graph___sass_graph_2.2.4.tgz";
+      name = "sass_graph___sass_graph_2.2.5.tgz";
       path = fetchurl {
-        name = "sass_graph___sass_graph_2.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz";
-        sha1 = "13fbd63cd1caf0908b9fd93476ad43a51d1e0b49";
+        name = "sass_graph___sass_graph_2.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz";
+        sha1 = "a981c87446b8319d96dce0671e487879bd24c2e8";
       };
     }
     {
@@ -10778,11 +11298,11 @@
       };
     }
     {
-      name = "sax___sax_1.2.4.tgz";
+      name = "saxes___saxes_5.0.1.tgz";
       path = fetchurl {
-        name = "sax___sax_1.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
-        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+        name = "saxes___saxes_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz";
+        sha1 = "eebab953fa3b7608dbe94e5dadb15c888fa6696d";
       };
     }
     {
@@ -10858,11 +11378,11 @@
       };
     }
     {
-      name = "semver_diff___semver_diff_2.1.0.tgz";
+      name = "semver_diff___semver_diff_3.1.1.tgz";
       path = fetchurl {
-        name = "semver_diff___semver_diff_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz";
-        sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
+        name = "semver_diff___semver_diff_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz";
+        sha1 = "05f77ce59f325e00e2706afd67bb506ddb1ca32b";
       };
     }
     {
@@ -10882,6 +11402,14 @@
       };
     }
     {
+      name = "semver___semver_7.3.2.tgz";
+      path = fetchurl {
+        name = "semver___semver_7.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz";
+        sha1 = "604962b052b81ed0786aae84389ffba70ffd3938";
+      };
+    }
+    {
       name = "semver___semver_6.3.0.tgz";
       path = fetchurl {
         name = "semver___semver_6.3.0.tgz";
@@ -10994,6 +11522,14 @@
       };
     }
     {
+      name = "shebang_command___shebang_command_2.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_command___shebang_command_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz";
+        sha1 = "ccd0af4f8835fbdc265b82461aaf0c36663f34ea";
+      };
+    }
+    {
       name = "shebang_regex___shebang_regex_1.0.0.tgz";
       path = fetchurl {
         name = "shebang_regex___shebang_regex_1.0.0.tgz";
@@ -11002,6 +11538,14 @@
       };
     }
     {
+      name = "shebang_regex___shebang_regex_3.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_regex___shebang_regex_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz";
+        sha1 = "ae16f1644d873ecad843b0307b143362d4c42172";
+      };
+    }
+    {
       name = "shellwords___shellwords_0.1.1.tgz";
       path = fetchurl {
         name = "shellwords___shellwords_0.1.1.tgz";
@@ -11018,19 +11562,19 @@
       };
     }
     {
-      name = "signal_exit___signal_exit_3.0.2.tgz";
+      name = "signal_exit___signal_exit_3.0.3.tgz";
       path = fetchurl {
-        name = "signal_exit___signal_exit_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz";
-        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+        name = "signal_exit___signal_exit_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz";
+        sha1 = "a1410c2edd8f077b08b4e253c8eacfcaf057461c";
       };
     }
     {
-      name = "sisteransi___sisteransi_1.0.0.tgz";
+      name = "sisteransi___sisteransi_1.0.5.tgz";
       path = fetchurl {
-        name = "sisteransi___sisteransi_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz";
-        sha1 = "77d9622ff909080f1c19e5f4a1df0c1b0a27b88c";
+        name = "sisteransi___sisteransi_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz";
+        sha1 = "134d681297756437cc05ca01370d3a7a571075ed";
       };
     }
     {
@@ -11170,19 +11714,19 @@
       };
     }
     {
-      name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
+      name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
       path = fetchurl {
-        name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
-        sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259";
+        name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
+        sha1 = "190866bece7553e1f8f267a2ee82c606b5509a1a";
       };
     }
     {
-      name = "source_map_support___source_map_support_0.5.13.tgz";
+      name = "source_map_support___source_map_support_0.5.19.tgz";
       path = fetchurl {
-        name = "source_map_support___source_map_support_0.5.13.tgz";
-        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz";
-        sha1 = "31b24a9c2e73c2de85066c0feb7d44767ed52932";
+        name = "source_map_support___source_map_support_0.5.19.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz";
+        sha1 = "a98b62f86dcaf4f67399648c085291ab9e8fed61";
       };
     }
     {
@@ -11202,19 +11746,19 @@
       };
     }
     {
-      name = "source_map___source_map_0.4.4.tgz";
+      name = "source_map___source_map_0.5.6.tgz";
       path = fetchurl {
-        name = "source_map___source_map_0.4.4.tgz";
-        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz";
-        sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
+        name = "source_map___source_map_0.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz";
+        sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
       };
     }
     {
-      name = "source_map___source_map_0.5.7.tgz";
+      name = "source_map___source_map_0.4.4.tgz";
       path = fetchurl {
-        name = "source_map___source_map_0.5.7.tgz";
-        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz";
-        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+        name = "source_map___source_map_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz";
+        sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
       };
     }
     {
@@ -11234,27 +11778,35 @@
       };
     }
     {
-      name = "spdx_correct___spdx_correct_1.0.2.tgz";
+      name = "spdx_correct___spdx_correct_3.1.1.tgz";
+      path = fetchurl {
+        name = "spdx_correct___spdx_correct_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz";
+        sha1 = "dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9";
+      };
+    }
+    {
+      name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz";
       path = fetchurl {
-        name = "spdx_correct___spdx_correct_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz";
-        sha1 = "4b3073d933ff51f3912f03ac5519498a4150db40";
+        name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz";
+        sha1 = "3f28ce1a77a00372683eade4a433183527a2163d";
       };
     }
     {
-      name = "spdx_expression_parse___spdx_expression_parse_1.0.4.tgz";
+      name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz";
       path = fetchurl {
-        name = "spdx_expression_parse___spdx_expression_parse_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz";
-        sha1 = "9bdf2f20e1f40ed447fbe273266191fced51626c";
+        name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";
+        sha1 = "cf70f50482eefdc98e3ce0a6833e4a53ceeba679";
       };
     }
     {
-      name = "spdx_license_ids___spdx_license_ids_1.2.2.tgz";
+      name = "spdx_license_ids___spdx_license_ids_3.0.6.tgz";
       path = fetchurl {
-        name = "spdx_license_ids___spdx_license_ids_1.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz";
-        sha1 = "c9df7a3424594ade6bd11900d596696dc06bac57";
+        name = "spdx_license_ids___spdx_license_ids_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz";
+        sha1 = "c80757383c28abf7296744998cbc106ae8b854ce";
       };
     }
     {
@@ -11306,19 +11858,11 @@
       };
     }
     {
-      name = "srcset___srcset_2.0.1.tgz";
+      name = "sshpk___sshpk_1.16.1.tgz";
       path = fetchurl {
-        name = "srcset___srcset_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/srcset/-/srcset-2.0.1.tgz";
-        sha1 = "8f842d357487eb797f413d9c309de7a5149df5ac";
-      };
-    }
-    {
-      name = "sshpk___sshpk_1.15.2.tgz";
-      path = fetchurl {
-        name = "sshpk___sshpk_1.15.2.tgz";
-        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.15.2.tgz";
-        sha1 = "c946d6bd9b1a39d0e8635763f5242d6ed6dcb629";
+        name = "sshpk___sshpk_1.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz";
+        sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
       };
     }
     {
@@ -11338,11 +11882,11 @@
       };
     }
     {
-      name = "stack_utils___stack_utils_1.0.2.tgz";
+      name = "stack_utils___stack_utils_2.0.2.tgz";
       path = fetchurl {
-        name = "stack_utils___stack_utils_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz";
-        sha1 = "33eba3897788558bebfc2db059dc158ec36cebb8";
+        name = "stack_utils___stack_utils_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz";
+        sha1 = "5cf48b4557becb4638d0bc4f21d23f5d19586593";
       };
     }
     {
@@ -11442,11 +11986,19 @@
       };
     }
     {
-      name = "string_length___string_length_2.0.0.tgz";
+      name = "string_hash___string_hash_1.1.3.tgz";
+      path = fetchurl {
+        name = "string_hash___string_hash_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz";
+        sha1 = "e8aafc0ac1855b4666929ed7dd1275df5d6c811b";
+      };
+    }
+    {
+      name = "string_length___string_length_4.0.1.tgz";
       path = fetchurl {
-        name = "string_length___string_length_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz";
-        sha1 = "d40dbb686a3ace960c1cffca562bf2c45f8363ed";
+        name = "string_length___string_length_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz";
+        sha1 = "4a973bf31ef77c4edbceadd6af2611996985f8a1";
       };
     }
     {
@@ -11474,11 +12026,11 @@
       };
     }
     {
-      name = "string_width___string_width_4.1.0.tgz";
+      name = "string_width___string_width_4.2.0.tgz";
       path = fetchurl {
-        name = "string_width___string_width_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz";
-        sha1 = "ba846d1daa97c3c596155308063e075ed1c99aff";
+        name = "string_width___string_width_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz";
+        sha1 = "952182c46cc7b2c313d1596e623992bd163b72b5";
       };
     }
     {
@@ -11546,6 +12098,14 @@
       };
     }
     {
+      name = "strip_ansi___strip_ansi_6.0.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz";
+        sha1 = "0b1571dd7669ccd4f3e06e14ef1eed26225ae532";
+      };
+    }
+    {
       name = "strip_bom___strip_bom_2.0.0.tgz";
       path = fetchurl {
         name = "strip_bom___strip_bom_2.0.0.tgz";
@@ -11562,6 +12122,14 @@
       };
     }
     {
+      name = "strip_bom___strip_bom_4.0.0.tgz";
+      path = fetchurl {
+        name = "strip_bom___strip_bom_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz";
+        sha1 = "9c3505c1db45bcedca3d9cf7a16f5c5aa3901878";
+      };
+    }
+    {
       name = "strip_css_comments___strip_css_comments_3.0.0.tgz";
       path = fetchurl {
         name = "strip_css_comments___strip_css_comments_3.0.0.tgz";
@@ -11578,6 +12146,14 @@
       };
     }
     {
+      name = "strip_final_newline___strip_final_newline_2.0.0.tgz";
+      path = fetchurl {
+        name = "strip_final_newline___strip_final_newline_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz";
+        sha1 = "89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad";
+      };
+    }
+    {
       name = "strip_indent___strip_indent_1.0.1.tgz";
       path = fetchurl {
         name = "strip_indent___strip_indent_1.0.1.tgz";
@@ -11682,35 +12258,35 @@
       };
     }
     {
-      name = "supports_color___supports_color_7.1.0.tgz";
+      name = "supports_color___supports_color_7.2.0.tgz";
       path = fetchurl {
-        name = "supports_color___supports_color_7.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz";
-        sha1 = "68e32591df73e25ad1c4b49108a2ec507962bfd1";
+        name = "supports_color___supports_color_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz";
+        sha1 = "1b7dcdcb32b8138801b3e478ba6a51caa89648da";
       };
     }
     {
-      name = "svg_tags___svg_tags_1.0.0.tgz";
+      name = "supports_hyperlinks___supports_hyperlinks_2.1.0.tgz";
       path = fetchurl {
-        name = "svg_tags___svg_tags_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz";
-        sha1 = "58f71cee3bd519b59d4b2a843b6c7de64ac04764";
+        name = "supports_hyperlinks___supports_hyperlinks_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz";
+        sha1 = "f663df252af5f37c5d49bbd7eeefa9e0b9e59e47";
       };
     }
     {
-      name = "svg4everybody___svg4everybody_2.1.9.tgz";
+      name = "svg_tags___svg_tags_1.0.0.tgz";
       path = fetchurl {
-        name = "svg4everybody___svg4everybody_2.1.9.tgz";
-        url  = "https://registry.yarnpkg.com/svg4everybody/-/svg4everybody-2.1.9.tgz";
-        sha1 = "5bd9f6defc133859a044646d4743fabc28db7e2d";
+        name = "svg_tags___svg_tags_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz";
+        sha1 = "58f71cee3bd519b59d4b2a843b6c7de64ac04764";
       };
     }
     {
-      name = "swagger_ui_dist___swagger_ui_dist_3.26.2.tgz";
+      name = "swagger_ui_dist___swagger_ui_dist_3.32.4.tgz";
       path = fetchurl {
-        name = "swagger_ui_dist___swagger_ui_dist_3.26.2.tgz";
-        url  = "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-3.26.2.tgz";
-        sha1 = "22c700906c8911b1c9956da6c3fca371dba6219f";
+        name = "swagger_ui_dist___swagger_ui_dist_3.32.4.tgz";
+        url  = "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-3.32.4.tgz";
+        sha1 = "6fa920a99e38eaaf129580ac158cf730494a2190";
       };
     }
     {
@@ -11722,11 +12298,11 @@
       };
     }
     {
-      name = "symbol_tree___symbol_tree_3.2.2.tgz";
+      name = "symbol_tree___symbol_tree_3.2.4.tgz";
       path = fetchurl {
-        name = "symbol_tree___symbol_tree_3.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz";
-        sha1 = "ae27db38f660a7ae2e1c3b7d1bc290819b8519e6";
+        name = "symbol_tree___symbol_tree_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz";
+        sha1 = "430637d248ba77e078883951fb9aa0eed7c63fa2";
       };
     }
     {
@@ -11770,19 +12346,19 @@
       };
     }
     {
-      name = "tar___tar_4.4.8.tgz";
+      name = "term_size___term_size_2.2.0.tgz";
       path = fetchurl {
-        name = "tar___tar_4.4.8.tgz";
-        url  = "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz";
-        sha1 = "b19eec3fde2a96e64666df9fdb40c5ca1bc3747d";
+        name = "term_size___term_size_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz";
+        sha1 = "1f16adedfe9bdc18800e1776821734086fcc6753";
       };
     }
     {
-      name = "term_size___term_size_1.2.0.tgz";
+      name = "terminal_link___terminal_link_2.1.1.tgz";
       path = fetchurl {
-        name = "term_size___term_size_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz";
-        sha1 = "458b83887f288fc56d6fffbfad262e26638efa69";
+        name = "terminal_link___terminal_link_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz";
+        sha1 = "14a64a27ab3c0df933ea546fba55f2d078edc994";
       };
     }
     {
@@ -11802,11 +12378,11 @@
       };
     }
     {
-      name = "test_exclude___test_exclude_5.0.0.tgz";
+      name = "test_exclude___test_exclude_6.0.0.tgz";
       path = fetchurl {
-        name = "test_exclude___test_exclude_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.0.0.tgz";
-        sha1 = "cdce7cece785e0e829cd5c2b27baf18bc583cfb7";
+        name = "test_exclude___test_exclude_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz";
+        sha1 = "04a8698661d805ea6fa293b6cb9e63ac044ef15e";
       };
     }
     {
@@ -11850,11 +12426,11 @@
       };
     }
     {
-      name = "throat___throat_4.1.0.tgz";
+      name = "throat___throat_5.0.0.tgz";
       path = fetchurl {
-        name = "throat___throat_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz";
-        sha1 = "89037cbc92c56ab18926e6ba4cbb200e15672a6a";
+        name = "throat___throat_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz";
+        sha1 = "c5199235803aad18754a667d659b5e72ce16764b";
       };
     }
     {
@@ -11898,14 +12474,6 @@
       };
     }
     {
-      name = "timed_out___timed_out_4.0.1.tgz";
-      path = fetchurl {
-        name = "timed_out___timed_out_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz";
-        sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f";
-      };
-    }
-    {
       name = "timers_browserify___timers_browserify_2.0.10.tgz";
       path = fetchurl {
         name = "timers_browserify___timers_browserify_2.0.10.tgz";
@@ -12010,6 +12578,14 @@
       };
     }
     {
+      name = "to_readable_stream___to_readable_stream_1.0.0.tgz";
+      path = fetchurl {
+        name = "to_readable_stream___to_readable_stream_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz";
+        sha1 = "ce0aa0c2f3df6adf852efb404a783e77c0475771";
+      };
+    }
+    {
       name = "to_regex_range___to_regex_range_2.1.1.tgz";
       path = fetchurl {
         name = "to_regex_range___to_regex_range_2.1.1.tgz";
@@ -12058,27 +12634,35 @@
       };
     }
     {
-      name = "tough_cookie___tough_cookie_2.4.3.tgz";
+      name = "tough_cookie___tough_cookie_2.5.0.tgz";
       path = fetchurl {
-        name = "tough_cookie___tough_cookie_2.4.3.tgz";
-        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz";
-        sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
+        name = "tough_cookie___tough_cookie_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
+        sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
       };
     }
     {
-      name = "tr46___tr46_1.0.1.tgz";
+      name = "tough_cookie___tough_cookie_3.0.1.tgz";
       path = fetchurl {
-        name = "tr46___tr46_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz";
-        sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09";
+        name = "tough_cookie___tough_cookie_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz";
+        sha1 = "9df4f57e739c26930a018184887f4adb7dca73b2";
       };
     }
     {
-      name = "tributejs___tributejs_4.1.3.tgz";
+      name = "tr46___tr46_2.0.2.tgz";
       path = fetchurl {
-        name = "tributejs___tributejs_4.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/tributejs/-/tributejs-4.1.3.tgz";
-        sha1 = "2e1be7d9a1e403ed4c394f91d859812267e4691c";
+        name = "tr46___tr46_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz";
+        sha1 = "03273586def1595ae08fedb38d7733cee91d2479";
+      };
+    }
+    {
+      name = "tributejs___tributejs_5.1.3.tgz";
+      path = fetchurl {
+        name = "tributejs___tributejs_5.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/tributejs/-/tributejs-5.1.3.tgz";
+        sha1 = "980600fc72865be5868893078b4bfde721129eae";
       };
     }
     {
@@ -12154,14 +12738,6 @@
       };
     }
     {
-      name = "ts_invariant___ts_invariant_0.3.2.tgz";
-      path = fetchurl {
-        name = "ts_invariant___ts_invariant_0.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.3.2.tgz";
-        sha1 = "89a2ffeb70879b777258df1df1c59383c35209b0";
-      };
-    }
-    {
       name = "ts_invariant___ts_invariant_0.4.4.tgz";
       path = fetchurl {
         name = "ts_invariant___ts_invariant_0.4.4.tgz";
@@ -12170,19 +12746,19 @@
       };
     }
     {
-      name = "ts_jest___ts_jest_24.0.0.tgz";
+      name = "ts_jest___ts_jest_26.4.1.tgz";
       path = fetchurl {
-        name = "ts_jest___ts_jest_24.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.0.tgz";
-        sha1 = "3f26bf2ec1fa584863a5a9c29bd8717d549efbf6";
+        name = "ts_jest___ts_jest_26.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.1.tgz";
+        sha1 = "08ec0d3fc2c3a39e4a46eae5610b69fafa6babd0";
       };
     }
     {
-      name = "tslib___tslib_1.11.1.tgz";
+      name = "tslib___tslib_1.13.0.tgz";
       path = fetchurl {
-        name = "tslib___tslib_1.11.1.tgz";
-        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz";
-        sha1 = "eb15d128827fbee2841549e171f45ed338ac7e35";
+        name = "tslib___tslib_1.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz";
+        sha1 = "c881e13cc7015894ed914862d276436fa9a47043";
       };
     }
     {
@@ -12226,6 +12802,14 @@
       };
     }
     {
+      name = "type_detect___type_detect_4.0.8.tgz";
+      path = fetchurl {
+        name = "type_detect___type_detect_4.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz";
+        sha1 = "7646fb5f18871cfbb7749e69bd39a6388eb7450c";
+      };
+    }
+    {
       name = "type_fest___type_fest_0.5.2.tgz";
       path = fetchurl {
         name = "type_fest___type_fest_0.5.2.tgz";
@@ -12234,6 +12818,14 @@
       };
     }
     {
+      name = "type_fest___type_fest_0.6.0.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz";
+        sha1 = "8d2a2370d3df886eb5c90ada1c5bf6188acf838b";
+      };
+    }
+    {
       name = "type_fest___type_fest_0.8.1.tgz";
       path = fetchurl {
         name = "type_fest___type_fest_0.8.1.tgz";
@@ -12250,6 +12842,14 @@
       };
     }
     {
+      name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
+      path = fetchurl {
+        name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
+        sha1 = "a97ee7a9ff42691b9f783ff1bc5112fe3fca9080";
+      };
+    }
+    {
       name = "typedarray___typedarray_0.0.6.tgz";
       path = fetchurl {
         name = "typedarray___typedarray_0.0.6.tgz";
@@ -12258,11 +12858,11 @@
       };
     }
     {
-      name = "typescript___typescript_3.3.4000.tgz";
+      name = "typescript___typescript_3.9.7.tgz";
       path = fetchurl {
-        name = "typescript___typescript_3.3.4000.tgz";
-        url  = "https://registry.yarnpkg.com/typescript/-/typescript-3.3.4000.tgz";
-        sha1 = "76b0f89cfdbf97827e1112d64f283f1151d6adf0";
+        name = "typescript___typescript_3.9.7.tgz";
+        url  = "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz";
+        sha1 = "98d600a5ebdc38f40cb277522f12dc800e9e25fa";
       };
     }
     {
@@ -12322,14 +12922,6 @@
       };
     }
     {
-      name = "unfetch___unfetch_4.1.0.tgz";
-      path = fetchurl {
-        name = "unfetch___unfetch_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/unfetch/-/unfetch-4.1.0.tgz";
-        sha1 = "6ec2dd0de887e58a4dee83a050ded80ffc4137db";
-      };
-    }
-    {
       name = "unherit___unherit_1.1.1.tgz";
       path = fetchurl {
         name = "unherit___unherit_1.1.1.tgz";
@@ -12354,11 +12946,11 @@
       };
     }
     {
-      name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
+      name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz";
       path = fetchurl {
-        name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz";
-        sha1 = "5b4b426e08d13a80365e0d657ac7a6c1ec46a277";
+        name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz";
+        sha1 = "0d91f600eeeb3096aa962b1d6fc88876e64ea531";
       };
     }
     {
@@ -12410,11 +13002,11 @@
       };
     }
     {
-      name = "unique_string___unique_string_1.0.0.tgz";
+      name = "unique_string___unique_string_2.0.0.tgz";
       path = fetchurl {
-        name = "unique_string___unique_string_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz";
-        sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
+        name = "unique_string___unique_string_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz";
+        sha1 = "39c6451f81afb2749de2b233e3f7c5e8843bd89d";
       };
     }
     {
@@ -12490,27 +13082,11 @@
       };
     }
     {
-      name = "unzip_response___unzip_response_2.0.1.tgz";
-      path = fetchurl {
-        name = "unzip_response___unzip_response_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz";
-        sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
-      };
-    }
-    {
-      name = "upath___upath_1.2.0.tgz";
+      name = "update_notifier___update_notifier_4.1.0.tgz";
       path = fetchurl {
-        name = "upath___upath_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz";
-        sha1 = "8f66dbcd55a883acdae4408af8b035a5044c1894";
-      };
-    }
-    {
-      name = "update_notifier___update_notifier_2.5.0.tgz";
-      path = fetchurl {
-        name = "update_notifier___update_notifier_2.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz";
-        sha1 = "d0744593e13f161e406acb1d9408b72cad08aff6";
+        name = "update_notifier___update_notifier_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.0.tgz";
+        sha1 = "4866b98c3bc5b5473c020b1250583628f9a328f3";
       };
     }
     {
@@ -12522,11 +13098,11 @@
       };
     }
     {
-      name = "uri_js___uri_js_4.2.2.tgz";
+      name = "uri_js___uri_js_4.4.0.tgz";
       path = fetchurl {
-        name = "uri_js___uri_js_4.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz";
-        sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0";
+        name = "uri_js___uri_js_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz";
+        sha1 = "aa714261de793e8a82347a7bcc9ce74e86f28602";
       };
     }
     {
@@ -12546,11 +13122,11 @@
       };
     }
     {
-      name = "url_parse_lax___url_parse_lax_1.0.0.tgz";
+      name = "url_parse_lax___url_parse_lax_3.0.0.tgz";
       path = fetchurl {
-        name = "url_parse_lax___url_parse_lax_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz";
-        sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73";
+        name = "url_parse_lax___url_parse_lax_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
+        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
       };
     }
     {
@@ -12610,14 +13186,6 @@
       };
     }
     {
-      name = "util.promisify___util.promisify_1.0.0.tgz";
-      path = fetchurl {
-        name = "util.promisify___util.promisify_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz";
-        sha1 = "440f7165a459c9a16dc145eb8e72f35687097030";
-      };
-    }
-    {
       name = "util___util_0.10.3.tgz";
       path = fetchurl {
         name = "util___util_0.10.3.tgz";
@@ -12650,6 +13218,30 @@
       };
     }
     {
+      name = "uuid___uuid_8.1.0.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-8.1.0.tgz";
+        sha1 = "6f1536eb43249f473abc6bd58ff983da1ca30d8d";
+      };
+    }
+    {
+      name = "uuid___uuid_3.4.0.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz";
+        sha1 = "b23e4358afa8a202fe7a100af1f5f883f02007ee";
+      };
+    }
+    {
+      name = "uuid___uuid_8.3.1.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_8.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz";
+        sha1 = "2ba2e6ca000da60fce5a196954ab241131e05a31";
+      };
+    }
+    {
       name = "v8_compile_cache___v8_compile_cache_2.0.3.tgz";
       path = fetchurl {
         name = "v8_compile_cache___v8_compile_cache_2.0.3.tgz";
@@ -12658,11 +13250,19 @@
       };
     }
     {
-      name = "validate_npm_package_license___validate_npm_package_license_3.0.1.tgz";
+      name = "v8_to_istanbul___v8_to_istanbul_5.0.1.tgz";
+      path = fetchurl {
+        name = "v8_to_istanbul___v8_to_istanbul_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz";
+        sha1 = "0608f5b49a481458625edb058488607f25498ba5";
+      };
+    }
+    {
+      name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
       path = fetchurl {
-        name = "validate_npm_package_license___validate_npm_package_license_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz";
-        sha1 = "2804babe712ad3379459acfbe24746ab2c303fbc";
+        name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+        sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a";
       };
     }
     {
@@ -12730,6 +13330,102 @@
       };
     }
     {
+      name = "vscode_json_languageservice___vscode_json_languageservice_3.9.1.tgz";
+      path = fetchurl {
+        name = "vscode_json_languageservice___vscode_json_languageservice_3.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-3.9.1.tgz";
+        sha1 = "f72b581f8cd2bd9b47445ccf8b0ddcde6aba7483";
+      };
+    }
+    {
+      name = "vscode_jsonrpc___vscode_jsonrpc_4.0.0.tgz";
+      path = fetchurl {
+        name = "vscode_jsonrpc___vscode_jsonrpc_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz";
+        sha1 = "a7bf74ef3254d0a0c272fab15c82128e378b3be9";
+      };
+    }
+    {
+      name = "vscode_languageserver_protocol___vscode_languageserver_protocol_3.14.1.tgz";
+      path = fetchurl {
+        name = "vscode_languageserver_protocol___vscode_languageserver_protocol_3.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz";
+        sha1 = "b8aab6afae2849c84a8983d39a1cf742417afe2f";
+      };
+    }
+    {
+      name = "vscode_languageserver_textdocument___vscode_languageserver_textdocument_1.0.1.tgz";
+      path = fetchurl {
+        name = "vscode_languageserver_textdocument___vscode_languageserver_textdocument_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz";
+        sha1 = "178168e87efad6171b372add1dea34f53e5d330f";
+      };
+    }
+    {
+      name = "vscode_languageserver_types___vscode_languageserver_types_3.14.0.tgz";
+      path = fetchurl {
+        name = "vscode_languageserver_types___vscode_languageserver_types_3.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz";
+        sha1 = "d3b5952246d30e5241592b6dde8280e03942e743";
+      };
+    }
+    {
+      name = "vscode_languageserver_types___vscode_languageserver_types_3.16.0_next.2.tgz";
+      path = fetchurl {
+        name = "vscode_languageserver_types___vscode_languageserver_types_3.16.0_next.2.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.2.tgz";
+        sha1 = "940bd15c992295a65eae8ab6b8568a1e8daa3083";
+      };
+    }
+    {
+      name = "vscode_languageserver_types___vscode_languageserver_types_3.15.1.tgz";
+      path = fetchurl {
+        name = "vscode_languageserver_types___vscode_languageserver_types_3.15.1.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz";
+        sha1 = "17be71d78d2f6236d414f0001ce1ef4d23e6b6de";
+      };
+    }
+    {
+      name = "vscode_languageserver___vscode_languageserver_5.2.1.tgz";
+      path = fetchurl {
+        name = "vscode_languageserver___vscode_languageserver_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-5.2.1.tgz";
+        sha1 = "0d2feddd33f92aadf5da32450df498d52f6f14eb";
+      };
+    }
+    {
+      name = "vscode_nls___vscode_nls_4.1.2.tgz";
+      path = fetchurl {
+        name = "vscode_nls___vscode_nls_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-4.1.2.tgz";
+        sha1 = "ca8bf8bb82a0987b32801f9fddfdd2fb9fd3c167";
+      };
+    }
+    {
+      name = "vscode_nls___vscode_nls_5.0.0.tgz";
+      path = fetchurl {
+        name = "vscode_nls___vscode_nls_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-5.0.0.tgz";
+        sha1 = "99f0da0bd9ea7cda44e565a74c54b1f2bc257840";
+      };
+    }
+    {
+      name = "vscode_uri___vscode_uri_1.0.8.tgz";
+      path = fetchurl {
+        name = "vscode_uri___vscode_uri_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-1.0.8.tgz";
+        sha1 = "9769aaececae4026fb6e22359cb38946580ded59";
+      };
+    }
+    {
+      name = "vscode_uri___vscode_uri_2.1.2.tgz";
+      path = fetchurl {
+        name = "vscode_uri___vscode_uri_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-2.1.2.tgz";
+        sha1 = "c8d40de93eb57af31f3c715dd650e2ca2c096f1c";
+      };
+    }
+    {
       name = "vue_apollo___vue_apollo_3.0.3.tgz";
       path = fetchurl {
         name = "vue_apollo___vue_apollo_3.0.3.tgz";
@@ -12762,27 +13458,27 @@
       };
     }
     {
-      name = "vue_jest___vue_jest_4.0.0_beta.2.tgz";
+      name = "vue_jest___vue_jest_4.0.0_rc.0.tgz";
       path = fetchurl {
-        name = "vue_jest___vue_jest_4.0.0_beta.2.tgz";
-        url  = "https://registry.yarnpkg.com/vue-jest/-/vue-jest-4.0.0-beta.2.tgz";
-        sha1 = "f2120ea9d24224aad3a100c2010b0760d47ee6fe";
+        name = "vue_jest___vue_jest_4.0.0_rc.0.tgz";
+        url  = "https://registry.yarnpkg.com/vue-jest/-/vue-jest-4.0.0-rc.0.tgz";
+        sha1 = "0ce263c7f923441d0eeb99841620e8e9470336f4";
       };
     }
     {
-      name = "vue_loader___vue_loader_15.9.0.tgz";
+      name = "vue_loader___vue_loader_15.9.3.tgz";
       path = fetchurl {
-        name = "vue_loader___vue_loader_15.9.0.tgz";
-        url  = "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.0.tgz";
-        sha1 = "5d4b0378a4606188fc83e587ed23c94bc3a10998";
+        name = "vue_loader___vue_loader_15.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.3.tgz";
+        sha1 = "0de35d9e555d3ed53969516cac5ce25531299dda";
       };
     }
     {
-      name = "vue_router___vue_router_3.0.2.tgz";
+      name = "vue_router___vue_router_3.4.5.tgz";
       path = fetchurl {
-        name = "vue_router___vue_router_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/vue-router/-/vue-router-3.0.2.tgz";
-        sha1 = "dedc67afe6c4e2bc25682c8b1c2a8c0d7c7e56be";
+        name = "vue_router___vue_router_3.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/vue-router/-/vue-router-3.4.5.tgz";
+        sha1 = "d396ec037b35931bdd1e9b7edd86f9788dc15175";
       };
     }
     {
@@ -12802,11 +13498,11 @@
       };
     }
     {
-      name = "vue_template_compiler___vue_template_compiler_2.6.10.tgz";
+      name = "vue_template_compiler___vue_template_compiler_2.6.12.tgz";
       path = fetchurl {
-        name = "vue_template_compiler___vue_template_compiler_2.6.10.tgz";
-        url  = "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz";
-        sha1 = "323b4f3495f04faa3503337a82f5d6507799c9cc";
+        name = "vue_template_compiler___vue_template_compiler_2.6.12.tgz";
+        url  = "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz";
+        sha1 = "947ed7196744c8a5285ebe1233fe960437fcc57e";
       };
     }
     {
@@ -12826,11 +13522,11 @@
       };
     }
     {
-      name = "vue___vue_2.6.10.tgz";
+      name = "vue___vue_2.6.12.tgz";
       path = fetchurl {
-        name = "vue___vue_2.6.10.tgz";
-        url  = "https://registry.yarnpkg.com/vue/-/vue-2.6.10.tgz";
-        sha1 = "a72b1a42a4d82a721ea438d1b6bf55e66195c637";
+        name = "vue___vue_2.6.12.tgz";
+        url  = "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz";
+        sha1 = "f5ebd4fa6bd2869403e29a896aed4904456c9123";
       };
     }
     {
@@ -12842,19 +13538,19 @@
       };
     }
     {
-      name = "vuex___vuex_3.1.0.tgz";
+      name = "vuex___vuex_3.5.1.tgz";
       path = fetchurl {
-        name = "vuex___vuex_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/vuex/-/vuex-3.1.0.tgz";
-        sha1 = "634b81515cf0cfe976bd1ffe9601755e51f843b9";
+        name = "vuex___vuex_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/vuex/-/vuex-3.5.1.tgz";
+        sha1 = "f1b8dcea649bc25254cf4f4358081dbf5da18b3d";
       };
     }
     {
-      name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
+      name = "w3c_hr_time___w3c_hr_time_1.0.2.tgz";
       path = fetchurl {
-        name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz";
-        sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045";
+        name = "w3c_hr_time___w3c_hr_time_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz";
+        sha1 = "0a89cdf5cc15822df9c360543676963e0cc308cd";
       };
     }
     {
@@ -12866,6 +13562,14 @@
       };
     }
     {
+      name = "w3c_xmlserializer___w3c_xmlserializer_2.0.0.tgz";
+      path = fetchurl {
+        name = "w3c_xmlserializer___w3c_xmlserializer_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz";
+        sha1 = "3e7104a05b75146cc60f564380b7f683acf1020a";
+      };
+    }
+    {
       name = "walker___walker_1.0.7.tgz";
       path = fetchurl {
         name = "walker___walker_1.0.7.tgz";
@@ -12874,11 +13578,19 @@
       };
     }
     {
-      name = "watchpack___watchpack_1.6.0.tgz";
+      name = "watchpack_chokidar2___watchpack_chokidar2_2.0.0.tgz";
       path = fetchurl {
-        name = "watchpack___watchpack_1.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz";
-        sha1 = "4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00";
+        name = "watchpack_chokidar2___watchpack_chokidar2_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz";
+        sha1 = "9948a1866cbbd6cb824dea13a7ed691f6c8ddff0";
+      };
+    }
+    {
+      name = "watchpack___watchpack_1.7.2.tgz";
+      path = fetchurl {
+        name = "watchpack___watchpack_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz";
+        sha1 = "c02e4d4d49913c3e7e122c3325365af9d331e9aa";
       };
     }
     {
@@ -12890,11 +13602,27 @@
       };
     }
     {
-      name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
+      name = "web_vitals___web_vitals_0.2.4.tgz";
       path = fetchurl {
-        name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
-        sha1 = "a855980b1f0b6b359ba1d5d9fb39ae941faa63ad";
+        name = "web_vitals___web_vitals_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/web-vitals/-/web-vitals-0.2.4.tgz";
+        sha1 = "ec3df43c834a207fd7cdefd732b2987896e08511";
+      };
+    }
+    {
+      name = "webidl_conversions___webidl_conversions_5.0.0.tgz";
+      path = fetchurl {
+        name = "webidl_conversions___webidl_conversions_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz";
+        sha1 = "ae59c8a00b121543a2acc65c0434f57b0fc11aff";
+      };
+    }
+    {
+      name = "webidl_conversions___webidl_conversions_6.1.0.tgz";
+      path = fetchurl {
+        name = "webidl_conversions___webidl_conversions_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz";
+        sha1 = "9111b4d7ea80acd40f5270d666621afa78b69514";
       };
     }
     {
@@ -12994,27 +13722,11 @@
       };
     }
     {
-      name = "whatwg_url___whatwg_url_6.5.0.tgz";
+      name = "whatwg_url___whatwg_url_8.1.0.tgz";
       path = fetchurl {
-        name = "whatwg_url___whatwg_url_6.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz";
-        sha1 = "f2df02bff176fd65070df74ad5ccbb5a199965a8";
-      };
-    }
-    {
-      name = "whatwg_url___whatwg_url_7.0.0.tgz";
-      path = fetchurl {
-        name = "whatwg_url___whatwg_url_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz";
-        sha1 = "fde926fa54a599f3adf82dff25a9f7be02dc6edd";
-      };
-    }
-    {
-      name = "which_module___which_module_1.0.0.tgz";
-      path = fetchurl {
-        name = "which_module___which_module_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz";
-        sha1 = "bba63ca861948994ff307736089e3b96026c2a4f";
+        name = "whatwg_url___whatwg_url_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.1.0.tgz";
+        sha1 = "c628acdcf45b82274ce7281ee31dd3c839791771";
       };
     }
     {
@@ -13034,6 +13746,14 @@
       };
     }
     {
+      name = "which___which_2.0.2.tgz";
+      path = fetchurl {
+        name = "which___which_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz";
+        sha1 = "7c6a8dd0a636a0327e10b59c9286eee93f3f51b1";
+      };
+    }
+    {
       name = "wide_align___wide_align_1.1.3.tgz";
       path = fetchurl {
         name = "wide_align___wide_align_1.1.3.tgz";
@@ -13042,11 +13762,11 @@
       };
     }
     {
-      name = "widest_line___widest_line_2.0.0.tgz";
+      name = "widest_line___widest_line_3.1.0.tgz";
       path = fetchurl {
-        name = "widest_line___widest_line_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.0.tgz";
-        sha1 = "0142a4e8a243f8882c0233aa0e0281aa76152273";
+        name = "widest_line___widest_line_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz";
+        sha1 = "8292333bbf66cb45ff0de1603b136b7ae1496eca";
       };
     }
     {
@@ -13098,6 +13818,14 @@
       };
     }
     {
+      name = "wrap_ansi___wrap_ansi_6.2.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz";
+        sha1 = "e9393ba07102e6c91a3b221478f0257cd2856e53";
+      };
+    }
+    {
       name = "wrappy___wrappy_1.0.2.tgz";
       path = fetchurl {
         name = "wrappy___wrappy_1.0.2.tgz";
@@ -13106,11 +13834,11 @@
       };
     }
     {
-      name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
+      name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
       path = fetchurl {
-        name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz";
-        sha1 = "d0b05463c188ae804396fd5ab2a370062af87529";
+        name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz";
+        sha1 = "56bd5c5a5c70481cd19c571bd39ab965a5de56e8";
       };
     }
     {
@@ -13122,14 +13850,6 @@
       };
     }
     {
-      name = "ws___ws_5.2.2.tgz";
-      path = fetchurl {
-        name = "ws___ws_5.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz";
-        sha1 = "dffef14866b8e8dc9133582514d1befaf96e980f";
-      };
-    }
-    {
       name = "ws___ws_6.2.1.tgz";
       path = fetchurl {
         name = "ws___ws_6.2.1.tgz";
@@ -13138,6 +13858,14 @@
       };
     }
     {
+      name = "ws___ws_7.3.0.tgz";
+      path = fetchurl {
+        name = "ws___ws_7.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz";
+        sha1 = "4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd";
+      };
+    }
+    {
       name = "ws___ws_3.3.3.tgz";
       path = fetchurl {
         name = "ws___ws_3.3.3.tgz";
@@ -13154,11 +13882,19 @@
       };
     }
     {
-      name = "xdg_basedir___xdg_basedir_3.0.0.tgz";
+      name = "xdg_basedir___xdg_basedir_4.0.0.tgz";
+      path = fetchurl {
+        name = "xdg_basedir___xdg_basedir_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz";
+        sha1 = "4bc8d9984403696225ef83a1573cbbcb4e79db13";
+      };
+    }
+    {
+      name = "xhr_mock___xhr_mock_2.5.1.tgz";
       path = fetchurl {
-        name = "xdg_basedir___xdg_basedir_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz";
-        sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
+        name = "xhr_mock___xhr_mock_2.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/xhr-mock/-/xhr-mock-2.5.1.tgz";
+        sha1 = "c591498a8269cc1ce5fefac20d590357affd348b";
       };
     }
     {
@@ -13202,6 +13938,14 @@
       };
     }
     {
+      name = "xmlchars___xmlchars_2.2.0.tgz";
+      path = fetchurl {
+        name = "xmlchars___xmlchars_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz";
+        sha1 = "060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb";
+      };
+    }
+    {
       name = "xmlcreate___xmlcreate_1.0.2.tgz";
       path = fetchurl {
         name = "xmlcreate___xmlcreate_1.0.2.tgz";
@@ -13234,14 +13978,6 @@
       };
     }
     {
-      name = "y18n___y18n_3.2.1.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_4.0.0.tgz";
       path = fetchurl {
         name = "y18n___y18n_4.0.0.tgz";
@@ -13274,6 +14010,30 @@
       };
     }
     {
+      name = "yaml_ast_parser_custom_tags___yaml_ast_parser_custom_tags_0.0.43.tgz";
+      path = fetchurl {
+        name = "yaml_ast_parser_custom_tags___yaml_ast_parser_custom_tags_0.0.43.tgz";
+        url  = "https://registry.yarnpkg.com/yaml-ast-parser-custom-tags/-/yaml-ast-parser-custom-tags-0.0.43.tgz";
+        sha1 = "46968145ce4e24cb03c3312057f0f141b93a7d02";
+      };
+    }
+    {
+      name = "yaml_language_server___yaml_language_server_0.11.1.tgz";
+      path = fetchurl {
+        name = "yaml_language_server___yaml_language_server_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/yaml-language-server/-/yaml-language-server-0.11.1.tgz";
+        sha1 = "4ddc72eb9a6dd7dc41f31af2a8f5c72cce456cc9";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_20.2.1.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_20.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.1.tgz";
+        sha1 = "28f3773c546cdd8a69ddae68116b48a5da328e77";
+      };
+    }
+    {
       name = "yargs_parser___yargs_parser_10.1.0.tgz";
       path = fetchurl {
         name = "yargs_parser___yargs_parser_10.1.0.tgz";
@@ -13290,19 +14050,19 @@
       };
     }
     {
-      name = "yargs_parser___yargs_parser_13.1.1.tgz";
+      name = "yargs_parser___yargs_parser_13.1.2.tgz";
       path = fetchurl {
-        name = "yargs_parser___yargs_parser_13.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz";
-        sha1 = "d26058532aa06d365fe091f6a1fc06b2f7e5eca0";
+        name = "yargs_parser___yargs_parser_13.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz";
+        sha1 = "130f09702ebaeef2650d54ce6e3e5706f7a4fb38";
       };
     }
     {
-      name = "yargs_parser___yargs_parser_5.0.0.tgz";
+      name = "yargs_parser___yargs_parser_18.1.3.tgz";
       path = fetchurl {
-        name = "yargs_parser___yargs_parser_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz";
-        sha1 = "275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a";
+        name = "yargs_parser___yargs_parser_18.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz";
+        sha1 = "be68c4975c6b2abf469236b0c870362fab09a7b0";
       };
     }
     {
@@ -13322,11 +14082,19 @@
       };
     }
     {
-      name = "yargs___yargs_7.1.0.tgz";
+      name = "yargs___yargs_13.3.2.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_13.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz";
+        sha1 = "ad7ffefec1aa59565ac915f82dccb38a9c31a2dd";
+      };
+    }
+    {
+      name = "yargs___yargs_15.4.1.tgz";
       path = fetchurl {
-        name = "yargs___yargs_7.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz";
-        sha1 = "6ba318eb16961727f5d284f8ea003e8d6154d0c8";
+        name = "yargs___yargs_15.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz";
+        sha1 = "0d87a16de01aee9d8bec2bfbf74f67851730f4f8";
       };
     }
     {
@@ -13354,11 +14122,11 @@
       };
     }
     {
-      name = "zen_observable_ts___zen_observable_ts_0.8.18.tgz";
+      name = "zen_observable_ts___zen_observable_ts_0.8.21.tgz";
       path = fetchurl {
-        name = "zen_observable_ts___zen_observable_ts_0.8.18.tgz";
-        url  = "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.18.tgz";
-        sha1 = "ade44b1060cc4a800627856ec10b9c67f5f639c8";
+        name = "zen_observable_ts___zen_observable_ts_0.8.21.tgz";
+        url  = "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz";
+        sha1 = "85d0031fbbde1eba3cd07d3ba90da241215f421d";
       };
     }
     {
diff --git a/pkgs/applications/version-management/gitoxide/default.nix b/pkgs/applications/version-management/gitoxide/default.nix
index b6b9c7e5660f9..0b9d29bd52511 100644
--- a/pkgs/applications/version-management/gitoxide/default.nix
+++ b/pkgs/applications/version-management/gitoxide/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitoxide";
-  version = "0.4.0";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "Byron";
     repo = "gitoxide";
     rev = "v${version}";
-    sha256 = "0sx3z9l9n9qq2zj91pgm7znhxjsj59zvwms3aivfglhawwj3iwyj";
+    sha256 = "0ap5ih4s99c4ah95mcafqsvy4yhfqab6vg1c6ydzfa4czczgcxff";
   };
 
-  cargoSha256 = "0ykkh86p4csi0v3pb2idjk94w9m32a34a5qrvna7ml5yz84m8hva";
+  cargoSha256 = "0vj7g2jhvd5d37rcq02hval9axpciwyqyd10z2a0bsvw0r4bh943";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ];
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 07af9341646aa..5068dc15f48ab 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -37,6 +37,7 @@ python3.pkgs.buildPythonApplication rec {
     desktop-file-utils
     gobject-introspection
     wrapGAppsHook
+    gtk3 # for gtk-update-icon-cache
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index c7a1c41498700..e0400fd46c654 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -4,26 +4,24 @@
 }:
 
 let
-  inherit (python3Packages) docutils dulwich python;
+  inherit (python3Packages) docutils python;
 
 in python3Packages.buildPythonApplication rec {
   pname = "mercurial";
-  version = "5.4.2";
+  version = "5.6";
 
   src = fetchurl {
     url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-    sha256 = "0ls8nwx3nz26pibphw54fg8pxqb365zmmqx95lqrxqqyf3d972sw";
+    sha256 = "1hk2y30zzdnlv8f71kabvh0xi9c7qhp28ksh20vpd0r712sv79yz";
   };
 
   format = "other";
 
-  inherit python; # pass it so that the same version can be used in hg2git
+  passthru = { inherit python; }; # pass it so that the same version can be used in hg2git
 
   buildInputs = [ makeWrapper docutils unzip ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices ];
 
-  propagatedBuildInputs = [ dulwich ];
-
   makeFlags = [ "PREFIX=$(out)" ];
 
   postInstall = (stdenv.lib.optionalString guiSupport ''
diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix
index 07f9b442a74a0..3bea6d8933415 100644
--- a/pkgs/applications/version-management/nbstripout/default.nix
+++ b/pkgs/applications/version-management/nbstripout/default.nix
@@ -2,7 +2,7 @@
 
 with python.pkgs;
 buildPythonApplication rec {
-  version = "0.3.7";
+  version = "0.3.9";
   pname = "nbstripout";
 
   # Mercurial should be added as a build input but because it's a Python
@@ -14,7 +14,7 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13w2zhw8vrfv6637bw5ygygj1dky55fvvncz11hq0abwkkzb3wb2";
+    sha256 = "b46dddbf78b8b137176bc72729124e378242ef9ce93af63f6e0a8c4850c972e7";
   };
 
   # for some reason, darwin uses /bin/sh echo native instead of echo binary, so
diff --git a/pkgs/applications/version-management/p4/default.nix b/pkgs/applications/version-management/p4/default.nix
index 3a397b5bf87c9..fd369601c6c4b 100644
--- a/pkgs/applications/version-management/p4/default.nix
+++ b/pkgs/applications/version-management/p4/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "p4";
-  version = "2020.1.1991450";
+  version = "2020.1.2007551";
 
   src = fetchurl {
     url = "https://cdist2.perforce.com/perforce/r20.1/bin.linux26x86_64/helix-core-server.tgz";
-    sha256 = "0nhcxhwx3scx6vf7i2bc8j0b1l57lmq9bfy1cfbfbqasd3an721k";
+    sha256 = "0ly9b838zrpp6841fzapizdd3xmria55bwfrh2j29qwxiwzqj80y";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index b17e759c6573c..e90f47e51f312 100644
--- a/pkgs/applications/version-management/pijul/default.nix
+++ b/pkgs/applications/version-management/pijul/default.nix
@@ -1,64 +1,44 @@
-{ stdenv, fetchurl, rustPlatform, darwin, openssl, libsodium, nettle, clang, libclang, pkgconfig }:
-
-let
-  # nettle-sys=1.0.1 requires the des-compat.h header, but it was removed in
-  # nettle 3.5.  See https://nest.pijul.com/pijul_org/pijul/discussions/416
-  # Remove with the next release
-  nettle_34 = nettle.overrideAttrs (_oldAttrs: rec {
-    version = "3.4.1";
-    src = fetchurl {
-      url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
-      sha256 = "1bcji95n1iz9p9vsgdgr26v6s7zhpsxfbjjwpqcihpfd6lawyhgr";
-    };
-  });
-in rustPlatform.buildRustPackage rec {
+{ stdenv
+, fetchCrate
+, rustPlatform
+, pkg-config
+, clang
+, libclang
+, libsodium
+, openssl
+, xxHash
+, zstd
+, darwin
+, gitImportSupport ? true
+, libgit2 ? null
+}:
+
+rustPlatform.buildRustPackage rec {
   pname = "pijul";
-  version = "0.12.0";
+  version = "1.0.0-alpha.8";
 
-  src = fetchurl {
-    url = "https://pijul.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "1rm787kkh3ya8ix0rjvj7sbrg9armm0rnpkga6gjmsbg5bx20y4q";
+  src = fetchCrate {
+    inherit version pname;
+    sha256 = "01wag3ckqsa7r6zc7cla428w8hr49n2ybp31s42dqmsbak3xbc14";
   };
 
-  cargoSha256 = "0rf8qmgzgyl718yznbskzafyg963ygibjmqncd93zdandgl9nj5v";
-
-  # N.B. The cargo depfile checker expects us to have unpacked the src tarball
-  # into the standard dirname "source".
-  cargoDepsHook = ''
-    ln -s ${pname}-${version} source
-  '';
-
-  # TODO: Delete once pijul fixes upstream:
-  # https://nest.pijul.com/pijul_org/pijul/discussions/447
-  postPatch = ''
-    pushd ../${pname}-${version}-vendor.tar.gz/thrussh/
-    patch -p1 < ${./thrussh-build-fix.patch}
-    substituteInPlace .cargo-checksum.json --replace \
-      9696ed2422a483cd8de48ac241178a0441be6636909c76174c536b8b1cba9d45 \
-      a199f2bba520d56e11607b77be4dde0cfae576c90badb9fbd39af4784e8120d1
-    popd
-  '';
-
-  nativeBuildInputs = [ pkgconfig clang ];
-
-  postInstall = ''
-    mkdir -p $out/share/{bash-completion/completions,zsh/site-functions,fish/vendor_completions.d}
-    $out/bin/pijul generate-completions --bash > $out/share/bash-completion/completions/pijul
-    $out/bin/pijul generate-completions --zsh > $out/share/zsh/site-functions/_pijul
-    $out/bin/pijul generate-completions --fish > $out/share/fish/vendor_completions.d/pijul.fish
-  '';
-
-  LIBCLANG_PATH = libclang + "/lib";
+  cargoSha256 = "1hh4xmkhbbbkag3v25vh6zpn0r4fmipxmkcr8ahgrxf71dvyxj8x";
 
-  buildInputs = [ openssl libsodium nettle_34 libclang ] ++ stdenv.lib.optionals stdenv.isDarwin
-    (with darwin.apple_sdk.frameworks; [ CoreServices Security ]);
+  cargoBuildFlags = stdenv.lib.optional gitImportSupport "--features=git";
+  LIBCLANG_PATH = "${libclang}/lib";
 
   doCheck = false;
+  nativeBuildInputs = [ pkg-config clang ];
+  buildInputs = [ openssl libclang libsodium xxHash zstd ]
+    ++ (stdenv.lib.optionals gitImportSupport [ libgit2 ])
+    ++ (stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+      CoreServices Security SystemConfiguration
+    ]));
 
   meta = with stdenv.lib; {
     description = "A distributed version control system";
     homepage = "https://pijul.org";
     license = with licenses; [ gpl2Plus ];
-    maintainers = [ maintainers.gal_bolle ];
+    maintainers = with maintainers; [ gal_bolle dywedir ];
   };
 }
diff --git a/pkgs/applications/version-management/pijul/thrussh-build-fix.patch b/pkgs/applications/version-management/pijul/thrussh-build-fix.patch
deleted file mode 100644
index 3989639620bfd..0000000000000
--- a/pkgs/applications/version-management/pijul/thrussh-build-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/client/connection.rs	2020-02-04 12:48:43.845299096 +0100
-+++ b/src/client/connection.rs	2020-02-04 12:50:00.140329310 +0100
-@@ -546,8 +546,8 @@
-                 &[msg::NEWKEYS],
-                 &mut session.0.write_buffer,
-             );
--            session.0.kex = Some(Kex::NewKeys(newkeys));
-             newkeys.sent = true;
-+            session.0.kex = Some(Kex::NewKeys(newkeys));
-         }
-         Ok(())
-     }
diff --git a/pkgs/applications/version-management/sparkleshare/default.nix b/pkgs/applications/version-management/sparkleshare/default.nix
index ef61d518a1ec0..8f77fdbe54c8a 100644
--- a/pkgs/applications/version-management/sparkleshare/default.nix
+++ b/pkgs/applications/version-management/sparkleshare/default.nix
@@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Share and collaborate by syncing with any Git repository instantly. Linux, macOS, and Windows.";
+    description = "Share and collaborate by syncing with any Git repository instantly. Linux, macOS, and Windows";
     homepage = "https://sparkleshare.org";
     license = lib.licenses.gpl3;
     maintainers = with lib.maintainers; [ kevincox ];
diff --git a/pkgs/applications/version-management/sublime-merge/default.nix b/pkgs/applications/version-management/sublime-merge/default.nix
index d5713ea234511..7b01ab21f4959 100644
--- a/pkgs/applications/version-management/sublime-merge/default.nix
+++ b/pkgs/applications/version-management/sublime-merge/default.nix
@@ -4,13 +4,13 @@ let
   common = opts: callPackage (import ./common.nix opts);
 in {
   sublime-merge = common {
-    buildVersion = "2032";
-    sha256 = "b782c768383893ba7803c2cffd428b09bec46be8a65e61a5f17964bdcc2aaf7c";
+    buildVersion = "2039";
+    sha256 = "0l82408jli7g6nc267bnnnz0zz015lvpwva5fxj53mval32ii4i8";
   } {};
 
   sublime-merge-dev = common {
-    buildVersion = "2033";
-    sha256 = "ab937a393eb6ae776a81b30ec5a589ae37763885ba8a91680d5c43e19a01a8fa";
+    buildVersion = "2037";
+    sha256 = "1s0g18l2msmnn6w7f126andh2dygm9l94fxxhsi64v74mkawqg82";
     dev = true;
   } {};
 }
diff --git a/pkgs/applications/video/bombono/default.nix b/pkgs/applications/video/bombono/default.nix
index 2ae3722fff2e5..05ba5ef19be7b 100644
--- a/pkgs/applications/video/bombono/default.nix
+++ b/pkgs/applications/video/bombono/default.nix
@@ -1,54 +1,80 @@
-{ stdenv, fetchFromGitHub, wrapGAppsHook, gtk2, boost, gtkmm2, scons,
-mjpegtools, libdvdread, dvdauthor, gettext, dvdplusrwtools, libxmlxx, ffmpeg_3,
-enca, pkgconfig, fetchpatch }:
-
-let fetchPatchFromAur = {name, sha256}:
-fetchpatch {
-  inherit name sha256;
-  url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=e6cc6bc80c672aaa1a2260abfe8823da299a192c";
-}; in
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, fetchpatch
+, scons
+, boost
+, dvdauthor
+, dvdplusrwtools
+, enca
+, ffmpeg_3
+, gettext
+, gtk2
+, gtkmm2
+, libdvdread
+, libxmlxx
+, mjpegtools
+, wrapGAppsHook
+}:
+
+let
+  fetchPatchFromAur = {name, sha256}:
+    fetchpatch {
+      inherit name sha256;
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=e6cc6bc80c672aaa1a2260abfe8823da299a192c";
+    };
+in
 stdenv.mkDerivation rec {
   pname = "bombono";
   version = "1.2.4";
+
   src = fetchFromGitHub {
-    owner = "muravjov";
+    owner = "bombono-dvd";
     repo = "bombono-dvd";
     rev = version;
-    sha256 = "1lz1vik6abn1i1pvxhm55c9g47nxxv755wb2ijszwswwrwgvq5b9";
+    sha256 = "sha256-aRW8H8+ca/61jGLxUs7u3R7yEiulwr5viMEuZWbc4dM=";
   };
 
   patches = [
     (fetchpatch {
       name = "bombono-dvd-1.2.4-scons3.patch";
       url = "https://svnweb.mageia.org/packages/cauldron/bombono-dvd/current/SOURCES/bombono-dvd-1.2.4-scons-python3.patch?revision=1447925&view=co&pathrev=1484457";
-      sha256 = "081116d0if6s2r1rgqfr1n5gl3kpvzk01pf4v2k7gg2rnid83qp4";
+      sha256 = "sha256-5OKBWrRZvHem2MTdAObfdw76ig3Z4ZdDFtq4CJoJISA=";
     })
   ] ++ (map fetchPatchFromAur [
-    {name="fix_ffmpeg_codecid.patch";         sha256="1asfc0lqzk4gjssrvjmsi1xr53ygnsx2sh7c8yzp5r3j2bagxhp7";}
-    {name="fix_ptr2bool_cast.patch";          sha256="0iqzrmbg38ikh4x9cmx0v0rnm7a9lcq0kd8sh1z9yfmnz71qqahg";}
-    {name="fix_c++11_literal_warnings.patch"; sha256="1zbf12i77p0j0090pz5lzg4a7kyahahzqssybv7vi0xikwvw57w9";}
-    {name="autoptr2uniqueptr.patch";          sha256="0a3wvwfplmqvi8fnj929y85z3h1iq7baaz2d4v08h1q2wbmakqdm";}
-    {name="fix_deprecated_boost_api.patch";   sha256="184gdz3w95ihhsd8xscpwvq77xd4il47kvmv6wslax77xyw50gm8";}
-    {name="fix_throw_specifications.patch";   sha256="1f5gi3qwm843hsxvijq7sjy0s62xm7rnr1vdp7f242fi0ldq6c1n";}
-    {name="fix_operator_ambiguity.patch";     sha256="0r4scsbsqfg6wgzsbfxxpckamvgyrida0n1ypg1klx24pk5dc7n7";}
-    {name="fix_ffmpeg30.patch";               sha256="1irva7a9bpbzs60ga8ypa3la9y84i5rz20jnd721qmfqp2yip8dw";}
+    {name="fix_ffmpeg_codecid.patch";         sha256="sha256-58L+1BJy5HK/R+xALbq2z4+Se4i6yp21lo/MjylgTqs=";}
+    {name="fix_ptr2bool_cast.patch";          sha256="sha256-DyqMw/m2Op9+gBq1CTCjSZ1qM9igV5Y6gTOi8VbNH0c=";}
+    {name="fix_c++11_literal_warnings.patch"; sha256="sha256-iZ/CN5+xg7jPXl5r/KGCys+jyPu0/AsSABLcc6IIbv0=";}
+    {name="autoptr2uniqueptr.patch";          sha256="sha256-teGp6uICB4jAJk18pdbBMcDxC/JJJGkdihtXeh3ffCg=";}
+    {name="fix_deprecated_boost_api.patch";   sha256="sha256-qD5QuO/ndEU1N7vueQiNpPVz8OaX6Y6ahjCWxMdvj6A=";}
+    {name="fix_throw_specifications.patch";   sha256="sha256-NjCDGwXRCSLcuW2HbPOpXRgNvNQHy7i7hoOgyvGIr7g=";}
+    {name="fix_operator_ambiguity.patch";     sha256="sha256-xx7WyrxEdDrDuz5YoFrM/u2qJru9u6X/4+Y5rJdmmmQ=";}
+    {name="fix_ffmpeg30.patch";               sha256="sha256-vKEbvbjYVRzEaVYC8XOJBPmk6FDXI/WA0X/dldRRO8c=";}
   ]);
 
   nativeBuildInputs = [ wrapGAppsHook scons pkgconfig gettext ];
 
   buildInputs = [
-    gtk2 gtkmm2 mjpegtools libdvdread dvdauthor boost dvdplusrwtools
-    libxmlxx ffmpeg_3 enca
-    ];
+    boost
+    dvdauthor
+    dvdplusrwtools
+    enca
+    ffmpeg_3
+    gtk2
+    gtkmm2
+    libdvdread
+    libxmlxx
+    mjpegtools
+  ];
 
   prefixKey = "PREFIX=";
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "a DVD authoring program for personal computers";
-    homepage = "http://www.bombono.org/";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ symphorien ];
+    homepage = "https://www.bombono.org/";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ symphorien ];
   };
 }
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index f8b74a175474b..d979a25d2d1b9 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -5,10 +5,10 @@
 
 mkDerivation rec {
   pname = "clipgrab";
-  version = "3.8.14";
+  version = "3.9.2";
 
   src = fetchurl {
-    sha256 = "19337qjxwlkpdnnh6q0y4b8askk17a8zb88gifznllrk06a6pgyf";
+    sha256 = "1ckcprqck96ns752vk9bzlc3gm6b5f0piff2d3m55zrvdh7wpgy5";
     # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
     url = "https://download.clipgrab.org/${pname}-${version}.tar.gz";
   };
diff --git a/pkgs/applications/video/devede/default.nix b/pkgs/applications/video/devede/default.nix
index 9bb5518e80f7d..921548b5c08ce 100644
--- a/pkgs/applications/video/devede/default.nix
+++ b/pkgs/applications/video/devede/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, python3Packages, ffmpeg_3, mplayer, vcdimager, cdrkit, dvdauthor
+{ stdenv, fetchFromGitLab, python3Packages, ffmpeg_3, mplayer, vcdimager, cdrkit, dvdauthor
 , gtk3, gettext, wrapGAppsHook, gdk-pixbuf, gobject-introspection }:
 
 let
   inherit (python3Packages) dbus-python buildPythonApplication pygobject3 urllib3 setuptools;
-
-in buildPythonApplication {
-  name = "devede-4.8.8";
+in buildPythonApplication rec {
+  pname = "devede";
+  version = "4.16.0";
   namePrefix = "";
 
-  src = fetchFromGitHub {
+  src = fetchFromGitLab {
     owner = "rastersoft";
     repo = "devedeng";
-    rev = "c518683fbcd793aa92249e4fecafc3c3fea7da68";
-    sha256 = "0ncb8nykchrjlllbzfjpvirmfvfaps9qhilc56kvcw3nzqrnkx8q";
+    rev = version;
+    sha256 = "1xb7acjphvn4ya8fgjsvag5gzi9a6c2famfl0ffr8nhb9y8ig9mg";
   };
 
   # Temporary fix
diff --git a/pkgs/applications/video/dvb-apps/default.nix b/pkgs/applications/video/dvb-apps/default.nix
deleted file mode 100644
index 8fa88e3244947..0000000000000
--- a/pkgs/applications/video/dvb-apps/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, perl }:
-
-stdenv.mkDerivation {
-  name = "dvb-apps-7f68f9c8d311";
-
-  src = fetchurl {
-    url = "https://linuxtv.org/hg/dvb-apps/archive/7f68f9c8d311.tar.gz";
-    sha256 = "0a6c5jjq6ad98bj0r954l3n7zjb2syw9m19jksg06z4zg1z8yg82";
-  };
-
-  buildInputs = [ perl ];
-
-  dontConfigure = true; # skip configure
-
-  installPhase = "make prefix=$out install";
-
-  meta = {
-    description = "Linux DVB API applications and utilities";
-    homepage = "https://linuxtv.org/";
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2;
-    broken = true; # 2018-04-10
-  };
-}
diff --git a/pkgs/applications/video/epgstation/default.nix b/pkgs/applications/video/epgstation/default.nix
index e57f46c8c6adc..62aa54ca7844f 100644
--- a/pkgs/applications/video/epgstation/default.nix
+++ b/pkgs/applications/video/epgstation/default.nix
@@ -1,6 +1,27 @@
-{ stdenv, fetchFromGitHub, makeWrapper, bash, nodejs, nodePackages, gzip }:
+{ stdenv
+, fetchFromGitHub
+, common-updater-scripts
+, genericUpdater
+, writers
+, makeWrapper
+, bash
+, nodejs
+, nodePackages
+, gzip
+, jq
+}:
 
 let
+  # NOTE: use updateScript to bump the package version
+  pname = "EPGStation";
+  version = "1.7.5";
+  src = fetchFromGitHub {
+    owner = "l3tnun";
+    repo = "EPGStation";
+    rev = "v${version}";
+    sha256 = "06yaf5yb5rp3q0kdhw33df7px7vyfby885ckb6bdzw3wnams5d8m";
+  };
+
   workaround-opencollective-buildfailures = stdenv.mkDerivation {
     # FIXME: This should be removed when a complete fix is available
     # https://github.com/svanderburg/node2nix/issues/145
@@ -12,67 +33,73 @@ let
       chmod +x $out/bin/opencollective-postinstall
     '';
   };
-in
-nodePackages.epgstation.override (drv: {
-  src = fetchFromGitHub {
-    owner = "l3tnun";
-    repo = "EPGStation";
-    rev = "v${drv.version}"; # version specified in ./generate.sh
-    sha256 = "15z1kdbamj97frp3dfnbm0h8krihmv2xdab4id0rxin29ibrw1k2";
-  };
 
-  buildInputs = [ bash ];
-  nativeBuildInputs = [
-    workaround-opencollective-buildfailures
-    makeWrapper
-    nodePackages.node-pre-gyp
-  ];
-
-  preRebuild = ''
-    # Fix for not being able to connect to mysql using domain sockets.
-    patch -p1 ${./use-mysql-over-domain-socket.patch}
-  '';
-
-  postInstall = let
-    runtimeDeps = [ nodejs bash ];
-  in
-  ''
-    mkdir -p $out/{bin,libexec,share/doc/epgstation,share/man/man1}
-
-    pushd $out/lib/node_modules/EPGStation
-
-    npm run build
-    npm prune --production
-
-    mv config/{enc.sh,enc.js} $out/libexec
-    mv LICENSE Readme.md $out/share/doc/epgstation
-    mv doc/* $out/share/doc/epgstation
-    sed 's/@DESCRIPTION@/${drv.meta.description}/g' ${./epgstation.1} \
-      | ${gzip}/bin/gzip > $out/share/man/man1/epgstation.1.gz
-    rm -rf doc
-
-    # just log to stdout and let journald do its job
-    rm -rf logs
-
-    # Replace the existing configuration and runtime state directories with
-    # symlinks. Without this, they would all be non-writable because they reside
-    # in the Nix store. Note that the source path won't be accessible at build
-    # time.
-    rm -r config data recorded thumbnail
-    ln -sfT /etc/epgstation config
-    ln -sfT /var/lib/epgstation data
-    ln -sfT /var/lib/epgstation/recorded recorded
-    ln -sfT /var/lib/epgstation/thumbnail thumbnail
-
-    makeWrapper ${nodejs}/bin/npm $out/bin/epgstation \
-     --run "cd $out/lib/node_modules/EPGStation" \
-     --prefix PATH : ${stdenv.lib.makeBinPath runtimeDeps}
-
-    popd
-  '';
-
-  meta = with stdenv.lib; drv.meta // {
-    maintainers = with maintainers; [ midchildan ];
+  pkg = nodePackages.epgstation.override (drv: {
+    inherit src;
+
+    buildInputs = [ bash ];
+    nativeBuildInputs = [
+      workaround-opencollective-buildfailures
+      makeWrapper
+      nodePackages.node-pre-gyp
+    ];
+
+    preRebuild = ''
+      # Fix for not being able to connect to mysql using domain sockets.
+      patch -p1 ${./use-mysql-over-domain-socket.patch}
+    '';
+
+    postInstall = let
+      runtimeDeps = [ nodejs bash ];
+    in
+    ''
+      mkdir -p $out/{bin,libexec,share/doc/epgstation,share/man/man1}
+
+      pushd $out/lib/node_modules/EPGStation
+
+      npm run build
+      npm prune --production
+
+      mv config/{enc.sh,enc.js} $out/libexec
+      mv LICENSE Readme.md $out/share/doc/epgstation
+      mv doc/* $out/share/doc/epgstation
+      sed 's/@DESCRIPTION@/${drv.meta.description}/g' ${./epgstation.1} \
+        | ${gzip}/bin/gzip > $out/share/man/man1/epgstation.1.gz
+      rm -rf doc
+
+      # just log to stdout and let journald do its job
+      rm -rf logs
+
+      # Replace the existing configuration and runtime state directories with
+      # symlinks. Without this, they would all be non-writable because they
+      # reside in the Nix store. Note that the source path won't be accessible
+      # at build time.
+      rm -r config data recorded thumbnail
+      ln -sfT /etc/epgstation config
+      ln -sfT /var/lib/epgstation data
+      ln -sfT /var/lib/epgstation/recorded recorded
+      ln -sfT /var/lib/epgstation/thumbnail thumbnail
+
+      makeWrapper ${nodejs}/bin/npm $out/bin/epgstation \
+       --run "cd $out/lib/node_modules/EPGStation" \
+       --prefix PATH : ${stdenv.lib.makeBinPath runtimeDeps}
+
+      popd
+    '';
+
+    # NOTE: this may take a while since it has to update all packages in
+    # nixpkgs.nodePackages
+    passthru.updateScript = import ./update.nix {
+      inherit (stdenv) lib;
+      inherit (src.meta) homepage;
+      inherit
+        pname
+        version
+        common-updater-scripts
+        genericUpdater
+        writers
+        jq;
+    };
 
     # nodePackages.epgstation is a stub package to fetch npm dependencies and
     # is marked as broken to prevent users from installing it directly. This
@@ -80,6 +107,16 @@ nodePackages.epgstation.override (drv: {
     # nixpkgs while still allowing us to heavily customize the build. It also
     # allows us to provide devDependencies for the epgstation build process
     # without doing the same for all the other node packages.
-    broken = false;
+    meta = drv.meta // { broken = false; };
+  });
+in
+pkg // {
+  name = "${pname}-${version}";
+
+  meta = with stdenv.lib; pkg.meta // {
+    maintainers = with maintainers; [ midchildan ];
+
+    # NOTE: updateScript relies on this being correct
+    position = toString ./default.nix + ":1";
   };
-})
+}
diff --git a/pkgs/applications/video/epgstation/generate.sh b/pkgs/applications/video/epgstation/generate.sh
deleted file mode 100755
index d193a015064ca..0000000000000
--- a/pkgs/applications/video/epgstation/generate.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env bash
-
-# Script to generate the Nix package definition for EPGStation. Run this script
-# when bumping the package version.
-
-VERSION="1.7.4"
-URL="https://raw.githubusercontent.com/l3tnun/EPGStation/v$VERSION/package.json"
-JQ_BIN="$(nix-build ../../../.. --no-out-link -A jq)/bin/jq"
-
-set -eu -o pipefail
-cd "$(dirname "${BASH_SOURCE[0]}")"
-
-main() {
-    # update package.json
-    curl -sSfL "$URL" \
-        | jq '. + {"dependencies": (.devDependencies + .dependencies)} | del(.devDependencies)' \
-        > package.json
-
-    # regenerate node packages to update the actual Nix package
-    pushd ../../../development/node-packages \
-        && ./generate.sh
-    popd
-
-    # generate default streaming settings for EPGStation
-    pushd ../../../../nixos/modules/services/video/epgstation \
-        && cat "$(./generate)" > streaming.json
-    popd
-}
-
-jq() {
-    "$JQ_BIN" "$@"
-}
-
-main "@"
diff --git a/pkgs/applications/video/epgstation/package.json b/pkgs/applications/video/epgstation/package.json
index 96525ec809ecc..53b1ebca2da73 100644
--- a/pkgs/applications/video/epgstation/package.json
+++ b/pkgs/applications/video/epgstation/package.json
@@ -1,23 +1,7 @@
 {
   "name": "EPGStation",
-  "version": "1.7.4",
+  "version": "1.7.5",
   "description": "DTV Software in Japan.",
-  "main": "dist/server/index.js",
-  "scripts": {
-    "start": "node dist/server/index.js",
-    "dev-start": "node dist/server/index.js --env development",
-    "clean": "gulp clean",
-    "build": "gulp build --max_old_space_size=768 --env production",
-    "dev-build": "gulp build --max_old_space_size=512 --env development",
-    "test": "echo \"Error: no test specified\" && exit 1",
-    "task": "gulp --max_old_space_size=512",
-    "install-win-service": "winser -i -a",
-    "uninstall-win-service": "winser -r -x",
-    "backup": "node dist/server/DBTools.js -m backup -o",
-    "restore": "node dist/server/DBTools.js -m restore -o",
-    "move-log": "node dist/server/LogFileMoveTools.js",
-    "convert-str": "node dist/server/ConvertDBStrTools.js"
-  },
   "repository": {
     "type": "git",
     "url": "https://github.com/l3tnun/EPGStation.git"
@@ -32,41 +16,6 @@
     "node": "^10.x.x < 11 || ^12.14.0 < 13 || ^14.5.0 < 15"
   },
   "dependencies": {
-    "@types/basic-auth": "1.1.3",
-    "@types/body-parser": "1.19.0",
-    "@types/chart.js": "2.9.23",
-    "@types/express": "4.17.7",
-    "@types/hls.js": "0.13.0",
-    "@types/js-yaml": "3.12.5",
-    "@types/lodash": "4.14.158",
-    "@types/material-design-lite": "1.1.16",
-    "@types/minimist": "1.2.0",
-    "@types/mithril": "2.0.3",
-    "@types/mkdirp": "1.0.1",
-    "@types/multer": "1.4.3",
-    "@types/mysql": "2.15.15",
-    "@types/node": "14.0.26",
-    "@types/pg": "7.14.4",
-    "@types/request": "2.48.5",
-    "@types/socket.io": "2.1.10",
-    "@types/socket.io-client": "1.4.33",
-    "@types/sqlite3": "3.1.6",
-    "@types/url-join": "4.0.0",
-    "del": "5.1.0",
-    "gulp": "4.0.2",
-    "gulp-clean-css": "4.3.0",
-    "gulp-concat": "2.6.1",
-    "gulp-dart-sass": "1.0.2",
-    "gulp-plumber": "1.2.1",
-    "gulp-sourcemaps": "2.6.5",
-    "gulp-tslint": "8.1.4",
-    "gulp-typescript": "5.0.1",
-    "terser-webpack-plugin": "3.0.7",
-    "ts-loader": "8.0.1",
-    "tslint": "6.1.2",
-    "typescript": "3.9.7",
-    "webpack": "4.44.0",
-    "webpack-stream": "5.2.1",
     "aribts": "^2.1.12",
     "b24.js": "1.0.3",
     "basic-auth": "2.0.1",
@@ -75,27 +24,62 @@
     "css-ripple-effect": "1.0.5",
     "diskusage": "1.1.3",
     "express": "4.17.1",
-    "express-openapi": "7.0.0",
+    "express-openapi": "7.0.1",
     "fs-extra": "9.0.1",
     "hls-b24.js": "0.12.3",
     "js-yaml": "3.14.0",
-    "lodash": "4.17.19",
+    "lodash": "4.17.20",
     "log4js": "6.3.0",
     "material-design-icons": "3.0.1",
     "material-design-lite": "1.3.0",
     "minimist": "1.2.5",
-    "mirakurun": "3.2.0",
+    "mirakurun": "3.3.1",
     "mithril": "2.0.4",
     "mkdirp": "1.0.4",
     "multer": "1.4.2",
     "mysql": "2.18.1",
-    "openapi-types": "7.0.0",
-    "pg": "8.3.0",
+    "openapi-types": "7.0.1",
+    "pg": "8.3.3",
     "request": "2.88.2",
     "socket.io": "2.3.0",
     "socket.io-client": "2.3.0",
     "sqlite3": "5.0.0",
-    "swagger-ui-dist": "3.30.2",
-    "url-join": "4.0.1"
+    "swagger-ui-dist": "3.34.0",
+    "url-join": "4.0.1",
+    "@types/basic-auth": "1.1.3",
+    "@types/body-parser": "1.19.0",
+    "@types/chart.js": "2.9.24",
+    "@types/express": "4.17.8",
+    "@types/hls.js": "0.13.1",
+    "@types/js-yaml": "3.12.5",
+    "@types/lodash": "4.14.161",
+    "@types/material-design-lite": "1.1.16",
+    "@types/minimist": "1.2.0",
+    "@types/mithril": "2.0.3",
+    "@types/mkdirp": "1.0.1",
+    "@types/multer": "1.4.4",
+    "@types/mysql": "2.15.15",
+    "@types/node": "14.11.1",
+    "@types/pg": "7.14.5",
+    "@types/request": "2.48.5",
+    "@types/socket.io": "2.1.11",
+    "@types/socket.io-client": "1.4.33",
+    "@types/sqlite3": "3.1.6",
+    "@types/url-join": "4.0.0",
+    "del": "5.1.0",
+    "gulp": "4.0.2",
+    "gulp-clean-css": "4.3.0",
+    "gulp-concat": "2.6.1",
+    "gulp-dart-sass": "1.0.2",
+    "gulp-plumber": "1.2.1",
+    "gulp-sourcemaps": "2.6.5",
+    "gulp-tslint": "8.1.4",
+    "gulp-typescript": "5.0.1",
+    "terser-webpack-plugin": "4.2.2",
+    "ts-loader": "8.0.4",
+    "tslint": "6.1.3",
+    "typescript": "4.0.3",
+    "webpack": "4.44.2",
+    "webpack-stream": "6.1.0"
   }
 }
diff --git a/pkgs/applications/video/epgstation/update.nix b/pkgs/applications/video/epgstation/update.nix
new file mode 100644
index 0000000000000..9faa83c64f9e0
--- /dev/null
+++ b/pkgs/applications/video/epgstation/update.nix
@@ -0,0 +1,66 @@
+{ pname
+, version
+, homepage
+, lib
+, common-updater-scripts
+, genericUpdater
+, writers
+, jq
+}:
+
+let
+  updater = genericUpdater {
+    inherit pname version;
+    attrPath = lib.toLower pname;
+    rev-prefix = "v";
+    versionLister = "${common-updater-scripts}/bin/list-git-tags ${homepage}";
+  };
+  updateScript = builtins.elemAt updater 0;
+  updateArgs = map (lib.escapeShellArg) (builtins.tail updater);
+in writers.writeBash "update-epgstation" ''
+  set -euxo pipefail
+
+  # bump the version
+  ${updateScript} ${lib.concatStringsSep " " updateArgs}
+
+  cd "${toString ./.}"
+
+  # Get the path to the latest source. Note that we can't just pass the value
+  # of epgstation.src directly because it'd be evaluated before we can run
+  # updateScript.
+  SRC="$(nix-build ../../../.. --no-out-link -A epgstation.src)"
+  if [[ "${version}" == "$(${jq}/bin/jq -r .version "$SRC/package.json")" ]]; then
+    echo "[INFO] Already using the latest version of ${pname}" >&2
+    exit
+  fi
+
+  # Regenerate package.json from the latest source.
+  ${jq}/bin/jq '. + {
+      dependencies: (.dependencies + .devDependencies),
+    } | del(.devDependencies, .main, .scripts)' \
+    "$SRC/package.json" \
+    > package.json
+
+  # Regenerate node packages to update the pre-overriden epgstation derivation.
+  # This must come *after* package.json has been regenerated.
+  pushd ../../../development/node-packages
+  ./generate.sh
+  popd
+
+  # Generate default streaming settings for the nixos module.
+  pushd ../../../../nixos/modules/services/video/epgstation
+  ${jq}/bin/jq '
+    { liveHLS
+    , liveMP4
+    , liveWebM
+    , mpegTsStreaming
+    , mpegTsViewer
+    , recordedDownloader
+    , recordedStreaming
+    , recordedHLS
+    , recordedViewer
+    }' \
+    "$SRC/config/config.sample.json" \
+    > streaming.json
+  popd
+''
diff --git a/pkgs/applications/video/filebot/default.nix b/pkgs/applications/video/filebot/default.nix
index cdd70b4c8948b..e9ae14e19aa29 100644
--- a/pkgs/applications/video/filebot/default.nix
+++ b/pkgs/applications/video/filebot/default.nix
@@ -10,11 +10,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "filebot";
-  version = "4.9.1";
+  version = "4.9.2";
 
   src = fetchurl {
     url = "https://get.filebot.net/filebot/FileBot_${version}/FileBot_${version}-portable.tar.xz";
-    sha256 = "0l496cz703mjymjhgmyrkqbfld1bz53pdsbkx00h9a267j22fkms";
+    sha256 = "0hcyam8l0fzc9fnp1dpawk0s3rwhfph78w99y7zlcv5l4l4h04lz";
   };
 
   unpackPhase = "tar xvf $src";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     cp -r filebot.sh lib/ jar/ $out/opt/
     # Filebot writes to $APP_DATA, which fails due to read-only filesystem. Using current user .local directory instead.
     substituteInPlace $out/opt/filebot.sh \
-      --replace 'APP_DATA="$FILEBOT_HOME/data/$USER"' 'APP_DATA=''${XDG_DATA_HOME:-$HOME/.local/share}/filebot/data' \
+      --replace 'APP_DATA="$FILEBOT_HOME/data/$(id -u)"' 'APP_DATA=''${XDG_DATA_HOME:-$HOME/.local/share}/filebot/data' \
       --replace '$FILEBOT_HOME/data/.license' '$APP_DATA/.license'
     wrapProgram $out/opt/filebot.sh \
       --prefix PATH : ${stdenv.lib.makeBinPath [ openjdk11 ]}
diff --git a/pkgs/applications/video/gnomecast/default.nix b/pkgs/applications/video/gnomecast/default.nix
index 3a3ca044bb880..e4814e40c1fd4 100644
--- a/pkgs/applications/video/gnomecast/default.nix
+++ b/pkgs/applications/video/gnomecast/default.nix
@@ -3,11 +3,11 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "gnomecast";
-  version = "1.4.1";
+  version = "1.9.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mn03gqbwmhch0055bzgdwkzsl304qdyqwrgyiq0k5c5d2gyala5";
+    sha256 = "4d8cd7a71f352137252c5a9ee13475bd67fb99594560ecff1efb0f718d8bbaac";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/applications/video/go-chromecast/default.nix
new file mode 100644
index 0000000000000..89c2eb425ce6e
--- /dev/null
+++ b/pkgs/applications/video/go-chromecast/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "go-chromecast";
+  version = "0.2.5";
+
+  src = fetchFromGitHub {
+    owner = "vishen";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0y1zwy1bxnjz409vdhqwykvfjhrsyy4j503v3rjrrhkcca6vfbyg";
+  };
+
+  vendorSha256 = "04mgm3afgczq0an6ys8bilxv1hgzfwvgjx21fyl82yxd573rsf5r";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev} -X main.date=unknown" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/vishen/go-chromecast";
+    description = "CLI for Google Chromecast, Home devices and Cast Groups";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ marsam ];
+  };
+}
diff --git a/pkgs/applications/video/gpac/default.nix b/pkgs/applications/video/gpac/default.nix
index 4fcff75f09566..aa66155d17ac5 100644
--- a/pkgs/applications/video/gpac/default.nix
+++ b/pkgs/applications/video/gpac/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, pkgconfig, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.0";
+  version = "1.0.1";
   pname = "gpac";
 
   src = fetchFromGitHub {
     owner = "gpac";
     repo = "gpac";
     rev = "v${version}";
-    sha256 = "11jrklaahhdfqhci7f3lzv8wchh9bc91rg6w8ibh6varrk692vsb";
+    sha256 = "0gj46jpprfqv3wyagblv3a52chbplyzhvpra66v63czjibqsslm5";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/video/hdhomerun-config-gui/default.nix b/pkgs/applications/video/hdhomerun-config-gui/default.nix
index 91feb178ca057..e1631150b8be6 100644
--- a/pkgs/applications/video/hdhomerun-config-gui/default.nix
+++ b/pkgs/applications/video/hdhomerun-config-gui/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hdhomerun-config-gui";
-  version = "20200521";
+  version = "20200907";
 
   src = fetchurl {
     url = "https://download.silicondust.com/hdhomerun/hdhomerun_config_gui_${version}.tgz";
-    sha256 = "1r1rwfgi714nwblyg8nqjzkpm4n2lg7kqqqas47hvbn5waimz1ja";
+    sha256 = "17zf0hzw68b0xdkh1maqhl96jb7171mbhd29y64as29nps9x4fmz";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/video/k9copy/default.nix b/pkgs/applications/video/k9copy/default.nix
deleted file mode 100644
index 317505185d0d6..0000000000000
--- a/pkgs/applications/video/k9copy/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ stdenv, fetchurl
-, cmake
-, dvdauthor, xineLib, libmpeg2, libav, libdvdread, libdvdnav, dvdplusrwtools
-, phonon, qtx11extras
-, extra-cmake-modules, kio, kiconthemes, ki18n, kdesu, kdoctools, solid
-}:
-
-stdenv.mkDerivation rec {
-  version = "3.0.3";
-  pname = "k9copy";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/k9copy-reloaded/${pname}-${version}.tar.gz";
-    sha256 = "0dp06rwihks50c57bbv04d6bj2qc88isl91971r4lii2xp0qn7sg";
-  };
-
-  patches = [
-    ./gcc6.patch
-  ];
-
-  cmakeFlags = [
-    "-DQT5_BUILD=ON"
-    "-DCMAKE_MINIMUM_REQUIRED_VERSION=3.0"
-  ];
-
-  # Hack to disable documentation
-  preConfigure = ''
-   substituteInPlace ./CMakeLists.txt \
-     --replace "add_subdirectory(doc)" ""
-  '';
-
-  buildInputs = [
-    cmake
-    dvdauthor
-    xineLib
-    libmpeg2
-    libav
-    libdvdread
-    libdvdnav
-    dvdplusrwtools
-    #automoc4
-    phonon
-    extra-cmake-modules
-    kio
-    solid
-    qtx11extras
-    kiconthemes
-    ki18n
-    kdesu
-  ];
-  nativeBuildInputs = [ kdoctools ];
-
-  meta = {
-    description = "DVD backup and DVD authoring program";
-    homepage = "http://k9copy-reloaded.sourceforge.net/";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ flosse ];
-    platforms = stdenv.lib.platforms.unix;
-    # TODO: The software is deprecated and the build is broken, see:
-    # https://github.com/NixOS/nixpkgs/pull/63260#issuecomment-503506487
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/video/k9copy/gcc6.patch b/pkgs/applications/video/k9copy/gcc6.patch
deleted file mode 100644
index d0c9c2a8035ef..0000000000000
--- a/pkgs/applications/video/k9copy/gcc6.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git c/src/backup/k9dvdbackup.cpp i/src/backup/k9dvdbackup.cpp
-index f5e4859..82fa392 100755
---- c/src/backup/k9dvdbackup.cpp
-+++ i/src/backup/k9dvdbackup.cpp
-@@ -907,7 +907,7 @@ k9Vobu * k9DVDBackup::remapOffset(uint32_t _sector,uint32_t *_offset,int _dir) {
- 
- 
-         if ((vobu1 !=NULL) && (vobu2!=NULL)) {
--            *_offset = abs(vobu1->newSector - vobu2->newSector)  | maskOffset1 ;
-+            *_offset = (vobu1->newSector - vobu2->newSector)  | maskOffset1 ;
-             *_offset |= maskOffset2;
-             return vobu2;
-         }
-diff --git c/src/backup/k9execcopy.cpp i/src/backup/k9execcopy.cpp
-index d59222c..35de923 100644
---- c/src/backup/k9execcopy.cpp
-+++ i/src/backup/k9execcopy.cpp
-@@ -306,7 +306,7 @@ void k9ExecCopy::createMkv(k9DVDTitle *_title,const QString &_filename,QMultiMap
- 
- #if QT_VERSION >= 0x050000
-     m_progressDialog=new QProgressDialog(k9Dialogs::getMainWidget() );
--    m_progressDialog->setCancelButton(false);
-+    m_progressDialog->setCancelButton(0);
- 
- #else
-     m_progressDialog=new KProgressDialog(k9Dialogs::getMainWidget() );
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index 56788ae4f10ec..a60250ee0ff1a 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -3,7 +3,7 @@
 , libgcrypt, libgpgerror, libunistring
 , boost, avahi, lame, autoreconfHook
 , gettext, pcre-cpp, yajl, fribidi, which
-, openssl, gperf, tinyxml2, taglib, libssh, swig, jre
+, openssl, gperf, tinyxml2, taglib, libssh, swig, jre_headless
 , libxml2, systemd
 , alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl
 , libjpeg, libpng, libtiff
@@ -45,14 +45,14 @@ assert useWayland -> wayland != null && wayland-protocols != null && waylandpp !
 
 let
   kodiReleaseDate = "20200728";
-  kodiVersion = "18.8";
+  kodiVersion = "18.9";
   rel = "Leia";
 
   kodi_src = fetchFromGitHub {
     owner  = "xbmc";
     repo   = "xbmc";
     rev    = "${kodiVersion}-${rel}";
-    sha256 = "0qpkpz43s207msvv3qkiy6vzqwcgmydxv3py7vc29mv6h30chrva";
+    sha256 = "0nnf7823pixj6n2fkjc8rbdjwayvhlbglij2by4rnjzzfgmqmw20";
   };
 
   cmakeProto = fetchurl {
@@ -211,7 +211,7 @@ in stdenv.mkDerivation {
       which
       pkgconfig gnumake
       autoconf automake libtool # still needed for some components. Check if that is the case with 19.0
-      jre yasm gettext python2Packages.python flatbuffers
+      jre_headless yasm gettext python2Packages.python flatbuffers
 
       # for TexturePacker
       giflib zlib libpng libjpeg lzo
diff --git a/pkgs/applications/video/lightworks/default.nix b/pkgs/applications/video/lightworks/default.nix
index da413915e37e2..97e5e67aaec18 100644
--- a/pkgs/applications/video/lightworks/default.nix
+++ b/pkgs/applications/video/lightworks/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv
-, gtk3, gdk-pixbuf, cairo, libjpeg_original, glib, gnome2, libGLU
+, gtk3, gdk-pixbuf, cairo, libjpeg_original, glib, pango, libGLU
 , nvidia_cg_toolkit, zlib, openssl, portaudio
 }:
 let
@@ -10,7 +10,7 @@ let
     cairo
     libjpeg_original
     glib
-    gnome2.pango
+    pango
     libGLU
     nvidia_cg_toolkit
     zlib
diff --git a/pkgs/applications/video/linuxstopmotion/default.nix b/pkgs/applications/video/linuxstopmotion/default.nix
index 3a2d1b79e9e00..365fb1ea417ab 100644
--- a/pkgs/applications/video/linuxstopmotion/default.nix
+++ b/pkgs/applications/video/linuxstopmotion/default.nix
@@ -1,32 +1,26 @@
-{ stdenv, fetchgit, pkgconfig, qt4, SDL, SDL_image, libvorbis, libtar, libxml2
-, gamin, qmake4Hook
-}:
+{ mkDerivation, lib, fetchgit, pkgconfig, qmake, qtbase, qttools, qtmultimedia, libvorbis, libtar, libxml2 }:
 
-stdenv.mkDerivation rec {
-  version = "0.8";
+mkDerivation rec {
+  version = "0.8.5";
   pname = "linuxstopmotion";
-  
+
   src = fetchgit {
-    url = "git://git.code.sf.net/p/linuxstopmotion/code";
-    rev = "refs/tags/${version}";
-    sha256 = "19v9d0v3laiwi0f1n92lvj2s5s1mxsrfygna0xyw9pkcnk3b26q6";
+    url = "https://git.code.sf.net/p/linuxstopmotion/code";
+    rev = version;
+    sha256 = "1612lkwsfzc59wvdj2zbj5cwsyw66bwn31jrzjrxvygxdh4ab069";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ qt4 SDL SDL_image libvorbis libtar libxml2 gamin qmake4Hook ];
-
-  patches = [ ./linuxstopmotion-fix-wrong-isProcess-logic.patch ];
+  nativeBuildInputs = [ qmake pkgconfig ];
+  buildInputs = [ qtbase qttools qtmultimedia libvorbis libtar libxml2 ];
 
-  # Installation breaks without this
-  preInstall = ''
-    mkdir -p "$out/share/stopmotion/translations/"
-    cp -v build/*.qm "$out/share/stopmotion/translations/"
+  postPatch = ''
+    substituteInPlace stopmotion.pro --replace '$$[QT_INSTALL_BINS]' '${lib.getDev qttools}/bin'
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Create stop-motion animation movies";
     homepage = "http://linuxstopmotion.org/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/pkgs/applications/video/linuxstopmotion/linuxstopmotion-fix-wrong-isProcess-logic.patch b/pkgs/applications/video/linuxstopmotion/linuxstopmotion-fix-wrong-isProcess-logic.patch
deleted file mode 100644
index caab48d0e2d9b..0000000000000
--- a/pkgs/applications/video/linuxstopmotion/linuxstopmotion-fix-wrong-isProcess-logic.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b23b7dab1d540b0710fcb9ded1c6256a49844906 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
-Date: Wed, 20 Aug 2014 22:22:00 +0200
-Subject: [PATCH] Fix wrong "isProcess" logic
-
-Stopmotion wrongly thinks that uvccapture should be run as a daemon,
-even though configuration for uvccapture has no "daemon-like" command
-line to be run (according to "preferences"). The result is an error
-popup instead of video/image grabbing.
-
-This brings back the "isProcess" logic that was in stopmotion v0.7.2,
-because it seems to work, while the current logic (v0.8.0) seems to
-fail.
----
- src/presentation/frontends/qtfrontend/frameview.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/presentation/frontends/qtfrontend/frameview.cpp b/src/presentation/frontends/qtfrontend/frameview.cpp
-index e44dca7..d2c41fd 100644
---- a/src/presentation/frontends/qtfrontend/frameview.cpp
-+++ b/src/presentation/frontends/qtfrontend/frameview.cpp
-@@ -270,7 +270,7 @@ bool FrameView::on() {
- 	Preference device(QString("device%1")
- 			.arg(activeDev).toLatin1().constData(), "");
- 	QString pre = QString(prepoll.get()).replace("$VIDEODEVICE", device.get());
--	bool isProcess = startDaemon.get();
-+	bool isProcess = (strcmp(startDaemon.get(), "") == 0) ? false : true;
- 
- 	bool isCameraReady = true;
- 	this->grabber = new CommandLineGrabber(capturedFile.path(), isProcess);
--- 
-2.0.2
-
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index d3cb12924c268..6f47307f4a6a8 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -1,23 +1,33 @@
-{ stdenv, mkDerivation, fetchurl, autoPatchelfHook
-, ffmpeg_3, openssl, qtbase, zlib, pkgconfig
+{ stdenv
+, mkDerivation
+, fetchurl
+, autoPatchelfHook
+, pkg-config
+, ffmpeg_3
+, openssl
+, qtbase
+, zlib
+
+, withJava ? true
+, jre_headless
 }:
 
 let
-  version = "1.15.2";
+  version = "1.15.3";
   # Using two URLs as the first one will break as soon as a new version is released
   src_bin = fetchurl {
     urls = [
       "http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz"
       "http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz"
     ];
-    sha256 = "1dbips0qllbwhak44c50nlwn8n3kx8i6773cal5zl3dv4v2nf6ql";
+    hash = "sha256-Y23aetnwqLGaBIgJ/AP0oCrh8P5jpVrcMJgmc0Oe+i8=";
   };
   src_oss = fetchurl {
     urls = [
       "http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz"
       "http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz"
     ];
-    sha256 = "1wnhzlz5fw6qwh82hjcpimg60xb3a9a54zb6gcjhqr9zdly2zphy";
+    hash = "sha256-Qruq9YKAaNF1pDtOhptP95UjFL2NA4EuROR4v6XZHEw=";
   };
 in mkDerivation {
   pname = "makemkv";
@@ -27,10 +37,17 @@ in mkDerivation {
 
   sourceRoot = "makemkv-oss-${version}";
 
-  nativeBuildInputs = [ autoPatchelfHook pkgconfig ];
+  nativeBuildInputs = [ autoPatchelfHook pkg-config ];
 
   buildInputs = [ ffmpeg_3 openssl qtbase zlib ];
 
+  qtWrapperArgs =
+    let
+      binPath = stdenv.lib.makeBinPath [ jre_headless ];
+    in stdenv.lib.optionals withJava [
+      ''--prefix PATH : ${binPath}''
+    ];
+
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/applications/video/minitube/default.nix b/pkgs/applications/video/minitube/default.nix
index 690b8355340c2..a5bd030e470cc 100644
--- a/pkgs/applications/video/minitube/default.nix
+++ b/pkgs/applications/video/minitube/default.nix
@@ -1,30 +1,30 @@
-{ stdenv, fetchFromGitHub, wrapQtAppsHook, phonon, phonon-backend-vlc, qtbase, qmake
+{ mkDerivation, lib, fetchFromGitHub, phonon, phonon-backend-vlc, qtbase, qmake
 , qtdeclarative, qttools, qtx11extras, mpv
 
 # "Free" key generated by nckx <github@tobias.gr>. I no longer have a Google
 # account. You'll need to generate (and please share :-) a new one if it breaks.
 , withAPIKey ? "AIzaSyBtFgbln3bu1swQC-naMxMtKh384D3xJZE" }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "minitube";
-  version = "3.2";
+  version = "3.6";
 
   src = fetchFromGitHub {
-    sha256 = "0175sgqmszakqd631bni4aqjpx68h6n49zjvg23fb1yyancnkn4c";
+    sha256 = "6IaBPYL/yGWKUHxPe1FnAR1gDHImXYGItYWq7VNjwEU=";
     rev = version;
     repo = "minitube";
     owner = "flaviotordini";
     fetchSubmodules = true;
   };
 
-  buildInputs = [ phonon phonon-backend-vlc qtbase qtdeclarative qttools qtx11extras mpv ];
-  nativeBuildInputs = [ wrapQtAppsHook qmake ];
+  buildInputs = [ phonon phonon-backend-vlc qtbase qtdeclarative qtx11extras mpv ];
+  nativeBuildInputs = [ qmake qttools ];
 
   qmakeFlags = [ "DEFINES+=APP_GOOGLE_API_KEY=${withAPIKey}" ];
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Stand-alone YouTube video player";
     longDescription = ''
       Watch YouTube videos in a new way: you type a keyword, Minitube gives
diff --git a/pkgs/applications/video/mjpg-streamer/default.nix b/pkgs/applications/video/mjpg-streamer/default.nix
index d1efae4a92441..b6856f1a18e36 100644
--- a/pkgs/applications/video/mjpg-streamer/default.nix
+++ b/pkgs/applications/video/mjpg-streamer/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/jacksonliam/mjpg-streamer";
-    description = "MJPG-streamer takes JPGs from Linux-UVC compatible webcams, filesystem or other input plugins and streams them as M-JPEG via HTTP to webbrowsers, VLC and other software";
+    description = "Takes JPGs from Linux-UVC compatible webcams, filesystem or other input plugins and streams them as M-JPEG via HTTP to webbrowsers, VLC and other software";
     platforms = platforms.linux;
     license = licenses.gpl2;
     maintainers = with maintainers; [ gebner ];
diff --git a/pkgs/applications/video/mkclean/default.nix b/pkgs/applications/video/mkclean/default.nix
index 4a3cbc81b35ee..36cd2206070c3 100644
--- a/pkgs/applications/video/mkclean/default.nix
+++ b/pkgs/applications/video/mkclean/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "mkclean is a command line tool to clean and optimize Matroska (.mkv / .mka / .mks / .mk3d) and WebM (.webm / .weba) files that have already been muxed.";
+    description = "Command line tool to clean and optimize Matroska (.mkv / .mka / .mks / .mk3d) and WebM (.webm / .weba) files that have already been muxed";
     homepage = "https://www.matroska.org";
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ chrisaw ];
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index fa68c58f5af10..77bacea2a2323 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -13,13 +13,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "50.0.0";
+  version = "51.0.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "001i206lwxjyrp406svv4zpb1pliac3f4k5zhzgkjbk2dzj85pyd";
+    sha256 = "06k2slgac0fhgypmdriwdc5s09mry22vxk316ixfj5sv3irwn7wc";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/motion/default.nix b/pkgs/applications/video/motion/default.nix
index 7f101c41edbdc..e25101250411c 100644
--- a/pkgs/applications/video/motion/default.nix
+++ b/pkgs/applications/video/motion/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "motion";
-  version = "4.3.1";
+  version = "4.3.2";
 
   src = fetchFromGitHub {
     owner  = "Motion-Project";
     repo   = "motion";
     rev    = "release-${version}";
-    sha256 = "01yy4pdgd4wa97bpw27zn5zik9iz719m1jiwkk9lb7m2a2951dhc";
+    sha256 = "09xs815jsivcilpmnrx2jkcxirj4lg5kp99fkr0p2sdxw03myi95";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/video/mpc-qt/default.nix b/pkgs/applications/video/mpc-qt/default.nix
index 07b4c79a5b3d9..d9de3eb699d4c 100644
--- a/pkgs/applications/video/mpc-qt/default.nix
+++ b/pkgs/applications/video/mpc-qt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, mkDerivation, fetchFromGitLab, pkgconfig, qmake, qtx11extras, qttools, mpv }:
+{ stdenv, mkDerivation, fetchFromGitLab, fetchpatch, pkg-config, qmake, qtx11extras, qttools, mpv }:
 
 mkDerivation rec {
   pname = "mpc-qt";
@@ -11,7 +11,14 @@ mkDerivation rec {
     sha256 = "1cis8dl9pm91mpnp696zvwsfp96gkwr8jgs45anbwd7ldw78w4x5";
   };
 
-  nativeBuildInputs = [ pkgconfig qmake qttools ];
+  patches = [
+    (fetchpatch {
+      url = "https://gitlab.com/mpc-qt/mpc-qt/-/commit/02f2bc7a22e863a89ba322b9acb61cf1aef23ba0.diff";
+      sha256 = "0khld55i194zgi18d0wch5459lfzzkbfdbl1im8akvq8ks5xijis";
+    })
+  ];
+
+  nativeBuildInputs = [ pkg-config qmake qttools ];
 
   buildInputs = [ mpv qtx11extras ];
 
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index f00b5aabf977a..86047239cc562 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -21,6 +21,7 @@
 , jackaudioSupport ? false, libjack2 ? null
 , pulseSupport ? config.pulseaudio or false, libpulseaudio ? null
 , bs2bSupport ? false, libbs2b ? null
+, v4lSupport ? false, libv4l ? null
 # For screenshots
 , libpngSupport ? true, libpng ? null
 , libjpegSupport ? true, libjpeg ? null
@@ -53,6 +54,7 @@ assert pulseSupport -> libpulseaudio != null;
 assert bs2bSupport -> libbs2b != null;
 assert libpngSupport -> libpng != null;
 assert libjpegSupport -> libjpeg != null;
+assert v4lSupport -> libv4l != null;
 
 let
 
@@ -132,6 +134,7 @@ stdenv.mkDerivation rec {
     ++ optional libpngSupport libpng
     ++ optional libjpegSupport libjpeg
     ++ optional bs2bSupport libbs2b
+    ++ optional v4lSupport libv4l
     ++ (with darwin.apple_sdk.frameworks; optionals stdenv.isDarwin [ Cocoa OpenGL ])
     ;
 
@@ -156,6 +159,7 @@ stdenv.mkDerivation rec {
     (if x264Support then "--enable-x264 --disable-x264-lavc" else "--disable-x264 --enable-x264-lavc")
     (if jackaudioSupport then "" else "--disable-jack")
     (if pulseSupport then "--enable-pulse" else "--disable-pulse")
+    (if v4lSupport then "--enable-v4l2 --enable-tv-v4l2" else "--disable-v4l2 --disable-tv-v4l2")
     "--disable-xanim"
     "--disable-ivtv"
     "--disable-xvid --disable-xvid-lavc"
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 4b7d78303b2f7..d7dc865c1694b 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -1,4 +1,4 @@
-{ config, stdenv, fetchurl, fetchFromGitHub, fetchpatch
+{ config, stdenv, fetchFromGitHub
 , addOpenGLRunpath, docutils, perl, pkgconfig, python3, wafHook, which
 , ffmpeg, freefont_ttf, freetype, libass, libpthreadstubs, mujs
 , nv-codec-headers, lua, libuchardet, libiconv ? null
@@ -31,33 +31,29 @@
   , mesa   ? null
 
 , alsaSupport        ? stdenv.isLinux, alsaLib       ? null
+, archiveSupport     ? true,           libarchive    ? null
 , bluraySupport      ? true,           libbluray     ? null
 , bs2bSupport        ? true,           libbs2b       ? null
 , cacaSupport        ? true,           libcaca       ? null
 , cmsSupport         ? true,           lcms2         ? null
 , dvdnavSupport      ? stdenv.isLinux, libdvdnav     ? null
+, jackaudioSupport   ? false,          libjack2      ? null
 , libpngSupport      ? true,           libpng        ? null
+, openalSupport      ? true,           openalSoft    ? null
 , pulseSupport       ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
 , rubberbandSupport  ? stdenv.isLinux, rubberband    ? null
-# NOTE: samba support should be removed on the next mpv release, see also:
-# https://github.com/NixOS/nixpkgs/pull/89145#issuecomment-636424362
-# Please remove this line on the next mpv release.
-, sambaSupport       ? false,          samba         ? null
 , screenSaverSupport ? true,           libXScrnSaver ? null
 , sdl2Support        ? true,           SDL2          ? null
-, sndioSupport       ? true,           sndio         ? null
+, sixelSupport       ? false,          libsixel      ? null
 , speexSupport       ? true,           speex         ? null
 , swiftSupport       ? false,          swift         ? null
 , theoraSupport      ? true,           libtheora     ? null
 , vaapiSupport       ? stdenv.isLinux, libva         ? null
+, vapoursynthSupport ? false,          vapoursynth   ? null
 , vdpauSupport       ? true,           libvdpau      ? null
 , xineramaSupport    ? stdenv.isLinux, libXinerama   ? null
 , xvSupport          ? stdenv.isLinux, libXv         ? null
 , zimgSupport        ? true,           zimg          ? null
-, archiveSupport     ? true,           libarchive    ? null
-, jackaudioSupport   ? false,          libjack2      ? null
-, openalSupport      ? true,           openalSoft    ? null
-, vapoursynthSupport ? false,          vapoursynth   ? null
 }:
 
 with stdenv.lib;
@@ -80,9 +76,8 @@ assert openalSupport      -> available openalSoft;
 assert pulseSupport       -> available libpulseaudio;
 assert rubberbandSupport  -> available rubberband;
 assert screenSaverSupport -> available libXScrnSaver;
-assert sambaSupport       -> available samba;
 assert sdl2Support        -> available SDL2;
-assert sndioSupport       -> available sndio;
+assert sixelSupport       -> available libsixel;
 assert speexSupport       -> available speex;
 assert theoraSupport      -> available libtheora;
 assert vaapiSupport       -> available libva;
@@ -100,13 +95,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "mpv";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner  = "mpv-player";
     repo   = "mpv";
     rev    = "v${version}";
-    sha256 = "0kmy1q0hp87vq4rpv7py04x8bpg1wmlzaibavmkf713jqp6qy596";
+    sha256 = "sha256-3l32qQBpvWVjbLp5CZtO039oDQeH7C/cNAKtJxrzlRk=";
   };
 
   postPatch = ''
@@ -140,9 +135,8 @@ in stdenv.mkDerivation rec {
     (enableFeature cddaSupport     "cdda")
     (enableFeature dvdnavSupport   "dvdnav")
     (enableFeature openalSupport   "openal")
-    (enableFeature sambaSupport    "libsmbclient")
     (enableFeature sdl2Support     "sdl2")
-    (enableFeature sndioSupport    "sndio")
+    (enableFeature sixelSupport    "sixel")
     (enableFeature vaapiSupport    "vaapi")
     (enableFeature waylandSupport  "wayland")
     (enableFeature stdenv.isLinux  "dvbin")
@@ -168,10 +162,9 @@ in stdenv.mkDerivation rec {
     ++ optional openalSupport      openalSoft
     ++ optional pulseSupport       libpulseaudio
     ++ optional rubberbandSupport  rubberband
-    ++ optional sambaSupport       samba
     ++ optional screenSaverSupport libXScrnSaver
     ++ optional sdl2Support        SDL2
-    ++ optional sndioSupport       sndio
+    ++ optional sixelSupport       libsixel
     ++ optional speexSupport       speex
     ++ optional theoraSupport      libtheora
     ++ optional vaapiSupport       libva
@@ -196,14 +189,6 @@ in stdenv.mkDerivation rec {
     python3 TOOLS/osxbundle.py -s build/mpv
   '';
 
-  patches = stdenv.lib.optionals stdenv.isDarwin [
-    # Fix cocoa backend. Remove with the next release
-    (fetchpatch {
-      url = "https://github.com/mpv-player/mpv/commit/188169854313b99d01da8f69fe129f0a487eb7c4.patch";
-      sha256 = "062sz4666prb2wg1rn5q8brqkzlq6lxn8sxic78a8lb0125c01f7";
-    })
-  ];
-
   postInstall = ''
     # Use a standard font
     mkdir -p $out/share/mpv
diff --git a/pkgs/applications/video/mpv/scripts/mpris.nix b/pkgs/applications/video/mpv/scripts/mpris.nix
index f19db554d045e..5f2a21ea7e440 100644
--- a/pkgs/applications/video/mpv/scripts/mpris.nix
+++ b/pkgs/applications/video/mpv/scripts/mpris.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchpatch, fetchFromGitHub, pkgconfig, glib, mpv }:
+{ stdenv, fetchpatch, fetchFromGitHub, pkgconfig, glib, mpv-unwrapped }:
 
 stdenv.mkDerivation rec {
   pname = "mpv-mpris";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ glib mpv ];
+  buildInputs = [ glib mpv-unwrapped ];
 
   installFlags = [ "SCRIPTS_DIR=$(out)/share/mpv/scripts" ];
 
diff --git a/pkgs/applications/video/mpv/wrapper.nix b/pkgs/applications/video/mpv/wrapper.nix
index 5b3ad7a983116..4d61971956e95 100644
--- a/pkgs/applications/video/mpv/wrapper.nix
+++ b/pkgs/applications/video/mpv/wrapper.nix
@@ -37,7 +37,7 @@ let
       "--prefix" "LUA_CPATH" ";" "${mpv.luaEnv}/lib/lua/${mpv.lua.luaversion}/?.so"
       "--prefix" "LUA_PATH" ";" "${mpv.luaEnv}/share/lua/${mpv.lua.luaversion}/?.lua"
     ] ++ lib.optionals mpv.vapoursynthSupport [
-      "--prefix" "PYTHONPATH" ":" "${mpv.vapoursynth}/lib/${mpv.vapoursynth.python3.sitePackages}"
+      "--prefix" "PYTHONPATH" ":" "${mpv.vapoursynth}/${mpv.vapoursynth.python3.sitePackages}"
     ] ++ lib.optionals (binPath != "") [
       "--prefix" "PATH" ":" binPath
     ] ++ (lib.lists.flatten (map
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index c8d70c72fbacc..cdecde6b869af 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -32,6 +32,7 @@
 , alsaLib
 , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux
 , libpulseaudio
+, libcef
 }:
 
 let
@@ -39,13 +40,14 @@ let
 
 in mkDerivation rec {
   pname = "obs-studio";
-  version = "26.0.0";
+  version = "26.0.2";
 
   src = fetchFromGitHub {
     owner = "obsproject";
     repo = "obs-studio";
-    rev = version;
-    sha256 = "09y57b3c88szl3wyx3cxq8jrm3pfnyg2n25hxl1ynkq3rgaavdq2";
+    rev = "refs/tags/${version}";
+    sha256 = "1bf56z2yb7gq1knqwcqj369c3wl9jr3wll5vlngmfy2gwqrczjmw";
+    fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ addOpenGLRunpath cmake pkgconfig ];
@@ -55,6 +57,7 @@ in mkDerivation rec {
     fdk_aac
     ffmpeg
     jansson
+    libcef
     libjack2
     libv4l
     libxkbcommon
@@ -73,6 +76,18 @@ in mkDerivation rec {
   ++ optional alsaSupport alsaLib
   ++ optional pulseaudioSupport libpulseaudio;
 
+  # Copied from the obs-linuxbrowser
+  postUnpack = ''
+    mkdir -p cef/Release cef/Resources cef/libcef_dll_wrapper/
+    for i in ${libcef}/share/cef/*; do
+      cp -r $i cef/Release/
+      cp -r $i cef/Resources/
+    done
+    cp -r ${libcef}/lib/libcef.so cef/Release/
+    cp -r ${libcef}/lib/libcef_dll_wrapper.a cef/libcef_dll_wrapper/
+    cp -r ${libcef}/include cef/
+  '';
+
   # obs attempts to dlopen libobs-opengl, it fails unless we make sure
   # DL_OPENGL is an explicit path. Not sure if there's a better way
   # to handle this.
@@ -80,6 +95,9 @@ in mkDerivation rec {
     "-DCMAKE_CXX_FLAGS=-DDL_OPENGL=\\\"$(out)/lib/libobs-opengl.so\\\""
     "-DOBS_VERSION_OVERRIDE=${version}"
     "-Wno-dev" # kill dev warnings that are useless for packaging
+    # Add support for browser source
+    "-DBUILD_BROWSER=ON"
+    "-DCEF_ROOT_DIR=../../cef"
   ];
 
   postInstall = ''
diff --git a/pkgs/applications/video/obs-studio/linuxbrowser.nix b/pkgs/applications/video/obs-studio/linuxbrowser.nix
deleted file mode 100644
index a33383937fb82..0000000000000
--- a/pkgs/applications/video/obs-studio/linuxbrowser.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-# 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-linuxbrowser
-# mkdir -p ~/.config/obs-studio/plugins
-# ln -s ~/.nix-profile/share/obs/obs-plugins/obs-linuxbrowser ~/.config/obs-studio/plugins/
-
-{ stdenv, fetchFromGitHub, obs-studio, cmake, libcef }:
-
-stdenv.mkDerivation rec {
-  pname = "obs-linuxbrowser";
-  version = "0.6.1-6-gf86dba6";
-
-  src = fetchFromGitHub {
-    owner = "bazukas";
-    repo = "obs-linuxbrowser";
-    rev = version;
-    sha256 = "08d7qz0721va88bcyia8p0ycw50f6x3yk97s3vzhsc9xpq691kpi";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ obs-studio ];
-  postUnpack = ''
-    mkdir -p cef/Release cef/Resources cef/libcef_dll_wrapper/
-    for i in ${libcef}/share/cef/*; do
-      ln -s $i cef/Release/
-      ln -s $i cef/Resources/
-    done
-    ln -s ${libcef}/lib/libcef.so cef/Release/
-    ln -s ${libcef}/lib/libcef_dll_wrapper.a cef/libcef_dll_wrapper/
-    ln -s ${libcef}/include cef/
-  '';
-  cmakeFlags = [
-    "-DCEF_ROOT_DIR=../../cef"
-    "-DOBS_INCLUDE_SEARCH_DIR=${obs-studio}/include/obs"
-  ];
-  installPhase = ''
-    mkdir -p $out/share/obs/obs-plugins
-    cp -r build/obs-linuxbrowser $out/share/obs/obs-plugins/
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Browser source plugin for obs-studio based on Chromium Embedded Framework";
-    homepage = "https://github.com/bazukas/obs-linuxbrowser";
-    maintainers = with maintainers; [ puffnfresh ];
-    license = licenses.gpl2;
-    platforms = with platforms; linux;
-  };
-}
diff --git a/pkgs/applications/video/obs-studio/obs-move-transition.nix b/pkgs/applications/video/obs-studio/obs-move-transition.nix
new file mode 100644
index 0000000000000..70985b438c6be
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/obs-move-transition.nix
@@ -0,0 +1,60 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, fetchurl
+, cmake
+, obs-studio
+}:
+
+stdenv.mkDerivation rec {
+  pname = "obs-move-transition";
+  version = "2.0.2";
+
+  src = fetchFromGitHub {
+    owner = "exeldro";
+    repo = "obs-move-transition";
+    rev = version;
+    sha256 = "0kr868lxlanq0y98f2hb70y92ac2nla8khsj879kjf3z6dqdpd66";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ obs-studio ];
+
+  cmakeFlags = with lib; [
+    "-DLIBOBS_INCLUDE_DIR=${obs-studio.src}/libobs"
+    "-Wno-dev"
+  ];
+
+  preConfigure = ''
+    cp ${obs-studio.src}/cmake/external/FindLibobs.cmake FindLibobs.cmake
+  '';
+
+  patches = [ ./rename-obs-move-transition-cmake.patch ];
+
+  postPatch = ''
+    substituteInPlace move-source-filter.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>'
+    substituteInPlace move-value-filter.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>'
+    substituteInPlace move-transition.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";
+    maintainers = with maintainers; [ starcraft66 ];
+    license = licenses.gpl2Plus;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/applications/video/obs-studio/obs-ndi.nix b/pkgs/applications/video/obs-studio/obs-ndi.nix
index f22ddd39ee4bc..a250a365ac63b 100644
--- a/pkgs/applications/video/obs-studio/obs-ndi.nix
+++ b/pkgs/applications/video/obs-studio/obs-ndi.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-ndi";
-  version = "4.7.1";
+  version = "4.9.1";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ obs-studio qtbase ndi ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     owner = "Palakis";
     repo = "obs-ndi";
     rev = version;
-    sha256 = "040fkbf3f3qgqcrd3072y3zrjb4fwga8zr10jym744xd7bgyylqh";
+    sha256 = "1y3xdqp55jayhg4sinwiwpk194zc4f4jf0abz647x2fprsk9jz7s";
   };
 
   patches = [ ./fix-search-path.patch ./hardcode-ndi-path.patch ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Network A/V plugin for OBS Studio";
     homepage = "https://github.com/Palakis/obs-ndi";
-    maintainers = with maintainers; [ peti ];
+    maintainers = with maintainers; [ peti jshcmpbll ];
     license = licenses.gpl2;
     platforms = with platforms; linux;
   };
diff --git a/pkgs/applications/video/obs-studio/rename-obs-move-transition-cmake.patch b/pkgs/applications/video/obs-studio/rename-obs-move-transition-cmake.patch
new file mode 100644
index 0000000000000..24c1848c10ba2
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/rename-obs-move-transition-cmake.patch
@@ -0,0 +1,34 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d116619..a1366ce 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,6 +1,17 @@
++if (POLICY CMP0048)
++	cmake_policy(SET CMP0048 NEW)
++endif (POLICY CMP0048)
++
+ project(move-transition VERSION 2.0.2)
+ set(PROJECT_FULL_NAME "Move Transition")
+ 
++include(FindLibobs.cmake)
++find_package(LibObs REQUIRED)
++
++include_directories(
++	"${LIBOBS_INCLUDE_DIR}/../plugins/obs-transitions"
++	"${LIBOBS_INCLUDE_DIR}/../UI/obs-frontend-api")
++
+ set(move-transition_HEADERS
+ 	move-transition.h
+ 	easing.h)
+@@ -34,4 +45,10 @@ target_link_libraries(move-transition
+ 	libobs)
+ 
+ set_target_properties(move-transition PROPERTIES FOLDER "plugins/exeldro")
+-install_obs_plugin_with_data(move-transition data)
++set_target_properties(move-transition PROPERTIES PREFIX "")
++
++install(TARGETS move-transition
++	LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/obs-plugins)
++
++install(DIRECTORY data/locale/
++	DESTINATION "${CMAKE_INSTALL_PREFIX}/share/obs/obs-plugins/move-transition/locale")
diff --git a/pkgs/applications/video/obs-studio/wlrobs.nix b/pkgs/applications/video/obs-studio/wlrobs.nix
index 99486a9ccc0c3..14bc80dd38809 100644
--- a/pkgs/applications/video/obs-studio/wlrobs.nix
+++ b/pkgs/applications/video/obs-studio/wlrobs.nix
@@ -7,7 +7,7 @@
 # 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, pkgconfig, libX11
-, dmabufSupport ? false, libdrm ? null, libGL ? null}:
+, dmabufSupport ? false, libdrm ? null, libGL ? null, lib}:
 
 assert dmabufSupport -> libdrm != null && libGL != null;
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
   '';
 
   mesonFlags = [
-    "-Duse_dmabuf=${if dmabufSupport then "true" else "false"}"
+    "-Duse_dmabuf=${lib.boolToString dmabufSupport}"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index cd3176249f8a1..ede47ad061f68 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -1,6 +1,7 @@
 { stdenv, mkDerivationWith, fetchFromGitHub, fetchpatch
 , doxygen, python3Packages, libopenshot
-, wrapGAppsHook, gtk3 }:
+, wrapGAppsHook, gtk3
+, qtsvg }:
 
 mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "openshot-qt";
@@ -29,6 +30,12 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
 
   postFixup = ''
     wrapProgram $out/bin/openshot-qt \
+  ''
+  # Fix toolbar icons on Darwin
+  + stdenv.lib.optionalString stdenv.isDarwin ''
+      --suffix QT_PLUGIN_PATH : "${stdenv.lib.getBin qtsvg}/lib/qt-5.12.7/plugins" \
+  ''
+  + ''
       "''${gappsWrapperArgs[@]}" \
       "''${qtWrapperArgs[@]}"
   '';
@@ -47,6 +54,6 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     '';
     license = with licenses; gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; linux;
+    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix
index d1a368b43ba24..b6bb87e665124 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix
+++ b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchFromGitHub, pkgconfig, cmake, doxygen, alsaLib , libX11, libXft, libXrandr, libXinerama, libXext, libXcursor }:
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, doxygen
+, alsaLib, libX11, libXft, libXrandr, libXinerama, libXext, libXcursor
+, zlib, AGL, Cocoa, Foundation
+}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -16,7 +19,12 @@ stdenv.mkDerivation rec {
   [ pkgconfig cmake doxygen ];
 
   buildInputs =
-  [ alsaLib libX11 libXft libXrandr libXinerama libXext libXcursor ];
+    optionals stdenv.isLinux [ alsaLib ]
+    ++ (if stdenv.isDarwin then
+          [ zlib AGL Cocoa Foundation ]
+        else
+          [ libX11 libXft libXrandr libXinerama libXext libXcursor ])
+  ;
 
   doCheck = false;
 
@@ -30,6 +38,6 @@ stdenv.mkDerivation rec {
     '';
     license = with licenses; gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; linux;
+    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/applications/video/openshot-qt/libopenshot.nix
index e24b6ee41f85b..1b6084a1d2f94 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot.nix
+++ b/pkgs/applications/video/openshot-qt/libopenshot.nix
@@ -3,7 +3,9 @@
 , libopenshot-audio, imagemagick, ffmpeg_3
 , swig, python3
 , unittest-cpp, cppzmq, zeromq
-, qtbase, qtmultimedia }:
+, qtbase, qtmultimedia
+, llvmPackages
+}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -27,7 +29,9 @@ stdenv.mkDerivation rec {
 
   buildInputs =
   [ imagemagick ffmpeg_3 swig python3 unittest-cpp
-    cppzmq zeromq qtbase qtmultimedia ];
+    cppzmq zeromq qtbase qtmultimedia ]
+    ++ optional stdenv.isDarwin llvmPackages.openmp
+  ;
 
   LIBOPENSHOT_AUDIO_DIR = libopenshot-audio;
   "UNITTEST++_INCLUDE_DIR" = "${unittest-cpp}/include/UnitTest++";
@@ -46,6 +50,6 @@ stdenv.mkDerivation rec {
     '';
     license = with licenses; gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; linux;
+    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
index b1c1dd285e205..535913c6f2b23 100644
--- a/pkgs/applications/video/pitivi/default.nix
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , fetchFromGitHub
 , fetchurl
-, fetchpatch
 , pkg-config
 , gettext
 , itstool
@@ -11,6 +10,7 @@
 , gst_all_1
 , gtk3
 , gobject-introspection
+, libpeas
 , librsvg
 , gnome3
 , libnotify
@@ -20,40 +20,15 @@
 , gsettings-desktop-schemas
 }:
 
-let
-  # gst-transcoder was merged with gst-plugins-bad 1.18.
-  # TODO: switch to that once available.
-  gst-transcoder = stdenv.mkDerivation rec {
-    version = "1.14.1";
-    pname = "gst-transcoder";
-    src = fetchFromGitHub {
-      owner = "pitivi";
-      repo = "gst-transcoder";
-      rev = version;
-      sha256 = "16skiz9akavssii529v9nr8zd54w43livc14khdyzv164djg9q8f";
-    };
-    nativeBuildInputs = [
-      pkg-config
-      meson
-      ninja
-      gobject-introspection
-      python3
-    ];
-    buildInputs = with gst_all_1; [
-      gstreamer
-      gst-plugins-base
-    ];
-  };
-
-in python3Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "pitivi";
-  version = "0.999";
+  version = "2020.09.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pitivi/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0mxp2p4gg976fp1vj3rb5rmpl5mqfzncm9vw2719irl32f1qlvyb";
+    sha256 = "1by52b56s9c3h23n40iccygkazwlhii2gb28zhnj2xz5805j05y2";
   };
 
   patches = [
@@ -61,42 +36,6 @@ in python3Packages.buildPythonApplication rec {
     # and saves them to the generated binary. This would make the build-time
     # dependencies part of the closure so we remove it.
     ./prevent-closure-contamination.patch
-
-    # Port from intltool to gettext.
-    # Needed for the following patches to apply.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/pitivi/commit/89b1053f2516c594f414c5c67c835471bce44b67.patch";
-      sha256 = "8yhArzAtZC+WjHftcSDrstBlT8j6WlGHffU9Nj+ny+c=";
-      excludes = [ "po/POTFILES.in" ];
-    })
-
-    # Complete switching to gst-transcoder in gst-plugins-bad.
-    # Otherwise there will likely be conflics.
-    # TODO: Apply this patch once we are using gst-transcoder from gst-plugins-bad.
-    # (fetchpatch {
-    #   url = "https://gitlab.gnome.org/GNOME/pitivi/commit/51ae6533ee26ffd47e453eb5f5ad8cd46f57d15e.patch";
-    #   sha256 = "zxJm+E5o+oZ3lW6wYNY/ERo2g4NmCjoY8oV+uScq8j8=";
-    # })
-
-    # Generate renderer.so on macOS instead of dylib.
-    # Needed for the following patch to apply.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/pitivi/commit/bcacadcafabf8911efb0fddc8d57329237d08cd1.patch";
-      sha256 = "2BM5acIwOgdr1L9vhtMMN4trrLuqCg/K6v6ZYtD1Fjw=";
-      postFetch = ''
-        sed -i -e "s/1.90.0.1/0.999/g" "$out"
-      '';
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/pitivi/commit/0a3cc054a2c20b59f5aaaaa307de3c9af3c0d270.patch";
-      sha256 = "6DhqRlxFWFFdLwGoFem+vPt8x7v732KMVjMF9fypMK4=";
-      postFetch = ''
-        sed "$out" -i \
-          -e "s/1.90.0.1/0.999/g" \
-          -e "s/\(-python_dep.*\)/\1\n /" \
-          -e "s/-1,9 +1,16/-1,10 +1,17/"
-      '';
-    })
   ];
 
   nativeBuildInputs = [
@@ -112,13 +51,13 @@ in python3Packages.buildPythonApplication rec {
   buildInputs = [
     gobject-introspection
     gtk3
+    libpeas
     librsvg
     gnome3.gnome-desktop
     gsound
     gnome3.adwaita-icon-theme
     gsettings-desktop-schemas
     libnotify
-    gst-transcoder
   ] ++ (with gst_all_1; [
     gstreamer
     gst-editing-services
@@ -127,7 +66,7 @@ in python3Packages.buildPythonApplication rec {
     gst-plugins-bad
     gst-plugins-ugly
     gst-libav
-    gst-validate
+    gst-devtools
   ]);
 
   pythonPath = with python3Packages; [
@@ -142,11 +81,14 @@ in python3Packages.buildPythonApplication rec {
 
   postPatch = ''
     patchShebangs ./getenvvar.py
-
-    # fetchpatch does not support renamings
-    mv data/org.pitivi.Pitivi-mime.xml data/org.pitivi.Pitivi-mime.xml.in
   '';
 
+  # Fixes error
+  #     Couldn’t recognize the image file format for file ".../share/pitivi/pixmaps/asset-proxied.svg"
+  # at startup, see https://github.com/NixOS/nixpkgs/issues/56943
+  # and https://github.com/NixOS/nixpkgs/issues/89691#issuecomment-714398705.
+  strictDeps = false;
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "pitivi";
diff --git a/pkgs/applications/video/plex-media-player/default.nix b/pkgs/applications/video/plex-media-player/default.nix
index d08a4a8524288..107fd5f599abd 100644
--- a/pkgs/applications/video/plex-media-player/default.nix
+++ b/pkgs/applications/video/plex-media-player/default.nix
@@ -11,14 +11,14 @@ let
   depSrcs = import ./deps.nix { inherit fetchurl; };
 in mkDerivation rec {
   pname = "plex-media-player";
-  version = "2.55.0.1069";
-  vsnHash = "2369bed9";
+  version = "2.58.0.1076";
+  vsnHash = "38e019da";
 
   src = fetchFromGitHub {
     owner = "plexinc";
     repo = "plex-media-player";
     rev = "v${version}-${vsnHash}";
-    sha256 = "1jq4592sgaia0xy2h7n3vh5i7c84sdh4l64fdc774r4i0bmg66qi";
+    sha256 = "XFwcSHn9wG30bDMGFITBmhp6/VI1RLmxMxFFxjntTmw=";
   };
 
   nativeBuildInputs = [ pkgconfig cmake python3 ];
@@ -41,7 +41,7 @@ in mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Streaming media player for Plex";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ kylewlacy ];
+    maintainers = with maintainers; [ ];
     homepage = "https://plex.tv";
   };
 }
diff --git a/pkgs/applications/video/plex-media-player/deps.nix b/pkgs/applications/video/plex-media-player/deps.nix
index 26b57532615aa..fddbae9375c71 100644
--- a/pkgs/applications/video/plex-media-player/deps.nix
+++ b/pkgs/applications/video/plex-media-player/deps.nix
@@ -1,28 +1,28 @@
 { fetchurl }:
 
 rec {
-  webClientBuildId = "180-afec74de50e175";
+  webClientBuildId = "183-045db5be50e175";
   webClientDesktopBuildId = "4.29.2-e50e175";
-  webClientTvBuildId = "4.29.3-afec74d";
+  webClientTvBuildId = "4.29.6-045db5b";
 
   webClient = fetchurl {
     url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/buildid.cmake";
-    sha256 = "0rabrg3lk9vgpswk8npa54hzqf2v8ghqqnysxpwn12wrp1pc2rr9";
+    sha256 = "AzHlO7Z8SxQoT6++OphwDDQ47Ombnpaby0mh1YNnSvc=";
   };
   webClientDesktopHash = fetchurl {
     url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz.sha1";
-    sha256 = "02b5yq4yc411qlg2dkw5j9lrr3cn2y4d27sin0skf6qza180473g";
+    sha256 = "7vUcTuN5ypFFIrBygyutEZu4MYl5WPmFureQl6HvVx8=";
   };
   webClientDesktop = fetchurl {
     url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz";
-    sha256 = "0l3xv48kr2rx878a40zrgwif2ga2ikv6fdcbq9pylycnmm41pxmh";
+    sha256 = "xWwXhN2N4Pvalxtm5PwZprkcFU6RIiE6fA71d2E6lP4=";
   };
   webClientTvHash = fetchurl {
     url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz.sha1";
-    sha256 = "0wq115y2xrgwqrzr43nhkq8ba237z20yfp426ki2kdypsq8fjqka";
+    sha256 = "U8u5SOxPpz8HOJKrYXlIHx0X08Flspl67hlzc57g7v8=";
   };
   webClientTv = fetchurl {
     url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz";
-    sha256 = "1wax1qslm226l2w53m2fnl849jw349qhg3rjghx7vip5pmb43vw9";
+    sha256 = "4Et9d4BO+4UParvsSJglJvb+cnp0oUP3O4MDNnLeP7g=";
   };
 }
diff --git a/pkgs/applications/video/plex-mpv-shim/default.nix b/pkgs/applications/video/plex-mpv-shim/default.nix
index 993bdd67b0d0b..e25c101b5dfb3 100644
--- a/pkgs/applications/video/plex-mpv-shim/default.nix
+++ b/pkgs/applications/video/plex-mpv-shim/default.nix
@@ -2,20 +2,20 @@
 
 buildPythonApplication rec {
   pname = "plex-mpv-shim";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "iwalton3";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0fi0glnl7nr6754r9jk7d7dsnjbdm7civvhcj2l009yxiv2rxzj3";
+    sha256 = "06i6pp4jg0f9h6ash60fj1l5mbsdw3zyx7c6anbsrn86802i7paa";
   };
 
   propagatedBuildInputs = [ mpv requests python-mpv-jsonipc ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/iwalton3/plex-mpv-shim";
-    description = "Allows casting of videos to MPV via the Plex mobile and web app.";
+    description = "Allows casting of videos to MPV via the Plex mobile and web app";
     license = licenses.mit;
   };
 }
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index f1d77fb7d147b..b1db8cc57d2a8 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -1,36 +1,64 @@
-{ stdenv, fetchFromGitHub, fetchpatch, mkDerivation, SDL2, frei0r, gettext, mlt
-, jack1, pkgconfig, qtbase, qtmultimedia, qtwebkit, qtx11extras, qtwebsockets
-, qtquickcontrols, qtgraphicaleffects, libmlt, qmake, qttools, genericUpdater
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, mkDerivation
+, SDL2
+, frei0r
+, ladspaPlugins
+, gettext
+, mlt
+, jack1
+, pkgconfig
+, qtbase
+, qtmultimedia
+, qtx11extras
+, qtwebsockets
+, qtquickcontrols2
+, qtgraphicaleffects
+, qmake
+, qttools
+, genericUpdater
 , common-updater-scripts
 }:
 
-assert stdenv.lib.versionAtLeast libmlt.version "6.22.1";
 assert stdenv.lib.versionAtLeast mlt.version "6.22.1";
 
 mkDerivation rec {
   pname = "shotcut";
-  version = "20.09.13";
+  version = "20.11.25";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
     rev = "v${version}";
-    sha256 = "1q7ba6j3b2yzn3y5z9s5ldh15wrvhi6vymhwm910nqa5379dcc21";
+    sha256 = "1nm71gnjd082m7bxlmrkngn079m3fdrb059f7wy23qj7khgpi3iz";
   };
 
   enableParallelBuilding = true;
   nativeBuildInputs = [ pkgconfig qmake ];
   buildInputs = [
-    SDL2 frei0r gettext mlt libmlt
-    qtbase qtmultimedia qtwebkit qtx11extras qtwebsockets qtquickcontrols
+    SDL2
+    frei0r
+    ladspaPlugins
+    gettext
+    mlt
+    qtbase
+    qtmultimedia
+    qtx11extras
+    qtwebsockets
+    qtquickcontrols2
     qtgraphicaleffects
   ];
 
-  NIX_CFLAGS_COMPILE = "-I${libmlt}/include/mlt++ -I${libmlt}/include/mlt";
-  qmakeFlags = [ "QMAKE_LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease" "SHOTCUT_VERSION=${version}" ];
+  NIX_CFLAGS_COMPILE = "-I${mlt.dev}/include/mlt++ -I${mlt.dev}/include/mlt";
+  qmakeFlags = [
+    "QMAKE_LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease"
+    "SHOTCUT_VERSION=${version}"
+    "DEFINES+=SHOTCUT_NOUPGRADE"
+  ];
 
   prePatch = ''
-    sed 's_shotcutPath, "qmelt"_"${mlt}/bin/melt"_' -i src/jobs/meltjob.cpp
+    sed 's_shotcutPath, "melt"_"${mlt}/bin/melt"_' -i src/jobs/meltjob.cpp
     sed 's_shotcutPath, "ffmpeg"_"${mlt.ffmpeg}/bin/ffmpeg"_' -i src/jobs/ffmpegjob.cpp
     sed 's_qApp->applicationDirPath(), "ffmpeg"_"${mlt.ffmpeg}/bin/ffmpeg"_' -i src/docks/encodedock.cpp
     NICE=$(type -P nice)
@@ -39,9 +67,10 @@ mkDerivation rec {
 
   qtWrapperArgs = [
     "--prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1"
-    "--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [jack1 SDL2]}"
+    "--prefix LADSPA_PATH : ${ladspaPlugins}/lib/ladspa"
+    "--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ jack1 SDL2 ]}"
     "--prefix PATH : ${mlt}/bin"
-    ];
+  ];
 
   postInstall = ''
     mkdir -p $out/share/shotcut
diff --git a/pkgs/applications/video/streamlink-twitch-gui/bin.nix b/pkgs/applications/video/streamlink-twitch-gui/bin.nix
index 251f495b7e15f..1c955a36f34a6 100644
--- a/pkgs/applications/video/streamlink-twitch-gui/bin.nix
+++ b/pkgs/applications/video/streamlink-twitch-gui/bin.nix
@@ -1,6 +1,6 @@
 { autoPatchelfHook, fetchurl, lib, makeDesktopItem, makeWrapper, stdenv, wrapGAppsHook
 , at-spi2-core, atk, alsaLib, cairo, cups, dbus, expat, gcc-unwrapped
-, gdk-pixbuf, glib, gnome2, gtk3-x11, libudev0-shim, libuuid, nss, nspr, xorg
+, gdk-pixbuf, glib, pango, gtk3-x11, libudev0-shim, libuuid, nss, nspr, xorg
 , streamlink }:
 
 let
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     gcc-unwrapped
     gdk-pixbuf
     glib
-    gnome2.pango
+    pango
     gtk3-x11
     nss
     nspr
diff --git a/pkgs/applications/video/vcs/default.nix b/pkgs/applications/video/vcs/default.nix
index 0cbdeaaf6ff86..0280cfb3f1f4e 100644
--- a/pkgs/applications/video/vcs/default.nix
+++ b/pkgs/applications/video/vcs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, makeWrapper
-, coreutils, ffmpeg, gawk, gnugrep, gnused, imagemagick, mplayer, utillinux
+, coreutils, ffmpeg, gawk, gnugrep, gnused, imagemagick, mplayer, util-linux
 , dejavu_fonts
 }:
 with stdenv.lib;
 let
   version = "1.13.4";
-  runtimeDeps = [ coreutils ffmpeg gawk gnugrep gnused imagemagick mplayer utillinux ];
+  runtimeDeps = [ coreutils ffmpeg gawk gnugrep gnused imagemagick mplayer util-linux ];
 in
 stdenv.mkDerivation {
   pname = "vcs";
diff --git a/pkgs/applications/video/vdr/plugins.nix b/pkgs/applications/video/vdr/plugins.nix
index 30cd93178c25b..e72de8e61f205 100644
--- a/pkgs/applications/video/vdr/plugins.nix
+++ b/pkgs/applications/video/vdr/plugins.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchgit, vdr, alsaLib, fetchFromGitHub
 , libvdpau, libxcb, xcbutilwm, graphicsmagick, libav, pcre, xorgserver, ffmpeg_3
-, libiconv, boost, libgcrypt, perl, utillinux, groff, libva, xorg, ncurses
+, libiconv, boost, libgcrypt, perl, util-linux, groff, libva, xorg, ncurses
 , callPackage
 }: let
   mkPlugin = name: stdenv.mkDerivation {
@@ -146,7 +146,7 @@ in {
 
     nativeBuildInputs = [
       perl # for pod2man and pos2html
-      utillinux
+      util-linux
       groff
     ];
 
diff --git a/pkgs/applications/video/webcamoid/default.nix b/pkgs/applications/video/webcamoid/default.nix
index aa559215fe89c..a0d25f2ec1eaa 100644
--- a/pkgs/applications/video/webcamoid/default.nix
+++ b/pkgs/applications/video/webcamoid/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, libxcb, mkDerivation, qmake
+{ lib, fetchFromGitHub, pkgconfig, libxcb, mkDerivation, qmake
 , qtbase, qtdeclarative, qtquickcontrols, qtquickcontrols2
 , ffmpeg-full, gst_all_1, libpulseaudio, alsaLib, jack2
 , v4l-utils }:
@@ -29,7 +29,7 @@ mkDerivation rec {
     "INSTALLQMLDIR=${placeholder "out"}/lib/qt/qml"
   ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Webcam Capture Software";
     longDescription = "Webcamoid is a full featured and multiplatform webcam suite.";
     homepage = "https://github.com/webcamoid/webcamoid/";
diff --git a/pkgs/applications/video/webtorrent_desktop/default.nix b/pkgs/applications/video/webtorrent_desktop/default.nix
index ef50dad86bcc7..961cb403f13c2 100644
--- a/pkgs/applications/video/webtorrent_desktop/default.nix
+++ b/pkgs/applications/video/webtorrent_desktop/default.nix
@@ -85,7 +85,7 @@
     '';
 
     meta = with stdenv.lib; {
-      description = "Streaming torrent app for Mac, Windows, and Linux.";
+      description = "Streaming torrent app for Mac, Windows, and Linux";
       homepage = "https://webtorrent.io/desktop";
       license = licenses.mit;
       maintainers = [ maintainers.flokli ];
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index 94d0ae94dbded..6301182771fb9 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, edk2, utillinux, nasm, iasl
+{ stdenv, lib, edk2, util-linux, nasm, iasl
 , csmSupport ? false, seabios ? null
 , secureBoot ? false
 }:
@@ -24,7 +24,7 @@ edk2.mkDerivation projectDscPath {
 
   outputs = [ "out" "fd" ];
 
-  buildInputs = [ utillinux nasm iasl ];
+  buildInputs = [ util-linux nasm iasl ];
 
   hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ];
 
diff --git a/pkgs/applications/virtualization/charliecloud/default.nix b/pkgs/applications/virtualization/charliecloud/default.nix
index a7e8260765fe1..d6cbc25d883b2 100644
--- a/pkgs/applications/virtualization/charliecloud/default.nix
+++ b/pkgs/applications/virtualization/charliecloud/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
 
-  version = "0.19";
+  version = "0.20";
   pname = "charliecloud";
 
   src = fetchFromGitHub {
     owner = "hpc";
     repo = "charliecloud";
     rev = "v${version}";
-    sha256 = "1rmvm0s1jdpzfg32b3hwsbdkzws7gsy4xq227hmzv3n2dv64svm6";
+    sha256 = "15ihffwhpjnzgz0ir5vc9la4fwkqj91vmrcsb2r58ikq7h9sk45j";
   };
 
   nativeBuildInputs = [ autoreconfHook makeWrapper ];
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index eded437a62db5..50b9b8f36aaba 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -1,10 +1,10 @@
-{ lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, installShellFiles, utillinux }:
+{ lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, installShellFiles, util-linux, nixosTests }:
 
 with lib;
 
 buildGoPackage rec {
   pname = "containerd";
-  version = "1.4.1";
+  version = "1.4.2";
   # git commit for the above version's tag
   commit = "7ad184331fa3e55e52b890ea95e65ba581ae3429";
 
@@ -12,13 +12,13 @@ buildGoPackage rec {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "1k6dqaidnldf7kpxdszf0wn6xb8m6vaizm2aza81fri1q0051213";
+    sha256 = "17ciyvqz0j1q2vyzwkz6bkvxpz2d7y1kk99fv68ar7l4mr8pyp78";
   };
 
   goPackagePath = "github.com/containerd/containerd";
   outputs = [ "out" "man" ];
 
-  nativeBuildInputs = [ go-md2man installShellFiles utillinux ];
+  nativeBuildInputs = [ go-md2man installShellFiles util-linux ];
 
   buildInputs = [ btrfs-progs ];
 
@@ -42,6 +42,8 @@ buildGoPackage rec {
     installManPage man/*.[1-9]
   '';
 
+  passthru.tests = { inherit (nixosTests) docker; };
+
   meta = {
     homepage = "https://containerd.io/";
     description = "A daemon to control runC";
diff --git a/pkgs/applications/virtualization/cri-o/wrapper.nix b/pkgs/applications/virtualization/cri-o/wrapper.nix
index 6d72623d86cbf..5aca291a60182 100644
--- a/pkgs/applications/virtualization/cri-o/wrapper.nix
+++ b/pkgs/applications/virtualization/cri-o/wrapper.nix
@@ -7,7 +7,7 @@
 , runc # Default container runtime
 , crun # Container runtime (default with cgroups v2 for podman/buildah)
 , conmon # Container runtime monitor
-, utillinux # nsenter
+, util-linux # nsenter
 , cni-plugins # not added to path
 , iptables
 }:
@@ -19,7 +19,7 @@ let
     runc
     crun
     conmon
-    utillinux
+    util-linux
     iptables
   ] ++ extraPackages);
 
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index e52401ba35fca..ef506c01cfb69 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -35,13 +35,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "0.15";
+  version = "0.16";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    sha256 = "0cqzk2lm1w0g2v6qhiliq565cf4p7hzh839jb01p3i5cr9kx11kc";
+    sha256 = "03547axiwv161sbymh2vxqx591xr4nq6b9y8y45m15xvfv0f7vl8";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/virtualization/docker-slim/default.nix b/pkgs/applications/virtualization/docker-slim/default.nix
index 058f6fd8cccac..84e0135f665b5 100644
--- a/pkgs/applications/virtualization/docker-slim/default.nix
+++ b/pkgs/applications/virtualization/docker-slim/default.nix
@@ -40,6 +40,6 @@ buildGoPackage rec {
     description = "Minify and secure Docker containers";
     homepage = "https://dockersl.im/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ filalex77 marsam mbrgm ];
+    maintainers = with maintainers; [ Br1ght0ne marsam mbrgm ];
   };
 }
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index a1d48b0588a6c..5df0ae39a2515 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -1,9 +1,10 @@
 { stdenv, lib, fetchFromGitHub, fetchpatch, buildGoPackage
-, makeWrapper, removeReferencesTo, installShellFiles, pkgconfig
+, makeWrapper, installShellFiles, pkgconfig
 , go-md2man, go, containerd, runc, docker-proxy, tini, libtool
 , sqlite, iproute, lvm2, systemd
-, btrfs-progs, iptables, e2fsprogs, xz, utillinux, xfsprogs, git
+, btrfs-progs, iptables, e2fsprogs, xz, util-linux, xfsprogs, git
 , procps, libseccomp
+, nixosTests
 }:
 
 with lib;
@@ -29,15 +30,20 @@ rec {
       patches = [];
     });
 
-    docker-containerd = containerd.overrideAttrs (oldAttrs: {
+    docker-containerd = let
+      withlibseccomp = lib.versionAtLeast version "19.03";
+    in containerd.overrideAttrs (oldAttrs: {
       name = "docker-containerd-${version}";
       inherit version;
       src = fetchFromGitHub {
-        owner = "docker";
+        owner = "containerd";
         repo = "containerd";
         rev = containerdRev;
         sha256 = containerdSha256;
       };
+      # This should be removed once Docker uses containerd >=1.4
+      nativeBuildInputs = oldAttrs.nativeBuildInputs ++ lib.optional withlibseccomp pkgconfig;
+      buildInputs = oldAttrs.buildInputs ++ lib.optional withlibseccomp libseccomp;
     });
 
     docker-tini = tini.overrideAttrs  (oldAttrs: {
@@ -89,7 +95,7 @@ rec {
 
     goPackagePath = "github.com/docker/docker-ce";
 
-    nativeBuildInputs = [ pkgconfig go-md2man go libtool removeReferencesTo installShellFiles ];
+    nativeBuildInputs = [ pkgconfig go-md2man go libtool installShellFiles ];
     buildInputs = [
       makeWrapper
     ] ++ optionals (stdenv.isLinux) [
@@ -134,7 +140,7 @@ rec {
 
     outputs = ["out" "man"];
 
-    extraPath = optionals (stdenv.isLinux) (makeBinPath [ iproute iptables e2fsprogs xz xfsprogs procps utillinux git ]);
+    extraPath = optionals (stdenv.isLinux) (makeBinPath [ iproute iptables e2fsprogs xz xfsprogs procps util-linux git ]);
 
     installPhase = ''
       cd ./go/src/${goPackagePath}
@@ -179,11 +185,7 @@ rec {
       installManPage man/*/*.[1-9]
     '';
 
-    preFixup = ''
-      find $out -type f -exec remove-references-to -t ${stdenv.cc.cc} '{}' +
-    '' + optionalString (stdenv.isLinux) ''
-      find $out -type f -exec remove-references-to -t ${stdenv.glibc.dev} '{}' +
-    '';
+    passthru.tests = { inherit (nixosTests) docker; };
 
     meta = {
       homepage = "https://www.docker.com/";
@@ -210,13 +212,14 @@ rec {
   };
 
   docker_19_03 = makeOverridable dockerGen rec {
-    version = "19.03.12";
+    version = "19.03.13";
     rev = "v${version}";
-    sha256 = "0i5xr8q3yjrz5zsjcq63v4g1mzqpingjr1hbf9amk14484i2wkw7";
+    sha256 = "139qqy8jiz1phnngknpa7c1nk9iqwd3hcc9as8x50p1vnycwzr3f";
     runcRev = "dc9208a3303feef5b3839f4323d9beb36df0a9dd"; # v1.0.0-rc10
     runcSha256 = "0pi3rvj585997m4z9ljkxz2z9yxf9p2jr0pmqbqrc7bc95f5hagk";
-    containerdRev = "7ad184331fa3e55e52b890ea95e65ba581ae3429"; # v1.2.13
-    containerdSha256 = "1rac3iak3jpz57yarxc72bxgxvravwrl0j6s6w2nxrmh2m3kxqzn";
+    # Note: Once all packaged Docker versions use containerd <=1.2 or >=1.4 remove the libseccomp and pkgconfig inputs above
+    containerdRev = "8fba4e9a7d01810a393d5d25a3621dc101981175"; # v1.3.7
+    containerdSha256 = "10zy507ajslizicagb64dvbs7wmw0j4x3hdhygbdh4g2nv3mgjb7";
     tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662"; # v0.18.0
     tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
   };
diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix
index 9513457d86d3a..98b95fa2bec3f 100644
--- a/pkgs/applications/virtualization/firecracker/default.nix
+++ b/pkgs/applications/virtualization/firecracker/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv }:
 
 let
-  version = "0.22.0";
+  version = "0.23.0";
 
   suffix = {
     x86_64-linux  = "x86_64";
@@ -15,13 +15,13 @@ let
   };
 
   firecracker-bin = fetchbin "firecracker" {
-    x86_64-linux  = "1jl7cmw53fbykcji8a0bkdy82mgpfr8km3ab6iwsrswvahh4srx7";
-    aarch64-linux = "15vi6441gr4jy0698ifashgv1ic7iz0kbm7c28m2jd8z08p6bnlz";
+    x86_64-linux  = "11h6qkq55y1w0mlkfkbnpxxai73rzxkiz07i747m7a9azbrmldp8";
+    aarch64-linux = "0zyx7md54w0fhqk1anfyjfdqrkg2mjyy17y9jk17p34yrw8j9y29";
   };
 
   jailer-bin = fetchbin "jailer" {
-    x86_64-linux  = "0wir7fi1iqvw02908axfaqzp9q5qyg4yk5jicp8s493iz3vhm9h7";
-    aarch64-linux = "1l3yc9j27vxfyn89xmxi1ir635v7l8ikwpw9a30dhh50wa3rm4jy";
+    x86_64-linux  = "15slr2azqvyqlhvlh7zk1n0rkfq282kj0pllp19r0yl1w8ns1gw5";
+    aarch64-linux = "1d92jhd6fb7w7ciz15rcfp8jf74r2503w2fl1b6pznpc8h4qscfd";
   };
 
 in
diff --git a/pkgs/applications/virtualization/looking-glass-client/default.nix b/pkgs/applications/virtualization/looking-glass-client/default.nix
index a0ec55dd895b7..74370aafa40ed 100644
--- a/pkgs/applications/virtualization/looking-glass-client/default.nix
+++ b/pkgs/applications/virtualization/looking-glass-client/default.nix
@@ -1,36 +1,30 @@
-{ stdenv, fetchFromGitHub, fetchpatch
-, cmake, pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice-protocol, fontconfig
-, libX11, freefont_ttf, nettle, libconfig, wayland, libpthreadstubs, libXdmcp
-, libXfixes, libbfd
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, SDL2_ttf, spice-protocol
+, fontconfig, libX11, freefont_ttf, nettle, libpthreadstubs, libXau, libXdmcp
+, libXi, libXext, wayland, libffi, libGLU, expat, libbfd
 }:
 
 stdenv.mkDerivation rec {
   pname = "looking-glass-client";
-  version = "B1";
+  version = "B2";
 
   src = fetchFromGitHub {
     owner = "gnif";
     repo = "LookingGlass";
     rev = version;
-    sha256 = "0vykv7yjz4fima9d82m83acd8ab72nq4wyzyfs1c499i27wz91ia";
+    sha256 = "100b5kzh8gr81kzw5fdqz2jsms25hv3815d31vy3qd6lrlm5gs3d";
+    fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
-    SDL SDL2 SDL2_ttf openssl spice-protocol fontconfig
-    libX11 freefont_ttf nettle libconfig wayland libpthreadstubs
-    libXdmcp libXfixes libbfd cmake
+    SDL2 SDL2_ttf spice-protocol fontconfig libX11 freefont_ttf nettle
+    libpthreadstubs libXau libXdmcp libXi libXext wayland libffi libGLU expat
+    libbfd
   ];
 
-  enableParallelBuilding = true;
-
   sourceRoot = "source/client";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mv looking-glass-client $out/bin
-  '';
+  NIX_CFLAGS_COMPILE = "-mavx"; # Fix some sort of AVX compiler problem.
 
   meta = with stdenv.lib; {
     description = "A KVM Frame Relay (KVMFR) implementation";
@@ -41,9 +35,9 @@ stdenv.mkDerivation rec {
       step required to move away from dual booting with other operating systems
       for legacy programs that require high performance graphics.
     '';
-    homepage = "https://looking-glass.hostfission.com/";
+    homepage = "https://looking-glass.io/";
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.alexbakker ];
+    maintainers = with maintainers; [ alexbakker ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/nvidia-docker/avoid-static-libtirpc-build.patch b/pkgs/applications/virtualization/nvidia-docker/avoid-static-libtirpc-build.patch
new file mode 100644
index 0000000000000..d3f207de00b29
--- /dev/null
+++ b/pkgs/applications/virtualization/nvidia-docker/avoid-static-libtirpc-build.patch
@@ -0,0 +1,21 @@
+diff --git a/Makefile b/Makefile
+index 0070ada..802cef0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -202,7 +202,7 @@ $(BIN_NAME): $(BIN_OBJS)
+ ##### Public rules #####
+ 
+ all: CPPFLAGS += -DNDEBUG
+-all: shared static tools
++all: shared tools
+ 
+ # Run with ASAN_OPTIONS="protect_shadow_gap=0" to avoid CUDA OOM errors
+ debug: CFLAGS += -pedantic -fsanitize=undefined -fno-omit-frame-pointer -fno-common -fsanitize=address
+@@ -232,7 +232,6 @@ install: all
+ 	# Install header files
+ 	$(INSTALL) -m 644 $(LIB_INCS) $(DESTDIR)$(includedir)
+ 	# Install library files
+-	$(INSTALL) -m 644 $(LIB_STATIC) $(DESTDIR)$(libdir)
+ 	$(INSTALL) -m 755 $(LIB_SHARED) $(DESTDIR)$(libdir)
+ 	$(LN) -sf $(LIB_SONAME) $(DESTDIR)$(libdir)/$(LIB_SYMLINK)
+ 	$(LDCONFIG) -n $(DESTDIR)$(libdir)
diff --git a/pkgs/applications/virtualization/nvidia-docker/libnvc.nix b/pkgs/applications/virtualization/nvidia-docker/libnvc.nix
index 5b97d7fffa299..6079f215ec801 100644
--- a/pkgs/applications/virtualization/nvidia-docker/libnvc.nix
+++ b/pkgs/applications/virtualization/nvidia-docker/libnvc.nix
@@ -1,17 +1,23 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, libelf, libcap, libseccomp }:
-
-with lib; let
-
+{ stdenv
+, lib
+, fetchFromGitHub
+, pkgconfig
+, libelf
+, libcap
+, libseccomp
+, rpcsvc-proto
+, libtirpc
+}:
+let
   modp-ver = "396.51";
-
   nvidia-modprobe = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "nvidia-modprobe";
     rev = modp-ver;
     sha256 = "1fw2qwc84k64agw6fx2v0mjf88aggph9c6qhs4cv7l3gmflv8qbk";
   };
-
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "libnvidia-container";
   version = "1.0.6";
 
@@ -22,19 +28,32 @@ in stdenv.mkDerivation rec {
     sha256 = "1pnpc9knwh8d1zqb28zc3spkjc00w0z10vd3jna8ksvpl35jl7w3";
   };
 
-  # locations of nvidia-driver libraries are not resolved via ldconfig which
-  # doesn't get used on NixOS. Additional support binaries like nvidia-smi are
-  # not resolved via the environment PATH but via the derivation output path.
-  patches = [ ./libnvc-ldconfig-and-path-fixes.patch ];
+  patches = [
+    # locations of nvidia-driver libraries are not resolved via ldconfig which
+    # doesn't get used on NixOS. Additional support binaries like nvidia-smi
+    # are not resolved via the environment PATH but via the derivation output
+    # path.
+    ./libnvc-ldconfig-and-path-fixes.patch
+
+    # the libnvidia-container Makefile wants to build and install static
+    # libtirpc libraries; this patch prevents that from happening
+    ./avoid-static-libtirpc-build.patch
+  ];
 
   makeFlags = [
     "WITH_LIBELF=yes"
     "prefix=$(out)"
+    # we can't use the WITH_TIRPC=yes flag that exists in the Makefile for the
+    # same reason we patch out the static library use of libtirpc so we set the
+    # define in CFLAGS
+    "CFLAGS=-DWITH_TIRPC"
   ];
 
   postPatch = ''
-    sed -i 's/^REVISION :=.*/REVISION = ${src.rev}/' mk/common.mk
-    sed -i 's/^COMPILER :=.*/COMPILER = $(CC)/' mk/common.mk
+    sed -i \
+      -e 's/^REVISION :=.*/REVISION = ${src.rev}/' \
+      -e 's/^COMPILER :=.*/COMPILER = $(CC)/' \
+      mk/common.mk
 
     mkdir -p deps/src/nvidia-modprobe-${modp-ver}
     cp -r ${nvidia-modprobe}/* deps/src/nvidia-modprobe-${modp-ver}
@@ -42,11 +61,14 @@ in stdenv.mkDerivation rec {
     touch deps/src/nvidia-modprobe-${modp-ver}/.download_stamp
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
+  NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
+  NIX_LDFLAGS = [ "-L${libtirpc.dev}/lib" "-ltirpc" ];
+
+  nativeBuildInputs = [ pkgconfig rpcsvc-proto ];
 
-  buildInputs = [ libelf libcap libseccomp ];
+  buildInputs = [ libelf libcap libseccomp libtirpc ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://github.com/NVIDIA/libnvidia-container";
     description = "NVIDIA container runtime library";
     license = licenses.bsd3;
diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix
index df9a89293f2c1..4cdce2172a211 100644
--- a/pkgs/applications/virtualization/open-vm-tools/default.nix
+++ b/pkgs/applications/virtualization/open-vm-tools/default.nix
@@ -1,18 +1,18 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook,
-  fuse, libmspack, openssl, pam, xercesc, icu, libdnet, procps,
+  fuse, libmspack, openssl, pam, xercesc, icu, libdnet, procps, libtirpc, rpcsvc-proto,
   libX11, libXext, libXinerama, libXi, libXrender, libXrandr, libXtst,
   pkgconfig, glib, gdk-pixbuf-xlib, gtk3, gtkmm3, iproute, dbus, systemd, which,
   withX ? true }:
 
 stdenv.mkDerivation rec {
   pname = "open-vm-tools";
-  version = "11.1.0";
+  version = "11.2.0";
 
   src = fetchFromGitHub {
     owner  = "vmware";
     repo   = "open-vm-tools";
     rev    = "stable-${version}";
-    sha256 = "1wyiz8j5b22ajrr1fh9cn55lsgd5g13q0i8wvk2a0yw0vaw1883s";
+    sha256 = "125y3zdhj353dmmjmssdaib2zp1jg5aiqmvpgkrzhnh5nx2icfv6";
   };
 
   sourceRoot = "${src.name}/open-vm-tools";
@@ -20,14 +20,9 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig ];
-  buildInputs = [ fuse glib icu libdnet libmspack openssl pam procps xercesc ]
+  buildInputs = [ fuse glib icu libdnet libmspack libtirpc openssl pam procps rpcsvc-proto xercesc ]
       ++ lib.optionals withX [ gdk-pixbuf-xlib gtk3 gtkmm3 libX11 libXext libXinerama libXi libXrender libXrandr libXtst ];
 
-  patches = [
-    ./recognize_nixos.patch
-    ./find_gdk_pixbuf_xlib.patch #See https://github.com/vmware/open-vm-tools/pull/438
-  ];
-
   postPatch = ''
      # Build bugfix for 10.1.0, stolen from Arch PKGBUILD
      mkdir -p common-agent/etc/config
diff --git a/pkgs/applications/virtualization/open-vm-tools/find_gdk_pixbuf_xlib.patch b/pkgs/applications/virtualization/open-vm-tools/find_gdk_pixbuf_xlib.patch
deleted file mode 100644
index 6606c50e77d95..0000000000000
--- a/pkgs/applications/virtualization/open-vm-tools/find_gdk_pixbuf_xlib.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/lib/appUtil/Makefile.am b/lib/appUtil/Makefile.am
-index a0d8e391..899cd4e9 100644
---- a/lib/appUtil/Makefile.am
-+++ b/lib/appUtil/Makefile.am
-@@ -21,4 +21,6 @@ libAppUtil_la_SOURCES =
- libAppUtil_la_SOURCES += appUtil.c
- libAppUtil_la_SOURCES += appUtilX11.c
- 
--AM_CFLAGS = @GTK_CPPFLAGS@
-+AM_CFLAGS =
-+AM_CFLAGS += @GTK_CPPFLAGS@
-+AM_CFLAGS += @GDK_PIXBUF_XLIB2_CPPFLAGS@
diff --git a/pkgs/applications/virtualization/open-vm-tools/recognize_nixos.patch b/pkgs/applications/virtualization/open-vm-tools/recognize_nixos.patch
deleted file mode 100644
index 95b0951b5853d..0000000000000
--- a/pkgs/applications/virtualization/open-vm-tools/recognize_nixos.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/lib/include/guest_os.h b/lib/include/guest_os.h
-index 868dec68..0b9a2ad7 100644
---- a/lib/include/guest_os.h
-+++ b/lib/include/guest_os.h
-@@ -278,6 +278,7 @@ Bool Gos_InSetArray(uint32 gos, const uint32 *set);
- #define STR_OS_MANDRAKE_FULL      "Mandrake Linux"
- #define STR_OS_MANDRIVA           "mandriva"
- #define STR_OS_MKLINUX            "MkLinux"
-+#define STR_OS_NIXOS              "NixOS"
- #define STR_OS_NOVELL             "nld9"
- #define STR_OS_NOVELL_FULL        "Novell Linux Desktop 9"
- #define STR_OS_ORACLE6            "oraclelinux6"
-diff --git a/lib/misc/hostinfoPosix.c b/lib/misc/hostinfoPosix.c
-index 348a67ec..5f8beb2b 100644
---- a/lib/misc/hostinfoPosix.c
-+++ b/lib/misc/hostinfoPosix.c
-@@ -203,6 +203,7 @@ static const DistroInfo distroArray[] = {
-    { "Mandrake",           "/etc/mandrake-release"      },
-    { "Mandriva",           "/etc/mandriva-release"      },
-    { "MkLinux",            "/etc/mklinux-release"       },
-+   { "NixOS",              "/etc/os-release"            },
-    { "Novell",             "/etc/nld-release"           },
-    { "OracleLinux",        "/etc/oracle-release"        },
-    { "Photon",             "/etc/lsb-release"           },
-@@ -865,6 +866,8 @@ HostinfoGetOSShortName(const char *distro,      // IN: full distro name
-       }
-    } else if (strstr(distroLower, "mandrake")) {
-       Str_Strcpy(distroShort, STR_OS_MANDRAKE, distroShortSize);
-+   } else if (strstr(distroLower, "nixos")) {
-+      Str_Strcpy(distroShort, STR_OS_NIXOS, distroShortSize);
-    } else if (strstr(distroLower, "turbolinux")) {
-       Str_Strcpy(distroShort, STR_OS_TURBO, distroShortSize);
-    } else if (strstr(distroLower, "sun")) {
diff --git a/pkgs/applications/virtualization/podman/wrapper.nix b/pkgs/applications/virtualization/podman/wrapper.nix
index d97d182496a4e..863888227b37d 100644
--- a/pkgs/applications/virtualization/podman/wrapper.nix
+++ b/pkgs/applications/virtualization/podman/wrapper.nix
@@ -9,7 +9,7 @@
 , conmon # Container runtime monitor
 , slirp4netns # User-mode networking for unprivileged namespaces
 , fuse-overlayfs # CoW for images, much faster than default vfs
-, utillinux # nsenter
+, util-linux # nsenter
 , cni-plugins # not added to path
 , iptables
 }:
@@ -23,7 +23,7 @@ let
     conmon
     slirp4netns
     fuse-overlayfs
-    utillinux
+    util-linux
     iptables
   ] ++ extraPackages);
 
diff --git a/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch b/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch
new file mode 100644
index 0000000000000..fa708b2983651
--- /dev/null
+++ b/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch
@@ -0,0 +1,43 @@
+From 6d19c0cc6c5a9bba308fc29d7c0edc2dc372c41b Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Wed, 21 Oct 2020 11:35:50 +0530
+Subject: [PATCH] net: remove an assert call in eth_get_gso_type
+
+eth_get_gso_type() routine returns segmentation offload type based on
+L3 protocol type. It calls g_assert_not_reached if L3 protocol is
+unknown, making the following return statement unreachable. Remove the
+g_assert call, it maybe triggered by a guest user.
+
+Reported-by: Gaoning Pan <pgn@zju.edu.cn>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+---
+ net/eth.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/net/eth.c b/net/eth.c
+index 0c1d413ee2..eee77071f9 100644
+--- a/net/eth.c
++++ b/net/eth.c
+@@ -16,6 +16,7 @@
+  */
+ 
+ #include "qemu/osdep.h"
++#include "qemu/log.h"
+ #include "net/eth.h"
+ #include "net/checksum.h"
+ #include "net/tap.h"
+@@ -71,9 +72,8 @@ eth_get_gso_type(uint16_t l3_proto, uint8_t *l3_hdr, uint8_t l4proto)
+             return VIRTIO_NET_HDR_GSO_TCPV6 | ecn_state;
+         }
+     }
+-
+-    /* Unsupported offload */
+-    g_assert_not_reached();
++    qemu_log_mask(LOG_GUEST_ERROR, "%s: probably not GSO frame, "
++        "unknown L3 protocol: 0x%04"PRIx16"\n", __func__, l3_proto);
+ 
+     return VIRTIO_NET_HDR_GSO_NONE | ecn_state;
+ }
+-- 
+2.28.0
+
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 535f837115346..2bace4f258d7e 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -1,17 +1,19 @@
 { stdenv, fetchurl, fetchpatch, python, zlib, pkgconfig, glib
-, ncurses, perl, pixman, vde2, alsaLib, texinfo, flex
+, perl, pixman, vde2, alsaLib, texinfo, flex
 , bison, lzo, snappy, libaio, gnutls, nettle, curl
 , makeWrapper
 , attr, libcap, libcap_ng
 , CoreServices, Cocoa, Hypervisor, rez, setfile
 , numaSupport ? stdenv.isLinux && !stdenv.isAarch32, numactl
 , seccompSupport ? stdenv.isLinux, libseccomp
-, pulseSupport ? !stdenv.isDarwin, libpulseaudio
-, sdlSupport ? !stdenv.isDarwin, SDL2
-, gtkSupport ? !stdenv.isDarwin && !xenSupport, gtk3, gettext, vte, wrapGAppsHook
-, vncSupport ? true, libjpeg, libpng
-, smartcardSupport ? true, libcacard
-, spiceSupport ? !stdenv.isDarwin, spice, spice-protocol
+, alsaSupport ? stdenv.lib.hasSuffix "linux" stdenv.hostPlatform.system && !nixosTestRunner
+, pulseSupport ? !stdenv.isDarwin && !nixosTestRunner, libpulseaudio
+, sdlSupport ? !stdenv.isDarwin && !nixosTestRunner, SDL2
+, gtkSupport ? !stdenv.isDarwin && !xenSupport && !nixosTestRunner, gtk3, gettext, vte, wrapGAppsHook
+, vncSupport ? !nixosTestRunner, libjpeg, libpng
+, smartcardSupport ? !nixosTestRunner, libcacard
+, spiceSupport ? !stdenv.isDarwin && !nixosTestRunner, spice, spice-protocol
+, ncursesSupport ? !nixosTestRunner, ncurses
 , usbredirSupport ? spiceSupport, usbredir
 , xenSupport ? false, xen
 , cephSupport ? false, ceph
@@ -29,7 +31,7 @@
 
 with stdenv.lib;
 let
-  audio = optionalString (hasSuffix "linux" stdenv.hostPlatform.system) "alsa,"
+  audio = optionalString alsaSupport "alsa,"
     + optionalString pulseSupport "pa,"
     + optionalString sdlSupport "sdl,";
 
@@ -50,10 +52,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ python python.pkgs.sphinx pkgconfig flex bison ]
     ++ optionals gtkSupport [ wrapGAppsHook ];
   buildInputs =
-    [ zlib glib ncurses perl pixman
+    [ zlib glib perl pixman
       vde2 texinfo makeWrapper lzo snappy
       gnutls nettle curl
     ]
+    ++ optionals ncursesSupport [ ncurses ]
     ++ optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
     ++ optionals seccompSupport [ libseccomp ]
     ++ optionals numaSupport [ numactl ]
@@ -79,6 +82,7 @@ stdenv.mkDerivation rec {
     ./no-etc-install.patch
     ./fix-qemu-ga.patch
     ./9p-ignore-noatime.patch
+    ./CVE-2020-27617.patch
   ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch
     ++ optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index fd3d914af6621..c3882ae9472ef 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -9,6 +9,8 @@
 , apparmor-parser
 , libseccomp
 , libselinux
+, makeWrapper
+, procps
 , nixosTests
 }:
 
@@ -26,7 +28,7 @@ buildGoPackage rec {
   goPackagePath = "github.com/opencontainers/runc";
   outputs = [ "out" "man" ];
 
-  nativeBuildInputs = [ go-md2man installShellFiles pkg-config which ];
+  nativeBuildInputs = [ go-md2man installShellFiles makeWrapper pkg-config which ];
 
   buildInputs = [ libselinux libseccomp libapparmor apparmor-parser ];
 
@@ -43,9 +45,12 @@ buildGoPackage rec {
   installPhase = ''
     install -Dm755 runc $out/bin/runc
     installManPage man/*/*.[1-9]
+    wrapProgram $out/bin/runc \
+      --prefix PATH : ${lib.makeBinPath [ procps ]} \
+      --prefix PATH : /run/current-system/systemd/bin
   '';
 
-  passthru.tests = { inherit (nixosTests) cri-o podman; };
+  passthru.tests = { inherit (nixosTests) cri-o docker podman; };
 
   meta = with lib; {
     homepage = "https://github.com/opencontainers/runc";
diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix
index 2f2d66f3b2f52..b11f8d68189ca 100644
--- a/pkgs/applications/virtualization/singularity/default.nix
+++ b/pkgs/applications/virtualization/singularity/default.nix
@@ -1,8 +1,7 @@
 {stdenv
-, removeReferencesTo
 , lib
 , fetchurl
-, utillinux
+, util-linux
 , gpgme
 , openssl
 , libuuid
@@ -18,17 +17,17 @@ with lib;
 
 buildGoPackage rec {
   pname = "singularity";
-  version = "3.6.3";
+  version = "3.7.0";
 
   src = fetchurl {
     url = "https://github.com/hpcng/singularity/releases/download/v${version}/singularity-${version}.tar.gz";
-    sha256 = "1zd29s8lggv4x5xracgzywayg1skl9qc2bqh1zdxh1wrg9sqbadi";
+    sha256 = "0y6lm23g6a2ljm78w8iyak7yivxvpj3i55fjbd56m9b2ykssm5pv";
   };
 
   goPackagePath = "github.com/sylabs/singularity";
 
   buildInputs = [ gpgme openssl libuuid ];
-  nativeBuildInputs = [ removeReferencesTo utillinux which makeWrapper cryptsetup ];
+  nativeBuildInputs = [ util-linux which makeWrapper cryptsetup ];
   propagatedBuildInputs = [ coreutils squashfsTools ];
 
   postPatch = ''
diff --git a/pkgs/applications/virtualization/virt-manager/qt.nix b/pkgs/applications/virtualization/virt-manager/qt.nix
index 45d1146f43009..1d2a32c54e3a2 100644
--- a/pkgs/applications/virtualization/virt-manager/qt.nix
+++ b/pkgs/applications/virtualization/virt-manager/qt.nix
@@ -1,7 +1,7 @@
 { mkDerivation, lib, fetchFromGitHub, fetchpatch, cmake, pkgconfig
 , qtbase, qtmultimedia, qtsvg, qttools, krdc
 , libvncserver, libvirt, pcre, pixman, qtermwidget, spice-gtk, spice-protocol
-, libselinux, libsepol, utillinux
+, libselinux, libsepol, util-linux
 }:
 
 mkDerivation rec {
@@ -32,7 +32,7 @@ mkDerivation rec {
   buildInputs = [
     qtbase qtmultimedia qtsvg krdc
     libvirt libvncserver pcre pixman qtermwidget spice-gtk spice-protocol
-    libselinux libsepol utillinux
+    libselinux libsepol util-linux
   ];
 
   nativeBuildInputs = [ cmake pkgconfig qttools ];
diff --git a/pkgs/applications/virtualization/virt-top/default.nix b/pkgs/applications/virtualization/virt-top/default.nix
index 7ad60405f1b85..692b5f01b5c6d 100644
--- a/pkgs/applications/virtualization/virt-top/default.nix
+++ b/pkgs/applications/virtualization/virt-top/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, ocamlPackages, autoreconfHook }:
+{ stdenv, fetchgit, fetchpatch, ocamlPackages, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "virt-top";
@@ -10,6 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "0m7pm8lzlpngsj0vjv0hg8l9ck3gvwpva7r472f8f03xpjffwiga";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "ocaml-libvirt-0.6.1.5-fix.patch";
+      url = "http://git.annexia.org/?p=virt-top.git;a=patch;h=24a461715d5bce47f63cb0097606fc336230589f";
+      sha256 = "15w7w9iggvlw8m9w8g4h08251wzb3m3zkb58glr7ifsgi3flbn61";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = with ocamlPackages; [ ocaml findlib ocaml_extlib ocaml_libvirt gettext-stub curses csv xml-light ];
 
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index c320eca0bbeee..e80edf72677a4 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -23,8 +23,7 @@ let
   buildType = "release";
   # Use maintainers/scripts/update.nix to update the version and all related hashes or
   # change the hashes in extpack.nix and guest-additions/default.nix as well manually.
-  version = "6.1.14";
-  tarballVersion = "${version}a";
+  version = "6.1.16";
 
   iasl' = iasl.overrideAttrs (old: rec {
     inherit (old) pname;
@@ -40,8 +39,8 @@ in stdenv.mkDerivation {
   inherit version;
 
   src = fetchurl {
-    url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${tarballVersion}.tar.bz2";
-    sha256 = "16f3cb83ab3c4dacf2a9d3cc638cbd18db23767828bba6b8ba1c1b57abeb6aef";
+    url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
+    sha256 = "49c1990da16d8a3d5bda8cdb961ec8195a901e67e4c79aea44c1521a5fc2f9f1";
   };
 
   outputs = [ "out" "modsrc" ];
diff --git a/pkgs/applications/virtualization/virtualbox/extpack.nix b/pkgs/applications/virtualization/virtualbox/extpack.nix
index 03b3be7e96e02..302f2b5945a4d 100644
--- a/pkgs/applications/virtualization/virtualbox/extpack.nix
+++ b/pkgs/applications/virtualization/virtualbox/extpack.nix
@@ -12,7 +12,7 @@ fetchurl rec {
     # Manually sha256sum the extensionPack file, must be hex!
     # Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
     # Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
-    let value = "b224e796e886b19bce69f0aaedf6ca82bad0ca29c61fb0ed86166efb84356942";
+    let value = "9802482b77b95a954cb5111793da10d009009a4e9a9c4eaa4bd1ae5dafe9db46";
     in assert (builtins.stringLength value) == 64; value;
 
   meta = {
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 3937d70e869d0..180970d51dac0 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "dd9f176abb89043c01cea7ec7e20130e76db71bd83beafeb2dc5858d4c9c86cd";
+    sha256 = "88db771a5efd7c048228e5c1e0b8fba56542e9d8c1b75f7af5b0c4cf334f0584";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index 854debc458a36..53f556e3f0d69 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -14,7 +14,7 @@ config:
 # Scripts
 , coreutils, gawk, gnused, gnugrep, diffutils, multipath-tools
 , iproute, inetutils, iptables, bridge-utils, openvswitch, nbd, drbd
-, lvm2, utillinux, procps, systemd
+, lvm2, util-linux, procps, systemd
 
 # Documentation
 # python2Packages.markdown
@@ -28,7 +28,7 @@ let
   #TODO: fix paths instead
   scriptEnvPath = concatMapStringsSep ":" (x: "${x}/bin") [
     which perl
-    coreutils gawk gnused gnugrep diffutils utillinux multipath-tools
+    coreutils gawk gnused gnugrep diffutils util-linux multipath-tools
     iproute inetutils iptables bridge-utils openvswitch nbd drbd
   ];
 
@@ -146,8 +146,8 @@ stdenv.mkDerivation (rec {
       --replace /usr/sbin/lvs ${lvm2}/bin/lvs
 
     substituteInPlace tools/misc/xenpvnetboot \
-      --replace /usr/sbin/mount ${utillinux}/bin/mount \
-      --replace /usr/sbin/umount ${utillinux}/bin/umount
+      --replace /usr/sbin/mount ${util-linux}/bin/mount \
+      --replace /usr/sbin/umount ${util-linux}/bin/umount
 
     substituteInPlace tools/xenmon/xenmon.py \
       --replace /usr/bin/pkill ${procps}/bin/pkill
diff --git a/pkgs/applications/window-managers/berry/default.nix b/pkgs/applications/window-managers/berry/default.nix
index 2a41a3d3c0735..367d0214129ca 100644
--- a/pkgs/applications/window-managers/berry/default.nix
+++ b/pkgs/applications/window-managers/berry/default.nix
@@ -1,18 +1,30 @@
-{ stdenv, fetchFromGitHub
-, libX11, libXft, libXinerama, fontconfig, freetype }:
+{ stdenv
+, fetchFromGitHub
+, libX11
+, libXft
+, libXinerama
+, fontconfig
+, freetype
+}:
 
 stdenv.mkDerivation rec {
   pname = "berry";
-  version = "0.1.5";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
     owner = "JLErvin";
-    repo = "berry";
+    repo = pname;
     rev = version;
-    sha256 = "1wxbjzpwqb9x7vd7kb095fiqj271rki980dnwcxjxpqlmmrmjzyl";
+    sha256 = "sha256-2kFVOE5l1KQvDb5KDL7y0p4M7awJLrxJF871cyc0YZ8=";
   };
 
-  buildInputs = [ libX11 libXft libXinerama fontconfig freetype ];
+  buildInputs =[
+    libX11
+    libXft
+    libXinerama
+    fontconfig
+    freetype
+  ];
 
   preBuild = ''
     makeFlagsArray+=( PREFIX="${placeholder "out"}"
diff --git a/pkgs/applications/window-managers/cagebreak/default.nix b/pkgs/applications/window-managers/cagebreak/default.nix
index 7464fc1b749be..36b3adb08e112 100644
--- a/pkgs/applications/window-managers/cagebreak/default.nix
+++ b/pkgs/applications/window-managers/cagebreak/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cagebreak";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "project-repo";
     repo = "cagebreak";
     rev = version;
-    hash = "sha256-iMoj++yjGK4hn3C675QntBYcsoBx0lEjjCM8fdvRJYo=";
+    hash = "sha256-YmUn5H0xNC/4MBGydrEk7dy5v+s2ja4VoA1neWrQ3VY=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland scdoc makeWrapper ];
diff --git a/pkgs/applications/window-managers/hikari/default.nix b/pkgs/applications/window-managers/hikari/default.nix
index 9bf68adaef42e..d23d6c07af0eb 100644
--- a/pkgs/applications/window-managers/hikari/default.nix
+++ b/pkgs/applications/window-managers/hikari/default.nix
@@ -12,7 +12,7 @@
 
 let
   pname = "hikari";
-  version = "2.1.2";
+  version = "2.2.2";
 in
 
 stdenv.mkDerivation {
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   src = fetchzip {
     url = "https://hikari.acmelabs.space/releases/${pname}-${version}.tar.gz";
-    sha256 = "1qzbwc8dgsvp5jb4faapcrg9npsl11gq8jvhbbk2h7hj52c5lgmv";
+    sha256 = "0sln1n5f67i3vxkybfi6xhzplb45djqyg272vqkv64m72rmm8875";
   };
 
   nativeBuildInputs = [ pkgconfig bmake ];
diff --git a/pkgs/applications/window-managers/i3/altlayout.nix b/pkgs/applications/window-managers/i3/altlayout.nix
new file mode 100644
index 0000000000000..973dee3eeed34
--- /dev/null
+++ b/pkgs/applications/window-managers/i3/altlayout.nix
@@ -0,0 +1,21 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "i3altlayout";
+  version = "0.3";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "1h0phf3s6ljffxw0bs73k041wildaz01h37iv5mxhami41wrh4qf";
+  };
+
+  pythonPath = with python3Packages; [ enum-compat i3ipc docopt ];
+
+  meta = with lib; {
+    maintainers = with maintainers; [ magnetophon ];
+    description = "Helps you handle more efficiently your screen real estate in i3wm by auto-splitting windows on their longest side";
+    homepage = "https://github.com/deadc0de6/i3altlayout";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index b37a83648ae55..2ea2c8ac77663 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "i3";
-  version = "4.18.2";
+  version = "4.18.3";
 
   src = fetchurl {
     url = "https://i3wm.org/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "030jym6b8b07yf4y6pb806hg8k77zsprv569gy0r72rh5zb1g1mj";
+    sha256 = "03dijnwv2n8ak9jq59fhq0rc80m5wjc9d54fslqaivnnz81pkbjk";
   };
 
   nativeBuildInputs = [ which pkgconfig makeWrapper installShellFiles ];
diff --git a/pkgs/applications/window-managers/i3/gaps.nix b/pkgs/applications/window-managers/i3/gaps.nix
index fa1c97c14c1d4..755ceb42161ca 100644
--- a/pkgs/applications/window-managers/i3/gaps.nix
+++ b/pkgs/applications/window-managers/i3/gaps.nix
@@ -3,11 +3,11 @@
 i3.overrideAttrs (oldAttrs : rec {
 
   name = "i3-gaps-${version}";
-  version = "4.18.2";
+  version = "4.18.3";
 
   src = fetchurl {
     url = "https://github.com/Airblader/i3/releases/download/${version}/i3-${version}.tar.bz2";
-    sha256 = "0lz08wf4b0yprzqsmymn94kiyg885dcwmh0p64v2rnf52s165g2g";
+    sha256 = "1hcakwyz78lgp8mhqv7pw86jlb3m415pfql1q19rkijnhm3fn3ci";
   };
 
   nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ autoreconfHook ];
diff --git a/pkgs/applications/window-managers/i3/layout-manager.nix b/pkgs/applications/window-managers/i3/layout-manager.nix
index f4c2a53b7a29d..c91b1d31b9503 100644
--- a/pkgs/applications/window-managers/i3/layout-manager.nix
+++ b/pkgs/applications/window-managers/i3/layout-manager.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/klaxalk/i3-layout-manager";
-    description = "Saving, loading and managing layouts for i3wm.";
+    description = "Saving, loading and managing layouts for i3wm";
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/applications/window-managers/i3/lock-fancy.nix b/pkgs/applications/window-managers/i3/lock-fancy.nix
index 9b9b2dea13283..c71ed04e48d3d 100644
--- a/pkgs/applications/window-managers/i3/lock-fancy.nix
+++ b/pkgs/applications/window-managers/i3/lock-fancy.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     cp icons/lock*.png $out/share/i3lock-fancy/icons
   '';
   meta = with stdenv.lib; {
-    description = "i3lock is a bash script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text.";
+    description = "i3lock is a bash script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text";
     homepage = "https://github.com/meskarune/i3lock-fancy";
     maintainers = with maintainers; [ ];
     license = licenses.mit;
diff --git a/pkgs/applications/window-managers/i3/lock.nix b/pkgs/applications/window-managers/i3/lock.nix
index 2bca01eeefa7d..7a2812c2cfe01 100644
--- a/pkgs/applications/window-managers/i3/lock.nix
+++ b/pkgs/applications/window-managers/i3/lock.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "i3lock";
-  version = "2.12";
+  version = "2.13";
 
   src = fetchurl {
     url = "https://i3wm.org/i3lock/${pname}-${version}.tar.bz2";
-    sha256 = "02dwaqxpclcwiwvpvq7zwz4sxcv9c15dbf17ifalj1p8djls3cnh";
+    sha256 = "02szjsaz7rqrdkd0r2nwgwa85c4hwfrcskxw7ryk695kmjcfhzv3";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index 8bd3d581434ee..a1900deb22578 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -1,21 +1,38 @@
-{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, dbus, libpulseaudio }:
+{ stdenv
+, rustPlatform
+, fetchFromGitHub
+, pkgconfig
+, makeWrapper
+, dbus
+, libpulseaudio
+, notmuch
+, ethtool
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.14.1";
+  version = "0.14.2";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11qhzjml04njhfa033v98m4yd522zj91s6ffvrm0m6sk7m0wyjsc";
+    sha256 = "1f1gvgb1zk8gw596vaz9iihbpybwzs5shd25qq7bn2bhr4hqlbb9";
   };
 
-  cargoSha256 = "0jmmxld4rsjj6p5nazi3d8j1hh7r34q6kyfqq4wv0sjc77gcpaxd";
+  cargoSha256 = "1dcfclk8lbqvq2hywr80jm63p1i1kz3893zq99ipgryia46vd397";
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
 
-  buildInputs = [ dbus libpulseaudio ];
+  buildInputs = [ dbus libpulseaudio notmuch ];
+
+  cargoBuildFlags = [
+    "--features=notmuch"
+  ];
+
+  postFixup = ''
+    wrapProgram $out/bin/i3status-rs --prefix PATH : "${ethtool}/bin"
+  '';
 
   # Currently no tests are implemented, so we avoid building the package twice
   doCheck = false;
diff --git a/pkgs/applications/window-managers/i3/wmfocus.nix b/pkgs/applications/window-managers/i3/wmfocus.nix
index c4e22546d1c4f..5c9f2b7795305 100644
--- a/pkgs/applications/window-managers/i3/wmfocus.nix
+++ b/pkgs/applications/window-managers/i3/wmfocus.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wmfocus";
-  version = "1.1.3";
+  version = "1.1.5";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = pname;
-    rev = version;
-    sha256 = "17qdsqp9072yr7rcm6g1h620rff95ldawr8ldpkbjmkh0rc86skn";
+    rev = "v${version}";
+    sha256 = "09xffklpz62h6yiksxdlv3a9s1z0wr3ax9syl399avwdmq3c0y49";
   };
 
-  cargoSha256 = "1nsdvzrsgprwq7lsvfpymqslhggdzfk3840y8x92qjb0l2g4jhw1";
+  cargoSha256 = "0rczas6sgcppacz48xx7sarkvc4s2sgcdz6c661d7vcry1y46xms";
 
   nativeBuildInputs = [ python3 pkgconfig ];
   buildInputs = [ cairo libxkbcommon xorg.xcbutilkeysyms ];
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index f361b27fdf8cb..b86e598a4d08e 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -9,13 +9,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "1.8.3";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner  = "bbidulock";
     repo = pname;
     rev = version;
-    sha256 = "sha256-cTJQlUaGvbJmu1xYwFp5GPrM5NjfKBzaMc+l7FeMUP8=";
+    sha256 = "16a9ikknjmhrrlc5r6z2ilkjj5vzyfk4ypwab39mg7vcmd7jzc41";
   };
 
   nativeBuildInputs = [ cmake pkgconfig perl asciidoc ];
diff --git a/pkgs/applications/window-managers/leftwm/default.nix b/pkgs/applications/window-managers/leftwm/default.nix
index 06ebd7e0e9242..13c0818101f7d 100644
--- a/pkgs/applications/window-managers/leftwm/default.nix
+++ b/pkgs/applications/window-managers/leftwm/default.nix
@@ -6,16 +6,16 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "leftwm";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "leftwm";
     repo = "leftwm";
     rev = version;
-    sha256 = "0xmkhkdpz1bpczrar9y6assdzhd7qxybnkjqs36h099fk9xqmsav";
+    sha256 = "03kk3vg0r88317zv8j2bj44wq2fwxi25rv1aasvayrh1i5j6zr10";
   };
 
-  cargoSha256 = "06wnx81fhs19pz5qnir6h2v2kmj73y1g354nadcx6650q9pnhdv4";
+  cargoSha256 = "0m4sv4chxzk60njixlyja44rpn04apf3bm04fgd3v7abpr169f2s";
 
   buildInputs = [ makeWrapper libX11 libXinerama ];
 
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Leftwm - A tiling window manager for the adventurer";
+    description = "A tiling window manager for the adventurer";
     homepage = "https://github.com/leftwm/leftwm";
     license = licenses.mit;
     platforms = platforms.linux;
diff --git a/pkgs/applications/window-managers/picom/default.nix b/pkgs/applications/window-managers/picom/default.nix
index 9a00b3a2efaa6..064e555f3a5ba 100644
--- a/pkgs/applications/window-managers/picom/default.nix
+++ b/pkgs/applications/window-managers/picom/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "picom";
-  version = "8.1";
+  version = "8.2";
 
   src = fetchFromGitHub {
     owner  = "yshui";
     repo   = "picom";
     rev    = "v${version}";
-    sha256 = "0iwixf3gaichmpvhczxdg5srkb72yh61i5wh7m3fab657h3r7di6";
+    sha256 = "0gjksayz2xpmgglvw17ppsan2imrd1fijs579kbf27xwp503xgfl";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/window-managers/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix
index eccf5c163a8e6..280ec067658ad 100644
--- a/pkgs/applications/window-managers/qtile/default.nix
+++ b/pkgs/applications/window-managers/qtile/default.nix
@@ -34,7 +34,18 @@ python37Packages.buildPythonApplication rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib libxcb cairo pango python37Packages.xcffib ];
 
-  pythonPath = with python37Packages; [ xcffib cairocffi-xcffib setuptools setuptools_scm ]; 
+  pythonPath = with python37Packages; [
+    xcffib
+    cairocffi-xcffib
+    setuptools
+    setuptools_scm
+    dateutil
+    dbus-python
+    mpd2
+    psutil
+    pyxdg
+    pygobject3
+  ];
 
   postInstall = ''
     wrapProgram $out/bin/qtile \
diff --git a/pkgs/applications/window-managers/sawfish/default.nix b/pkgs/applications/window-managers/sawfish/default.nix
index f163715456c46..0625977451946 100644
--- a/pkgs/applications/window-managers/sawfish/default.nix
+++ b/pkgs/applications/window-managers/sawfish/default.nix
@@ -1,25 +1,32 @@
-{ stdenv, fetchurl
-, pkgconfig, which, autoreconfHook
-, rep-gtk, pango, gdk-pixbuf-xlib
-, imlib, gettext, texinfo
-, libXinerama, libXrandr, libXtst, libICE, libSM
+{ stdenv
+, fetchurl
+, pkg-config
+, which
+, autoreconfHook
+, rep-gtk
+, pango
+, gdk-pixbuf-xlib
+, imlib
+, gettext
+, texinfo
+, libXinerama
+, libXrandr
+, libXtst
+, libICE
+, libSM
 , makeWrapper
 }:
 
-with stdenv.lib;
-
 stdenv.mkDerivation rec {
-
   pname = "sawfish";
   version = "1.12.90";
-  sourceName = "sawfish_${version}";
 
   src = fetchurl {
-    url = "https://download.tuxfamily.org/sawfish/${sourceName}.tar.xz";
+    url = "https://download.tuxfamily.org/sawfish/${pname}_${version}.tar.xz";
     sha256 = "18p8srqqj9vjffg13qhspfz2gr1h4vfs10qzlv89g76r289iam31";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ which
     rep-gtk pango gdk-pixbuf-xlib imlib gettext texinfo
     libXinerama libXrandr libXtst libICE libSM
@@ -31,14 +38,15 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    for i in $out/lib/sawfish/sawfish-menu $out/bin/sawfish-about  $out/bin/sawfish-client $out/bin/sawfish-config $out/bin/sawfish; do
+    for i in $out/lib/sawfish/sawfish-menu $out/bin/sawfish-about \
+             $out/bin/sawfish-client $out/bin/sawfish-config $out/bin/sawfish; do
       wrapProgram $i \
         --prefix REP_DL_LOAD_PATH : "$out/lib/rep" \
         --set REP_LOAD_PATH "$out/share/sawfish/lisp"
     done
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An extensible, Lisp-based window manager";
     longDescription = ''
       Sawfish is an extensible window manager using a Lisp-based scripting language.
@@ -47,7 +55,7 @@ stdenv.mkDerivation rec {
       All high-level WM functions are implemented in Lisp for future extensibility
       or redefinition.
     '';
-    homepage = "http://sawfish.wikia.com";
+    homepage = "https://sawfish.fandom.com/wiki/Main_Page";
     license = licenses.gpl2;
     maintainers = [ maintainers.AndersonTorres ];
   };
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index da58d844ee89d..23dcf68bddf32 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sway-unwrapped";
-  version = "1.5";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "sway";
     rev = version;
-    sha256 = "0r3b7h778l9i20z3him9i2qsaynpn9y78hzfgv3cqi8fyry2c4f9";
+    sha256 = "1xsa3h8zhf29p0mi90baxpr76jkd9pd1gr97ky8cnjbcs4isj9j0";
   };
 
   patches = [
@@ -21,10 +21,6 @@ stdenv.mkDerivation rec {
     ./load-configuration-from-etc.patch
   ];
 
-  postPatch = ''
-    substituteInPlace meson.build --replace "v1.5" "1.5"
-  '';
-
   nativeBuildInputs = [
     meson ninja pkg-config wayland scdoc
   ];
diff --git a/pkgs/applications/window-managers/sway/lock-effects.nix b/pkgs/applications/window-managers/sway/lock-effects.nix
index a6c8d5cd1c328..4bb4225d394d4 100644
--- a/pkgs/applications/window-managers/sway/lock-effects.nix
+++ b/pkgs/applications/window-managers/sway/lock-effects.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swaylock-effects";
-  version = "v1.6-1";
+  version = "v1.6-2";
 
   src = fetchFromGitHub {
     owner = "mortie";
     repo = "swaylock-effects";
     rev = version;
-    sha256 = "044fc4makjx8v29fkx5xlil6vr1v4r0k6c8741pl67gzvlm4cx3i";
+    sha256 = "0fs3c4liajgkax0a2pdc7117v1g9k73nv87g3kyv9wsnkfbbz534";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/window-managers/windowchef/default.nix b/pkgs/applications/window-managers/windowchef/default.nix
index efba3863276df..0f65e4443ca46 100644
--- a/pkgs/applications/window-managers/windowchef/default.nix
+++ b/pkgs/applications/window-managers/windowchef/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "windowchef";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner  = "tudurom";
     repo   = "windowchef";
     rev    = "v${version}";
-    sha256 = "0fs5ss2z6qjxvmls0g2f3gmv8hshi81xsmmcjn9x7651rv9552pl";
+    sha256 = "1m4vly7w2f28lrj26rhh3x9xsp3d97m5cxj91fafgh5rds4ygyhp";
   };
 
   buildInputs = [ libxcb libXrandr xcbutil xcbutilkeysyms xcbutilwm xcbproto];
diff --git a/pkgs/applications/window-managers/windowlab/default.nix b/pkgs/applications/window-managers/windowlab/default.nix
index d0a1de7f6006e..1bbdb7a460fd9 100644
--- a/pkgs/applications/window-managers/windowlab/default.nix
+++ b/pkgs/applications/window-managers/windowlab/default.nix
@@ -33,4 +33,4 @@ stdenv.mkDerivation {
       maintainers = with maintainers; [ ehmry ];
       platforms   = platforms.linux;
     };
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix
new file mode 100644
index 0000000000000..4ec021644011a
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix
@@ -0,0 +1,38 @@
+{ stdenv, dockapps-sources, pkg-config, libX11, libXpm, libXext, alsaLib }:
+
+stdenv.mkDerivation rec {
+  pname = "AlsaMixer.app";
+  version = "0.2.1";
+
+  src = dockapps-sources;
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ libX11 libXpm libXext alsaLib ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname})
+  '';
+
+  dontConfigure = true;
+
+  preInstall = ''
+    install -d ${placeholder "out"}/bin
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -t ${placeholder "out"}/bin AlsaMixer.app
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    ln -s ${placeholder "out"}/bin/AlsaMixer.app ${placeholder "out"}/bin/AlsaMixer
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Alsa mixer application for Windowmaker";
+    homepage = "https://www.dockapps.net/alsamixerapp";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.bstrik ];
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix
deleted file mode 100644
index 4e1256399e768..0000000000000
--- a/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchgit, pkgconfig, libX11, libXpm, libXext, alsaLib }:
-
-stdenv.mkDerivation {
-  name = "alsamixer.app-0.2.1";
-  src = fetchgit {
-     url = "git://repo.or.cz/dockapps.git";
-     rev = "38c74350b02f35824554ce0c4f0f251d71762040";
-     sha256 = "0g9cwhlqg065fbhav4g4n16a4cqkk9jykl3y0zwbn5whhacfqyhl";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 libXpm libXext alsaLib ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/AlsaMixer.app";
-
-  installPhase = ''
-    mkdir -pv $out/bin;
-    cp AlsaMixer.app $out/bin/AlsaMixer;
-    '';
-
-  meta = {
-    description = "Alsa mixer application for Windowmaker";
-    homepage = "http://windowmaker.org/dockapps/?name=AlsaMixer.app";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-  };
-}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
new file mode 100644
index 0000000000000..8a66fdbd67f23
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
@@ -0,0 +1,20 @@
+{ config, lib, pkgs }:
+
+lib.makeScope pkgs.newScope (self: with self; {
+
+  dockapps-sources = pkgs.fetchgit {
+    url = "https://repo.or.cz/dockapps.git";
+    rev = "b2b9d872ee61c9b329e4597c301e4417cbd9c3ea";
+    sha256 = "sha256-BuSnwPIj3gUWMjj++SK+117xm/77u4gXLQzRFttei0w=";
+  };
+
+  libdockapp = callPackage ./libdockapp.nix { };
+
+  AlsaMixer-app = callPackage ./AlsaMixer-app.nix { };
+
+  wmCalClock = callPackage ./wmCalClock.nix { };
+
+  wmsm-app = callPackage ./wmsm-app.nix { };
+
+  wmsystemtray = callPackage ./wmsystemtray.nix { };
+})
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix b/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix
new file mode 100644
index 0000000000000..bcdef42a78a0e
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix
@@ -0,0 +1,30 @@
+{ stdenv, dockapps-sources, autoreconfHook, pkg-config
+, libX11, libXext, libXpm, mkfontdir, fontutil }:
+
+stdenv.mkDerivation rec {
+  pname = "libdockapp";
+  version = "0.7.3";
+
+  src = dockapps-sources;
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
+  buildInputs = [ libX11 libXext libXpm fontutil mkfontdir ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname})
+  '';
+
+  # There is a bug on --with-font
+  configureFlags = [
+    "--with-examples=no"
+    "--with-font=no"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A library providing a framework for dockapps";
+    homepage = "https://www.dockapps.net/libdockapp";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.bstrik ];
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix
new file mode 100644
index 0000000000000..f8ea781858a4f
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix
@@ -0,0 +1,38 @@
+{ stdenv, dockapps-sources
+, libX11, libXpm, libXext }:
+
+stdenv.mkDerivation rec {
+  pname = "wmCalClock";
+  version = "1.25";
+
+  src = dockapps-sources;
+
+  buildInputs = [ libX11 libXpm libXext ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname}/Src)
+  '';
+
+  preBuild = ''
+    makeFlagsArray+=(
+      CC="cc"
+      INCDIR="-I${libX11.dev}/include -I${libXext.dev}/include -I${libXpm.dev}/include"
+      LIBDIR="-I${libX11}/lib -I${libXext}/lib -I${libXpm}/lib"
+    )
+  '';
+
+  preInstall = ''
+    install -d ${placeholder "out"}/bin
+    install -d ${placeholder "out"}/man/man1
+  '';
+
+  installFlags = [ "DESTDIR=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
+    description = "A Calendar clock with antialiased text";
+    homepage = "https://www.dockapps.net/wmcalclock";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.bstrik ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix
deleted file mode 100644
index 48f4753d674b4..0000000000000
--- a/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext }:
-
-stdenv.mkDerivation {
-  name = "wmCalClock-1.25";
-  src = fetchurl {
-     url = "http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/files/wmCalClock-1.25.tar.gz";
-     sha256 = "4b42b55bb7c1d7c58b5ee1f0058c683d3e4f3e3380d3a69c54a50b983c7c1b3f";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 libXpm libXext ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/Src";
-
-  buildPhase=''
-    make prefix=$out
-  '';
-
-  installPhase = ''
-    mkdir -pv $out/bin
-    mkdir -pv $out/man/man1
-    make DESTDIR=$out install
-  '';
-
-  meta = {
-    description = "Clock for Windowmaker";
-    homepage = "http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/time.html#wmcalclock";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
new file mode 100644
index 0000000000000..dd25ee2b2fced
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
@@ -0,0 +1,43 @@
+{ stdenv, dockapps-sources
+, libX11
+, libXpm
+, libXext
+, libdockapp }:
+
+stdenv.mkDerivation rec {
+  pname = "wmsm.app";
+  version = "0.2.1";
+
+  src = dockapps-sources;
+
+  buildInputs = [ libX11 libXpm libXext libdockapp ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname}/wmsm)
+  '';
+
+  NIX_CFLAGS_COMPILE = "-std=gnu89";
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace "PREFIX	= /usr/X11R6/bin" "" \
+      --replace "/usr/bin/install" "install"
+  '';
+
+  makeFlags = [ "CC=cc" ];
+
+  preInstall = ''
+    runHook preInstall
+    install -d ${placeholder "out"}/bin
+    runHook postInstall
+  '';
+
+  installFlags = [ "PREFIX=${placeholder "out"}/bin" ];
+
+  meta = with stdenv.lib; {
+    description = "System monitor for Windowmaker";
+    homepage = "https://www.dockapps.net/wmsmapp";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.bstrik ];
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix
deleted file mode 100644
index ad255414a6923..0000000000000
--- a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext }:
-
-stdenv.mkDerivation {
-  name = "wmsm.app-0.2.1";
-  src = fetchurl {
-     url = "http://linux-bsd-unix.strefa.pl/wmsm.app-0.2.1.tar.bz2";
-     sha256 = "369a8f2e5673c6b7ab0cf85166f38fbf553dd966c3c1cfeec0e32837defd32c7";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 libXpm libXext ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/wmsm";
-
-  NIX_CFLAGS_COMPILE = "-std=gnu89";
-
-  installPhase = ''
-    substituteInPlace Makefile --replace "PREFIX	= /usr/X11R6/bin" "" --replace "/usr/bin/install" "install"
-    mkdir -pv $out/bin;
-    make PREFIX=$out/bin install;
-    '';
-
-  meta = {
-    description = "System monitor for Windowmaker";
-    homepage = "http://linux-bsd-unix.strefa.pl";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-  };
-}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
index 3e073cd8e91b2..6ec62af5d36e4 100644
--- a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext, libXfixes, libXmu }:
 
-stdenv.mkDerivation {
-  name = "wmsystemtray-1.4";
+stdenv.mkDerivation rec {
+  pname = "wmsystemtray";
+  version = "1.4";
+
   src = fetchurl {
-     url = "mirror://sourceforge/project/wmsystemtray/wmsystemtray/wmsystemtray-1.4.tar.gz";
-     sha256 = "8edef43691e9fff071000e29166c7c1ad420c0956e9068151061e881c8ac97e9";
+    url = "mirror://sourceforge/project/${pname}/${pname}/${pname}-${version}.tar.gz";
+     sha256 = "sha256-jt70NpHp//BxAA4pFmx8GtQgwJVukGgVEGHogcisl+k=";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libX11 libXpm libXext libXfixes libXmu ];
 
-  meta = {
-    description = "Systemtray for Windowmaker";
+  meta = with stdenv.lib; {
+    description = "A system tray for Windowmaker";
     homepage = "http://wmsystemtray.sourceforge.net";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.bstrik ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/xmonad/log-applet/default.nix b/pkgs/applications/window-managers/xmonad/log-applet/default.nix
index 7c6041b576e3a..ffd804eaba0ed 100644
--- a/pkgs/applications/window-managers/xmonad/log-applet/default.nix
+++ b/pkgs/applications/window-managers/xmonad/log-applet/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = "https://github.com/kalj/xmonad-log-applet";
     license = licenses.bsd3;
+    broken = desktopSupport == "gnomeflashback";
     description = "An applet that will display XMonad log information (${desktopSupport} version)";
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];