summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-12-14 23:09:23 +0100
committerJan Tojnar <jtojnar@gmail.com>2019-12-14 23:09:23 +0100
commitaa3cb8b00e3068362d77b38fb1e062da50d22b6a (patch)
tree1c5a0b8752526163937c9da912aac84d3fa0bdf6
parent025e4fda6a4ea59a6caf33ba2c71cfa66cc65e51 (diff)
parent429561978b15d72661c6133bf66650e345f91725 (diff)
downloadnixpkgs-aa3cb8b00e3068362d77b38fb1e062da50d22b6a.tar
nixpkgs-aa3cb8b00e3068362d77b38fb1e062da50d22b6a.tar.gz
nixpkgs-aa3cb8b00e3068362d77b38fb1e062da50d22b6a.tar.bz2
nixpkgs-aa3cb8b00e3068362d77b38fb1e062da50d22b6a.tar.lz
nixpkgs-aa3cb8b00e3068362d77b38fb1e062da50d22b6a.tar.xz
nixpkgs-aa3cb8b00e3068362d77b38fb1e062da50d22b6a.tar.zst
nixpkgs-aa3cb8b00e3068362d77b38fb1e062da50d22b6a.zip
Merge branch 'staging-next' into staging
-rw-r--r--doc/stdenv/stdenv.xml10
-rw-r--r--maintainers/maintainer-list.nix30
-rw-r--r--nixos/doc/manual/installation/installing.xml2
-rw-r--r--nixos/doc/manual/release-notes/rl-2003.xml10
-rw-r--r--nixos/lib/make-ext4-fs.nix44
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix11
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image.nix13
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/programs/oblogout.nix171
-rw-r--r--nixos/modules/programs/sway.nix2
-rw-r--r--nixos/modules/security/polkit.nix5
-rw-r--r--nixos/modules/services/backup/bacula.nix166
-rw-r--r--nixos/modules/services/databases/postgresql.nix4
-rw-r--r--nixos/modules/services/misc/matrix-synapse.nix31
-rw-r--r--nixos/modules/services/networking/nat.nix25
-rw-r--r--nixos/modules/services/networking/unbound.nix13
-rw-r--r--nixos/modules/services/torrent/transmission.nix2
-rw-r--r--nixos/modules/services/web-servers/unit/default.nix28
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix9
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix3
-rw-r--r--nixos/modules/services/x11/imwheel.nix68
-rw-r--r--nixos/modules/virtualisation/lxd.nix28
-rw-r--r--nixos/tests/all-tests.nix2
-rw-r--r--nixos/tests/containers-extra_veth.nix71
-rw-r--r--nixos/tests/containers-macvlans.nix28
-rw-r--r--nixos/tests/containers-physical_interfaces.nix91
-rw-r--r--nixos/tests/containers-portforward.nix22
-rw-r--r--nixos/tests/containers-restart_networking.nix90
-rw-r--r--nixos/tests/gitea.nix134
-rw-r--r--nixos/tests/systemd-analyze.nix46
-rw-r--r--nixos/tests/xmonad.nix4
-rw-r--r--pkgs/applications/audio/MMA/default.nix4
-rw-r--r--pkgs/applications/audio/bshapr/default.nix4
-rw-r--r--pkgs/applications/audio/renoise/default.nix28
-rw-r--r--pkgs/applications/audio/whipper/default.nix26
-rw-r--r--pkgs/applications/blockchains/bitcoin.nix24
-rw-r--r--pkgs/applications/editors/android-studio/default.nix6
-rw-r--r--pkgs/applications/editors/edbrowse/default.nix23
-rw-r--r--pkgs/applications/editors/emacs/macport.nix8
-rw-r--r--pkgs/applications/editors/nano/default.nix9
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix6
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix6
-rw-r--r--pkgs/applications/graphics/cinepaint/default.nix38
-rw-r--r--pkgs/applications/graphics/cinepaint/install.patch24
-rw-r--r--pkgs/applications/graphics/drawpile/default.nix4
-rw-r--r--pkgs/applications/graphics/mcomix/default.nix34
-rw-r--r--pkgs/applications/graphics/mirage/default.nix31
-rw-r--r--pkgs/applications/misc/batti/default.nix51
-rw-r--r--pkgs/applications/misc/bleachbit/default.nix43
-rw-r--r--pkgs/applications/misc/dupeguru/default.nix62
-rw-r--r--pkgs/applications/misc/electrum/default.nix1
-rw-r--r--pkgs/applications/misc/gnome15/default.nix39
-rw-r--r--pkgs/applications/misc/hamster-time-tracker/default.nix42
-rw-r--r--pkgs/applications/misc/hivemind/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/default.nix6
-rw-r--r--pkgs/applications/misc/latte-dock/default.nix4
-rw-r--r--pkgs/applications/misc/pmenu/default.nix36
-rw-r--r--pkgs/applications/misc/prusa-slicer/default.nix4
-rw-r--r--pkgs/applications/misc/vym/default.nix39
-rw-r--r--pkgs/applications/misc/wtf/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubeseal/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/ids/zeek/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-web.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/teams/default.nix63
-rw-r--r--pkgs/applications/networking/irc/hexchat/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix502
-rw-r--r--pkgs/applications/networking/mumble/default.nix7
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix3
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/remote/anydesk/default.nix5
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/default.nix15
-rw-r--r--pkgs/applications/office/flexibee/default.nix4
-rw-r--r--pkgs/applications/office/skrooge/default.nix12
-rw-r--r--pkgs/applications/office/tryton/default.nix55
-rw-r--r--pkgs/applications/office/zotero/default.nix4
-rw-r--r--pkgs/applications/radio/chirp/default.nix29
-rw-r--r--pkgs/applications/radio/wsjtx/default.nix4
-rw-r--r--pkgs/applications/science/biology/bedtools/default.nix11
-rw-r--r--pkgs/applications/science/logic/boolector/default.nix10
-rw-r--r--pkgs/applications/science/logic/btor2tools/default.nix4
-rw-r--r--pkgs/applications/science/logic/coq/default.nix1
-rw-r--r--pkgs/applications/science/math/sage/pybrial.nix10
-rw-r--r--pkgs/applications/science/misc/root/default.nix20
-rw-r--r--pkgs/applications/science/misc/root/sw_vers.patch81
-rw-r--r--pkgs/applications/science/robotics/mavproxy/default.nix31
-rw-r--r--pkgs/applications/version-management/diffuse/default.nix33
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix5
-rw-r--r--pkgs/applications/version-management/git-and-tools/lab/default.nix8
-rw-r--r--pkgs/applications/version-management/gitlab/data.json6
-rw-r--r--pkgs/applications/video/key-mon/default.nix28
-rw-r--r--pkgs/applications/video/recordmydesktop/default.nix29
-rw-r--r--pkgs/applications/video/recordmydesktop/gtk.nix37
-rw-r--r--pkgs/applications/video/recordmydesktop/qt.nix37
-rw-r--r--pkgs/applications/virtualization/conmon/default.nix4
-rw-r--r--pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix29
-rw-r--r--pkgs/applications/virtualization/virtualbox/extpack.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix68
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/kernel-5.3-fix.patch50
-rw-r--r--pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch72
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix4
-rw-r--r--pkgs/build-support/kernel/modules-closure.sh8
-rw-r--r--pkgs/build-support/writers/default.nix1
-rw-r--r--pkgs/data/themes/sweet/default.nix47
-rw-r--r--pkgs/desktops/gnome-3/apps/evolution/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-desktop/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/default.nix15
-rw-r--r--pkgs/desktops/mate/atril/default.nix4
-rw-r--r--pkgs/desktops/mate/marco/default.nix4
-rw-r--r--pkgs/development/chez-modules/chez-matchable/default.nix33
-rw-r--r--pkgs/development/compilers/chicken/4/eggDerivation.nix2
-rw-r--r--pkgs/development/compilers/chicken/4/eggs.nix202
-rw-r--r--pkgs/development/compilers/chicken/4/setup-hook.sh3
-rw-r--r--pkgs/development/compilers/chicken/5/eggDerivation.nix2
-rw-r--r--pkgs/development/compilers/chicken/5/eggs.nix6
-rw-r--r--pkgs/development/compilers/osl/default.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix13
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix10
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml93
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1733
-rw-r--r--pkgs/development/interpreters/clojure/default.nix30
-rw-r--r--pkgs/development/interpreters/octave/default.nix4
-rw-r--r--pkgs/development/interpreters/php/default.nix1
-rw-r--r--pkgs/development/interpreters/python/manylinux/default.nix11
-rw-r--r--pkgs/development/libraries/dlib/default.nix4
-rw-r--r--pkgs/development/libraries/fplll/default.nix59
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/libindicate/default.nix66
-rw-r--r--pkgs/development/libraries/liblouis/default.nix4
-rw-r--r--pkgs/development/libraries/libmad/default.nix2
-rw-r--r--pkgs/development/libraries/libofx/default.nix24
-rw-r--r--pkgs/development/libraries/libsexy/default.nix24
-rw-r--r--pkgs/development/libraries/physics/herwig/default.nix4
-rw-r--r--pkgs/development/libraries/physics/thepeg/default.nix4
-rw-r--r--pkgs/development/libraries/qpdf/default.nix4
-rw-r--r--pkgs/development/libraries/range-v3/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/brial/default.nix4
-rw-r--r--pkgs/development/libraries/tcllib/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix195
-rw-r--r--pkgs/development/ocaml-modules/containers/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/iter/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mdx/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/ocaml-version/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/printbox/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/rpclib/default.nix8
-rw-r--r--pkgs/development/python-modules/arviz/default.nix80
-rw-r--r--pkgs/development/python-modules/aws-adfs/default.nix10
-rw-r--r--pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix4
-rw-r--r--pkgs/development/python-modules/cassandra-driver/default.nix4
-rw-r--r--pkgs/development/python-modules/ckcc-protocol/default.nix35
-rw-r--r--pkgs/development/python-modules/colored/default.nix4
-rw-r--r--pkgs/development/python-modules/dask-ml/default.nix33
-rw-r--r--pkgs/development/python-modules/docker/default.nix25
-rw-r--r--pkgs/development/python-modules/fpylll/default.nix11
-rw-r--r--pkgs/development/python-modules/goocalendar/default.nix15
-rw-r--r--pkgs/development/python-modules/icalendar/default.nix4
-rw-r--r--pkgs/development/python-modules/internetarchive/default.nix3
-rw-r--r--pkgs/development/python-modules/libsexy/default.nix27
-rw-r--r--pkgs/development/python-modules/limnoria/default.nix4
-rw-r--r--pkgs/development/python-modules/mapbox/default.nix36
-rw-r--r--pkgs/development/python-modules/matplotlib/2.nix5
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix5
-rw-r--r--pkgs/development/python-modules/pikepdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pycdio/default.nix9
-rw-r--r--pkgs/development/python-modules/pymavlink/default.nix23
-rw-r--r--pkgs/development/python-modules/root_numpy/default.nix27
-rw-r--r--pkgs/development/python-modules/rootpy/default.nix30
-rw-r--r--pkgs/development/python-modules/send2trash/default.nix2
-rw-r--r--pkgs/development/python-modules/simpleeval/default.nix4
-rw-r--r--pkgs/development/python-modules/soundfile/default.nix4
-rw-r--r--pkgs/development/python-modules/testresources/default.nix2
-rw-r--r--pkgs/development/tools/analysis/bingrep/default.nix9
-rw-r--r--pkgs/development/tools/analysis/brakeman/default.nix8
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix5
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix4
-rw-r--r--pkgs/development/tools/buildah/default.nix4
-rw-r--r--pkgs/development/tools/cue/default.nix4
-rw-r--r--pkgs/development/tools/jazzy/Gemfile.lock10
-rw-r--r--pkgs/development/tools/jazzy/gemset.nix20
-rw-r--r--pkgs/development/tools/kind/default.nix13
-rw-r--r--pkgs/development/tools/kind/deps.nix393
-rw-r--r--pkgs/development/tools/misc/strace/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix14
-rw-r--r--pkgs/development/tools/rust/cargo-make/Cargo.lock14
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-xbuild/default.nix4
-rw-r--r--pkgs/games/cataclysm-dda/git.nix11
-rw-r--r--pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch6
-rw-r--r--pkgs/games/harmonist/default.nix4
-rw-r--r--pkgs/games/harmonist/deps.nix8
-rw-r--r--pkgs/games/hexen/default.nix18
-rw-r--r--pkgs/misc/vim-plugins/generated.nix352
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix20
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names4
-rw-r--r--pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix4
-rw-r--r--pkgs/os-specific/linux/bcc/default.nix41
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.3.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/procdump/default.nix31
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix4
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/servers/documize-community/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/default.nix8
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix388
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json2
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/monitoring/loki/default.nix4
-rw-r--r--pkgs/servers/mpd/default.nix4
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/shells/oil/default.nix4
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix2
-rwxr-xr-xpkgs/shells/zsh/oh-my-zsh/update.sh4
-rw-r--r--pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch25
-rw-r--r--pkgs/shells/zsh/zsh-history/default.nix10
-rw-r--r--pkgs/tools/X11/imwheel/default.nix13
-rw-r--r--pkgs/tools/X11/oblogout/default.nix36
-rw-r--r--pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch66
-rw-r--r--pkgs/tools/X11/winswitch/default.nix47
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix3
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix4
-rw-r--r--pkgs/tools/filesystems/fuse-overlayfs/default.nix9
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.nix2
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix4
-rw-r--r--pkgs/tools/misc/arp-scan/default.nix12
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix4
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix4
-rw-r--r--pkgs/tools/misc/html-proofer/Gemfile.lock12
-rw-r--r--pkgs/tools/misc/html-proofer/gemset.nix29
-rw-r--r--pkgs/tools/misc/powerline-go/default.nix6
-rw-r--r--pkgs/tools/misc/snapper/default.nix4
-rw-r--r--pkgs/tools/misc/starship/default.nix6
-rw-r--r--pkgs/tools/misc/tmux/default.nix4
-rw-r--r--pkgs/tools/networking/openapi-generator-cli/default.nix4
-rw-r--r--pkgs/tools/networking/openfortivpn/default.nix4
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix4
-rw-r--r--pkgs/tools/package-management/cargo-outdated/cargo-lock.patch1283
-rw-r--r--pkgs/tools/package-management/cargo-outdated/default.nix11
-rwxr-xr-xpkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh18
-rw-r--r--pkgs/tools/security/aws-okta/default.nix5
-rw-r--r--pkgs/tools/security/jd-gui/default.nix50
-rw-r--r--pkgs/tools/security/vulnix/default.nix4
-rw-r--r--pkgs/tools/security/wpscan/Gemfile.lock46
-rw-r--r--pkgs/tools/security/wpscan/default.nix2
-rw-r--r--pkgs/tools/security/wpscan/gemset.nix82
-rw-r--r--pkgs/tools/system/bootchart/default.nix31
-rw-r--r--pkgs/tools/text/snippetpixie/default.nix83
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix26
-rw-r--r--pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch16
-rw-r--r--pkgs/top-level/aliases.nix22
-rw-r--r--pkgs/top-level/all-packages.nix86
-rw-r--r--pkgs/top-level/coq-packages.nix4
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/php-packages.nix6
-rw-r--r--pkgs/top-level/python-packages.nix16
263 files changed, 5636 insertions, 4165 deletions
diff --git a/doc/stdenv/stdenv.xml b/doc/stdenv/stdenv.xml
index 49699d7168d..1e97bf6157b 100644
--- a/doc/stdenv/stdenv.xml
+++ b/doc/stdenv/stdenv.xml
@@ -1123,6 +1123,16 @@ preBuild = ''
 
    <variablelist>
     <title>Variables controlling the install phase</title>
+     <varlistentry>
+     <term>
+       <varname>dontInstall</varname>
+     </term>
+     <listitem>
+      <para>
+       Set to true to skip the install phase.
+      </para>
+     </listitem>
+    </varlistentry>
     <varlistentry>
      <term>
       <varname>makeFlags</varname> / <varname>makeFlagsArray</varname> / <varname>makefile</varname>
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index e47fa02e5f2..f2632f8f69d 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1110,6 +1110,12 @@
     githubId = 5555066;
     name = "Andrew Cann";
   };
+  cap = {
+    name = "cap";
+    email = "nixos_xasenw9@digitalpostkasten.de";
+    github = "scaredmushroom";
+    githubId = 45340040;
+  };
   carlosdagos = {
     email = "m@cdagostino.io";
     github = "carlosdagos";
@@ -2496,6 +2502,12 @@
     githubId = 40521440;
     name = "Haruka Akiyama";
   };
+  fuzen = {
+    email = "me@fuzen.cafe";
+    github = "fuzen-py";
+    githubId = 17859309;
+    name = "Fuzen";
+  };
   fuzzy-id = {
     email = "hacking+nixos@babibo.de";
     name = "Thomas Bach";
@@ -2868,6 +2880,12 @@
     githubId = 69209;
     name = "Ian Duncan";
   };
+  ianmjones = {
+    email = "ian@ianmjones.com";
+    github = "ianmjones";
+    githubId = 4710;
+    name = "Ian M. Jones";
+  };
   ianwookim = {
     email = "ianwookim@gmail.com";
     github = "wavewave";
@@ -4995,6 +5013,12 @@
     githubId = 2946283;
     name = "Brian Cohen";
   };
+  novoxudonoser = {
+    email = "radnovox@gmail.com";
+    github = "novoxudonoser";
+    githubId = 6052922;
+    name = "Kirill Struokov";
+  };
   np = {
     email = "np.nix@nicolaspouillard.fr";
     github = "np";
@@ -6379,6 +6403,12 @@
     githubId = 1437166;
     name = "Xia Bin";
   };
+  softinio = {
+    email = "code@softinio.com";
+    github = "softinio";
+    githubId = 3371635;
+    name = "Salar Rahmanian";
+  };
   solson = {
     email = "scott@solson.me";
     github = "solson";
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml
index 5655295871e..4041b4ad163 100644
--- a/nixos/doc/manual/installation/installing.xml
+++ b/nixos/doc/manual/installation/installing.xml
@@ -478,7 +478,7 @@ Retype new UNIX password: ***</screen>
      shows what packages are available, and
 <screen>
 <prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -iA w3m</screen>
-     install the <literal>w3m</literal> browser.
+     installs the <literal>w3m</literal> browser.
     </para>
    </listitem>
   </orderedlist>
diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml
index 77f11ae836f..7791a72d263 100644
--- a/nixos/doc/manual/release-notes/rl-2003.xml
+++ b/nixos/doc/manual/release-notes/rl-2003.xml
@@ -233,6 +233,16 @@
      The fourStore and fourStoreEndpoint modules have been removed.
     </para>
    </listitem>
+   <listitem>
+    <para>
+     Polkit no longer has the user of uid 0 (root) as an admin identity.
+     We now follow the upstream default of only having every member of the wheel
+     group admin privileged. Before it was root and members of wheel.
+     The positive outcome of this is pkexec GUI popups or terminal prompts
+     will no longer require the user to choose between two essentially equivalent
+     choices (whether to perform the action as themselves with wheel permissions, or as the root user).
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
diff --git a/nixos/lib/make-ext4-fs.nix b/nixos/lib/make-ext4-fs.nix
index 932adcd9796..f46d3990c06 100644
--- a/nixos/lib/make-ext4-fs.nix
+++ b/nixos/lib/make-ext4-fs.nix
@@ -4,8 +4,11 @@
 # generated image is sized to only fit its contents, with the expectation
 # that a script resizes the filesystem at boot time.
 { pkgs
+, lib
 # List of derivations to be included
 , storePaths
+# Whether or not to compress the resulting image with zstd
+, compressImage ? false, zstd
 # Shell commands to populate the ./files directory.
 # All files in that directory are copied to the root of the FS.
 , populateImageCommands ? ""
@@ -20,18 +23,20 @@
 let
   sdClosureInfo = pkgs.buildPackages.closureInfo { rootPaths = storePaths; };
 in
-
 pkgs.stdenv.mkDerivation {
-  name = "ext4-fs.img";
+  name = "ext4-fs.img${lib.optionalString compressImage ".zst"}";
 
-  nativeBuildInputs = [e2fsprogs.bin libfaketime perl lkl];
+  nativeBuildInputs = [ e2fsprogs.bin libfaketime perl lkl ]
+  ++ lib.optional compressImage zstd;
 
   buildCommand =
     ''
+      ${if compressImage then "img=temp.img" else "img=$out"}
       (
       mkdir -p ./files
       ${populateImageCommands}
       )
+
       # Add the closures of the top-level store objects.
       storePaths=$(cat ${sdClosureInfo}/store-paths)
 
@@ -42,28 +47,26 @@ pkgs.stdenv.mkDerivation {
       bytes=$((2 * 4096 * $numInodes + 4096 * $numDataBlocks))
       echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)"
 
-      truncate -s $bytes $out
-      faketime -f "1970-01-01 00:00:01" mkfs.ext4 -L ${volumeLabel} -U ${uuid} $out
+      truncate -s $bytes $img
+      faketime -f "1970-01-01 00:00:01" mkfs.ext4 -L ${volumeLabel} -U ${uuid} $img
 
       # Also include a manifest of the closures in a format suitable for nix-store --load-db.
       cp ${sdClosureInfo}/registration nix-path-registration
-      cptofs -t ext4 -i $out nix-path-registration /
+      cptofs -t ext4 -i $img nix-path-registration /
 
       # Create nix/store before copying paths
       faketime -f "1970-01-01 00:00:01" mkdir -p nix/store
-      cptofs -t ext4 -i $out nix /
+      cptofs -t ext4 -i $img nix /
 
       echo "copying store paths to image..."
-      cptofs -t ext4 -i $out $storePaths /nix/store/
+      cptofs -t ext4 -i $img $storePaths /nix/store/
 
-      (
       echo "copying files to image..."
-      cd ./files
-      cptofs -t ext4 -i $out ./* /
-      )
+      cptofs -t ext4 -i $img ./files/* /
+
 
       # I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build.
-      if ! fsck.ext4 -n -f $out; then
+      if ! fsck.ext4 -n -f $img; then
         echo "--- Fsck failed for EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---"
         cat errorlog
         return 1
@@ -71,9 +74,9 @@ pkgs.stdenv.mkDerivation {
 
       (
         # Resizes **snugly** to its actual limits (or closer to)
-        free=$(dumpe2fs $out | grep '^Free blocks:')
-        blocksize=$(dumpe2fs $out | grep '^Block size:')
-        blocks=$(dumpe2fs $out | grep '^Block count:')
+        free=$(dumpe2fs $img | grep '^Free blocks:')
+        blocksize=$(dumpe2fs $img | grep '^Block size:')
+        blocks=$(dumpe2fs $img | grep '^Block count:')
         blocks=$((''${blocks##*:})) # format the number.
         blocksize=$((''${blocksize##*:})) # format the number.
         # System can't boot with 0 blocks free.
@@ -82,10 +85,15 @@ pkgs.stdenv.mkDerivation {
         size=$(( blocks - ''${free##*:} + fudge ))
 
         echo "Resizing from $blocks blocks to $size blocks. (~ $((size*blocksize/1024/1024))MiB)"
-        EXT2FS_NO_MTAB_OK=yes resize2fs $out -f $size
+        EXT2FS_NO_MTAB_OK=yes resize2fs $img -f $size
       )
 
       # And a final fsck, because of the previous truncating.
-      fsck.ext4 -n -f $out
+      fsck.ext4 -n -f $img
+
+      if [ ${builtins.toString compressImage} ]; then
+        echo "Compressing image"
+        zstd -v --no-progress ./$img -o $out
+      fi
     '';
 }
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 009f1e2c543..11319e5f4f8 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -603,9 +603,6 @@ in
         { source = config.system.build.squashfsStore;
           target = "/nix-store.squashfs";
         }
-        { source = config.isoImage.efiSplashImage;
-          target = "/EFI/boot/efi-background.png";
-        }
         { source = config.isoImage.splashImage;
           target = "/isolinux/background.png";
         }
@@ -630,8 +627,8 @@ in
         { source = "${efiDir}/EFI";
           target = "/EFI";
         }
-        { source = pkgs.writeText "loopback.cfg" "source /EFI/boot/grub.cfg";
-          target = "/boot/grub/loopback.cfg";
+        { source = (pkgs.writeTextDir "grub/loopback.cfg" "source /EFI/boot/grub.cfg") + "/grub";
+          target = "/boot/grub";
         }
       ] ++ optionals (config.boot.loader.grub.memtest86.enable && canx86BiosBoot) [
         { source = "${pkgs.memtest86plus}/memtest.bin";
@@ -641,6 +638,10 @@ in
         { source = config.isoImage.grubTheme;
           target = "/EFI/boot/grub-theme";
         }
+      ] ++ [
+        { source = config.isoImage.efiSplashImage;
+          target = "/EFI/boot/efi-background.png";
+        }
       ];
 
     boot.loader.timeout = 10;
diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix
index 7865b767f0b..901c60befb6 100644
--- a/nixos/modules/installer/cd-dvd/sd-image.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image.nix
@@ -18,6 +18,7 @@ with lib;
 let
   rootfsImage = pkgs.callPackage ../../../lib/make-ext4-fs.nix ({
     inherit (config.sdImage) storePaths;
+    compressImage = true;
     populateImageCommands = config.sdImage.populateRootCommands;
     volumeLabel = "NIXOS_SD";
   } // optionalAttrs (config.sdImage.rootPartitionUUID != null) {
@@ -128,10 +129,11 @@ in
 
     sdImage.storePaths = [ config.system.build.toplevel ];
 
-    system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs, mtools, libfaketime, utillinux, bzip2 }: stdenv.mkDerivation {
+    system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs,
+    mtools, libfaketime, utillinux, bzip2, zstd }: stdenv.mkDerivation {
       name = config.sdImage.imageName;
 
-      nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime utillinux bzip2 ];
+      nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime utillinux bzip2 zstd ];
 
       inherit (config.sdImage) compressImage;
 
@@ -146,11 +148,14 @@ in
           echo "file sd-image $img" >> $out/nix-support/hydra-build-products
         fi
 
+        echo "Decompressing rootfs image"
+        zstd -d --no-progress "${rootfsImage}" -o ./root-fs.img
+
         # Gap in front of the first partition, in MiB
         gap=8
 
         # Create the image file sized to fit /boot/firmware and /, plus slack for the gap.
-        rootSizeBlocks=$(du -B 512 --apparent-size ${rootfsImage} | awk '{ print $1 }')
+        rootSizeBlocks=$(du -B 512 --apparent-size ./root-fs.img | awk '{ print $1 }')
         firmwareSizeBlocks=$((${toString config.sdImage.firmwareSize} * 1024 * 1024 / 512))
         imageSize=$((rootSizeBlocks * 512 + firmwareSizeBlocks * 512 + gap * 1024 * 1024))
         truncate -s $imageSize $img
@@ -168,7 +173,7 @@ in
 
         # Copy the rootfs into the SD image
         eval $(partx $img -o START,SECTORS --nr 2 --pairs)
-        dd conv=notrunc if=${rootfsImage} of=$img seek=$START count=$SECTORS
+        dd conv=notrunc if=./root-fs.img of=$img seek=$START count=$SECTORS
 
         # Create a FAT32 /boot/firmware partition of suitable size into firmware_part.img
         eval $(partx $img -o START,SECTORS --nr 1 --pairs)
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index bb217d873bb..e577ea9ab05 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -866,6 +866,7 @@
   ./services/x11/hardware/digimend.nix
   ./services/x11/hardware/cmt.nix
   ./services/x11/gdk-pixbuf.nix
+  ./services/x11/imwheel.nix
   ./services/x11/redshift.nix
   ./services/x11/urxvtd.nix
   ./services/x11/window-managers/awesome.nix
diff --git a/nixos/modules/programs/oblogout.nix b/nixos/modules/programs/oblogout.nix
index 720c29b1eae..a039b0623b5 100644
--- a/nixos/modules/programs/oblogout.nix
+++ b/nixos/modules/programs/oblogout.nix
@@ -1,176 +1,11 @@
-# Global configuration for oblogout.
-
 { config, lib, pkgs, ... }:
 
 with lib;
 
-let cfg = config.programs.oblogout;
-
-in
 {
-  ###### interface
-
-  options = {
-
-    programs.oblogout = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to install OBLogout and create <filename>/etc/oblogout.conf</filename>.
-          See <filename>${pkgs.oblogout}/share/doc/README</filename>.
-        '';
-      };
-
-      opacity = mkOption {
-        type = types.int;
-        default = 70;
-        description = ''
-          Opacity percentage of Cairo rendered backgrounds.
-        '';
-      };
-
-      bgcolor = mkOption {
-        type = types.str;
-        default = "black";
-        description = ''
-          Colour name or hex code (#ffffff) of the background color.
-        '';
-      };
-
-      buttontheme = mkOption {
-        type = types.str;
-        default = "simplistic";
-        description = ''
-          Icon theme for the buttons, must be in the themes folder of
-          the package, or in
-          <filename>~/.themes/&lt;name&gt;/oblogout/</filename>.
-        '';
-      };
-
-      buttons = mkOption {
-        type = types.str;
-        default =  "cancel, logout, restart, shutdown, suspend, hibernate";
-        description = ''
-          List and order of buttons to show.
-        '';
-      };
-
-      cancel = mkOption {
-        type = types.str;
-        default =  "Escape";
-        description = ''
-          Cancel logout/shutdown shortcut.
-        '';
-      };
-
-      shutdown = mkOption {
-        type = types.str;
-        default = "S";
-        description = ''
-          Shutdown shortcut.
-        '';
-      };
-
-      restart = mkOption {
-        type = types.str;
-        default = "R";
-        description = ''
-          Restart shortcut.
-        '';
-      };
-
-      suspend = mkOption {
-        type = types.str;
-        default = "U";
-        description = ''
-          Suspend shortcut.
-        '';
-      };
-
-      logout = mkOption {
-        type = types.str;
-        default = "L";
-        description = ''
-          Logout shortcut.
-        '';
-      };
-
-      lock = mkOption {
-        type = types.str;
-        default = "K";
-        description = ''
-          Lock session shortcut.
-        '';
-      };
-
-      hibernate = mkOption {
-        type = types.str;
-        default =  "H";
-        description = ''
-          Hibernate shortcut.
-        '';
-      };
-
-      clogout = mkOption {
-        type = types.str;
-        default = "openbox --exit";
-        description = ''
-          Command to logout.
-        '';
-      };
-
-      clock = mkOption {
-        type = types.str;
-        default = "";
-        description = ''
-          Command to lock screen.
-        '';
-      };
-
-      cswitchuser = mkOption {
-        type = types.str;
-        default = "";
-        description = ''
-          Command to switch user.
-        '';
-      };
-    };
-  };
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-    environment.systemPackages = [ pkgs.oblogout ];
-
-    environment.etc."oblogout.conf".text = ''
-      [settings]
-      usehal = false
-
-      [looks]
-      opacity = ${toString cfg.opacity}
-      bgcolor = ${cfg.bgcolor}
-      buttontheme = ${cfg.buttontheme}
-      buttons = ${cfg.buttons}
 
-      [shortcuts]
-      cancel = ${cfg.cancel}
-      shutdown = ${cfg.shutdown}
-      restart = ${cfg.restart}
-      suspend = ${cfg.suspend}
-      logout = ${cfg.logout}
-      lock = ${cfg.lock}
-      hibernate = ${cfg.hibernate}
+  imports = [
+    (mkRemovedOptionModule [ "programs" "oblogout" ] "programs.oblogout has been removed from NixOS. This is because the oblogout repository has been archived upstream.")
+  ];
 
-      [commands]
-      shutdown = systemctl poweroff
-      restart = systemctl reboot
-      suspend = systemctl suspend
-      hibernate = systemctl hibernate
-      logout = ${cfg.clogout}
-      lock = ${cfg.clock}
-      switchuser = ${cfg.cswitchuser}
-    '';
-  };
 }
diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix
index f92d09a7ef4..9a15c773463 100644
--- a/nixos/modules/programs/sway.nix
+++ b/nixos/modules/programs/sway.nix
@@ -87,6 +87,8 @@ in {
     hardware.opengl.enable = mkDefault true;
     fonts.enableDefaultFonts = mkDefault true;
     programs.dconf.enable = mkDefault true;
+    # To make a Sway session available if a display manager like SDDM is enabled:
+    services.xserver.displayManager.extraSessionFilePackages = [ swayJoined ];
   };
 
   meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ];
diff --git a/nixos/modules/security/polkit.nix b/nixos/modules/security/polkit.nix
index f2b2df4004c..a6724bd7583 100644
--- a/nixos/modules/security/polkit.nix
+++ b/nixos/modules/security/polkit.nix
@@ -42,15 +42,14 @@ in
 
     security.polkit.adminIdentities = mkOption {
       type = types.listOf types.str;
-      default = [ "unix-user:0" "unix-group:wheel" ];
+      default = [ "unix-group:wheel" ];
       example = [ "unix-user:alice" "unix-group:admin" ];
       description =
         ''
           Specifies which users are considered “administrators”, for those
           actions that require the user to authenticate as an
           administrator (i.e. have an <literal>auth_admin</literal>
-          value).  By default, this is the <literal>root</literal>
-          user and all users in the <literal>wheel</literal> group.
+          value).  By default, this is all users in the <literal>wheel</literal> group.
         '';
     };
 
diff --git a/nixos/modules/services/backup/bacula.nix b/nixos/modules/services/backup/bacula.nix
index 41bda7893a7..cef304734ae 100644
--- a/nixos/modules/services/backup/bacula.nix
+++ b/nixos/modules/services/backup/bacula.nix
@@ -44,7 +44,17 @@ let
         Pid Directory = "/run";
         ${sd_cfg.extraStorageConfig}
       }
- 
+
+      ${concatStringsSep "\n" (mapAttrsToList (name: value: ''
+      Autochanger {
+        Name = "${name}";
+        Device = ${concatStringsSep ", " (map (a: "\"${a}\"") value.devices)};
+        Changer Device =  "${value.changerDevice}";
+        Changer Command = "${value.changerCommand}";
+        ${value.extraAutochangerConfig}
+      }
+      '') sd_cfg.autochanger)}
+
       ${concatStringsSep "\n" (mapAttrsToList (name: value: ''
       Device {
         Name = "${name}";
@@ -103,7 +113,19 @@ let
       password = mkOption {
         # TODO: required?
         description = ''
-           Specifies the password that must be supplied for a Director to b
+          Specifies the password that must be supplied for the default Bacula
+          Console to be authorized. The same password must appear in the
+          Director resource of the Console configuration file. For added
+          security, the password is never passed across the network but instead
+          a challenge response hash code created with the password. This
+          directive is required. If you have either /dev/random or bc on your
+          machine, Bacula will generate a random password during the
+          configuration process, otherwise it will be left blank and you must
+          manually supply it.
+
+          The password is plain text. It is not generated through any special
+          process but as noted above, it is better to use random text for
+          security reasons. 
         '';
       };
       
@@ -111,26 +133,133 @@ let
         default = "no";
         example = "yes";
         description = ''
-           If Monitor is set to no (default), this director will have full 
+          If Monitor is set to <literal>no</literal>, this director will have
+          full access to this Storage daemon. If Monitor is set to
+          <literal>yes</literal>, this director will only be able to fetch the
+          current status of this Storage daemon.
+
+          Please note that if this director is being used by a Monitor, we
+          highly recommend to set this directive to yes to avoid serious
+          security problems. 
+        '';
+      };
+    };
+  };
+
+  autochangerOptions = {...}:
+  {
+    options = {
+      changerDevice = mkOption {
+        description = ''
+          The specified name-string must be the generic SCSI device name of the
+          autochanger that corresponds to the normal read/write Archive Device
+          specified in the Device resource. This generic SCSI device name
+          should be specified if you have an autochanger or if you have a
+          standard tape drive and want to use the Alert Command (see below).
+          For example, on Linux systems, for an Archive Device name of
+          <literal>/dev/nst0</literal>, you would specify
+          <literal>/dev/sg0</literal> for the Changer Device name.  Depending
+          on your exact configuration, and the number of autochangers or the
+          type of autochanger, what you specify here can vary. This directive
+          is optional. See the Using AutochangersAutochangersChapter chapter of
+          this manual for more details of using this and the following
+          autochanger directives.         
+          '';
+      };
+
+      changerCommand = mkOption {
+        description = ''
+          The name-string specifies an external program to be called that will
+          automatically change volumes as required by Bacula. Normally, this
+          directive will be specified only in the AutoChanger resource, which
+          is then used for all devices. However, you may also specify the
+          different Changer Command in each Device resource. Most frequently,
+          you will specify the Bacula supplied mtx-changer script as follows:
+
+          <literal>"/path/mtx-changer %c %o %S %a %d"</literal>
+
+          and you will install the mtx on your system (found in the depkgs
+          release). An example of this command is in the default bacula-sd.conf
+          file. For more details on the substitution characters that may be
+          specified to configure your autochanger please see the
+          AutochangersAutochangersChapter chapter of this manual. For FreeBSD
+          users, you might want to see one of the several chio scripts in
+          examples/autochangers.
+          '';
+        default = "/etc/bacula/mtx-changer %c %o %S %a %d";
+      };
+
+      devices = mkOption {
+        description = ''
+        '';
+      };
+
+      extraAutochangerConfig = mkOption {
+        default = "";
+        description = ''
+          Extra configuration to be passed in Autochanger directive.
+        '';
+        example = ''
+   
         '';
       };
     };
   };
 
+
   deviceOptions = {...}:
   {
     options = {
       archiveDevice = mkOption {
         # TODO: required?
         description = ''
-          The specified name-string gives the system file name of the storage device managed by this storage daemon. This will usually be the device file name of a removable storage device (tape drive), for example " /dev/nst0" or "/dev/rmt/0mbn". For a DVD-writer, it will be for example /dev/hdc. It may also be a directory name if you are archiving to disk storage.
+          The specified name-string gives the system file name of the storage
+          device managed by this storage daemon. This will usually be the
+          device file name of a removable storage device (tape drive), for
+          example <literal>/dev/nst0</literal> or
+          <literal>/dev/rmt/0mbn</literal>. For a DVD-writer, it will be for
+          example <literal>/dev/hdc</literal>. It may also be a directory name
+          if you are archiving to disk storage. In this case, you must supply
+          the full absolute path to the directory. When specifying a tape
+          device, it is preferable that the "non-rewind" variant of the device
+          file name be given. 
         '';
       };
 
       mediaType = mkOption {
         # TODO: required?
         description = ''
-          The specified name-string names the type of media supported by this device, for example, "DLT7000". Media type names are arbitrary in that you set them to anything you want, but they must be known to the volume database to keep track of which storage daemons can read which volumes. In general, each different storage type should have a unique Media Type associated with it. The same name-string must appear in the appropriate Storage resource definition in the Director's configuration file.
+          The specified name-string names the type of media supported by this
+          device, for example, <literal>DLT7000</literal>. Media type names are
+          arbitrary in that you set them to anything you want, but they must be
+          known to the volume database to keep track of which storage daemons
+          can read which volumes. In general, each different storage type
+          should have a unique Media Type associated with it. The same
+          name-string must appear in the appropriate Storage resource
+          definition in the Director's configuration file.
+
+          Even though the names you assign are arbitrary (i.e. you choose the
+          name you want), you should take care in specifying them because the
+          Media Type is used to determine which storage device Bacula will
+          select during restore. Thus you should probably use the same Media
+          Type specification for all drives where the Media can be freely
+          interchanged. This is not generally an issue if you have a single
+          Storage daemon, but it is with multiple Storage daemons, especially
+          if they have incompatible media.
+
+          For example, if you specify a Media Type of <literal>DDS-4</literal>
+          then during the restore, Bacula will be able to choose any Storage
+          Daemon that handles <literal>DDS-4</literal>. If you have an
+          autochanger, you might want to name the Media Type in a way that is
+          unique to the autochanger, unless you wish to possibly use the
+          Volumes in other drives. You should also ensure to have unique Media
+          Type names if the Media is not compatible between drives. This
+          specification is required for all devices.
+
+          In addition, if you are using disk storage, each Device resource will
+          generally have a different mount point or directory. In order for
+          Bacula to select the correct Device resource, each one must have a
+          unique Media Type.
         '';
       };
 
@@ -166,8 +295,8 @@ in {
         default = "${config.networking.hostName}-fd";
         description = ''
           The client name that must be used by the Director when connecting.
-          Generally, it is a good idea to use a name related to the machine
-          so that error messages can be easily identified if you have multiple
+          Generally, it is a good idea to use a name related to the machine so
+          that error messages can be easily identified if you have multiple
           Clients. This directive is required.
         '';
       };
@@ -232,7 +361,8 @@ in {
         default = 9103;
         type = types.int;
         description = ''
-          Specifies port number on which the Storage daemon listens for Director connections. The default is 9103.
+          Specifies port number on which the Storage daemon listens for
+          Director connections.
         '';
       };
 
@@ -251,7 +381,15 @@ in {
         '';
         type = with types; attrsOf (submodule deviceOptions);
       };
- 
+
+      autochanger = mkOption {
+        default = {};
+        description = ''
+          This option defines Autochanger resources in Bacula Storage Daemon.
+        '';
+        type = with types; attrsOf (submodule autochangerOptions);
+      };
+
       extraStorageConfig = mkOption {
         default = "";
         description = ''
@@ -287,7 +425,8 @@ in {
       name = mkOption {
         default = "${config.networking.hostName}-dir";
         description = ''
-          The director name used by the system administrator. This directive is required.
+          The director name used by the system administrator. This directive is
+          required.
         '';
       };
  
@@ -295,7 +434,12 @@ in {
         default = 9101;
         type = types.int;
         description = ''
-          Specify the port (a positive integer) on which the Director daemon will listen for Bacula Console connections. This same port number must be specified in the Director resource of the Console configuration file. The default is 9101, so normally this directive need not be specified. This directive should not be used if you specify DirAddresses (N.B plural) directive.
+          Specify the port (a positive integer) on which the Director daemon
+          will listen for Bacula Console connections. This same port number
+          must be specified in the Director resource of the Console
+          configuration file. The default is 9101, so normally this directive
+          need not be specified. This directive should not be used if you
+          specify DirAddresses (N.B plural) directive.
         '';
       };
  
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 3bedfe96a18..c8fdd89d0d8 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -339,9 +339,9 @@ in
             '') cfg.ensureDatabases}
           '' + ''
             ${concatMapStrings (user: ''
-              $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc "CREATE USER ${user.name}"
+              $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"'
               ${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
-                $PSQL -tAc 'GRANT ${permission} ON ${database} TO ${user.name}'
+                $PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"'
               '') user.ensurePermissions)}
             '') cfg.ensureUsers}
           '';
diff --git a/nixos/modules/services/misc/matrix-synapse.nix b/nixos/modules/services/misc/matrix-synapse.nix
index 50661b873f6..0bda8980720 100644
--- a/nixos/modules/services/misc/matrix-synapse.nix
+++ b/nixos/modules/services/misc/matrix-synapse.nix
@@ -671,43 +671,30 @@ in {
         gid = config.ids.gids.matrix-synapse;
       } ];
 
-    services.postgresql.enable = mkIf usePostgresql (mkDefault true);
+    services.postgresql = mkIf (usePostgresql && cfg.create_local_database) {
+      enable = mkDefault true;
+      ensureDatabases = [ cfg.database_name ];
+      ensureUsers = [{
+        name = cfg.database_user;
+        ensurePermissions = { "DATABASE \"${cfg.database_name}\"" = "ALL PRIVILEGES"; };
+      }];
+    };
 
     systemd.services.matrix-synapse = {
       description = "Synapse Matrix homeserver";
-      after = [ "network.target" "postgresql.service" ];
+      after = [ "network.target" ] ++ lib.optional config.services.postgresql.enable "postgresql.service" ;
       wantedBy = [ "multi-user.target" ];
       preStart = ''
         ${cfg.package}/bin/homeserver \
           --config-path ${configFile} \
           --keys-directory ${cfg.dataDir} \
           --generate-keys
-      '' + optionalString (usePostgresql && cfg.create_local_database) ''
-        if ! test -e "${cfg.dataDir}/db-created"; then
-          ${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
-            ${pg.package}/bin/createuser \
-            --login \
-            --no-createdb \
-            --no-createrole \
-            --encrypted \
-            ${cfg.database_user}
-          ${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
-            ${pg.package}/bin/createdb \
-            --owner=${cfg.database_user} \
-            --encoding=UTF8 \
-            --lc-collate=C \
-            --lc-ctype=C \
-            --template=template0 \
-            ${cfg.database_name}
-          touch "${cfg.dataDir}/db-created"
-        fi
       '';
       serviceConfig = {
         Type = "notify";
         User = "matrix-synapse";
         Group = "matrix-synapse";
         WorkingDirectory = cfg.dataDir;
-        PermissionsStartOnly = true;
         ExecStart = ''
           ${cfg.package}/bin/homeserver \
             ${ concatMapStringsSep "\n  " (x: "--config-path ${x} \\") ([ configFile ] ++ cfg.extraConfigFiles) }
diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix
index 5681bda51cb..c80db8472f0 100644
--- a/nixos/modules/services/networking/nat.nix
+++ b/nixos/modules/services/networking/nat.nix
@@ -13,20 +13,24 @@ let
   dest = if cfg.externalIP == null then "-j MASQUERADE" else "-j SNAT --to-source ${cfg.externalIP}";
 
   flushNat = ''
-    iptables -w -t nat -D PREROUTING -j nixos-nat-pre 2>/dev/null|| true
-    iptables -w -t nat -F nixos-nat-pre 2>/dev/null || true
-    iptables -w -t nat -X nixos-nat-pre 2>/dev/null || true
-    iptables -w -t nat -D POSTROUTING -j nixos-nat-post 2>/dev/null || true
-    iptables -w -t nat -F nixos-nat-post 2>/dev/null || true
-    iptables -w -t nat -X nixos-nat-post 2>/dev/null || true
+    ip46tables -w -t nat -D PREROUTING -j nixos-nat-pre 2>/dev/null|| true
+    ip46tables -w -t nat -F nixos-nat-pre 2>/dev/null || true
+    ip46tables -w -t nat -X nixos-nat-pre 2>/dev/null || true
+    ip46tables -w -t nat -D POSTROUTING -j nixos-nat-post 2>/dev/null || true
+    ip46tables -w -t nat -F nixos-nat-post 2>/dev/null || true
+    ip46tables -w -t nat -X nixos-nat-post 2>/dev/null || true
+    ip46tables -w -t nat -D OUTPUT -j nixos-nat-out 2>/dev/null || true
+    ip46tables -w -t nat -F nixos-nat-out 2>/dev/null || true
+    ip46tables -w -t nat -X nixos-nat-out 2>/dev/null || true
 
     ${cfg.extraStopCommands}
   '';
 
   setupNat = ''
     # Create subchain where we store rules
-    iptables -w -t nat -N nixos-nat-pre
-    iptables -w -t nat -N nixos-nat-post
+    ip46tables -w -t nat -N nixos-nat-pre
+    ip46tables -w -t nat -N nixos-nat-post
+    ip46tables -w -t nat -N nixos-nat-out
 
     # We can't match on incoming interface in POSTROUTING, so
     # mark packets coming from the internal interfaces.
@@ -88,8 +92,9 @@ let
     ${cfg.extraCommands}
 
     # Append our chains to the nat tables
-    iptables -w -t nat -A PREROUTING -j nixos-nat-pre
-    iptables -w -t nat -A POSTROUTING -j nixos-nat-post
+    ip46tables -w -t nat -A PREROUTING -j nixos-nat-pre
+    ip46tables -w -t nat -A POSTROUTING -j nixos-nat-post
+    ip46tables -w -t nat -A OUTPUT -j nixos-nat-out
   '';
 
 in
diff --git a/nixos/modules/services/networking/unbound.nix b/nixos/modules/services/networking/unbound.nix
index 3cf82e8839b..baed83591e1 100644
--- a/nixos/modules/services/networking/unbound.nix
+++ b/nixos/modules/services/networking/unbound.nix
@@ -53,6 +53,13 @@ in
 
       enable = mkEnableOption "Unbound domain name server";
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.unbound;
+        defaultText = "pkgs.unbound";
+        description = "The unbound package to use";
+      };
+
       allowedAccess = mkOption {
         default = [ "127.0.0.0/24" ];
         type = types.listOf types.str;
@@ -94,7 +101,7 @@ in
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages = [ pkgs.unbound ];
+    environment.systemPackages = [ cfg.package ];
 
     users.users.unbound = {
       description = "unbound daemon user";
@@ -114,7 +121,7 @@ in
         mkdir -m 0755 -p ${stateDir}/dev/
         cp ${confFile} ${stateDir}/unbound.conf
         ${optionalString cfg.enableRootTrustAnchor ''
-          ${pkgs.unbound}/bin/unbound-anchor -a ${rootTrustAnchorFile} || echo "Root anchor updated!"
+          ${cfg.package}/bin/unbound-anchor -a ${rootTrustAnchorFile} || echo "Root anchor updated!"
           chown unbound ${stateDir} ${rootTrustAnchorFile}
         ''}
         touch ${stateDir}/dev/random
@@ -122,7 +129,7 @@ in
       '';
 
       serviceConfig = {
-        ExecStart = "${pkgs.unbound}/bin/unbound -d -c ${stateDir}/unbound.conf";
+        ExecStart = "${cfg.package}/bin/unbound -d -c ${stateDir}/unbound.conf";
         ExecStopPost="${pkgs.utillinux}/bin/umount ${stateDir}/dev/random";
 
         ProtectSystem = true;
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index 412f9180375..f7a88867b61 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -71,7 +71,7 @@ in
       };
 
       downloadDirPermissions = mkOption {
-        type = types.string;
+        type = types.str;
         default = "770";
         example = "775";
         description = ''
diff --git a/nixos/modules/services/web-servers/unit/default.nix b/nixos/modules/services/web-servers/unit/default.nix
index 32f6d475b34..b07212580a5 100644
--- a/nixos/modules/services/web-servers/unit/default.nix
+++ b/nixos/modules/services/web-servers/unit/default.nix
@@ -85,7 +85,7 @@ in {
     systemd.tmpfiles.rules = [
       "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -"
       "d '${cfg.logDir}' 0750 ${cfg.user} ${cfg.group} - -"
-     ];
+    ];
 
     systemd.services.unit = {
       description = "Unit App Server";
@@ -93,23 +93,39 @@ in {
       wantedBy = [ "multi-user.target" ];
       path = with pkgs; [ curl ];
       preStart = ''
-        test -f '/run/unit/control.unit.sock' || rm -f '/run/unit/control.unit.sock'
+        test -f '${cfg.stateDir}/conf.json' || rm -f '${cfg.stateDir}/conf.json'
       '';
       postStart = ''
         curl -X PUT --data-binary '@${configFile}' --unix-socket '/run/unit/control.unit.sock' 'http://localhost/config'
       '';
       serviceConfig = {
-        User = cfg.user;
-        Group = cfg.group;
-        AmbientCapabilities = "CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID";
-        CapabilityBoundingSet = "CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID";
         ExecStart = ''
           ${cfg.package}/bin/unitd --control 'unix:/run/unit/control.unit.sock' --pid '/run/unit/unit.pid' \
                                    --log '${cfg.logDir}/unit.log' --state '${cfg.stateDir}' --no-daemon \
                                    --user ${cfg.user} --group ${cfg.group}
         '';
+        # User and group
+        User = cfg.user;
+        Group = cfg.group;
+        # Capabilities
+        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" "CAP_SETGID" "CAP_SETUID" ];
+        # Security
+        NoNewPrivileges = true;
+        # Sanboxing
+        ProtectSystem = "full";
+        ProtectHome = true;
         RuntimeDirectory = "unit";
         RuntimeDirectoryMode = "0750";
+        PrivateTmp = true;
+        PrivateDevices = true;
+        ProtectHostname = true;
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+        LockPersonality = true;
+        MemoryDenyWriteExecute = true;
+        RestrictRealtime = true;
+        PrivateMounts = true;
       };
     };
 
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index 29a80aac6e6..095569fa08a 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -204,9 +204,12 @@ in
           cat - > /run/gdm/.config/gnome-initial-setup-done <<- EOF
           yes
           EOF
-        '' + optionalString hasDefaultUserSession ''
-          ${setSessionScript}/bin/set-session ${defaultSessionName}
-        '';
+        ''
+        # TODO: Make setSessionScript aware of previously used sessions
+        # + optionalString hasDefaultUserSession ''
+        #   ${setSessionScript}/bin/set-session ${defaultSessionName}
+        # ''
+        ;
       };
 
     # Because sd_login_monitor_new requires /run/systemd/machines
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
index 29cb6ccbc06..77c94114e6d 100644
--- a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
@@ -35,6 +35,9 @@ in
       name = "io.elementary.greeter";
     };
 
+    # Show manual login card.
+    services.xserver.displayManager.lightdm.extraSeatDefaults = "greeter-show-manual-login=true";
+
     environment.etc."lightdm/io.elementary.greeter.conf".source = "${pkgs.pantheon.elementary-greeter}/etc/lightdm/io.elementary.greeter.conf";
     environment.etc."wingpanel.d/io.elementary.greeter.whitelist".source = "${pkgs.pantheon.elementary-default-settings}/etc/wingpanel.d/io.elementary.greeter.whitelist";
 
diff --git a/nixos/modules/services/x11/imwheel.nix b/nixos/modules/services/x11/imwheel.nix
new file mode 100644
index 00000000000..871f8851a7e
--- /dev/null
+++ b/nixos/modules/services/x11/imwheel.nix
@@ -0,0 +1,68 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.xserver.imwheel;
+in
+  {
+    options = {
+      services.xserver.imwheel = {
+        enable = mkEnableOption "IMWheel service";
+
+        extraOptions = mkOption {
+          type = types.listOf types.str;
+          default = [ "--buttons 45" ];
+          example = [ "--debug" ];
+          description = ''
+            Additional command-line arguments to pass to
+            <command>imwheel</command>.
+          '';
+        };
+
+        rules = mkOption {
+          type = types.attrsOf types.str;
+          default = {};
+          example = literalExample ''
+            ".*" = '''
+              None,      Up,   Button4, 8
+              None,      Down, Button5, 8
+              Shift_L,   Up,   Shift_L|Button4, 4
+              Shift_L,   Down, Shift_L|Button5, 4
+              Control_L, Up,   Control_L|Button4
+              Control_L, Down, Control_L|Button5
+            ''';
+          '';
+          description = ''
+            Window class translation rules.
+            /etc/X11/imwheelrc is generated based on this config
+            which means this config is global for all users.
+            See <link xlink:href="http://imwheel.sourceforge.net/imwheel.1.html">offical man pages</link>
+            for more informations.
+          '';
+        };
+      };
+    };
+
+    config = mkIf cfg.enable {
+      environment.systemPackages = [ pkgs.imwheel ];
+
+      environment.etc."X11/imwheel/imwheelrc".source =
+        pkgs.writeText "imwheelrc" (concatStringsSep "\n\n"
+          (mapAttrsToList
+            (rule: conf: "\"${rule}\"\n${conf}") cfg.rules
+          ));
+
+      systemd.user.services.imwheel = {
+        description = "imwheel service";
+        wantedBy = [ "graphical-session.target" ];
+        partOf = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${pkgs.imwheel}/bin/imwheel " + escapeShellArgs ([
+            "--detach"
+            "--kill"
+          ] ++ cfg.extraOptions);
+          ExecStop = "${pkgs.procps}/bin/pkill imwheel";
+          Restart = "on-failure";
+        };
+      };
+    };
+  }
diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix
index 505c11abd20..b4934a86cf5 100644
--- a/nixos/modules/virtualisation/lxd.nix
+++ b/nixos/modules/virtualisation/lxd.nix
@@ -35,6 +35,18 @@ in
           with nixos.
         '';
       };
+      recommendedSysctlSettings = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          enables various settings to avoid common pitfalls when
+          running containers requiring many file operations.
+          Fixes errors like "Too many open files" or
+          "neighbour: ndisc_cache: neighbor table overflow!".
+          See https://lxd.readthedocs.io/en/latest/production-setup/
+          for details.
+        '';
+      };
     };
   };
 
@@ -69,8 +81,11 @@ in
         ExecStart = "@${pkgs.lxd.bin}/bin/lxd lxd --group lxd";
         Type = "simple";
         KillMode = "process"; # when stopping, leave the containers alone
+        LimitMEMLOCK = "infinity";
+        LimitNOFILE = "1048576";
+        LimitNPROC = "infinity";
+        TasksMax = "infinity";
       };
-
     };
 
     users.groups.lxd.gid = config.ids.gids.lxd;
@@ -79,5 +94,16 @@ in
       subUidRanges = [ { startUid = 1000000; count = 65536; } ];
       subGidRanges = [ { startGid = 1000000; count = 65536; } ];
     };
+
+    boot.kernel.sysctl = mkIf cfg.recommendedSysctlSettings {
+      "fs.inotify.max_queued_events" = 1048576;
+      "fs.inotify.max_user_instances" = 1048576;
+      "fs.inotify.max_user_watches" = 1048576;
+      "vm.max_map_count" = 262144;
+      "kernel.dmesg_restrict" = 1;
+      "net.ipv4.neigh.default.gc_thresh3" = 8192;
+      "net.ipv6.neigh.default.gc_thresh3" = 8192;
+      "kernel.keys.maxkeys" = 2000;
+    };
   };
 }
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 7ef48589de4..e4abfb7ba6e 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -57,6 +57,7 @@ in
   containers-ip = handleTest ./containers-ip.nix {};
   containers-macvlans = handleTest ./containers-macvlans.nix {};
   containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {};
+  containers-portforward = handleTest ./containers-portforward.nix {};
   containers-restart_networking = handleTest ./containers-restart_networking.nix {};
   containers-tmpfs = handleTest ./containers-tmpfs.nix {};
   couchdb = handleTest ./couchdb.nix {};
@@ -262,6 +263,7 @@ in
   syncthing-init = handleTest ./syncthing-init.nix {};
   syncthing-relay = handleTest ./syncthing-relay.nix {};
   systemd = handleTest ./systemd.nix {};
+  systemd-analyze = handleTest ./systemd-analyze.nix {};
   systemd-confinement = handleTest ./systemd-confinement.nix {};
   systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
   systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {};
diff --git a/nixos/tests/containers-extra_veth.nix b/nixos/tests/containers-extra_veth.nix
index b3d3bce8757..7d30b3f76cd 100644
--- a/nixos/tests/containers-extra_veth.nix
+++ b/nixos/tests/containers-extra_veth.nix
@@ -1,7 +1,7 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "containers-bridge";
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "containers-extra_veth";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ kampfschlaefer ];
   };
@@ -52,52 +52,43 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->waitForUnit("default.target");
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
+      machine.wait_for_unit("default.target")
+      assert "webserver" in machine.succeed("nixos-container list")
 
-      # Status of the webserver container.
-      $machine->succeed("nixos-container status webserver") =~ /up/ or die;
+      with subtest("Status of the webserver container is up"):
+          assert "up" in machine.succeed("nixos-container status webserver")
 
-      # Debug
-      #$machine->succeed("nixos-container run webserver -- ip link >&2");
+      with subtest("Ensure that the veths are inside the container"):
+          assert "state UP" in machine.succeed(
+              "nixos-container run webserver -- ip link show veth1"
+          )
+          assert "state UP" in machine.succeed(
+              "nixos-container run webserver -- ip link show veth2"
+          )
 
-      # Ensure that the veths are inside the container
-      $machine->succeed("nixos-container run webserver -- ip link show veth1") =~ /state UP/ or die;
-      $machine->succeed("nixos-container run webserver -- ip link show veth2") =~ /state UP/ or die;
+      with subtest("Ensure the presence of the extra veths"):
+          assert "state UP" in machine.succeed("ip link show veth1")
+          assert "state UP" in machine.succeed("ip link show veth2")
 
-      # Debug
-      #$machine->succeed("ip link >&2");
+      with subtest("Ensure the veth1 is part of br1 on the host"):
+          assert "master br1" in machine.succeed("ip link show veth1")
 
-      # Ensure the presence of the extra veths
-      $machine->succeed("ip link show veth1") =~ /state UP/ or die;
-      $machine->succeed("ip link show veth2") =~ /state UP/ or die;
+      with subtest("Ping on main veth"):
+          machine.succeed("ping -n -c 1 192.168.0.100")
+          machine.succeed("ping -n -c 1 fc00::2")
 
-      # Ensure the veth1 is part of br1 on the host
-      $machine->succeed("ip link show veth1") =~ /master br1/ or die;
+      with subtest("Ping on the first extra veth"):
+          machine.succeed("ping -n -c 1 192.168.1.100 >&2")
 
-      # Debug
-      #$machine->succeed("ip -4 a >&2");
-      #$machine->succeed("ip -4 r >&2");
-      #$machine->succeed("nixos-container run webserver -- ip link >&2");
-      #$machine->succeed("nixos-container run webserver -- ip -4 a >&2");
-      #$machine->succeed("nixos-container run webserver -- ip -4 r >&2");
+      with subtest("Ping on the second extra veth"):
+          machine.succeed("ping -n -c 1 192.168.2.100 >&2")
 
-      # Ping on main veth
-      $machine->succeed("ping -n -c 1 192.168.0.100");
-      $machine->succeed("ping -n -c 1 fc00::2");
+      with subtest("Container can be stopped"):
+          machine.succeed("nixos-container stop webserver")
+          machine.fail("ping -n -c 1 192.168.1.100 >&2")
+          machine.fail("ping -n -c 1 192.168.2.100 >&2")
 
-      # Ping on the first extra veth
-      $machine->succeed("ping -n -c 1 192.168.1.100 >&2");
-
-      # Ping on the second extra veth
-      $machine->succeed("ping -n -c 1 192.168.2.100 >&2");
-
-      # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("ping -n -c 1 192.168.1.100 >&2");
-      $machine->fail("ping -n -c 1 192.168.2.100 >&2");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
+      with subtest("Destroying a declarative container should fail"):
+          machine.fail("nixos-container destroy webserver")
     '';
 })
diff --git a/nixos/tests/containers-macvlans.nix b/nixos/tests/containers-macvlans.nix
index 2bdb926a8e2..0e8f67bc76f 100644
--- a/nixos/tests/containers-macvlans.nix
+++ b/nixos/tests/containers-macvlans.nix
@@ -6,7 +6,7 @@ let
   containerIp2 = "192.168.1.254";
 in
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-macvlans";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ montag451 ];
@@ -64,19 +64,23 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $machine1->waitForUnit("default.target");
-    $machine2->waitForUnit("default.target");
+    start_all()
+    machine1.wait_for_unit("default.target")
+    machine2.wait_for_unit("default.target")
 
-    # Ping between containers to check that macvlans are created in bridge mode
-    $machine1->succeed("nixos-container run test1 -- ping -n -c 1 ${containerIp2}");
+    with subtest(
+        "Ping between containers to check that macvlans are created in bridge mode"
+    ):
+        machine1.succeed("nixos-container run test1 -- ping -n -c 1 ${containerIp2}")
 
-    # Ping containers from the host (machine1)
-    $machine1->succeed("ping -n -c 1 ${containerIp1}");
-    $machine1->succeed("ping -n -c 1 ${containerIp2}");
+    with subtest("Ping containers from the host (machine1)"):
+        machine1.succeed("ping -n -c 1 ${containerIp1}")
+        machine1.succeed("ping -n -c 1 ${containerIp2}")
 
-    # Ping containers from the second machine to check that containers are reachable from the outside
-    $machine2->succeed("ping -n -c 1 ${containerIp1}");
-    $machine2->succeed("ping -n -c 1 ${containerIp2}");
+    with subtest(
+        "Ping containers from the second machine to check that containers are reachable from the outside"
+    ):
+        machine2.succeed("ping -n -c 1 ${containerIp1}")
+        machine2.succeed("ping -n -c 1 ${containerIp2}")
   '';
 })
diff --git a/nixos/tests/containers-physical_interfaces.nix b/nixos/tests/containers-physical_interfaces.nix
index 1e312f59f43..e800751a23c 100644
--- a/nixos/tests/containers-physical_interfaces.nix
+++ b/nixos/tests/containers-physical_interfaces.nix
@@ -1,5 +1,5 @@
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-physical_interfaces";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ kampfschlaefer ];
@@ -86,48 +86,51 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-
-    subtest "prepare server", sub {
-      $server->waitForUnit("default.target");
-      $server->succeed("ip link show dev eth1 >&2");
-    };
-
-    subtest "simple physical interface", sub {
-      $server->succeed("nixos-container start server");
-      $server->waitForUnit("container\@server");
-      $server->succeed("systemctl -M server list-dependencies network-addresses-eth1.service >&2");
-
-      # The other tests will ping this container on its ip. Here we just check
-      # that the device is present in the container.
-      $server->succeed("nixos-container run server -- ip a show dev eth1 >&2");
-    };
-
-    subtest "physical device in bridge in container", sub {
-      $bridged->waitForUnit("default.target");
-      $bridged->succeed("nixos-container start bridged");
-      $bridged->waitForUnit("container\@bridged");
-      $bridged->succeed("systemctl -M bridged list-dependencies network-addresses-br0.service >&2");
-      $bridged->succeed("systemctl -M bridged status -n 30 -l network-addresses-br0.service");
-      $bridged->succeed("nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1");
-    };
-
-    subtest "physical device in bond in container", sub {
-      $bonded->waitForUnit("default.target");
-      $bonded->succeed("nixos-container start bonded");
-      $bonded->waitForUnit("container\@bonded");
-      $bonded->succeed("systemctl -M bonded list-dependencies network-addresses-bond0 >&2");
-      $bonded->succeed("systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2");
-      $bonded->succeed("nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1");
-    };
-
-    subtest "physical device in bond in bridge in container", sub {
-      $bridgedbond->waitForUnit("default.target");
-      $bridgedbond->succeed("nixos-container start bridgedbond");
-      $bridgedbond->waitForUnit("container\@bridgedbond");
-      $bridgedbond->succeed("systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2");
-      $bridgedbond->succeed("systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service");
-      $bridgedbond->succeed("nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1");
-    };
+    start_all()
+
+    with subtest("Prepare server"):
+        server.wait_for_unit("default.target")
+        server.succeed("ip link show dev eth1 >&2")
+
+    with subtest("Simple physical interface is up"):
+        server.succeed("nixos-container start server")
+        server.wait_for_unit("container@server")
+        server.succeed(
+            "systemctl -M server list-dependencies network-addresses-eth1.service >&2"
+        )
+
+        # The other tests will ping this container on its ip. Here we just check
+        # that the device is present in the container.
+        server.succeed("nixos-container run server -- ip a show dev eth1 >&2")
+
+    with subtest("Physical device in bridge in container can ping server"):
+        bridged.wait_for_unit("default.target")
+        bridged.succeed("nixos-container start bridged")
+        bridged.wait_for_unit("container@bridged")
+        bridged.succeed(
+            "systemctl -M bridged list-dependencies network-addresses-br0.service >&2",
+            "systemctl -M bridged status -n 30 -l network-addresses-br0.service",
+            "nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1",
+        )
+
+    with subtest("Physical device in bond in container can ping server"):
+        bonded.wait_for_unit("default.target")
+        bonded.succeed("nixos-container start bonded")
+        bonded.wait_for_unit("container@bonded")
+        bonded.succeed(
+            "systemctl -M bonded list-dependencies network-addresses-bond0 >&2",
+            "systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2",
+            "nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1",
+        )
+
+    with subtest("Physical device in bond in bridge in container can ping server"):
+        bridgedbond.wait_for_unit("default.target")
+        bridgedbond.succeed("nixos-container start bridgedbond")
+        bridgedbond.wait_for_unit("container@bridgedbond")
+        bridgedbond.succeed(
+            "systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2",
+            "systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service",
+            "nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1",
+        )
   '';
 })
diff --git a/nixos/tests/containers-portforward.nix b/nixos/tests/containers-portforward.nix
index ec8e9629c21..fc90e151bd9 100644
--- a/nixos/tests/containers-portforward.nix
+++ b/nixos/tests/containers-portforward.nix
@@ -7,7 +7,7 @@ let
   containerPort = 80;
 in 
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-portforward";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aristid aszlig eelco kampfschlaefer ianwookim ];
@@ -36,27 +36,27 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
+      container_list = machine.succeed("nixos-container list")
+      assert "webserver" in container_list
 
       # Start the webserver container.
-      $machine->succeed("nixos-container start webserver");
+      machine.succeed("nixos-container start webserver")
 
       # wait two seconds for the container to start and the network to be up
-      sleep 2;
+      machine.sleep(2)
 
       # Since "start" returns after the container has reached
       # multi-user.target, we should now be able to access it.
-      #my $ip = $machine->succeed("nixos-container show-ip webserver");
-      #chomp $ip;
-      $machine->succeed("ping -n -c1 ${hostIp}");
-      $machine->succeed("curl --fail http://${hostIp}:${toString hostPort}/ > /dev/null");
+      # ip = machine.succeed("nixos-container show-ip webserver").strip()
+      machine.succeed("ping -n -c1 ${hostIp}")
+      machine.succeed("curl --fail http://${hostIp}:${toString hostPort}/ > /dev/null")
 
       # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("curl --fail --connect-timeout 2 http://${hostIp}:${toString hostPort}/ > /dev/null");
+      machine.succeed("nixos-container stop webserver")
+      machine.fail("curl --fail --connect-timeout 2 http://${hostIp}:${toString hostPort}/ > /dev/null")
 
       # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
+      machine.fail("nixos-container destroy webserver")
     '';
 
 })
diff --git a/nixos/tests/containers-restart_networking.nix b/nixos/tests/containers-restart_networking.nix
index df15f5b2f45..b50dadd13e4 100644
--- a/nixos/tests/containers-restart_networking.nix
+++ b/nixos/tests/containers-restart_networking.nix
@@ -16,7 +16,7 @@ let
       };
     };
   };
-in import ./make-test.nix ({ pkgs, ...} :
+in import ./make-test-python.nix ({ pkgs, ...} :
 {
   name = "containers-restart_networking";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -64,50 +64,52 @@ in import ./make-test.nix ({ pkgs, ...} :
     eth1_bridged = nodes.client_eth1.config.system.build.toplevel;
     eth1_rstp = nodes.client_eth1_rstp.config.system.build.toplevel;
   in ''
-    $client->start();
-
-    $client->waitForUnit("default.target");
-
-    subtest "initial state", sub {
-      $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-      $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2");
-
-      $client->fail("ip l show eth1 |grep \"master br0\" >&2");
-      $client->fail("grep eth1 /run/br0.interfaces >&2");
-    };
-
-    subtest "interfaces without stp", sub {
-      $client->succeed("${eth1_bridged}/bin/switch-to-configuration test >&2");
-
-      $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-      $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2");
-
-      $client->succeed("ip l show eth1 |grep \"master br0\" >&2");
-      $client->succeed("grep eth1 /run/br0.interfaces >&2");
-    };
-
-    # activating rstp needs another service, therefor the bridge will restart and the container will loose its connectivity
-    #subtest "interfaces with rstp", sub {
-    #  $client->succeed("${eth1_rstp}/bin/switch-to-configuration test >&2");
-    #  $client->execute("ip -4 a >&2");
-    #  $client->execute("ip l >&2");
+    client.start()
+
+    client.wait_for_unit("default.target")
+
+    with subtest("Initial configuration connectivity check"):
+        client.succeed("ping 192.168.1.122 -c 1 -n >&2")
+        client.succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2")
+
+        client.fail("ip l show eth1 |grep 'master br0' >&2")
+        client.fail("grep eth1 /run/br0.interfaces >&2")
+
+    with subtest("Bridged configuration without STP preserves connectivity"):
+        client.succeed(
+            "${eth1_bridged}/bin/switch-to-configuration test >&2"
+        )
+
+        client.succeed(
+            "ping 192.168.1.122 -c 1 -n >&2",
+            "nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2",
+            "ip l show eth1 |grep 'master br0' >&2",
+            "grep eth1 /run/br0.interfaces >&2",
+        )
+
+    #  activating rstp needs another service, therefore the bridge will restart and the container will lose its connectivity
+    # with subtest("Bridged configuration with STP"):
+    #     client.succeed("${eth1_rstp}/bin/switch-to-configuration test >&2")
+    #     client.execute("ip -4 a >&2")
+    #     client.execute("ip l >&2")
     #
-    #  $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-    #  $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2");
-    #
-    #  $client->succeed("ip l show eth1 |grep \"master br0\" >&2");
-    #  $client->succeed("grep eth1 /run/br0.interfaces >&2");
-    #};
-
-    subtest "back to no interfaces and no stp", sub {
-      $client->succeed("${originalSystem}/bin/switch-to-configuration test >&2");
-
-      $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-      $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2");
-
-      $client->fail("ip l show eth1 |grep \"master br0\" >&2");
-      $client->fail("grep eth1 /run/br0.interfaces >&2");
-    };
+    #     client.succeed(
+    #         "ping 192.168.1.122 -c 1 -n >&2",
+    #         "nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2",
+    #         "ip l show eth1 |grep 'master br0' >&2",
+    #         "grep eth1 /run/br0.interfaces >&2",
+    #     )
+
+    with subtest("Reverting to initial configuration preserves connectivity"):
+        client.succeed(
+            "${originalSystem}/bin/switch-to-configuration test >&2"
+        )
+
+        client.succeed("ping 192.168.1.122 -c 1 -n >&2")
+        client.succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2")
+
+        client.fail("ip l show eth1 |grep 'master br0' >&2")
+        client.fail("grep eth1 /run/br0.interfaces >&2")
   '';
 
 })
diff --git a/nixos/tests/gitea.nix b/nixos/tests/gitea.nix
index ffbc07cfbb2..aaed2486421 100644
--- a/nixos/tests/gitea.nix
+++ b/nixos/tests/gitea.nix
@@ -6,64 +6,104 @@
 with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
-{
-  mysql = makeTest {
-    name = "gitea-mysql";
-    meta.maintainers = with maintainers; [ aanderse kolaente ];
-
-    machine =
-      { config, pkgs, ... }:
-      { services.gitea.enable = true;
-        services.gitea.database.type = "mysql";
+let
+  supportedDbTypes = [ "mysql" "postgres" "sqlite3" ];
+  makeGiteaTest = type: nameValuePair type (makeTest {
+    name = "gitea-${type}";
+    meta.maintainers = with maintainers; [ aanderse kolaente ma27 ];
+
+    nodes = {
+      server = { config, pkgs, ... }: {
+        services.gitea = {
+          enable = true;
+          database = { inherit type; };
+          disableRegistration = true;
+        };
+        environment.systemPackages = [ pkgs.gitea pkgs.jq ];
+        services.openssh.enable = true;
+      };
+      client1 = { config, pkgs, ... }: {
+        environment.systemPackages = [ pkgs.git ];
+      };
+      client2 = { config, pkgs, ... }: {
+        environment.systemPackages = [ pkgs.git ];
       };
+    };
+
+    testScript = let
+      inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey;
+    in ''
+      GIT_SSH_COMMAND = "ssh -i $HOME/.ssh/privk -o StrictHostKeyChecking=no"
+      REPO = "gitea@server:test/repo"
+      PRIVK = "${snakeOilPrivateKey}"
 
-    testScript = ''
       start_all()
 
-      machine.wait_for_unit("gitea.service")
-      machine.wait_for_open_port(3000)
-      machine.succeed("curl --fail http://localhost:3000/")
-    '';
-  };
+      client1.succeed("mkdir /tmp/repo")
+      client1.succeed("mkdir -p $HOME/.ssh")
+      client1.succeed(f"cat {PRIVK} > $HOME/.ssh/privk")
+      client1.succeed("chmod 0400 $HOME/.ssh/privk")
+      client1.succeed("git -C /tmp/repo init")
+      client1.succeed("echo hello world > /tmp/repo/testfile")
+      client1.succeed("git -C /tmp/repo add .")
+      client1.succeed("git config --global user.email test@localhost")
+      client1.succeed("git config --global user.name test")
+      client1.succeed("git -C /tmp/repo commit -m 'Initial import'")
+      client1.succeed(f"git -C /tmp/repo remote add origin {REPO}")
 
-  postgres = makeTest {
-    name = "gitea-postgres";
-    meta.maintainers = [ maintainers.aanderse ];
+      server.wait_for_unit("gitea.service")
+      server.wait_for_open_port(3000)
+      server.succeed("curl --fail http://localhost:3000/")
 
-    machine =
-      { config, pkgs, ... }:
-      { services.gitea.enable = true;
-        services.gitea.database.type = "postgres";
-      };
+      server.succeed(
+          "curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. "
+          + "Please contact your site administrator.'"
+      )
+      server.succeed(
+          "su -l gitea -c 'GITEA_WORK_DIR=/var/lib/gitea gitea admin create-user "
+          + "--username test --password totallysafe --email test@localhost'"
+      )
 
-    testScript = ''
-      start_all()
+      api_token = server.succeed(
+          "curl --fail -X POST http://test:totallysafe@localhost:3000/api/v1/users/test/tokens "
+          + "-H 'Accept: application/json' -H 'Content-Type: application/json' -d "
+          + "'{\"name\":\"token\"}' | jq '.sha1' | xargs echo -n"
+      )
 
-      machine.wait_for_unit("gitea.service")
-      machine.wait_for_open_port(3000)
-      machine.succeed("curl --fail http://localhost:3000/")
-    '';
-  };
+      server.succeed(
+          "curl --fail -X POST http://localhost:3000/api/v1/user/repos "
+          + "-H 'Accept: application/json' -H 'Content-Type: application/json' "
+          + f"-H 'Authorization: token {api_token}'"
+          + ' -d \'{"auto_init":false, "description":"string", "license":"mit", "name":"repo", "private":false}\'''
+      )
 
-  sqlite = makeTest {
-    name = "gitea-sqlite";
-    meta.maintainers = [ maintainers.aanderse ];
+      server.succeed(
+          "curl --fail -X POST http://localhost:3000/api/v1/user/keys "
+          + "-H 'Accept: application/json' -H 'Content-Type: application/json' "
+          + f"-H 'Authorization: token {api_token}'"
+          + ' -d \'{"key":"${snakeOilPublicKey}","read_only":true,"title":"SSH"}\'''
+      )
 
-    machine =
-      { config, pkgs, ... }:
-      { services.gitea.enable = true;
-        services.gitea.disableRegistration = true;
-      };
+      client1.succeed(
+          f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git -C /tmp/repo push origin master"
+      )
 
-    testScript = ''
-      start_all()
+      client2.succeed("mkdir -p $HOME/.ssh")
+      client2.succeed(f"cat {PRIVK} > $HOME/.ssh/privk")
+      client2.succeed("chmod 0400 $HOME/.ssh/privk")
+      client2.succeed(f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git clone {REPO}")
+      client2.succeed('test "$(cat repo/testfile | xargs echo -n)" = "hello world"')
 
-      machine.wait_for_unit("gitea.service")
-      machine.wait_for_open_port(3000)
-      machine.succeed("curl --fail http://localhost:3000/")
-      machine.succeed(
-          "curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. Please contact your site administrator.'"
+      server.succeed(
+          'test "$(curl http://localhost:3000/api/v1/repos/test/repo/commits '
+          + '-H "Accept: application/json" | jq length)" = "1"'
       )
+
+      client1.shutdown()
+      client2.shutdown()
+      server.shutdown()
     '';
-  };
-}
+  });
+in
+
+listToAttrs (map makeGiteaTest supportedDbTypes)
diff --git a/nixos/tests/systemd-analyze.nix b/nixos/tests/systemd-analyze.nix
new file mode 100644
index 00000000000..a78ba08cd55
--- /dev/null
+++ b/nixos/tests/systemd-analyze.nix
@@ -0,0 +1,46 @@
+import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
+
+{
+  name = "systemd-analyze";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ raskin ];
+  };
+
+  machine =
+    { pkgs, lib, ... }:
+    { boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest;
+      sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
+    };
+
+  testScript = ''
+    machine.wait_for_unit("multi-user.target")
+
+    # We create a special output directory to copy it as a whole
+    with subtest("Prepare output dir"):
+        machine.succeed("mkdir systemd-analyze")
+
+
+    # Save the output into a file with given name inside the common
+    # output directory
+    def run_systemd_analyze(args, name):
+        tgt_dir = "systemd-analyze"
+        machine.succeed(
+            "systemd-analyze {} > {}/{} 2> {}/{}.err".format(
+                " ".join(args), tgt_dir, name, tgt_dir, name
+            )
+        )
+
+
+    with subtest("Print statistics"):
+        run_systemd_analyze(["blame"], "blame.txt")
+        run_systemd_analyze(["critical-chain"], "critical-chain.txt")
+        run_systemd_analyze(["dot"], "dependencies.dot")
+        run_systemd_analyze(["plot"], "systemd-analyze.svg")
+
+    # We copy the main graph into the $out (toplevel), and we also copy
+    # the entire output directory with additional data
+    with subtest("Copying the resulting data into $out"):
+        machine.copy_from_vm("systemd-analyze/", "")
+        machine.copy_from_vm("systemd-analyze/systemd-analyze.svg", "")
+  '';
+})
diff --git a/nixos/tests/xmonad.nix b/nixos/tests/xmonad.nix
index c2e5ba60d7b..ab3888ca43f 100644
--- a/nixos/tests/xmonad.nix
+++ b/nixos/tests/xmonad.nix
@@ -27,13 +27,13 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     machine.wait_for_x()
     machine.wait_for_file("${user.home}/.Xauthority")
     machine.succeed("xauth merge ${user.home}/.Xauthority")
-    machine.send_chars("alt-ctrl-x")
+    machine.send_key("alt-ctrl-x")
     machine.wait_for_window("${user.name}.*machine")
     machine.sleep(1)
     machine.screenshot("terminal")
     machine.wait_until_succeeds("xmonad --restart")
     machine.sleep(3)
-    machine.send_chars("alt-shift-ret")
+    machine.send_key("alt-shift-ret")
     machine.wait_for_window("${user.name}.*machine")
     machine.sleep(1)
     machine.screenshot("terminal")
diff --git a/pkgs/applications/audio/MMA/default.nix b/pkgs/applications/audio/MMA/default.nix
index 92f46abddd5..42f8af99e6f 100644
--- a/pkgs/applications/audio/MMA/default.nix
+++ b/pkgs/applications/audio/MMA/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, python3, alsaUtils, timidity }:
 
   stdenv.mkDerivation rec {
-  version = "16.06";
+  version = "19.08";
   pname = "mma";
 
   src = fetchurl {
     url = "https://www.mellowood.ca/mma/mma-bin-${version}.tar.gz";
-    sha256 = "1g4gvc0nr0qjc0fyqrnx037zpaasgymgmrm5s7cdxqnld9wqw8ww";
+    sha256 = "02g2q9f1hbrj1v4mbf7zx2571vqpfla5803hcjpkdkvn8g0dwci0";
   };
 
   buildInputs = [ makeWrapper python3 alsaUtils timidity ];
diff --git a/pkgs/applications/audio/bshapr/default.nix b/pkgs/applications/audio/bshapr/default.nix
index 1d49ca1fa4f..732a8cf1ce2 100644
--- a/pkgs/applications/audio/bshapr/default.nix
+++ b/pkgs/applications/audio/bshapr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BShapr";
-  version = "0.4";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "02b4wdfhr9y7z2k6ls086gv3vz4sjf7b1k8ryh573bzd8nr4896v";
+    sha256 = "0mi8f0svq1h9cmmxyskcazr5x2q4dls3j9jc6ahi5rlk7i0bpa74";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/renoise/default.nix b/pkgs/applications/audio/renoise/default.nix
index 62625aa421d..7b2d92ad59d 100644
--- a/pkgs/applications/audio/renoise/default.nix
+++ b/pkgs/applications/audio/renoise/default.nix
@@ -4,8 +4,7 @@
 with stdenv.lib;
 
 # To use the full release version:
-# 1) Sign into https://backstage.renoise.com and download the appropriate (x86 or x86_64) version
-#    for your machine to some stable location.
+# 1) Sign into https://backstage.renoise.com and download the release version to some stable location.
 # 2) Override the releasePath attribute to point to the location of the newly downloaded bundle.
 # Note: Renoise creates an individual build for each license which screws somewhat with the
 # use of functions like requireFile as the hash will be different for every user.
@@ -15,25 +14,20 @@ in
 
 stdenv.mkDerivation rec {
   pname = "renoise";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
         if releasePath == null then
-        fetchurl {
-          url = "https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86_64.tar.bz2";
-          sha256 = "0pan68fr22xbj7a930y29527vpry3f07q3i9ya4fp6g7aawffsga";
-        }
+		    fetchurl {
+		      urls = [
+		          "https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
+		          "https://web.archive.org/web/https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
+		      ];
+		      sha256 = "0cfczzpk1ddz61nk4d72fydbm5nbgxqp95v81by2n87s1wffjjhi";
+		    }
         else
-        releasePath
-    else if stdenv.hostPlatform.system == "i686-linux" then
-        if releasePath == null then
-        fetchurl {
-          url = "http://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86.tar.bz2";
-          sha256 = "1lccjj4k8hpqqxxham5v01v2rdwmx3c5kgy1p9lqvzqma88k4769";
-        }
-        else
-        releasePath
+        	releasePath
     else throw "Platform is not supported by Renoise";
 
   buildInputs = [ alsaLib libjack2 libX11 libXcursor libXext libXrandr ];
@@ -69,6 +63,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.renoise.com/;
     license = licenses.unfree;
     maintainers = [];
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix
index 79801f2e99f..5e133c60cc5 100644
--- a/pkgs/applications/audio/whipper/default.nix
+++ b/pkgs/applications/audio/whipper/default.nix
@@ -1,24 +1,26 @@
-{ stdenv, fetchFromGitHub, python2, cdparanoia, cdrdao, flac
-, sox, accuraterip-checksum, utillinux, substituteAll }:
+{ stdenv, fetchFromGitHub, python3, cdparanoia, cdrdao, flac
+, sox, accuraterip-checksum, libsndfile, utillinux, substituteAll }:
 
-python2.pkgs.buildPythonApplication rec {
-  name = "whipper-${version}";
-  version = "0.7.3";
+python3.pkgs.buildPythonApplication rec {
+  pname = "whipper";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "whipper-team";
     repo = "whipper";
     rev = "v${version}";
-    sha256 = "0ypbgc458i7yvbyvg6wg6agz5yzlwm1v6zw7fmyq9h59xsv27mpr";
+    sha256 = "0x1qsp021i0l5sdcm2kcv9zfwp696k4izhw898v6marf8phll7xc";
   };
 
-  pythonPath = with python2.pkgs; [
+  pythonPath = with python3.pkgs; [
     pygobject3 musicbrainzngs urllib3 chardet
-    pycdio setuptools mutagen CDDB
+    pycdio setuptools setuptools_scm mutagen
     requests
   ];
 
-  checkInputs = with python2.pkgs; [
+  buildInputs = [ libsndfile ];
+
+  checkInputs = with python3.pkgs; [
     twisted
   ];
 
@@ -33,6 +35,10 @@ python2.pkgs.buildPythonApplication rec {
     "--prefix" "PATH" ":" (stdenv.lib.makeBinPath [ accuraterip-checksum cdrdao utillinux flac sox ])
   ];
 
+  preBuild = ''
+    export SETUPTOOLS_SCM_PRETEND_VERSION="v${version}"
+  '';
+
   # some tests require internet access
   # https://github.com/JoeLametta/whipper/issues/291
   doCheck = false;
@@ -44,7 +50,7 @@ python2.pkgs.buildPythonApplication rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/whipper-team/whipper;
     description = "A CD ripper aiming for accuracy over speed";
-    maintainers = with maintainers; [ rycee ];
+    maintainers = with maintainers; [ rycee emily ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/blockchains/bitcoin.nix b/pkgs/applications/blockchains/bitcoin.nix
index f3804db48b9..2fa8ea6467c 100644
--- a/pkgs/applications/blockchains/bitcoin.nix
+++ b/pkgs/applications/blockchains/bitcoin.nix
@@ -3,9 +3,24 @@
 , withGui }:
 
 with stdenv.lib;
-stdenv.mkDerivation rec{
-  pname = if withGui then "bitcoin" else "bitcoind";
+
+let
   version = "0.19.0.1";
+  majorMinorVersion = versions.majorMinor version;
+
+  desktop = fetchurl {
+    url = "https://raw.githubusercontent.com/bitcoin-core/packaging/${majorMinorVersion}/debian/bitcoin-qt.desktop";
+    sha256 = "0cpna0nxcd1dw3nnzli36nf9zj28d2g9jf5y0zl9j18lvanvniha";
+  };
+
+  pixmap = fetchurl {
+    url = "https://raw.githubusercontent.com/bitcoin/bitcoin/v${version}/share/pixmaps/bitcoin128.png";
+    sha256 = "08p7j7dg50jlj783kkgdw037klmx0spqjikaprmbkzgcb620r25d";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = if withGui then "bitcoin" else "bitcoind";
+  inherit version;
 
   src = fetchurl {
     urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
@@ -22,6 +37,11 @@ stdenv.mkDerivation rec{
                   ++ optionals stdenv.isLinux [ utillinux ]
                   ++ optionals withGui [ qtbase qttools qrencode ];
 
+  postInstall = optional withGui ''
+    install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop
+    install -Dm644 ${pixmap} $out/share/pixmaps/bitcoin128.png
+  '';
+
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib"
                      "--disable-bench"
                    ] ++ optionals (!doCheck) [
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 6d7048cf539..ee3865590e5 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -18,9 +18,9 @@ let
     sha256Hash = "0qlrdf7a6f5585mrni1aa2chic4n7b9c8lgrj8br6q929hc2f5d9";
   };
   latestVersion = { # canary & dev
-    version = "4.0.0.5"; # "Android Studio 4.0 Canary 5"
-    build = "193.6039983";
-    sha256Hash = "19pidwl46z7alc0d7awhvi4aq1r87f99wh5yfi94s1zd2azm9f9z";
+    version = "4.0.0.6"; # "Android Studio 4.0 Canary 6"
+    build = "193.6052267";
+    sha256Hash = "1naxyfnrj7milqha7xbwbcvyi81a7fqb7jsm03hhq5xs2sw55m1c";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/edbrowse/default.nix b/pkgs/applications/editors/edbrowse/default.nix
index 0de514233f8..1161fc8256c 100644
--- a/pkgs/applications/editors/edbrowse/default.nix
+++ b/pkgs/applications/editors/edbrowse/default.nix
@@ -1,19 +1,11 @@
-{ stdenv, fetchFromGitHub, fetchpatch, duktape, curl, pcre, readline, openssl, perl, html-tidy }:
+{ stdenv, fetchFromGitHub, duktape, curl, pcre, readline, openssl, perl, html-tidy }:
 
 stdenv.mkDerivation rec {
   pname = "edbrowse";
-  version = "3.7.4";
+  version = "3.7.6";
 
   buildInputs = [ curl pcre readline openssl duktape perl html-tidy ];
 
-  patches = [
-    # Fix build against recent libcurl
-    (fetchpatch {
-      url = https://github.com/CMB/edbrowse/commit/5d2b9e21fdf019f461ebe62738d615428d5db963.diff;
-      sha256 = "167q8n0syj3iv6lxrbpv4kvb63j4byj4qxrxayy08bah3pss3gky";
-    })
-  ];
-
   postPatch = ''
     for i in ./tools/*.pl
     do
@@ -21,13 +13,16 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  makeFlags = "-C src prefix=$(out)";
+  makeFlags = [ 
+    "-C src"
+    "prefix=${placeholder "out"}"
+  ];
 
   src = fetchFromGitHub {
     owner = "CMB";
     repo = "edbrowse";
     rev = "v${version}";
-    sha256 = "0i9ivyfy1dd16c89f392kwx6wxgkkpyq2hl32jhzra0fb0zyl0k6";
+    sha256 = "0yk4djb9q8ll94fs57y706bsqlar4pfx6ysasvkzj146926lrh8a";
   };
   meta = with stdenv.lib; {
     description = "Command Line Editor Browser";
@@ -39,8 +34,8 @@ stdenv.mkDerivation rec {
       edbrowse can also tap into databases through odbc. It was primarily written by Karl Dahlke.
       '';
     license = licenses.gpl1Plus;
-    homepage = http://edbrowse.org/;
-    maintainers = [ maintainers.schmitthenner maintainers.vrthra ];
+    homepage = "https://edbrowse.org/";
+    maintainers = with maintainers; [ schmitthenner vrthra equirosa ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/emacs/macport.nix b/pkgs/applications/editors/emacs/macport.nix
index 649997171e9..e9307c7e80b 100644
--- a/pkgs/applications/editors/emacs/macport.nix
+++ b/pkgs/applications/editors/emacs/macport.nix
@@ -4,10 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  emacsVersion = "26.3";
-  emacsName = "emacs-${emacsVersion}";
+  pname = "emacs";
+  version = "26.3";
+
+  emacsName = "emacs-${version}";
   macportVersion = "7.7";
-  name = "emacs-mac-${emacsVersion}-${macportVersion}";
+  name = "emacs-mac-${version}-${macportVersion}";
 
   src = fetchurl {
     url = "mirror://gnu/emacs/${emacsName}.tar.xz";
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 6f29946d77a..7b2992201fc 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -38,6 +38,15 @@ in stdenv.mkDerivation rec {
     (stdenv.lib.enableFeature enableTiny "tiny")
   ];
 
+    patches = [
+      (fetchurl {
+        # fix compilation on macOS, where 'st_mtim' is unknown
+        # upstream patch not in 4.6
+        url = "https://git.savannah.gnu.org/cgit/nano.git/patch/?id=f516cddce749c3bf938271ef3182b9169ac8cbcc";
+        sha256 = "0gqymvr5vxxypr7y3sm252rsi4gjqp597l01x0lkxyvxsn45a4sx";
+      })
+  ];
+
   postInstall = ''
     cp ${nixSyntaxHighlight}/nix.nanorc $out/share/nano/
   '';
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index f914c90dd79..9abee88d8b0 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -11,13 +11,13 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1zxj1vav7swjmvvgcn1y61figjhqrczf8d16rk6yayja1pfjgvs5";
-    x86_64-darwin = "0f6ck40rkngzcm5xih1rbwpz905r533n2z08maycgf4iajgwrn43";
+    x86_64-linux = "1ziw2b851kg17jaf713nwhsv5ikbvivq3h01xximhcglv9vzk93l";
+    x86_64-darwin = "0nndasa130551jf06mfrym593c02c3ypgg9f9rdg1fw5qbyjb8hm";
   }.${system};
 in
   callPackage ./generic.nix rec {
 
-    version = "1.40.1";
+    version = "1.41.0";
     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 2ecb979ac4b..310d839088d 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 = "01mblkwq3qnj70rwizv408x6sc0jg4wav44p9z3cmzcf9prpm2gs";
-    x86_64-darwin = "1lvh735vddz65l1ahbl66k04rck36lpvp1n3z3hrk0mjn451ga6v";
+    x86_64-linux = "1njxa19mzzydz1jacghwmha3dl4a13m9xzzwsb0rbks5zc9a0v7m";
+    x86_64-darwin = "0cpd87q0q3i172l4s43s79by42wa9k5pyik3v2z5mq8zpms8qcq4";
   }.${system};
 
   sourceRoot = {
@@ -23,7 +23,7 @@ in
   callPackage ./generic.nix rec {
     inherit sourceRoot;
 
-    version = "1.40.1";
+    version = "1.41.0";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix
deleted file mode 100644
index 2b70ea3b450..00000000000
--- a/pkgs/applications/graphics/cinepaint/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, cmake, pkgconfig, gtk2, freetype, fontconfig, lcms,
-  flex, libtiff, libjpeg, libpng, libexif, zlib, perlPackages, libX11,
-  pythonPackages, gettext, intltool, babl, gegl,
-  glib, makedepend, xorgproto, libXmu, openexr,
-  libGLU, libGL, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
-
-let
-  inherit (pythonPackages) python pygtk;
-in stdenv.mkDerivation rec {
-  name = "cinepaint-1.1";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/cinepaint/${name}.tgz";
-    sha256 = "0b5g4bkq62yiz1cnb2vfij0a8fw5w5z202v5dm4dh89k7cj0yq4w";
-  };
-
-  buildInputs = [ libpng gtk2 freetype fontconfig lcms flex libtiff libjpeg
-    libexif zlib libX11 python pygtk gettext intltool babl
-    gegl glib makedepend xorgproto libXmu openexr libGLU libGL
-    libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk
-  ] ++ (with perlPackages; [ perl XMLParser ]);
-
-  hardeningDisable = [ "format" ];
-
-  patches = [ ./install.patch ];
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  NIX_LDFLAGS = "-lm -llcms -ljpeg -lpng -lX11";
-
-  meta = {
-    homepage = http://www.cinepaint.org/;
-    license = stdenv.lib.licenses.free;
-    description = "Image editor which supports images over 8bpp and ICC profiles";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/graphics/cinepaint/install.patch b/pkgs/applications/graphics/cinepaint/install.patch
deleted file mode 100644
index f15ff1c4414..00000000000
--- a/pkgs/applications/graphics/cinepaint/install.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dfb182f..5adaaa5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -138,7 +138,7 @@ STRING(REPLACE "/" "\\/" ESCAPEDPREFIX ${PREFIX})
- # Note that for MacOS this needs to be revised 
- # for the @OSX_ICC...@ variables
- ADD_CUSTOM_COMMAND(
--   OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/gimprc
-+   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gimprc
-    COMMAND  sed -e s/\@platform\@//g
- 		-e s/\@prefix\@/${ESCAPEDPREFIX}/g 
- 	        -e s/\@exec_prefix\@/\${prefix}/g
-@@ -155,8 +155,8 @@ ADD_CUSTOM_COMMAND(
- 
- ADD_CUSTOM_TARGET(RCFile ALL echo
-       ""
--      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/user_install 
--              ${CMAKE_CURRENT_SOURCE_DIR}/gimprc
-+      DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/user_install 
-+              ${CMAKE_CURRENT_BINARY_DIR}/gimprc
-    )
- 
- 
diff --git a/pkgs/applications/graphics/drawpile/default.nix b/pkgs/applications/graphics/drawpile/default.nix
index c284f15a874..e64e384a9a7 100644
--- a/pkgs/applications/graphics/drawpile/default.nix
+++ b/pkgs/applications/graphics/drawpile/default.nix
@@ -60,11 +60,11 @@ let
 
 in mkDerivation rec {
   pname = "drawpile";
-  version = "2.1.14";
+  version = "2.1.15";
 
   src = fetchurl {
     url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
-    sha256 = "0vpsq8swvli6xiykjqjmdcz33jd44nvhq1n350dm9qap9s9wdr47";
+    sha256 = "0w6bdg1rnnjzjg8xzqv3a9qhw41q41sjvp6f8m0sqxjfax05lqin";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix
deleted file mode 100644
index c16c0d88b46..00000000000
--- a/pkgs/applications/graphics/mcomix/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, python27Packages }:
-
-python27Packages.buildPythonApplication rec {
-    name = "mcomix-${version}";
-    version = "1.2.1";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/mcomix/${name}.tar.bz2";
-      sha256 = "0fzsf9pklhfs1rzwzj64c0v30b74nk94p93h371rpg45qnfiahvy";
-    };
-
-    propagatedBuildInputs = with python27Packages; [ pygtk pillow setuptools ];
-
-    doCheck = false;
-
-    meta = {
-      description = "Image viewer designed to handle comic books";
-      longDescription = ''
-        MComix is an user-friendly, customizable image viewer. It is specifically
-        designed to handle comic books, but also serves as a generic viewer.
-        It reads images in ZIP, RAR, 7Zip or tar archives as well as plain image
-        files. It is written in Python and uses GTK through the PyGTK bindings,
-        and runs on both Linux and Windows.
-
-        MComix is a fork of the Comix project, and aims to add bug fixes and
-        stability improvements after Comix development came to a halt in late 2009.
-      '';
-      homepage = http://mcomix.sourceforge.net/;
-      license = stdenv.lib.licenses.gpl2;
-      maintainers = with stdenv.lib.maintainers; [ AndersonTorres ];
-    };
-}
-# TODO:
-# - error in check phase
diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix
deleted file mode 100644
index fbe8f10c72f..00000000000
--- a/pkgs/applications/graphics/mirage/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pythonPackages, libX11, gettext }:
-
-pythonPackages.buildPythonApplication rec {
-    pname = "mirage";
-    version = "0.9.5.2";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/mirageiv/${pname}-${version}.tar.bz2";
-      sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c";
-    };
-
-    doCheck = false;
-
-    nativeBuildInputs = [ gettext ];
-
-    buildInputs = [ stdenv libX11 gettext ];
-
-    patchPhase = ''
-      sed -i "s@/usr/local/share/locale@$out/share/locale@" mirage.py
-    '';
-
-    propagatedBuildInputs = with pythonPackages; [ pygtk pillow ];
-
-    meta = {
-      description = "Simple image viewer written in PyGTK";
-
-      homepage = http://mirageiv.sourceforge.net/;
-
-      license = stdenv.lib.licenses.gpl2;
-    };
-}
diff --git a/pkgs/applications/misc/batti/default.nix b/pkgs/applications/misc/batti/default.nix
deleted file mode 100644
index 8b994c55de3..00000000000
--- a/pkgs/applications/misc/batti/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, fetchurl
-, pkgconfig, gettext, pythonPackages
-, gtk2, gdk-pixbuf, upower
-, makeWrapper }:
-
-let
-  inherit (pythonPackages) dbus-python pygtk python;
-in stdenv.mkDerivation rec {
-
-  pname = "batti";
-  version = "0.3.8";
-
-  src = fetchurl {
-    url = "https://batti-gtk.googlecode.com/files/${pname}-${version}.tar.gz";
-    sha256 = "072d92gpsiiin631589nj77i2w1425p6db0qxyml7myscfy9jgx6";
-  };
-
-  buildInputs = with stdenv.lib;
-  [ pkgconfig gettext python gtk2 pygtk dbus-python gdk-pixbuf upower makeWrapper ];
-
-  dontConfigure = true;
-
-  buildPhase = ''
-    python setup.py build
-  '';
-
-  installPhase = ''
-    python setup.py install --prefix $out
-    wrapProgram "$out/bin/batti" \
-      --set PYTHONPATH "$PYTHONPATH:$(toPythonPath $out)" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-
-  meta = with stdenv.lib; {
-    description = "An {UPower,GTK}-based battery monitor for the system tray";
-    longDescription = ''
-      Batti is a simple battery monitor for the system tray. Batti
-      uses UPower, and if that is missing DeviceKit.Power, for it's
-      power information.
-    '';
-    homepage = http://batti-gtk.googlecode.com/;
-    license = licenses.lgpl2Plus;
-    maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.linux;
-    broken = true;  # see https://github.com/NixOS/nixpkgs/pull/4031#issuecomment-56283520
-  };
-}
-
-# TODO: fix the "icon not found" problems...
diff --git a/pkgs/applications/misc/bleachbit/default.nix b/pkgs/applications/misc/bleachbit/default.nix
index 01eb69baadd..225a5c5fc37 100644
--- a/pkgs/applications/misc/bleachbit/default.nix
+++ b/pkgs/applications/misc/bleachbit/default.nix
@@ -1,4 +1,14 @@
-{ stdenv, pythonPackages, fetchurl, gettext }:
+{ stdenv
+, pythonPackages
+, fetchurl
+, gettext
+, gobject-introspection
+, wrapGAppsHook
+, glib
+, gtk3
+, libnotify
+}:
+
 pythonPackages.buildPythonApplication rec {
   pname = "bleachbit";
   version = "3.0";
@@ -10,7 +20,24 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "18ns9hms671b4l0189m1m2agprkydnpvyky9q2f5hxf35i9cn67d";
   };
 
-  nativeBuildInputs = [ gettext ];
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libnotify
+  ];
+
+  propagatedBuildInputs = with pythonPackages; [
+    chardet
+    pygobject3
+    requests
+    scandir
+  ];
 
   # Patch the many hardcoded uses of /usr/share/ and /usr/bin
   postPatch = ''
@@ -20,15 +47,17 @@ pythonPackages.buildPythonApplication rec {
 
   dontBuild = true;
 
-  installFlags = [ "prefix=${placeholder "out"}" ];
+  installFlags = [
+    "prefix=${placeholder "out"}"
+  ];
 
-  propagatedBuildInputs = with pythonPackages; [ pygtk ];
+  strictDeps = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://bleachbit.sourceforge.net;
     description = "A program to clean your computer";
     longDescription = "BleachBit helps you easily clean your computer to free space and maintain privacy.";
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ leonardoce ];
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ leonardoce ];
   };
 }
diff --git a/pkgs/applications/misc/dupeguru/default.nix b/pkgs/applications/misc/dupeguru/default.nix
new file mode 100644
index 00000000000..0e7155f374d
--- /dev/null
+++ b/pkgs/applications/misc/dupeguru/default.nix
@@ -0,0 +1,62 @@
+{stdenv, python3Packages, gettext, qt5, fetchFromGitHub}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "dupeguru";
+  version = "4.0.4";
+
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "arsenetar";
+    repo = "dupeguru";
+    rev = "${version}";
+    sha256 = "0ma4f1c6vmpz8gi4sdy43x1ik7wh42wayvk1iq520d3i714kfcpy";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    gettext
+    python3Packages.pyqt5
+    qt5.wrapQtAppsHook
+  ];
+
+  pythonPath = with python3Packages; [
+    pyqt5
+    send2trash
+    sphinx
+    polib
+    hsaudiotag3k
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder ''out''}"
+    "NO_VENV=1"
+  ];
+
+  # TODO: package pytest-monkeyplus for running tests
+  # https://github.com/NixOS/nixpkgs/pull/75054/files#r357690123
+  doCheck = false;
+
+  # Avoid double wrapping Python programs.
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    # TODO: A bug in python wrapper
+    # see https://github.com/NixOS/nixpkgs/pull/75054#discussion_r357656916
+    makeWrapperArgs="''${qtWrapperArgs[@]}"
+  '';
+
+  postFixup = ''
+    # Executable in $out/bin is a symlink to $out/share/dupeguru/run.py
+    # so wrapPythonPrograms hook does not handle it automatically.
+    wrapPythonProgramsIn "$out/share/dupeguru" "$out $pythonPath"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GUI tool to find duplicate files in a system";
+    homepage = "https://github.com/arsenetar/dupeguru";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.novoxudonoser ];
+  };
+}
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 0ebeb1beffa..df95b26b9c5 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -74,6 +74,7 @@ python3Packages.buildPythonApplication {
     tlslite-ng
 
     # plugins
+    ckcc-protocol
     keepkey
     trezor
     btchip
diff --git a/pkgs/applications/misc/gnome15/default.nix b/pkgs/applications/misc/gnome15/default.nix
deleted file mode 100644
index 41d535b3510..00000000000
--- a/pkgs/applications/misc/gnome15/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, python2, gnome_python, gnome_python_desktop }:
-
-stdenv.mkDerivation {
-  name = "gnome15-2016-06-10";
-
-  src = fetchFromGitHub {
-    owner = "achilleas-k";
-    repo = "gnome15";
-    rev = "1077c890d9ba8ef7a5e448e70a792de5c7443c84";
-    sha256 = "0z5k2rgvv5zyi3lbbk6svncypidj44qzfchivb4vlr7clmh16m95";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig python2.pkgs.wrapPython ];
-  buildInputs = [ python2 ];
-  propagatedBuildInputs = with python2.pkgs; [
-    pygtk keyring virtkey pillow dbus-python pyinotify lxml pyxdg pyusb gnome_python gnome_python_desktop
-    python-uinput xlib pyudev pyinputevent
-  ];
-
-  postPatch = ''
-    touch README
-    export UDEV_RULES_PATH="$out/lib/udev/rules.d"
-  '';
-
-  postFixup = ''
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A set of tools for configuring the Logitech G15 keyboard";
-    # Doesn't work with new `keyring` library which is Python 3-only now.
-    # https://github.com/Gnome15/gnome15/issues/29
-    broken = true;
-    license = licenses.gpl3;
-    homepage = https://gnome15.org/;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ abbradar ];
-  };
-}
diff --git a/pkgs/applications/misc/hamster-time-tracker/default.nix b/pkgs/applications/misc/hamster-time-tracker/default.nix
deleted file mode 100644
index 9360e220ab6..00000000000
--- a/pkgs/applications/misc/hamster-time-tracker/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchzip, pythonPackages, docbook2x, libxslt, gnome-doc-utils
-, intltool, dbus-glib, gnome_python
-, hicolor-icon-theme
-, wafHook
-}:
-
-# TODO: Add optional dependency 'wnck', for "workspace tracking" support. Fixes
-# this message:
-#
-#   WARNING:root:Could not import wnck - workspace tracking will be disabled
-
-pythonPackages.buildPythonApplication rec {
-  name = "hamster-time-tracker-1.04";
-
-  src = fetchzip {
-    name = "${name}-src";
-    url = "https://github.com/projecthamster/hamster/archive/${name}.tar.gz";
-    sha256 = "1a85rcg561792kdyv744cgzw7mmpmgv6d6li1sijfdpqa1ninf8g";
-  };
-
-  nativeBuildInputs = [ wafHook intltool ];
-  buildInputs = [
-    docbook2x libxslt gnome-doc-utils dbus-glib hicolor-icon-theme
-  ];
-
-  propagatedBuildInputs = with pythonPackages; [ pygobject2 pygtk pyxdg gnome_python dbus-python ];
-
-  postFixup = ''
-    wrapPythonProgramsIn $out/lib/hamster-time-tracker "$out $pythonPath"
-  '';
-
-  # error: invalid command 'test'
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    description = "Time tracking application";
-    homepage = https://projecthamster.wordpress.com/;
-    license = licenses.gpl3;
-    platforms = platforms.all;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/applications/misc/hivemind/default.nix b/pkgs/applications/misc/hivemind/default.nix
index 84f5bad24d2..e452ec0511e 100644
--- a/pkgs/applications/misc/hivemind/default.nix
+++ b/pkgs/applications/misc/hivemind/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   pname = "hivemind";
-  version = "1.0.4";
+  version = "1.0.6";
   goPackagePath = "github.com/DarthSim/hivemind";
 
   src = fetchFromGitHub {
     owner = "DarthSim";
     repo = "hivemind";
     rev = "v${version}";
-    sha256 = "1z2izvyf0j3gi0cas5v22kkmkls03sg67182k8v3p6kwhzn0jw67";
+    sha256 = "0afcnd03wsdphbbpha65rv5pnv0x6ldnnm6rnv1m6xkkywgnzx95";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 4667427b8a0..d6f8983c5ee 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.60.1";
+  version = "0.61.0";
 
   goPackagePath = "github.com/gohugoio/hugo";
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0l8n87y5zrs09s693rqvqwz0233wlr4jwib7r36ilss1qgm7x6n5";
+    sha256 = "1ad70g4gb44dk48pbgk48jzs44b6l7ksxb739ahp7vs1nyvvgffr";
   };
 
-  modSha256 = "1an4plbx06fzz2iqzgs08r6vsjpkl5lbqck5jqmv6fv7b7psf7iw";
+  modSha256 = "1jb1iqlp1005aj8smcgznmwnqaysi5g5wcsj8nvvm70hhc9j8wns";
 
   buildFlags = "-tags extended";
 
diff --git a/pkgs/applications/misc/latte-dock/default.nix b/pkgs/applications/misc/latte-dock/default.nix
index 0bd91994418..f3daedfb96b 100644
--- a/pkgs/applications/misc/latte-dock/default.nix
+++ b/pkgs/applications/misc/latte-dock/default.nix
@@ -3,11 +3,11 @@
 
 mkDerivation rec {
   pname = "latte-dock";
-  version = "0.8.9";
+  version = "0.9.5";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1kkpxa39crjpqgamrcpgp1mrcdg0aq9850yb6cf7lw7d3x2fdrxj";
+    sha256 = "1g8a2lmg9agcs2kwbwh6sj9hkrbzad7bkxk39nx5536svnifbg1c";
     name = "${pname}-${version}.tar.xz";
   };
 
diff --git a/pkgs/applications/misc/pmenu/default.nix b/pkgs/applications/misc/pmenu/default.nix
deleted file mode 100644
index bd3796a572b..00000000000
--- a/pkgs/applications/misc/pmenu/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitLab, python2Packages, gnome-menus }:
-
-stdenv.mkDerivation {
-  pname = "pmenu";
-  version = "2018-01-01";
-
-  src = fetchFromGitLab {
-    owner = "o9000";
-    repo = "pmenu";
-    rev = "f98a5bdf20deb0b7f0543e5ce6a8f5574f695e07";
-    sha256 = "131nqafbmbfpgsgss27pz4cyb9fb29m5h1ai1fyvcn286rr9dnp2";
-  };
-
-  nativeBuildInputs = [ python2Packages.wrapPython ];
-
-  buildInputs = [ python2Packages.pygtk gnome-menus ];
-
-  pythonPath = [ python2Packages.pygtk ];
-    
-  installPhase = ''
-    mkdir -p $out/bin $out/share/applications
-    ./install.sh $out
-  '';
-
-  postFixup = ''
-    wrapPythonPrograms
-  '';
-
-  meta = {
-    homepage = https://gitlab.com/o9000/pmenu;
-    description = "Start menu for Linux/BSD";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
-  };
-}
diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix
index 154b974e644..caf4f270a15 100644
--- a/pkgs/applications/misc/prusa-slicer/default.nix
+++ b/pkgs/applications/misc/prusa-slicer/default.nix
@@ -9,7 +9,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "prusa-slicer";
-  version = "2.1.0";
+  version = "2.1.1";
 
   enableParallelBuilding = true;
 
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "prusa3d";
     repo = "PrusaSlicer";
-    sha256 = "172nz01iiqfjzkpcbl78j6almq6av70l71jgrzrcdw6ham1wqnpr";
+    sha256 = "0i393nbc2salb4j5l2hvy03ng7hmf90d2xj653pw9bsikhj0r3jd";
     rev = "version_${version}";
   };
 
diff --git a/pkgs/applications/misc/vym/default.nix b/pkgs/applications/misc/vym/default.nix
index 6dfe8e713c6..a5024cb7f36 100644
--- a/pkgs/applications/misc/vym/default.nix
+++ b/pkgs/applications/misc/vym/default.nix
@@ -1,18 +1,45 @@
-{ stdenv, fetchurl, pkgconfig, qmake, qtsvg }:
+{ stdenv, mkDerivation, fetchurl, pkgconfig, qmake, qtscript, qtsvg }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "vym";
-  version = "2.6.11";
+  version = "2.7.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/vym/2.6.0/${pname}-${version}.tar.bz2";
-    sha256 = "1yznlb47jahd662a2blgh1ccwpl5dp5rjz9chsxjzhj3vbkzx3nl";
+    url = "mirror://sourceforge/project/vym/${version}/${pname}-${version}.tar.bz2";
+    sha256 = "1rnrfqlff7wv6yni8bvff8n90pmn82k82zd4sn1jsx9r1n3qsfkh";
   };
 
+  # Hardcoded paths scattered about all have form share/vym
+  # which is encouraging, although we'll need to patch them (below).
+  qmakeFlags = [
+    "DATADIR=${placeholder "out"}/share"
+    "DOCDIR=${placeholder "out"}/share/doc/vym"
+  ];
+
+  postPatch = ''
+    for x in \
+      exportoofiledialog.cpp \
+      main.cpp \
+      mainwindow.cpp \
+      tex/*.{tex,lyx}; \
+    do
+      substituteInPlace $x \
+        --replace /usr/share/vym $out/share/vym \
+        --replace /usr/local/share/vym $out/share/vym \
+        --replace /usr/share/doc $out/share/doc/vym
+    done
+  '';
+
   hardeningDisable = [ "format" ];
 
   nativeBuildInputs = [ pkgconfig qmake ];
-  buildInputs = [ qtsvg ];
+  buildInputs = [ qtscript qtsvg ];
+
+  postInstall = ''
+    install -Dm755 -t $out/share/man/man1 doc/*.1.gz
+  '';
+
+  dontGzipMan = true;
 
   meta = with stdenv.lib; {
     description = "A mind-mapping software";
diff --git a/pkgs/applications/misc/wtf/default.nix b/pkgs/applications/misc/wtf/default.nix
index f20c4aff169..3dee9844c0c 100644
--- a/pkgs/applications/misc/wtf/default.nix
+++ b/pkgs/applications/misc/wtf/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "wtf";
-  version = "0.24.0";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "wtfutil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jz7hjcm0hfxcih2zplp47wx6lyvhhzj9ka4ljqrx0i4l7cm9ahs";
+    sha256 = "1g76hzlyi8s8dayd36cs4bhnwgrrr731ybflw3xk5pgkgcbs14sd";
    };
 
-  modSha256 = "04d8hvd90f7v853p23xcx38qz3ryv7kz7zjk9b131cjnd4mcv0sm";
+  modSha256 = "186m7s20r59dyh5lpby4sd4vw3rvnkfzslylwin0c3r6150yrx8h";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
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 0494de83708..ff87e6b703d 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -93,19 +93,19 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "9.0.1";
+  version = "9.0.2";
 
   lang = "en-US";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
-      sha256 = "09iasj13wn3d1dygpxn4www4rx8wnxxlm9h6df9lzf4wll15px55";
+      sha256 = "1xdnqphsj7wzwyv927jwd3fi36srx0minydwl5jg5yyd3m3if9hb";
     };
 
     i686-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
-      sha256 = "1vz3pvqi114c9lkyhqy754ngi90708c187xwiyr9786ff89sjw5i";
+      sha256 = "1qk9fg5dvyyvbngsqla00by8a974mpvq9pnm2djif54lr2nfivwf";
     };
   };
 in
@@ -397,7 +397,7 @@ stdenv.mkDerivation rec {
     longDescription = tor-browser-bundle.meta.longDescription;
     homepage = "https://www.torproject.org/";
     platforms = attrNames srcs;
-    maintainers = with maintainers; [ offline matejc doublec thoughtpolice joachifm hax404 ];
+    maintainers = with maintainers; [ offline matejc doublec thoughtpolice joachifm hax404 cap ];
     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/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index 2c0d039721f..9295e90794d 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "argo";
-  version = "2.4.1";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "1f9l9d4r0qfhpr2fn17faczcwmwmdz8f56f27cmmnhxz4r7qcm48";
+    sha256 = "15726n5rrbzszq5dpmrxbw9cn7ahihn28jqk274270140gz5aak1";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/applications/networking/cluster/kubeseal/default.nix b/pkgs/applications/networking/cluster/kubeseal/default.nix
index e232670c31f..3a2463447a2 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.9.5";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "bitnami-labs";
     repo = "sealed-secrets";
     rev = "v${version}";
-    sha256 = "0k59n40rmxjdn0xi8gr08zlxk0irfc7crra9x8qdljvivqshma3z";
+    sha256 = "09ds5qn13l6l8kl2i01hgy6pqr30z1rm447ax32lf79zp8hca3r3";
   };
 
   modSha256 = "04dmjyz3vi2l0dfpyy42lkp2fv1vlfkvblrxh1dvb37phrkd5lbd";
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 1bffafac882..e7551c17ff9 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -112,8 +112,8 @@ in rec {
   terraform_0_11-full = terraform_0_11.full;
 
   terraform_0_12 = pluggable (generic {
-    version = "0.12.17";
-    sha256 = "1pmvjbmzws5qjzz34dw0fcb6p36vafqs0h8i87g7lmhckb9bqihv";
+    version = "0.12.18";
+    sha256 = "1p2rvs9dw2rzzggf3q2lifwbd82b7xb3jpb4yz5nmggn5g22qlc1";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/ids/zeek/default.nix b/pkgs/applications/networking/ids/zeek/default.nix
index b087a6c3ae3..947abc39c21 100644
--- a/pkgs/applications/networking/ids/zeek/default.nix
+++ b/pkgs/applications/networking/ids/zeek/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zeek";
-  version = "3.0.0";
+  version = "3.0.1";
 
   src = fetchurl {
     url = "https://www.zeek.org/downloads/zeek-${version}.tar.gz";
-    sha256 = "16pz5fh0z1hmvhn8pxqmdm5a9d8mqrp4gxpxkaywnaqk2h598lmm";
+    sha256 = "1lhik212wrbi092qizc08f3i0b9pj318sxwm0abc5jc3v3pz7x3r";
   };
 
   nativeBuildInputs = [ cmake flex bison file ];
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index 93c3d837b05..b2e50ffce64 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -17,9 +17,13 @@ stdenv.mkDerivation rec {
       then writeText "riot-config.json" conf
       else "$out/config.sample.json";
   in ''
+    runHook preInstall
+
     mkdir -p $out/
     cp -R . $out/
     ln -s ${configFile} $out/config.json
+
+    runHook postInstall
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index a16023f307d..da470c349ee 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -6,7 +6,7 @@ at-spi2-atk, at-spi2-core, libuuid, nodePackages, libpulseaudio
 
 let
 
-  version = "4.1.2";
+  version = "4.2.0";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -53,7 +53,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
-        sha256 = "0a1b2k81hm1lfrdb47gmd07jqb7hva9sxsiph7b3iwzpzw8pjrkh";
+        sha256 = "01b2klhky04fijdqcpfafgdqx2c5nh2fpnzvzgvz10hv7h16cinv";
       }
     else
       throw "Slack is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix
new file mode 100644
index 00000000000..0921dcfccdd
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, stdenv
+, fetchurl
+, autoPatchelfHook
+, wrapGAppsHook
+, dpkg
+, atomEnv
+, libuuid
+, pulseaudio
+, at-spi2-atk
+, coreutils
+, gawk
+, xdg_utils
+, systemd }:
+
+stdenv.mkDerivation rec {
+  pname = "teams";
+  version = "1.2.00.32451";
+
+  src = fetchurl {
+    url = "https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb";
+    sha256 = "1p053kg5qksr78v2h7cxia5mb9kzgfwm6n99x579vfx48kka1n18";
+  };
+
+  nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook ];
+
+  unpackCmd = "dpkg -x $curSrc .";
+
+  buildInputs = atomEnv.packages ++ [
+    libuuid
+    at-spi2-atk
+  ];
+
+  runtimeDependencies = [
+    systemd.lib
+    pulseaudio
+  ];
+
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin:${xdg_utils}/bin")
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{opt,bin}
+
+    mv share/teams $out/opt/
+    mv share $out/share
+
+    substituteInPlace $out/share/applications/teams.desktop \
+      --replace /usr/bin/ $out/bin/
+
+    ln -s $out/opt/teams/teams $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Microsoft Teams";
+    homepage = "https://teams.microsoft.com";
+    downloadPage = "https://teams.microsoft.com/downloads";
+    license = licenses.unfree;
+    maintainers = [ maintainers.liff ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/irc/hexchat/default.nix b/pkgs/applications/networking/irc/hexchat/default.nix
index f537627f976..7dd3792a3cb 100644
--- a/pkgs/applications/networking/irc/hexchat/default.nix
+++ b/pkgs/applications/networking/irc/hexchat/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk2, lua, perl, python3
 , pciutils, dbus-glib, libcanberra-gtk2, libproxy
-, libsexy, enchant2, libnotify, openssl, isocodes
+, enchant2, libnotify, openssl, isocodes
 , desktop-file-utils
 , meson, ninja
 }:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk2 lua perl python3 pciutils dbus-glib libcanberra-gtk2 libproxy
-    libsexy libnotify openssl desktop-file-utils
+    libnotify openssl desktop-file-utils
     isocodes
   ];
 
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 78ed553ccd8..b756c0de680 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -1,213 +1,339 @@
-{ lib, stdenv, fetchurl, pkgconfig, gtk2, pango, perl, python2, python3, nodejs
-, libIDL, libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
-, freetype, fontconfig, file, nspr, nss, libnotify
-, yasm, libGLU, libGL, sqlite, zip, unzip
-, libevent, libstartup_notification
-, icu, libpng, jemalloc
-, autoconf213, which, m4, fetchpatch
-, writeScript, xidel, common-updater-scripts, coreutils, gnused, gnugrep, curl
+{ autoconf213
+, bzip2
+, cargo
+, common-updater-scripts
+, coreutils
+, curl
+, dbus
+, dbus-glib
+, fetchurl
+, file
+, fontconfig
+, freetype
+, glib
+, gnugrep
+, gnused
+, icu
+, jemalloc
+, lib
+, libGL
+, libGLU
+, libIDL
+, libevent
+, libjpeg
+, libnotify
+, libpng
+, libstartup_notification
+, libvpx
+, libwebp
+, llvmPackages
+, m4
+, makeDesktopItem
+, nasm
+, nodejs
+, nspr
+, nss
+, pango
+, perl
+, pkgconfig
+, python2
+, python3
 , runtimeShell
-, cargo, rustc, rust-cbindgen, llvmPackages, nasm
-, enableGTK3 ? false, gtk3, gnome3, wrapGAppsHook, makeWrapper
-, enableCalendar ? true
+, rust-cbindgen
+, rustc
+, sqlite
+, stdenv
+, unzip
+, which
+, writeScript
+, xidel
+, xorg
+, yasm
+, zip
+, zlib
+
 , debugBuild ? false
+
+, alsaSupport ? stdenv.isLinux, alsaLib
+, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
+, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
+, waylandSupport ? true
+, libxkbcommon, calendarSupport ? true
+
 , # If you want the resulting program to call itself "Thunderbird" instead
-  # of "Earlybird" or whatever, enable this option.  However, those
-  # binaries may not be distributed without permission from the
-  # Mozilla Foundation, see
-  # http://www.mozilla.org/foundation/trademarks/.
-  enableOfficialBranding ? false
-, makeDesktopItem
+# of "Earlybird" or whatever, enable this option.  However, those
+# binaries may not be distributed without permission from the
+# Mozilla Foundation, see
+# http://www.mozilla.org/foundation/trademarks/.
+enableOfficialBranding ? false
 }:
 
-let
-  wrapperTool = if enableGTK3 then wrapGAppsHook else makeWrapper;
-  gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
-in stdenv.mkDerivation rec {
+assert waylandSupport -> gtk3Support == true;
+
+stdenv.mkDerivation rec {
   pname = "thunderbird";
-  version = "68.2.2";
+  version = "68.3.0";
 
   src = fetchurl {
-    url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-    sha512 = "3mvanjfc35f14lsfa4zjlhsvwij1n9dz9xmisd5s376r5wp9y33sva5ly914b2hmdl85ypdwv90zyi6whj7jb2f2xmqk480havxgjcn";
+    url =
+      "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
+    sha512 =
+      "3aqr3dj5laws516k6jf8f35a1964p0s75sp682yy87xnzgd8m1iha55z79dcavis2ma9hiyacjnznjz04qhqd4q8swjgfg7lj8lyiwl";
   };
 
-  # from firefox, but without sound libraries
-  buildInputs =
-    [ gtk2 zip libIDL libjpeg zlib bzip2
-      dbus dbus-glib pango freetype fontconfig xorg.libXi
-      xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
-      nspr nss libnotify xorg.pixman yasm libGLU libGL
-      xorg.libXScrnSaver xorg.xorgproto
-      xorg.libXext sqlite unzip
-      libevent libstartup_notification /* cairo */
-      icu libpng jemalloc nasm
-    ]
-    ++ lib.optionals enableGTK3 [ gtk3 gnome3.adwaita-icon-theme ];
-
-  # from firefox + m4 + wrapperTool
-  # llvm is for llvm-objdump
-  nativeBuildInputs = [ m4 autoconf213 which gnused pkgconfig perl python2 python3 nodejs wrapperTool cargo rustc rust-cbindgen llvmPackages.llvm ];
+  nativeBuildInputs = [
+    autoconf213
+    cargo
+    gnused
+    llvmPackages.llvm
+    m4
+    nasm
+    nodejs
+    perl
+    pkgconfig
+    python2
+    python3
+    rust-cbindgen
+    rustc
+    which
+    yasm
+  ] ++ lib.optional gtk3Support wrapGAppsHook;
+
+  buildInputs = [
+    bzip2
+    dbus
+    dbus-glib
+    file
+    fontconfig
+    freetype
+    glib
+    gtk2
+    icu
+    jemalloc
+    libGL
+    libGLU
+    libIDL
+    libevent
+    libjpeg
+    libnotify
+    libpng
+    libstartup_notification
+    libvpx
+    libwebp
+    nspr
+    nss
+    pango
+    perl
+    sqlite
+    unzip
+    xorg.libX11
+    xorg.libXScrnSaver
+    xorg.libXcursor
+    xorg.libXext
+    xorg.libXft
+    xorg.libXi
+    xorg.libXrender
+    xorg.libXt
+    xorg.pixman
+    xorg.xorgproto
+    zip
+    zlib
+  ] ++ lib.optional alsaSupport alsaLib
+    ++ lib.optional gtk3Support gtk3
+    ++ lib.optional pulseaudioSupport libpulseaudio
+    ++ lib.optional waylandSupport libxkbcommon;
+
+  NIX_CFLAGS_COMPILE =[
+    "-I${glib.dev}/include/gio-unix-2.0"
+    "-I${nss.dev}/include/nss"
+  ];
 
   patches = [
-    # Remove buildconfig.html to prevent a dependency on clang etc.
     ./no-buildconfig.patch
-  ]
-  ++ lib.optional (lib.versionOlder version "69")
-    (fetchpatch { # https://bugzilla.mozilla.org/show_bug.cgi?id=1500436#c29
-      name = "write_error-parallel_make.diff";
-      url = "https://hg.mozilla.org/mozilla-central/raw-diff/562655fe/python/mozbuild/mozbuild/action/node.py";
-      sha256 = "11d7rgzinb4mwl7yzhidjkajynmxgmffr4l9isgskfapyax9p88y";
-    });
-
-  configureFlags =
-    [ # from firefox, but without sound libraries (alsa, libvpx, pulseaudio)
-      "--enable-application=comm/mail"
-      "--disable-alsa"
-      "--disable-pulseaudio"
-
-      "--with-system-jpeg"
-      "--with-system-zlib"
-      "--with-system-bz2"
-      "--with-system-nspr"
-      "--with-system-nss"
-      "--with-system-libevent"
-      "--with-system-png" # needs APNG support
-      "--with-system-icu"
-      #"--enable-rust-simd" # not supported since rustc 1.32.0 -> 1.33.0; TODO: probably OK since 68.0.0
-      "--enable-system-ffi"
-      "--enable-system-pixman"
-      "--enable-system-sqlite"
-      #"--enable-system-cairo"
-      "--enable-startup-notification"
-      "--disable-crashreporter"
-      "--disable-tests"
-      "--disable-necko-wifi" # maybe we want to enable this at some point
-      "--disable-updater"
-      "--enable-jemalloc"
-      "--disable-gconf"
-      "--enable-default-toolkit=cairo-gtk${if enableGTK3 then "3" else "2"}"
-      "--enable-js-shell"
-    ]
-      ++ lib.optional enableCalendar "--enable-calendar"
-      ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
-                        else [ "--disable-debug" "--enable-release"
-                               "--disable-debug-symbols"
-                               "--enable-optimize" "--enable-strip" ])
-      ++ lib.optional enableOfficialBranding "--enable-official-branding"
-      ++ lib.optionals (lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [
-        # on i686-linux: --with-libclang-path is not available in this configuration
-        "--with-libclang-path=${llvmPackages.libclang}/lib"
-        "--with-clang-path=${llvmPackages.clang}/bin/clang"
-      ];
+  ];
 
-  enableParallelBuilding = true;
+  postPatch = ''
+    rm -rf obj-x86_64-pc-linux-gnu
+  '';
 
-  preConfigure =
-    ''
-      cxxLib=$( echo -n ${gcc}/include/c++/* )
-      archLib=$cxxLib/$( ${gcc}/bin/gcc -dumpmachine )
-
-      test -f layout/style/ServoBindings.toml && sed -i -e '/"-DRUST_BINDGEN"/ a , "-cxx-isystem", "'$cxxLib'", "-isystem", "'$archLib'"' layout/style/ServoBindings.toml
-
-      configureScript="$(realpath ./configure)"
-      mkdir ../objdir
-      cd ../objdir
-
-      # AS=as in the environment causes build failure https://bugzilla.mozilla.org/show_bug.cgi?id=1497286
-      unset AS
-    '';
-
-  dontWrapGApps = true; # we do it ourselves
-  postInstall =
-    ''
-      # TODO: Move to a dev output?
-      rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
-
-      # $binary is a symlink to $target.
-      # We wrap $target by replacing the $binary symlink.
-      local target="$out/lib/thunderbird/thunderbird"
-      local binary="$out/bin/thunderbird"
-
-      # Wrap correctly, this is needed to
-      # 1) find Mozilla runtime, because argv0 must be the real thing,
-      #    or a symlink thereto. It cannot be the wrapper itself
-      # 2) detect itself as the default mailreader across builds
-      gappsWrapperArgs+=(
-        --argv0 "$target"
-        --set MOZ_APP_LAUNCHER thunderbird
-        # See commit 87e261843c4236c541ee0113988286f77d2fa1ee
-        --set MOZ_LEGACY_PROFILES 1
-        --set MOZ_ALLOW_DOWNGRADE 1
-        # https://github.com/NixOS/nixpkgs/pull/61980
-        --set SNAP_NAME "thunderbird"
-      )
+  preConfigure = ''
+    # remove distributed configuration files
+    rm -f configure
+    rm -f js/src/configure
+    rm -f .mozconfig*
+
+    configureScript="$(realpath ./mach) configure"
+    # AS=as in the environment causes build failure https://bugzilla.mozilla.org/show_bug.cgi?id=1497286
+    unset AS
+
+    export MOZCONFIG=$(pwd)/mozconfig
+
+    # Set C flags for Rust's bindgen program. Unlike ordinary C
+    # compilation, bindgen does not invoke $CC directly. Instead it
+    # uses LLVM's libclang. To make sure all necessary flags are
+    # included we need to look in a few places.
+    # TODO: generalize this process for other use-cases.
+
+    BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \
+      $(< ${stdenv.cc}/nix-support/cc-cflags) \
+      ${stdenv.cc.default_cxx_stdlib_compile} \
+      ${
+        lib.optionalString stdenv.cc.isClang
+        "-idirafter ${stdenv.cc.cc}/lib/clang/${
+          lib.getVersion stdenv.cc.cc
+        }/include"
+      } \
       ${
-        # We wrap manually because wrapGAppsHook does not detect the symlink
-        # To mimic wrapGAppsHook, we run it with dontWrapGApps, so
-        # gappsWrapperArgs gets defined correctly
-        lib.optionalString enableGTK3 "wrapGAppsHook"
-      }
-
-      # "$binary" is a symlink, replace it by the wrapper
-      rm "$binary"
-      makeWrapper "$target" "$binary" "''${gappsWrapperArgs[@]}"
-
-      ${ let desktopItem = makeDesktopItem {
-          name = "thunderbird";
-          exec = "thunderbird %U";
-          desktopName = "Thunderbird";
-          icon = "$out/lib/thunderbird/chrome/icons/default/default256.png";
-          genericName = "Mail Reader";
-          categories = "Application;Network";
-          mimeType = stdenv.lib.concatStringsSep ";" [
-            # Email
-            "x-scheme-handler/mailto"
-            "message/rfc822"
-            # Newsgroup
-            "x-scheme-handler/news"
-            "x-scheme-handler/snews"
-            "x-scheme-handler/nntp"
-            # Feed
-            "x-scheme-handler/feed"
-            "application/rss+xml"
-            "application/x-extension-rss"
-          ];
-        }; in desktopItem.buildCommand
-      }
-    '';
-
-  postFixup =
-    # Fix notifications. LibXUL uses dlopen for this, unfortunately; see #18712.
-    ''
-      patchelf --set-rpath "${lib.getLib libnotify
-        }/lib:$(patchelf --print-rpath "$out"/lib/thunderbird*/libxul.so)" \
-          "$out"/lib/thunderbird*/libxul.so
-    '';
+        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
+        }/$(cc -dumpmachine)"
+      } \
+      $NIX_CFLAGS_COMPILE"
 
-  doInstallCheck = true;
-  installCheckPhase =
-    ''
-      # Some basic testing
-      "$out/bin/thunderbird" --version
-    '';
+    echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
+  '';
 
-  disallowedRequisites = [ stdenv.cc ];
+  configureFlags = let
+    toolkitSlug = if gtk3Support then
+      "3${lib.optionalString waylandSupport "-wayland"}"
+    else
+      "2";
+    toolkitValue = "cairo-gtk${toolkitSlug}";
+  in [
+    "--enable-application=comm/mail"
 
-  meta = with stdenv.lib; {
-    description = "A full-featured e-mail client";
-    homepage = http://www.mozilla.org/thunderbird/;
-    license =
-      # Official branding implies thunderbird name and logo cannot be reuse,
-      # see http://www.mozilla.org/foundation/licensing.html
-      if enableOfficialBranding then licenses.proprietary else licenses.mpl11;
-    maintainers = [ maintainers.pierron maintainers.eelco ];
-    platforms = platforms.linux;
-  };
+    "--with-system-bz2"
+    "--with-system-icu"
+    "--with-system-jpeg"
+    "--with-system-libevent"
+    "--with-system-nspr"
+    "--with-system-nss"
+    "--with-system-png" # needs APNG support
+    "--with-system-icu"
+    "--with-system-zlib"
+    "--with-system-webp"
+    "--with-system-libvpx"
+
+    "--enable-rust-simd"
+    "--enable-crashreporter"
+    "--enable-default-toolkit=${toolkitValue}"
+    "--enable-js-shell"
+    "--enable-necko-wifi"
+    "--enable-startup-notification"
+    "--enable-system-ffi"
+    "--enable-system-pixman"
+    "--enable-system-sqlite"
+
+    "--disable-gconf"
+    "--disable-tests"
+    "--disable-updater"
+    "--enable-jemalloc"
+  ] ++ (if debugBuild then [
+    "--enable-debug"
+    "--enable-profiling"
+  ] else [
+    "--disable-debug"
+    "--enable-release"
+    "--disable-debug-symbols"
+    "--enable-optimize"
+    "--enable-strip"
+  ]) ++ lib.optionals (!stdenv.hostPlatform.isi686) [
+    # on i686-linux: --with-libclang-path is not available in this configuration
+    "--with-libclang-path=${llvmPackages.libclang}/lib"
+    "--with-clang-path=${llvmPackages.clang}/bin/clang"
+  ] ++ lib.optional alsaSupport "--enable-alsa"
+  ++ lib.optional calendarSupport "--enable-calendar"
+  ++ lib.optional enableOfficialBranding "--enable-official-branding"
+  ++ lib.optional pulseaudioSupport "--enable-pulseaudio";
+
+  enableParallelBuilding = true;
+
+  postConfigure = ''
+    cd obj-*
+  '';
+
+  makeFlags = lib.optionals enableOfficialBranding [
+    "MOZILLA_OFFICIAL=1"
+    "BUILD_OFFICIAL=1"
+  ];
+
+  doCheck = false;
+
+  postInstall = let
+    desktopItem = makeDesktopItem {
+      categories = lib.concatStringsSep ";" [ "Application" "Network" ];
+      desktopName = "Thunderbird";
+      genericName = "Mail Reader";
+      name = "thunderbird";
+      exec = "thunderbird %U";
+      icon = "$out/lib/thunderbird/chrome/icons/default/default256.png";
+      mimeType = lib.concatStringsSep ";" [
+        # Email
+        "x-scheme-handler/mailto"
+        "message/rfc822"
+        # Feeds
+        "x-scheme-handler/feed"
+        "application/rss+xml"
+        "application/x-extension-rss"
+        # Newsgroups
+        "x-scheme-handler/news"
+        "x-scheme-handler/snews"
+        "x-scheme-handler/nntp"
+      ];
+    };
+  in ''
+    # TODO: Move to a dev output?
+    rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
+
+    ${desktopItem.buildCommand}
+  '';
+
+  preFixup = ''
+    # Needed to find Mozilla runtime
+    gappsWrapperArgs+=(
+      --argv0 "$out/bin/thunderbird"
+      --set MOZ_APP_LAUNCHER thunderbird
+      # https://github.com/NixOS/nixpkgs/pull/61980
+      --set SNAP_NAME "thunderbird"
+      --set MOZ_LEGACY_PROFILES 1
+      --set MOZ_ALLOW_DOWNGRADE 1
+    )
+  '';
+
+  # FIXME: This can probably be removed as soon as we package a
+  # Thunderbird >=71.0 since XUL shouldn't be anymore (in use)?
+  postFixup = ''
+    local xul="$out/lib/thunderbird/libxul.so"
+    patchelf --set-rpath "${libnotify}/lib:$(patchelf --print-rpath $xul)" $xul
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    "$out/bin/thunderbird" --version
+  '';
+
+  disallowedRequisites = [
+    stdenv.cc
+  ];
 
   passthru.updateScript = import ./../../browsers/firefox/update.nix {
     attrPath = "thunderbird";
     baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
-    inherit writeScript lib common-updater-scripts xidel coreutils gnused gnugrep curl runtimeShell;
+    inherit writeScript lib common-updater-scripts xidel coreutils gnused
+      gnugrep curl runtimeShell;
+  };
+
+  meta = with stdenv.lib; {
+    description = "A full-featured e-mail client";
+    homepage = "https://www.thunderbird.net";
+    maintainers = with maintainers; [
+      eelco
+      lovesegfault
+      pierron
+    ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index fe4c9f32b21..dfb49e14133 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -16,7 +16,8 @@ assert iceSupport -> zeroc-ice != null;
 with stdenv.lib;
 let
   generic = overrides: source: qt5.mkDerivation (source // overrides // {
-    name = "${overrides.type}-${source.version}";
+    pname = overrides.type;
+    version = source.version;
 
     patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch;
 
@@ -63,9 +64,9 @@ let
 
     meta = {
       description = "Low-latency, high quality voice chat software";
-      homepage = https://mumble.info;
+      homepage = "https://mumble.info";
       license = licenses.bsd3;
-      maintainers = with maintainers; [ ];
+      maintainers = with maintainers; [ petabyteboy ];
       platforms = platforms.linux;
     };
   });
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 974d1e5a077..71fce57504c 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -12,7 +12,6 @@
 , qtkeychain
 , qttools
 , qtwebengine
-, qtwebkit
 , sqlite
 }:
 
@@ -45,7 +44,6 @@ mkDerivation rec {
     qtkeychain
     qttools
     qtwebengine
-    qtwebkit
     sqlite
   ];
 
@@ -55,6 +53,7 @@ mkDerivation rec {
 
   cmakeFlags = [
     "-DCMAKE_INSTALL_LIBDIR=lib" # expected to be prefix-relative by build code setting RPATH
+    "-DNO_SHIBBOLETH=1" # allows to compile without qtwebkit
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index eaa6b07c8fa..a461b1fbd74 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnunet";
-  version = "0.11.6";
+  version = "0.11.8";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
-    sha256 = "1gspr1lh885sb9r2anh7bi4zan3zjqx33lpyhq9hm2g0n5ip187q";
+    sha256 = "1zkmcq75sfr3iyg8rgxp9dbl7fwsvc1a71rc0vgisghcbrx1n7yj";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index aebdeda6108..173b4f02cdf 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.1.9.1";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "qbittorrent";
     repo = "qbittorrent";
     rev = "release-${version}";
-    sha256 = "19zgqlby7i1kr20wa4zd99qzd062a879xxxbmlf40rnqiqy4bhyi";
+    sha256 = "17vm6aa2k8k1q14z9r2r06c794bcr4m0l0fdsn08wid6mj1zjsbx";
   };
 
   # NOTE: 2018-05-31: CMake is working but it is not officially supported
diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix
index 0e93b593184..82b6614fcb6 100644
--- a/pkgs/applications/networking/remote/anydesk/default.nix
+++ b/pkgs/applications/networking/remote/anydesk/default.nix
@@ -31,7 +31,10 @@ in stdenv.mkDerivation rec {
   version = "5.5.1";
 
   src = fetchurl {
-    url = "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz";
+    urls = [
+      "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz"
+      "https://download.anydesk.com/linux/generic-linux/${pname}-${version}-${arch}.tar.gz"
+    ];
     inherit sha256;
   };
 
diff --git a/pkgs/applications/networking/remote/citrix-workspace/default.nix b/pkgs/applications/networking/remote/citrix-workspace/default.nix
index dc6f85f2130..a4deda99f5b 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/default.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/default.nix
@@ -24,7 +24,7 @@
 , gtk_engines
 , alsaLib
 , zlib
-, version ? "19.10.0"
+, version ? "19.12.0"
 }:
 
 let
@@ -71,7 +71,18 @@ let
         x86hash   = "000zjik8wf8b6fadnsai0p77b4n2l95544zx503iyrb9pv53bj3y";
         x64suffix = "15";
         x86suffix = "15";
-        homepage  = https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest1.html;
+        homepage  = https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-1910.html;
+      };
+
+      "19.12.0" = {
+        major     = "19";
+        minor     = "12";
+        patch     = "0";
+        x64hash   = "1si5mkxbgb8m99bkvgc3l80idjfdp0kby6pv47s07nn43dbr1j7a";
+        x86hash   = "07rfp90ksnvr8zv7ix7f0z6a59n48s7bd4kqbzilfwxgs4ddqmcy";
+        x64suffix = "19";
+        x86suffix = "19";
+        homepage  = https://www.citrix.com/de-de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html;
       };
     };
 
diff --git a/pkgs/applications/office/flexibee/default.nix b/pkgs/applications/office/flexibee/default.nix
index 831d8cbcf2a..f80620a2bf7 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 = "2019.3.0.7";
+  version = "2019.3.1.1";
   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 = "01n2pkh17s2iab7n9xgq9vqcf1fnzmb382zmmd1lwyw3x57f5rq2";
+    sha256 = "0zlxbdwcb0xb0bx4nvj6dn0vpw21czgf196bjlkk1547j6146p1p";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index fd68896ca67..f1148f66524 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -7,21 +7,13 @@
 
 mkDerivation rec {
   pname = "skrooge";
-  version = "2.20.0";
+  version = "2.21.0";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
-    sha256 = "0rakfngp7j2x7h1isg6lbc5kva6k1kg99dz0zl43dc28s15can1w";
+    sha256 = "1aqn0367q7mdg728r5085aqzc4mgfz1bgqqlhgdjjp7r192yq7r2";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "skrooge-2.20.0-missing-header.patch";
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-office/skrooge/files/skrooge-2.20.0-missing-header.patch?id=cb8c91474b0ae2f9e889f89afe2d9114dbd1784f";
-      sha256 = "154zsidx45h6qrcqjh6czjxrcwrcmbyv3yh2k1s40v8pzvjwzrld";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake extra-cmake-modules kdoctools shared-mime-info
   ];
diff --git a/pkgs/applications/office/tryton/default.nix b/pkgs/applications/office/tryton/default.nix
index 4422aaa2b44..971f2f645f8 100644
--- a/pkgs/applications/office/tryton/default.nix
+++ b/pkgs/applications/office/tryton/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, python2Packages
+, python3Packages
 , pkgconfig
 , librsvg
 , gobject-introspection
@@ -7,40 +7,59 @@
 , gtk3
 , gtkspell3
 , gnome3
+, glib
 , goocanvas2
+, gdk-pixbuf
+, pango
+, fontconfig
+, freetype
+, wrapGAppsHook
 }:
 
 with stdenv.lib;
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "tryton";
-  version = "4.8.5";
-  src = python2Packages.fetchPypi {
+  version = "5.4.0";
+
+  disabled = !python3Packages.isPy3k;
+
+  src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "43759d22b061a7a392a534d19a045fafd442ce98a0e390ee830127367dcaf4b4";
+    sha256 = "0wbq8y8z0n6c5b3h5ynlawn3z79a3hkb1fkmblz4pwnj0jfnbswd";
   };
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
-  propagatedBuildInputs = with python2Packages; [
-    chardet
+
+  nativeBuildInputs = [
+    pkgconfig
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
     dateutil
-    pygtk
-    librsvg
     pygobject3
     goocalendar
-    cdecimal
+    pycairo
   ];
+
   buildInputs = [
     atk
-    gtk3
+    gdk-pixbuf
+    glib
     gnome3.adwaita-icon-theme
-    gtkspell3
     goocanvas2
+    fontconfig
+    freetype
+    gtk3
+    gtkspell3
+    librsvg
+    pango
   ];
-  makeWrapperArgs = [
-    ''--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"''
-    ''--set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"''
-    ''--suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"''
-  ];
+
+  strictDeps = false;
+
+  doCheck = false;
+
   meta = {
     description = "The client of the Tryton application platform";
     longDescription = ''
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index a84d9c1b169..42c5488bd5e 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -35,11 +35,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "5.0.77";
+  version = "5.0.80";
 
   src = fetchurl {
     url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "1dgxzprpb8f5wpmvlvkxix0xxckfgjsi3wfcy9mb221a17cv0029";
+    sha256 = "0a5xjliml6rwxvi450l42iw6m9mk3aahnp90sr22jyijz9qii2al";
   };
 
   buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme dconf ];
diff --git a/pkgs/applications/radio/chirp/default.nix b/pkgs/applications/radio/chirp/default.nix
index c088cefd861..0c31a2006c7 100644
--- a/pkgs/applications/radio/chirp/default.nix
+++ b/pkgs/applications/radio/chirp/default.nix
@@ -1,31 +1,20 @@
-{ stdenv, fetchurl, libxml2Python, libxslt, makeWrapper
-, pyserial, pygtk }:
-
-stdenv.mkDerivation rec {
+{ stdenv
+, fetchurl
+, python2
+}:
+python2.pkgs.buildPythonApplication rec {
   pname = "chirp-daily";
-  version = "20190925";
+  version = "20191123";
 
   src = fetchurl {
     url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${pname}-${version}.tar.gz";
-    sha256 = "0immgss7nj7395r3csiypksnbn1r2f3j45c5v8qpybz65lpbplps";
+    sha256 = "11wzk0c9fa3gp185gyd47g3sh7gfallw7qapr6qp913q2zfmif8v";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [
-    pyserial pygtk libxml2Python libxslt
+  propagatedBuildInputs = with python2.pkgs; [
+    pygtk pyserial libxml2
   ];
 
-  installPhase = ''
-    mkdir -p $out/bin $out/share/chirp
-    cp -r . $out/share/chirp/
-    ln -s $out/share/chirp/chirpw $out/bin/chirpw
-
-    for file in "$out"/bin/*; do
-      wrapProgram "$file" \
-        --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out")
-    done
-  '';
-
   meta = with stdenv.lib; {
     description = "A free, open-source tool for programming your amateur radio";
     homepage = https://chirp.danplanet.com/;
diff --git a/pkgs/applications/radio/wsjtx/default.nix b/pkgs/applications/radio/wsjtx/default.nix
index 36d3f14818f..8e135dee568 100644
--- a/pkgs/applications/radio/wsjtx/default.nix
+++ b/pkgs/applications/radio/wsjtx/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "wsjtx";
-  version = "2.1.0";
+  version = "2.1.2";
 
   # This is a "superbuild" tarball containing both wsjtx and a hamlib fork
   src = fetchurl {
     url = "http://physics.princeton.edu/pulsar/k1jt/wsjtx-${version}.tgz";
-    sha256 = "04flhyfw0djnnbrzh3f5lx06bnn92khchz3bmswk8if8n8j58v4y";
+    sha256 = "0aj3wg5xjjqwjvw6lra171ag5wq86w0hf1ra4k8mnaf0mc1qgbyl";
   };
 
   # Hamlib builds with autotools, wsjtx builds with cmake
diff --git a/pkgs/applications/science/biology/bedtools/default.nix b/pkgs/applications/science/biology/bedtools/default.nix
index 4e4c093ad7f..0bb5ee866e5 100644
--- a/pkgs/applications/science/biology/bedtools/default.nix
+++ b/pkgs/applications/science/biology/bedtools/default.nix
@@ -2,19 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "bedtools";
-  version = "2.29.0";
+  version = "2.29.1";
 
   src = fetchFromGitHub {
     owner = "arq5x";
     repo = "bedtools2";
     rev = "v${version}";
-    sha256 = "0d6i985qqxp92ddq4n6558m70qi5rqhl724wrfys0hm0p6a9h56x";
+    sha256 = "1vbpjvzl4ppzkan9qgm84bkn9kl3h3m5xz92y18wn1sksxcdq50x";
   };
 
   buildInputs = [ zlib python bzip2 lzma ];
-  cc = if stdenv.cc.isClang then "clang++" else "g++";
-  buildPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cc} -j $NIX_BUILD_CORES";
-  installPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cc} install";
+  cxx = if stdenv.cc.isClang then "clang++" else "g++";
+  cc = if stdenv.cc.isClang then "clang" else "gcc";
+  buildPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cxx} CC=${cc} -j $NIX_BUILD_CORES";
+  installPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cxx} CC=${cc} install";
 
   meta = with stdenv.lib; {
     description = "A powerful toolset for genome arithmetic.";
diff --git a/pkgs/applications/science/logic/boolector/default.nix b/pkgs/applications/science/logic/boolector/default.nix
index f1f74bcb581..4cf0b0f1ea1 100644
--- a/pkgs/applications/science/logic/boolector/default.nix
+++ b/pkgs/applications/science/logic/boolector/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub
+{ stdenv, fetchFromGitHub, fetchpatch
 , cmake, lingeling, btor2tools
 }:
 
@@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "15i3ni5klss423m57wcy1gx0m5wfrjmglapwg85pm7fb3jj1y7sz";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-7560.patch";
+      url = "https://github.com/Boolector/boolector/commit/8d979d02e0482c7137c9f3a34e6d430dbfd1f5c5.patch";
+      sha256 = "1a1g02mk8b0azzjcigdn5zpshn0dn05fciwi8sd5q38yxvnvpbbi";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ lingeling btor2tools ];
 
diff --git a/pkgs/applications/science/logic/btor2tools/default.nix b/pkgs/applications/science/logic/btor2tools/default.nix
index 2d00e9f3046..2aedfb1d07e 100644
--- a/pkgs/applications/science/logic/btor2tools/default.nix
+++ b/pkgs/applications/science/logic/btor2tools/default.nix
@@ -24,8 +24,8 @@ stdenv.mkDerivation {
   outputs = [ "out" "dev" "lib" ];
 
   meta = with stdenv.lib; {
-    description = "Fast SAT solver";
-    homepage    = http://fmv.jku.at/lingeling/;
+    description = "A generic parser and tool package for the BTOR2 format";
+    homepage    = "https://github.com/Boolector/btor2tools";
     license     = licenses.mit;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice ];
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index e5958f46cbf..2378cb9408e 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -32,6 +32,7 @@ let
    "8.10.0" = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg";
    "8.10.1" = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4";
    "8.10.2" = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz";
+   "8.11+beta1" = "06dlxj6v7gd51dh6ir121z7lgqdagkq717xxxrc8bdqhz7d2z7qj";
   }.${version};
   coq-version = stdenv.lib.versions.majorMinor version;
   versionAtLeast = stdenv.lib.versionAtLeast coq-version;
diff --git a/pkgs/applications/science/math/sage/pybrial.nix b/pkgs/applications/science/math/sage/pybrial.nix
index 092a340bb5b..718414126ae 100644
--- a/pkgs/applications/science/math/sage/pybrial.nix
+++ b/pkgs/applications/science/math/sage/pybrial.nix
@@ -1,6 +1,7 @@
 { stdenv
 , fetchFromGitHub
 , buildPythonPackage
+, brial
 }:
 # This has a cyclic dependency with sage. I don't include sage in the
 # buildInputs and let python figure it out at runtime. Because of this,
@@ -9,15 +10,10 @@
 # it).
 buildPythonPackage rec {
     pname = "pyBRiAl";
-    version = "1.2.3";
+    version = brial.version;
 
     # included with BRiAl source
-    src = fetchFromGitHub {
-      owner = "BRiAl";
-      repo = "BRiAl";
-      rev = version;
-      sha256 = "0qy4cwy7qrk4zg151cmws5cglaa866z461cnj9wdnalabs7v7qbg";
-    };
+    src = brial.src;
 
     sourceRoot = "source/sage-brial";
 
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index ada2f0b44ad..7a03369febe 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -1,27 +1,32 @@
-{ stdenv, fetchurl, cmake, pcre, pkgconfig, python2
-, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lz4, lzma, gsl, xxHash
+{ stdenv, fetchurl, cmake, gl2ps, gsl, libX11, libXpm, libXft, libXext
+, libGLU, libGL, libxml2, lz4, lzma, pcre, pkgconfig, python, xxHash, zlib
 , Cocoa, OpenGL, noSplash ? false }:
 
 stdenv.mkDerivation rec {
   pname = "root";
-  version = "6.12.06";
+  version = "6.18.04";
 
   src = fetchurl {
     url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
-    sha256 = "1557b9sdragsx9i15qh6lq7fn056bgi87d31kxdl4vl0awigvp5f";
+    sha256 = "196ghma6g5a7sqz52wyjkgvmh4hj4vqwppm0zwdypy33hgy8anii";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl xxHash ]
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ gl2ps pcre python zlib libxml2 lz4 lzma gsl xxHash ]
     ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
     ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
     ;
+  propagatedBuildInputs = [ python.pkgs.numpy ];
 
   patches = [
     ./sw_vers.patch
   ];
 
   preConfigure = ''
+    rm -rf builtins/*
+    substituteInPlace cmake/modules/SearchInstalledSoftware.cmake \
+      --replace 'set(lcgpackages ' '#set(lcgpackages '
+
     patchShebangs build/unix/
   '' + stdenv.lib.optionalString noSplash ''
     substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true"
@@ -35,8 +40,10 @@ stdenv.mkDerivation rec {
     "-Dbonjour=OFF"
     "-Dcastor=OFF"
     "-Dchirp=OFF"
+    "-Dclad=OFF"
     "-Ddavix=OFF"
     "-Ddcache=OFF"
+    "-Dfail-on-missing=ON"
     "-Dfftw3=OFF"
     "-Dfitsio=OFF"
     "-Dfortran=OFF"
@@ -57,6 +64,7 @@ stdenv.mkDerivation rec {
     "-Drfio=OFF"
     "-Dsqlite=OFF"
     "-Dssl=OFF"
+    "-Dvdt=OFF"
     "-Dxml=ON"
     "-Dxrootd=OFF"
   ]
diff --git a/pkgs/applications/science/misc/root/sw_vers.patch b/pkgs/applications/science/misc/root/sw_vers.patch
index df0ef79d0a0..34af132c11f 100644
--- a/pkgs/applications/science/misc/root/sw_vers.patch
+++ b/pkgs/applications/science/misc/root/sw_vers.patch
@@ -1,54 +1,46 @@
-diff --git a/build/unix/compiledata.sh b/build/unix/compiledata.sh
+diff a/build/unix/compiledata.sh b/build/unix/compiledata.sh
 --- a/build/unix/compiledata.sh
 +++ b/build/unix/compiledata.sh
-@@ -49,7 +49,7 @@ fi
+@@ -47,7 +47,7 @@ fi
  
  if [ "$ARCH" = "macosx" ] || [ "$ARCH" = "macosx64" ] || \
     [ "$ARCH" = "macosxicc" ]; then
 -   macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
-+   macosx_minor=7
++   macosx_minor=12
     SOEXT="so"
     if [ $macosx_minor -ge 5 ]; then
        if [ "x`echo $SOFLAGS | grep -- '-install_name'`" != "x" ]; then
-diff --git a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
+diff a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
 --- a/cmake/modules/SetUpMacOS.cmake
 +++ b/cmake/modules/SetUpMacOS.cmake
-@@ -12,25 +12,11 @@ set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /usr/X11R6)
- #---------------------------------------------------------------------------------------------------------
+@@ -2,17 +2,8 @@ set(ROOT_ARCHITECTURE macosx)
+ set(ROOT_PLATFORM macosx)
  
  if (CMAKE_SYSTEM_NAME MATCHES Darwin)
 -  EXECUTE_PROCESS(COMMAND sw_vers "-productVersion"
 -                  COMMAND cut -d . -f 1-2
 -                  OUTPUT_VARIABLE MACOSX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+-
 -  MESSAGE(STATUS "Found a Mac OS X System ${MACOSX_VERSION}")
--  EXECUTE_PROCESS(COMMAND sw_vers "-productVersion"
--                  COMMAND cut -d . -f 2
--                  OUTPUT_VARIABLE MACOSX_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE)
 -
 -  if(MACOSX_VERSION VERSION_GREATER 10.7 AND ${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
      set(libcxx ON CACHE BOOL "Build using libc++" FORCE)
 -  endif()
  
--  if(${MACOSX_MINOR} GREATER 4)
+-  if(MACOSX_VERSION VERSION_GREATER 10.4)
      #TODO: check haveconfig and rpath -> set rpath true
      #TODO: check Thread, define link command
      #TODO: more stuff check configure script
--    execute_process(COMMAND /usr/sbin/sysctl machdep.cpu.extfeatures OUTPUT_VARIABLE SYSCTL_OUTPUT)
--    if(${SYSCTL_OUTPUT} MATCHES 64)
--       MESSAGE(STATUS "Found a 64bit system")
-        set(ROOT_ARCHITECTURE macosx64)
-        SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
-        SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -m64")
-@@ -38,27 +24,6 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
+@@ -25,23 +16,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
         SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m64")
--    else(${SYSCTL_OUTPUT} MATCHES 64)
+-    else()
 -       MESSAGE(STATUS "Found a 32bit system")
 -       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
 -       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
 -       SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m32")
--    endif(${SYSCTL_OUTPUT} MATCHES 64)
+-    endif()
 -  endif()
 -
 -  if(MACOSX_VERSION VERSION_GREATER 10.6)
@@ -59,32 +51,51 @@ diff --git a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
 -  endif()
 -  if(MACOSX_VERSION VERSION_GREATER 10.8)
 -    set(MACOSX_GLU_DEPRECATED ON)
--    set(MACOSX_KRB5_DEPRECATED ON)
--  endif()
--  if(MACOSX_VERSION VERSION_GREATER 10.9)
--    set(MACOSX_LDAP_DEPRECATED ON)
 -  endif()
++     endif()
  
    if (CMAKE_COMPILER_IS_GNUCXX)
       message(STATUS "Found GNU compiler collection")
-@@ -135,7 +100,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
+@@ -104,7 +79,6 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
    endif()
  
    #---Set Linker flags----------------------------------------------------------------------
--  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}  -mmacosx-version-min=${MACOSX_VERSION} -Wl,-rpath,@loader_path/../lib")
-+  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,@loader_path/../lib")
- 
- 
+-  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mmacosx-version-min=${MACOSX_VERSION}")
  else (CMAKE_SYSTEM_NAME MATCHES Darwin)
-diff --git a/config/root-config.in b/config/root-config.in
+   MESSAGE(FATAL_ERROR "There is no setup for this this Apple system up to now. Don't know waht to do. Stop cmake at this point.")
+ endif (CMAKE_SYSTEM_NAME MATCHES Darwin)
+diff a/config/root-config.in b/config/root-config.in
 --- a/config/root-config.in
 +++ b/config/root-config.in
-@@ -304,7 +304,7 @@ macosxicc)
+@@ -306,12 +306,6 @@ macosxicc)
+    auxlibs="-lm -ldl"
     ;;
  macosx64)
-    # MacOS X with gcc (GNU cc v4.x) in 64 bit mode
+-   # MacOS X with gcc (GNU cc v4.x) in 64 bit mode
 -   macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
-+   macosx_minor=7
-    # cannot find the one linked to libGraf if relocated after built
-    if [ $macosx_minor -le 4 ]; then
-       rootlibs="$rootlibs -lfreetype"
+-   # cannot find the one linked to libGraf if relocated after built
+-   if [ $macosx_minor -le 4 ]; then
+-      rootlibs="$rootlibs -lfreetype"
+-   fi
+    auxcflags="${cxxversionflag} -m64"
+    auxldflags="-m64"
+    auxlibs="-lm -ldl"
+@@ -375,18 +369,11 @@ freebsd* | openbsd* | linux*)
+ macosx*)
+    for f in $features ; do
+       if test "x$f" = "xthread" ; then
+-         if [ $macosx_minor -ge 5 ]; then
+             auxcflags="-pthread $auxcflags"
+             auxlibs="-lpthread $auxlibs"
+-         else
+-            auxcflags="-D_REENTRANT $auxcflags"
+-            auxlibs="-lpthread $auxlibs"
+-         fi
+       fi
+       if test "x$f" = "xrpath" ; then
+-         if [ $macosx_minor -ge 5 ]; then
+             auxlibs="-Wl,-rpath,$libdir $auxlibs"
+-         fi
+       fi
+       if test "x$f" = "xlibcxx" ; then
+          auxcflags="-stdlib=libc++ $auxcflags"
diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix
new file mode 100644
index 00000000000..890e824cf2e
--- /dev/null
+++ b/pkgs/applications/science/robotics/mavproxy/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonApplication, fetchPypi, matplotlib, numpy, pymavlink, pyserial
+, setuptools, wxPython_4_0 }:
+
+buildPythonApplication rec {
+  pname = "MAVProxy";
+  version = "1.8.17";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "193hjilsmbljbgj7v6icy3b4hzm14l0z6v05v7ycx6larij5xj2r";
+  };
+
+  propagatedBuildInputs = [
+    matplotlib
+    numpy
+    pymavlink
+    pyserial
+    setuptools
+    wxPython_4_0
+  ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "MAVLink proxy and command line ground station";
+    homepage = "https://github.com/ArduPilot/MAVProxy";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ lopsided98 ];
+  };
+}
diff --git a/pkgs/applications/version-management/diffuse/default.nix b/pkgs/applications/version-management/diffuse/default.nix
deleted file mode 100644
index fc591dd710e..00000000000
--- a/pkgs/applications/version-management/diffuse/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, python27Packages, makeWrapper }:
-
-let
-  inherit (python27Packages) pygtk python;
-in stdenv.mkDerivation rec {
-  version = "0.4.8";
-  pname = "diffuse";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0ayz8bywmk1z3zicb0a7hbxliqpc7xym60s0mawzqllkpadvgly1";
-  };
-
-  buildInputs = [ python pygtk makeWrapper ];
-
-  buildPhase = ''
-    python ./install.py --prefix="$out" --sysconfdir="$out/etc" --pythonbin="${python}/bin/python"
-    wrapProgram "$out/bin/diffuse" --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0
-  '';
-
-  # no-op, everything is done in buildPhase
-  installPhase = "true";
-
-  # NOTE: diffuse installs a .desktop file itself
-
-  meta = with stdenv.lib; {
-    description = "Graphical diff and merge tool";
-    homepage = http://diffuse.sourceforge.net/;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
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 26acebc8613..312879a49e8 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -21,7 +21,7 @@ assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.24.0";
+  version = "2.24.1";
   svn = subversionClient.override { perlBindings = perlSupport; };
 
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "06rpakbwzck85ncfsgv4xmq3iwab9d4f5y6dqhl8nvb2fccxcwcz";
+    sha256 = "0ql5z31vgl7b785gwrf00m129mg7zi9pa65n12ij3mpxx3f28gvj";
   };
 
   outputs = [ "out" ];
@@ -230,6 +230,7 @@ stdenv.mkDerivation {
                 -e "s|exec wish|exec '${tk}/bin/wish'|g" \
                 "$out/$prog"
        done
+       ln -s $out/share/git/contrib/completion/git-completion.bash $out/share/bash-completion/completions/gitk
      '' else ''
        # Don't wrap Tcl/Tk, replace them by notification scripts
        for prog in bin/gitk libexec/git-core/git-gui; do
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 a1ef489b007..c8700c18ea1 100644
--- a/pkgs/applications/version-management/git-and-tools/lab/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/lab/default.nix
@@ -2,18 +2,20 @@
 
 buildGoModule rec {
   pname = "lab";
-  version = "0.16.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "zaquestion";
     repo = "lab";
     rev = "v${version}";
-    sha256 = "0f1gi4mlcxjvz2sgh0hzzsqxg5gfvq2ay7xjd0y1kz3pp8kxja7i";
+    sha256 = "1z83v1dl9c5f99jvvc23ijkwrfrv489la05rlsrc3r4zzza1hx1f";
   };
 
   subPackages = [ "." ];
 
-  modSha256 = "0bw47dd1b46ywsian2b957a4ipm77ncidipzri9ra39paqlv7abb";
+  modSha256 = "03fqa7s6729g0a6ffiyc61dkldpi7vg8pvvpqak4c0mqi1dycivd";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
   postInstall = ''
     mkdir -p "$out/share/bash-completion/completions" "$out/share/zsh/site-functions"
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index ceea2f44a8b..ed8debb404d 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,9 +1,9 @@
 {
-  "version": "12.5.3",
-  "repo_hash": "1q76yhg4ygs9w5hb8hbv1908d5pfqzr8idmjp06pa4dw5qqqkv97",
+  "version": "12.5.4",
+  "repo_hash": "08jngv83pvxjyw3iaqzv484v4mwgwnzg9am3iqfidl9ihbm7i4h2",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v12.5.3-ee",
+  "rev": "v12.5.4-ee",
   "passthru": {
     "GITALY_SERVER_VERSION": "1.72.1",
     "GITLAB_PAGES_VERSION": "1.12.0",
diff --git a/pkgs/applications/video/key-mon/default.nix b/pkgs/applications/video/key-mon/default.nix
deleted file mode 100644
index 7dc350da647..00000000000
--- a/pkgs/applications/video/key-mon/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, gnome2, librsvg, pythonPackages }:
-
-pythonPackages.buildPythonApplication rec {
-  pname = "key-mon";
-  version = "1.17";
-  namePrefix = "";
-
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/key-mon/${pname}-${version}.tar.gz";
-    sha256 = "1liz0dxcqmchbnl1xhlxkqm3gh76wz9jxdxn9pa7dy77fnrjkl5q";
-  };
-
-  propagatedBuildInputs =
-    [ gnome2.python_rsvg librsvg pythonPackages.pygtk pythonPackages.xlib ];
-
-  doCheck = false;
-
-  preFixup = ''
-      export makeWrapperArgs="--set GDK_PIXBUF_MODULE_FILE $GDK_PIXBUF_MODULE_FILE"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://code.google.com/archive/p/key-mon;
-    description = "Utility to show live keyboard and mouse status for teaching and screencasts";
-    license = licenses.asl20;
-    maintainers = [ maintainers.goibhniu ];
-  };
-}
diff --git a/pkgs/applications/video/recordmydesktop/default.nix b/pkgs/applications/video/recordmydesktop/default.nix
deleted file mode 100644
index e4d6e14d098..00000000000
--- a/pkgs/applications/video/recordmydesktop/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchsvn, autoreconfHook, zlib, popt, alsaLib, libvorbis, libtheora
-, libICE, libSM, libX11, libXext, libXfixes, libXdamage }:
-
-stdenv.mkDerivation rec {
-  pname = "recordmydesktop";
-  version = "0.3.8.1-svn${rev}";
-  rev = "602";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/recordmydesktop;
-    inherit rev;
-    sha256 = "1avirkc4ymrd575m616pi6wpgq1i0r5sb3qahps1g18sjpxks0lf";
-  };
-
-  nativeBuildInputs = [ autoreconfHook ];
-
-  buildInputs = [
-    zlib popt alsaLib libICE libSM libX11 libXext
-    libXfixes libXdamage libvorbis libtheora
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Desktop session recorder";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/applications/video/recordmydesktop/gtk.nix b/pkgs/applications/video/recordmydesktop/gtk.nix
deleted file mode 100644
index cf02825501f..00000000000
--- a/pkgs/applications/video/recordmydesktop/gtk.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, lib, fetchsvn, recordmydesktop, autoreconfHook, pkgconfig
-, pythonPackages, jack2, xwininfo }:
-
-let
-  binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ];
-
-in stdenv.mkDerivation {
-  pname = "gtk-recordmydesktop";
-  version = "0.3.8-svn${recordmydesktop.rev}";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/gtk-recordmydesktop;
-    inherit (recordmydesktop) rev;
-    sha256 = "010aykgjfxhyiixq9a9fg3p1a1ixz59m1vkn16hpy0lybgf4dsby";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  buildInputs = with pythonPackages; [
-    python pygtk wrapPython
-  ];
-
-  pythonPath = with pythonPackages; [ pygtk ];
-
-  postInstall = ''
-    makeWrapperArgs="--prefix PATH : ${binPath}"
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "GTK frontend for recordmydesktop";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/applications/video/recordmydesktop/qt.nix b/pkgs/applications/video/recordmydesktop/qt.nix
deleted file mode 100644
index 573a18f62ce..00000000000
--- a/pkgs/applications/video/recordmydesktop/qt.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, lib, fetchsvn, recordmydesktop, autoreconfHook, pkgconfig
-, glib, pythonPackages, qt4, jack2, xwininfo }:
-
-let
-  binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ];
-
-in stdenv.mkDerivation {
-  pname = "qt-recordmydesktop";
-  version = "0.3.8-svn${recordmydesktop.rev}";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/qt-recordmydesktop;
-    inherit (recordmydesktop) rev;
-    sha256 = "0vz7amrmz317sbx2cv2186d0r57as4l26xa9rpim5gbvzk20caqc";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  buildInputs = [ glib qt4 ] ++ (with pythonPackages; [
-    python wrapPython pyqt4
-  ]);
-
-  pythonPath = with pythonPackages; [ pyqt4 ];
-
-  postInstall = ''
-    makeWrapperArgs="--prefix PATH : ${binPath}"
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "GTK frontend for recordmydesktop";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/applications/virtualization/conmon/default.nix b/pkgs/applications/virtualization/conmon/default.nix
index 50ddaedb284..a2afd938d66 100644
--- a/pkgs/applications/virtualization/conmon/default.nix
+++ b/pkgs/applications/virtualization/conmon/default.nix
@@ -9,13 +9,13 @@
 stdenv.mkDerivation rec {
   project = "conmon";
   name = "${project}-${version}";
-  version = "2.0.4";
+  version = "2.0.7";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = project;
     rev = "v${version}";
-    sha256 = "1qma778h5fdvyf53ck8qr606aaf4f8msddb7pv5pgn1bywpcxs38";
+    sha256 = "1sfh94a1if907kky0wlqz188v6kfdl6v1i34pikpxjllngxzyfr9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 7dddc3b533b..9376adf8d6a 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "0.8";
+  version = "0.10.6";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    sha256 = "1anvlgw373031w0pp0b28l10yrnyhbj192n60bbbjahw487dk2fi";
+    sha256 = "0v1hrlpnln0c976fb0k2ig4jv11qbyzf95z0wy92fd8r8in16rc1";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 13e70c2561d..6ecdf1d29bc 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -2,7 +2,7 @@
 , libX11, xorgproto, libXext, libXcursor, libXmu, libIDL, SDL, libcap, libGL
 , libpng, glib, lvm2, libXrandr, libXinerama, libopus, qtbase, qtx11extras
 , qttools, qtsvg, qtwayland, pkgconfig, which, docbook_xsl, docbook_xml_dtd_43
-, alsaLib, curl, libvpx, nettools, dbus, substituteAll
+, alsaLib, curl, libvpx, nettools, dbus, substituteAll, fetchpatch
 , makeself, perl
 , javaBindings ? true, jdk ? null # Almost doesn't affect closure size
 , pythonBindings ? false, python3 ? null
@@ -21,8 +21,8 @@ let
   buildType = "release";
   # Remember to change the extpackRev and version in extpack.nix and
   # guest-additions/default.nix as well.
-  main = "1hxbvr78b0fddcn7npz72ki89lpmbgqj4b5qvxm1wik7v0d8v1y8";
-  version = "6.0.12";
+  main = "036x2mvkk22lbg72cz6pik9z538j1ag6mmwjjmfikgrq1i7v24jy";
+  version = "6.0.14";
 in stdenv.mkDerivation {
   pname = "virtualbox";
   inherit version;
@@ -92,9 +92,26 @@ in stdenv.mkDerivation {
     })
   ++ [
     ./qtx11extras.patch
-    # Kernel 5.3 fix, should be fixed with VirtualBox 6.0.14
-    # https://www.virtualbox.org/ticket/18911
-    ./kernel-5.3-fix.patch
+    # Kernel 5.4 fix, should be fixed with next upstream release
+    # https://www.virtualbox.org/ticket/18945
+    (fetchpatch {
+      name = "kernel-5.4-fix-1.patch";
+      url = "https://www.virtualbox.org/changeset/81586/vbox?format=diff";
+      sha256 = "0zbkc9v65pkdmjik53x29g39qyf7narkhpwpx5n1n1bfqnhf0k1r";
+      stripLen = 1;
+    })
+    (fetchpatch {
+      name = "kernel-5.4-fix-2.patch";
+      url = "https://www.virtualbox.org/changeset/81587/vbox?format=diff";
+      sha256 = "1j98cqxj8qlqwaqr4mvwwbkmchw8jmygjwgzz82gix7fj76j2y9c";
+      stripLen = 1;
+    })
+    (fetchpatch {
+      name = "kernel-5.4-fix-3.patch";
+      url = "https://www.virtualbox.org/changeset/81649/vbox?format=diff";
+      sha256 = "1d6p5k5dgzmjglqfkbcbvpn1x3wxila30q4gcbb7pxwfgclaw2hk";
+      stripLen = 1;
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/virtualization/virtualbox/extpack.nix b/pkgs/applications/virtualization/virtualbox/extpack.nix
index 9357a641de2..c935a40c540 100644
--- a/pkgs/applications/virtualization/virtualbox/extpack.nix
+++ b/pkgs/applications/virtualization/virtualbox/extpack.nix
@@ -2,7 +2,7 @@
 
 with lib;
 
-let version = "6.0.12";
+let version = "6.0.14";
 in
 fetchurl rec {
   name = "Oracle_VM_VirtualBox_Extension_Pack-${version}.vbox-extpack";
@@ -11,7 +11,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 = "27a0956940654b0accf4d79692078bd496d9f062e4ed3da69e5421cba8d1e444";
+    let value = "c8a5cc980c9c94cdac3d94e23cf159c2433aae76b416dbfb5b1a918758f21e63";
     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 af247af0051..690b72f3eeb 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
-, zlib, xorg, dbus, virtualbox, dos2unix }:
+, zlib, xorg, dbus, virtualbox, dos2unix, fetchpatch, findutils, patchutils }:
 
 let
   version = virtualbox.version;
@@ -21,12 +21,12 @@ let
     { name = "libXfixes.so"; pkg = xorg.libXfixes; }
   ];
 
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   name = "VirtualBox-GuestAdditions-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "0hflsbx70dli34mpx94vd33p55ycfs3ahzwcdzqxdiwiiskjpykq";
+    sha256 = "1c9ysx0fhxxginmp607b4fk74dvlr32n6w52gawm06prf4xg90nb";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
@@ -43,13 +43,67 @@ in stdenv.mkDerivation {
   prePatch = ''
     substituteInPlace src/vboxguest-${version}/vboxvideo/vbox_ttm.c \
       --replace "<ttm/" "<drm/ttm/"
-    ${dos2unix}/bin/dos2unix src/vboxguest-${version}/vboxguest/r0drv/linux/mp-r0drv-linux.c
+    
+    echo ${lib.escapeShellArgs patches} | \
+      ${findutils}/bin/xargs -n1 ${patchutils}/bin/lsdiff --strip=1 --addprefix=src/vboxguest-${version}/ | \
+      ${findutils}/bin/xargs ${dos2unix}/bin/dos2unix
   '';
 
   patchFlags = [ "-p1" "-d" "src/vboxguest-${version}" ];
-  # Kernel 5.3 fix, should be fixed with VirtualBox 6.0.14
-  # https://www.virtualbox.org/ticket/18911
-  patches = [ ./kernel-5.3-fix.patch ];
+  # Kernel 5.4 fix, should be fixed with next upstream release
+  # https://www.virtualbox.org/ticket/18945
+  patches = lib.concatLists (lib.mapAttrsToList (changeset: args:
+    map (arg:
+      fetchpatch ({
+        name = "kernel-5.4-fix-${changeset}.patch";
+        url = "https://www.virtualbox.org/changeset/${changeset}/vbox?format=diff";
+      } // arg)) args) {
+        "81586" = [{
+          sha256 = "126z67x6vy65w6jlqbh4z4f1cffxnycwb69vns0154bawbsbxsiw";
+          stripLen = 5;
+          extraPrefix = "vboxguest/";
+        }];
+        "81587" = [
+          {
+            sha256 = "0simzswnl0wvnc2i9gixz99rfc7lxk1nrnskksrlrrl9hqnh0lva";
+            stripLen = 5;
+            extraPrefix = "vboxsf/";
+            includes = [ "*/the-linux-kernel.h" ];
+          }
+          {
+            sha256 = "0a8r9h3x3lcjq2fykgqhdaykp00rnnkbxz8xnxg847zgvca15y02";
+            stripLen = 5;
+            extraPrefix = "vboxguest/";
+            includes = [ "*/the-linux-kernel.h" ];
+          }
+        ];
+        "81649" = [
+          {
+            sha256 = "1p1skxlvqigydxr4sk7w51lpk7nxg0d9lppq39sdnfmgi1z0h0sc";
+            stripLen = 2;
+            extraPrefix = "vboxguest/";
+            includes = [ "*/cdefs.h" ];
+          }
+          {
+            sha256 = "1j060ggdnndyjdhkfvs15306gl7g932sim9xjmx2mnx8gjdmg37f";
+            stripLen = 2;
+            extraPrefix = "vboxsf/";
+            includes = [ "*/cdefs.h" ];
+          }
+          {
+            sha256 = "060h3a5k2yklbvlg0hyg4x87xrg37cvv3rjb67xizlwvlyy6ykkg";
+            stripLen = 5;
+            extraPrefix = "vboxguest/";
+            includes = [ "*/thread2-r0drv-linux.c" ];
+          }
+          {
+            sha256 = "0cxlkf7cy751gl8dgzr7vkims1kmx5pgzsrxyk8w18zyp5nk9glw";
+            stripLen = 7;
+            extraPrefix = "vboxvideo/";
+            includes = [ "*/vbox_*.c" ];
+          }
+        ];
+      });
 
   unpackPhase = ''
     ${if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then ''
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/kernel-5.3-fix.patch b/pkgs/applications/virtualization/virtualbox/guest-additions/kernel-5.3-fix.patch
deleted file mode 100644
index 0bdd9ec1056..00000000000
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/kernel-5.3-fix.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- a/vboxguest/r0drv/linux/mp-r0drv-linux.c
-+++ a/vboxguest/r0drv/linux/mp-r0drv-linux.c
-@@ -283,12 +283,15 @@
-     if (RTCpuSetCount(&OnlineSet) > 1)
-     {
-         /* Fire the function on all other CPUs without waiting for completion. */
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
-+        smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
-+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-         int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
-+        Assert(!rc); NOREF(rc);
- # else
-         int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* retry */, 0 /* wait */);
--# endif
-         Assert(!rc); NOREF(rc);
-+# endif
-     }
- #endif
-
-@@ -326,7 +329,6 @@
- {
- #ifdef CONFIG_SMP
-     IPRT_LINUX_SAVE_EFL_AC();
--    int rc;
-     RTMPARGS Args;
-
-     RTTHREADPREEMPTSTATE PreemptState = RTTHREADPREEMPTSTATE_INITIALIZER;
-@@ -337,14 +339,17 @@
-     Args.cHits = 0;
-
-     RTThreadPreemptDisable(&PreemptState);
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
--    rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
-+    smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+    int rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+    Assert(rc == 0); NOREF(rc);
- # else /* older kernels */
--    rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
-+    int rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
-+    Assert(rc == 0); NOREF(rc);
- # endif /* older kernels */
-     RTThreadPreemptRestore(&PreemptState);
-
--    Assert(rc == 0); NOREF(rc);
-     IPRT_LINUX_RESTORE_EFL_AC();
- #else
-     RT_NOREF(pfnWorker, pvUser1, pvUser2);
diff --git a/pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch b/pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch
deleted file mode 100644
index ba9c7c941db..00000000000
--- a/pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
-+++ b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
-@@ -2123,7 +2123,9 @@
- #endif
-     if (in_dev != NULL)
-     {
--        for_ifa(in_dev) {
-+        struct in_ifaddr *ifa;
-+
-+        for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) {
-             if (VBOX_IPV4_IS_LOOPBACK(ifa->ifa_address))
-                 return NOTIFY_OK;
-
-@@ -2137,7 +2139,7 @@
-
-             pThis->pSwitchPort->pfnNotifyHostAddress(pThis->pSwitchPort,
-                 /* :fAdded */ true, kIntNetAddrType_IPv4, &ifa->ifa_address);
--        } endfor_ifa(in_dev);
-+        }
-     }
-
-     /*
---- a/src/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c
-+++ a/src/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c
-@@ -283,12 +283,15 @@
-     if (RTCpuSetCount(&OnlineSet) > 1)
-     {
-         /* Fire the function on all other CPUs without waiting for completion. */
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
-+        smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
-+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-         int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
-+        Assert(!rc); NOREF(rc);
- # else
-         int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* retry */, 0 /* wait */);
--# endif
-         Assert(!rc); NOREF(rc);
-+# endif
-     }
- #endif
-
-@@ -326,7 +329,6 @@
- {
- #ifdef CONFIG_SMP
-     IPRT_LINUX_SAVE_EFL_AC();
--    int rc;
-     RTMPARGS Args;
-
-     RTTHREADPREEMPTSTATE PreemptState = RTTHREADPREEMPTSTATE_INITIALIZER;
-@@ -337,14 +339,17 @@
-     Args.cHits = 0;
-
-     RTThreadPreemptDisable(&PreemptState);
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
--    rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
-+    smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+    int rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+    Assert(rc == 0); NOREF(rc);
- # else /* older kernels */
--    rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
-+    int rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
-+    Assert(rc == 0); NOREF(rc);
- # endif /* older kernels */
-     RTThreadPreemptRestore(&PreemptState);
-
--    Assert(rc == 0); NOREF(rc);
-     IPRT_LINUX_RESTORE_EFL_AC();
- #else
-     RT_NOREF(pfnWorker, pvUser1, pvUser2);
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index c8731408951..80750ab61be 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "15083nagd0kzpkay5jxcq5i16yvybd4sh03g9x4q9xq4cy0qwj11";
+    sha256 = "1banaiqj4gdsg886kb7l1fxhmf33vxnwwha46397s7gwfxkvxz4n";
   };
 
   cargoSha256 = "1cbx2jll0bj547dvwzjprzidndbqn1c4c6hmbfgjgdkxmmrpb0r1";
diff --git a/pkgs/build-support/kernel/modules-closure.sh b/pkgs/build-support/kernel/modules-closure.sh
index 5658094872c..220f3b00a77 100644
--- a/pkgs/build-support/kernel/modules-closure.sh
+++ b/pkgs/build-support/kernel/modules-closure.sh
@@ -56,4 +56,12 @@ for module in $closure; do
     done
 done
 
+# copy module ordering hints for depmod
+cp $kernel/lib/modules/"$version"/modules.order $out/lib/modules/"$version"/.
+cp $kernel/lib/modules/"$version"/modules.builtin $out/lib/modules/"$version"/.
+
 depmod -b $out -a $version
+
+# remove original hints from final derivation
+rm $out/lib/modules/"$version"/modules.order
+rm $out/lib/modules/"$version"/modules.builtin
diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix
index 2cd4f1af022..b90c6490e4a 100644
--- a/pkgs/build-support/writers/default.nix
+++ b/pkgs/build-support/writers/default.nix
@@ -148,6 +148,7 @@ rec {
         cp $contentPath tmp.hs
         ${ghc.withPackages (_: libraries )}/bin/ghc tmp.hs
         mv tmp $out
+        ${pkgs.binutils-unwrapped}/bin/strip --strip-unneeded "$out"
       '';
     } name;
 
diff --git a/pkgs/data/themes/sweet/default.nix b/pkgs/data/themes/sweet/default.nix
new file mode 100644
index 00000000000..9d3603cbf52
--- /dev/null
+++ b/pkgs/data/themes/sweet/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  pname = "sweet";
+  version = "1.10.5";
+
+  srcs = [
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Ambar-Blue.zip";
+      sha256 = "11040hx8ci4vbnyaj63zj924v0ln7rjm9a28mcqdax60h3dp12lj";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Ambar.zip";
+      sha256 = "0lvnjmirpwdav8q0bfbhybwkr2h6dilc7lhhj18xd2k57xadjmxr";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Dark.zip";
+      sha256 = "0a7mh1pgvi8w1ahsmvgnmpdawm30lcjqk4zqvg0lqadsd04dn4h1";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-mars.zip";
+      sha256 = "0n2dkl35qrik10wvhvkayyra987p03g56pxhz5kc73cbsl5zd96l";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet.zip";
+      sha256 = "0wwmc3wj2pjg4kimfkvcsimk3s4s7l7k000vxqi8yjlfs70f273c";
+    })
+  ];
+
+  nativeBuildInputs = [ unzip ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/share/themes/
+    cp -a Sweet* $out/share/themes/
+    rm $out/share/themes/*/{LICENSE,README*}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Light and dark colorful Gtk3.20+ theme";
+    homepage = "https://github.com/EliverLara/Sweet";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ fuzen ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/apps/evolution/default.nix b/pkgs/desktops/gnome-3/apps/evolution/default.nix
index 701f894939e..a8c5d93b88d 100644
--- a/pkgs/desktops/gnome-3/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/apps/evolution/default.nix
@@ -43,11 +43,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0hmxz3b9paqlpfjpqn379a8c01z3gb8lz0jgxxpgn6iygzfr4sk5";
+    sha256 = "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
index 6770f3df850..f7f83b56932 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-desktop";
-  version = "3.34.1";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0nnwc837k244gjsmx8wff5sfvm8xnhm8xr39qxk73lnscrbfpny1";
+    sha256 = "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index e8d5b7dbffd..e2d14ffcd26 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -15,11 +15,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "07kd7wdk12nba33jfr44xqdlryiy86wgvsyjs8cw55y8p5cnbn6c";
+    sha256 = "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh";
   };
 
   LANG = "en_US.UTF-8";
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix
index 63136d95f81..61024788f15 100644
--- a/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -42,13 +42,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "3.34.1";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "13kmmgg2zizr0522clwc2zn3bkwbir503b1wjiiixf5xi37jc65s";
+    sha256 = "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd";
   };
 
   mesonFlags = [
@@ -105,17 +105,6 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
-    # Fixes from gnome-3-34 branch 2019-11-29.
-    (fetchpatch {
-      name = "gnome-3-34-2019-11-29.patch";
-      url = "https://github.com/GNOME/mutter/compare/3.34.1...c0e76186da5b7baf7c8804c0ffa80232a5a6bf98.patch";
-      excludes = [
-        ".gitlab-ci.yml"
-        ".gitlab-ci/checkout-gnome-shell.sh"
-      ];
-      sha256 = "1qmxic83bd3dvg6isipqy8jaaksd7p5s3cb7h44zinq738n8d0fb";
-    })
-
     # Fix build with libglvnd provided headers
     (fetchpatch {
       url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch";
diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix
index f19114a5442..ecb9ea2e377 100644
--- a/pkgs/desktops/mate/atril/default.nix
+++ b/pkgs/desktops/mate/atril/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atril";
-  version = "1.22.2";
+  version = "1.22.3";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "11l78zkxszvsjr74cmk1wff5ycqrzd89y6k36rydv2rb5af2nsfw";
+    sha256 = "06hmyw7fwdrdyl3n79b8qxlrwbzf240n82arzmlg62q9zxzdc0is";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index 88dd9e79bc8..03461165633 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "marco";
-  version = "1.22.3";
+  version = "1.22.4";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0faiqj9i1mqqy1v4jdcwy8nsbkkvs0cwd2dqypgscmcqpbq7jf8a";
+    sha256 = "0z8q4nwm43imbnbxz348ylgzfl25sknb19kml57d6z6flxws19k3";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/chez-modules/chez-matchable/default.nix b/pkgs/development/chez-modules/chez-matchable/default.nix
new file mode 100644
index 00000000000..2b3de233f9b
--- /dev/null
+++ b/pkgs/development/chez-modules/chez-matchable/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, chez }:
+
+stdenv.mkDerivation rec {
+  pname = "chez-matchable";
+  version = "20160306";
+
+  src = fetchFromGitHub {
+    owner = "fedeinthemix";
+    repo = "chez-matchable";
+    rev = "v${version}";
+    sha256 = "02qn7x348p23z1x5lwhkyj7i8z6mgwpzpnwr8dyina0yzsdkr71s";
+  };
+
+  buildInputs = [ chez ];
+
+  buildPhase = ''
+    make PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  installPhase = ''
+    make install PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "This is a Library for ChezScheme providing the protable hygenic pattern matcher by Alex Shinn";
+    homepage = https://github.com/fedeinthemix/chez-matchable/;
+    maintainers = [ stdenv.lib.maintainers.jitwit ];
+    license = stdenv.lib.licenses.publicDomain;
+  };
+
+}
diff --git a/pkgs/development/compilers/chicken/4/eggDerivation.nix b/pkgs/development/compilers/chicken/4/eggDerivation.nix
index 16f9c413d4c..cd340c22174 100644
--- a/pkgs/development/compilers/chicken/4/eggDerivation.nix
+++ b/pkgs/development/compilers/chicken/4/eggDerivation.nix
@@ -8,7 +8,7 @@
 let
   libPath = "${chicken}/var/lib/chicken/${toString chicken.binaryVersion}/";
   overrides = import ./overrides.nix;
-  baseName = lib.getName name;
+  baseName = stdenv.lib.getName name;
   override = if builtins.hasAttr baseName overrides
    then
      builtins.getAttr baseName overrides
diff --git a/pkgs/development/compilers/chicken/4/eggs.nix b/pkgs/development/compilers/chicken/4/eggs.nix
index 1f786f127c9..6e6f104f8a0 100644
--- a/pkgs/development/compilers/chicken/4/eggs.nix
+++ b/pkgs/development/compilers/chicken/4/eggs.nix
@@ -1,4 +1,4 @@
-{ pkgs }:
+{ pkgs, stdenv }:
 rec {
   inherit (pkgs) eggDerivation fetchegg;
 
@@ -16,35 +16,6 @@ rec {
     ];
   };
 
-  blob-utils = eggDerivation {
-    name = "blob-utils-1.0.3";
-
-    src = fetchegg {
-      name = "blob-utils";
-      version = "1.0.3";
-      sha256 = "17vdn02fnxnjx5ixgqimln93lqvzyq4y9w02fw7xnbdcjzqm0xml";
-    };
-
-    buildInputs = [
-      setup-helper
-      string-utils
-    ];
-  };
-
-  check-errors = eggDerivation {
-    name = "check-errors-1.13.0";
-
-    src = fetchegg {
-      name = "check-errors";
-      version = "1.13.0";
-      sha256 = "12a0sn82n98jybh72zb39fdddmr5k4785xglxb16750fhy8rmjwi";
-    };
-
-    buildInputs = [
-      setup-helper
-    ];
-  };
-
   defstruct = eggDerivation {
     name = "defstruct-1.6";
 
@@ -60,31 +31,29 @@ rec {
   };
 
   http-client = eggDerivation {
-    name = "http-client-0.7.1";
+    name = "http-client-0.18";
 
     src = fetchegg {
       name = "http-client";
-      version = "0.7.1";
-      sha256 = "1s03zgmb7kb99ld0f2ylqgicrab9qgza53fkgsqvg7bh5njmzhxr";
+      version = "0.18";
+      sha256 = "1b9x66kfcglld4xhm06vba00gw37vr07c859kj7lmwnk9nwhcplg";
     };
 
     buildInputs = [
       intarweb
       uri-common
-      message-digest
-      md5
-      string-utils
+      simple-md5
       sendfile
     ];
   };
 
   intarweb = eggDerivation {
-    name = "intarweb-1.3";
+    name = "intarweb-1.7";
 
     src = fetchegg {
       name = "intarweb";
-      version = "1.3";
-      sha256 = "0izlby78c25py29bdcbc0vapb6h7xgchqrzi6i51d0rb3mnwy88h";
+      version = "1.7";
+      sha256 = "1arjgn5g4jfdzj3nlrhxk235qwf6k6jxr14yhnncnfbgdb820xp8";
     };
 
     buildInputs = [
@@ -94,92 +63,13 @@ rec {
     ];
   };
 
-  lookup-table = eggDerivation {
-    name = "lookup-table-1.13.5";
-
-    src = fetchegg {
-      name = "lookup-table";
-      version = "1.13.5";
-      sha256 = "1nzly6rhynawlvzlyilk8z8cxz57cf9n5iv20glkhh28pz2izmrb";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
-      miscmacros
-      record-variants
-      synch
-    ];
-  };
-
   matchable = eggDerivation {
-    name = "matchable-3.3";
+    name = "matchable-3.7";
 
     src = fetchegg {
       name = "matchable";
-      version = "3.3";
-      sha256 = "07y3lpzgm4djiwi9y2adc796f9kwkmdr28fkfkw65syahdax8990";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  md5 = eggDerivation {
-    name = "md5-3.1.0";
-
-    src = fetchegg {
-      name = "md5";
-      version = "3.1.0";
-      sha256 = "0bka43nx8x9b0b079qpvml2fl20km19ny0qjmhwzlh6rwmzazj2a";
-    };
-
-    buildInputs = [
-      message-digest
-    ];
-  };
-
-  message-digest = eggDerivation {
-    name = "message-digest-3.1.0";
-
-    src = fetchegg {
-      name = "message-digest";
-      version = "3.1.0";
-      sha256 = "1w6bax19dwgih78vcimiws0rja7qsd8hmbm6qqg2hf9cw3vab21s";
-    };
-
-    buildInputs = [
-      setup-helper
-      miscmacros
-      check-errors
-      variable-item
-      blob-utils
-      string-utils
-    ];
-  };
-
-  miscmacros = eggDerivation {
-    name = "miscmacros-2.96";
-
-    src = fetchegg {
-      name = "miscmacros";
-      version = "2.96";
-      sha256 = "1ajdgjrni10i2hmhcp4rawnxajjxry3kmq1krdmah4sf0kjrgajc";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  record-variants = eggDerivation {
-    name = "record-variants-0.5.1";
-
-    src = fetchegg {
-      name = "record-variants";
-      version = "0.5.1";
-      sha256 = "15wgysxkm8m4hx9nhhw9akchzipdnqc7yj3qd3zn0z7sxg4sld1h";
+      version = "3.7";
+      sha256 = "1vc9rpb44fhn0n91hzglin986dw9zj87fikvfrd7j308z22a41yh";
     };
 
     buildInputs = [
@@ -188,12 +78,12 @@ rec {
   };
 
   sendfile = eggDerivation {
-    name = "sendfile-1.7.29";
+    name = "sendfile-1.8.3";
 
     src = fetchegg {
       name = "sendfile";
-      version = "1.7.29";
-      sha256 = "1dc02cbkx5kixhbqjy26g6gs680vy7krc9qis1p1v4aa0b2lgj7k";
+      version = "1.8.3";
+      sha256 = "036x4xdndx7qly94afnag5b9idd1yymdm8d832w2cy054y7lxqsi";
     };
 
     buildInputs = [
@@ -201,13 +91,13 @@ rec {
     ];
   };
 
-  setup-helper = eggDerivation {
-    name = "setup-helper-1.5.4";
+  simple-md5 = eggDerivation {
+    name = "simple-md5-0.0.1";
 
     src = fetchegg {
-      name = "setup-helper";
-      version = "1.5.4";
-      sha256 = "1k644y0md2isdcvazqfm4nyc8rh3dby6b0j3r4na4w8ryspqp6gj";
+      name = "simple-md5";
+      version = "0.0.1";
+      sha256 = "1h0b51p9wl1dl3pzs39hdq3hk2qnjgn8n750bgmh0651g4lzmq3i";
     };
 
     buildInputs = [
@@ -215,38 +105,6 @@ rec {
     ];
   };
 
-  string-utils = eggDerivation {
-    name = "string-utils-1.2.4";
-
-    src = fetchegg {
-      name = "string-utils";
-      version = "1.2.4";
-      sha256 = "07alvghg0dahilrm4jg44bndl0x69sv1zbna9l20cbdvi35i0jp1";
-    };
-
-    buildInputs = [
-      setup-helper
-      miscmacros
-      lookup-table
-      check-errors
-    ];
-  };
-
-  synch = eggDerivation {
-    name = "synch-2.1.2";
-
-    src = fetchegg {
-      name = "synch";
-      version = "2.1.2";
-      sha256 = "1m9mnbq0m5jsxmd1a3rqpwpxj0l1b7vn1fknvxycc047pmlcyl00";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
-    ];
-  };
-
   uri-common = eggDerivation {
     name = "uri-common-1.4";
 
@@ -264,32 +122,16 @@ rec {
   };
 
   uri-generic = eggDerivation {
-    name = "uri-generic-2.41";
+    name = "uri-generic-2.46";
 
     src = fetchegg {
       name = "uri-generic";
-      version = "2.41";
-      sha256 = "1r5jbzjllbnmhm5n0m3fcx0g6dc2c2jzp1dcndkfmxz0cl99zxac";
+      version = "2.46";
+      sha256 = "10ivf4xlmr6jcm00l2phq1y73hjv6g3qgr38ycc8rw56wv6sbm4g";
     };
 
     buildInputs = [
       matchable
-      defstruct
-    ];
-  };
-
-  variable-item = eggDerivation {
-    name = "variable-item-1.3.1";
-
-    src = fetchegg {
-      name = "variable-item";
-      version = "1.3.1";
-      sha256 = "19b3mhb8kr892sz9yyzq79l0vv28dgilw9cf415kj6aq16yp4d5n";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
     ];
   };
 }
diff --git a/pkgs/development/compilers/chicken/4/setup-hook.sh b/pkgs/development/compilers/chicken/4/setup-hook.sh
index b0d9b53b537..661dc08c090 100644
--- a/pkgs/development/compilers/chicken/4/setup-hook.sh
+++ b/pkgs/development/compilers/chicken/4/setup-hook.sh
@@ -1,7 +1,6 @@
 addChickenRepositoryPath() {
     addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_EXTRA "$1/lib/chicken/8/"
-    # addToSearchPathWithCustomDelimiter \; CHICKEN_INCLUDE_PATH "$1/share/"
-    export CHICKEN_INCLUDE_PATH="$1/share;$CHICKEN_INCLUDE_PATH"
+    export CHICKEN_INCLUDE_PATH="$1/share${CHICKEN_INCLUDE_PATH:+;$CHICKEN_INCLUDE_PATH}"
 }
 
 addEnvHooks "$targetOffset" addChickenRepositoryPath
diff --git a/pkgs/development/compilers/chicken/5/eggDerivation.nix b/pkgs/development/compilers/chicken/5/eggDerivation.nix
index 3dc1c4afce9..8d4a62776d0 100644
--- a/pkgs/development/compilers/chicken/5/eggDerivation.nix
+++ b/pkgs/development/compilers/chicken/5/eggDerivation.nix
@@ -7,7 +7,7 @@
 
 let
   overrides = import ./overrides.nix;
-  baseName = (builtins.parseDrvName name).name;
+  baseName = stdenv.lib.getName name;
   override = if builtins.hasAttr baseName overrides
    then
      builtins.getAttr baseName overrides
diff --git a/pkgs/development/compilers/chicken/5/eggs.nix b/pkgs/development/compilers/chicken/5/eggs.nix
index a8e3ee5976e..a35b1f05891 100644
--- a/pkgs/development/compilers/chicken/5/eggs.nix
+++ b/pkgs/development/compilers/chicken/5/eggs.nix
@@ -47,12 +47,12 @@ rec {
   };
 
   srfi-13 = eggDerivation {
-    name = "srfi-13-0.2.1";
+    name = "srfi-13-0.3";
 
     src = fetchegg {
       name = "srfi-13";
-      version = "0.2.1";
-      sha256 = "0204i7fhc4dy0l89lbi2lv9cjndrvwyrk68z3wy7x445jb4ky1gq";
+      version = "0.3";
+      sha256 = "0yaw9i6zhpxl1794pirh168clprjgmsb0xlr96drirjzsslgm3zp";
     };
 
     buildInputs = [
diff --git a/pkgs/development/compilers/osl/default.nix b/pkgs/development/compilers/osl/default.nix
index 26ef76382a3..86a13a776ce 100644
--- a/pkgs/development/compilers/osl/default.nix
+++ b/pkgs/development/compilers/osl/default.nix
@@ -8,13 +8,13 @@ in clangStdenv.mkDerivation rec {
   # In theory this could use GCC + Clang rather than just Clang,
   # but https://github.com/NixOS/nixpkgs/issues/29877 stops this
   name = "openshadinglanguage-${version}";
-  version = "1.10.7";
+  version = "1.10.8";
 
   src = fetchFromGitHub {
     owner = "imageworks";
     repo = "OpenShadingLanguage";
-    rev = "Release-1.10.7";
-    sha256 = "15grach34grp8x65sq8xzs2s6nfzjhn4blpfnaicw46jdi4c2w59";
+    rev = "Release-1.10.8";
+    sha256 = "1vfdbs1yprr22nx64ff89jcqabfw0md8drifpbzqn2v6ipc8gz6a";
   };
 
   cmakeFlags = [ "-DUSE_BOOST_WAVE=ON" "-DENABLERTTI=ON" ];
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 3c11205de73..90030c0c8d1 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -394,6 +394,11 @@ self: super: {
   Random123 = dontCheck super.Random123;
   systemd = dontCheck super.systemd;
 
+  # use the correct version of network
+  systemd_2_2_0 = dontCheck (super.systemd_2_2_0.override {
+    network = self.network_3_1_1_1;
+  });
+
   # https://github.com/eli-frey/cmdtheline/issues/28
   cmdtheline = dontCheck super.cmdtheline;
 
@@ -1314,4 +1319,12 @@ self: super: {
   # https://github.com/kazu-yamamoto/dns/issues/150
   dns = dontCheck super.dns;
 
+  # needs newer version of the systemd package
+  spacecookie = super.spacecookie.override { systemd = self.systemd_2_2_0; };
+
+  # ghcide needs the latest versions of haskell-lsp.
+  ghcide = super.ghcide.override { haskell-lsp = self.haskell-lsp_0_18_0_0; lsp-test = self.lsp-test_0_8_2_0; };
+  haskell-lsp_0_18_0_0 = super.haskell-lsp_0_18_0_0.override { haskell-lsp-types = self.haskell-lsp-types_0_18_0_0; };
+  lsp-test_0_8_2_0 = (dontCheck super.lsp-test_0_8_2_0).override { haskell-lsp = self.haskell-lsp_0_18_0_0; };
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index 6f7b3a30ab1..b785c531479 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -72,11 +72,13 @@ self: super: {
   # use latest version to fix the build
   brick = self.brick_0_50_1;
   dbus = self.dbus_1_2_11;
-  doctemplates = self.doctemplates_0_7_2;
+  doctemplates = self.doctemplates_0_8;
   exact-pi = doJailbreak super.exact-pi;
   generics-sop = self.generics-sop_0_5_0_0;
   hackage-db = self.hackage-db_2_1_0;
   haddock-library = self.haddock-library_1_8_0;
+  haskell-src-meta = self.haskell-src-meta_0_8_5;
+  haskell-src-meta_0_8_5 = dontCheck super.haskell-src-meta_0_8_5;
   HaTeX = self.HaTeX_3_22_0_0;
   HsYAML = self.HsYAML_0_2_1_0;
   json-autotype = doJailbreak super.json-autotype;
@@ -89,7 +91,7 @@ self: super: {
   microlens-th = self.microlens-th_0_4_3_2;
   network = self.network_3_1_1_1;
   optparse-applicative = self.optparse-applicative_0_15_1_0;
-  pandoc = self.pandoc_2_8_1;
+  pandoc = self.pandoc_2_9;
   pandoc-types = self.pandoc-types_1_20;
   prettyprinter = self.prettyprinter_1_5_1;
   primitive = dontCheck super.primitive_0_7_0_0;  # evaluating the test suite gives an infinite recursion
@@ -121,10 +123,6 @@ self: super: {
     sha256 = "01b2gnsq0x4fd9na8zpk6pajym55mbz64hgzawlwxdw0y6681kr5";
   });
   foundation = dontCheck super.foundation;
-  haskell-src-meta = appendPatch (dontCheck (doJailbreak super.haskell-src-meta)) (pkgs.fetchpatch {
-    url = "https://gitlab.haskell.org/ghc/head.hackage/raw/master/patches/haskell-src-meta-0.8.3.patch";
-    sha256 = "1asl932mibr5y057xx8v1a7n3qy87lcnclsfh8pbxq1m3iwjkxy8";
-  });
   vault = dontHaddock super.vault;
 
   # https://github.com/snapframework/snap-core/issues/288
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 48263695f46..0645db14eb0 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -43,7 +43,7 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 14.16
+  # LTS Haskell 14.17
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -176,7 +176,7 @@ default-package-overrides:
   - bencoding ==0.4.5.2
   - between ==0.11.0.0
   - bibtex ==0.1.0.6
-  - bifunctors ==5.5.5
+  - bifunctors ==5.5.6
   - bimap ==0.4.0
   - bimap-server ==0.1.0.1
   - binary-bits ==0.5
@@ -222,7 +222,7 @@ default-package-overrides:
   - boltzmann-samplers ==0.1.1.0
   - Boolean ==0.2.4
   - boolean-like ==0.1.1.0
-  - boolean-normal-forms ==0.0.1
+  - boolean-normal-forms ==0.0.1.1
   - boolsimplifier ==0.1.8
   - boots ==0.0.100
   - bordacount ==0.1.0.0
@@ -267,7 +267,7 @@ default-package-overrides:
   - cabal-doctest ==1.0.8
   - cabal-file-th ==0.2.6
   - cabal-rpm ==1.0.1
-  - cache ==0.1.1.2
+  - cache ==0.1.2.0
   - cacophony ==0.10.1
   - calendar-recycling ==0.0.0.1
   - call-stack ==0.1.0
@@ -326,7 +326,7 @@ default-package-overrides:
   - classy-prelude ==1.5.0
   - classy-prelude-conduit ==1.5.0
   - classy-prelude-yesod ==1.5.0
-  - clay ==0.13.2
+  - clay ==0.13.3
   - clientsession ==0.9.1.2
   - Clipboard ==2.3.2.0
   - clock ==0.8
@@ -355,7 +355,7 @@ default-package-overrides:
   - comfort-array ==0.4
   - comfort-graph ==0.0.3.1
   - commutative ==0.0.2
-  - comonad ==5.0.5
+  - comonad ==5.0.6
   - compact ==0.1.0.1
   - compactmap ==0.1.4.2.1
   - compensated ==0.7.3
@@ -512,7 +512,7 @@ default-package-overrides:
   - dependent-sum-template ==0.0.0.6
   - deque ==0.4.3
   - deriveJsonNoPrefix ==0.1.0.1
-  - deriving-compat ==0.5.7
+  - deriving-compat ==0.5.8
   - derulo ==1.0.7
   - detour-via-sci ==1.0.0
   - dhall ==1.24.0
@@ -684,7 +684,7 @@ default-package-overrides:
   - fixed-vector-hetero ==0.5.0.0
   - flac ==0.2.0
   - flac-picture ==0.1.2
-  - flags-applicative ==0.1.0.1
+  - flags-applicative ==0.1.0.2
   - flat-mcmc ==1.5.0
   - flay ==0.4
   - flexible-defaults ==0.0.3
@@ -707,11 +707,11 @@ default-package-overrides:
   - force-layout ==0.4.0.6
   - foreign-store ==0.2
   - forkable-monad ==0.2.0.3
-  - forma ==1.1.2
+  - forma ==1.1.3
   - format-numbers ==0.1.0.0
   - formatting ==6.3.7
   - foundation ==0.0.25
-  - free ==5.1.2
+  - free ==5.1.3
   - freenect ==1.2.1
   - freer-simple ==1.2.1.1
   - freetype2 ==0.1.2
@@ -770,7 +770,7 @@ default-package-overrides:
   - ghc-compact ==0.1.0.0
   - ghc-core ==0.5.6
   - ghc-exactprint ==0.6.1
-  - ghcid ==0.7.6
+  - ghcid ==0.7.7
   - ghci-hexcalc ==0.1.1.0
   - ghcjs-codemirror ==0.0.0.2
   - ghc-lib ==8.8.0.20190424
@@ -854,7 +854,7 @@ default-package-overrides:
   - HandsomeSoup ==0.4.2
   - hapistrano ==0.3.10.0
   - happy ==1.19.12
-  - hasbolt ==0.1.3.5
+  - hasbolt ==0.1.3.6
   - hashable ==1.2.7.0
   - hashable-time ==0.2.0.2
   - hashids ==1.0.2.4
@@ -875,7 +875,7 @@ default-package-overrides:
   - haskell-src-meta ==0.8.3
   - haskey-btree ==0.3.0.1
   - haskintex ==0.8.0.0
-  - haskoin-core ==0.9.6
+  - haskoin-core ==0.9.7
   - hasql ==1.4.0.1
   - hasql-optparse-applicative ==0.3.0.5
   - hasql-pool ==0.5.1
@@ -895,7 +895,7 @@ default-package-overrides:
   - hedgehog ==1.0.1
   - hedgehog-corpus ==0.1.0
   - hedgehog-fn ==1.0
-  - hedis ==0.12.9
+  - hedis ==0.12.10
   - hedn ==0.2.0.1
   - here ==1.2.13
   - heredoc ==0.2.0.0
@@ -929,7 +929,7 @@ default-package-overrides:
   - hmpfr ==0.4.4
   - hoauth2 ==1.8.9
   - Hoed ==0.5.1
-  - hOpenPGP ==2.8.4
+  - hOpenPGP ==2.8.5
   - hopenpgp-tools ==0.21.3
   - hopfli ==0.2.2.1
   - hosc ==0.17
@@ -1028,7 +1028,7 @@ default-package-overrides:
   - hvect ==0.4.0.0
   - hvega ==0.3.0.1
   - hw-balancedparens ==0.2.0.4
-  - hw-bits ==0.7.0.8
+  - hw-bits ==0.7.1.0
   - hw-conduit ==0.2.0.6
   - hw-conduit-merges ==0.2.0.0
   - hw-diagnostics ==0.0.0.7
@@ -1049,7 +1049,7 @@ default-package-overrides:
   - hw-parser ==0.1.0.2
   - hw-prim ==0.6.2.39
   - hw-rankselect ==0.13.0.0
-  - hw-rankselect-base ==0.3.2.3
+  - hw-rankselect-base ==0.3.3.0
   - hw-simd ==0.1.1.5
   - hw-streams ==0.0.0.12
   - hw-string-parse ==0.0.0.4
@@ -1087,7 +1087,7 @@ default-package-overrides:
   - indexed ==0.1.3
   - indexed-list-literals ==0.2.1.2
   - infer-license ==0.2.0
-  - inflections ==0.4.0.4
+  - inflections ==0.4.0.5
   - influxdb ==1.7.1.1
   - ini ==0.4.1
   - inj ==1.0
@@ -1124,7 +1124,7 @@ default-package-overrides:
   - io-streams-haproxy ==1.0.1.0
   - ip ==1.5.1
   - ip6addr ==1.0.0
-  - iproute ==1.7.7
+  - iproute ==1.7.8
   - IPv6Addr ==1.1.2
   - ipynb ==0.1
   - ipython-kernel ==0.10.1.0
@@ -1228,14 +1228,14 @@ default-package-overrides:
   - LibZip ==1.0.1
   - lifted-async ==0.10.0.4
   - lifted-base ==0.2.3.12
-  - lift-generics ==0.1.2
+  - lift-generics ==0.1.3
   - line ==4.0.1
   - linear ==1.20.9
   - linear-circuit ==0.1.0.2
   - linux-file-extents ==0.2.0.0
   - linux-namespaces ==0.1.3.0
   - List ==0.6.2
-  - ListLike ==4.6.2
+  - ListLike ==4.6.3
   - listsafe ==0.1.0.1
   - list-t ==1.0.4
   - ListTree ==0.2.3
@@ -1278,7 +1278,7 @@ default-package-overrides:
   - markdown ==0.1.17.4
   - markdown-unlit ==0.5.0
   - markov-chain ==0.0.3.4
-  - massiv ==0.4.3.0
+  - massiv ==0.4.4.0
   - massiv-io ==0.1.9.0
   - massiv-test ==0.1.1
   - mathexpr ==0.3.0.0
@@ -1297,7 +1297,7 @@ default-package-overrides:
   - megaparsec-tests ==7.0.5
   - mega-sdist ==0.4.0.1
   - memory ==0.14.18
-  - MemoTrie ==0.6.9
+  - MemoTrie ==0.6.10
   - menshen ==0.0.3
   - mercury-api ==0.1.0.2
   - merkle-tree ==0.1.1
@@ -1348,10 +1348,10 @@ default-package-overrides:
   - monad-extras ==0.6.0
   - monadic-arrays ==0.2.2
   - monad-journal ==0.8.1
-  - monad-logger ==0.3.30
+  - monad-logger ==0.3.31
   - monad-logger-json ==0.1.0.0
   - monad-logger-prefix ==0.1.11
-  - monad-logger-syslog ==0.1.5.0
+  - monad-logger-syslog ==0.1.6.0
   - monad-loops ==0.4.3
   - monad-memo ==0.5.1
   - monad-metrics ==0.2.1.4
@@ -1412,7 +1412,7 @@ default-package-overrides:
   - natural-sort ==0.1.2
   - natural-transformation ==0.4
   - ndjson-conduit ==0.1.0.5
-  - neat-interpolation ==0.3.2.4
+  - neat-interpolation ==0.3.2.5
   - netlib-carray ==0.1
   - netlib-comfort-array ==0.0.0.1
   - netlib-ffi ==0.1.1
@@ -1426,7 +1426,7 @@ default-package-overrides:
   - network-anonymous-i2p ==0.10.0
   - network-attoparsec ==0.12.2
   - network-bsd ==2.8.0.0
-  - network-byte-order ==0.1.1.1
+  - network-byte-order ==0.1.2.0
   - network-conduit-tls ==1.3.2
   - network-house ==0.1.0.2
   - network-info ==0.2.0.10
@@ -1486,7 +1486,7 @@ default-package-overrides:
   - open-browser ==0.2.1.0
   - openexr-write ==0.1.0.2
   - OpenGL ==3.0.3.0
-  - OpenGLRaw ==3.3.3.0
+  - OpenGLRaw ==3.3.4.0
   - openpgp-asciiarmor ==0.1.2
   - opensource ==0.1.1.0
   - openssl-streams ==1.2.2.0
@@ -1574,7 +1574,7 @@ default-package-overrides:
   - phantom-state ==0.2.1.2
   - pid1 ==0.1.2.0
   - pinboard ==0.10.1.4
-  - pipes ==4.3.12
+  - pipes ==4.3.13
   - pipes-aeson ==0.4.1.8
   - pipes-attoparsec ==0.5.1.5
   - pipes-binary ==0.4.2
@@ -1613,7 +1613,7 @@ default-package-overrides:
   - port-utils ==0.2.1.0
   - posix-paths ==0.2.1.6
   - possibly ==1.0.0.0
-  - postgresql-binary ==0.12.1.3
+  - postgresql-binary ==0.12.2
   - postgresql-libpq ==0.9.4.2
   - postgresql-orm ==0.5.1
   - postgresql-schema ==0.1.14
@@ -1661,8 +1661,8 @@ default-package-overrides:
   - prospect ==0.1.0.0
   - protobuf ==0.2.1.2
   - protobuf-simple ==0.1.1.0
-  - protocol-buffers ==2.4.12
-  - protocol-buffers-descriptor ==2.4.12
+  - protocol-buffers ==2.4.13
+  - protocol-buffers-descriptor ==2.4.13
   - protocol-radius ==0.0.1.1
   - protocol-radius-test ==0.1.0.1
   - proto-lens ==0.5.1.0
@@ -1708,7 +1708,7 @@ default-package-overrides:
   - rando ==0.0.0.4
   - random ==1.1
   - random-bytestring ==0.1.3.2
-  - random-fu ==0.2.7.0
+  - random-fu ==0.2.7.3
   - random-shuffle ==0.0.4
   - random-source ==0.3.0.6
   - random-tree ==0.6.0.5
@@ -1717,7 +1717,7 @@ default-package-overrides:
   - range-set-list ==0.1.3.1
   - rank1dynamic ==0.4.0
   - rank2classes ==1.3.1.2
-  - Rasterific ==0.7.4.4
+  - Rasterific ==0.7.5
   - rasterific-svg ==0.3.3.2
   - ratel ==1.0.9
   - ratel-wai ==1.1.1
@@ -1735,7 +1735,7 @@ default-package-overrides:
   - reanimate ==0.1.8.0
   - reanimate-svg ==0.9.3.1
   - rebase ==1.3.1.1
-  - record-dot-preprocessor ==0.2.1
+  - record-dot-preprocessor ==0.2.2
   - record-hasfield ==1.0
   - records-sop ==0.1.0.3
   - recursion-schemes ==5.1.3
@@ -1804,7 +1804,7 @@ default-package-overrides:
   - runmemo ==1.0.0.1
   - rvar ==0.2.0.3
   - s3-signer ==0.5.0.0
-  - safe ==0.3.17
+  - safe ==0.3.18
   - safecopy ==0.9.4.3
   - safe-exceptions ==0.1.7.0
   - safe-exceptions-checked ==0.1.0
@@ -1847,7 +1847,7 @@ default-package-overrides:
   - selective ==0.3
   - semialign ==1
   - semigroupoid-extras ==5
-  - semigroupoids ==5.3.3
+  - semigroupoids ==5.3.4
   - semigroups ==0.18.5
   - semirings ==0.4.2
   - semiring-simple ==1.0.0.1
@@ -2131,7 +2131,7 @@ default-package-overrides:
   - these ==1.0.1
   - th-expand-syns ==0.4.5.0
   - th-extras ==0.0.0.4
-  - th-lift ==0.8.0.1
+  - th-lift ==0.8.1
   - th-lift-instances ==0.1.14
   - th-nowq ==0.1.0.3
   - th-orphans ==0.13.9
@@ -2278,7 +2278,7 @@ default-package-overrides:
   - users-test ==0.5.0.1
   - utf8-light ==0.4.2
   - utf8-string ==1.0.1.1
-  - util ==0.1.14.0
+  - util ==0.1.14.1
   - utility-ht ==0.0.14
   - uuid ==1.3.13
   - uuid-types ==1.0.3
@@ -2298,7 +2298,7 @@ default-package-overrides:
   - vault ==0.3.1.3
   - vec ==0.1.1.1
   - vector ==0.12.0.3
-  - vector-algorithms ==0.8.0.1
+  - vector-algorithms ==0.8.0.3
   - vector-binary-instances ==0.2.5.1
   - vector-buffer ==0.4.1
   - vector-builder ==0.3.8
@@ -2357,7 +2357,7 @@ default-package-overrides:
   - webrtc-vad ==0.1.0.3
   - websockets ==0.12.6.1
   - websockets-snap ==0.10.3.1
-  - weigh ==0.0.14
+  - weigh ==0.0.16
   - wide-word ==0.1.0.9
   - wikicfp-scraper ==0.1.0.11
   - wild-bind ==0.1.2.4
@@ -2397,7 +2397,7 @@ default-package-overrides:
   - Xauth ==0.1
   - xdg-basedir ==0.2.2
   - xdg-userdirs ==0.1.0.2
-  - xeno ==0.3.5.1
+  - xeno ==0.3.5.2
   - xenstore ==0.1.1
   - xls ==0.1.2
   - xlsx ==0.7.2
@@ -2434,7 +2434,7 @@ default-package-overrides:
   - yesod-auth-hashdb ==1.7.1.1
   - yesod-auth-oauth2 ==0.6.1.2
   - yesod-bin ==1.6.0.4
-  - yesod-core ==1.6.16.1
+  - yesod-core ==1.6.17
   - yesod-csp ==0.2.5.0
   - yesod-eventsource ==1.6.0
   - yesod-fb ==0.5.0
@@ -2448,7 +2448,7 @@ default-package-overrides:
   - yesod-recaptcha2 ==0.3.0
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.0.1
-  - yesod-test ==1.6.8
+  - yesod-test ==1.6.9
   - yesod-text-markdown ==0.1.10
   - yesod-websockets ==0.3.0.2
   - yes-precure5-command ==5.5.3
@@ -3657,7 +3657,6 @@ broken-packages:
   - classy-miso
   - classy-parallel
   - ClassyPrelude
-  - clay
   - clckwrks
   - clckwrks-cli
   - clckwrks-dot-com
@@ -4192,6 +4191,7 @@ broken-packages:
   - dhall-lsp-server
   - dhall-nix
   - dhall-to-cabal
+  - dhall-yaml
   - dhcp-lease-parser
   - dhrun
   - dia-base
@@ -5014,7 +5014,6 @@ broken-packages:
   - ghci-lib
   - ghci-ng
   - ghci-pretty
-  - ghcide
   - ghcjs-base-stub
   - ghcjs-dom-jsffi
   - ghcjs-fetch
@@ -9111,7 +9110,6 @@ broken-packages:
   - SourceGraph
   - sousit
   - soyuz
-  - spacecookie
   - SpaceInvaders
   - spacepart
   - SpacePrivateers
@@ -9971,6 +9969,7 @@ broken-packages:
   - vector-space-opengl
   - vector-static
   - vectortiles
+  - venzone
   - Verba
   - verbalexpressions
   - verdict
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 8c09bd83891..0ec409dc8ed 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -5214,12 +5214,13 @@ self: {
      }) {};
 
   "Enum" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, smallcheck, tasty, tasty-hunit }:
      mkDerivation {
        pname = "Enum";
-       version = "0.1.0.0";
-       sha256 = "1zl5w5w3rqbh4awp4b4rbamkqcvnrzn944rjc84sq3rqad3wlww2";
+       version = "0.2.0.0";
+       sha256 = "0bk44zim92b5qb95byvcyy8cmbgzbxf06mp0nr765p9v48rjkr91";
        libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base smallcheck tasty tasty-hunit ];
        description = "Non-crashing `Enum` operations";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -9234,7 +9235,7 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {};
 
-  "HTF_0_14_0_1" = callPackage
+  "HTF_0_14_0_3" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, base
      , base64-bytestring, bytestring, Cabal, containers, cpphs, Diff
      , directory, filepath, haskell-src, HUnit, lifted-base
@@ -9244,8 +9245,8 @@ self: {
      }:
      mkDerivation {
        pname = "HTF";
-       version = "0.14.0.1";
-       sha256 = "025gcc77j547713bxm8y2i7xmq95nc4imyym6agmfrd7bh8h1jdb";
+       version = "0.14.0.3";
+       sha256 = "138gh5a2nx25czhp9qpaav2lq7ff142q4n6sbkrglfsyn48rifqp";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal process ];
@@ -12485,27 +12486,6 @@ self: {
      }:
      mkDerivation {
        pname = "ListLike";
-       version = "4.6.2";
-       sha256 = "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh";
-       libraryHaskellDepends = [
-         array base bytestring containers deepseq dlist fmlist text
-         utf8-string vector
-       ];
-       testHaskellDepends = [
-         array base bytestring containers dlist fmlist HUnit QuickCheck
-         random text utf8-string vector
-       ];
-       description = "Generalized support for list-like structures";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "ListLike_4_6_3" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, deepseq
-     , dlist, fmlist, HUnit, QuickCheck, random, text, utf8-string
-     , vector
-     }:
-     mkDerivation {
-       pname = "ListLike";
        version = "4.6.3";
        sha256 = "10vn7gslx4zzjq547cwpzdfb4c5w3nsfis6qr03dr9c4fdzj61lx";
        libraryHaskellDepends = [
@@ -12518,7 +12498,6 @@ self: {
        ];
        description = "Generalized support for list-like structures";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ListT" = callPackage
@@ -13093,19 +13072,6 @@ self: {
     ({ mkDerivation, base, newtype-generics }:
      mkDerivation {
        pname = "MemoTrie";
-       version = "0.6.9";
-       sha256 = "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base newtype-generics ];
-       description = "Trie-based memo functions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "MemoTrie_0_6_10" = callPackage
-    ({ mkDerivation, base, newtype-generics }:
-     mkDerivation {
-       pname = "MemoTrie";
        version = "0.6.10";
        sha256 = "0lxsarhyhhkp58wpbp7b08scmjxq7s46jfl9vhp2yfq973hz0kaq";
        isLibrary = true;
@@ -13113,7 +13079,6 @@ self: {
        libraryHaskellDepends = [ base newtype-generics ];
        description = "Trie-based memo functions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "MetaHDBC" = callPackage
@@ -14119,8 +14084,8 @@ self: {
      }:
      mkDerivation {
        pname = "Network-NineP";
-       version = "0.4.5";
-       sha256 = "1s11idqg8bvimhal86569wlw746cyyq67dxvvabnbn3q23mjkflh";
+       version = "0.4.6";
+       sha256 = "0aq8888z0fcsd18shsqjsgrpxm417cfh250vyd2660ajc0ymj3q3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -14858,8 +14823,8 @@ self: {
      }:
      mkDerivation {
        pname = "OpenGLRaw";
-       version = "3.3.3.0";
-       sha256 = "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx";
+       version = "3.3.4.0";
+       sha256 = "0gmsmysqzpm13qnyq4vvqxm4dzw25nayfd9wi5x645pympm6jqbm";
        libraryHaskellDepends = [
          base bytestring containers fixed half text transformers
        ];
@@ -16747,23 +16712,6 @@ self: {
      }:
      mkDerivation {
        pname = "Rasterific";
-       version = "0.7.4.4";
-       sha256 = "1s8d0yyh2xz8kb9476nr11jzxvgq0y9sgspgzhh9shf44fbz4gs0";
-       libraryHaskellDepends = [
-         base bytestring containers dlist FontyFruity free JuicyPixels mtl
-         primitive transformers vector vector-algorithms
-       ];
-       description = "A pure haskell drawing engine";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "Rasterific_0_7_5" = callPackage
-    ({ mkDerivation, base, bytestring, containers, dlist, FontyFruity
-     , free, JuicyPixels, mtl, primitive, transformers, vector
-     , vector-algorithms
-     }:
-     mkDerivation {
-       pname = "Rasterific";
        version = "0.7.5";
        sha256 = "158s0w95x0yxhffcccvhil827jmv7mmbh65nbg8qypvw9j4ldb9j";
        libraryHaskellDepends = [
@@ -16772,7 +16720,6 @@ self: {
        ];
        description = "A pure haskell drawing engine";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ReadArgs" = callPackage
@@ -23548,8 +23495,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-filthy";
-       version = "0.1.3";
-       sha256 = "121ygm5k9qjizwjj7w5dklxs5sv0zysrnpvwb37ar4bjkcxhs0ap";
+       version = "0.1.4";
+       sha256 = "1mjlgq1h09plpllmh7manbcjnl57pmjap0kz9ahzrpv02zrfkszi";
        libraryHaskellDepends = [
          aeson base bytestring text time unordered-containers
        ];
@@ -28219,18 +28166,18 @@ self: {
 
   "amqp-utils" = callPackage
     ({ mkDerivation, amqp, base, bytestring, connection, containers
-     , data-default-class, hinotify, magic, process, text, time, tls
-     , unix, x509-system
+     , data-default-class, hinotify, magic, network, process, text, time
+     , tls, unix, x509-system
      }:
      mkDerivation {
        pname = "amqp-utils";
-       version = "0.4.0.1";
-       sha256 = "1xym969csbq08alvvvvwikcl4qg733x1sp13qn4p0xj2kkfayhzf";
+       version = "0.4.1.0";
+       sha256 = "1p0pvl88xp9m0b9k7nqxln3702kp4lk05f60mag3swa09rvzcg47";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          amqp base bytestring connection containers data-default-class
-         hinotify magic process text time tls unix x509-system
+         hinotify magic network process text time tls unix x509-system
        ];
        description = "Generic Haskell AMQP tools";
        license = stdenv.lib.licenses.gpl3;
@@ -28818,8 +28765,10 @@ self: {
      }:
      mkDerivation {
        pname = "ansi-terminal-game";
-       version = "0.7.2.0";
-       sha256 = "041xw7kq620ydnbdawmsdb65021p2534f9725qddv1i0pcwdn274";
+       version = "1.0.0.0";
+       sha256 = "0h33ih7sxzyp1a6r6ivk73lrfx6haxxzmgh56n75sa7p8vhr8f1i";
+       revision = "1";
+       editedCabalFile = "1x601p97ragf9k56qy1ndmn7g3brs8fvvmf1wcrxz1ynhndqqpjw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -30628,6 +30577,8 @@ self: {
        pname = "arbor-monad-logger";
        version = "0.1.1.3";
        sha256 = "1x44kavmgm7nffvnakyrmcxq03vshg15vkk8wcpvkq43dndk9jb2";
+       revision = "1";
+       editedCabalFile = "0srypscv4gd1q2h6namm507211xd3cnqv144h2pb1mayy20m9a8m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -37771,28 +37722,6 @@ self: {
      }:
      mkDerivation {
        pname = "bifunctors";
-       version = "5.5.5";
-       sha256 = "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb";
-       libraryHaskellDepends = [
-         base base-orphans comonad containers tagged template-haskell
-         th-abstraction transformers
-       ];
-       testHaskellDepends = [
-         base hspec QuickCheck template-haskell transformers
-         transformers-compat
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Bifunctors";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "bifunctors_5_5_6" = callPackage
-    ({ mkDerivation, base, base-orphans, comonad, containers, hspec
-     , hspec-discover, QuickCheck, tagged, template-haskell
-     , th-abstraction, transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "bifunctors";
        version = "5.5.6";
        sha256 = "1jnsnc0rj3vkx8rjwsf2aacla9xzdfy1am9mmjk8crxp2gkazcnc";
        libraryHaskellDepends = [
@@ -37806,7 +37735,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Bifunctors";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bighugethesaurus" = callPackage
@@ -38002,6 +37930,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bin" = callPackage
+    ({ mkDerivation, base, dec, deepseq, fin, hashable, QuickCheck }:
+     mkDerivation {
+       pname = "bin";
+       version = "0.1";
+       sha256 = "008i0yxvg9v05gby6ysq3f7ygh125p9xa5vwrcrbq5xw79igyzq5";
+       libraryHaskellDepends = [
+         base dec deepseq fin hashable QuickCheck
+       ];
+       description = "Bin: binary natural numbers";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
   "binary_0_7_6_1" = callPackage
     ({ mkDerivation, array, attoparsec, base, bytestring, Cabal, cereal
      , containers, criterion, deepseq, directory, filepath, HUnit, mtl
@@ -39248,8 +39189,8 @@ self: {
     ({ mkDerivation, base, bindings-DSL, portaudio, vector }:
      mkDerivation {
        pname = "bindings-portaudio";
-       version = "0.2";
-       sha256 = "0jxpp8iwb6v0g0y81vnqxqycfh4gzykq4ijn4ir8hzajy7bglb1n";
+       version = "0.2.1";
+       sha256 = "1i2r01jhf8k7820zzwqbss0z3kxd15pvdz7ss8s9gczv88nwxvxk";
        libraryHaskellDepends = [ base bindings-DSL vector ];
        libraryPkgconfigDepends = [ portaudio ];
        description = "Low-level bindings to portaudio library";
@@ -40357,6 +40298,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bits-extra_0_0_1_5" = callPackage
+    ({ mkDerivation, base, criterion, doctest, doctest-discover
+     , ghc-prim, hedgehog, hspec, hspec-discover, hw-hedgehog
+     , hw-hspec-hedgehog, vector
+     }:
+     mkDerivation {
+       pname = "bits-extra";
+       version = "0.0.1.5";
+       sha256 = "1f29jn8gxmi9nrwnrykq4z88cg8zsknbw7licmf44hlid0s5glf5";
+       libraryHaskellDepends = [ base ghc-prim vector ];
+       testHaskellDepends = [
+         base doctest doctest-discover ghc-prim hedgehog hspec hw-hedgehog
+         hw-hspec-hedgehog
+       ];
+       testToolDepends = [ doctest-discover hspec-discover ];
+       benchmarkHaskellDepends = [ base criterion ghc-prim vector ];
+       description = "Useful bitwise operations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bits-extras" = callPackage
     ({ mkDerivation, base, gcc_s }:
      mkDerivation {
@@ -41810,25 +41772,26 @@ self: {
 
   "boltzmann-brain" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , edit-distance, graphviz, haskell-src-exts, hmatrix, megaparsec
-     , MonadRandom, mtl, multiset, pretty-terminal, process, random
-     , text, time, transformers
+     , edit-distance, filepath, graphviz, haskell-src-exts, hmatrix
+     , megaparsec, MonadRandom, mtl, multiset, pretty-terminal, process
+     , random, template-haskell, text, time, transformers
      }:
      mkDerivation {
        pname = "boltzmann-brain";
-       version = "1.4";
-       sha256 = "17xny78fkqm344cddkklv4sj8c7dnps8bn1n21xa392l2zyf7mqz";
+       version = "1.6";
+       sha256 = "1k6zsj4wijvxbbf3n95b61bii3p5m257capdw382613v7wp1yh6a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base containers edit-distance graphviz haskell-src-exts
-         hmatrix megaparsec MonadRandom mtl multiset pretty-terminal process
-         random text time transformers
+         aeson base bytestring containers edit-distance graphviz
+         haskell-src-exts hmatrix megaparsec MonadRandom mtl multiset
+         pretty-terminal process random template-haskell text time
+         transformers
        ];
        executableHaskellDepends = [
-         aeson base bytestring containers directory megaparsec text
+         aeson base bytestring containers directory filepath megaparsec text
        ];
-       description = "Boltzmann sampler compiler for combinatorial systems";
+       description = "Analytic sampler compiler for combinatorial systems";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -42067,26 +42030,6 @@ self: {
      }:
      mkDerivation {
        pname = "boolean-normal-forms";
-       version = "0.0.1";
-       sha256 = "12i0jarbv7gq2p8zw0jgh2gq3wqk6s0vsc9rd0g7c36srcmr944b";
-       revision = "1";
-       editedCabalFile = "1p31kqxp77xdhkszppmnzqgxp883vasrh5910qfif50lch39myfm";
-       libraryHaskellDepends = [ base cond containers deepseq ];
-       testHaskellDepends = [
-         base cond containers QuickCheck tasty tasty-quickcheck
-       ];
-       description = "Boolean normal form: NNF, DNF & CNF";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "boolean-normal-forms_0_0_1_1" = callPackage
-    ({ mkDerivation, base, cond, containers, deepseq, QuickCheck, tasty
-     , tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "boolean-normal-forms";
        version = "0.0.1.1";
        sha256 = "0zsll476c7g5syfz54kwcb4d2chh9q6gh0f42847n3ja1d64gaar";
        libraryHaskellDepends = [ base cond containers deepseq ];
@@ -42401,6 +42344,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "boring_0_1_3" = callPackage
+    ({ mkDerivation, adjunctions, base, base-compat, bin, constraints
+     , dec, fin, generics-sop, ral, singleton-bool, streams, tagged
+     , transformers, transformers-compat, vec
+     }:
+     mkDerivation {
+       pname = "boring";
+       version = "0.1.3";
+       sha256 = "1fljlkzc5016xbq9jykh0wr1mbyfcikh818pp54djws5vm66hh6d";
+       libraryHaskellDepends = [
+         adjunctions base base-compat bin constraints dec fin generics-sop
+         ral singleton-bool streams tagged transformers transformers-compat
+         vec
+       ];
+       description = "Boring and Absurd types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "boring-game" = callPackage
     ({ mkDerivation, base, gloss }:
      mkDerivation {
@@ -43135,6 +43097,46 @@ self: {
        license = stdenv.lib.licenses.agpl3;
      }) {};
 
+  "brittany_0_12_1_1" = callPackage
+    ({ mkDerivation, aeson, base, butcher, bytestring, cmdargs
+     , containers, czipwith, data-tree-print, deepseq, directory, extra
+     , filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths, hspec
+     , monad-memo, mtl, multistate, neat-interpolation, parsec, pretty
+     , random, safe, semigroups, strict, syb, text, transformers
+     , uniplate, unsafe, yaml
+     }:
+     mkDerivation {
+       pname = "brittany";
+       version = "0.12.1.1";
+       sha256 = "0nw7ymdb7xam634w42l1xjgyvpla8grcg02aj19fscw2fn9gfh7z";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base butcher bytestring cmdargs containers czipwith
+         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
+         ghc-exactprint ghc-paths monad-memo mtl multistate
+         neat-interpolation pretty random safe semigroups strict syb text
+         transformers uniplate unsafe yaml
+       ];
+       executableHaskellDepends = [
+         aeson base butcher bytestring cmdargs containers czipwith
+         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
+         ghc-exactprint ghc-paths monad-memo mtl multistate
+         neat-interpolation pretty safe semigroups strict syb text
+         transformers uniplate unsafe yaml
+       ];
+       testHaskellDepends = [
+         aeson base butcher bytestring cmdargs containers czipwith
+         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
+         ghc-exactprint ghc-paths hspec monad-memo mtl multistate
+         neat-interpolation parsec pretty safe semigroups strict syb text
+         transformers uniplate unsafe yaml
+       ];
+       description = "Haskell source code formatter";
+       license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "broadcast-chan" = callPackage
     ({ mkDerivation, async, base, criterion, deepseq, stm, transformers
      , unliftio-core
@@ -45678,8 +45680,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-fmt";
-       version = "0.1.1";
-       sha256 = "07hx1s7l5zmh7vs2zmmm56msz2m7wnzn919mvnpypvrsswmmnnd9";
+       version = "0.1.2";
+       sha256 = "0h4qxbwykddbdbiw5j140v8cin5h4aqi260wd9fddpxdpkpmdrda";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -46113,6 +46115,28 @@ self: {
        broken = true;
      }) {};
 
+  "cabal-rpm_1_0_2" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, filepath
+     , http-client, http-client-tls, http-conduit, optparse-applicative
+     , process, simple-cabal, simple-cmd, simple-cmd-args, time, unix
+     }:
+     mkDerivation {
+       pname = "cabal-rpm";
+       version = "1.0.2";
+       sha256 = "03315wka46mqz090cijz1rk69i861nm6yc0jm6xjlgrbhi4ngmri";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring Cabal directory filepath http-client
+         http-client-tls http-conduit optparse-applicative process
+         simple-cabal simple-cmd simple-cmd-args time unix
+       ];
+       description = "RPM packaging tool for Haskell Cabal-based packages";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cabal-scripts" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -46624,8 +46648,8 @@ self: {
      }:
      mkDerivation {
        pname = "cache";
-       version = "0.1.1.2";
-       sha256 = "0b0jggcbnrs0pppn60kaggxkwmg0ri7b1i4j5613abgw8bj258s8";
+       version = "0.1.2.0";
+       sha256 = "12mxziwz8qn26v5xkp0bh13jqf9hd8pi9flm68nz82p15vhcs01s";
        libraryHaskellDepends = [
          base clock hashable stm transformers unordered-containers
        ];
@@ -46634,6 +46658,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cache_0_1_3_0" = callPackage
+    ({ mkDerivation, base, clock, hashable, hspec, stm, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "cache";
+       version = "0.1.3.0";
+       sha256 = "0d75257kvjpnv95ja50x5cs77pj8ccfr0nh9q5gzvcps83qdksa2";
+       libraryHaskellDepends = [
+         base clock hashable stm transformers unordered-containers
+       ];
+       testHaskellDepends = [ base clock hspec stm transformers ];
+       description = "An in-memory key/value store with expiration support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cached" = callPackage
     ({ mkDerivation, base, containers, directory, doctest, filepath
      , protolude, QuickCheck, quickcheck-assertions, shake, text
@@ -48523,6 +48564,8 @@ self: {
        pname = "castagnoli";
        version = "0.1.0.0";
        sha256 = "10mznwl00lmx5zmha7w0p7yx406k0qvv74x6lcms4ynq4z5hi8fj";
+       revision = "1";
+       editedCabalFile = "1yp0c8klbf81m2v7qwj22l2yh0w6q6xgnk44zwxdkgpbsjghdp14";
        libraryHaskellDepends = [
          base byteslice primitive primitive-slice primitive-unlifted
        ];
@@ -52038,21 +52081,6 @@ self: {
     ({ mkDerivation, base, hspec, hspec-discover, mtl, text }:
      mkDerivation {
        pname = "clay";
-       version = "0.13.2";
-       sha256 = "1jxwq159hcc55ijga18zdlqr3ga1flilymq96hqpizb4khpq7y6j";
-       libraryHaskellDepends = [ base mtl text ];
-       testHaskellDepends = [ base hspec hspec-discover mtl text ];
-       testToolDepends = [ hspec-discover ];
-       description = "CSS preprocessor as embedded Haskell";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "clay_0_13_3" = callPackage
-    ({ mkDerivation, base, hspec, hspec-discover, mtl, text }:
-     mkDerivation {
-       pname = "clay";
        version = "0.13.3";
        sha256 = "192lsbyj6azjs2ygpx4i47fyr8zfmvwcas8mia07ndqglk2c9csx";
        libraryHaskellDepends = [ base mtl text ];
@@ -52060,8 +52088,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "CSS preprocessor as embedded Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "clckwrks" = callPackage
@@ -52078,8 +52104,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.25.2";
-       sha256 = "087k0n6ri0pg5wmjnw3gkjaz5d627519vby9kmiagck7id7f89q9";
+       version = "0.25.4";
+       sha256 = "0mlrkyhs095b8bwsk4mjq4wys6ydn4m9nds37lxqnw6qzl6rk5hl";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
@@ -52107,8 +52133,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-cli";
-       version = "0.3.0";
-       sha256 = "0ardhl27n3al945s88dmygnw42ki5sn23s59rkhbs4pdyp9yawhs";
+       version = "0.3.0.1";
+       sha256 = "0f44ndvnkivwc72lxfr779kyn20g7f4wy3prqazdhk47xvl1fps6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -52235,8 +52261,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-media";
-       version = "0.6.16.6";
-       sha256 = "05gmr0y5ygsybmdp1k2xcfhbn7wix9mrwvwsv4x0has9l8xc92q1";
+       version = "0.6.16.8";
+       sha256 = "0l6rb5gjag9mxcn067yp3h0bd37jg18p3sg79gkf2pzkxyzhgwqk";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state attoparsec base blaze-html cereal clckwrks containers
@@ -52262,8 +52288,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-page";
-       version = "0.4.3.18";
-       sha256 = "0fgz0rxzkbavzqci4kcav1pljkhdy1mgmf3mldbxp8f88pr5lm42";
+       version = "0.4.3.19";
+       sha256 = "06lvr3sq5slcfc1r3vmip9flh5dn50mz6ar7x11zk4dm365g4vhk";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          acid-state aeson attoparsec base clckwrks containers directory
@@ -52286,14 +52312,13 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-theme-bootstrap";
-       version = "0.4.2.1";
-       sha256 = "1mkqi3qx6k86d2xr4cyxg0ym5c71ip4ijgg6mg20gf3jkjjzvha4";
+       version = "0.4.2.2";
+       sha256 = "0sa3k34m1kf6r7i42rfg5v3g1m9drisfnn2bvlfcbyk8sna7mf80";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base clckwrks happstack-authenticate hsp hsx-jmacro hsx2hs jmacro
          mtl text web-plugins
        ];
-       libraryToolDepends = [ hsx2hs ];
        description = "simple bootstrap based template for clckwrks";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -53752,8 +53777,8 @@ self: {
      }:
      mkDerivation {
        pname = "cobot-io";
-       version = "0.1.2.1";
-       sha256 = "17rl3xbap3fgn2bg0iykysxaff1rakr8fq759hl7pmx3qnr8xz12";
+       version = "0.1.2.3";
+       sha256 = "0z4im9z5yi18kdw99d50zbcala619hba3iwka7ny5krladnz75ha";
        libraryHaskellDepends = [
          array attoparsec base binary bytestring containers data-msgpack
          deepseq http-conduit hyraxAbif lens linear mtl split text vector
@@ -53776,8 +53801,8 @@ self: {
      }:
      mkDerivation {
        pname = "cobot-tools";
-       version = "0.1.2.0";
-       sha256 = "1spivkpb7ql8k17im175i4ijg4bi8d24a6q1ijwfkq4nnrbssg6q";
+       version = "0.1.2.1";
+       sha256 = "0qd3w9y3fps7kkpkvdh3wd54mm9z6ikr16f9f8jvn2gza0xc4l0m";
        libraryHaskellDepends = [
          array base bytestring cobot containers data-default data-msgpack
          deepseq lens mtl regex-tdfa text
@@ -55183,24 +55208,6 @@ self: {
      }:
      mkDerivation {
        pname = "comonad";
-       version = "5.0.5";
-       sha256 = "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base containers distributive tagged transformers
-         transformers-compat
-       ];
-       testHaskellDepends = [ base doctest ];
-       description = "Comonads";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "comonad_5_0_6" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, containers
-     , distributive, doctest, tagged, transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "comonad";
        version = "5.0.6";
        sha256 = "1blgp2nm9cvnsdi2bmkmly5m0gz91npjvf1i5j4pnx6imhbb1kvp";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -55211,7 +55218,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Comonads";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "comonad-extras" = callPackage
@@ -68278,29 +68284,6 @@ self: {
      }:
      mkDerivation {
        pname = "deriving-compat";
-       version = "0.5.7";
-       sha256 = "0bp4f0is84cv139s35669dv23mcp6lhp2wall72yvkk12lp2l2mg";
-       libraryHaskellDepends = [
-         base containers ghc-boot-th ghc-prim template-haskell
-         th-abstraction transformers transformers-compat
-       ];
-       testHaskellDepends = [
-         base base-compat base-orphans hspec QuickCheck tagged
-         template-haskell transformers transformers-compat
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Backports of GHC deriving extensions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "deriving-compat_0_5_8" = callPackage
-    ({ mkDerivation, base, base-compat, base-orphans, containers
-     , ghc-boot-th, ghc-prim, hspec, hspec-discover, QuickCheck, tagged
-     , template-haskell, th-abstraction, transformers
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "deriving-compat";
        version = "0.5.8";
        sha256 = "1dznwypw0w935z30zi9pf9k4mr5yfl6jfp43nv9vx3f6zy5gip9r";
        libraryHaskellDepends = [
@@ -68314,7 +68297,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Backports of GHC deriving extensions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "derp" = callPackage
@@ -69083,6 +69065,36 @@ self: {
        broken = true;
      }) {};
 
+  "dhall-yaml" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, dhall
+     , dhall-json, exceptions, HsYAML, HsYAML-aeson
+     , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
+     , tasty, tasty-expected-failure, tasty-hunit, text, vector
+     }:
+     mkDerivation {
+       pname = "dhall-yaml";
+       version = "1.0.0";
+       sha256 = "05jhcvikm3rbcf9jzw747x70c3dsslcij977yhqks0c59nr9pqn6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring dhall dhall-json HsYAML HsYAML-aeson
+         optparse-applicative text vector
+       ];
+       executableHaskellDepends = [
+         aeson ansi-terminal base bytestring dhall dhall-json exceptions
+         optparse-applicative prettyprinter prettyprinter-ansi-terminal text
+       ];
+       testHaskellDepends = [
+         base bytestring dhall dhall-json tasty tasty-expected-failure
+         tasty-hunit text
+       ];
+       description = "Convert between Dhall and YAML";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dhcp-lease-parser" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, chronos, ip, tasty
      , tasty-hunit, text
@@ -69641,6 +69653,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "diagrams-postscript_1_5" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , diagrams-core, diagrams-lib, hashable, lens, monoid-extras, mtl
+     , semigroups, split, statestack
+     }:
+     mkDerivation {
+       pname = "diagrams-postscript";
+       version = "1.5";
+       sha256 = "00j58mc84srjvrf21v6zjxxlbw6b8ahhn1jmbq697w8kw3cvygpa";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class diagrams-core
+         diagrams-lib hashable lens monoid-extras mtl semigroups split
+         statestack
+       ];
+       description = "Postscript backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-qrcode" = callPackage
     ({ mkDerivation, array, base, colour, diagrams-core, diagrams-lib
      }:
@@ -69678,6 +69709,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "diagrams-rasterific_1_4_2" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , diagrams-core, diagrams-lib, file-embed, filepath, FontyFruity
+     , hashable, JuicyPixels, lens, mtl, optparse-applicative
+     , Rasterific
+     }:
+     mkDerivation {
+       pname = "diagrams-rasterific";
+       version = "1.4.2";
+       sha256 = "161rsy3g59n3sfrbfyvd4i4hszl0zm59w21b7pk6w88n0bk8gf2l";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class diagrams-core
+         diagrams-lib file-embed filepath FontyFruity hashable JuicyPixels
+         lens mtl optparse-applicative Rasterific
+       ];
+       testHaskellDepends = [ base diagrams-core diagrams-lib ];
+       description = "Rasterific backend for diagrams";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-reflex" = callPackage
     ({ mkDerivation, base, colour, containers, diagrams-core
      , diagrams-lib, lens, monoid-extras, mtl, reflex, reflex-dom
@@ -69750,6 +69802,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "diagrams-svg_1_4_3" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, colour
+     , containers, diagrams-core, diagrams-lib, filepath, hashable
+     , JuicyPixels, lens, monoid-extras, mtl, optparse-applicative
+     , semigroups, split, svg-builder, text
+     }:
+     mkDerivation {
+       pname = "diagrams-svg";
+       version = "1.4.3";
+       sha256 = "1ysv6cz0fngrndl4wjmw4hrdj2rik5fxa1dkxzwnlgf1xwpvxgk8";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring colour containers diagrams-core
+         diagrams-lib filepath hashable JuicyPixels lens monoid-extras mtl
+         optparse-applicative semigroups split svg-builder text
+       ];
+       description = "SVG backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-tikz" = callPackage
     ({ mkDerivation, base, diagrams-core, diagrams-lib, dlist, mtl }:
      mkDerivation {
@@ -70630,8 +70702,8 @@ self: {
      }:
      mkDerivation {
        pname = "dino";
-       version = "0.1.1";
-       sha256 = "05n0zsl9wvwilnmh28s89cda8a72qfbnhwkbbnw9yihpbamx59z9";
+       version = "0.1.2";
+       sha256 = "0sk7p89fmjynykk7djfn8cmmjrqyv5pml9ny2dycr1n86cnxr88x";
        libraryHaskellDepends = [
          ansi-wl-pprint base containers errors exceptions hashable
          monad-loops mtl text transformers tree-view unordered-containers
@@ -72856,7 +72928,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "doctemplates_0_7_2" = callPackage
+  "doctemplates_0_8" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , doclayout, filepath, Glob, HsYAML, mtl, parsec, safe, scientific
      , tasty, tasty-golden, tasty-hunit, temporary, text
@@ -72864,8 +72936,8 @@ self: {
      }:
      mkDerivation {
        pname = "doctemplates";
-       version = "0.7.2";
-       sha256 = "1sadadxq3vyzq4l3p05wvmkw68nwjprn98hn4l5zxif0r722jyxj";
+       version = "0.8";
+       sha256 = "0zhnhdpbh0cyh6nr655yfik135gssa1qhfhzsvaph2n1qwq1l6nn";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base containers doclayout filepath HsYAML mtl parsec safe
@@ -73561,6 +73633,22 @@ self: {
        broken = true;
      }) {};
 
+  "downloader" = callPackage
+    ({ mkDerivation, base, directory, filepath, network-uri, process
+     , safe
+     }:
+     mkDerivation {
+       pname = "downloader";
+       version = "0.1.0.1";
+       sha256 = "1mjsdnghlbi1c0pzhrng1dcvs1syisxrv7ygg5267f9hmcwk5zgn";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base directory filepath network-uri process safe
+       ];
+       description = "A small, low-dependency library that provides turn-key file download over HTTP and HTTPS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "dozenal" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -75861,6 +75949,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "edit-distance-linear" = callPackage
+    ({ mkDerivation, array, base, bytestring, criterion, edit-distance
+     , hspec, QuickCheck, text, text-metrics
+     }:
+     mkDerivation {
+       pname = "edit-distance-linear";
+       version = "0.2.0.2";
+       sha256 = "0l95jjhjn39slyaixis2z6w0mly1vk1c2ia3nykhkvwp2adyn5nf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ array base bytestring ];
+       testHaskellDepends = [
+         array base bytestring edit-distance hspec QuickCheck
+       ];
+       benchmarkHaskellDepends = [
+         array base bytestring criterion text text-metrics
+       ];
+       description = "Efficient implementation of the Levenshtein edit distance in linear memory";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "edit-distance-vector" = callPackage
     ({ mkDerivation, base, QuickCheck, quickcheck-instances, vector }:
      mkDerivation {
@@ -77679,6 +77788,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "emojis" = callPackage
+    ({ mkDerivation, base, containers, HUnit, text }:
+     mkDerivation {
+       pname = "emojis";
+       version = "0.1";
+       sha256 = "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss";
+       libraryHaskellDepends = [ base containers text ];
+       testHaskellDepends = [ base HUnit text ];
+       description = "Conversion between emoji characters and their names";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "empty" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -79214,7 +79335,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "esqueleto_3_2_3" = callPackage
+  "esqueleto_3_3_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring
      , conduit, containers, exceptions, hspec, monad-logger, mtl, mysql
      , mysql-simple, persistent, persistent-mysql, persistent-postgresql
@@ -79224,8 +79345,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.2.3";
-       sha256 = "1m8ib08bnrmigpf0lzkn1wm8p479aflm92irzq5v3gg07dqgypcy";
+       version = "3.3.0";
+       sha256 = "0qscm9b4zqb0w78xpf1yhmjlbapvghmvsqxqwx2x0grb4yvv7cwq";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -79811,15 +79932,15 @@ self: {
   "evdev" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, composition, containers
      , either, evdev, extra, hinotify, posix-paths, process, rawfilepath
-     , streamly, time, unix
+     , safe, streamly, time, unix
      }:
      mkDerivation {
        pname = "evdev";
-       version = "0.1.0.1";
-       sha256 = "17y1rg6p8inzf3zdakfxwp4f3yrak83lqfdjiwg786x4f0ab3jaq";
+       version = "0.2.0.1";
+       sha256 = "0b005anc3bxs8ys5zmzzs81n4wmjabvv7fbcj5w62ddsjfq38p62";
        libraryHaskellDepends = [
          base bytestring composition containers either extra hinotify
-         posix-paths process rawfilepath streamly time unix
+         posix-paths process rawfilepath safe streamly time unix
        ];
        librarySystemDepends = [ evdev ];
        libraryToolDepends = [ c2hs ];
@@ -82581,10 +82702,8 @@ self: {
      }:
      mkDerivation {
        pname = "fastsum";
-       version = "0.1.1.0";
-       sha256 = "0fa3wjdsjl8wwlw194g1b7j8rvwix2b1hgwm1s10fq91a10mca6n";
-       revision = "1";
-       editedCabalFile = "0cjzy6q0srff2ygwrffgf4a6clpva4fd7jx5z3pv7ym64w5f4l97";
+       version = "0.1.1.1";
+       sha256 = "0j9jd068xgk7nn2ilgdkv1pxngflqqgxz1pnhdssgiih04v8zw5l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -84352,6 +84471,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "filepath-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, QuickCheck, unix }:
+     mkDerivation {
+       pname = "filepath-bytestring";
+       version = "1.4.2.1.0";
+       sha256 = "1q2d02p87yfvqbqhgry6lzqkjhscqfacpcxgnc6xz9b1rvg1mwvj";
+       libraryHaskellDepends = [ base bytestring unix ];
+       testHaskellDepends = [ base bytestring filepath QuickCheck ];
+       description = "Library for manipulating RawFilePaths in a cross platform way";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "filepath-crypto" = callPackage
     ({ mkDerivation, base, binary, bytestring, case-insensitive
      , cryptoids, cryptoids-class, cryptoids-types, exceptions, filepath
@@ -84592,6 +84723,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fin_0_1_1" = callPackage
+    ({ mkDerivation, base, dec, deepseq, hashable, inspection-testing
+     , QuickCheck, tagged
+     }:
+     mkDerivation {
+       pname = "fin";
+       version = "0.1.1";
+       sha256 = "0zwc8x2ilbk1bhsk85brf6g300cx4w2j3602gjh6rv900961gqri";
+       libraryHaskellDepends = [ base dec deepseq hashable QuickCheck ];
+       testHaskellDepends = [ base inspection-testing tagged ];
+       description = "Nat and Fin: peano naturals and finite numbers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "final" = callPackage
     ({ mkDerivation, base, stm, transformers }:
      mkDerivation {
@@ -85612,22 +85758,6 @@ self: {
      }:
      mkDerivation {
        pname = "flags-applicative";
-       version = "0.1.0.1";
-       sha256 = "1pamcfv5g6d42ksq10af0l2a6k8y997zx3y4pvf5gcy5hlxr2gwv";
-       libraryHaskellDepends = [
-         base casing containers mtl network text
-       ];
-       testHaskellDepends = [ base containers hspec text ];
-       description = "Applicative flag parsing";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "flags-applicative_0_1_0_2" = callPackage
-    ({ mkDerivation, base, casing, containers, hspec, mtl, network
-     , text
-     }:
-     mkDerivation {
-       pname = "flags-applicative";
        version = "0.1.0.2";
        sha256 = "192yghdmylynn57l22ahb6dhrbl590dxmv2cdn755r22v7dbhsgf";
        libraryHaskellDepends = [
@@ -85636,7 +85766,6 @@ self: {
        testHaskellDepends = [ base containers hspec text ];
        description = "Applicative flag parsing";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "flamethrower" = callPackage
@@ -87289,24 +87418,6 @@ self: {
      }:
      mkDerivation {
        pname = "forma";
-       version = "1.1.2";
-       sha256 = "1ppgqwqm157ygj992r0cbarfii127g7nm63wbnrqvr9k1wmnlxx0";
-       libraryHaskellDepends = [
-         aeson base containers mtl text unordered-containers
-       ];
-       testHaskellDepends = [ aeson base containers hspec mtl text ];
-       description = "Parse and validate forms in JSON format";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "forma_1_1_3" = callPackage
-    ({ mkDerivation, aeson, base, containers, hspec, mtl, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "forma";
        version = "1.1.3";
        sha256 = "0pd2qzibffbkw2c4mk687yg109pl0nfjq0kpwi2cl0l8d0qlyv0c";
        libraryHaskellDepends = [
@@ -88074,23 +88185,6 @@ self: {
      }:
      mkDerivation {
        pname = "free";
-       version = "5.1.2";
-       sha256 = "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb";
-       libraryHaskellDepends = [
-         base comonad containers distributive exceptions mtl profunctors
-         semigroupoids template-haskell transformers transformers-base
-       ];
-       description = "Monads for free";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "free_5_1_3" = callPackage
-    ({ mkDerivation, base, comonad, containers, distributive
-     , exceptions, mtl, profunctors, semigroupoids, template-haskell
-     , transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "free";
        version = "5.1.3";
        sha256 = "0b9f9jrfgkq13333px6p1faxpcypqvzi0m9dnbj2rm8s79pdcw1c";
        libraryHaskellDepends = [
@@ -88099,7 +88193,6 @@ self: {
        ];
        description = "Monads for free";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "free-algebras" = callPackage
@@ -94596,8 +94689,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghcid";
-       version = "0.7.6";
-       sha256 = "0ic4v2l2mlcbgshd2p3834mdzagprc2bqjhnm9z38yvwj4bjgp5r";
+       version = "0.7.7";
+       sha256 = "1qrj6is1f6jnx9m2g7cp2009dik7inzf5yqlvqv4pwzzxp0nhl3a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -94645,20 +94738,18 @@ self: {
   "ghcide" = callPackage
     ({ mkDerivation, aeson, async, base, binary, bytestring, containers
      , data-default, deepseq, directory, extra, filepath, ghc, ghc-boot
-     , ghc-boot-th, ghc-paths, hashable, haskell-lsp, haskell-lsp-types
-     , hie-bios, hslogger, lens, lsp-test, mtl, network-uri
-     , optparse-applicative, parser-combinators, prettyprinter
-     , prettyprinter-ansi-terminal, rope-utf16-splay, safe-exceptions
-     , shake, sorted-list, stm, syb, tasty, tasty-expected-failure
-     , tasty-hunit, text, time, transformers, unix, unordered-containers
-     , utf8-string
+     , ghc-boot-th, ghc-paths, ghc-typelits-knownnat, hashable
+     , haskell-lsp, haskell-lsp-types, hie-bios, hslogger, lens
+     , lsp-test, mtl, network-uri, optparse-applicative
+     , parser-combinators, prettyprinter, prettyprinter-ansi-terminal
+     , rope-utf16-splay, safe-exceptions, shake, sorted-list, stm, syb
+     , tasty, tasty-expected-failure, tasty-hunit, text, time
+     , transformers, unix, unordered-containers, utf8-string
      }:
      mkDerivation {
        pname = "ghcide";
-       version = "0.0.4";
-       sha256 = "19iasnsqz9a07gw1f3cxraij1hykwxsidx1c26ws8l13nhnh6mpr";
-       revision = "1";
-       editedCabalFile = "028g2g8g3r4phazry3faj7ham11m95v4aq314kjbkpx8lxva2ipv";
+       version = "0.0.5";
+       sha256 = "014l2gg7ln2q9c7qpga45iicxi5mcyjzllvyiwb4vd8rmbkvr1bm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -94674,14 +94765,12 @@ self: {
          haskell-lsp hie-bios hslogger optparse-applicative shake text
        ];
        testHaskellDepends = [
-         base containers directory extra filepath ghc haskell-lsp-types lens
-         lsp-test parser-combinators tasty tasty-expected-failure
-         tasty-hunit text
+         base bytestring containers directory extra filepath ghc
+         ghc-typelits-knownnat haskell-lsp-types lens lsp-test
+         parser-combinators tasty tasty-expected-failure tasty-hunit text
        ];
        description = "The core of an IDE";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ghcjs-ajax" = callPackage
@@ -104708,8 +104797,8 @@ self: {
      }:
      mkDerivation {
        pname = "hOpenPGP";
-       version = "2.8.4";
-       sha256 = "0vvr86y29ncgs3j2hd5qhsxix09jf01ah8qqq6n12zsh484cr127";
+       version = "2.8.5";
+       sha256 = "1d5cmgj3rg8snc2b5jn9h7hb83j2hhf0c9shiiyrpr8rrl4hx2mj";
        libraryHaskellDepends = [
          aeson asn1-encoding attoparsec base base16-bytestring bifunctors
          binary binary-conduit bytestring bzlib conduit conduit-extra
@@ -105689,6 +105778,8 @@ self: {
        pname = "hackage-repo-tool";
        version = "0.1.1.2";
        sha256 = "1zgsmibi24w2wsd828hnls1yv9lrl9xwsi2aay3d603j8mg8vd0r";
+       revision = "1";
+       editedCabalFile = "1x8cqmfyc168jrmvg2c8as1gj4qys10hyr71nmcyskvqrk5bsxf8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -105741,6 +105832,8 @@ self: {
        pname = "hackage-security";
        version = "0.6.0.0";
        sha256 = "1y9vs30y474ri8b9jqkbwfkcfh7p7jaafzwxina9z0xl32d0bn1c";
+       revision = "1";
+       editedCabalFile = "0iw1vy9xapwrwsg38pb6lr26yprwhz1j2w2kzkqfapxmwx37v639";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring Cabal
          containers cryptohash-sha256 directory ed25519 filepath ghc-prim
@@ -106171,6 +106264,8 @@ self: {
        pname = "haddock-library";
        version = "1.8.0";
        sha256 = "15xpv29yh3kb9qq9gmws2l8m64i7phvf47y08vxc2j55101sg4vh";
+       revision = "1";
+       editedCabalFile = "09v6lq3ncf3ax7b6n36vhsflm488x0qc8sgc3w17m09x1jl48d99";
        libraryHaskellDepends = [
          base bytestring containers parsec text transformers
        ];
@@ -108990,26 +109085,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt";
-       version = "0.1.3.5";
-       sha256 = "0qd5rh0jdwhkjcz5kg1bqwd5hpz5w9ph9k0vxaam1lnjjniw7zbj";
-       libraryHaskellDepends = [
-         base binary bytestring connection containers data-binary-ieee754
-         data-default mtl network text
-       ];
-       testHaskellDepends = [
-         base bytestring containers hex hspec QuickCheck text
-       ];
-       description = "Haskell driver for Neo4j 3+ (BOLT protocol)";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hasbolt_0_1_3_6" = callPackage
-    ({ mkDerivation, base, binary, bytestring, connection, containers
-     , data-binary-ieee754, data-default, hex, hspec, mtl, network
-     , QuickCheck, text
-     }:
-     mkDerivation {
-       pname = "hasbolt";
        version = "0.1.3.6";
        sha256 = "0sgxvgvxqykslbjslrb5mzmaaar4nbc59p94qhk7rzbjsas01vp2";
        libraryHaskellDepends = [
@@ -109021,7 +109096,6 @@ self: {
        ];
        description = "Haskell driver for Neo4j 3+ (BOLT protocol)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hasbolt-extras" = callPackage
@@ -109032,8 +109106,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt-extras";
-       version = "0.0.0.24";
-       sha256 = "16hybk7f8rx81a50zbj6i4isx4fi2yr7aw9n36h8qab4dxil4szy";
+       version = "0.0.0.25";
+       sha256 = "0cd0c6vcyfzrg3bzs1mv2c7alr7ncz5gkj6r70n2fb41mxnz9i2l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -112414,20 +112488,20 @@ self: {
 
   "haskey" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, containers
-     , directory, exceptions, filepath, focus, haskey-btree, HUnit
-     , list-t, lz4, mtl, QuickCheck, random, semigroups, stm
+     , directory, exceptions, filepath, focus, hashable, haskey-btree
+     , HUnit, list-t, lz4, mtl, QuickCheck, random, semigroups, stm
      , stm-containers, temporary, test-framework, test-framework-hunit
      , test-framework-quickcheck2, text, transformers, unix, vector
      , xxhash-ffi
      }:
      mkDerivation {
        pname = "haskey";
-       version = "0.3.0.2";
-       sha256 = "1s24k6mwb1231j3ryd4iizday4l966vs9rcghr53k3jx2nl0h74h";
+       version = "0.3.1.0";
+       sha256 = "06q5gwjpgrgjq07iz7368yfghsfc2im1gbwqqixb1lqbiz7q6dbs";
        libraryHaskellDepends = [
          base binary bytestring containers directory exceptions filepath
-         focus haskey-btree list-t lz4 mtl semigroups stm stm-containers
-         transformers unix xxhash-ffi
+         focus hashable haskey-btree list-t lz4 mtl semigroups stm
+         stm-containers transformers unix xxhash-ffi
        ];
        testHaskellDepends = [
          async base binary bytestring containers directory exceptions
@@ -112629,34 +112703,6 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-core";
-       version = "0.9.6";
-       sha256 = "1sj54ajnqdkf3fnsz5i41p0mglixabyh5csnpzlvhh0wmaca0g52";
-       libraryHaskellDepends = [
-         aeson array base base16-bytestring bytestring cereal conduit
-         containers cryptonite entropy hashable memory mtl murmur3 network
-         QuickCheck scientific secp256k1-haskell split string-conversions
-         text time transformers unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring cereal containers hspec HUnit mtl QuickCheck
-         safe split string-conversions text unordered-containers vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Bitcoin & Bitcoin Cash library for Haskell";
-       license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "haskoin-core_0_9_7" = callPackage
-    ({ mkDerivation, aeson, array, base, base16-bytestring, bytestring
-     , cereal, conduit, containers, cryptonite, entropy, hashable, hspec
-     , hspec-discover, HUnit, memory, mtl, murmur3, network, QuickCheck
-     , safe, scientific, secp256k1-haskell, split, string-conversions
-     , text, time, transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "haskoin-core";
        version = "0.9.7";
        sha256 = "04bh21sdkqzp7rlvs49wqq9lj8cyf2mm8cdjyg3zr4kqsfbw2z73";
        libraryHaskellDepends = [
@@ -112711,8 +112757,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-node";
-       version = "0.9.13";
-       sha256 = "15z6qnaj5lk6kd151nl6ddjza0ngpgx8j29ayd5pcwr59r40hl95";
+       version = "0.9.14";
+       sha256 = "17nd6spm2bskgnxp2v7jfb66ds2qgxzhzlvd4yhgbf63kqfhlkjl";
        libraryHaskellDepends = [
          base bytestring cereal conduit conduit-extra containers
          data-default hashable haskoin-core monad-logger mtl network nqe
@@ -112790,8 +112836,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.18.8";
-       sha256 = "084lbgc80hgjbv4grjm3m40i4n092c075whaz33jav0nkbzpmhd0";
+       version = "0.18.9";
+       sha256 = "0gfvlah265mdc52nxkb2mlq1qblli0fm7lrxhwbggjjssj0jbp05";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -116167,30 +116213,6 @@ self: {
      }:
      mkDerivation {
        pname = "hedis";
-       version = "0.12.9";
-       sha256 = "1j0qismms4ylphm86sn6bkg10c8am234nbp6yw4lngi0axf0iz83";
-       libraryHaskellDepends = [
-         async base bytestring bytestring-lexing deepseq errors HTTP mtl
-         network network-uri resource-pool scanner stm text time tls
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         async base bytestring doctest HUnit mtl stm test-framework
-         test-framework-hunit text time
-       ];
-       benchmarkHaskellDepends = [ base mtl time ];
-       description = "Client library for the Redis datastore: supports full command set, pipelining";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hedis_0_12_10" = callPackage
-    ({ mkDerivation, async, base, bytestring, bytestring-lexing
-     , deepseq, doctest, errors, HTTP, HUnit, mtl, network, network-uri
-     , resource-pool, scanner, stm, test-framework, test-framework-hunit
-     , text, time, tls, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hedis";
        version = "0.12.10";
        sha256 = "0n9rm73h9lgrqavzjlakb95jvpg0lfjhj6grb5rgwpi4rhvqiygb";
        libraryHaskellDepends = [
@@ -116205,7 +116227,6 @@ self: {
        benchmarkHaskellDepends = [ base mtl time ];
        description = "Client library for the Redis datastore: supports full command set, pipelining";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hedis-config" = callPackage
@@ -119455,8 +119476,8 @@ self: {
      }:
      mkDerivation {
        pname = "hinterface";
-       version = "0.11.0";
-       sha256 = "1p878194kl4dma6xmp73j4m87yjs7lprjqm3pb81li222fcylz88";
+       version = "1.0.0";
+       sha256 = "18vhpmhpfam1nbh5fgbcfjnmsnsbkzq9qmr64alldlvwf6brs0kp";
        libraryHaskellDepends = [
          array async base binary bytestring containers cryptonite deepseq
          exceptions lifted-async lifted-base memory monad-control
@@ -122708,8 +122729,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoogle";
-       version = "5.0.17.12";
-       sha256 = "114m87b5zyjdqk86hxh71vwdl9v1hm6hls49zd1f8rdsiay8kczb";
+       version = "5.0.17.13";
+       sha256 = "1lbn4ji8l20pvyn5r2cdys0cnxhhac1559q54c6kb4vz4fr0a82p";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -131928,29 +131949,6 @@ self: {
      }) {};
 
   "hw-bits" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, hedgehog, hspec
-     , hspec-discover, hw-hspec-hedgehog, hw-int, hw-prim
-     , hw-string-parse, vector
-     }:
-     mkDerivation {
-       pname = "hw-bits";
-       version = "0.7.0.8";
-       sha256 = "1yrck20adphrqai9nq8qxyi3l5y7gx9gjvr4vgdzg39mnl6057s4";
-       libraryHaskellDepends = [
-         base bytestring hw-int hw-prim hw-string-parse vector
-       ];
-       testHaskellDepends = [
-         base bytestring hedgehog hspec hw-hspec-hedgehog hw-prim vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [ base criterion vector ];
-       description = "Bit manipulation";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "hw-bits_0_7_1_0" = callPackage
     ({ mkDerivation, base, bitvec, bytestring, criterion, deepseq
      , hedgehog, hspec, hspec-discover, hw-hspec-hedgehog, hw-int
      , hw-prim, hw-string-parse, vector
@@ -132907,32 +132905,6 @@ self: {
      }) {};
 
   "hw-rankselect-base" = callPackage
-    ({ mkDerivation, base, bits-extra, criterion, hedgehog, hspec
-     , hspec-discover, hw-bits, hw-hedgehog, hw-hspec-hedgehog, hw-int
-     , hw-prim, hw-string-parse, QuickCheck, vector
-     }:
-     mkDerivation {
-       pname = "hw-rankselect-base";
-       version = "0.3.2.3";
-       sha256 = "1gkgbrpklzzfxs5b2w98l5zr48pvdc1l4zll77s2ya7lw0hc69m5";
-       libraryHaskellDepends = [
-         base bits-extra hw-bits hw-int hw-prim hw-string-parse vector
-       ];
-       testHaskellDepends = [
-         base bits-extra hedgehog hspec hw-bits hw-hedgehog
-         hw-hspec-hedgehog hw-prim QuickCheck vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [
-         base bits-extra criterion hw-bits hw-prim vector
-       ];
-       description = "Rank-select base";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "hw-rankselect-base_0_3_3_0" = callPackage
     ({ mkDerivation, base, bits-extra, bitvec, criterion, hedgehog
      , hspec, hspec-discover, hw-bits, hw-hedgehog, hw-hspec-hedgehog
      , hw-int, hw-prim, hw-string-parse, QuickCheck, vector
@@ -136886,25 +136858,6 @@ self: {
      }:
      mkDerivation {
        pname = "inflections";
-       version = "0.4.0.4";
-       sha256 = "0lspb0xpfj4q6wrzgss7pfjmr6xb5clj7y686vsairbkpcj3cfcl";
-       libraryHaskellDepends = [
-         base exceptions megaparsec text unordered-containers
-       ];
-       testHaskellDepends = [
-         base containers hspec hspec-megaparsec megaparsec QuickCheck text
-       ];
-       description = "Inflections library for Haskell";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "inflections_0_4_0_5" = callPackage
-    ({ mkDerivation, base, containers, exceptions, hspec
-     , hspec-megaparsec, megaparsec, QuickCheck, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "inflections";
        version = "0.4.0.5";
        sha256 = "0fdq3iwa2vgb5k19ck6jxzh7f1xsf1kpwx4p3agpdpsrylrcanvb";
        libraryHaskellDepends = [
@@ -136915,7 +136868,6 @@ self: {
        ];
        description = "Inflections library for Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "inflist" = callPackage
@@ -137215,14 +137167,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "inline-c-cpp_0_4_0_0" = callPackage
+  "inline-c-cpp_0_4_0_1" = callPackage
     ({ mkDerivation, base, containers, hspec, inline-c, safe-exceptions
      , template-haskell
      }:
      mkDerivation {
        pname = "inline-c-cpp";
-       version = "0.4.0.0";
-       sha256 = "10d0yxs3jfkws440wzxrzwcyxjszv8c3f45hbfmj5ln0b0hpfrq0";
+       version = "0.4.0.1";
+       sha256 = "1bsmm6sqxjzlk6mdq5a8vwsc1cy0ag0lvajdpsbqq7vradj54yqq";
        libraryHaskellDepends = [
          base containers inline-c safe-exceptions template-haskell
        ];
@@ -139077,25 +139029,6 @@ self: {
      }:
      mkDerivation {
        pname = "iproute";
-       version = "1.7.7";
-       sha256 = "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6";
-       libraryHaskellDepends = [
-         appar base byteorder containers network
-       ];
-       testHaskellDepends = [
-         appar base byteorder containers doctest hspec network QuickCheck
-         safe
-       ];
-       description = "IP Routing Table";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "iproute_1_7_8" = callPackage
-    ({ mkDerivation, appar, base, byteorder, containers, doctest, hspec
-     , network, QuickCheck, safe
-     }:
-     mkDerivation {
-       pname = "iproute";
        version = "1.7.8";
        sha256 = "0k2qzdw36qp9qs2j0bxsn95ymk3wpjvw6s5c1535aw677gw19bad";
        libraryHaskellDepends = [
@@ -139107,7 +139040,6 @@ self: {
        ];
        description = "IP Routing Table";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "iptables-helpers" = callPackage
@@ -140461,8 +140393,8 @@ self: {
      }:
      mkDerivation {
        pname = "ixset";
-       version = "1.1.1";
-       sha256 = "1wjv6jfkv5z5j3af6dg7zlbir780mshq01x2wzlyav5dwr40di3m";
+       version = "1.1.1.1";
+       sha256 = "1d3h53sq8i8azzr71yi4h5zma2bb2f623gpfw25x2kd4slhpkrgf";
        libraryHaskellDepends = [
          base containers safecopy syb syb-with-class template-haskell
        ];
@@ -145945,12 +145877,12 @@ self: {
      }:
      mkDerivation {
        pname = "lambda-options";
-       version = "1.0.2.0";
-       sha256 = "04h7i79iiq91606x3k7zr2gs3f7apswwv9xxv5lf4qr1h3i4lfix";
+       version = "1.1.0.0";
+       sha256 = "0ihbwml2l4jyd3h2kj5qz7fxzzkq47xk4fkybhp1rnfzxjlqfib3";
        libraryHaskellDepends = [
          base containers funspection mtl read-bounded
        ];
-       description = "Declarative command-line parser using type-driven pattern matching";
+       description = "Declarative command-line parser with type-driven pattern matching";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -151207,26 +151139,6 @@ self: {
 
   "lift-generics" = callPackage
     ({ mkDerivation, base, base-compat, generic-deriving, ghc-prim
-     , hspec, template-haskell
-     }:
-     mkDerivation {
-       pname = "lift-generics";
-       version = "0.1.2";
-       sha256 = "0kk05dp6n93jgxq4x1lrckjrca6lrwa7qklr3vpzc6iyrlbvv7qf";
-       revision = "3";
-       editedCabalFile = "0ackkmjfqxyxhy9w03zlqvmi68la9yv4jf0sc8qdhyr5y30ac68s";
-       libraryHaskellDepends = [
-         base generic-deriving ghc-prim template-haskell
-       ];
-       testHaskellDepends = [
-         base base-compat generic-deriving hspec template-haskell
-       ];
-       description = "GHC.Generics-based Language.Haskell.TH.Syntax.lift implementation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "lift-generics_0_1_3" = callPackage
-    ({ mkDerivation, base, base-compat, generic-deriving, ghc-prim
      , hspec, hspec-discover, template-haskell
      }:
      mkDerivation {
@@ -151242,7 +151154,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "GHC.Generics-based Language.Haskell.TH.Syntax.lift implementation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lift-read-show" = callPackage
@@ -152316,8 +152227,8 @@ self: {
        pname = "linux-evdev";
        version = "0.3.2";
        sha256 = "04ajbcvn8i2xa678f3sgbbrn00rxm1k86wrj9n6w2r8h2yda9s9r";
-       revision = "1";
-       editedCabalFile = "0s7yb9wwh5rp4v2phm5lih29f033rgffldhkm9i2mxsag2qbfg0k";
+       revision = "2";
+       editedCabalFile = "1gnjyc8q7xq60pm362hwibwh97jw8pv66xvqv88cm9nbh0ccf6q2";
        libraryHaskellDepends = [ base bytestring time unix ];
        description = "Bindings to Linux evdev input device interface";
        license = stdenv.lib.licenses.bsd3;
@@ -153382,8 +153293,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-extra";
-       version = "0.8.2";
-       sha256 = "0fv2q05w86xqak5b8w26iy9szzc6khghc622dgqkjywd9b72xs1s";
+       version = "0.8.3";
+       sha256 = "08d1ywx1m82qdyrcg607mbi7szg7mg4vszbnz4i3rgj9snlqj8hr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -153706,8 +153617,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-tf";
-       version = "3.1.2";
-       sha256 = "0k5aj63hl78h8lkxizragvgh57yzzc5ns7h8kz93wicsdxaca8cn";
+       version = "3.9";
+       sha256 = "02x2pq4p9dgal6fri9w1r6dj37m0l8jh0gq6ry2xq0rmq2mz70w4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -158412,31 +158323,6 @@ self: {
      }:
      mkDerivation {
        pname = "massiv";
-       version = "0.4.3.0";
-       sha256 = "0sydba4dr9y0ap8d0sqr52x1pi2qq56ciznznjgdzz6f5gip667c";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base bytestring data-default-class deepseq exceptions primitive
-         scheduler unliftio-core vector
-       ];
-       testHaskellDepends = [
-         base doctest mersenne-random-pure64 QuickCheck random splitmix
-         template-haskell
-       ];
-       description = "Massiv (Массив) is an Array Library";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "massiv_0_4_4_0" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, cabal-doctest
-     , data-default-class, deepseq, doctest, exceptions
-     , mersenne-random-pure64, primitive, QuickCheck, random, scheduler
-     , splitmix, template-haskell, unliftio-core, vector
-     }:
-     mkDerivation {
-       pname = "massiv";
        version = "0.4.4.0";
        sha256 = "13hwf1z9iqybrjsn21gkglqq3knin6x84rflv3wk6wplk7dfhd2n";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -163020,8 +162906,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmsyn6ukr";
-       version = "0.4.1.0";
-       sha256 = "04swk1r6aiakcs52v5n6pa7a2xwvxw60isb24nnhbb6h58xa9zzj";
+       version = "0.5.1.0";
+       sha256 = "1jmbfs0yi7r9lmaxq3dfyrw1rrwhknb7v4xfhrz3w7s8jg3vqs2x";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -164011,29 +163897,6 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger";
-       version = "0.3.30";
-       sha256 = "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7";
-       revision = "1";
-       editedCabalFile = "0gm3gqbxkj8447js4a672snz0ir78syk890nqdmjb18hsjqy5p6a";
-       libraryHaskellDepends = [
-         base bytestring conduit conduit-extra exceptions fast-logger
-         lifted-base monad-control monad-loops mtl resourcet stm stm-chans
-         template-haskell text transformers transformers-base
-         transformers-compat unliftio-core
-       ];
-       description = "A class of monads which can log messages";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "monad-logger_0_3_31" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, conduit-extra
-     , exceptions, fast-logger, lifted-base, monad-control, monad-loops
-     , mtl, resourcet, stm, stm-chans, template-haskell, text
-     , transformers, transformers-base, transformers-compat
-     , unliftio-core
-     }:
-     mkDerivation {
-       pname = "monad-logger";
        version = "0.3.31";
        sha256 = "0awr06bh5d51kci2w2xsj34qvh98sb6dm48a4k05k8awv8hrrpmd";
        libraryHaskellDepends = [
@@ -164044,7 +163907,6 @@ self: {
        ];
        description = "A class of monads which can log messages";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-logger-json" = callPackage
@@ -164086,21 +163948,6 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger-syslog";
-       version = "0.1.5.0";
-       sha256 = "0y96f5qan5na32s8xilky7z30mc7yci1s5i3585aqvqsyyvshchf";
-       libraryHaskellDepends = [
-         base bytestring fast-logger hsyslog monad-logger text transformers
-       ];
-       description = "syslog output for monad-logger";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "monad-logger-syslog_0_1_6_0" = callPackage
-    ({ mkDerivation, base, bytestring, fast-logger, hsyslog
-     , monad-logger, text, transformers
-     }:
-     mkDerivation {
-       pname = "monad-logger-syslog";
        version = "0.1.6.0";
        sha256 = "1n4r0fl043r18683ym3k03sdm3b9wlxfzjgmnxi804kwna639rj3";
        libraryHaskellDepends = [
@@ -164108,7 +163955,6 @@ self: {
        ];
        description = "syslog output for monad-logger";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-loops" = callPackage
@@ -165601,8 +165447,8 @@ self: {
        pname = "months";
        version = "0.1";
        sha256 = "000fqmd5j3pxmfa5bpyk5fd0hbn9iq3g5v1slk4hrjdjm8k19wa0";
-       revision = "1";
-       editedCabalFile = "0d94g382scfwidsqmy417pz19748gs5zx2xykcg4vjwz1j3c47am";
+       revision = "2";
+       editedCabalFile = "030d693d4acc3zlha2rjzalrqn8i5pyqkw0zdp3i1hjr0694hwaf";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat cassava deepseq hashable
          http-api-data intervals lens lucid QuickCheck swagger2 text
@@ -169913,22 +169759,6 @@ self: {
      }:
      mkDerivation {
        pname = "neat-interpolation";
-       version = "0.3.2.4";
-       sha256 = "0lhpjckwhzlvx4cdhrwprwb85vc7hc44ybvk5nswgn7z73cp0wyy";
-       libraryHaskellDepends = [
-         base base-prelude megaparsec template-haskell text
-       ];
-       testHaskellDepends = [ base-prelude HTF ];
-       description = "A quasiquoter for neat and simple multiline text interpolation";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "neat-interpolation_0_3_2_5" = callPackage
-    ({ mkDerivation, base, base-prelude, HTF, megaparsec
-     , template-haskell, text
-     }:
-     mkDerivation {
-       pname = "neat-interpolation";
        version = "0.3.2.5";
        sha256 = "09nb0bypjpfxcm71012c2xxfrq5drvd1nhdmnmhk8wc0r8254g8c";
        libraryHaskellDepends = [
@@ -169937,7 +169767,6 @@ self: {
        testHaskellDepends = [ base-prelude HTF ];
        description = "A quasiquoter for neat and simple multiline text interpolation";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "needle" = callPackage
@@ -171183,25 +171012,12 @@ self: {
     ({ mkDerivation, base, bytestring, doctest }:
      mkDerivation {
        pname = "network-byte-order";
-       version = "0.1.1.1";
-       sha256 = "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c";
-       libraryHaskellDepends = [ base bytestring ];
-       testHaskellDepends = [ base bytestring doctest ];
-       description = "Network byte order utilities";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "network-byte-order_0_1_2_0" = callPackage
-    ({ mkDerivation, base, bytestring, doctest }:
-     mkDerivation {
-       pname = "network-byte-order";
        version = "0.1.2.0";
        sha256 = "1y2azf5zbydzvi4b0hxmy7am4kgpkq8ajnsbrpfrqz87b5y87ccy";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [ base bytestring doctest ];
        description = "Network byte order utilities";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-bytestring" = callPackage
@@ -172803,8 +172619,8 @@ self: {
      }:
      mkDerivation {
        pname = "niv";
-       version = "0.2.6";
-       sha256 = "0805n1dk8w3r2wisqjay36wwvcf4b1f3hx4a368vl2dxw43p9j20";
+       version = "0.2.8";
+       sha256 = "0nggarlbfc8x5y7rp8n5fdzy3xipykxq4fk6irz1jsz4m6fbi9a4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -178778,6 +178594,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pagure-cli" = callPackage
+    ({ mkDerivation, base, bytestring, http-client, http-client-tls
+     , microlens, microlens-aeson, optparse-applicative, simple-cmd-args
+     , text
+     }:
+     mkDerivation {
+       pname = "pagure-cli";
+       version = "0.1";
+       sha256 = "092frs6240wf4nyqdkhny3jkd4v7gjmnd5gwxv9vlprimszns1vi";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring http-client http-client-tls microlens
+         microlens-aeson optparse-applicative simple-cmd-args text
+       ];
+       description = "Pagure client";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
   "pagure-hook-receiver" = callPackage
     ({ mkDerivation, base, containers, scotty, shelly, text
      , transformers, unix
@@ -178988,25 +178823,25 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
-  "pandoc_2_8_1" = callPackage
+  "pandoc_2_9" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
      , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
      , case-insensitive, cmark-gfm, containers, criterion, data-default
-     , deepseq, Diff, directory, doclayout, doctemplates, exceptions
-     , executable-path, filepath, Glob, haddock-library, hslua
-     , hslua-module-system, hslua-module-text, HsYAML, HTTP, http-client
-     , http-client-tls, http-types, ipynb, JuicyPixels, mtl, network
-     , network-uri, pandoc-types, parsec, process, QuickCheck, random
-     , safe, scientific, SHA, skylighting, skylighting-core, split, syb
-     , tagsoup, tasty, tasty-golden, tasty-hunit, tasty-lua
-     , tasty-quickcheck, template-haskell, temporary, texmath, text
-     , text-conversions, time, unicode-transforms, unix
-     , unordered-containers, vector, weigh, xml, zip-archive, zlib
+     , deepseq, Diff, directory, doclayout, doctemplates, emojis
+     , exceptions, executable-path, filepath, Glob, haddock-library
+     , hslua, hslua-module-system, hslua-module-text, HsYAML, HTTP
+     , http-client, http-client-tls, http-types, ipynb, JuicyPixels, mtl
+     , network, network-uri, pandoc-types, parsec, process, QuickCheck
+     , random, safe, scientific, SHA, skylighting, skylighting-core
+     , split, syb, tagsoup, tasty, tasty-golden, tasty-hunit, tasty-lua
+     , tasty-quickcheck, temporary, texmath, text, text-conversions
+     , time, unicode-transforms, unix, unordered-containers, vector
+     , weigh, xml, zip-archive, zlib
      }:
      mkDerivation {
        pname = "pandoc";
-       version = "2.8.1";
-       sha256 = "0lxlsa26ndp09vmi526cg02lwslfryhyw1xk5vlc6v4jb5i7f46x";
+       version = "2.9";
+       sha256 = "1j4n7r4rh22ba4m4h3psy2jm3cxfd6pxlbpw0z613z01g30mr90c";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -179015,12 +178850,12 @@ self: {
          aeson aeson-pretty attoparsec base base64-bytestring binary
          blaze-html blaze-markup bytestring case-insensitive cmark-gfm
          containers data-default deepseq directory doclayout doctemplates
-         exceptions filepath Glob haddock-library hslua hslua-module-system
-         hslua-module-text HsYAML HTTP http-client http-client-tls
-         http-types ipynb JuicyPixels mtl network network-uri pandoc-types
-         parsec process random safe scientific SHA skylighting
-         skylighting-core split syb tagsoup template-haskell temporary
-         texmath text text-conversions time unicode-transforms unix
+         emojis exceptions filepath Glob haddock-library hslua
+         hslua-module-system hslua-module-text HsYAML HTTP http-client
+         http-client-tls http-types ipynb JuicyPixels mtl network
+         network-uri pandoc-types parsec process random safe scientific SHA
+         skylighting skylighting-core split syb tagsoup temporary texmath
+         text text-conversions time unicode-transforms unix
          unordered-containers vector xml zip-archive zlib
        ];
        executableHaskellDepends = [ base ];
@@ -179079,7 +178914,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pandoc-citeproc_0_16_4" = callPackage
+  "pandoc-citeproc_0_16_4_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
      , HsYAML, HsYAML-aeson, libyaml, mtl, network, old-locale, pandoc
@@ -179089,8 +178924,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-citeproc";
-       version = "0.16.4";
-       sha256 = "0mnkhyj56pw8cnycf4ny082rz67gii1x6clzhmxi60zafg07v04c";
+       version = "0.16.4.1";
+       sha256 = "1jbd6g82sn3546kimm0p6n7spfqr3b4dssjkr5v679jwb5w6hwmx";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -179143,8 +178978,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.5.0";
-       sha256 = "1x01qf7v88f42p6h4mjm8rllxm8jl7bj8rq3512qjksns6qajvk4";
+       version = "0.3.6.0";
+       sha256 = "0k1wvkjhlwgr8njsrjiivzyb1pbi17y6nxky4pb5wkkg57fd5847";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -183547,6 +183382,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "persistent-iproute_0_2_4" = callPackage
+    ({ mkDerivation, aeson, aeson-iproute, base, bytestring
+     , http-api-data, iproute, path-pieces, persistent, text
+     }:
+     mkDerivation {
+       pname = "persistent-iproute";
+       version = "0.2.4";
+       sha256 = "1lsprnlgcnj8v38cnbgf2vpj9ivgsvgi3yy3nh1gmvyj7maznkq5";
+       libraryHaskellDepends = [
+         aeson aeson-iproute base bytestring http-api-data iproute
+         path-pieces persistent text
+       ];
+       description = "Persistent instances for types in iproute";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "persistent-map" = callPackage
     ({ mkDerivation, base, binary, containers, directory, EdisonAPI
      , EdisonCore, filepath, LRU, mtl, stm-io-hooks
@@ -185529,29 +185381,6 @@ self: {
      }:
      mkDerivation {
        pname = "pipes";
-       version = "4.3.12";
-       sha256 = "0ni5szs9jl4map05lcyl97dgb69g2xk1a1rdiw8p4024vfyskp8c";
-       libraryHaskellDepends = [
-         base exceptions mmorph mtl semigroups transformers void
-       ];
-       testHaskellDepends = [
-         base mtl QuickCheck test-framework test-framework-quickcheck2
-         transformers
-       ];
-       benchmarkHaskellDepends = [
-         base criterion mtl optparse-applicative transformers
-       ];
-       description = "Compositional pipelines";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "pipes_4_3_13" = callPackage
-    ({ mkDerivation, base, criterion, exceptions, mmorph, mtl
-     , optparse-applicative, QuickCheck, semigroups, test-framework
-     , test-framework-quickcheck2, transformers, void
-     }:
-     mkDerivation {
-       pname = "pipes";
        version = "4.3.13";
        sha256 = "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn";
        libraryHaskellDepends = [
@@ -185566,7 +185395,6 @@ self: {
        ];
        description = "Compositional pipelines";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-aeson" = callPackage
@@ -189442,35 +189270,6 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-binary";
-       version = "0.12.1.3";
-       sha256 = "0y2irx1fw0xqs77qpaa3lk06r2q7j7wzbzriyc274h6lmn85sjdw";
-       libraryHaskellDepends = [
-         aeson base base-prelude binary-parser bytestring
-         bytestring-strict-builder containers loch-th network-ip
-         placeholders scientific text time transformers unordered-containers
-         uuid vector
-       ];
-       testHaskellDepends = [
-         aeson conversion conversion-bytestring conversion-text json-ast
-         loch-th network-ip placeholders postgresql-libpq QuickCheck
-         quickcheck-instances rerebase tasty tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ criterion rerebase ];
-       description = "Encoders and decoders for the PostgreSQL's binary format";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "postgresql-binary_0_12_2" = callPackage
-    ({ mkDerivation, aeson, base, base-prelude, binary-parser
-     , bytestring, bytestring-strict-builder, containers, conversion
-     , conversion-bytestring, conversion-text, criterion, json-ast
-     , loch-th, network-ip, placeholders, postgresql-libpq, QuickCheck
-     , quickcheck-instances, rerebase, scientific, tasty, tasty-hunit
-     , tasty-quickcheck, text, time, transformers, unordered-containers
-     , uuid, vector
-     }:
-     mkDerivation {
-       pname = "postgresql-binary";
        version = "0.12.2";
        sha256 = "1zkhwl8g141p1zgnbxjhh0r6wgvzlpwdbvyl80z31fdxd5v29bv8";
        libraryHaskellDepends = [
@@ -189487,7 +189286,6 @@ self: {
        benchmarkHaskellDepends = [ criterion rerebase ];
        description = "Encoders and decoders for the PostgreSQL's binary format";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "postgresql-common" = callPackage
@@ -191868,10 +191666,8 @@ self: {
      }:
      mkDerivation {
        pname = "primitive-containers";
-       version = "0.4.0";
-       sha256 = "0ljb6np2yxnclqvz2sbpvjs027z701nsdhvmgy607am95sskxlrz";
-       revision = "1";
-       editedCabalFile = "18pxbfqjy2kfxgq1033bp3ci6xjj1ilnik2v5dzdcqlxr923zvkc";
+       version = "0.4.1";
+       sha256 = "1gi4fbxdhlzdyi9nnfmfyxl012hs5bam2kgvv8240mq5kxgimf06";
        libraryHaskellDepends = [
          base contiguous deepseq hashable primitive primitive-sort
          primitive-unlifted
@@ -194111,23 +193907,6 @@ self: {
      }:
      mkDerivation {
        pname = "protocol-buffers";
-       version = "2.4.12";
-       sha256 = "0z1vkqdhj41bqnjhks4d82jby6l9j91k8ycna76bhv9p2w0gvp4g";
-       libraryHaskellDepends = [
-         aeson array base base16-bytestring binary bytestring containers
-         directory filepath mtl parsec syb text utf8-string vector
-       ];
-       description = "Parse Google Protocol Buffer specifications";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "protocol-buffers_2_4_13" = callPackage
-    ({ mkDerivation, aeson, array, base, base16-bytestring, binary
-     , bytestring, containers, directory, filepath, mtl, parsec, syb
-     , text, utf8-string, vector
-     }:
-     mkDerivation {
-       pname = "protocol-buffers";
        version = "2.4.13";
        sha256 = "0xwfb2bkh4nd34s24q786ph4zyrnnl3bcry2kqx3sw20yk3zfdsc";
        libraryHaskellDepends = [
@@ -194136,27 +193915,12 @@ self: {
        ];
        description = "Parse Google Protocol Buffer specifications";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "protocol-buffers-descriptor" = callPackage
     ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
      mkDerivation {
        pname = "protocol-buffers-descriptor";
-       version = "2.4.12";
-       sha256 = "0h4c1pgl51h7xrsm76mz6wd1l41ps93y3nvdl0p7mks9w7wlpccn";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base bytestring containers protocol-buffers
-       ];
-       description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "protocol-buffers-descriptor_2_4_13" = callPackage
-    ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
-     mkDerivation {
-       pname = "protocol-buffers-descriptor";
        version = "2.4.13";
        sha256 = "1c3aiysjlk7r02l5902iq020iasiswk9c1mvf4f9h1yijba4x4fp";
        enableSeparateDataOutput = true;
@@ -194165,7 +193929,6 @@ self: {
        ];
        description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "protocol-buffers-descriptor-fork" = callPackage
@@ -197852,14 +197615,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "rainbox_0_24_2_0" = callPackage
+  "rainbox_0_24_4_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, lens, QuickCheck
      , rainbow, tasty, tasty-quickcheck, text
      }:
      mkDerivation {
        pname = "rainbox";
-       version = "0.24.2.0";
-       sha256 = "1b1nkw7j24fcmgzkcn92j6c8v6abrhg9580hnwna1b4sjjx6ayak";
+       version = "0.24.4.0";
+       sha256 = "13532qzpvlq976049bdfyqzhb4g843ij3b7w654xqb2ng9q4inwz";
        libraryHaskellDepends = [
          base bytestring containers lens rainbow text
        ];
@@ -197959,6 +197722,45 @@ self: {
        broken = true;
      }) {};
 
+  "ral" = callPackage
+    ({ mkDerivation, adjunctions, base, bin, criterion, deepseq
+     , distributive, fin, hashable, QuickCheck, semigroupoids, vector
+     }:
+     mkDerivation {
+       pname = "ral";
+       version = "0.1";
+       sha256 = "0h8jqaapagrp9faixq817lib8l4nq4ycjj6ppl1ra8llnfsz5304";
+       libraryHaskellDepends = [
+         adjunctions base bin deepseq distributive fin hashable QuickCheck
+         semigroupoids
+       ];
+       benchmarkHaskellDepends = [ base criterion vector ];
+       description = "Random access lists";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
+  "ral-lens" = callPackage
+    ({ mkDerivation, base, bin, fin, lens, ral }:
+     mkDerivation {
+       pname = "ral-lens";
+       version = "0.1";
+       sha256 = "0hm8mzj51hdql8rp3v0yvmcvmgha4ys8zsgbbx93mlp2b4rfhzpv";
+       libraryHaskellDepends = [ base bin fin lens ral ];
+       description = "Length-indexed random access lists: lens utilities";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
+  "ral-optics" = callPackage
+    ({ mkDerivation, base, bin, fin, optics-core, ral }:
+     mkDerivation {
+       pname = "ral-optics";
+       version = "0.1";
+       sha256 = "0sky2zbh6wn4xlfc6sbrx7lvvy01qv69j80k0n4w9fyrq9ammb3r";
+       libraryHaskellDepends = [ base bin fin optics-core ral ];
+       description = "Length-indexed random access lists: optics utilities";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
   "ralist" = callPackage
     ({ mkDerivation, base, criterion, deepseq, hspec }:
      mkDerivation {
@@ -198201,23 +198003,6 @@ self: {
      }) {};
 
   "random-fu" = callPackage
-    ({ mkDerivation, base, erf, log-domain, math-functions, monad-loops
-     , mtl, random-shuffle, random-source, rvar, syb, template-haskell
-     , transformers, vector
-     }:
-     mkDerivation {
-       pname = "random-fu";
-       version = "0.2.7.0";
-       sha256 = "1i5hg74gv6885vnhmyknydhsyrps2h5zjiq4dv992jg3xnrs9cxn";
-       libraryHaskellDepends = [
-         base erf log-domain math-functions monad-loops mtl random-shuffle
-         random-source rvar syb template-haskell transformers vector
-       ];
-       description = "Random number generation";
-       license = stdenv.lib.licenses.publicDomain;
-     }) {};
-
-  "random-fu_0_2_7_3" = callPackage
     ({ mkDerivation, base, erf, math-functions, monad-loops, mtl
      , random-shuffle, random-source, rvar, syb, template-haskell
      , transformers, vector
@@ -198232,7 +198017,6 @@ self: {
        ];
        description = "Random number generation";
        license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "random-fu-multivariate" = callPackage
@@ -200312,8 +200096,8 @@ self: {
      }:
      mkDerivation {
        pname = "record-dot-preprocessor";
-       version = "0.2.1";
-       sha256 = "1l6s793l4xxmm7x6zxinvfi19wdnhvklv7lp15gk0mw43ddmpbv5";
+       version = "0.2.2";
+       sha256 = "1rxa8dzh0ga9xrlwrwzf5lm9miql9lkmcyiy0nrc3s5lkxdsppww";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base extra ghc uniplate ];
@@ -201607,8 +201391,8 @@ self: {
     ({ mkDerivation, base, hsp, hsx2hs, reform, text }:
      mkDerivation {
        pname = "reform-hsp";
-       version = "0.2.7.1";
-       sha256 = "084d03inyplx3n2zykaz2g7gskzs9hcjq8klhlnzpb1b6ahx5va8";
+       version = "0.2.7.2";
+       sha256 = "1vjbj41yl158h59wcx190jb4s627bhrhcbp21ykn93n4j454kfns";
        libraryHaskellDepends = [ base hsp hsx2hs reform text ];
        description = "Add support for using HSP with Reform";
        license = stdenv.lib.licenses.bsd3;
@@ -207960,18 +207744,6 @@ self: {
     ({ mkDerivation, base, deepseq, QuickCheck }:
      mkDerivation {
        pname = "safe";
-       version = "0.3.17";
-       sha256 = "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base deepseq QuickCheck ];
-       description = "Library of safe (exception free) functions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "safe_0_3_18" = callPackage
-    ({ mkDerivation, base, deepseq, QuickCheck }:
-     mkDerivation {
-       pname = "safe";
        version = "0.3.18";
        sha256 = "1v8gxjlq5wz5adyrd8i3dax5hcxrqq0i54m85zpfwfzqibi5nxyp";
        revision = "1";
@@ -207980,7 +207752,6 @@ self: {
        testHaskellDepends = [ base deepseq QuickCheck ];
        description = "Library of safe (exception free) functions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "safe-access" = callPackage
@@ -212030,27 +211801,6 @@ self: {
      }:
      mkDerivation {
        pname = "semigroupoids";
-       version = "5.3.3";
-       sha256 = "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base base-orphans bifunctors comonad containers contravariant
-         distributive hashable tagged template-haskell transformers
-         transformers-compat unordered-containers
-       ];
-       testHaskellDepends = [ base doctest ];
-       description = "Semigroupoids: Category sans id";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "semigroupoids_5_3_4" = callPackage
-    ({ mkDerivation, base, base-orphans, bifunctors, Cabal
-     , cabal-doctest, comonad, containers, contravariant, distributive
-     , doctest, hashable, tagged, template-haskell, transformers
-     , transformers-compat, unordered-containers
-     }:
-     mkDerivation {
-       pname = "semigroupoids";
        version = "5.3.4";
        sha256 = "0r49qpbi803jk3v4i09jr1a98l6hcgnjhrv1a9fhmay3ff4y9lh0";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -212062,7 +211812,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Semigroupoids: Category sans id";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "semigroupoids-syntax" = callPackage
@@ -218314,6 +218063,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "simple-cmd_0_2_1" = callPackage
+    ({ mkDerivation, base, directory, filepath, process, unix }:
+     mkDerivation {
+       pname = "simple-cmd";
+       version = "0.2.1";
+       sha256 = "1b35hsxr63n3nbpjdf7ailsmp4yk6k8nscx8xxv453v0r3v89hss";
+       libraryHaskellDepends = [ base directory filepath process unix ];
+       description = "Simple String-based process commands";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "simple-cmd-args" = callPackage
     ({ mkDerivation, base, optparse-applicative }:
      mkDerivation {
@@ -220819,28 +220580,27 @@ self: {
      }) {};
 
   "smcdel" = callPackage
-    ({ mkDerivation, alex, ansi-terminal, array, base, containers
-     , criterion, cudd, directory, file-embed, filepath, graphviz, happy
-     , HasCacBDD, hspec, js-jquery, lens, process, QuickCheck, scotty
-     , tagged, template-haskell, temporary, text, time
+    ({ mkDerivation, ansi-terminal, array, base, containers, criterion
+     , cudd, directory, file-embed, filepath, graphviz, HasCacBDD, hspec
+     , js-jquery, process, QuickCheck, scotty, tagged, template-haskell
+     , temporary, text, time
      }:
      mkDerivation {
        pname = "smcdel";
-       version = "1.0.0";
-       sha256 = "1yi2qw76i9cch1flnqd7gsradkm2gr31i8595rwf11xgvj3r3s3f";
+       version = "1.1.0";
+       sha256 = "0dz1hbhf3y57cn4hh5s2fscnpw7zjnrl2hl644xl81vbpl1zbzyn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         array base containers cudd graphviz HasCacBDD lens process
-         QuickCheck tagged temporary text time
+         array base containers cudd graphviz HasCacBDD process QuickCheck
+         tagged temporary text time
        ];
        executableHaskellDepends = [
          ansi-terminal base directory file-embed filepath HasCacBDD
          js-jquery process scotty template-haskell text
        ];
-       executableToolDepends = [ alex happy ];
        testHaskellDepends = [ base containers hspec QuickCheck ];
-       benchmarkHaskellDepends = [ base containers criterion time ];
+       benchmarkHaskellDepends = [ base criterion time ];
        description = "Symbolic Model Checking for Dynamic Epistemic Logic";
        license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -223696,8 +223456,8 @@ self: {
      }:
      mkDerivation {
        pname = "spacecookie";
-       version = "0.2.1.0";
-       sha256 = "0a8zsywkmbw7rj4iin72l2zcbyzjb0yhpmz6bv226cn0x44iy1nc";
+       version = "0.2.1.1";
+       sha256 = "0l3knzsqab58yyk6kafpxxh465ncgqr2gi388k89gxwrlcqkl8wr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -223710,8 +223470,6 @@ self: {
        ];
        description = "Gopher Library and Server Daemon";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "spacefill" = callPackage
@@ -226133,8 +225891,10 @@ self: {
      }:
      mkDerivation {
        pname = "stack2cabal";
-       version = "1.0.4";
-       sha256 = "1s0icdri5gqk01x7r8gnml4wx1bd2500456iif1dg858c41rgzl6";
+       version = "1.0.5";
+       sha256 = "15swq7rv997fh1qka7ga5hc90gc889xzkx61910jz3an6sy5zx0p";
+       revision = "1";
+       editedCabalFile = "15qc686alcfbxjpr7iyi2bxv801cmbkqvncpb6jd0879ll9lznrh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -229217,6 +228977,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "streamly-fsnotify" = callPackage
+    ({ mkDerivation, base, fsnotify, paths, semirings, streamly, text
+     , time
+     }:
+     mkDerivation {
+       pname = "streamly-fsnotify";
+       version = "1.0.0.1";
+       sha256 = "0w81r0szdf4q8v6n389qlzwslhfwvjf0m9nihxsm1y0jgxbzy5cb";
+       libraryHaskellDepends = [
+         base fsnotify paths semirings streamly text time
+       ];
+       description = "Folder watching as a Streamly stream";
+       license = stdenv.lib.licenses.gpl3Plus;
+     }) {};
+
   "streamproc" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -231904,8 +231679,8 @@ self: {
      }:
      mkDerivation {
        pname = "syb-with-class";
-       version = "0.6.1.11";
-       sha256 = "0fgmcxhrhcjcv5nmb5irp6mqcwknpk15azzd0qhajwx8mqpw6b8l";
+       version = "0.6.1.12";
+       sha256 = "1cxy0mph0kqdi3hzy5x3c754a3sjdn14x64ga4bkhvzi6iwbfcq0";
        libraryHaskellDepends = [
          array base bytestring containers template-haskell
        ];
@@ -232835,8 +232610,8 @@ self: {
      }:
      mkDerivation {
        pname = "synthesizer-llvm";
-       version = "0.8.2";
-       sha256 = "0vf0p1ajs7k327cc1dwm6ja2qyby865g1bqc6mzrjn826dv2vric";
+       version = "0.8.2.1";
+       sha256 = "0bgla347pfdaai41rp9jny2k1hv0k1s8jdmqhd54v5c60cxl6p9l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -234364,6 +234139,8 @@ self: {
        pname = "tar";
        version = "0.5.1.1";
        sha256 = "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k";
+       revision = "1";
+       editedCabalFile = "1ni8zym7k6f1hg6wfvnnf3xcs2ar3z8xaabkgjg8q329arjcm8wp";
        libraryHaskellDepends = [
          array base bytestring containers deepseq directory filepath time
        ];
@@ -235059,18 +234836,18 @@ self: {
      }) {};
 
   "tasty-rerun" = callPackage
-    ({ mkDerivation, base, containers, mtl, optparse-applicative
-     , reducers, split, stm, tagged, tasty, transformers
+    ({ mkDerivation, base, containers, mtl, optparse-applicative, split
+     , stm, tagged, tasty, transformers
      }:
      mkDerivation {
        pname = "tasty-rerun";
-       version = "1.1.14";
-       sha256 = "0s0zj8ds4g1w2cjzm2lh25ivg962jigqdrbj08v3dbz64lx4mlzr";
+       version = "1.1.15";
+       sha256 = "008pwf3mqn18vxzxym6zbfm7kf4g415g3722r41vdbh972xkz3w2";
        libraryHaskellDepends = [
-         base containers mtl optparse-applicative reducers split stm tagged
-         tasty transformers
+         base containers mtl optparse-applicative split stm tagged tasty
+         transformers
        ];
-       description = "Run tests by filtering the test tree depending on the result of previous test runs";
+       description = "Rerun only tests which failed in a previous test run";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -235477,8 +235254,8 @@ self: {
        pname = "tdigest-Chart";
        version = "0.2";
        sha256 = "1ciq7d187as9sk1dpccm2s02b6jdhij1l477wff0a7labgw21l0l";
-       revision = "1";
-       editedCabalFile = "1095k2sgyjd5m38j1qxa1df9izzdpjl80lrsmwhjm1jw4lmk8cys";
+       revision = "2";
+       editedCabalFile = "07fg2pnj06vz2cwyxqyx40ghd0d7p9byazds7lhim4z397gngk0f";
        libraryHaskellDepends = [
          base base-compat Chart colour lens semigroupoids tdigest
        ];
@@ -236624,12 +236401,12 @@ self: {
      , hedgehog, inline-c, lens, mono-traversable, pcre2, pretty-simple
      , QuickCheck, singletons, tasty, tasty-hedgehog, tasty-hspec
      , template-haskell, text, transformers, vte_291, xml-conduit
-     , xml-html-qq
+     , xml-html-qq, yaml
      }:
      mkDerivation {
        pname = "termonad";
-       version = "2.1.0.0";
-       sha256 = "0acw3qkph2j5vxl1zw4g21z6xn3w8r6q0v6wpnavd3drzyvw6hyn";
+       version = "3.0.0.0";
+       sha256 = "11c58k6iyqry5dfdbxsvmca19w10igb4yd1nk2ap6h7zsav2rjgn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -236640,6 +236417,7 @@ self: {
          focuslist gi-gdk gi-gio gi-glib gi-gtk gi-pango gi-vte
          haskell-gi-base inline-c lens mono-traversable pretty-simple
          QuickCheck singletons text transformers xml-conduit xml-html-qq
+         yaml
        ];
        libraryPkgconfigDepends = [ gtk3 pcre2 vte_291 ];
        executableHaskellDepends = [ base ];
@@ -238901,21 +238679,6 @@ self: {
      }:
      mkDerivation {
        pname = "th-lift";
-       version = "0.8.0.1";
-       sha256 = "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0";
-       libraryHaskellDepends = [
-         base ghc-prim template-haskell th-abstraction
-       ];
-       testHaskellDepends = [ base ghc-prim template-haskell ];
-       description = "Derive Template Haskell's Lift class for datatypes";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "th-lift_0_8_1" = callPackage
-    ({ mkDerivation, base, ghc-prim, template-haskell, th-abstraction
-     }:
-     mkDerivation {
-       pname = "th-lift";
        version = "0.8.1";
        sha256 = "1msyisgn30l2sd7jagab38r8q9mbi4phmqk4g3fddn4l6wcz989z";
        libraryHaskellDepends = [
@@ -238924,7 +238687,6 @@ self: {
        testHaskellDepends = [ base ghc-prim template-haskell ];
        description = "Derive Template Haskell's Lift class for datatypes";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "th-lift-instances" = callPackage
@@ -239974,10 +239736,8 @@ self: {
      }:
      mkDerivation {
        pname = "tibetan-utils";
-       version = "0.1.1.10";
-       sha256 = "11bzcan2vfhdz6lwfvfgiyycqf30p4kdkzn47pm4ydr6bbpz8aia";
-       revision = "1";
-       editedCabalFile = "0gm271p3m3y0x9lfi5yviznqfr65f0if553z6h977dqk3f3psyfd";
+       version = "0.1.2.0";
+       sha256 = "1bw10jahy0s9ai6ryfdx58jzjib146x7kzqkg65z71brvm0cliza";
        libraryHaskellDepends = [
          base composition-prelude megaparsec text
        ];
@@ -241688,7 +241448,7 @@ self: {
        broken = true;
      }) {};
 
-  "tmp-postgres_1_27_0_4" = callPackage
+  "tmp-postgres_1_31_0_1" = callPackage
     ({ mkDerivation, ansi-wl-pprint, async, base, base64-bytestring
      , bytestring, containers, criterion, cryptohash-sha1, deepseq
      , directory, generic-monoid, hspec, mtl, network, port-utils
@@ -241697,8 +241457,8 @@ self: {
      }:
      mkDerivation {
        pname = "tmp-postgres";
-       version = "1.27.0.4";
-       sha256 = "0iqr0w9yhxxx9ld7bd96zal08q75ca9b9mpifhjj1wll05ml9vdq";
+       version = "1.31.0.1";
+       sha256 = "0nlg0hi0rcfk77jm927i1w63mh4x9y1p4j3fqbd13c2a6pg084vw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -241717,7 +241477,7 @@ self: {
          unix
        ];
        benchmarkHaskellDepends = [
-         base criterion deepseq postgres-options postgresql-simple
+         base criterion deepseq postgres-options postgresql-simple temporary
        ];
        description = "Start and stop a temporary postgres";
        license = stdenv.lib.licenses.bsd3;
@@ -242847,19 +242607,19 @@ self: {
      }) {};
 
   "tptp" = callPackage
-    ({ mkDerivation, attoparsec, base, Cabal, directory, doctest, extra
+    ({ mkDerivation, attoparsec, base, Cabal, directory, extra
      , generic-random, prettyprinter, QuickCheck, scientific, text
      }:
      mkDerivation {
        pname = "tptp";
-       version = "0.1.0.3";
-       sha256 = "1h00g4263akyfgirvdw5ylbiskl3hhrx58jar59blj57k0i969wi";
+       version = "0.1.1.0";
+       sha256 = "0cwjl8531zzl9mmgp7hq9jr9i9m32yf2j016v2p6h3r93kysbhrf";
        libraryHaskellDepends = [
          attoparsec base prettyprinter scientific text
        ];
        testHaskellDepends = [
-         attoparsec base Cabal directory doctest extra generic-random
-         prettyprinter QuickCheck scientific text
+         attoparsec base Cabal directory extra generic-random prettyprinter
+         QuickCheck scientific text
        ];
        description = "A parser and a pretty printer for the TPTP language";
        license = stdenv.lib.licenses.gpl3;
@@ -243897,8 +243657,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter";
-       version = "0.6.0.0";
-       sha256 = "1kdx7axkx34h6jlmpzvmqbabyiqj3yp78bl1qn6aj5c2mql4hi12";
+       version = "0.7.1.0";
+       sha256 = "1xbgii27xn858373nly4q73y1ghrpv069pxjd5bc30rff611rqvz";
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath fused-effects
          semantic-source split template-haskell text unordered-containers
@@ -243914,8 +243674,8 @@ self: {
     ({ mkDerivation, base, template-haskell, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-go";
-       version = "0.2.0.1";
-       sha256 = "1l1phqnsfsi47pqcjn84i8pqxfyslnrhw8an9g6fxx21gc6sdn45";
+       version = "0.3.0.0";
+       sha256 = "07r8dlx8r3g1sdc23w544clb658wiw5rjl33m967li5sq7g1w1aj";
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for Go";
@@ -243947,8 +243707,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter-java";
-       version = "0.5.0.0";
-       sha256 = "0rmmsp1alyvc94f61qfha5wm0z2605n9wz3yxaac58bqghsqjx8f";
+       version = "0.6.0.0";
+       sha256 = "1jz740pj2ihmkf06ixii93msfn40lh5mky3qc5bvwk5xqf4ai716";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base semantic-source template-haskell tree-sitter
@@ -243968,8 +243728,8 @@ self: {
     ({ mkDerivation, base, template-haskell, text, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-json";
-       version = "0.4.0.0";
-       sha256 = "1syd5md8gwxhcfqwvfy4f3rilpn8fr83ib54wa3mmf7165jscwpz";
+       version = "0.5.0.0";
+       sha256 = "1mq1v81d00l80pg6mji9w1g464hxvgv28djnxany5vy2g38ns7q9";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base template-haskell text tree-sitter ];
        doHaddock = false;
@@ -243985,6 +243745,8 @@ self: {
        pname = "tree-sitter-php";
        version = "0.2.0.1";
        sha256 = "0dxszds10fr3zp1vjcj18b44mv6hmbzskmai14x03zgimxgwwaqm";
+       revision = "1";
+       editedCabalFile = "0k5qq7m0m3imgyhwyakrfjzxf5pjw6p7p3iwm01bj96ya8iy71ia";
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for PHP";
@@ -244001,8 +243763,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter-python";
-       version = "0.7.0.0";
-       sha256 = "0s86c4jbfp8dbkkqxdq9k28xphx5vrkf2ss1xzjq88bkzz6q7hqy";
+       version = "0.8.0.0";
+       sha256 = "08a698qqjck0nml11nrgyzvgrjbkanyvfv0x0bqng0w3mjk62yf0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base directory filepath semantic-source template-haskell
@@ -244023,8 +243785,8 @@ self: {
     ({ mkDerivation, base, template-haskell, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-ruby";
-       version = "0.2.0.1";
-       sha256 = "1rk49pm93avr9fap8xim7zl26wms50q2f5x2yp9nq5w3mbm3j3sc";
+       version = "0.3.1.0";
+       sha256 = "0kndnmnhfff4d936irvsc545x3npxqspf21qwwqwn4c5n3ispv2p";
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for Ruby";
@@ -244037,8 +243799,8 @@ self: {
     ({ mkDerivation, base, template-haskell, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-tsx";
-       version = "0.2.1.1";
-       sha256 = "1r4kr4c0vslw3j2hanzf8wifabfynz5brayd6kz1hpczg8icandm";
+       version = "0.3.0.0";
+       sha256 = "029dapll3jw4m0fxmbxn3nj4jgi8j777ajyc8zx8m2f12zly3y5i";
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for TSX";
@@ -244051,8 +243813,8 @@ self: {
     ({ mkDerivation, base, template-haskell, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-typescript";
-       version = "0.2.1.1";
-       sha256 = "0i8vnc0afqnf8lnl8rmsax6b9pfx3s14s8q35f0h3ghpv9b38bs6";
+       version = "0.3.0.0";
+       sha256 = "0gkhbsmrjkf6q4bwlhws2zmnkhjval7qrbvqlcnmmvx384aiis72";
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for TypeScript";
@@ -244065,8 +243827,8 @@ self: {
     ({ mkDerivation, base, containers, doctest, mtl }:
      mkDerivation {
        pname = "tree-traversals";
-       version = "0.1.0.0";
-       sha256 = "0wdy1p94096qdc00w8pmbz6qcawc0ivlhy0sg0b3jir0s2ksdccb";
+       version = "0.1.1.0";
+       sha256 = "0wsa4qxlxk6308smv957by8fmnsnsxnxxga8c66bvnhlr95rg9rk";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base containers doctest mtl ];
        description = "Functions and newtype wrappers for traversing Trees";
@@ -246784,6 +246546,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "typed-digits" = callPackage
+    ({ mkDerivation, base, doctest, Glob, hspec, hspec-discover, nats
+     , QuickCheck, singletons
+     }:
+     mkDerivation {
+       pname = "typed-digits";
+       version = "0.1.0.0";
+       sha256 = "1x2kyvz0bdcy9iqh0222386r4kbj2in7dpll9jn461v4v0s9bgvc";
+       libraryHaskellDepends = [ base nats singletons ];
+       testHaskellDepends = [
+         base doctest Glob hspec hspec-discover QuickCheck
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Digits, indexed by their base at the type level";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "typed-duration" = callPackage
     ({ mkDerivation, base, lifted-base, monad-control
      , transformers-base
@@ -247442,6 +247221,24 @@ self: {
        license = "(BSD-3-Clause OR Apache-2.0)";
      }) {};
 
+  "ucd" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, gauge
+     , regex-applicative, util
+     }:
+     mkDerivation {
+       pname = "ucd";
+       version = "0.0.1.3";
+       sha256 = "1za494jgm3zml4ik203863kwni6pz5dsw6ssn06bjbyk7l7pbg33";
+       setupHaskellDepends = [
+         base Cabal containers directory regex-applicative util
+       ];
+       libraryHaskellDepends = [ base util ];
+       testHaskellDepends = [ base util ];
+       benchmarkHaskellDepends = [ base gauge util ];
+       description = "Unicode Character Database — Predicates on characters specified by Unicode";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "uconv" = callPackage
     ({ mkDerivation, base, icu }:
      mkDerivation {
@@ -250648,23 +250445,11 @@ self: {
     ({ mkDerivation, base, transformers }:
      mkDerivation {
        pname = "util";
-       version = "0.1.14.0";
-       sha256 = "0z3zwn3990nx26xrvdaz9dmlr01477jjfiqcjk5h5qy9h0npc4jd";
-       libraryHaskellDepends = [ base transformers ];
-       description = "Utilities";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "util_0_1_14_1" = callPackage
-    ({ mkDerivation, base, transformers }:
-     mkDerivation {
-       pname = "util";
        version = "0.1.14.1";
        sha256 = "17y07674dkhgq8yxrdfqj3ycaw5232rc1dnfh7r0v4ca2fyhx5a8";
        libraryHaskellDepends = [ base transformers ];
        description = "Utilities";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "util-exception" = callPackage
@@ -251025,8 +250810,8 @@ self: {
      }:
      mkDerivation {
        pname = "uuid-orphans";
-       version = "1.4.3";
-       sha256 = "0bfjyc6dg0k7vrd0i1w7ijdld3ns46jdy3dhybh9r2k08kr7fkgy";
+       version = "1.4.4";
+       sha256 = "1qmlnzqdm9wrczlknw53y91yvdzfjbxs10szxvg9xaa4bj7gs5rw";
        libraryHaskellDepends = [
          base safecopy text th-lift uuid-types web-routes
        ];
@@ -252091,17 +251876,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "vec_0_2" = callPackage
+  "vec_0_3" = callPackage
     ({ mkDerivation, adjunctions, base, base-compat, criterion, deepseq
-     , distributive, fin, hashable, inspection-testing, lens
+     , distributive, fin, hashable, inspection-testing, QuickCheck
      , semigroupoids, tagged, transformers, vector
      }:
      mkDerivation {
        pname = "vec";
-       version = "0.2";
-       sha256 = "0jh3na9nvljvshzij3hca8g2gpbsrp253fqnqzpq4p8bkv8zkfj1";
+       version = "0.3";
+       sha256 = "0r2jk3jqwn0r4wnpgc8k8i664g3rrs6dkyfsysysn4w10j22j5sr";
        libraryHaskellDepends = [
-         adjunctions base base-compat deepseq distributive fin hashable lens
+         adjunctions base deepseq distributive fin hashable QuickCheck
          semigroupoids transformers
        ];
        testHaskellDepends = [
@@ -252113,6 +251898,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "vec-lens" = callPackage
+    ({ mkDerivation, base, fin, lens, vec }:
+     mkDerivation {
+       pname = "vec-lens";
+       version = "0.3";
+       sha256 = "0i08p7rfmivf03mir7hcbkr7rarji95icsyvi6diclav1jd6fa7q";
+       libraryHaskellDepends = [ base fin lens vec ];
+       description = "Vec: length-indexed (sized) list: lens support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vec-optics" = callPackage
+    ({ mkDerivation, base, fin, optics-core, vec }:
+     mkDerivation {
+       pname = "vec-optics";
+       version = "0.3";
+       sha256 = "13g0j9hn27jfjlrm7c6bdsb2lhwrg016cal7hdic8azdxgdp8n0a";
+       libraryHaskellDepends = [ base fin optics-core vec ];
+       description = "Vec: length-indexed (sized) list: optics support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "vect" = callPackage
     ({ mkDerivation, base, random }:
      mkDerivation {
@@ -252204,25 +252011,6 @@ self: {
      }:
      mkDerivation {
        pname = "vector-algorithms";
-       version = "0.8.0.1";
-       sha256 = "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m";
-       revision = "2";
-       editedCabalFile = "0ms473xd1d81dbg47kjr9gxqs11ipg2j1kk99q37rhvrbr5xv5l4";
-       libraryHaskellDepends = [ base bytestring primitive vector ];
-       testHaskellDepends = [
-         base bytestring containers QuickCheck vector
-       ];
-       benchmarkHaskellDepends = [ base mwc-random vector ];
-       description = "Efficient algorithms for vector arrays";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "vector-algorithms_0_8_0_3" = callPackage
-    ({ mkDerivation, base, bytestring, containers, mwc-random
-     , primitive, QuickCheck, vector
-     }:
-     mkDerivation {
-       pname = "vector-algorithms";
        version = "0.8.0.3";
        sha256 = "11vks2h9f5gk0irsx5j9xwlicbzkv3k80sx76j5k3zb38q0izi0s";
        libraryHaskellDepends = [ base bytestring primitive vector ];
@@ -252232,7 +252020,6 @@ self: {
        benchmarkHaskellDepends = [ base mwc-random vector ];
        description = "Efficient algorithms for vector arrays";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "vector-binary" = callPackage
@@ -252748,6 +252535,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "venzone" = callPackage
+    ({ mkDerivation, ansi-terminal-game, base, containers, directory
+     , file-embed, filepath, fsnotify, hspec, line-drawing, megaparsec
+     , microlens, microlens-platform, mtl, QuickCheck, utf8-light
+     }:
+     mkDerivation {
+       pname = "venzone";
+       version = "1.0.0.4";
+       sha256 = "1jqhv6xi0yn970h0wlzhlhrfwjr44drpwvys9kvfi4di7cg4pc74";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         ansi-terminal-game base containers directory file-embed filepath
+         fsnotify line-drawing megaparsec microlens microlens-platform mtl
+         utf8-light
+       ];
+       testHaskellDepends = [
+         ansi-terminal-game base containers directory file-embed filepath
+         hspec line-drawing megaparsec microlens microlens-platform mtl
+         QuickCheck utf8-light
+       ];
+       description = "ASCII platform-adventure game";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "verbalexpressions" = callPackage
     ({ mkDerivation, base, regex-pcre }:
      mkDerivation {
@@ -257710,20 +257525,6 @@ self: {
      }) {};
 
   "weigh" = callPackage
-    ({ mkDerivation, base, deepseq, mtl, process, split, temporary }:
-     mkDerivation {
-       pname = "weigh";
-       version = "0.0.14";
-       sha256 = "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g";
-       libraryHaskellDepends = [
-         base deepseq mtl process split temporary
-       ];
-       testHaskellDepends = [ base deepseq ];
-       description = "Measure allocations of a Haskell functions/values";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "weigh_0_0_16" = callPackage
     ({ mkDerivation, base, deepseq, ghc, mtl, process, split, temporary
      }:
      mkDerivation {
@@ -257736,7 +257537,6 @@ self: {
        testHaskellDepends = [ base deepseq ];
        description = "Measure allocations of a Haskell functions/values";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "weighted" = callPackage
@@ -260492,28 +260292,6 @@ self: {
      }:
      mkDerivation {
        pname = "xeno";
-       version = "0.3.5.1";
-       sha256 = "1bdvj5ql0q9i8vb3429d8kl3hyk45r37s23rm76mhwhazhqxcm60";
-       revision = "1";
-       editedCabalFile = "0d9w9x6lwhvshy4dbvd80ckb9p0g4vcmzy6kvwai9rqmszf89cnh";
-       libraryHaskellDepends = [
-         array base bytestring deepseq hspec mtl mutable-containers vector
-       ];
-       testHaskellDepends = [ base bytestring hexml hspec ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion deepseq ghc-prim hexml hexpat weigh xml
-       ];
-       description = "A fast event-based XML parser in pure Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "xeno_0_3_5_2" = callPackage
-    ({ mkDerivation, array, base, bytestring, criterion, deepseq
-     , ghc-prim, hexml, hexpat, hspec, mtl, mutable-containers, vector
-     , weigh, xml
-     }:
-     mkDerivation {
-       pname = "xeno";
        version = "0.3.5.2";
        sha256 = "0xfhdi5d0y3rlsmzczdg8b896l9q31nify1vsq0vfqqhfn75pw8l";
        libraryHaskellDepends = [
@@ -260525,7 +260303,6 @@ self: {
        ];
        description = "A fast event-based XML parser in pure Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xenstore" = callPackage
@@ -261820,8 +261597,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.31";
-       sha256 = "1sbxva4zaj060bigmxivpn4zlz0q1qbq2np8gljdqkjvysjzpbka";
+       version = "0.32";
+       sha256 = "0x2ki3v0pmhl4bva3qi1xx21axayc4sx1nkzhmk2ap4l0cj52jrd";
        configureFlags = [
          "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus"
          "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris"
@@ -264395,43 +264172,6 @@ self: {
      , conduit, conduit-extra, containers, cookie, deepseq, fast-logger
      , gauge, hspec, hspec-expectations, http-types, HUnit, memory
      , monad-logger, mtl, network, parsec, path-pieces, primitive
-     , random, resourcet, rio, shakespeare, streaming-commons
-     , template-haskell, text, time, transformers, unix-compat, unliftio
-     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
-     , word8
-     }:
-     mkDerivation {
-       pname = "yesod-core";
-       version = "1.6.16.1";
-       sha256 = "0a0yv7wkwvb0n6iia532y9nzrirgnm09pjc8hpm0lx4ff609pgd2";
-       libraryHaskellDepends = [
-         aeson auto-update base blaze-html blaze-markup bytestring
-         case-insensitive cereal clientsession conduit conduit-extra
-         containers cookie deepseq fast-logger http-types memory
-         monad-logger mtl parsec path-pieces primitive random resourcet rio
-         shakespeare template-haskell text time transformers unix-compat
-         unliftio unordered-containers vector wai wai-extra wai-logger warp
-         word8
-       ];
-       testHaskellDepends = [
-         async base bytestring clientsession conduit conduit-extra
-         containers cookie hspec hspec-expectations http-types HUnit network
-         path-pieces random resourcet shakespeare streaming-commons
-         template-haskell text transformers unliftio wai wai-extra warp
-       ];
-       benchmarkHaskellDepends = [
-         base blaze-html bytestring gauge shakespeare text
-       ];
-       description = "Creation of type-safe, RESTful web applications";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-core_1_6_17" = callPackage
-    ({ mkDerivation, aeson, async, auto-update, base, blaze-html
-     , blaze-markup, bytestring, case-insensitive, cereal, clientsession
-     , conduit, conduit-extra, containers, cookie, deepseq, fast-logger
-     , gauge, hspec, hspec-expectations, http-types, HUnit, memory
-     , monad-logger, mtl, network, parsec, path-pieces, primitive
      , random, resourcet, shakespeare, streaming-commons
      , template-haskell, text, time, transformers, unix-compat, unliftio
      , unordered-containers, vector, wai, wai-extra, wai-logger, warp
@@ -264461,7 +264201,6 @@ self: {
        ];
        description = "Creation of type-safe, RESTful web applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-crud" = callPackage
@@ -264898,8 +264637,8 @@ self: {
        pname = "yesod-ip";
        version = "0.5.1";
        sha256 = "1gla2w9xi88y9d149n2r18xj5y1bmaykf258nl7x4hrkl0zgdq62";
-       revision = "1";
-       editedCabalFile = "0w0bw1zj984yl77vz3sx3avdjsck1chm262w64g4w6iaq6b9rbw1";
+       revision = "2";
+       editedCabalFile = "0yvi3mmknky12dqgjpfwa9nd6sn0n02xal6qcmr37dvnwnl4w87x";
        libraryHaskellDepends = [
          base http-api-data ip path-pieces persistent text yesod-core
          yesod-form
@@ -265743,31 +265482,6 @@ self: {
      }) {};
 
   "yesod-test" = callPackage
-    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
-     , bytestring, case-insensitive, conduit, containers, cookie, hspec
-     , hspec-core, html-conduit, http-types, HUnit, memory, network
-     , pretty-show, semigroups, text, time, transformers, unliftio, wai
-     , wai-extra, xml-conduit, xml-types, yesod-core, yesod-form
-     }:
-     mkDerivation {
-       pname = "yesod-test";
-       version = "1.6.8";
-       sha256 = "1c8xana3lf79db17mc74q88ygdskhyhvrv325fpwdw00fcwc0fn6";
-       libraryHaskellDepends = [
-         attoparsec base blaze-builder blaze-html bytestring
-         case-insensitive conduit containers cookie hspec-core html-conduit
-         http-types HUnit memory network pretty-show semigroups text time
-         transformers wai wai-extra xml-conduit xml-types yesod-core
-       ];
-       testHaskellDepends = [
-         base bytestring containers cookie hspec html-conduit http-types
-         HUnit text unliftio wai wai-extra xml-conduit yesod-core yesod-form
-       ];
-       description = "integration testing for WAI/Yesod Applications";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-test_1_6_9" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
      , bytestring, case-insensitive, conduit, containers, cookie, hspec
      , hspec-core, html-conduit, http-types, HUnit, memory, network
@@ -265792,7 +265506,6 @@ self: {
        ];
        description = "integration testing for WAI/Yesod Applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-test-json" = callPackage
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index 7b730fc3926..8187bf4af8e 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -2,30 +2,30 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure";
-  version = "1.10.1.489";
+  version = "1.10.1.492";
 
   src = fetchurl {
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "12ks7adh5cx99l5vydppkqknk5nvv9vsj2k0afcwwxd897m794kz";
+    sha256 = "09mhy5xw9kdr10a1xpbn5v97qyyhngw5s1n1alrs45a4m3l11iky";
   };
 
   buildInputs = [ makeWrapper ];
 
-  outputs = [ "out" "prefix" ];
-
   installPhase = let
     binPath = stdenv.lib.makeBinPath [ rlwrap jdk11 ];
-  in ''
-    mkdir -p $prefix/libexec
-    cp clojure-tools-${version}.jar $prefix/libexec
-    cp example-deps.edn $prefix
-
-    substituteInPlace clojure --replace PREFIX $prefix
-
-    install -Dt $out/bin clj clojure
-    wrapProgram $out/bin/clj --prefix PATH : $out/bin:${binPath}
-    wrapProgram $out/bin/clojure --prefix PATH : $out/bin:${binPath}
-  '';
+  in
+    ''
+      mkdir -p $out/libexec
+      cp clojure-tools-${version}.jar $out/libexec
+      cp example-deps.edn $out
+      cp deps.edn $out
+
+      substituteInPlace clojure --replace PREFIX $out
+
+      install -Dt $out/bin clj clojure
+      wrapProgram $out/bin/clj --prefix PATH : $out/bin:${binPath}
+      wrapProgram $out/bin/clojure --prefix PATH : $out/bin:${binPath}
+    '';
 
   meta = with stdenv.lib; {
     description = "A Lisp dialect for the JVM";
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index 66f71738537..eb9827969e1 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull
 , libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGL, libGLU, fltk
-, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp
+, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp, gl2ps
 , qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
 , suitesparse ? null, gnuplot ? null, jdk ? null, python ? null, overridePlatforms ? null
 }:
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gfortran readline ncurses perl flex texinfo qhull
     graphicsmagick pcre pkgconfig fltk zlib curl openblas libsndfile fftw
-    fftwSinglePrec portaudio qrupdate arpack libwebp ]
+    fftwSinglePrec portaudio qrupdate arpack libwebp gl2ps ]
     ++ (stdenv.lib.optional (qt != null) qt)
     ++ (stdenv.lib.optional (qscintilla != null) qscintilla)
     ++ (stdenv.lib.optional (ghostscript != null) ghostscript)
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index a91490c200c..aa6dbcfccf0 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -182,6 +182,7 @@ let
       ++ optional mcryptSupport "--with-mcrypt=${libmcrypt'}"
       ++ optional bz2Support "--with-bz2=${bzip2.dev}"
       ++ optional (zipSupport && (versionOlder version "7.4")) "--enable-zip"
+      ++ optional (zipSupport && (versionAtLeast version "7.4")) "--with-zip"
       ++ optional ftpSupport "--enable-ftp"
       ++ optional fpmSupport "--enable-fpm"
       ++ optional ztsSupport "--enable-maintainer-zts"
diff --git a/pkgs/development/interpreters/python/manylinux/default.nix b/pkgs/development/interpreters/python/manylinux/default.nix
index 428e04f4f92..a44ead23752 100644
--- a/pkgs/development/interpreters/python/manylinux/default.nix
+++ b/pkgs/development/interpreters/python/manylinux/default.nix
@@ -33,8 +33,10 @@ let
     fi
   '';
 
+  getLibOutputs = lib.mapAttrs (k: v: lib.getLib v);
+
   # https://www.python.org/dev/peps/pep-0599/
-  manylinux2014Libs = with pkgs; {
+  manylinux2014Libs = getLibOutputs(with pkgs; {
     "libgcc_s.so.1" = glibc;
     "libstdc++.so.6" = stdenv.cc.cc;
     "libm.so.6" = glibc;
@@ -54,17 +56,18 @@ let
     "libgobject-2.0.so.0" = glib;
     "libgthread-2.0.so.0" = glib;
     "libglib-2.0.so.0" = glib;
-  };
+    });
 
   # https://www.python.org/dev/peps/pep-0571/
   manylinux2010Libs = manylinux2014Libs;
 
   # https://www.python.org/dev/peps/pep-0513/
-  manylinux1Libs = manylinux2010Libs // (with pkgs; {
+  manylinux1Libs = getLibOutputs(manylinux2010Libs // (with pkgs; {
     "libpanelw.so.5" = ncurses5;
     "libncursesw.so.5" = ncurses5;
     "libcrypt.so.1" = glibc;
-  });
+    }));
+
 in {
   # List of libraries that are needed for manylinux compatibility.
   # When using a wheel that is manylinux1 compatible, just extend
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
index aae8989c238..6d6bef21f39 100644
--- a/pkgs/development/libraries/dlib/default.nix
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dlib";
-  version = "19.18";
+  version = "19.19";
 
   src = fetchFromGitHub {
     owner = "davisking";
     repo = "dlib";
     rev ="v${version}";
-    sha256 = "1kbrcf35pn2ymyr8q48ls98n2zb7rrz5207kwpisfh6k22g802ic";
+    sha256 = "0574p46zf85nx33cam4yqcg20g94kkmrvi5689r1xshprr0szghp";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/fplll/default.nix b/pkgs/development/libraries/fplll/default.nix
index c2952cb47f1..694b6d567eb 100644
--- a/pkgs/development/libraries/fplll/default.nix
+++ b/pkgs/development/libraries/fplll/default.nix
@@ -1,22 +1,55 @@
-{stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, autoreconfHook
-, gmp, mpfr
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, gettext
+, autoreconfHook
+, gmp
+, mpfr
 }:
+
 stdenv.mkDerivation rec {
   pname = "fplll";
-  version = "5.2.1";
+  version = "5.3.0";
+
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "fplll";
+    repo = "fplll";
     rev = version;
-    sha256 = "015qmrd7nfaysbv1hbwiprz9g6hnww1y1z1xw8f43ysb7k1b5nbg";
+    sha256 = "0wxa4xs7as7y47h7i6prmk5r0srabdvrlkvza3j50pixir5swgvh";
   };
-  nativeBuildInputs = [autoconf automake libtool gettext autoreconfHook];
-  buildInputs = [gmp mpfr];
-  meta = {
-    inherit version;
+
+  patches = [
+    # https://github.com/fplll/fpylll/issues/161
+    (fetchpatch {
+      name = "fix-out-of-bounds-access.patch";
+      url = "https://github.com/fplll/fplll/pull/398/commits/f68e257228bf073ef380f996326d02197ce7b0e4.patch";
+      sha256 = "1rapkcf389lf579va6kbnvhzyv36n4l4d9n0vg2zxprvql8wvm7m";
+    })
+  ];
+
+  nativeBuildInputs = [
+    gettext
+    autoreconfHook
+  ];
+
+  buildInputs = [
+    gmp
+    mpfr
+  ];
+
+  meta = with stdenv.lib; {
     description = ''Lattice algorithms using floating-point arithmetic'';
-    license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.unix;
+    changelog = [
+      # Some release notes are added to the github tags, though they are not
+      # always complete.
+      "https://github.com/fplll/fplll/releases/tag/${version}"
+      # Releases are announced on this mailing list. Unfortunately it is not
+      # possible to generate a direct link to the most recent announcement, but
+      # this search should find it.
+      "https://groups.google.com/forum/#!searchin/fplll-devel/FPLLL$20${version}"
+    ];
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [raskin timokau];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index bdba8688f9d..0af7f29a41f 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.9.0";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
-    sha256 = "029n16rsvj2abii6d1d4q01fygkicw8n3ja0iaribk4b4h5mc7vc";
+    sha256 = "1aij0prpf7rvxx25qjf1krf0szb922hq9m6q58p90f5bjgymfzwh";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/libindicate/default.nix b/pkgs/development/libraries/libindicate/default.nix
deleted file mode 100644
index 2d7cad84f21..00000000000
--- a/pkgs/development/libraries/libindicate/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-# TODO: Resolve the issues with the Mono bindings.
-
-{ stdenv, fetchurl, lib, file
-, pkgconfig, autoconf
-, glib, dbus-glib, libdbusmenu
-, gtkVersion ? "3", gtk2 ? null, gtk3 ? null
-, python2Packages, gobject-introspection, vala, gnome-doc-utils
-, monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
- }:
-
-with lib;
-
-let
-  inherit (python2Packages) python pygobject2 pygtk;
-in stdenv.mkDerivation rec {
-  name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
-          in "libindicate-${postfix}-${version}";
-  version = "${versionMajor}.${versionMinor}";
-  versionMajor = "12.10";
-  versionMinor = "1";
-
-  src = fetchurl {
-    url = "${meta.homepage}/${versionMajor}/${version}/+download/libindicate-${version}.tar.gz";
-    sha256 = "10am0ymajx633b33anf6b79j37k61z30v9vaf5f9fwk1x5cw1q21";
-  };
-
-  nativeBuildInputs = [ pkgconfig autoconf gobject-introspection vala gnome-doc-utils ];
-
-  buildInputs = [
-    glib dbus-glib libdbusmenu
-    python pygobject2 pygtk
-  ] ++ (if gtkVersion == "2"
-    then [ gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
-    else [ gtk3 ]);
-
-  postPatch = ''
-    substituteInPlace configure.ac \
-      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0' \
-      --replace 'pyglib-2.0-python$PYTHON_VERSION' 'pyglib-2.0-python'
-    autoconf
-    for f in {configure,ltmain.sh,m4/libtool.m4}; do
-      substituteInPlace $f \
-        --replace /usr/bin/file ${file}/bin/file
-    done
-  '';
-
-  configureFlags = [
-    "CFLAGS=-Wno-error"
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "--with-gtk=${gtkVersion}"
-  ];
-
-  installFlags = [
-    "sysconfdir=\${out}/etc"
-    "localstatedir=\${TMPDIR}"
-  ];
-
-  meta = {
-    description = "Library for raising indicators via DBus";
-    homepage = https://launchpad.net/libindicate;
-    license = with licenses; [ lgpl21 lgpl3 ];
-    platforms = platforms.linux;
-    maintainers = [ maintainers.msteen ];
-  };
-}
diff --git a/pkgs/development/libraries/liblouis/default.nix b/pkgs/development/libraries/liblouis/default.nix
index 0f73be7ebce..932edd20e9a 100644
--- a/pkgs/development/libraries/liblouis/default.nix
+++ b/pkgs/development/libraries/liblouis/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "liblouis";
-  version = "3.11.0";
+  version = "3.12.0";
 
   src = fetchFromGitHub {
     owner = "liblouis";
     repo = "liblouis";
     rev = "v${version}";
-    sha256 = "1y0pypgxchxczdnjkblibbvvy4gdk2pf8dzpqmbf824c7zpy8z5r";
+    sha256 = "0sw7iwb9158z7jslxj9jwh2vqbg0q8wq6fbmk9iz7sfkjqhi80hv";
   };
 
   outputs = [ "out" "dev" "man" "info" "doc" ];
diff --git a/pkgs/development/libraries/libmad/default.nix b/pkgs/development/libraries/libmad/default.nix
index 40d90f46288..9d935daddad 100644
--- a/pkgs/development/libraries/libmad/default.nix
+++ b/pkgs/development/libraries/libmad/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   ++ stdenv.lib.optionals stdenv.cc.isClang [
     (fetchpatch {
       url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/optimize.diff";
-      sha256 = "0ciyaj1acg08g8hpzqx6whayq206fvf4whksz2pjgxlv207lqgjh";
+      sha256 = "1wp60ywzk6nmxc3kq3v6i8b7s4cibvf5cjir859zv10y5aa1d0pk";
     })
   ];
 
diff --git a/pkgs/development/libraries/libofx/default.nix b/pkgs/development/libraries/libofx/default.nix
index 6723c08f082..76276f0ce0f 100644
--- a/pkgs/development/libraries/libofx/default.nix
+++ b/pkgs/development/libraries/libofx/default.nix
@@ -1,23 +1,27 @@
-{ stdenv, fetchurl, opensp, pkgconfig, libxml2, curl }:
-        
+{ stdenv, fetchFromGitHub, opensp, pkgconfig, libxml2, curl
+, autoconf, automake, libtool, gengetopt, libiconv }:
+
 stdenv.mkDerivation rec {
-  name = "libofx-0.9.14";
+  pname = "libofx";
+  version = "0.9.15";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/libofx/${name}.tar.gz";
-    sha256 = "02i9zxkp66yxjpjay5dscfh53bz5vxy03zcxncpw09svl6zmf9xq";
+  src = fetchFromGitHub {
+    owner = "LibOFX";
+    repo = pname;
+    rev = version;
+    sha256 = "1jx56ma351p8af8dvavygjwf6ipa7qbgq7bpdsymwj27apdnixfy";
   };
 
+  preConfigure = "./autogen.sh";
   configureFlags = [ "--with-opensp-includes=${opensp}/include/OpenSP" ];
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ opensp libxml2 curl ];
+  nativeBuildInputs = [ pkgconfig libtool autoconf automake gengetopt ];
+  buildInputs = [ opensp libxml2 curl ] ++ stdenv.lib.optional stdenv.isDarwin libiconv;
 
   meta = { 
     description = "Opensource implementation of the Open Financial eXchange specification";
     homepage = http://libofx.sourceforge.net/;
     license = "LGPL";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ ];
   };
 }
-
diff --git a/pkgs/development/libraries/libsexy/default.nix b/pkgs/development/libraries/libsexy/default.nix
deleted file mode 100644
index cb22d9f97bc..00000000000
--- a/pkgs/development/libraries/libsexy/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig
-, glib, gtk2, libxml2, pango
-}:
-
-stdenv.mkDerivation {
-  name = "libsexy-0.1.11";
-
-  src = fetchurl {
-    url = http://releases.chipx86.com/libsexy/libsexy/libsexy-0.1.11.tar.gz;
-    sha256 = "8c4101a8cda5fccbba85ba1a15f46f2cf75deaa8b3c525ce5b135b9e1a8fe49e";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  buildInputs = [ glib gtk2 libxml2 pango ];
-
-  meta = with stdenv.lib; {
-    description = "A collection of GTK widgets";
-    homepage = https://blog.chipx86.com/tag/libsexy/;
-    license = licenses.lgpl21;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/physics/herwig/default.nix b/pkgs/development/libraries/physics/herwig/default.nix
index d252e62286b..367d0813f4e 100644
--- a/pkgs/development/libraries/physics/herwig/default.nix
+++ b/pkgs/development/libraries/physics/herwig/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "herwig";
-  version = "7.1.5";
+  version = "7.1.6";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/herwig/Herwig-${version}.tar.bz2";
-    sha256 = "0jnrv59zfa41gc37pqr3vaiz5jkh7w0k0alcax37b3mlbsnacr9r";
+    sha256 = "0h4gcmwnk4iyd31agzcq3p8bvlrgc8svm4ymzqgvvhizwflqf3yr";
   };
 
   nativeBuildInputs = [ autoconf automake libtool ];
diff --git a/pkgs/development/libraries/physics/thepeg/default.nix b/pkgs/development/libraries/physics/thepeg/default.nix
index fa293eab350..82cf2c3a2e8 100644
--- a/pkgs/development/libraries/physics/thepeg/default.nix
+++ b/pkgs/development/libraries/physics/thepeg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "thepeg";
-  version = "2.1.5";
+  version = "2.1.6";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/thepeg/ThePEG-${version}.tar.bz2";
-    sha256 = "1rmmwhk9abn9mc9j3127axjwpvymv21ld4wcivwz01pldkxh06n6";
+    sha256 = "0krz6psr69kn48xkgr0mjadmzvq572mzn02inlasiz3bf61izrf1";
   };
 
   buildInputs = [ boost fastjet gsl hepmc2 lhapdf rivet zlib ];
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index 5cdde468416..68362be596b 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, libjpeg, zlib, perl }:
 
-let version = "9.0.2";
+let version = "9.1.0";
 in
 stdenv.mkDerivation rec {
   pname = "qpdf";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/qpdf/qpdf/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0b6jhhsifgiwrznxxi3h7hqm7bi91wph65jjbvs4g2860vcm296h";
+    sha256 = "0ygd80wxcmh613n04x2kmf8wlsl0drxyd5wwdcrm1rzj0xwvpfrs";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix
index f02093001e4..56c5754831e 100644
--- a/pkgs/development/libraries/range-v3/default.nix
+++ b/pkgs/development/libraries/range-v3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "range-v3";
-  version = "0.9.1";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "ericniebler";
     repo = "range-v3";
     rev = version;
-    sha256 = "0qga2fnfrlrzrvnnk1z1plpmvcr8b4c75g5xz0jv0sav0kmq5zwn";
+    sha256 = "1h9h5j7pdi0afpip9ncq76h1xjhvb8bnm585q17afz2l4fydy8qj";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/science/math/brial/default.nix b/pkgs/development/libraries/science/math/brial/default.nix
index f08f6425655..56a78b00cd6 100644
--- a/pkgs/development/libraries/science/math/brial/default.nix
+++ b/pkgs/development/libraries/science/math/brial/default.nix
@@ -8,14 +8,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.5";
+  version = "1.2.6";
   pname = "brial";
 
   src = fetchFromGitHub {
     owner = "BRiAl";
     repo = "BRiAl";
     rev = version;
-    sha256 = "1nv56fp3brpzanxj7vwvxqdafqfsfhdgq5imr3m94psw5gdfqwja";
+    sha256 = "1mc1zjr3mxcx6bg0js5k9jx65japg7644b0aj1al75m4nwh2ygab";
   };
 
   # FIXME package boost-test and enable checks
diff --git a/pkgs/development/libraries/tcllib/default.nix b/pkgs/development/libraries/tcllib/default.nix
index 40e137204e2..b1add708902 100644
--- a/pkgs/development/libraries/tcllib/default.nix
+++ b/pkgs/development/libraries/tcllib/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tcllib";
-  version = "1.19";
+  version = "1.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/tcllib/tcllib-${version}.tar.gz";
-    sha256 = "173abxaazdmf210v651708ab6h7xhskvd52krxk6ifam337qgzh1";
+    sha256 = "0wax281h6ksz974a5qpfgf9y34lmlpd8i87lkm1w94ybbd3rgc73";
   };
 
   passthru = {
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index e8fe798476c..d1e171566ee 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -1,12 +1,56 @@
-{ stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake, ninja
-, pkgconfig, gettext, gobject-introspection, libnotify, gnutls, libgcrypt
-, gtk3, wayland, libwebp, enchant2, xorg, libxkbcommon, epoxy, at-spi2-core
-, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11-kit
-, libidn, libedit, readline, libGL, libGLU, libintl, openjpeg
-, enableGeoLocation ? true, geoclue2, sqlite
-, enableGtk2Plugins ? false, gtk2 ? null
-, gst-plugins-base, gst-plugins-bad, woff2
-, bubblewrap, libseccomp, xdg-dbus-proxy, substituteAll
+{ stdenv
+, fetchurl
+, perl
+, python3
+, ruby
+, bison
+, gperf
+, cmake
+, ninja
+, pkgconfig
+, gettext
+, gobject-introspection
+, libnotify
+, gnutls
+, libgcrypt
+, gtk3
+, wayland
+, libwebp
+, enchant2
+, xorg
+, libxkbcommon
+, epoxy
+, at-spi2-core
+, libxml2
+, libsoup
+, libsecret
+, libxslt
+, harfbuzz
+, libpthreadstubs
+, pcre
+, nettle
+, libtasn1
+, p11-kit
+, libidn
+, libedit
+, readline
+, libGL
+, libGLU
+, libintl
+, openjpeg
+, enableGeoLocation ? true
+, geoclue2
+, sqlite
+, enableGtk2Plugins ? false
+, gtk2 ? null
+, gst-plugins-base
+, gst-plugins-bad
+, woff2
+, bubblewrap
+, libseccomp
+, xdg-dbus-proxy
+, substituteAll
+, gnome3
 }:
 
 assert enableGeoLocation -> geoclue2 != null;
@@ -14,18 +58,12 @@ assert enableGtk2Plugins -> gtk2 != null;
 assert stdenv.isDarwin -> !enableGtk2Plugins;
 
 with stdenv.lib;
+
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
   version = "2.26.2";
 
-  meta = {
-    description = "Web content rendering engine, GTK port";
-    homepage = https://webkitgtk.org/;
-    license = licenses.bsd2;
-    platforms = platforms.linux;
-    hydraPlatforms = [];
-    maintainers = with maintainers; [ ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
@@ -40,54 +78,97 @@ stdenv.mkDerivation rec {
     ./libglvnd-headers.patch
   ];
 
-  postPatch = ''
-    patchShebangs .
-  '';
-
-  cmakeFlags = [
-  "-DPORT=GTK"
-  "-DUSE_LIBHYPHEN=OFF"
-  "-DENABLE_INTROSPECTION=ON"
-  "-DUSE_WPE_RENDERER=OFF"
-  ]
-  ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
-  ++ optional stdenv.isLinux "-DENABLE_GLES2=ON"
-  ++ optionals stdenv.isDarwin [
-  "-DUSE_SYSTEM_MALLOC=ON"
-  "-DUSE_ACCELERATE=0"
-  "-DENABLE_MINIBROWSER=OFF"
-  "-DENABLE_VIDEO=ON"
-  "-DENABLE_QUARTZ_TARGET=ON"
-  "-DENABLE_X11_TARGET=OFF"
-  "-DENABLE_OPENGL=OFF"
-  "-DENABLE_WEB_AUDIO=OFF"
-  "-DENABLE_WEBGL=OFF"
-  "-DENABLE_GRAPHICS_CONTEXT_3D=OFF"
-  "-DENABLE_GTKDOC=OFF"
-  ];
-
   nativeBuildInputs = [
-    cmake ninja perl python2 ruby bison gperf
-    pkgconfig gettext gobject-introspection
+    bison
+    cmake
+    gettext
+    gobject-introspection
+    gperf
+    ninja
+    perl
+    pkgconfig
+    python3
+    ruby
   ];
 
   buildInputs = [
-    libintl libwebp enchant2 libnotify gnutls pcre nettle libidn libgcrypt woff2
-    libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11-kit openjpeg
-    sqlite gst-plugins-base gst-plugins-bad libxkbcommon epoxy at-spi2-core
-    libGL libGLU
+    at-spi2-core
+    enchant2
+    epoxy
+    gnutls
+    gst-plugins-bad
+    gst-plugins-base
+    harfbuzz
+    libGL
+    libGLU
+    libgcrypt
+    libidn
+    libintl
+    libnotify
+    libpthreadstubs
+    libsecret
+    libtasn1
+    libwebp
+    libxkbcommon
+    libxml2
+    libxslt
+    nettle
+    openjpeg
+    p11-kit
+    pcre
+    sqlite
+    woff2
+  ] ++ (with xorg; [
+    libXdamage
+    libXdmcp
+    libXt
+    libXtst
+  ]) ++ optionals stdenv.isDarwin [
+    libedit
+    readline
+  ] ++ optionals stdenv.isLinux [
+    bubblewrap
+    libseccomp
+    wayland
+    xdg-dbus-proxy
   ] ++ optional enableGeoLocation geoclue2
-    ++ optional enableGtk2Plugins gtk2
-    ++ (with xorg; [ libXdmcp libXt libXtst libXdamage ])
-    ++ optionals stdenv.isDarwin [ libedit readline ]
-    ++ optionals stdenv.isLinux [
-      wayland bubblewrap libseccomp xdg-dbus-proxy
-  ];
+    ++ optional enableGtk2Plugins gtk2;
 
   propagatedBuildInputs = [
-    libsoup gtk3
+    gtk3
+    libsoup
   ];
 
-  outputs = [ "out" "dev" ];
+  cmakeFlags = [
+    "-DENABLE_INTROSPECTION=ON"
+    "-DPORT=GTK"
+    "-DUSE_LIBHYPHEN=OFF"
+    "-DUSE_WPE_RENDERER=OFF"
+  ] ++ optionals stdenv.isDarwin [
+    "-DENABLE_GRAPHICS_CONTEXT_3D=OFF"
+    "-DENABLE_GTKDOC=OFF"
+    "-DENABLE_MINIBROWSER=OFF"
+    "-DENABLE_OPENGL=OFF"
+    "-DENABLE_QUARTZ_TARGET=ON"
+    "-DENABLE_VIDEO=ON"
+    "-DENABLE_WEBGL=OFF"
+    "-DENABLE_WEB_AUDIO=OFF"
+    "-DENABLE_X11_TARGET=OFF"
+    "-DUSE_ACCELERATE=0"
+    "-DUSE_SYSTEM_MALLOC=ON"
+  ] ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
+    ++ optional stdenv.isLinux "-DENABLE_GLES2=ON";
+
+  postPatch = ''
+    patchShebangs .
+  '';
 
+  meta = {
+    description = "Web content rendering engine, GTK port";
+    homepage = https://webkitgtk.org/;
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    hydraPlatforms = [];
+    maintainers = gnome3.maintainers;
+  };
 }
diff --git a/pkgs/development/ocaml-modules/containers/default.nix b/pkgs/development/ocaml-modules/containers/default.nix
index 5fd9e9c947a..b12b6e8c265 100644
--- a/pkgs/development/ocaml-modules/containers/default.nix
+++ b/pkgs/development/ocaml-modules/containers/default.nix
@@ -16,7 +16,7 @@ buildDunePackage rec {
 
   buildInputs = [ iter ];
 
-  checkInputs = lib.optionals doCheck [ gen mdx ounit qcheck uutf ];
+  checkInputs = lib.optionals doCheck [ gen mdx.bin ounit qcheck uutf ];
 
   propagatedBuildInputs = [ result uchar ];
 
diff --git a/pkgs/development/ocaml-modules/iter/default.nix b/pkgs/development/ocaml-modules/iter/default.nix
index eb2ca1409ab..964a7c6f5a3 100644
--- a/pkgs/development/ocaml-modules/iter/default.nix
+++ b/pkgs/development/ocaml-modules/iter/default.nix
@@ -11,7 +11,7 @@ buildDunePackage rec {
     sha256 = "0j2sg50byn0ppmf6l36ksip7zx1d3gv7sc4hbbxs2rmx39jr7vxh";
   };
 
-  buildInputs = lib.optionals doCheck [ mdx qtest ];
+  buildInputs = lib.optionals doCheck [ mdx.bin qtest ];
   propagatedBuildInputs = [ result ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.04";
diff --git a/pkgs/development/ocaml-modules/mdx/default.nix b/pkgs/development/ocaml-modules/mdx/default.nix
index 0b43cf461e0..43c6c8e41fa 100644
--- a/pkgs/development/ocaml-modules/mdx/default.nix
+++ b/pkgs/development/ocaml-modules/mdx/default.nix
@@ -1,24 +1,30 @@
-{ lib, fetchFromGitHub, buildDunePackage, ocaml, astring, cmdliner, cppo, fmt, logs, ocaml-migrate-parsetree, ocaml_lwt, pandoc, re }:
+{ lib, fetchurl, buildDunePackage, opaline, ocaml
+, astring, cmdliner, cppo, fmt, logs, ocaml-migrate-parsetree, ocaml-version, ocaml_lwt, pandoc, re }:
 
 buildDunePackage rec {
   pname = "mdx";
-  version = "1.4.0";
+  version = "1.5.0";
 
-  src = fetchFromGitHub {
-    owner = "realworldocaml";
-    repo = pname;
-    rev = version;
-    sha256 = "0ljd00d261s2wf7cab086asqi39icf9zs4nylni6dldaqb027d4w";
+  src = fetchurl {
+    url = "https://github.com/realworldocaml/mdx/releases/download/1.5.0/mdx-1.5.0.tbz";
+    sha256 = "0g45plf4z7d178gp0bx7842fwbd3m19679yfph3s95da6mrfm3xn";
   };
 
   nativeBuildInputs = [ cppo ];
-  buildInputs = [ astring cmdliner fmt logs ocaml-migrate-parsetree re ];
+  buildInputs = [ cmdliner ];
+  propagatedBuildInputs = [ astring fmt logs ocaml-migrate-parsetree ocaml-version re ];
   checkInputs = lib.optionals doCheck [ ocaml_lwt pandoc ];
 
-  doCheck = !lib.versionAtLeast ocaml.version "4.08";
+  doCheck = true;
 
   dontStrip = lib.versions.majorMinor ocaml.version == "4.04";
 
+  outputs = [ "bin" "lib" "out" ];
+
+  installPhase = ''
+    ${opaline}/bin/opaline -prefix $bin -libdir $lib/lib/ocaml/${ocaml.version}/site-lib
+  '';
+
   meta = {
     homepage = https://github.com/realworldocaml/mdx;
     description = "Executable OCaml code blocks inside markdown files";
diff --git a/pkgs/development/ocaml-modules/ocaml-version/default.nix b/pkgs/development/ocaml-modules/ocaml-version/default.nix
new file mode 100644
index 00000000000..45761e98049
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-version/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchurl, buildDunePackage, result }:
+
+buildDunePackage rec {
+
+  pname = "ocaml-version";
+  version = "2.3.0";
+
+  src = fetchurl {
+    url = "https://github.com/ocurrent/ocaml-version/releases/download/v${version}/ocaml-version-v${version}.tbz";
+    sha256 = "0c711lifl35xila9k0rvhijy9zm3shd37q3jgw7xf01hn1swg0hn";
+  };
+
+  propagatedBuildInputs = [ result ];
+
+  meta = {
+    description = "Manipulate, parse and generate OCaml compiler version strings";
+    homepage = "https://github.com/ocurrent/ocaml-version";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
index 7746200d4ff..92d73e540f4 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildDunePackage, rpclib, ppxfind, ppx_deriving, cppo }:
+{ lib, buildDunePackage, rpclib, ppxlib, ppx_deriving }:
 
 buildDunePackage rec {
   pname = "ppx_deriving_rpc";
 
   inherit (rpclib) version src;
 
-  buildInputs = [ ppxfind cppo ];
+  buildInputs = [ ppxlib ];
 
   propagatedBuildInputs = [ rpclib ppx_deriving ];
 
diff --git a/pkgs/development/ocaml-modules/printbox/default.nix b/pkgs/development/ocaml-modules/printbox/default.nix
index 50866e1d969..555ccef3495 100644
--- a/pkgs/development/ocaml-modules/printbox/default.nix
+++ b/pkgs/development/ocaml-modules/printbox/default.nix
@@ -13,7 +13,7 @@ buildDunePackage rec {
     sha256 = "16nwwpp13hzlcm9xqfxc558afm3i5s802dkj69l9s2vp04lgms5n";
   };
 
-  checkInputs = lib.optional doCheck mdx;
+  checkInputs = lib.optional doCheck mdx.bin;
 
   doCheck = !lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/pkgs/development/ocaml-modules/rpclib/default.nix b/pkgs/development/ocaml-modules/rpclib/default.nix
index 2b4ab181859..a4134f592b3 100644
--- a/pkgs/development/ocaml-modules/rpclib/default.nix
+++ b/pkgs/development/ocaml-modules/rpclib/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, alcotest, cmdliner, rresult, result, xmlm, yojson }:
+{ lib, fetchFromGitHub, buildDunePackage, alcotest, cmdliner, rresult, result, xmlm, yojson }:
 
 buildDunePackage rec {
   pname = "rpclib";
-  version = "5.9.0";
+  version = "6.0.0";
 
   minimumOCamlVersion = "4.04";
 
@@ -10,7 +10,7 @@ buildDunePackage rec {
     owner = "mirage";
     repo = "ocaml-rpc";
     rev = "v${version}";
-    sha256 = "1swnnmmnkn53mxqpckdnd1j8bz0wksqznjbv0zamspxyqybmancq";
+    sha256 = "0bmr20sj7kybjjlwd42irj0f5zlnxcw7mxa1mdgxkki9bmhsqr51";
   };
 
   buildInputs = [ alcotest cmdliner yojson ];
@@ -18,7 +18,7 @@ buildDunePackage rec {
 
   doCheck = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "https://github.com/mirage/ocaml-rpc";
     description = "Light library to deal with RPCs in OCaml";
     license = licenses.isc;
diff --git a/pkgs/development/python-modules/arviz/default.nix b/pkgs/development/python-modules/arviz/default.nix
new file mode 100644
index 00000000000..ba941503548
--- /dev/null
+++ b/pkgs/development/python-modules/arviz/default.nix
@@ -0,0 +1,80 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, emcee
+, matplotlib
+, netcdf4
+, numba
+, numpy
+, pandas
+, pytest
+, scipy
+, setuptools
+, tensorflow-probability
+, xarray
+#, h5py (used by disabled tests)
+#, pymc3 (broken)
+#, pyro-ppl (broken)
+#, pystan (not packaged)
+#, numpyro (not packaged)
+}:
+
+buildPythonPackage rec {
+  pname = "arviz";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "arviz-devs";
+    repo = "arviz";
+    rev = version;
+    sha256 = "0p600cakix24wz2ridnzy6sp3l1p2kr5s60qc7s82wpv7fw0i9ry";
+  };
+
+  propagatedBuildInputs = [
+    # needed to install
+    matplotlib
+    netcdf4
+    pandas
+    xarray
+    # needed to import
+    setuptools
+    # not needed to import, but used by many functions
+    # and is listed as a dependency in the documentation
+    numpy
+    scipy
+  ];
+
+  checkInputs = [
+    emcee
+    numba
+    pytest
+    tensorflow-probability
+    #h5py (used by disabled tests)
+    #pymc3 (broken)
+    #pyro-ppl (broken)
+    #pystan (not packaged)
+    #numpyro (not packaged)
+  ];
+
+  # check requires pymc3 and pyro-ppl, which are currently broken, and pystan
+  # and numpyro, which are not yet packaged, some checks also need to make
+  # directories and do not have permission to do so. So we can only check part
+  # of the package
+  # Additionally, there are some failures with the plots test, which revolve
+  # around attempting to output .mp4 files through an interface that only wants
+  # to output .html files.
+  # The following test have been disabled as a result: data_cmdstanpy,
+  # data_numpyro, data_pyro, data_pystan, and plots.
+  checkPhase = ''
+    cd arviz/tests/
+    HOME=$TMPDIR pytest test_{data_cmdstan,data_emcee,data,data_tfp,\
+    diagnostics,plot_utils,rcparams,stats,stats_utils,utils}.py
+  '';
+
+  meta = with lib; {
+    description = "ArviZ is a Python package for exploratory analysis of Bayesian models";
+    homepage = "https://arviz-devs.github.io/arviz/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.omnipotententity ];
+  };
+}
diff --git a/pkgs/development/python-modules/aws-adfs/default.nix b/pkgs/development/python-modules/aws-adfs/default.nix
index 428ac495941..0c16480e9c4 100644
--- a/pkgs/development/python-modules/aws-adfs/default.nix
+++ b/pkgs/development/python-modules/aws-adfs/default.nix
@@ -1,13 +1,15 @@
 { lib, buildPythonPackage, fetchPypi
-, pytest, pytestrunner, pytestcov, mock, glibcLocales, lxml, boto3, requests, click, configparser }:
+, pytest, pytestrunner, pytestcov, mock, glibcLocales, lxml, boto3
+, requests, click, configparser, fido2, isPy27 }:
 
 buildPythonPackage rec {
   pname = "aws-adfs";
-  version = "1.19.1";
+  version = "1.20.0";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "20b2ad44d19aa494fa11cb2d1290359b3a7a0c6c8908179b4af0c9367d83e370";
+    sha256 = "1j18ffq5z8bcajavnlpbfhxrcadld5iv5gsfxg543yvdsp6hn2dg";
   };
 
   # Relax version constraint
@@ -22,7 +24,7 @@ buildPythonPackage rec {
   LC_ALL = "en_US.UTF-8";
 
   checkInputs = [ glibcLocales pytest pytestrunner pytestcov mock ];
-  propagatedBuildInputs = [ lxml boto3 requests click configparser ];
+  propagatedBuildInputs = [ lxml boto3 requests click configparser fido2 ];
 
   meta = with lib; {
     description = "Command line tool to ease aws cli authentication against ADFS";
diff --git a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
index 3bf18f9b4d4..1f3056b9098 100644
--- a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-recoveryservicesbackup";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0zssvzdip23yzaxlac9rlzg9mlyjl97fwr0gj8y27z8j58pwj72i";
+    sha256 = "0jhq8fi3dn2cncyv2rrgr4kldd254f30zgwf6p85rdgvg2p9k4hl";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cassandra-driver/default.nix b/pkgs/development/python-modules/cassandra-driver/default.nix
index 26e3e3df324..6fe80e16e12 100644
--- a/pkgs/development/python-modules/cassandra-driver/default.nix
+++ b/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "cassandra-driver";
-  version = "3.19.0";
+  version = "3.20.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1vy9yzsd9c29irq99m8lpkgnc634waai2phvr6b89pmmdirp2wm9";
+    sha256 = "03nycyn5nd1pnrg6fffq3wcjqnw13lgja137zq5zszx68mc15wnl";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/ckcc-protocol/default.nix b/pkgs/development/python-modules/ckcc-protocol/default.nix
new file mode 100644
index 00000000000..599f91f2d07
--- /dev/null
+++ b/pkgs/development/python-modules/ckcc-protocol/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, click
+, ecdsa
+, hidapi
+, lib
+, fetchPypi
+, pytest
+, pyaes
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "ckcc-protocol";
+  version = "0.8.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1mbs9l8qycy50j5lq6az7l5d8i40nb0vmlyhcyax298qp6c1r1gh";
+  };
+
+  checkInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [ click ecdsa hidapi pyaes ];
+
+  meta = with stdenv.lib; {
+    description = "Communicate with your Coldcard using Python";
+    homepage = https://github.com/Coldcard/ckcc-protocol;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.hkjn ];
+  };
+}
diff --git a/pkgs/development/python-modules/colored/default.nix b/pkgs/development/python-modules/colored/default.nix
index 5b03f8ce9cc..2ccdb03bc22 100644
--- a/pkgs/development/python-modules/colored/default.nix
+++ b/pkgs/development/python-modules/colored/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "colored";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wlsg7z406q31r5fpwkqfpyfpigazbmq9qm856wfbn861k2773zf";
+    sha256 = "0qf9470fsasimsmsri13jw1d2zpn3g24fv6vss64jq3ifwfkcs14";
   };
 
   # No proper test suite
diff --git a/pkgs/development/python-modules/dask-ml/default.nix b/pkgs/development/python-modules/dask-ml/default.nix
index e7e40f7777b..06c5f1753d4 100644
--- a/pkgs/development/python-modules/dask-ml/default.nix
+++ b/pkgs/development/python-modules/dask-ml/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , dask
 , numpy, toolz # dask[array]
 , numba
@@ -19,21 +20,41 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.0";
+  version = "1.1.1";
   pname = "dask-ml";
+  disabled = pythonOlder "3.6"; # >= 3.6
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dde926478653bd03a3fbc501d3873a1534836608217b94d04320d1e1c07e59dc";
+    sha256 = "1yad9b9hd02rbdf6m1gfj74cjgcbyp7lxdj22d5h5rhv7xa3127x";
   };
 
-  checkInputs = [ pytest xgboost tensorflow joblib distributed ];
-  propagatedBuildInputs = [ dask numpy toolz numba pandas scikitlearn scipy dask-glm six multipledispatch packaging ];
+  propagatedBuildInputs = [
+    dask
+    dask-glm
+    distributed
+    multipledispatch
+    numba
+    numpy
+    packaging
+    pandas
+    scikitlearn
+    scipy
+    six
+    toolz
+  ];
 
-  # dask-ml has some heavy test requirements
-  # and requires some very new packages
+  # has non-standard build from source, and pypi doesn't include tests
   doCheck = false;
 
+  # in lieu of proper tests
+  pythonImportsCheck = [
+    "dask_ml"
+    "dask_ml.naive_bayes"
+    "dask_ml.wrappers"
+    "dask_ml.utils"
+  ];
+
   meta = with stdenv.lib; {
     homepage = https://github.com/dask/dask-ml;
     description = "Scalable Machine Learn with Dask";
diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix
index 2e0dd468325..3d4a73bc969 100644
--- a/pkgs/development/python-modules/docker/default.nix
+++ b/pkgs/development/python-modules/docker/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy27
+{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27
 , backports_ssl_match_hostname
 , mock
 , paramiko
 , pytest
+, pytestCheckHook
 , requests
 , six
 , websocket_client
@@ -17,25 +18,25 @@ buildPythonPackage rec {
     sha256 = "1hdgics03fz2fbhalzys7a7kjj54jnl5a37h6lzdgym41gkwa1kf";
   };
 
+  nativeBuildInputs = [
+    pytestCheckHook
+  ] ++ lib.optional isPy27 mock;
+
   propagatedBuildInputs = [
     paramiko
     requests
     six
     websocket_client
-  ] ++ stdenv.lib.optional isPy27 backports_ssl_match_hostname;
-
-  checkInputs = [
-    mock
-    pytest
-  ];
+  ] ++ lib.optional isPy27 backports_ssl_match_hostname;
 
-  # Other tests touch network
+  pytestFlagsArray = [ "tests/unit" ];
   # Deselect socket tests on Darwin because it hits the path length limit for a Unix domain socket
-  checkPhase = ''
-    ${pytest}/bin/pytest tests/unit/ ${stdenv.lib.optionalString stdenv.isDarwin "--deselect=tests/unit/api_test.py::TCPSocketStreamTest"}
-  '';
+  disabledTests = lib.optionals stdenv.isDarwin [ "stream_response" "socket_file" ];
+
+  # skip setuptoolsCheckPhase
+  doCheck = false;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An API client for docker written in Python";
     homepage = "https://github.com/docker/docker-py";
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/fpylll/default.nix b/pkgs/development/python-modules/fpylll/default.nix
index a27e9494911..7bc4ed82fea 100644
--- a/pkgs/development/python-modules/fpylll/default.nix
+++ b/pkgs/development/python-modules/fpylll/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "fpylll";
-  version = "0.4.1dev";
+  version = "0.5.0dev";
 
   src = fetchFromGitHub {
     owner = "fplll";
     repo = "fpylll";
     rev = version;
-    sha256 = "01x2sqdv0sbjj4g4waj0hj4rcn4bq7h17442xaqwbznym9azmn9w";
+    sha256 = "091zqgsqd5cqma1hvimkq5xpr9f1jw80v9m2fr6k9hvssqjzgnab";
   };
 
   buildInputs = [
@@ -45,11 +45,16 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
-    py.test
+    # Since upstream introduced --doctest-modules in
+    # https://github.com/fplll/fpylll/commit/9732fdb40cf1bd43ad1f60762ec0a8401743fc79,
+    # it is necessary to ignore import mismatches. Not sure why, but the files
+    # should be identical anyway.
+    PY_IGNORE_IMPORTMISMATCH=1 pytest
   '';
 
   meta = {
     description = "A Python interface for fplll";
+    changelog = "https://github.com/fplll/fpylll/releases/tag/${version}";
     homepage = https://github.com/fplll/fpylll;
     maintainers = with lib.maintainers; [ timokau ];
     license = lib.licenses.gpl2Plus;
diff --git a/pkgs/development/python-modules/goocalendar/default.nix b/pkgs/development/python-modules/goocalendar/default.nix
index 644b68386fe..9fc0acc30af 100644
--- a/pkgs/development/python-modules/goocalendar/default.nix
+++ b/pkgs/development/python-modules/goocalendar/default.nix
@@ -16,17 +16,22 @@ buildPythonPackage rec {
   pname = "GooCalendar";
   version = "0.6";
 
-  disabled = isPy3k;
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "4c22c93e19b933d10d8ea1c67a67f485267af82175ef59419427dd39d1e3af18";
   };
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
+
+  nativeBuildInputs = [
+    pkgconfig
+    gobject-introspection
+  ];
+
   propagatedBuildInputs = [
-    pygtk
     pygobject3
   ];
+
   buildInputs = [
     gtk3
     goocanvas2
@@ -37,8 +42,8 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A calendar widget for GTK using PyGoocanvas.";
-    homepage    = https://goocalendar.tryton.org/;
-    license     = licenses.gpl2;
+    homepage = https://goocalendar.tryton.org/;
+    license = licenses.gpl2;
     maintainers = [ maintainers.udono ];
   };
 }
diff --git a/pkgs/development/python-modules/icalendar/default.nix b/pkgs/development/python-modules/icalendar/default.nix
index 48da3da6bc4..1d445f83b08 100644
--- a/pkgs/development/python-modules/icalendar/default.nix
+++ b/pkgs/development/python-modules/icalendar/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.0.3";
+  version = "4.0.4";
   pname = "icalendar";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mk3dk1dxkcm46jy48v27j2w2349iv4sbimqj1yb5js43mx49hh7";
+    sha256 = "16gjvqv0n05jrb9g228pdjgzd3amz2pdhvcgsn1jypszjg5m2w9l";
   };
 
   buildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/internetarchive/default.nix b/pkgs/development/python-modules/internetarchive/default.nix
index dda0680f537..739a82aecc5 100644
--- a/pkgs/development/python-modules/internetarchive/default.nix
+++ b/pkgs/development/python-modules/internetarchive/default.nix
@@ -1,6 +1,6 @@
 { buildPythonPackage, fetchFromGitHub, pytest, six, clint, pyyaml, docopt
 , requests, jsonpatch, args, schema, responses, backports_csv, isPy3k
-, lib, glibcLocales }:
+, lib, glibcLocales, setuptools }:
 
 buildPythonPackage rec {
   pname = "internetarchive";
@@ -23,6 +23,7 @@ buildPythonPackage rec {
     jsonpatch
     args
     schema
+    setuptools
   ] ++ lib.optional (!isPy3k) backports_csv;
 
   checkInputs = [ pytest responses glibcLocales ];
diff --git a/pkgs/development/python-modules/libsexy/default.nix b/pkgs/development/python-modules/libsexy/default.nix
deleted file mode 100644
index 78e0dae2634..00000000000
--- a/pkgs/development/python-modules/libsexy/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, buildPythonPackage, libsexy, pkgconfig, libxml2, pygtk, pango, glib, python }:
-
-buildPythonPackage rec {
-  pname = "libsexy";
-  version = "0.1.9";
-  format = "other";
-
-  src = fetchurl {
-    url = "http://releases.chipx86.com/libsexy/sexy-python/sexy-python-${version}.tar.gz";
-    sha256 = "05bgcsxwkp63rlr8wg6znd46cfbhrzc5wh70jabsi654pxxjb39d";
-  };
-
-  nativeBuildInputs = [ pkgconfig pygtk ];
-
-  propagatedBuildInputs = [
-    pygtk libsexy glib pango libxml2
-  ];
-
-  postInstall = ''
-    ln -s $out/${python.sitePackages}/gtk-2.0/* $out/${python.sitePackages}
-  '';
-
-  meta = {
-    description = "Python libsexy bindings";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/python-modules/limnoria/default.nix b/pkgs/development/python-modules/limnoria/default.nix
index 92cdf7764e3..9bcc95ddc30 100644
--- a/pkgs/development/python-modules/limnoria/default.nix
+++ b/pkgs/development/python-modules/limnoria/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "limnoria";
-  version = "2019.09.08";
+  version = "2019.11.09";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0l50smy3hai6pb6lwvcgzrx6yfzshqlvx8ym5my1ji07ilnasmmp";
+    sha256 = "1ni25jmri0928jj2c24xw5f2fzljjla54zh80fimks1aa5752j29";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/mapbox/default.nix b/pkgs/development/python-modules/mapbox/default.nix
new file mode 100644
index 00000000000..1eec58919d5
--- /dev/null
+++ b/pkgs/development/python-modules/mapbox/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, boto3
+, cachecontrol
+, fetchFromGitHub
+, iso3166
+, python-dateutil
+, requests
+, responses
+, polyline
+, pytestCheckHook
+, uritemplate
+}:
+
+buildPythonPackage rec {
+  pname = "mapbox";
+  version = "0.18.0";
+
+  src = fetchFromGitHub {
+    owner = "mapbox";
+    repo = "mapbox-sdk-py";
+    rev = "0.18.0";
+    sha256 = "123wsa4j11ps5pkjgylbmw4gnzh2vi22swgmvy50w26glkszh075";
+  };
+
+  propagatedBuildInputs = [ boto3 cachecontrol iso3166 python-dateutil requests polyline uritemplate ];
+  checkInputs = [ pytestCheckHook responses ];
+
+  meta = with lib; {
+    homepage = https://github.com/mapbox/mapbox-sdk-py;
+    license = licenses.mit;
+    description = "Mapbox SDK for Python";
+    longDescription = "Low-level client API for Mapbox web services.";
+    maintainers = with maintainers; [ ersin ];
+  };
+}
diff --git a/pkgs/development/python-modules/matplotlib/2.nix b/pkgs/development/python-modules/matplotlib/2.nix
index 5a45b02a240..8ea530489e2 100644
--- a/pkgs/development/python-modules/matplotlib/2.nix
+++ b/pkgs/development/python-modules/matplotlib/2.nix
@@ -1,9 +1,8 @@
 { stdenv, fetchPypi, python, buildPythonPackage, pycairo, backports_functools_lru_cache
 , which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
-, freetype, libpng, pkgconfig, mock, pytz, pygobject3, functools32, subprocess32
+, freetype, libpng, pkgconfig, mock, pytz, pygobject3, gobject-introspection, functools32, subprocess32
 , fetchpatch
 , enableGhostscript ? false, ghostscript ? null, gtk3
-, enableGtk2 ? false, pygtk ? null, gobject-introspection
 , enableGtk3 ? false, cairo
 # darwin has its own "MacOSX" backend
 , enableTk ? !stdenv.isDarwin, tcl ? null, tk ? null, tkinter ? null, libX11 ? null
@@ -14,7 +13,6 @@
 }:
 
 assert enableGhostscript -> ghostscript != null;
-assert enableGtk2 -> pygtk != null;
 assert enableTk -> (tcl != null)
                 && (tk != null)
                 && (tkinter != null)
@@ -45,7 +43,6 @@ buildPythonPackage rec {
     [ cycler dateutil nose numpy pyparsing tornado freetype kiwisolver
       libpng mock pytz ]
     ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
-    ++ stdenv.lib.optional enableGtk2 pygtk
     ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
     ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ]
     ++ stdenv.lib.optionals enableQt [ pyqt4 ]
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index ab03149e72d..9f9d1010d98 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchPypi, python, buildPythonPackage, isPy3k, pycairo, backports_functools_lru_cache
 , which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
-, freetype, libpng, pkgconfig, mock, pytz, pygobject3
+, freetype, libpng, pkgconfig, mock, pytz, pygobject3, gobject-introspection
 , enableGhostscript ? true, ghostscript ? null, gtk3
-, enableGtk2 ? false, pygtk ? null, gobject-introspection
 , enableGtk3 ? false, cairo
 # darwin has its own "MacOSX" backend
 , enableTk ? !stdenv.isDarwin, tcl ? null, tk ? null, tkinter ? null, libX11 ? null
@@ -13,7 +12,6 @@
 }:
 
 assert enableGhostscript -> ghostscript != null;
-assert enableGtk2 -> pygtk != null;
 assert enableTk -> (tcl != null)
                 && (tk != null)
                 && (tkinter != null)
@@ -46,7 +44,6 @@ buildPythonPackage rec {
     [ cycler dateutil nose numpy pyparsing tornado freetype kiwisolver
       libpng mock pytz ]
     ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
-    ++ stdenv.lib.optional enableGtk2 pygtk
     ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
     ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ]
     ++ stdenv.lib.optionals enableQt [ pyqt5 ];
diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix
index ad2bae4a45e..c3bbcdc92ba 100644
--- a/pkgs/development/python-modules/pikepdf/default.nix
+++ b/pkgs/development/python-modules/pikepdf/default.nix
@@ -22,12 +22,12 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "1.6.5";
+  version = "1.8.0";
   disabled = ! isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ee935eea84fa5fc1879355de38cd47216e5e922553303ee045c35917e13b2fcf";
+    sha256 = "0pxcx3xc6c0plgxa4w9sjdf4rs1sxpx152b1vqvad2i3392n77ga";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pycdio/default.nix b/pkgs/development/python-modules/pycdio/default.nix
index f7a64b9bde4..5b1d774c169 100644
--- a/pkgs/development/python-modules/pycdio/default.nix
+++ b/pkgs/development/python-modules/pycdio/default.nix
@@ -4,20 +4,23 @@
 , setuptools
 , nose
 , pkgs
-, isPy27
 }:
 
 buildPythonPackage rec {
   pname = "pycdio";
   version = "2.1.0";
-  disabled = !isPy27;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "01b7vqqfry071p60sabydym7r3m3rxszyqpdbs1qi5rk2sfyblnn";
   };
 
-  prePatch = "sed -i -e '/DRIVER_BSDI/d' pycdio.py";
+  prePatch = ''
+    substituteInPlace setup.py \
+      --replace 'library_dirs=library_dirs' 'library_dirs=[dir.decode("utf-8") for dir in library_dirs]' \
+      --replace 'include_dirs=include_dirs' 'include_dirs=[dir.decode("utf-8") for dir in include_dirs]' \
+      --replace 'runtime_library_dirs=runtime_lib_dirs' 'runtime_library_dirs=[dir.decode("utf-8") for dir in runtime_lib_dirs]'
+  '';
 
   preConfigure = ''
     patchShebangs .
diff --git a/pkgs/development/python-modules/pymavlink/default.nix b/pkgs/development/python-modules/pymavlink/default.nix
new file mode 100644
index 00000000000..2d137ec01aa
--- /dev/null
+++ b/pkgs/development/python-modules/pymavlink/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, future, lxml }:
+
+buildPythonPackage rec {
+  pname = "pymavlink";
+  version = "2.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0y9rz3piddzdjpp7d5w9xi6lc9v9b4p4375a5hrfiphrmhds85i3";
+  };
+
+  propagatedBuildInputs = [ future lxml ];
+
+  # No tests included in PyPI tarball
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python MAVLink interface and utilities";
+    homepage = "https://github.com/ArduPilot/pymavlink";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ lopsided98 ];
+  };
+}
diff --git a/pkgs/development/python-modules/root_numpy/default.nix b/pkgs/development/python-modules/root_numpy/default.nix
deleted file mode 100644
index dc2c5f790b5..00000000000
--- a/pkgs/development/python-modules/root_numpy/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, root, nose }:
-
-buildPythonPackage rec {
-  pname = "root_numpy";
-  version = "4.8.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5842bbcde92133f60a61f56e9f0a875a0dbc2a567cc65a9ac141ecd72e416878";
-  };
-
-  disabled = isPy3k; # blocked by #27649
-  checkInputs = [ nose ];
-  checkPhase = ''
-    python setup.py install_lib -d .
-    nosetests -s -v root_numpy
-  '';
-
-  propagatedBuildInputs = [ numpy root ];
-
-  meta = with lib; {
-    homepage = http://scikit-hep.org/root_numpy;
-    license = licenses.bsd3;
-    description = "The interface between ROOT and NumPy";
-    maintainers = with maintainers; [ veprbl ];
-  };
-}
diff --git a/pkgs/development/python-modules/rootpy/default.nix b/pkgs/development/python-modules/rootpy/default.nix
deleted file mode 100644
index 8384510468a..00000000000
--- a/pkgs/development/python-modules/rootpy/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, matplotlib, root, root_numpy, tables, pytest }:
-
-buildPythonPackage rec {
-  pname = "rootpy";
-  version = "1.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0zp2bh87l3f0shiqslbvfmavfdj8m80y8fsrz8rsi5pzqj7zr1bx";
-  };
-
-  disabled = isPy3k;
-
-  propagatedBuildInputs = [ matplotlib numpy root root_numpy tables ];
-
-  checkInputs = [ pytest ];
-  checkPhase = ''
-    # tests fail with /homeless-shelter
-    export HOME=$PWD
-    # skip problematic tests
-    py.test rootpy -k "not test_stl and not test_cpp and not test_xrootd_glob_single and not test_xrootd_glob_multiple"
-  '';
-
-  meta = with lib; {
-    homepage = http://www.rootpy.org;
-    license = licenses.bsd3;
-    description = "Pythonic interface to the ROOT framework";
-    maintainers = with maintainers; [ veprbl ];
-  };
-}
diff --git a/pkgs/development/python-modules/send2trash/default.nix b/pkgs/development/python-modules/send2trash/default.nix
index 3809c0418e4..bb9f115590e 100644
--- a/pkgs/development/python-modules/send2trash/default.nix
+++ b/pkgs/development/python-modules/send2trash/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     owner = "hsoft";
     repo = "send2trash";
     rev = version;
-    sha256 = "1w502i5h8xaqf03g6h95h4vs1wqfv6kg925dn63phrwmg1hfz2xx";
+    sha256 = "1c76zldhw2ay7q7r00nnzcampjz9lkqfcbzqpm0iqp5i6bmmv30v";
   };
 
   doCheck = !stdenv.isDarwin;
diff --git a/pkgs/development/python-modules/simpleeval/default.nix b/pkgs/development/python-modules/simpleeval/default.nix
index ca304fc10f6..0aded2f423f 100644
--- a/pkgs/development/python-modules/simpleeval/default.nix
+++ b/pkgs/development/python-modules/simpleeval/default.nix
@@ -2,10 +2,10 @@
 
 buildPythonPackage rec {
   pname = "simpleeval";
-  version = "0.9.8";
+  version = "0.9.10";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00fzwbjg98lsnmfzmbgzg1k8q8iqbahcxjnnlhzhb44phrhcxql5";
+    sha256 = "1skvl467kj83rzkhk01i0wm8m5vmh6j5znrfdizn6r18ii45a839";
   };
   meta = {
     homepage = https://github.com/danthedeckie/simpleeval;
diff --git a/pkgs/development/python-modules/soundfile/default.nix b/pkgs/development/python-modules/soundfile/default.nix
index 4ba18618674..ff11e75a0de 100644
--- a/pkgs/development/python-modules/soundfile/default.nix
+++ b/pkgs/development/python-modules/soundfile/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "soundfile";
-  version = "0.10.2";
+  version = "0.10.3.post1";
 
   src = fetchPypi {
     pname = "SoundFile";
     inherit version;
-    sha256 = "0w8mjadairg6av88090kwsridd0k115672b91zlcmf37r0c64zv3";
+    sha256 = "0yqhrfz7xkvqrwdxdx2ydy4h467sk7z3gf984y1x2cq7cm1gy329";
   };
 
     checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/testresources/default.nix b/pkgs/development/python-modules/testresources/default.nix
index fa4fc0b1fed..ce00b17b177 100644
--- a/pkgs/development/python-modules/testresources/default.nix
+++ b/pkgs/development/python-modules/testresources/default.nix
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     sha256 = "ee9d1982154a1e212d4e4bac6b610800bfb558e4fb853572a827bc14a96e4417";
   };
 
-  buildInputs = [ pbr ];
+  propagatedBuildInputs = [ pbr ];
 
   checkInputs = [ fixtures testtools ];
 
diff --git a/pkgs/development/tools/analysis/bingrep/default.nix b/pkgs/development/tools/analysis/bingrep/default.nix
index 5fd6b402e0b..2367e197f84 100644
--- a/pkgs/development/tools/analysis/bingrep/default.nix
+++ b/pkgs/development/tools/analysis/bingrep/default.nix
@@ -2,17 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bingrep";
-  version = "0.7.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "m4b";
     repo = pname;
-    # Currently doesn't tag versions so we're using the raw revision
-    rev = "33d56a4b020c4a3c111294fe41c613d5e8e9c7af";
-    sha256 = "0lg92wqknr584b44i5v4f97js56j89z7n8p2zpm8j1pfhjmgcigs";
+    rev = "v${version}";
+    sha256 = "1xig3lrw0jdaxibzirqnm50l8nj4si9pa9w0jypmyhf1lr6yzd0g";
   };
 
-  cargoSha256 = "1yxm7waldhilx7wh1ag79rkp8kypb9k1px4ynmzq11r72yl2p4m7";
+  cargoSha256 = "1fsp1ycfswrzldwnjw5cdwi809fd37pwshvrpf7sp0wmzx2bqhgm";
 
   meta = with stdenv.lib; {
     description = "Greps through binaries from various OSs and architectures, and colors them";
diff --git a/pkgs/development/tools/analysis/brakeman/default.nix b/pkgs/development/tools/analysis/brakeman/default.nix
index 121e1597eb7..edf37efbce9 100644
--- a/pkgs/development/tools/analysis/brakeman/default.nix
+++ b/pkgs/development/tools/analysis/brakeman/default.nix
@@ -4,13 +4,13 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "brakeman";
-  version = "4.7.1";
-  source.sha256 = "149ny2n82hzxw4g8xnimjavs2niq14wl9kwq8zlvadavdg4g9ind";
+  version = "4.7.2";
+  source.sha256 = "1j1svldxvbl27kpyp9yngfwa0fdqal926sjk0cha7h520wvnz79k";
 
   meta = with lib; {
     description = "Static analysis security scanner for Ruby on Rails";
-    homepage = https://brakemanscanner.org/;
-    license = [ licenses.cc-by-nc-sa-40 licenses.mit ];
+    homepage = "https://brakemanscanner.org/";
+    license = [ licenses.unfreeRedistributable ];
     platforms = ruby.meta.platforms;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 2150ca004c2..ecd8f3a17ec 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.113.0";
+  version = "0.114.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "1z7zy2ma1rmx2jjrsrnlrv2j5ff4zlzzlqvlmv7fc7dds3wlz6ia";
+    sha256 = "1dkp3v898b5vd0a9fl5xknwbbqv23v0icqml8ypyhzrv6wz5qiy3";
   };
 
   installPhase = ''
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A static type checker for JavaScript";
     homepage = https://flow.org/;
+    changelog = "https://github.com/facebook/flow/releases/tag/v${version}";
     license = licenses.mit;
     platforms = ocamlPackages.ocaml.meta.platforms;
     maintainers = with maintainers; [ marsam puffnfresh ];
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
index 80c23205c40..953e9f5b95a 100644
--- a/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "tfsec";
-  version = "0.12.2";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "liamg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1xrhsl60xf7230z4d2dyy86406a2306yfqchijrz0957xpkrik2r";
+    sha256 = "1nv7wdchbgf3y265kghhy8rbyvbs03ys5gv9622v0f2kswscy9xl";
   };
 
   goPackagePath = "github.com/liamg/tfsec";
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 6810a053a80..db01a068c00 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -4,13 +4,13 @@
 
 buildGoPackage rec {
   pname = "buildah";
-  version = "1.11.6";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner  = "containers";
     repo   = "buildah";
     rev    = "v${version}";
-    sha256 = "0slhq11nmqsp2rjfwldvcwlpj823ckfpipggkaxhcb66dv8ymm7n";
+    sha256 = "0lsjsfp6ls38vlgibbnsyd1m7jvmjwdmpyrd0qigp4aa2abwi4dg";
   };
 
   outputs = [ "bin" "man" "out" ];
diff --git a/pkgs/development/tools/cue/default.nix b/pkgs/development/tools/cue/default.nix
index 2046ea90fd1..98bf5249b62 100644
--- a/pkgs/development/tools/cue/default.nix
+++ b/pkgs/development/tools/cue/default.nix
@@ -2,12 +2,12 @@
 
 buildGoModule rec {
   pname = "cue";
-  version = "0.0.14";
+  version = "0.0.15";
 
   src = fetchgit {
     url = "https://cue.googlesource.com/cue";
     rev = "v${version}";
-    sha256 = "1gbw377wm41bhn9pw0l5l7v6g5s9jw1p2jammflac7hgwdrxkb64";
+    sha256 = "0mipzci2zjp6yh4lxg9jrdxn03ska188zg3jl6g1zr8rn0ry274h";
   };
 
   modSha256 = "04dapx75zwi8cv1pj3c6266znrhwihv3df4izm3gjk34r2i07q6s";
diff --git a/pkgs/development/tools/jazzy/Gemfile.lock b/pkgs/development/tools/jazzy/Gemfile.lock
index 2b27f9eaa96..907b095629f 100644
--- a/pkgs/development/tools/jazzy/Gemfile.lock
+++ b/pkgs/development/tools/jazzy/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (3.0.1)
+    CFPropertyList (3.0.2)
     activesupport (4.2.11.1)
       i18n (~> 0.7)
       minitest (~> 5.1)
@@ -38,7 +38,7 @@ GEM
       fuzzy_match (~> 2.0.4)
       nap (~> 1.0)
     cocoapods-deintegrate (1.0.4)
-    cocoapods-downloader (1.2.2)
+    cocoapods-downloader (1.3.0)
     cocoapods-plugins (1.0.0)
       nap
     cocoapods-search (1.0.0)
@@ -50,14 +50,14 @@ GEM
     colored2 (3.1.2)
     concurrent-ruby (1.1.5)
     escape (0.0.4)
-    ffi (1.11.2)
+    ffi (1.11.3)
     fourflusher (2.3.1)
     fuzzy_match (2.0.4)
     gh_inspector (1.1.3)
     httpclient (2.8.3)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    jazzy (0.12.0)
+    jazzy (0.13.0)
       cocoapods (~> 1.5)
       mustache (~> 1.1)
       open4
@@ -70,7 +70,7 @@ GEM
     liferaft (0.0.6)
     minitest (5.13.0)
     molinillo (0.6.6)
-    mustache (1.1.0)
+    mustache (1.1.1)
     nanaimo (0.2.6)
     nap (1.1.0)
     netrc (0.11.0)
diff --git a/pkgs/development/tools/jazzy/gemset.nix b/pkgs/development/tools/jazzy/gemset.nix
index 8c1a65d62fb..2073991e787 100644
--- a/pkgs/development/tools/jazzy/gemset.nix
+++ b/pkgs/development/tools/jazzy/gemset.nix
@@ -36,10 +36,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fr8sdzs2q1969zqh790w223hjidlwx4hfm4c91gj0va5j5pv3n8";
+      sha256 = "1825ll26p28swjiw8n3x2pnh5ygsmg83spf82fnzcjn2p87vc5lf";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "3.0.2";
   };
   claide = {
     groups = ["default"];
@@ -88,10 +88,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09fd4zaqkz8vz3djplacngcs4n0j6j956wgq43s1y6bwl0zyjmd3";
+      sha256 = "08vn0pgcyn6w6fq5xjd7szv2h9s5rzl17kyidnd7fl5qdmzc9c54";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.3.0";
   };
   cocoapods-plugins = {
     dependencies = ["nap"];
@@ -170,10 +170,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
       type = "gem";
     };
-    version = "1.11.2";
+    version = "1.11.3";
   };
   fourflusher = {
     groups = ["default"];
@@ -230,10 +230,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a2pc4qlf531k85lp7kbwz4rqvs4lgdndmvv676x3qvm181p8blc";
+      sha256 = "0d903aii1y54xb348cyj7rps7xa3in41w2qjh6yvgkbxbabnc616";
       type = "gem";
     };
-    version = "0.12.0";
+    version = "0.13.0";
   };
   json = {
     groups = ["default"];
@@ -278,10 +278,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1698xpwxmfvj39ii5vv8a4aka54p3fpk5i4rf8z9lfxrh4948rbk";
+      sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.1.1";
   };
   nanaimo = {
     groups = ["default"];
diff --git a/pkgs/development/tools/kind/default.nix b/pkgs/development/tools/kind/default.nix
index 4ac57d0e850..411b6a261d6 100644
--- a/pkgs/development/tools/kind/default.nix
+++ b/pkgs/development/tools/kind/default.nix
@@ -1,22 +1,29 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub, installShellFiles }:
 
 with stdenv.lib;
 
 buildGoPackage rec {
   pname = "kind";
-  version = "0.5.1";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "kubernetes-sigs";
     repo   = "kind";
-    sha256 = "12bjvma98dlxybqs43dggnd6cihxm18xz68a5jw8dzf0cg738gs8";
+    sha256 = "165nwkhsa12z043rvkdf977jndhp82x7sccqfy75pkx99mzz43r2";
   };
 
   goDeps = ./deps.nix;
   goPackagePath = "sigs.k8s.io/kind";
   subPackages = [ "." ];
 
+  nativeBuildInputs = [ installShellFiles ];
+  postInstall = ''
+    $bin/bin/kind completion bash > kind.bash
+    $bin/bin/kind completion zsh > kind.zsh
+    installShellCompletion kind.{bash,zsh}
+  '';
+
   meta = {
     description = "Kubernetes IN Docker - local clusters for testing Kubernetes";
     homepage    = https://github.com/kubernetes-sigs/kind;
diff --git a/pkgs/development/tools/kind/deps.nix b/pkgs/development/tools/kind/deps.nix
index c5557c2aa49..99a73291d71 100644
--- a/pkgs/development/tools/kind/deps.nix
+++ b/pkgs/development/tools/kind/deps.nix
@@ -1,6 +1,15 @@
 # file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
 [
   {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
     goPackagePath = "github.com/NYTimes/gziphandler";
     fetch = {
       type = "git";
@@ -14,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/PuerkitoBio/purell";
-      rev = "v1.1.1";
-      sha256 = "0c525frsxmalrn55hzzsxy17ng8avkd40ga0wxfw9haxsdjgqdqy";
+      rev = "v1.0.0";
+      sha256 = "1qhsy1nm96b9kb63svkvkqmmw15xg6irwcysisxdgzk64adfwqv1";
     };
   }
   {
@@ -23,8 +32,62 @@
     fetch = {
       type = "git";
       url = "https://github.com/PuerkitoBio/urlesc";
-      rev = "de5bf2ad4578";
-      sha256 = "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw";
+      rev = "5bd2802263f2";
+      sha256 = "15y5r3asvm7196m3nza5xvdvlc2k11p6lfs6hi917hl7r9vgi6mp";
+    };
+  }
+  {
+    goPackagePath = "github.com/alessio/shellescape";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alessio/shellescape";
+      rev = "b115ca0f9053";
+      sha256 = "0z4jq94yn0jjj56bzrpdazb3pv1jg0r7z0ikq3gjaa51h423wk4z";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/consul-api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/consul-api";
+      rev = "eb2c6b5be1b6";
+      sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9";
+    };
+  }
+  {
+    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";
     };
   }
   {
@@ -37,12 +100,30 @@
     };
   }
   {
+    goPackagePath = "github.com/docker/spdystream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/spdystream";
+      rev = "449fdfce4d96";
+      sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl";
+    };
+  }
+  {
+    goPackagePath = "github.com/elazarl/goproxy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/elazarl/goproxy";
+      rev = "c4fc26588b6e";
+      sha256 = "1s3v02px61a3hmvb47rqk598z5visayxq46k3c8dcrayhhngv2fw";
+    };
+  }
+  {
     goPackagePath = "github.com/emicklei/go-restful";
     fetch = {
       type = "git";
       url = "https://github.com/emicklei/go-restful";
-      rev = "v2.9.6";
-      sha256 = "0dgjld5240xhz45rj929ffm452n931qfw3fx8x99vhlnii9qrwz2";
+      rev = "ff4f55a20633";
+      sha256 = "1v5lj5142abz3gvbygp6xghpdx4ps2lwswl8559ivaidahwnc21c";
     };
   }
   {
@@ -73,12 +154,21 @@
     };
   }
   {
+    goPackagePath = "github.com/go-logr/logr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logr/logr";
+      rev = "v0.1.0";
+      sha256 = "0fhijjhxz4n2j5i24ckzv8r9kri3v44jdyklgbqjfq0xm7izqg14";
+    };
+  }
+  {
     goPackagePath = "github.com/go-openapi/jsonpointer";
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/jsonpointer";
-      rev = "v0.19.2";
-      sha256 = "1s3cqf4svrbygvvpvi7hf122szsgihas52vqh0bba3avf4w03g9n";
+      rev = "46af16f9f7b1";
+      sha256 = "0w0fphmdycjzbsm1vppdcjc9aqinkcdzcq3pxikdvdqh5p791gsc";
     };
   }
   {
@@ -86,8 +176,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/jsonreference";
-      rev = "v0.19.2";
-      sha256 = "0v933yvcwyzzlpdxwb9204ki7lls2rwfd96ww2i901ndvz37kdf8";
+      rev = "13c6e3589ad9";
+      sha256 = "1fh4xcl9ijww4bdq656sx981d57w2c9zx5148jsxlsg4bsvxmwis";
     };
   }
   {
@@ -95,8 +185,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/spec";
-      rev = "v0.19.2";
-      sha256 = "1r2my46qc85fp1j4lbddmd6c1n0am9bq1wyqsnw7x8raiznqxp5l";
+      rev = "6aced65f8501";
+      sha256 = "0yf0nw7167yjpiqrikns5djarjpf2r07q6xnq9xb1cfsc4m7ynm4";
     };
   }
   {
@@ -104,8 +194,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/swag";
-      rev = "v0.19.2";
-      sha256 = "1mlxlajx2p9wjm72rmqjrx5g49q2sn04y45s3nrykkf6jqlq1v4z";
+      rev = "1d0bd113de87";
+      sha256 = "0fmk42chj20679n87n6sig3czs25lavyj6w208000n6kccv1ns3c";
     };
   }
   {
@@ -113,8 +203,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/gogo/protobuf";
-      rev = "v1.2.1";
-      sha256 = "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m";
+      rev = "65acae22fc9d";
+      sha256 = "0700alky9z0g9akhrzn20wf4jr1600d0clhs32sm8chnlbvidy46";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/groupcache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/groupcache";
+      rev = "02826c3e7903";
+      sha256 = "0w46bsllddfij66nrg8jbfjsr54birvfww8a2fj9fmgyig5syn2x";
     };
   }
   {
@@ -122,8 +221,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "v1.3.1";
-      sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
+      rev = "v1.3.2";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.3.0";
+      sha256 = "1hyxx3434zshl2m9ja78gwlkg1rx9yl6diqa7dnjb31xz5x4gbjj";
     };
   }
   {
@@ -149,8 +257,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/googleapis/gnostic";
-      rev = "v0.3.0";
-      sha256 = "0bnxpkxw9kmwm27rxhgv3i0jn362wp9whmqrv0lb77874s5iz2lc";
+      rev = "0c5108395e2d";
+      sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc";
+    };
+  }
+  {
+    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";
     };
   }
   {
@@ -176,8 +302,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/json-iterator/go";
-      rev = "v1.1.6";
-      sha256 = "08caswxvdn7nvaqyj5kyny6ghpygandlbw9vxdj7l5vkp7q0s43r";
+      rev = "v1.1.8";
+      sha256 = "1kbp9fj6fxfql0ir59zb6v68l4bpwlmk76xm8vaikw1hp6y9bcss";
     };
   }
   {
@@ -185,8 +311,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kisielk/errcheck";
-      rev = "v1.1.0";
-      sha256 = "19vd4rxmqbk5lpiav3pf7df3yjlz0l0dwx9mn0gjq5f998iyhy6y";
+      rev = "v1.2.0";
+      sha256 = "0am6g10ipdxw84byscm7shda654882wjcbinq5c4696m6mhi2qrd";
     };
   }
   {
@@ -199,15 +325,6 @@
     };
   }
   {
-    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";
-    };
-  }
-  {
     goPackagePath = "github.com/kr/pretty";
     fetch = {
       type = "git";
@@ -221,8 +338,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kr/pty";
-      rev = "v1.1.5";
-      sha256 = "1bpq77b90z72cv9h66dvxsg2j197ylpgcps23xsjfbs752bykfw1";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
     };
   }
   {
@@ -235,12 +352,48 @@
     };
   }
   {
+    goPackagePath = "github.com/magiconair/properties";
+    fetch = {
+      type = "git";
+      url = "https://github.com/magiconair/properties";
+      rev = "v1.8.0";
+      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
+    };
+  }
+  {
     goPackagePath = "github.com/mailru/easyjson";
     fetch = {
       type = "git";
       url = "https://github.com/mailru/easyjson";
-      rev = "da37f6c1e481";
-      sha256 = "0yhamddd1jyqslp0hm5g07ki82sp52f0idfiqylx6fm24fin74gh";
+      rev = "d5b7844b561a";
+      sha256 = "1g84l4wns28xjpn6nl1g33dcj3sfgxlkqqsa6w8fbq2kwyd50xka";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.10";
+      sha256 = "0jf4hwfwd2cpxrlyv0jzcia809q2bjw7y1m3ciaj2s8lj2jqyf6r";
+    };
+  }
+  {
+    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";
     };
   }
   {
@@ -271,12 +424,21 @@
     };
   }
   {
+    goPackagePath = "github.com/mxk/go-flowrate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mxk/go-flowrate";
+      rev = "cca7078d478f";
+      sha256 = "0zqs39923ja0yypdmiqk6x8pgmfs3ms5x5sl1dqv9z6zyx2xy541";
+    };
+  }
+  {
     goPackagePath = "github.com/onsi/ginkgo";
     fetch = {
       type = "git";
       url = "https://github.com/onsi/ginkgo";
-      rev = "v1.8.0";
-      sha256 = "1326s5fxgasdpz1qqwrw4n5p3k0vz44msnyz14knrhlw5l97lx33";
+      rev = "v1.10.1";
+      sha256 = "033a42h1wzmji57p86igg9whvsbp6nvfdsypskw738ys903n3z4d";
     };
   }
   {
@@ -284,8 +446,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/gomega";
-      rev = "v1.5.0";
-      sha256 = "1n7i4hksdgv410m43v2sw14bl5vy59dkp6nlw5l76nibbh37syr9";
+      rev = "v1.7.0";
+      sha256 = "09j6wq425wgzzsbwm9ckhfgl2capv3yyqbrf45qyrjwkzm49i02y";
+    };
+  }
+  {
+    goPackagePath = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev = "v1.2.0";
+      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
     };
   }
   {
@@ -307,12 +478,30 @@
     };
   }
   {
-    goPackagePath = "github.com/sirupsen/logrus";
+    goPackagePath = "github.com/russross/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/russross/blackfriday";
+      rev = "v1.5.2";
+      sha256 = "0jzbfzcywqcrnym4gxlz6nphmm1grg6wsl4f0r9x384rn83wkj7c";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/afero";
     fetch = {
       type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "v1.4.1";
-      sha256 = "1m7ny9jkb98cxqhsp13xa5hnqh1s9f25x04q6arsala4zswsw33c";
+      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";
     };
   }
   {
@@ -320,8 +509,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cobra";
-      rev = "v0.0.3";
-      sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
+      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";
     };
   }
   {
@@ -329,8 +527,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/pflag";
-      rev = "v1.0.3";
-      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+      rev = "v1.0.5";
+      sha256 = "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/viper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/viper";
+      rev = "v1.3.2";
+      sha256 = "1829hvf805kda65l59r17wvid7y0vr390s23zfhf4w7vdb4wp3zh";
     };
   }
   {
@@ -338,8 +545,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/objx";
-      rev = "v0.2.0";
-      sha256 = "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k";
+      rev = "v0.1.0";
+      sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
     };
   }
   {
@@ -347,8 +554,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "v1.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+      rev = "v1.4.0";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
+    };
+  }
+  {
+    goPackagePath = "github.com/ugorji/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ugorji/go";
+      rev = "d75b2dcb6bc8";
+      sha256 = "0di1k35gpq9bp958ywranpbskx2vdwlb38s22vl9rybm3wa5g3ps";
+    };
+  }
+  {
+    goPackagePath = "github.com/xordataexchange/crypt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xordataexchange/crypt";
+      rev = "b2862e3d0a77";
+      sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y";
     };
   }
   {
@@ -356,8 +581,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "5c40567a22f8";
-      sha256 = "17g8fb9vy2sqq8vgz8jdvf6c6d2290gm2qs0i4yzsd86mgn4dlrg";
+      rev = "c2843e01d9a2";
+      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
     };
   }
   {
@@ -365,8 +590,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "3b0461eec859";
-      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
+      rev = "13f9640d40b9";
+      sha256 = "1ba2767lvklnmfvb9jkwvd4m7z6326gaiz3rgylh795g88hy34g1";
     };
   }
   {
@@ -374,8 +599,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "112230192c58";
-      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
+      rev = "1d60e4601c6f";
+      sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
     };
   }
   {
@@ -383,8 +608,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "d432491b9138";
-      sha256 = "0ijq720jr76yxdd6mh1rdpxh7q93w6149paclb4g39vhr84hfiv8";
+      rev = "c1f44814a5cd";
+      sha256 = "1a6hb4326hk8hvcbs0pqypalsxzqc8xasnglrrwd6ai0njgh18pg";
     };
   }
   {
@@ -401,8 +626,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/tools";
-      rev = "5aca471b1d59";
-      sha256 = "1i4h3q83w4y9s065w0wnnnwlssy69jbrj08k47ppsa8dnv85kyrf";
+      rev = "6c7e314b6563";
+      sha256 = "1m1n6r8v6mrlh0yvlz3qxz4s7jc7nis0zf3dfl1i6hqh5xblkwnw";
     };
   }
   {
@@ -446,17 +671,17 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.2";
-      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+      rev = "v2.2.5";
+      sha256 = "08smz8dfyxp02ha74my9iszqa5qzgl3ksi28ilyp8lqipssiq6fg";
     };
   }
   {
-    goPackagePath = "k8s.io/api";
+    goPackagePath = "gopkg.in/yaml.v3";
     fetch = {
       type = "git";
-      url = "https://github.com/kubernetes/api";
-      rev = "6e4e0e4f393b";
-      sha256 = "0y7nxxywq2qx74a5vsg0h2jkfj879wbv6bjran12401fv0vsdlp1";
+      url = "https://gopkg.in/yaml.v3";
+      rev = "e228e37189d3";
+      sha256 = "06sc63lqhkqjh188md1cywvscxq40cqgmdl8ccd3q891b1xpajl4";
     };
   }
   {
@@ -464,17 +689,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/apimachinery";
-      rev = "6a84e37a896d";
-      sha256 = "1ys06ixidvpcj9sgk0c2i5vsz11gg3h8xcpc9kqxfsik36cw1akk";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/client-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/client-go";
-      rev = "v11.0.0";
-      sha256 = "006007k55b5q95fa0vih4bprwvx5sk4a5chvsn46baqa5znphyn1";
+      rev = "v0.17.0";
+      sha256 = "1418y3p2fx7zsf1anpwcma1fqnaymal12d6x33j600jf1y0j9g8i";
     };
   }
   {
@@ -491,8 +707,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/klog";
-      rev = "v0.3.3";
-      sha256 = "1gk1jhhyzsqcb4wnb02hkp8fwmk3ac924yzk87hfc6sgz43jplpn";
+      rev = "v1.0.0";
+      sha256 = "1cgannfmldcrcksb2wqdn2b5qabqyxl9r25w9y4qbljw24hhnlvn";
     };
   }
   {
@@ -500,17 +716,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/kube-openapi";
-      rev = "db7b694dc208";
-      sha256 = "11pmxz6if6gphspyyjqrphwclg02mgnp30mn1i0lr8r21d64m148";
-    };
-  }
-  {
-    goPackagePath = "sigs.k8s.io/kustomize/v3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes-sigs/kustomize";
-      rev = "4b67a6de1296";
-      sha256 = "1qi5swzs3qix9mimrc660hxh9qgcrbcw49z4w27hdv27xl5fa0rd";
+      rev = "30be4d16710a";
+      sha256 = "13pksn2xzyhrz569zihqy78y9ckn4sf4f4x31w1czfwbs87n00gf";
     };
   }
   {
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 4f71d5ae410..2ecabb68670 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "strace";
-  version = "5.3";
+  version = "5.4";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0ix06z4vnc49mv76f22kixz8dsh7daqv9mpgwcgl0mlnfjc124vc";
+    sha256 = "0hd7sb7l99y9rcj8jjc1b6m3ryds17krsymdg3dvd40jsla0bl7p";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://strace.io/;
+    homepage = "https://strace.io/";
     description = "A system call tracer for Linux";
     license =  with licenses; [ lgpl21Plus gpl2Plus ]; # gpl2Plus is for the test suite
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index 67acf874baf..ed3d5efc789 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -1,21 +1,19 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, yojson }:
+{ lib, fetchurl, buildDunePackage, yojson }:
 
 buildDunePackage rec {
   pname = "merlin";
-  version = "3.3.2";
+  version = "3.3.3";
 
   minimumOCamlVersion = "4.02.1";
 
-  src = fetchFromGitHub {
-    owner = "ocaml";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1z9mcxflraj15sbz6q7f84n31n9fsialw7z8bi3r1biz68nypva9";
+  src = fetchurl {
+    url = "https://github.com/ocaml/merlin/releases/download/v${version}/merlin-v${version}.tbz";
+    sha256 = "05dfkbpbb7nvs4g6y0iw7a9f73ygvhs9l45l2g56y7zagvs9x43j";
   };
 
   buildInputs = [ yojson ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An editor-independent tool to ease the development of programs in OCaml";
     homepage = "https://github.com/ocaml/merlin";
     license = licenses.mit;
diff --git a/pkgs/development/tools/rust/cargo-make/Cargo.lock b/pkgs/development/tools/rust/cargo-make/Cargo.lock
index 8d2260374d1..00a2eb721df 100644
--- a/pkgs/development/tools/rust/cargo-make/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-make/Cargo.lock
@@ -98,15 +98,15 @@ dependencies = [
 
 [[package]]
 name = "cargo-make"
-version = "0.24.1"
+version = "0.24.2"
 dependencies = [
- "ci_info 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "colored 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
  "fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
- "git_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -143,7 +143,7 @@ dependencies = [
 
 [[package]]
 name = "ci_info"
-version = "0.8.1"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -269,7 +269,7 @@ dependencies = [
 
 [[package]]
 name = "git_info"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -653,7 +653,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
 "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
 "checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
-"checksum ci_info 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "93b085342b4579e6bd92189bb6b832b2fff5564382e2472be42748b630e8063d"
+"checksum ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4e9091c3d285e7046afdb70fc7413d1ac670288705e151443f868f71e66ed2a"
 "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
 "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
 "checksum colored 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "433e7ac7d511768127ed85b0c4947f47a254131e37864b2dc13f52aa32cd37e5"
@@ -667,7 +667,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e69ab0d5aca163e388c3a49d284fed6c3d0810700e77c5ae2756a50ec1a4daaa"
 "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
 "checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
-"checksum git_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4862dc2fabbfe087ec247e8dda2a4c5b70e8506e7f6d5db6234627d6e81f2309"
+"checksum git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "add3a9c3c08c8905a2165ff06891dd1c3bb32d81b2a32d79528abc9793dfb06f"
 "checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 "checksum home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a3753954f7bd71f0e671afb8b5a992d1724cf43b7f95a563cd4a0bde94659ca8"
 "checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 6989d005da3..e4cb070464c 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.24.1";
+  version = "0.24.2";
 
   src =
     let
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "0fnp3vv2vncrvc8cp24ijldb8bfb0i8m8cxiqa4vqnix9yi182yd";
+        sha256 = "02fc3vf802dzqvyh61cmkjf3vqf5xsl8dhjggns7p5zr2aqh8pfi";
       };
     in
     runCommand "cargo-make-src" {} ''
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "1skias0jyridd0dv864m5ls1ifvj1zqnnymrgs6q0169aidwrbdc";
+  cargoSha256 = "1x2pkis82hsikjqgma7f6wmkcmviiqwc7pvdpmww61iq2aqfg7ds";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/cargo-xbuild/default.nix b/pkgs/development/tools/rust/cargo-xbuild/default.nix
index 81814300655..a5220775b52 100644
--- a/pkgs/development/tools/rust/cargo-xbuild/default.nix
+++ b/pkgs/development/tools/rust/cargo-xbuild/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-xbuild";
-  version = "0.5.18";
+  version = "0.5.19";
 
   src = fetchFromGitHub {
     owner = "rust-osdev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hcsdwwl1xc59f1ppwlxj1zyp1md07z70gfvg4zqvafc6dzx708j";
+    sha256 = "0j15d52bpl3k6jw0hzcxdvjayd2azdp5b9s2fq3ywd4zbda8rqp7";
   };
 
   cargoSha256 = "1pj4x8y5vfpnn8vhxqqm3vicn29870r3jh0b17q3riq4vz1a2afp";
diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix
index b872e95d589..8e3c3e33994 100644
--- a/pkgs/games/cataclysm-dda/git.nix
+++ b/pkgs/games/cataclysm-dda/git.nix
@@ -10,15 +10,18 @@ let
 in
 
 stdenv.mkDerivation (common // rec {
-  version = "2019-05-03";
+  version = "2019-11-22";
   name = "cataclysm-dda-git-${version}";
 
   src = fetchFromCleverRaven {
-    rev = "65a05026e7306b5d1228dc6ed885c43447f128b5";
-    sha256 = "18yn0h6b4j9lx67sq1d886la3l6l7bqsnwj6mw2khidssiy18y0n";
+    rev = "a6c8ece992bffeae3788425dd4b3b5871e66a9cd";
+    sha256 = "0ww2q5gykxm802z1kffmnrfahjlx123j1gfszklpsv0b1fccm1ab";
   };
 
-  patches = [ ./patches/fix_locale_dir_git.patch ];
+  patches = [
+    # Locale patch required for Darwin builds, see: https://github.com/NixOS/nixpkgs/pull/74064#issuecomment-560083970
+    ./patches/fix_locale_dir_git.patch
+  ];
 
   makeFlags = common.makeFlags ++ [
     "VERSION=git-${version}-${substring 0 8 src.rev}"
diff --git a/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch b/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
index 1b92c881661..79b442ff5c9 100644
--- a/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
+++ b/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
@@ -1,8 +1,8 @@
 diff --git a/src/translations.cpp b/src/translations.cpp
-index 0068a35785..c8034cbeac 100644
+index 067e2cd77d..5660d18b3d 100644
 --- a/src/translations.cpp
 +++ b/src/translations.cpp
-@@ -202,14 +202,12 @@ void set_language()
+@@ -211,14 +211,12 @@ void set_language()
      auto env = getenv( "LANGUAGE" );
      locale_dir = std::string( FILENAMES["base_path"] + "lang/mo/" + ( env ? env : "none" ) +
                                "/LC_MESSAGES/cataclysm-dda.mo" );
@@ -16,5 +16,5 @@ index 0068a35785..c8034cbeac 100644
 -#else
 -    locale_dir = "lang/mo";
  #endif
- 
+
      const char *locale_dir_char = locale_dir.c_str();
diff --git a/pkgs/games/harmonist/default.nix b/pkgs/games/harmonist/default.nix
index a391a73069a..19074a309dd 100644
--- a/pkgs/games/harmonist/default.nix
+++ b/pkgs/games/harmonist/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
 
   pname = "harmonist";
-  version = "0.2";
+  version = "0.3.0";
 
   goPackagePath = "git.tuxfamily.org/harmonist/harmonist.git";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/harmonist/releases/${pname}-${version}.tar.gz";
-    sha256 = "1r78v312x2k1v9rkxkxffs5vxn9sc0dcszm66yw10p7qy9lyvicd";
+    sha256 = "16bh4zzq7szwcw19n34bslkf81fz3i0p4zqkd8gdi5ixkbm998lm";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/games/harmonist/deps.nix b/pkgs/games/harmonist/deps.nix
index c65c0e33998..68290823625 100644
--- a/pkgs/games/harmonist/deps.nix
+++ b/pkgs/games/harmonist/deps.nix
@@ -4,8 +4,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nsf/termbox-go";
-      rev = "eeb6cd0a176293eeb2c69270d83835972e3567bc";
-      sha256 = "14695dk07dj41s5f74l3wdf3xjj2flq4fq016i98f5xijh5f64i3";
+      rev = "93860e16131719fa9722e7c448dbf8c0e3210a0d";
+      sha256 = "03hz060cy8qrl4kgr80pbq6xvr38z4c6ghr3y81i8g854rvp6426";
     };
   }
   {
@@ -13,8 +13,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-runewidth";
-      rev = "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211";
-      sha256 = "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w";
+      rev = "18c3d09a134a52720932bbaa92c798a0ab111004";
+      sha256 = "1snr8mk63vz2h44knq26dm81p83887v7kb09iywqmx0nqzngih66";
     };
   }
 ]
diff --git a/pkgs/games/hexen/default.nix b/pkgs/games/hexen/default.nix
deleted file mode 100644
index 48379da3a0a..00000000000
--- a/pkgs/games/hexen/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, SDL} :
-
-stdenv.mkDerivation {
-  name = "hexen-0.2.3";
-  src = fetchurl {
-    url = https://www.libsdl.org/projects/hexen/src/hexen-0.2.3.tar.gz;
-    sha256 = "c1433e930f2003c5f817f935406bb28ba15298a15b1c11f83f42df3e9f1f3bc4";
-  };
-
-  buildInputs = [ SDL ];
-
-  meta = {
-    homepage = http://www.libsdl.org/projects/hexen/;
-    description = "Port of Raven Software's popular Hexen 3-D shooter game";
-    license = stdenv.lib.licenses.free;
-    broken = true;
-  };
-}
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index d7933ba3b69..0c4efd46779 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -39,12 +39,12 @@ let
 
   agda-vim = buildVimPluginFrom2Nix {
     pname = "agda-vim";
-    version = "2019-08-04";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "derekelkins";
       repo = "agda-vim";
-      rev = "4fc0a0a95a347b7b98715a78b6f41edd5aa084c5";
-      sha256 = "15zzc1aqzflw36462ka5914cmfqckciqcgcff0kfmzglfcx7is6z";
+      rev = "fbb55d9ef8829630ea8f12c112bebc69c7a15337";
+      sha256 = "0fg43ggaxpnybc9ism4b5q7l0n6rdgh4vkpch80x89mwld287lqv";
     };
   };
 
@@ -204,12 +204,12 @@ let
 
   calendar-vim = buildVimPluginFrom2Nix {
     pname = "calendar-vim";
-    version = "2019-12-03";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "calendar.vim";
-      rev = "335e67e32865259c8a1f27a08fd1260a8cb1897b";
-      sha256 = "1n35sf4v1piww31kqzg88s4xb5gdsxqgjvfmlif16na1kdvyjwd5";
+      rev = "6d6ac26c537b996819eda9f0cf8f303d10048c10";
+      sha256 = "120bx0wskkpk2r05sv74430270lf3c5j1z02bd05i9747dbjcgq5";
     };
   };
 
@@ -413,12 +413,12 @@ let
 
   coc-lists = buildVimPluginFrom2Nix {
     pname = "coc-lists";
-    version = "2019-11-25";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-lists";
-      rev = "c3d8bca71ba4cbf6eefdd24e77e62b595dcff856";
-      sha256 = "0djmzw782m8vy3sfff3gnnib4iz3wilvjv4hagv7mhzcf2lzswsb";
+      rev = "6dde4a564e33251d6745631fcf3168663cad7551";
+      sha256 = "1w6cln4ac6df4ka7q4wkv303sh5bmgfzl7gck2v2n5fff7yhrqxq";
     };
   };
 
@@ -435,12 +435,12 @@ let
 
   coc-pairs = buildVimPluginFrom2Nix {
     pname = "coc-pairs";
-    version = "2019-12-02";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-pairs";
-      rev = "97a757cadecabd5a1bf0ed0eb831535d7011ecbd";
-      sha256 = "0ygsiplb4slw7vf72njiy3cxslflnihr3qfi9i802dc9p02w4sl8";
+      rev = "08ad1b1565960b41005bedbbd051f90c8edacc3c";
+      sha256 = "0wfjs9hj11b0zfryfa2jnclgx4sfml9wvpjbwdqhhzz20ahc1jsh";
     };
   };
 
@@ -479,12 +479,12 @@ let
 
   coc-rls = buildVimPluginFrom2Nix {
     pname = "coc-rls";
-    version = "2019-11-23";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-rls";
-      rev = "1c7df237f76a50f25e8bbe3d8bec897991ca86b2";
-      sha256 = "0q9i1lz4id9c3d4lch3fxkh8qg9v59vh3kin9h2qdnp3xwgfcvjr";
+      rev = "c899418e8fae4a8c3eb15fee48513ae050b11d60";
+      sha256 = "0sipvs8r8i239l2334k4qnhwpaijwd524q598rp4ma34ry42c2xl";
     };
   };
 
@@ -501,12 +501,12 @@ let
 
   coc-snippets = buildVimPluginFrom2Nix {
     pname = "coc-snippets";
-    version = "2019-10-24";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-snippets";
-      rev = "1294af604d65b66bac4ff05e159dc0bd0adb8710";
-      sha256 = "093q9gx7fkahyk082gkawgvakzimvhhxazxhrdvmzsqs07yjxjmc";
+      rev = "3ffd09dad94f6f41dd03cf3cec2a6b92a7028702";
+      sha256 = "1qrkgva9yjjbjyflwaqfk84ia2vd5956ikjkmjfhd3gd52kh7hlg";
     };
   };
 
@@ -534,12 +534,12 @@ let
 
   coc-tabnine = buildVimPluginFrom2Nix {
     pname = "coc-tabnine";
-    version = "2019-09-12";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-tabnine";
-      rev = "cb787892b860a53fea65954b4afa32331ab17851";
-      sha256 = "0c7hk8alggvz837w48fqiz3d01z56pxg2qss13qpp01kvvw12np6";
+      rev = "f72b4f47109918cc6ad43b42ed566bec61feff8e";
+      sha256 = "1jaj6qsascdpdyz0g8yvi7bcxf4jwcrb0766x4dsmfk9r7prxifl";
     };
   };
 
@@ -567,12 +567,12 @@ let
 
   coc-tsserver = buildVimPluginFrom2Nix {
     pname = "coc-tsserver";
-    version = "2019-11-23";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-tsserver";
-      rev = "4f493d6c35bfef71ec21e8db648bcabda5f9ad21";
-      sha256 = "1n1b9ss5cjmn5vazfmy97x88s4nqw6f2mwvnqbnvx3cjrpwvyjy6";
+      rev = "1f76767ffb0c79a8917b122c8091dbcdf71aa824";
+      sha256 = "0p6pkhq4y69ib408g2r3a20ycfh8yyr8a5jld9snc1jpb8vi0m1l";
     };
   };
 
@@ -622,12 +622,12 @@ let
 
   coc-yank = buildVimPluginFrom2Nix {
     pname = "coc-yank";
-    version = "2019-11-23";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-yank";
-      rev = "1d145660c81cf4f160965feb12ea69129d1cce3e";
-      sha256 = "1sdpkr1rkvqaiixiddd5a0095di071nxr2gvnikb4pnzrknacngk";
+      rev = "79c5a97c9b7122180b869f90f7f011934f3ae8f5";
+      sha256 = "0dqz759aw0zlmgwrkv8ia45sdl27hb63ilawm9awzbl99w02psjf";
     };
   };
 
@@ -733,12 +733,12 @@ let
 
   csv-vim = buildVimPluginFrom2Nix {
     pname = "csv-vim";
-    version = "2019-06-04";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "csv.vim";
-      rev = "f8d24584b01cc72e1a3bee640099a7d9bae98102";
-      sha256 = "112spld65z56zbgd0zm2p1psc8g728pbd8gig0az1lnbxp3pl3jc";
+      rev = "3128891191d7e363d39cbe70b96281ec8d897bcb";
+      sha256 = "1qapfsk4z637rqi9mppac50gliyi957cvl2dfknq0dy856a11274";
     };
   };
 
@@ -843,12 +843,12 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2019-12-05";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "f9567a0e9a8af56a33961192bbbbe93ada60155d";
-      sha256 = "1q20r409cxhywj5yzimirrj2aa1p6s4d1y4y429g8zl2qn9nr2fw";
+      rev = "13c8542818f418d1207c368f0072072c793f58c1";
+      sha256 = "1xrpmrr6wmy88s23j4cxcpsj9wlw7ak48sg3hjqpni9w231kp7a9";
     };
   };
 
@@ -899,24 +899,24 @@ let
 
   deoplete-go = buildVimPluginFrom2Nix {
     pname = "deoplete-go";
-    version = "2019-12-01";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "zchee";
       repo = "deoplete-go";
-      rev = "45ab448ad0bdd19a6f13ce691a5ce3c0c381ee9e";
-      sha256 = "132wkvh62zhpiv37576k0a8akm90x40dq0sr7rc9q24cq5lym7rx";
+      rev = "a3ac3f53f0af482095ebcf09af8ca1d1edce45bc";
+      sha256 = "19xgsm5mbfcpdb0csckbwi83gl3b4wqdn8vchbv8j9faf10qnf2b";
       fetchSubmodules = true;
     };
   };
 
   deoplete-jedi = buildVimPluginFrom2Nix {
     pname = "deoplete-jedi";
-    version = "2019-12-07";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "deoplete-plugins";
       repo = "deoplete-jedi";
-      rev = "331237df98f67a821715aec06cd3ff5784b10220";
-      sha256 = "0q0400il4lh39lvnfbshzs7mc4n3fkwgs1m47pglm31305g1mx1b";
+      rev = "7990447a308c6c5839ada856f31a7dd3e34f20a4";
+      sha256 = "1570k79ihz6kif85ichdgdnbipbdkqb5ks8izhqppb68lajyjvd2";
       fetchSubmodules = true;
     };
   };
@@ -932,14 +932,25 @@ let
     };
   };
 
+  deoplete-khard = buildVimPluginFrom2Nix {
+    pname = "deoplete-khard";
+    version = "2019-09-02";
+    src = fetchFromGitHub {
+      owner = "nicoe";
+      repo = "deoplete-khard";
+      rev = "27221723a3bb8e480ff8cbe7f4be9ff38c076bf7";
+      sha256 = "0g7sysm5lb8fpgagfg4565fz4rn16djdc4m2213ryq1s3crx40gw";
+    };
+  };
+
   deoplete-lsp = buildVimPluginFrom2Nix {
     pname = "deoplete-lsp";
-    version = "2019-12-03";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete-lsp";
-      rev = "dbac6111ae250e845070075f63a3d81fd6320815";
-      sha256 = "1p55jk21l6qd16vh0yh0zilxqz8dpksis1w7ildjwhd5f8b8ach0";
+      rev = "ca4018c69aca115033f3e3b5408331e76ff64cd0";
+      sha256 = "0k3vgikvjapqniz0cmnhjx4ds5dn4kscd443sf2x2nd6ppa6fd6j";
     };
   };
 
@@ -978,23 +989,23 @@ let
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2019-12-05";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "e3c1f55b6c9fda704b963558729c716e13d41244";
-      sha256 = "061vkq62rn83qwj6v01ahqawv4crscjad2hzmgzkffggjqfy5kzv";
+      rev = "e9aad25f28b68581cea2d94400b9fa64b724773b";
+      sha256 = "0wy5qapj6hfxj4ir38lb823zsgj6nqhi4r2sv0bm23g25sykg6ry";
     };
   };
 
   dhall-vim = buildVimPluginFrom2Nix {
     pname = "dhall-vim";
-    version = "2019-12-06";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "vmchale";
       repo = "dhall-vim";
-      rev = "13f70cf593193be45486dc502bcff473b8afc11d";
-      sha256 = "0qcb6wkdj7yvlq5drral4ik6s3ay5h512yh19789jcjgyv7mw9ak";
+      rev = "5be708edaa89c93a585ed0ba04339c4f857dae3a";
+      sha256 = "02s2wwd07qr2396hy3j3nw9f39ymahr9gpfsidrx4f1l4yb235in";
     };
   };
 
@@ -1022,23 +1033,23 @@ let
 
   echodoc-vim = buildVimPluginFrom2Nix {
     pname = "echodoc-vim";
-    version = "2019-12-07";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "echodoc.vim";
-      rev = "7fb542ca1eedc2a214279523aba4b0f095fa5f19";
-      sha256 = "1pn18a9jip9qfp1j4kqpy7kkj5xggbiw24nqn5b5gfrha5vw6s3h";
+      rev = "e20bff5f3ef4ea29b64f386fa1994281832863d0";
+      sha256 = "15xsin3wv7gba0wd7766ylgl9k32xzk0crv3liqmxsn5kgggkcxa";
     };
   };
 
   editorconfig-vim = buildVimPluginFrom2Nix {
     pname = "editorconfig-vim";
-    version = "2019-11-28";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
-      rev = "2ad3d7882d2e9622a7fdc1a5ba1c5d0064d89472";
-      sha256 = "00cyvjzn2sr49fvjfsxv0rj7kmdr2m2xlcpqvnfamh6l19nagb35";
+      rev = "53c56fcf358ca36b00b9cbf7dd70642c8922fdd0";
+      sha256 = "1i0sk2s10ac5lagvn74m21lxsss1h4nfnn51lxnaflqbvlba4rln";
       fetchSubmodules = true;
     };
   };
@@ -1090,12 +1101,12 @@ let
 
   falcon = buildVimPluginFrom2Nix {
     pname = "falcon";
-    version = "2019-12-07";
+    version = "2019-12-14";
     src = fetchFromGitHub {
       owner = "fenetikm";
       repo = "falcon";
-      rev = "0c50419eb0babd6ad80c75e56b444a397f6c2bd3";
-      sha256 = "1x1vd83m9l6sfgz224q53h0x0kv8myp4j5j7a24z4jsj7rv3gm0q";
+      rev = "55ef64a057025209c48905df06f725430e63542f";
+      sha256 = "07qca1xmwaak45ccgv5vg69s3vwl1p5h9r2agh0aw30qw50jvkkw";
     };
   };
 
@@ -1212,12 +1223,12 @@ let
 
   gentoo-syntax = buildVimPluginFrom2Nix {
     pname = "gentoo-syntax";
-    version = "2019-11-27";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "gentoo";
       repo = "gentoo-syntax";
-      rev = "c7ab3c0f6efbe68e864273ad460ab06905930bd0";
-      sha256 = "1h46s31miyd3j8shmrs61phkljj7qp9bkclcx1l0yd4cppm3vi06";
+      rev = "946aac94d5690e9ca1ca2db21a254fea56e45b2b";
+      sha256 = "1q1rq1rxxq5hyglz90d7vd1m6az12lr2wz9aafn6zir68n3ak0lj";
     };
   };
 
@@ -1311,12 +1322,12 @@ let
 
   gv-vim = buildVimPluginFrom2Nix {
     pname = "gv-vim";
-    version = "2019-11-29";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "gv.vim";
-      rev = "f12b8b80897c1214327e6075abc007ec6e55a691";
-      sha256 = "0fb0zsmpx1vbdfh3d04dpgy2gkd4wkdn05jflcpr5cyf50zr1z9y";
+      rev = "a18f4465974dfbd53f1ea33bfbbcc8a32baf1b4b";
+      sha256 = "1b4y39zqjggqw6sybmr73di3grhnk19xb5jvyckjb43rp8nxrr00";
     };
   };
 
@@ -1465,12 +1476,12 @@ let
 
   jedi-vim = buildVimPluginFrom2Nix {
     pname = "jedi-vim";
-    version = "2019-12-05";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "davidhalter";
       repo = "jedi-vim";
-      rev = "ac6b2f1e3ec091c53d519fce04751fe96fdc2d3f";
-      sha256 = "0a7pl1y82yq8gls7yp034gpxchfz3pllkw16kczhgih49w87m00k";
+      rev = "c80a08d9835565bb8988d6314dfec616f70c53da";
+      sha256 = "0s86i6s0qwghcfb7a3mxy2cbzh001hw860dsaaf2jprnwsvs2p1q";
       fetchSubmodules = true;
     };
   };
@@ -1609,12 +1620,12 @@ let
 
   lh-vim-lib = buildVimPluginFrom2Nix {
     pname = "lh-vim-lib";
-    version = "2019-12-05";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-vim-lib";
-      rev = "97437f8cf030762b8dcd929575f70cac362a253a";
-      sha256 = "13qn9qrc1d9vmndqyi1f8c3fx60p1xzf1m2c9lq9wk5p4hb8pqqw";
+      rev = "12388bb5ce5f5a16dc55dc22b80d7a410410b479";
+      sha256 = "1k7l8sq6jcl0a6yk68ch72w20rhwi26fhrp0yvvvim0krs0yr068";
     };
   };
 
@@ -1631,12 +1642,12 @@ let
 
   lightline-vim = buildVimPluginFrom2Nix {
     pname = "lightline-vim";
-    version = "2019-11-10";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "lightline.vim";
-      rev = "e6f282f5e9ae931f0b404dd15aab2e5e249ae092";
-      sha256 = "0ymb55gln97xzq94slghrmyrvn10jnh6547ci44gw1lq655c7wvb";
+      rev = "ef6df46efe5ac5289f084045e57c492205bd08b5";
+      sha256 = "01nrkjh18qd65kbnrw9s2kdb2ml5a7648zvqzyjxw1mcqpw57838";
     };
   };
 
@@ -1895,12 +1906,12 @@ let
 
   neosnippet-vim = buildVimPluginFrom2Nix {
     pname = "neosnippet-vim";
-    version = "2019-11-07";
+    version = "2019-12-12";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet.vim";
-      rev = "b8350cbbcdc951e1bac962f8339b011e2632d03f";
-      sha256 = "11k3a8qgkl5wrk0wxhpnsvpcf5ymbb4kmnlp0k253ga6yhlxspmx";
+      rev = "84057dd1dd28e1198d0b2777301ef6cafd8f2cef";
+      sha256 = "164077vmqf4kcj0kn5c027faa4fjzfdbl1cz4j45dxpbak36hy6w";
     };
   };
 
@@ -1917,12 +1928,12 @@ let
 
   neoterm = buildVimPluginFrom2Nix {
     pname = "neoterm";
-    version = "2019-11-11";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "kassio";
       repo = "neoterm";
-      rev = "18e7924ac96fb59a2a88c5a5a9ac1a7ec2fda297";
-      sha256 = "0cn158gngglll23vfyk2bpcvw606xg0lj39yzn8pnl2gfg3476fs";
+      rev = "9f0e71200274fc7906df1284d18d43c127214c2c";
+      sha256 = "0shg7a66w8l6g872fgpf59sialc8gs3nx9h1awgngy0kk0m17ilq";
     };
   };
 
@@ -1950,12 +1961,12 @@ let
 
   neoyank-vim = buildVimPluginFrom2Nix {
     pname = "neoyank-vim";
-    version = "2019-03-27";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neoyank.vim";
-      rev = "6a41fd651c00b1ff6a6298cb2be088e8d27d3629";
-      sha256 = "1p084xbycwkghfih41z1sc6nn2xi7471vj8zgc9jgw0qkxbmbcnn";
+      rev = "1829c6e426f829edea46660d0db08d4488010fcd";
+      sha256 = "1y6fvxqpj3rwf1fmjib177lqzh3z7syp7bccn79g1j8177m515w6";
     };
   };
 
@@ -2234,14 +2245,25 @@ let
     };
   };
 
+  quick-scope = buildVimPluginFrom2Nix {
+    pname = "quick-scope";
+    version = "2019-04-22";
+    src = fetchFromGitHub {
+      owner = "unblevable";
+      repo = "quick-scope";
+      rev = "994576d997a52b4c7828149e9f1325d1c4691ae2";
+      sha256 = "0lr27vwv2bzva9s7f9d856vvls10icwli0kwj5v5f1q8y83fa4zd";
+    };
+  };
+
   quickfix-reflector-vim = buildVimPluginFrom2Nix {
     pname = "quickfix-reflector-vim";
-    version = "2018-08-12";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "stefandtw";
       repo = "quickfix-reflector.vim";
-      rev = "c76b7a1f496864315eea3ff2a9d02a53128bad50";
-      sha256 = "02vb7qkdprx3ksj4gwnj3j180kkdal8jky69dcjn8ivr0x8g26s8";
+      rev = "8e9c05a110b80ab66fc8bc3d5fe9e6fa168aada6";
+      sha256 = "1i8453z3s0xmbmbzk3kpxwvd42ar9v2m2gjqic9k7njpxw87czvs";
     };
   };
 
@@ -2302,12 +2324,12 @@ let
 
   readline-vim = buildVimPluginFrom2Nix {
     pname = "readline-vim";
-    version = "2019-08-24";
+    version = "2019-12-12";
     src = fetchFromGitHub {
       owner = "ryvnf";
       repo = "readline.vim";
-      rev = "40964933819e2a719e6e34adcf3e8b2210c5c6ce";
-      sha256 = "1jc8lzl49nl7r3v1b7fk6zpiba41h51qsi2w4lhf8v6lnzbazii7";
+      rev = "9711f3c7c1d295e775750d7421060d74ee1b56e3";
+      sha256 = "0zvavhc8033isdn7gdfla5kwif40rkn9p4zmkvwy423dpb3432h2";
     };
   };
 
@@ -2412,12 +2434,12 @@ let
 
   seoul256-vim = buildVimPluginFrom2Nix {
     pname = "seoul256-vim";
-    version = "2017-09-05";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "seoul256.vim";
-      rev = "1475b7610663c68aa90b6e565997c8792ce0d222";
-      sha256 = "03gqw14f5cirivcg1p06g500ns066yv5rd0z3zikvn4ql7n278dk";
+      rev = "b68f4032c49b64065072b449dc0f0f1f30616d8d";
+      sha256 = "0bxw0ks5gndzrgixa6xqhnf78b7n75w2jnc3s6bv75lz0fn0gypx";
     };
   };
 
@@ -2632,12 +2654,12 @@ let
 
   targets-vim = buildVimPluginFrom2Nix {
     pname = "targets-vim";
-    version = "2019-10-27";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "wellle";
       repo = "targets.vim";
-      rev = "be309773998ca729213206950109a758be15b556";
-      sha256 = "0ravnykqlhw09cz5yyjm6k4kbikx39jagmmpj87q31pgf1rzycmx";
+      rev = "8d6ff2984cdfaebe5b7a6eee8f226a6dd1226f2d";
+      sha256 = "192wq3x64x11nm2jhs4yrc627b0lh002dfnj72xrc7jak9vbdps9";
     };
   };
 
@@ -2776,12 +2798,12 @@ let
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2019-11-19";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "c309637e0243b71f7e3265ebe3cffdfe9674cfbc";
-      sha256 = "1q2miwd56k2l7lfwmw3khqnfry9izaca91dcf32p0xp06bc3ah28";
+      rev = "3a8b0548b3efd01bff0393f8f32228786149806c";
+      sha256 = "10mnhlkxrzl008q7cfv3j78p1bd1dqmprpnmcz8nc6mmkldnflri";
     };
   };
 
@@ -3095,23 +3117,23 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2019-12-02";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "2daef1bcb8b240c303ef34c3348ee1af071963b4";
-      sha256 = "1q806acihhv4yshd8pna7gs383yxs7mw2rnqm4c016sqhb20ba1i";
+      rev = "72286b27cc6e7a1eb2b8e1103f2fa34afa397034";
+      sha256 = "19lgsxgnp6aq0nsbg43xn84xxi8hjp1ih6aj842ryhl47ppj76sq";
     };
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix {
     pname = "vim-airline-themes";
-    version = "2019-12-02";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline-themes";
-      rev = "fe89bb50a15492c76a9fc55e0cff410f3d5f8b0f";
-      sha256 = "01qplr1md3vzwrd7as2dkm8f4qvx4qcpgaw3q9i7s2i4yv80qnn8";
+      rev = "67512f5e81b8ad088a8cbfe8b95f9e495bc81cf3";
+      sha256 = "049lnixxcvvnkq5bfwpmclw1k73xyf5gqfpw78rkzsbg9milyr74";
     };
   };
 
@@ -3634,12 +3656,12 @@ let
 
   vim-flagship = buildVimPluginFrom2Nix {
     pname = "vim-flagship";
-    version = "2019-11-13";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-flagship";
-      rev = "d3e1b07a426b44cdf068d3fc4b7549cba2eb3358";
-      sha256 = "095dz37qspjjg7sx22mmxnda6p592bp3bmnc59n0nan9g3zy8yk2";
+      rev = "e522bd0ffb0e329f695ead7d4288a6245ff22410";
+      sha256 = "0vqkdzd7b204kbinn12jk306kc9bn2f0yaifj49swd0g8hv6dk4b";
     };
   };
 
@@ -3700,12 +3722,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2019-12-06";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "5d37b17e3447edafa418550f2b19e0226b4c7824";
-      sha256 = "1nk113y3ilrim94wd33c1jpvysbyxn6w0z8nd420jnsfrk4jfcc4";
+      rev = "b68b6d4329d9bee58a521e0ff8c6adbbc53915b4";
+      sha256 = "1lrx2vk6bj10sy297mby4fqjrn09s7ghq2xjbp8z2ajww4pcxp05";
     };
   };
 
@@ -3777,12 +3799,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2019-12-05";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "106edc862b923f9fbf046aee74b5fc805cd7d13f";
-      sha256 = "1b2iqvilr7j0sx3q6jfpnl37h1h2dqwd8n2d5zcswl1m0fnyi1kr";
+      rev = "8e6fcae371918fa8ebae088ce8e71de7df8cdbca";
+      sha256 = "04gw6f1gmk916l7m0phh9aj0h8kd2fm156ylbgjkwg46dphs27xa";
     };
   };
 
@@ -3799,12 +3821,12 @@ let
 
   vim-grepper = buildVimPluginFrom2Nix {
     pname = "vim-grepper";
-    version = "2019-11-19";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-grepper";
-      rev = "d8fa51d4fa99221511dc8b9e2eb1cba23a9b0c20";
-      sha256 = "1wb4g5g1phixqwpj9nd261f690ziimy80w12pjivrik20bj17ipd";
+      rev = "dde6a660c7dd4e02b331da238ea477770073aca2";
+      sha256 = "0c411yg2s6wb8141lqpgasg7iwgvfwy88z6l0c0gccmk8knypxhm";
     };
   };
 
@@ -4141,12 +4163,12 @@ let
 
   vim-jsx-pretty = buildVimPluginFrom2Nix {
     pname = "vim-jsx-pretty";
-    version = "2019-11-19";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "MaxMEllon";
       repo = "vim-jsx-pretty";
-      rev = "8b96cea873612b35ddfd7aef4b6c21f991103f0f";
-      sha256 = "18ilra7s29jl7k3nda2z3r7bvixk5b8bbfn9d3nvfz7l26n8s6i6";
+      rev = "0d07dc85ba5a14b7e95f1f36539741d99c632bfb";
+      sha256 = "1wxxln76mk5wd73pmaf67kv2q7gj6rb9zdfgx4hqx0jdcywhrjnw";
     };
   };
 
@@ -4361,12 +4383,12 @@ let
 
   vim-mucomplete = buildVimPluginFrom2Nix {
     pname = "vim-mucomplete";
-    version = "2019-12-01";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "lifepillar";
       repo = "vim-mucomplete";
-      rev = "92f0206dae54439bec6503c649263e38167011a9";
-      sha256 = "1ygsb16ha7kxns1f1km7j3br9c0ylf8pan5z46bnmixcbvia53gb";
+      rev = "137b7e5c671b4b376b2df7492c4023ac6e1439da";
+      sha256 = "1pv19ylhifd32p8jb8rvbd8l5wik7349q4m4f8a8qycab2ba5xhv";
     };
   };
 
@@ -4493,12 +4515,12 @@ let
 
   vim-orgmode = buildVimPluginFrom2Nix {
     pname = "vim-orgmode";
-    version = "2019-10-12";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "jceb";
       repo = "vim-orgmode";
-      rev = "5099025d0b632a5e56fa457f826153cd37c48d3c";
-      sha256 = "145x60yxzxga92ix4pp0rac5r9r61jgqr8s0l991zz30jxcv1qy2";
+      rev = "c6cd668ed13af85d8292b524f827e729bf70ea0f";
+      sha256 = "1239c0yc51jyp5shwpx2j7kbsb63qj6zp3k2lirppy8c2lls4nsv";
     };
   };
 
@@ -4581,34 +4603,34 @@ let
 
   vim-peekaboo = buildVimPluginFrom2Nix {
     pname = "vim-peekaboo";
-    version = "2019-08-11";
+    version = "2019-12-12";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-peekaboo";
-      rev = "9d3c7f39a6771496fac5f730ae7574bc57da21b4";
-      sha256 = "0r61r0s01nn4n153k60dlhr3l0sfj0gcx4y5ry7cvixl85b6y505";
+      rev = "cc4469c204099c73dd7534531fa8ba271f704831";
+      sha256 = "11lgf60v2kj772d9azkfddypwidcgfps5mvnhmp4gg0fmfx12h99";
     };
   };
 
   vim-pencil = buildVimPluginFrom2Nix {
     pname = "vim-pencil";
-    version = "2019-11-22";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "reedes";
       repo = "vim-pencil";
-      rev = "9aead49ecfd0640e07fdf30fb149dc7d072051eb";
-      sha256 = "189mqxsawdpb68vs9gpkh6flm00m3zhh744awwjd433dhyhz07fx";
+      rev = "09458527601fdb2fbd174317bdddfb34e4c64e79";
+      sha256 = "09b30cxlwbr9l07ya05is9q2y9vzbzhcc656nvjjzf968l496xr2";
     };
   };
 
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
-    version = "2019-12-07";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "897ce5e2fad66bdb39dc94894f16dde89eee87f7";
-      sha256 = "1ydfdi6svq91aws9g5frcy5j7cjyxk8sphjzn739z7y5fc6lnbwx";
+      rev = "359ce90b9b37442974fd3ccd9279493d85efb3af";
+      sha256 = "1dbdnyfzhfgn70jgcd0a079b76s4gdv9ykslmfiaiv7bvlmhs08s";
     };
   };
 
@@ -4625,12 +4647,12 @@ let
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2019-11-28";
+    version = "2019-12-12";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "15aeea662e0b08088ac7b6e3ee661c834e69106a";
-      sha256 = "1x7xx12hdydn37hb2k0awzv4s00sb7zk09jixr9mjfrh2x7ywf1c";
+      rev = "cea0d08a062478503814e51aa21c6486a0dd1b21";
+      sha256 = "05vhwgq2kj3safjhnv0rl4fhcfszba02mbwnyrlq4ayyiyv3n7cc";
     };
   };
 
@@ -4768,12 +4790,12 @@ let
 
   vim-ruby = buildVimPluginFrom2Nix {
     pname = "vim-ruby";
-    version = "2019-11-06";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "vim-ruby";
       repo = "vim-ruby";
-      rev = "d37f5a52a97239dcd503a3a84bb32dfc3200b5f7";
-      sha256 = "158wdfkskxxqzjm0dls3sza4nfrp2dqxwsdiiqfhar4vm2n7x8yp";
+      rev = "81f64ec3f33165159017f782bc8a1ce9f97348b4";
+      sha256 = "0dja73g2mhbwnb29yqcwamwh77k8l3qqbmn25w9pa2mlnfkp9jy8";
     };
   };
 
@@ -4900,12 +4922,12 @@ let
 
   vim-slime = buildVimPluginFrom2Nix {
     pname = "vim-slime";
-    version = "2019-11-01";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "93776ea69b99ad0ecd5291d8a5984386fd8ffa72";
-      sha256 = "1izcb2iwlwxhzc048xwi9jxr3gqyy5kqysbd1358p39sfhfcdy4j";
+      rev = "53c781b9532da50ab9d6ab1bbe640902b2629a0e";
+      sha256 = "1cyi4v3rqf8ln0lz1rgzh1qpxw5mq3ihixx83qnrxn81nd1ivk2i";
     };
   };
 
@@ -4944,12 +4966,12 @@ let
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2019-12-01";
+    version = "2019-12-12";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "a7a7d4d2dd252b71b904d362ba74572c660da67f";
-      sha256 = "0ys0sczmjpc219hv2wwgcrkyiys21vk66i174axm147h33m3cm4f";
+      rev = "3ba36bb710988349140138707731baeebd6337e4";
+      sha256 = "19831g3b6cd5ws0zp6xp4aj110pzf6za3av9ac1s9dnpi97d37g9";
     };
   };
 
@@ -5076,12 +5098,12 @@ let
 
   vim-table-mode = buildVimPluginFrom2Nix {
     pname = "vim-table-mode";
-    version = "2019-11-16";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "dhruvasagar";
       repo = "vim-table-mode";
-      rev = "5ec330d114bdc27d636ce16a6186013f121470df";
-      sha256 = "168y5wbvhrislvj04g768mfhklczw7phmgf5am61gh4z2nsyw2lp";
+      rev = "5ac34a22dbf70e3c8afd7cc69726cec89655c4ad";
+      sha256 = "1rs68islvz2rd3ahgfk06q9ydr3ph25zh4amg8vk1svqhk1vh0mp";
     };
   };
 
@@ -5219,23 +5241,23 @@ let
 
   vim-tmux-focus-events = buildVimPluginFrom2Nix {
     pname = "vim-tmux-focus-events";
-    version = "2019-04-19";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "tmux-plugins";
       repo = "vim-tmux-focus-events";
-      rev = "0f89b1ada151e22882a5a47a1ee2b6d6135bc5c1";
-      sha256 = "0rx1615wlsl62y62l217vgjd5vjfzf3zjwq43fflpc6bixikqc6j";
+      rev = "e80960715c09aef8ab9204848ed1683805a93a33";
+      sha256 = "0ds6qw2i1r67jhxh9ff36al45bafsmbxxdc127l6iy2vl5wj0d3d";
     };
   };
 
   vim-tmux-navigator = buildVimPluginFrom2Nix {
     pname = "vim-tmux-navigator";
-    version = "2019-12-02";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "christoomey";
       repo = "vim-tmux-navigator";
-      rev = "b5ae5805db294a72380f77ee82592cd99246272b";
-      sha256 = "0w8fn92k1p99wmhq4dv5w2fb97l0p8ay00qyzydm9lq87w06a939";
+      rev = "8fdf78292bb3aed1c9de880be7e03efdbf23d306";
+      sha256 = "0y92na4dcfcsj5zbs3m7y6csl3sd46a9968id78cdn9cgg8iwzac";
     };
   };
 
@@ -5263,12 +5285,12 @@ let
 
   vim-trailing-whitespace = buildVimPluginFrom2Nix {
     pname = "vim-trailing-whitespace";
-    version = "2017-09-23";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "bronson";
       repo = "vim-trailing-whitespace";
-      rev = "4c596548216b7c19971f8fc94e38ef1a2b55fee6";
-      sha256 = "0f1cpnp1nxb4i5hgymjn2yn3k1jwkqmlgw1g02sq270lavp2dzs9";
+      rev = "6b7cdecff252474fe560d32c6f05641f3c5952c7";
+      sha256 = "0arv1hmlw7c1rlkc00hzjyg48pg8g4cc9q9l2hy8kpmsl037akm3";
     };
   };
 
@@ -5406,12 +5428,12 @@ let
 
   vim-xkbswitch = buildVimPluginFrom2Nix {
     pname = "vim-xkbswitch";
-    version = "2019-03-28";
+    version = "2019-12-14";
     src = fetchFromGitHub {
       owner = "lyokha";
       repo = "vim-xkbswitch";
-      rev = "3c968fd4fd83d3631dec4c0caf289c85917d8ca9";
-      sha256 = "17ncq06al2pzqxpx45bmh4b66d48y3kklxcd1f80jfsp9hh5v0vm";
+      rev = "b9839555f70d319b4e21fc7bc9b559d91cf1260a";
+      sha256 = "1ql8yv8rxpr9j9phf4jddqs1j81vcb9gpp0p3fmy6f8nf4b26nvw";
     };
   };
 
@@ -5538,12 +5560,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2019-12-02";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "02829dee17a3d70889b5a0151a2f747754a0e2c4";
-      sha256 = "0kkm18mi1am1ww3lb3xqr9v11s057drkv8wpq0l5vqr550iviail";
+      rev = "0dd49a005bd7e5df51491d569e99c19a753ab44b";
+      sha256 = "15ksb158vjprpgymkn7gkpmnaayzjqlph8wssl6pi6nlmylr40sx";
     };
   };
 
@@ -5738,12 +5760,12 @@ let
 
   zig-vim = buildVimPluginFrom2Nix {
     pname = "zig-vim";
-    version = "2019-12-06";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "zig-lang";
       repo = "zig.vim";
-      rev = "17d4772e984450b7c54e878d466dd2b3e6419831";
-      sha256 = "1gbpzcwig0g2045a42l1xi1bzm9apgl95l5ixwh8h7jahmkcdzig";
+      rev = "65f71de21c31a0b7f7b09a62f865d1b61f9f71ed";
+      sha256 = "0y0rfpsggl1a1h89zjzgpnx3vj244gmr3qwblsclh3hzf0sdav5r";
     };
   };
 
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index 2a8d43233a3..a885dc163a1 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -14,6 +14,9 @@
 # coc-go dependency
 , go
 
+# deoplete-khard dependency
+, khard
+
 # vim-go denpencies
 , asmfmt, delve, errcheck, godef, golint
 , gomodifytags, gotags, gotools, go-motion
@@ -115,12 +118,12 @@ self: super: {
   # NB: Make sure you pick a rev from the release branch!
   coc-nvim = buildVimPluginFrom2Nix rec {
     pname = "coc-nvim";
-    version = "2019-11-29";
+    version = "2019-11-30";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "d566fa03807d8d86ce9302680d135198a36c7d4d";
-      sha256 = "0m355w837f61jfpjrhi3h47z7vq16g8yai8kd82v1h71ns5fw9gz";
+      rev = "42a45c639e2c43f9f1795c3804787c6a686781c0";
+      sha256 = "0bny7s7scbls01jkvrwcd516py09lp0vkr65p1ik4282blyxyy6s";
     };
   };
 
@@ -174,6 +177,17 @@ self: super: {
    '';
   });
 
+  deoplete-khard = super.deoplete-khard.overrideAttrs(old: {
+    dependencies = [ self.deoplete-nvim ];
+    passthru.python3Dependencies = ps: [ (ps.toPythonModule khard) ];
+    meta = {
+      description = "Address-completion for khard via deoplete";
+      homepage = "https://github.com/nicoe/deoplete-khard";
+      license = stdenv.lib.licenses.mit;
+      maintainers = with stdenv.lib.maintainers; [ jorsn ];
+    };
+  });
+
   ensime-vim = super.ensime-vim.overrideAttrs(old: {
     passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ];
     dependencies = with super; [ vimproc-vim vimshell-vim super.self forms ];
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 17245014844..c0abcda9070 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -15,8 +15,8 @@ andviro/flake8-vim
 ap/vim-css-color
 arcticicestudio/nord-vim
 artur-shaik/vim-javacomplete2
-ayu-theme/ayu-vim
 autozimu/LanguageClient-neovim
+ayu-theme/ayu-vim
 bazelbuild/vim-bazel
 bbchung/clighter8
 benmills/vimux
@@ -314,6 +314,7 @@ neovimhaskell/nvim-hs.vim
 neovim/nvimdev.nvim
 neutaaaaan/iosvkem
 nfnty/vim-nftables
+nicoe/deoplete-khard
 nixprime/cpsm
 NLKNguyen/papercolor-theme
 noc7c9/vim-iced-coffee-script
@@ -465,6 +466,7 @@ tyru/open-browser.vim
 uarun/vim-protobuf
 udalov/kotlin-vim
 ujihisa/neco-look
+unblevable/quick-scope
 valloric/youcompleteme
 vhda/verilog_systemverilog.vim
 vim-airline/vim-airline
diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
index 1df7070e7a3..4f2f84b3c0a 100644
--- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
+++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
@@ -76,8 +76,8 @@ stdenv.mkDerivation {
   # later.
   buildPhase = stdenv.lib.optionalString true ''
     for i in {1..512}; do
-        if ninjaBuildPhase; then
-          break
+        if ninja -j $NIX_BUILD_CORES; then
+            break
         fi
 
         echo >&2
diff --git a/pkgs/os-specific/linux/bcc/default.nix b/pkgs/os-specific/linux/bcc/default.nix
index 449f8e3d40b..ffb14e9c3c1 100644
--- a/pkgs/os-specific/linux/bcc/default.nix
+++ b/pkgs/os-specific/linux/bcc/default.nix
@@ -1,38 +1,25 @@
 { stdenv, fetchFromGitHub, makeWrapper, cmake, llvmPackages, kernel
 , flex, bison, elfutils, python, luajit, netperf, iperf, libelf
-, systemtap
+, systemtap, bash
 }:
 
 python.pkgs.buildPythonApplication rec {
-  version = "0.11.0";
+  version = "0.12.0";
   name = "bcc-${version}";
 
-  srcs = [
-    (fetchFromGitHub {
-      owner  = "iovisor";
-      repo   = "bcc";
-      rev    = "v${version}";
-      sha256 = "1v2gzdd4k58f3yxmq4z97a7xh5vyd84flzzfr9k2cm29i93cwcam";
-      name   = "bcc";
-    })
-
-    # note: keep this in sync with the version that was used at the time of the
-    # tagged release!
-    (fetchFromGitHub {
-      owner  = "libbpf";
-      repo   = "libbpf";
-      rev    = "a30df5c09fb3941fc42c4570ed2545e7057bf82a";
-      sha256 = "088vb9sfs1zazlqi6abb3ia1xgpmwiz5pmz6y3a6gbh0zdrgh6px";
-      name   = "libbpf";
-    })
-  ];
-  sourceRoot = "bcc";
+  src = fetchFromGitHub {
+    owner  = "iovisor";
+    repo   = "bcc";
+    rev    = "v${version}";
+    sha256 = "1r2yjxam23k56prsvjhqf8i8d3irhcvmy0bly6x23h1jc3zc6yym";
+    fetchSubmodules = true;
+  };
   format = "other";
 
   buildInputs = with llvmPackages; [
     llvm clang-unwrapped kernel
     elfutils luajit netperf iperf
-    systemtap.stapBuild flex
+    systemtap.stapBuild flex bash
   ];
 
   patches = [
@@ -58,12 +45,6 @@ python.pkgs.buildPythonApplication rec {
     patch -p1 < libbcc-path.patch
   '';
 
-  preConfigure = ''
-    chmod -R u+w ../libbpf/
-    rmdir src/cc/libbpf
-    (cd src/cc && ln -svf ../../../libbpf/ libbpf)
-  '';
-
   postInstall = ''
     mkdir -p $out/bin $out/share
     rm -r $out/share/bcc/tools/old
@@ -76,6 +57,8 @@ python.pkgs.buildPythonApplication rec {
       if [ ! -e $bin ]; then
         ln -s $f $bin
       fi
+      substituteInPlace "$f" \
+        --replace '$(dirname $0)/lib' "$out/share/bcc/tools/lib"
     done
 
     sed -i -e "s!lib=.*!lib=$out/bin!" $out/bin/{java,ruby,node,python}gc
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index edee6a52ba2..6792e05829d 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -11,7 +11,7 @@ in {
   };
 
   fuse_3 = mkFuse {
-    version = "3.8.0";
-    sha256Hash = "0zbj5l2pffs0q38lqfrnkafsgxf50mw5mqmh4m2jmqab1fxg5mip";
+    version = "3.9.0";
+    sha256Hash = "00yppzmv15jqjy3wq5ki9d49jl6bfxrlwr5sfz50ihr40d6dgx9p";
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index a81f24ae934..8ac7e720a37 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.88";
+  version = "4.19.89";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1gizkdmq46ykw7ya3hibd6lalww2kvsia346pq3xvrk6s5mkp4n1";
+    sha256 = "0ijx8ih91p4g95zpwz6ga3q2x9lf1948xf2v5mz4348byf5hdwv8";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.3.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix
index e5c3b29ed42..d384ae67587 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.3.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.3.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.3.15";
+  version = "5.3.16";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "15qidl06lyfylx1b43b4wz2zfkr4000bkr7ialslmb7yi7mamj6f";
+    sha256 = "19asdv08rzp33f0zxa2swsfnbhy4zwg06agj7sdnfy4wfkrfwx49";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index cfeeabc4697..ea332a246b3 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.4.2";
+  version = "5.4.3";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0mx50cp61kajya3lfcksw7wksq7ihkqzrzszf4bb19kwhxb85y9j";
+    sha256 = "0lgfg31pgvdhkh9y4y4yh075mlk3qa6npxp7n19yxcg168pnhcb7";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/procdump/default.nix b/pkgs/os-specific/linux/procdump/default.nix
index 0185d3022bc..d24f665cc7c 100644
--- a/pkgs/os-specific/linux/procdump/default.nix
+++ b/pkgs/os-specific/linux/procdump/default.nix
@@ -1,28 +1,19 @@
-{ stdenv, fetchFromGitHub, fetchpatch, bash, coreutils, gdb, zlib }:
+{ stdenv, fetchFromGitHub, bash, coreutils, gdb, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "procdump";
-  version = "1.0.1";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "Microsoft";
     repo = "ProcDump-for-Linux";
     rev = version;
-    sha256 = "1lkm05hq4hl1vadj9ifm18hi7cbf5045xlfxdfbrpsl6kxgfwcc4";
+    sha256 = "1pcf6cpslpazla0na0q680dih9wb811q5irr7d2zmw0qmxm33jw2";
   };
 
   nativeBuildInputs = [ zlib ];
   buildInputs = [ bash coreutils gdb ];
 
-  patches = [
-    # Fix name conflict when built with musl
-    # TODO: check if fixed upstream https://github.com/Microsoft/ProcDump-for-Linux/pull/50
-    (fetchpatch {
-      url = "https://github.com/Microsoft/ProcDump-for-Linux/commit/1b7b50b910f20b463fb628c8213663c8a8d11d0d.patch";
-      sha256 = "0h0dj3gi6hw1wdpc0ih9s4kkagv0d9jzrg602cr85r2z19lmb7yk";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace src/CoreDumpWriter.c \
       --replace '"gcore ' '"${gdb}/bin/gcore ' \
@@ -31,16 +22,26 @@ stdenv.mkDerivation rec {
   '';
 
   makeFlags = [
-    "DESTDIR=$(out)"
+    "DESTDIR=${placeholder "out"}"
     "INSTALLDIR=/bin"
     "MANDIR=/share/man/man1"
   ];
 
-  doCheck = false; # needs root
+  doCheck = false; # needs sudo root
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    set +o pipefail
+    ($out/bin/procdump -h | grep "ProcDump v${version}") ||
+      (echo "ERROR: ProcDump is not the expected version or does not run properly" ; exit 1)
+    set -o pipefail
+    runHook postInstallCheck
+  '';
 
   meta = with stdenv.lib; {
     description = "A Linux version of the ProcDump Sysinternals tool";
-    homepage = https://github.com/Microsoft/ProcDump-for-Linux;
+    homepage = "https://github.com/Microsoft/ProcDump-for-Linux";
     license = licenses.mit;
     maintainers = with maintainers; [ c0bw3b ];
     platforms = platforms.linux;
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index bc83c5a8ea2..a25bf48f8dd 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -6,12 +6,12 @@
 stdenv.mkDerivation rec {
   pname = "rabbitmq-server";
 
-  version = "3.8.1";
+  version = "3.8.2";
 
   # when updating, consider bumping elixir version in all-packages.nix
   src = fetchurl {
     url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "17ymzjgz3544jgf321f8f788gdxs9l252ah61nlgsglv0x8gggrh";
+    sha256 = "17gixahxass9n4d697my8sq4an51rw3cicb36fqvl8fbhnwjjrwc";
   };
 
   buildInputs =
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 26d0217254a..c3d63a54ac0 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in
 # Note: ATM only the libraries have been tested in nixpkgs.
 stdenv.mkDerivation rec {
   pname = "knot-dns";
-  version = "2.9.1";
+  version = "2.9.2";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "f19121956caa360c387923654f13e4c97b3fb9093d242e110d7e0916b8d8a04d";
+    sha256 = "298cdf33aa7589b50df7e5833694b24cd2de8b6d17cee7e1673873fe576db6ee";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/servers/documize-community/default.nix b/pkgs/servers/documize-community/default.nix
index 40dc4162161..078936b237f 100644
--- a/pkgs/servers/documize-community/default.nix
+++ b/pkgs/servers/documize-community/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "documize-community";
-  version = "3.5.2";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "documize";
     repo = "community";
     rev = "v${version}";
-    sha256 = "0wi85ag5n49zqs68gznifza8qv8zkg9l8z1q6ckkvbkl2f3zpdl5";
+    sha256 = "0wic4j7spw9ya1m6yz0mkpqi1px6jd2vk60w8ldx0m0k606wy6ir";
   };
 
   modSha256 = "1z0v7n8klaxcqv7mvzf3jzgrp78zb4yiibx899ppk6i5qnj4xiv0";
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 07087315dc2..72e3b5fc0e8 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -7,11 +7,11 @@ with python3.pkgs;
 let
   matrix-synapse-ldap3 = buildPythonPackage rec {
     pname = "matrix-synapse-ldap3";
-    version = "0.1.3";
+    version = "0.1.4";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0a0d1y9yi0abdkv6chbmxr3vk36gynnqzrjhbg26q4zg06lh9kgn";
+      sha256 = "01bms89sl16nyh9f141idsz4mnhxvjrc3gj721wxh1fhikps0djx";
     };
 
     propagatedBuildInputs = [ service-identity ldap3 twisted ];
@@ -23,11 +23,11 @@ let
 
 in buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "184d7qd76bb2714pfkx9p4zzn4akb6xkx2iw86cpn7aqmccxysld";
+    sha256 = "1z7q34yazjb3glzhm0si0pzif32gnp03bmd490gckkl30rklyxsp";
   };
 
   patches = [
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
index 6cbcd4d38f7..d46e3d75f02 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
@@ -22,13 +22,13 @@ let
         sha512 = "7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==";
       };
     };
-    "@slack/logger-1.1.0" = {
+    "@slack/logger-1.1.1" = {
       name = "_at_slack_slash_logger";
       packageName = "@slack/logger";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@slack/logger/-/logger-1.1.0.tgz";
-        sha512 = "D3tabyLoUrsFy0w3koxaCVv+5ZJfIy+j0QW3PUq0XO3UiVuF5rtpAbqngAYVpeKnxPpqBjeth4XJ3tllKoW3aA==";
+        url = "https://registry.npmjs.org/@slack/logger/-/logger-1.1.1.tgz";
+        sha512 = "PAC5CMnNAv/FPtJ0le+YD2wUV+tZ7n3Bnjj9dBI+deIcHsExCnQkQmZE79cLvfuYXbz3PWyv5coti30MJQhEjA==";
       };
     };
     "@slack/rtm-api-5.0.3" = {
@@ -40,22 +40,22 @@ let
         sha512 = "rzNIFst8iuVYyHdE7e3KSrbAtIA7sfS4Pth9ObKUm5KDemX0zyI7YfAijO1kgr1EMriQkjlpKBhlNq9Y+aQr6g==";
       };
     };
-    "@slack/types-1.2.1" = {
+    "@slack/types-1.3.0" = {
       name = "_at_slack_slash_types";
       packageName = "@slack/types";
-      version = "1.2.1";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@slack/types/-/types-1.2.1.tgz";
-        sha512 = "NyGh7MibW+a0OHkwwOPlv63hC639dzQdkFy4dj0tl4sAdZR4OBaE/OhXixKhCzcT3kJsPXaQmvkUN7sqSf52iA==";
+        url = "https://registry.npmjs.org/@slack/types/-/types-1.3.0.tgz";
+        sha512 = "3AjHsDJjJKT3q0hQzFHQN7piYIh99LuN7Po56W/R6P/uscqZqwS5xm1U1cTYGIzk8fmsuW7TvWVg0W85hKY/MQ==";
       };
     };
-    "@slack/web-api-5.2.1" = {
+    "@slack/web-api-5.6.0" = {
       name = "_at_slack_slash_web-api";
       packageName = "@slack/web-api";
-      version = "5.2.1";
+      version = "5.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@slack/web-api/-/web-api-5.2.1.tgz";
-        sha512 = "YobhBNMwEFZvfvOIBNU+GNyOqUa/S1rdiWliESYAq9ZcUXGblgEYIL3sxKwuNQckBjCgSYzexT3+nX5dSepwJg==";
+        url = "https://registry.npmjs.org/@slack/web-api/-/web-api-5.6.0.tgz";
+        sha512 = "/HxTI9/4fMk3su1UAa7oN0n8fGSZLHXGUne3WJ+vjxGek2rvvzazqL6yTRWWWcpttPtsNyjk4KI9FkPq+6yLNg==";
       };
     };
     "@types/body-parser-1.17.1" = {
@@ -76,13 +76,13 @@ let
         sha512 = "6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==";
       };
     };
-    "@types/chai-4.2.3" = {
+    "@types/chai-4.2.6" = {
       name = "_at_types_slash_chai";
       packageName = "@types/chai";
-      version = "4.2.3";
+      version = "4.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/chai/-/chai-4.2.3.tgz";
-        sha512 = "VRw2xEGbll3ZiTQ4J02/hUjNqZoue1bMhoo2dgM2LXjDdyaq4q80HgBDHwpI0/VKlo4Eg+BavyQMv/NYgTetzA==";
+        url = "https://registry.npmjs.org/@types/chai/-/chai-4.2.6.tgz";
+        sha512 = "HF8faEUA4JurIm+68VaA2KedtZf5LYdXpQEAbIAN79DwWQbO82BNTksZgCH3UMqbZHXex9C6TrBfg7OUInRISQ==";
       };
     };
     "@types/connect-3.4.32" = {
@@ -103,22 +103,22 @@ let
         sha512 = "EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==";
       };
     };
-    "@types/express-4.17.1" = {
+    "@types/express-4.17.2" = {
       name = "_at_types_slash_express";
       packageName = "@types/express";
-      version = "4.17.1";
+      version = "4.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.1.tgz";
-        sha512 = "VfH/XCP0QbQk5B5puLqTLEeFgR8lfCJHZJKkInZ9mkYd+u8byX0kztXEQxEk4wZXJs8HI+7km2ALXjn4YKcX9w==";
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.2.tgz";
+        sha512 = "5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA==";
       };
     };
-    "@types/express-serve-static-core-4.16.9" = {
+    "@types/express-serve-static-core-4.17.0" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.16.9";
+      version = "4.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.9.tgz";
-        sha512 = "GqpaVWR0DM8FnRUJYKlWgyARoBUAVfRIeVDZQKOttLFp5SmhhF9YFIYeTPwMd/AXfxlP7xVO2dj1fGu0Q+krKQ==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.0.tgz";
+        sha512 = "Xnub7w57uvcBqFdIGoRg1KhNOeEj0vB6ykUM7uFWyxvbdE89GFyqgmUcanAriMr4YOxNFZBAWkfcWIb4WBPt3g==";
       };
     };
     "@types/is-stream-1.1.0" = {
@@ -157,13 +157,13 @@ let
         sha512 = "w9Tl3DQCkdT0Ghes+PKhe+3/pZppBXuFFpSCjPJbb2KE3DjYmUpEyCYzjrAYlT9Y1TndnbbnChzkax2h/JorVQ==";
       };
     };
-    "@types/node-12.7.11" = {
+    "@types/node-12.12.14" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.7.11";
+      version = "12.12.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.7.11.tgz";
-        sha512 = "Otxmr2rrZLKRYIybtdG/sgeO+tHY20GxeDjcGmUnmmlCWyEnv2a2x1ZXBo3BTec4OiTXMQCiazB8NMBf0iRlFw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz";
+        sha512 = "u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==";
       };
     };
     "@types/node-emoji-1.8.1" = {
@@ -238,22 +238,22 @@ let
         sha512 = "oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==";
       };
     };
-    "@types/tough-cookie-2.3.5" = {
+    "@types/tough-cookie-2.3.6" = {
       name = "_at_types_slash_tough-cookie";
       packageName = "@types/tough-cookie";
-      version = "2.3.5";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz";
-        sha512 = "SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==";
+        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.6.tgz";
+        sha512 = "wHNBMnkoEBiRAd3s8KTKwIuO9biFtTf0LehITzBhSco+HQI0xkXZbLOD55SW3Aqw3oUkHstkm5SPv58yaAdFPQ==";
       };
     };
-    "@types/uuid-3.4.5" = {
+    "@types/uuid-3.4.6" = {
       name = "_at_types_slash_uuid";
       packageName = "@types/uuid";
-      version = "3.4.5";
+      version = "3.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.5.tgz";
-        sha512 = "MNL15wC3EKyw1VLF+RoVO4hJJdk9t/Hlv3rt1OL65Qvuadm4BYo6g9ZJQqoq7X8NBFSsQXgAujWciovh2lpVjA==";
+        url = "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.6.tgz";
+        sha512 = "cCdlC/1kGEZdEglzOieLDYBxHsvEOIg7kp/2FYyVR9Pxakq+Qf/inL3RKQ+PA8gOlI/NnL+fXmQH12nwcGzsHw==";
       };
     };
     "@types/ws-5.1.2" = {
@@ -365,13 +365,13 @@ let
         sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
       };
     };
-    "arg-4.1.1" = {
+    "arg-4.1.2" = {
       name = "arg";
       packageName = "arg";
-      version = "4.1.1";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/arg/-/arg-4.1.1.tgz";
-        sha512 = "SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==";
+        url = "https://registry.npmjs.org/arg/-/arg-4.1.2.tgz";
+        sha512 = "+ytCkGcBtHZ3V2r2Z06AncYO8jz46UEamcspGoU8lHcEbpn6J77QK0vdWvChsclg/tM5XIJC5tnjmPp7Eq6Obg==";
       };
     };
     "argparse-1.0.10" = {
@@ -482,13 +482,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.8.0" = {
+    "aws4-1.9.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
-        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
       };
     };
     "axios-0.18.1" = {
@@ -572,13 +572,13 @@ let
         sha1 = "534b9033c022c9579c56ba3b3e5a5caafbb650e1";
       };
     };
-    "bluebird-3.7.0" = {
+    "bluebird-3.5.5" = {
       name = "bluebird";
       packageName = "bluebird";
-      version = "3.7.0";
+      version = "3.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz";
-        sha512 = "aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==";
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz";
+        sha512 = "5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==";
       };
     };
     "body-parser-1.19.0" = {
@@ -788,13 +788,13 @@ let
         sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     };
-    "commander-2.20.1" = {
+    "commander-2.20.3" = {
       name = "commander";
       packageName = "commander";
-      version = "2.20.1";
+      version = "2.20.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz";
-        sha512 = "cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==";
+        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
+        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
       };
     };
     "concat-map-0.0.1" = {
@@ -842,13 +842,13 @@ let
         sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
       };
     };
-    "core-js-2.6.9" = {
+    "core-js-2.6.10" = {
       name = "core-js";
       packageName = "core-js";
-      version = "2.6.9";
+      version = "2.6.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz";
-        sha512 = "HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz";
+        sha512 = "I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -1040,22 +1040,22 @@ let
         sha512 = "zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==";
       };
     };
-    "es-abstract-1.15.0" = {
+    "es-abstract-1.16.3" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.15.0";
+      version = "1.16.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz";
-        sha512 = "bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.3.tgz";
+        sha512 = "WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw==";
       };
     };
-    "es-to-primitive-1.2.0" = {
+    "es-to-primitive-1.2.1" = {
       name = "es-to-primitive";
       packageName = "es-to-primitive";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
-        sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==";
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
+        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
       };
     };
     "escape-html-1.0.3" = {
@@ -1409,13 +1409,13 @@ let
         sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
       };
     };
-    "has-symbols-1.0.0" = {
+    "has-symbols-1.0.1" = {
       name = "has-symbols";
       packageName = "has-symbols";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz";
-        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
+        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
       };
     };
     "he-1.2.0" = {
@@ -1580,13 +1580,13 @@ let
         sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
       };
     };
-    "is-symbol-1.0.2" = {
+    "is-symbol-1.0.3" = {
       name = "is-symbol";
       packageName = "is-symbol";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz";
-        sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==";
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz";
+        sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==";
       };
     };
     "is-typedarray-1.0.0" = {
@@ -1778,13 +1778,13 @@ let
         sha512 = "+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ==";
       };
     };
-    "loglevel-1.6.1" = {
+    "loglevel-1.6.6" = {
       name = "loglevel";
       packageName = "loglevel";
-      version = "1.6.1";
+      version = "1.6.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz";
-        sha1 = "e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa";
+        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz";
+        sha512 = "Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==";
       };
     };
     "make-error-1.3.5" = {
@@ -1805,31 +1805,31 @@ let
         sha512 = "pfDSB7QYoVg0Io4KMV9hhPoXpj6p0uBscgtyUSKCOFZe8bqgbpStfgnKIbF/ulnr6U3ICu4OqdyxAqBgOhZwBQ==";
       };
     };
-    "matrix-appservice-0.3.5" = {
+    "matrix-appservice-0.4.1" = {
       name = "matrix-appservice";
       packageName = "matrix-appservice";
-      version = "0.3.5";
+      version = "0.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-appservice/-/matrix-appservice-0.3.5.tgz";
-        sha512 = "oQcxlpERcUj90QbGjV7t5Ly5/Aze/sUwB9ZrIt1UMFwuNT+CgEzA7cxLDHAiJkXfgoNzFvjVnKJ3203oIuLONQ==";
+        url = "https://registry.npmjs.org/matrix-appservice/-/matrix-appservice-0.4.1.tgz";
+        sha512 = "mxHr9XDOvN/p6OFrfb4kkcEjCPftnXNzMS8Lg9Cz/pDy1arfRWq11vl9pL9bjzBaAouBGLpW1JzmCR2MsW+VKA==";
       };
     };
-    "matrix-appservice-bridge-1.10.3" = {
+    "matrix-appservice-bridge-1.11.1" = {
       name = "matrix-appservice-bridge";
       packageName = "matrix-appservice-bridge";
-      version = "1.10.3";
+      version = "1.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-appservice-bridge/-/matrix-appservice-bridge-1.10.3.tgz";
-        sha512 = "PqAExCsokZOAnY/d2uqTmB7sCVNKDSHZ9R1V8hDNr6rtMUmO3jIuuKNuwFudeOGL2iYcqzB+s8tCz7yh9a3dew==";
+        url = "https://registry.npmjs.org/matrix-appservice-bridge/-/matrix-appservice-bridge-1.11.1.tgz";
+        sha512 = "xrtjxScBIx33HRkiK/5G6wkUxZ9jxF9GqTiKzM/Fn7CgMZoHVDIms3sTc7ybZKA6RHAqH68bg4Eg4JbGCtUrhw==";
       };
     };
-    "matrix-js-sdk-2.4.1" = {
+    "matrix-js-sdk-2.4.5" = {
       name = "matrix-js-sdk";
       packageName = "matrix-js-sdk";
-      version = "2.4.1";
+      version = "2.4.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-2.4.1.tgz";
-        sha512 = "5mOp396eOtvaMiuUD85TWvuxSP532PuvtH/QLugBGenI15FGwtnC40cTnVYviYWGBi340FPrOKWulc5ILRX6qQ==";
+        url = "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-2.4.5.tgz";
+        sha512 = "Mh0fPoiqyXRksFNYS4/2s20xAklmYVIgSms3qFvLhno32LN43NizUoAMBYYGtyjt8BQi+U77lbNL0s5f2V7gPQ==";
       };
     };
     "media-typer-0.3.0" = {
@@ -1868,22 +1868,22 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "mime-db-1.40.0" = {
+    "mime-db-1.42.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.40.0";
+      version = "1.42.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
-        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
+        sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
       };
     };
-    "mime-types-2.1.24" = {
+    "mime-types-2.1.25" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.24";
+      version = "2.1.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
-        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
+        sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
       };
     };
     "minimatch-3.0.4" = {
@@ -1922,13 +1922,13 @@ let
         sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
       };
     };
-    "mocha-6.2.1" = {
+    "mocha-6.2.2" = {
       name = "mocha";
       packageName = "mocha";
-      version = "6.2.1";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mocha/-/mocha-6.2.1.tgz";
-        sha512 = "VCcWkLHwk79NYQc8cxhkmI8IigTIhsCwZ6RTxQsqK6go4UvEhzJkYuHm8B2YtlSxcYq2fY+ucr4JBwoD6ci80A==";
+        url = "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz";
+        sha512 = "FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==";
       };
     };
     "moment-2.24.0" = {
@@ -2039,13 +2039,13 @@ let
         sha512 = "OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==";
       };
     };
-    "object-inspect-1.6.0" = {
+    "object-inspect-1.7.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz";
-        sha512 = "GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
+        sha512 = "a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==";
       };
     };
     "object-keys-1.1.1" = {
@@ -2156,22 +2156,22 @@ let
         sha512 = "n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng==";
       };
     };
-    "p-queue-6.1.1" = {
+    "p-queue-6.2.1" = {
       name = "p-queue";
       packageName = "p-queue";
-      version = "6.1.1";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-queue/-/p-queue-6.1.1.tgz";
-        sha512 = "R9gq36Th88xZ+rWAptN5IXLwqkwA1gagCQhT6ZXQ6RxEfmjb9ZW+UBzRVqv9sm5TQmbbI/TsKgGLbOaA61xR5w==";
+        url = "https://registry.npmjs.org/p-queue/-/p-queue-6.2.1.tgz";
+        sha512 = "wV8yC/rkuWpgu9LGKJIb48OynYSrE6lVl2Bx6r8WjbyVKrFAzzQ/QevAvwnDjlD+mLt8xy0LTDOU1freOvMTCg==";
       };
     };
-    "p-retry-4.1.0" = {
+    "p-retry-4.2.0" = {
       name = "p-retry";
       packageName = "p-retry";
-      version = "4.1.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-retry/-/p-retry-4.1.0.tgz";
-        sha512 = "oepllyG9gX1qH4Sm20YAKxg1GA7L7puhvGnTfimi31P07zSIj7SDV6YtuAx9nbJF51DES+2CIIRkXs8GKqWJxA==";
+        url = "https://registry.npmjs.org/p-retry/-/p-retry-4.2.0.tgz";
+        sha512 = "jPH38/MRh263KKcq0wBNOGFJbm+U6784RilTmHjB/HM9kH9V8WlCpVUcdOmip9cjXOh6MxZ5yk1z2SjDUJfWmA==";
       };
     };
     "p-timeout-3.2.0" = {
@@ -2309,13 +2309,13 @@ let
         sha512 = "UiJyO5B9zZpu32GSlP0tXy8J2NsJ9EFGFfz5v6PSbdz/1hBLX1rNiiy5+mAm5iJJYwfCv4A0EBcQLGWwjbpzZw==";
       };
     };
-    "pg-promise-9.3.3" = {
+    "pg-promise-9.3.6" = {
       name = "pg-promise";
       packageName = "pg-promise";
-      version = "9.3.3";
+      version = "9.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-9.3.3.tgz";
-        sha512 = "C7Mj5RSUvK0cGOaJ0p1fcOk5jhS1n+HgY+DoE8s1+Zjzf6ta70zYDIlOmy6MtYWs4DFHhUW654hb0FmtGKkIkg==";
+        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-9.3.6.tgz";
+        sha512 = "b64UalKAkUImn01z7LeG2NtTTsp0TYfqMzo1vXjO2bDAshL+kXJ2HvCyHstJ4Nj8hLeqtCe0Tar5TbB4QGUHfw==";
       };
     };
     "pg-types-2.2.0" = {
@@ -2399,13 +2399,13 @@ let
         sha512 = "t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==";
       };
     };
-    "psl-1.4.0" = {
+    "psl-1.6.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.4.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
-        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+        url = "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz";
+        sha512 = "SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==";
       };
     };
     "punycode-1.4.1" = {
@@ -2516,22 +2516,22 @@ let
         sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
       };
     };
-    "request-promise-core-1.1.2" = {
+    "request-promise-core-1.1.3" = {
       name = "request-promise-core";
       packageName = "request-promise-core";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz";
-        sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==";
+        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz";
+        sha512 = "QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==";
       };
     };
-    "request-promise-native-1.0.7" = {
+    "request-promise-native-1.0.8" = {
       name = "request-promise-native";
       packageName = "request-promise-native";
-      version = "1.0.7";
+      version = "1.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz";
-        sha512 = "rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==";
+        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz";
+        sha512 = "dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==";
       };
     };
     "require-directory-2.1.1" = {
@@ -2552,13 +2552,13 @@ let
         sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
       };
     };
-    "resolve-1.12.0" = {
+    "resolve-1.13.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.12.0";
+      version = "1.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz";
-        sha512 = "B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz";
+        sha512 = "CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==";
       };
     };
     "retry-0.12.0" = {
@@ -2678,13 +2678,13 @@ let
         sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     };
-    "source-map-support-0.5.13" = {
+    "source-map-support-0.5.16" = {
       name = "source-map-support";
       packageName = "source-map-support";
-      version = "0.5.13";
+      version = "0.5.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz";
-        sha512 = "SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==";
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz";
+        sha512 = "efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==";
       };
     };
     "spex-3.0.0" = {
@@ -2903,13 +2903,13 @@ let
         sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==";
       };
     };
-    "ts-node-8.4.1" = {
+    "ts-node-8.5.4" = {
       name = "ts-node";
       packageName = "ts-node";
-      version = "8.4.1";
+      version = "8.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.4.1.tgz";
-        sha512 = "5LpRN+mTiCs7lI5EtbXmF/HfMeCjzt7DH9CZwtkr6SywStrNQC723wG+aOWFiLNn7zT3kD/RnFqi3ZUfr4l5Qw==";
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.5.4.tgz";
+        sha512 = "izbVCRV68EasEPQ8MSIGBNK9dc/4sYJJKYA+IarMQct1RtEot6Xp0bXuClsbUSnKpg50ho+aOAx8en5c+y4OFw==";
       };
     };
     "tslib-1.10.0" = {
@@ -2921,13 +2921,13 @@ let
         sha512 = "qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==";
       };
     };
-    "tslint-5.20.0" = {
+    "tslint-5.20.1" = {
       name = "tslint";
       packageName = "tslint";
-      version = "5.20.0";
+      version = "5.20.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslint/-/tslint-5.20.0.tgz";
-        sha512 = "2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g==";
+        url = "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz";
+        sha512 = "EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==";
       };
     };
     "tsutils-2.29.0" = {
@@ -2975,13 +2975,13 @@ let
         sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
-    "typescript-3.6.3" = {
+    "typescript-3.7.3" = {
       name = "typescript";
       packageName = "typescript";
-      version = "3.6.3";
+      version = "3.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz";
-        sha512 = "N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.7.3.tgz";
+        sha512 = "Mcr/Qk7hXqFBXMN7p7Lusj1ktCBydylfQM/FZCk5glCNQJrCUKPkMHdo9R0MTFWsC/4kPFvDS0fDPvukfCkFsw==";
       };
     };
     "underscore-1.4.4" = {
@@ -2993,13 +2993,13 @@ let
         sha1 = "61a6a32010622afa07963bf325203cf12239d604";
       };
     };
-    "unhomoglyph-1.0.2" = {
+    "unhomoglyph-1.0.3" = {
       name = "unhomoglyph";
       packageName = "unhomoglyph";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unhomoglyph/-/unhomoglyph-1.0.2.tgz";
-        sha1 = "d69e5f5a6a1c6b211941a0889b81eba86595c253";
+        url = "https://registry.npmjs.org/unhomoglyph/-/unhomoglyph-1.0.3.tgz";
+        sha512 = "PC/OAHE8aiTK0Gfmy0PxOlePazRn+BeCM1r4kFtkHgEnkJZgJoI7yD2yUEjsfSdLXKU1FSt/EcIZvNoKazYUTw==";
       };
     };
     "unpipe-1.0.0" = {
@@ -3212,42 +3212,42 @@ let
   };
 in
 {
-  "matrix-appservice-slack-git+https://github.com/matrix-org/matrix-appservice-slack.git#1.0.1" = nodeEnv.buildNodePackage {
+  "matrix-appservice-slack-git+https://github.com/matrix-org/matrix-appservice-slack.git#1.0.2" = nodeEnv.buildNodePackage {
     name = "matrix-appservice-slack";
     packageName = "matrix-appservice-slack";
-    version = "1.0.1";
+    version = "1.0.2";
     src = fetchgit {
       url = "https://github.com/matrix-org/matrix-appservice-slack.git";
-      rev = "3e30ae24faa0d457bea7f650a22083223af8d957";
-      sha256 = "40a68132606da347ffb90650ca5e0bd1e2be3025397c2f48e286fe9f5e78e847";
+      rev = "8202c97c1fee0f8215f86b0fda1845ca17db3612";
+      sha256 = "b419d34771f4f4be56fe66ba4cbf690fb5a337e317a927e70e65be3f1ddd55ef";
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
       sources."@babel/highlight-7.5.0"
-      sources."@slack/logger-1.1.0"
+      sources."@slack/logger-1.1.1"
       (sources."@slack/rtm-api-5.0.3" // {
         dependencies = [
           sources."p-queue-2.4.2"
         ];
       })
-      sources."@slack/types-1.2.1"
-      (sources."@slack/web-api-5.2.1" // {
+      sources."@slack/types-1.3.0"
+      (sources."@slack/web-api-5.6.0" // {
         dependencies = [
           sources."p-queue-2.4.2"
         ];
       })
       sources."@types/body-parser-1.17.1"
       sources."@types/caseless-0.12.2"
-      sources."@types/chai-4.2.3"
+      sources."@types/chai-4.2.6"
       sources."@types/connect-3.4.32"
       sources."@types/events-3.0.0"
-      sources."@types/express-4.17.1"
-      sources."@types/express-serve-static-core-4.16.9"
+      sources."@types/express-4.17.2"
+      sources."@types/express-serve-static-core-4.17.0"
       sources."@types/is-stream-1.1.0"
       sources."@types/mime-2.0.1"
       sources."@types/mocha-5.2.7"
       sources."@types/nedb-1.8.9"
-      sources."@types/node-12.7.11"
+      sources."@types/node-12.12.14"
       sources."@types/node-emoji-1.8.1"
       sources."@types/p-queue-2.3.2"
       sources."@types/randomstring-1.1.6"
@@ -3256,8 +3256,8 @@ in
       sources."@types/request-promise-native-1.0.17"
       sources."@types/retry-0.12.0"
       sources."@types/serve-static-1.13.3"
-      sources."@types/tough-cookie-2.3.5"
-      sources."@types/uuid-3.4.5"
+      sources."@types/tough-cookie-2.3.6"
+      sources."@types/uuid-3.4.6"
       sources."@types/ws-5.1.2"
       sources."@types/yargs-13.0.3"
       sources."@types/yargs-parser-13.1.0"
@@ -3269,7 +3269,7 @@ in
       sources."ansi-colors-3.2.3"
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
-      sources."arg-4.1.1"
+      sources."arg-4.1.2"
       sources."argparse-1.0.10"
       sources."array-flatten-1.1.1"
       sources."array-uniq-1.0.2"
@@ -3281,7 +3281,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."axios-0.18.1"
       sources."babel-runtime-6.26.0"
       sources."balanced-match-1.0.0"
@@ -3322,13 +3322,13 @@ in
       sources."colors-1.4.0"
       sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.1"
+      sources."commander-2.20.3"
       sources."concat-map-0.0.1"
       sources."content-disposition-0.5.3"
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.10"
       sources."core-util-is-1.0.2"
       sources."cycle-1.0.3"
       sources."dashdash-1.14.1"
@@ -3347,8 +3347,8 @@ in
       sources."enabled-1.0.2"
       sources."encodeurl-1.0.2"
       sources."env-variable-0.0.5"
-      sources."es-abstract-1.15.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.16.3"
+      sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-2.0.0"
       sources."esprima-4.0.1"
@@ -3393,7 +3393,7 @@ in
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."he-1.2.0"
       sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
@@ -3412,7 +3412,7 @@ in
       sources."is-property-1.0.2"
       sources."is-regex-1.0.4"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
@@ -3437,22 +3437,22 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."loglevel-1.6.1"
+      sources."loglevel-1.6.6"
       sources."make-error-1.3.5"
       sources."manakin-0.5.2"
-      sources."matrix-appservice-0.3.5"
-      sources."matrix-appservice-bridge-1.10.3"
-      (sources."matrix-js-sdk-2.4.1" // {
+      sources."matrix-appservice-0.4.1"
+      sources."matrix-appservice-bridge-1.11.1"
+      (sources."matrix-js-sdk-2.4.5" // {
         dependencies = [
-          sources."bluebird-3.7.0"
+          sources."bluebird-3.5.5"
         ];
       })
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       (sources."mkdirp-0.5.1" // {
@@ -3460,7 +3460,7 @@ in
           sources."minimist-0.0.8"
         ];
       })
-      (sources."mocha-6.2.1" // {
+      (sources."mocha-6.2.2" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."escape-string-regexp-1.0.5"
@@ -3486,7 +3486,7 @@ in
       sources."nopt-3.0.6"
       sources."oauth-sign-0.9.0"
       sources."object-hash-1.3.1"
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.0"
       sources."object.getownpropertydescriptors-2.0.3"
@@ -3498,12 +3498,12 @@ in
       sources."p-finally-1.0.0"
       sources."p-limit-2.2.1"
       sources."p-locate-3.0.0"
-      (sources."p-queue-6.1.1" // {
+      (sources."p-queue-6.2.1" // {
         dependencies = [
           sources."eventemitter3-4.0.0"
         ];
       })
-      sources."p-retry-4.1.0"
+      sources."p-retry-4.2.0"
       sources."p-timeout-3.2.0"
       sources."p-try-2.2.0"
       sources."packet-reader-1.0.0"
@@ -3519,7 +3519,7 @@ in
       sources."pg-int8-1.0.1"
       sources."pg-minify-1.5.1"
       sources."pg-pool-2.0.7"
-      sources."pg-promise-9.3.3"
+      sources."pg-promise-9.3.6"
       sources."pg-types-2.2.0"
       sources."pgpass-1.0.2"
       sources."postgres-array-2.0.0"
@@ -3529,7 +3529,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."prom-client-11.5.3"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
       sources."quick-lru-4.0.1"
@@ -3544,11 +3544,11 @@ in
           sources."qs-6.5.2"
         ];
       })
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.13.1"
       sources."retry-0.12.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -3568,7 +3568,7 @@ in
       sources."setprototypeof-1.1.1"
       sources."simple-swizzle-0.2.2"
       sources."source-map-0.6.1"
-      sources."source-map-support-0.5.13"
+      sources."source-map-support-0.5.16"
       sources."spex-3.0.0"
       sources."split-1.0.1"
       sources."sprintf-js-1.0.3"
@@ -3597,13 +3597,13 @@ in
         ];
       })
       sources."triple-beam-1.3.0"
-      (sources."ts-node-8.4.1" // {
+      (sources."ts-node-8.5.4" // {
         dependencies = [
           sources."diff-4.0.1"
         ];
       })
       sources."tslib-1.10.0"
-      (sources."tslint-5.20.0" // {
+      (sources."tslint-5.20.1" // {
         dependencies = [
           sources."diff-4.0.1"
           sources."semver-5.7.1"
@@ -3614,9 +3614,9 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-detect-4.0.8"
       sources."type-is-1.6.18"
-      sources."typescript-3.6.3"
+      sources."typescript-3.7.3"
       sources."underscore-1.4.4"
-      sources."unhomoglyph-1.0.2"
+      sources."unhomoglyph-1.0.3"
       sources."unpipe-1.0.0"
       sources."uri-js-4.2.2"
       sources."util-deprecate-1.0.2"
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json b/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
index 72d259f26ce..87dada8f027 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
@@ -1,3 +1,3 @@
 [
-    {"matrix-appservice-slack": "git+https://github.com/matrix-org/matrix-appservice-slack.git#1.0.1" }
+    {"matrix-appservice-slack": "git+https://github.com/matrix-org/matrix-appservice-slack.git#1.0.2" }
 ]
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 7e2aaa66257..787c7b1d463 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "grafana";
-  version = "6.5.1";
+  version = "6.5.2";
 
   goPackagePath = "github.com/grafana/grafana";
 
@@ -12,12 +12,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "1hcfn9dgx8vabadagm69dgk5sdyc1kxkbma2ryfdb0v6vpm01784";
+    sha256 = "1hplnb8rv2sxai05qf6il5kza08bkhcawvymr2h9lfdsj7p4kbzy";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "1m2rxxgs8sf8qrg0bk3i2gy17q6n4nk4cwlp9bbffwmwcmf78gnw";
+    sha256 = "1fnj41lp9b53iyjgis5x8k3g5vl73fdrxsdxnf10d4ma95cwb2qa";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/monitoring/loki/default.nix b/pkgs/servers/monitoring/loki/default.nix
index c7b75fdbe2b..12b181a480f 100644
--- a/pkgs/servers/monitoring/loki/default.nix
+++ b/pkgs/servers/monitoring/loki/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, systemd }:
 
 buildGoPackage rec {
-  version = "1.1.0";
+  version = "1.2.0";
   pname = "grafana-loki";
   goPackagePath = "github.com/grafana/loki";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "loki";
-    sha256 = "1c9bw5bib577pgjd71skncxf3cdcyj1ab36j6ag7szl2kym62j6x";
+    sha256 = "04ix58gb9yy5jf8fhn3k1pbwqs69k7m96cck38ymhwml1793b4k9";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 2364043c868..d2578b185fc 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -82,7 +82,7 @@ let
       # Disable platform specific features if needed
       # using libmad to decode mp3 files on darwin is causing a segfault -- there
       # is probably a solution, but I'm disabling it for now
-      platformMask = lib.optionals stdenv.isDarwin [ "mad" "pulse" "jack" "nfs" "smb" ]
+      platformMask = lib.optionals stdenv.isDarwin [ "mad" "pulse" "jack" "nfs" "smbclient" ]
                   ++ lib.optionals (!stdenv.isLinux) [ "alsa" "systemd" "syslog" ];
 
       knownFeatures = builtins.attrNames featureDependencies;
@@ -113,7 +113,7 @@ let
 
       buildInputs = [ glib boost ]
         ++ (lib.concatLists (lib.attrVals features_ featureDependencies))
-        ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.AudioToolbox;
+        ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AudioToolbox darwin.apple_sdk.frameworks.AudioUnit ];
 
       nativeBuildInputs = [ meson ninja pkgconfig ];
 
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index f92c5aaa210..c7ee15bc9f8 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -20,11 +20,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "samba";
-  version = "4.10.10";
+  version = "4.10.11";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
-    sha256 = "19b653rr2i9snvapik58phbqj38cxjdlyx6nl3m2y3k1a55p633h";
+    sha256 = "157qvz8x2s7994rzxhcmpc79cfk86zc0rq5qwg8alvjcw0r457v0";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index eeb6f9ab6a9..13b36bf54ad 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.7.pre6";
+  version = "0.7.pre9";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "1yhfrxrqd4jbjsf0g2fkxv8zypcndnikv9g15yp9szgp4sh1r9vv";
+    sha256 = "1j17yxpjqv37vbl3qhnwl3gdmb33n9c6g6byxcc8mhbvbw91zi5i";
   };
 
   postPatch = ''
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 10d2a5bd51e..ad99163f4c6 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   rev = "664664f6cd8a1c02a38063c8f2104f0515a19399";
 
   src = fetchgit { inherit rev;
-    url = "https://github.com/robbyrussell/oh-my-zsh";
+    url = "https://github.com/ohmyzsh/ohmyzsh";
     sha256 = "0d9x4fp9hxyk3h4jlq74v5k9xyngcx1g45aihikyj6fzqk2h1pax";
   };
 
diff --git a/pkgs/shells/zsh/oh-my-zsh/update.sh b/pkgs/shells/zsh/oh-my-zsh/update.sh
index 9567a2b6ae5..0146cac8496 100755
--- a/pkgs/shells/zsh/oh-my-zsh/update.sh
+++ b/pkgs/shells/zsh/oh-my-zsh/update.sh
@@ -4,11 +4,11 @@
 set -eu -o pipefail
 
 oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion oh-my-zsh" | tr -d '"')"
-latestSha="$(curl -L -s https://api.github.com/repos/robbyrussell/oh-my-zsh/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')"
+latestSha="$(curl -L -s https://api.github.com/repos/ohmyzsh/ohmyzsh/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')"
 url="$(nix-instantiate --eval -E "with import ./. {}; oh-my-zsh.src.url" | tr -d '"')"
 
 if [ ! "null" = "${latestSha}" ]; then
-  latestDate="$(curl -L -s https://api.github.com/repos/robbyrussell/oh-my-zsh/commits/${latestSha} | jq '.commit.author.date' | sed 's|"\(.*\)T.*|\1|g')"
+  latestDate="$(curl -L -s https://api.github.com/repos/ohmyzsh/ohmyzsh/commits/${latestSha} | jq '.commit.author.date' | sed 's|"\(.*\)T.*|\1|g')"
   update-source-version oh-my-zsh "${latestSha}" --version-key=rev
   update-source-version oh-my-zsh "${latestDate}" --ignore-same-hash
   nixpkgs="$(git rev-parse --show-toplevel)"
diff --git a/pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch b/pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch
deleted file mode 100644
index 0c4fd22c54f..00000000000
--- a/pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From efc16fbe7e41784f218d9c6cb4239b209cd77214 Mon Sep 17 00:00:00 2001
-From: Christian Kampka <christian@kampka.net>
-Date: Sat, 12 Oct 2019 21:47:47 +0200
-Subject: [PATCH 1/2] Fix path marshalling when saveing config
-
----
- config/config.go | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/config/config.go b/config/config.go
-index 69a10c5..b5c61fe 100644
---- a/config/config.go
-+++ b/config/config.go
-@@ -26,7 +26,7 @@ func (p *Path) UnmarshalText(text []byte) error {
- 	return nil
- }
- 
--func (p *Path) MarshalText() (text []byte, err error) {
-+func (p Path) MarshalText() (text []byte, err error) {
- 	return []byte(p.path), nil
- }
- 
--- 
-2.19.2
-
diff --git a/pkgs/shells/zsh/zsh-history/default.nix b/pkgs/shells/zsh/zsh-history/default.nix
index 6bbcdac2c17..98e97d78465 100644
--- a/pkgs/shells/zsh/zsh-history/default.nix
+++ b/pkgs/shells/zsh/zsh-history/default.nix
@@ -2,19 +2,15 @@
 
 buildGoModule rec {
   pname = "zsh-history";
-  version = "2019-10-07";
+  version = "2019-12-10";
 
   src = fetchFromGitHub {
     owner = "b4b4r07";
     repo = "history";
-    rev = "a08ad2dcffc852903ae54b0c5704b8a085009ef7";
-    sha256 = "0r3p04my40dagsq1dssnk583qrlcps9f7ajp43z7mq73q3hrya5s";
+    rev = "8da016bd91b0c2eb53c9980f00eee6abdbb097e2";
+    sha256 = "13n643ik1zjvpk8h9458yd9ffahhbdnigmbrbmpn7b7g23wqqsi3";
   };
 
-  patches = [
-    ./0001-Fix-path-marshalling-when-saveing-config.patch
-  ];
-
   nativeBuildInputs = [ installShellFiles ];
 
   modSha256 = "0f10b86gyn7m7lw43c8y1m30mdg0i092a319v3cb2qj05jb9vn42";
diff --git a/pkgs/tools/X11/imwheel/default.nix b/pkgs/tools/X11/imwheel/default.nix
index f33e15e59cc..efed00f9639 100644
--- a/pkgs/tools/X11/imwheel/default.nix
+++ b/pkgs/tools/X11/imwheel/default.nix
@@ -10,10 +10,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libX11 libXext libXi libXmu libXt libXtst ];
 
-  postPatch = ''
-    substituteInPlace Makefile.in --replace "ETCDIR = " "ETCDIR = $out"
-    substituteInPlace util.c --replace "/etc/X11/imwheel" "$out/etc/X11/imwheel"
-  '';
+  makeFlags = [
+    "sysconfdir=/etc"
+    "ETCDIR=/etc"
+  ];
+
+  installFlags = [
+    "sysconfdir=${placeholder "out"}/etc"
+    "ETCDIR=${placeholder "out"}/etc"
+  ];
 
   meta = with stdenv.lib; {
     homepage = "http://imwheel.sourceforge.net/";
diff --git a/pkgs/tools/X11/oblogout/default.nix b/pkgs/tools/X11/oblogout/default.nix
deleted file mode 100644
index 9acd113d0ab..00000000000
--- a/pkgs/tools/X11/oblogout/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitHub, intltool, file, pythonPackages, cairo }:
-
-pythonPackages.buildPythonApplication {
-  pname = "oblogout-unstable";
-  version = "2009-11-18";
-
-  src = fetchFromGitHub {
-    owner = "nikdoof";
-    repo = "oblogout";
-    rev = "ee023158c03dee720a1af9b1307b14ed5a95f5a0";
-    sha256 = "0nj87q94idb5ki4wnb2xipfgc6k6clr3rmm4xxh46b58z4zhhbmj";
-  };
-
-  nativeBuildInputs = [ intltool file pythonPackages.distutils_extra ];
-
-  buildInputs = [ cairo ];
-
-  propagatedBuildInputs = [ pythonPackages.pygtk pythonPackages.pillow pythonPackages.dbus-python ];
-
-  patches = [ ./oblogout-0.3-fixes.patch ];
-
-  postPatch = ''
-    substituteInPlace data/oblogout --replace sys.prefix \"$out/${pythonPackages.python.sitePackages}\"
-    substituteInPlace oblogout/__init__.py --replace sys.prefix \"$out\"
-    mkdir -p $out/share/doc
-    cp -a README $out/share/doc
-  '';
-
-  meta = {
-    description = "Openbox logout script";
-    homepage = https://launchpad.net/oblogout;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
-  };
-}
diff --git a/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch b/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch
deleted file mode 100644
index c58103c6d40..00000000000
--- a/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff --git a/data/oblogout b/data/oblogout
-index 8058c4a..dfe5285 100755
---- a/data/oblogout
-+++ b/data/oblogout
-@@ -77,8 +77,10 @@ def main(argv = None):
-             config = 'data/oblogout.conf'
-         elif os.path.isfile('%s/.config/oblogout.conf' % os.getenv("HOME")):
-             config = '%s/.config/oblogout.conf' % os.getenv("HOME")
--        else:
-+        elif os.path.isfile('/etc/oblogout.conf'):
-             config = '/etc/oblogout.conf'
-+        else:
-+            config = sys.prefix + '/etc/oblogout.conf'
-                 
-     # Check config in local path, if it exists pass it on     
-     if not os.path.isfile(config):
-diff --git a/data/oblogout.conf b/data/oblogout.conf
-index 810872c..b1c1009 100644
---- a/data/oblogout.conf
-+++ b/data/oblogout.conf
-@@ -1,11 +1,11 @@
- [settings]
--usehal = true
-+usehal = false
- 
- [looks]
- opacity = 70
- bgcolor = black
- buttontheme = simplistic
--buttons = cancel, logout, restart, shutdown, suspend, lock
-+buttons = cancel, logout, restart, shutdown, suspend
- 
- [shortcuts]
- cancel = Escape
-@@ -17,11 +17,11 @@ lock = K
- hibernate = H
- 
- [commands]
--shutdown = shutdown -h now
--restart = reboot
--suspend = pmi action suspend
--hibernate = pmi action hibernate
--safesuspend = safesuspend
--lock = gnome-screensaver-command -l
--switchuser = gdm-control --switch-user
-+shutdown = systemctl poweroff
-+restart = systemctl reboot
-+suspend = systemctl suspend
-+hibernate = systemctl hibernate
-+# safesuspend = safesuspend
-+# lock = gnome-screensaver-command -l
-+# switchuser = gdm-control --switch-user
- logout = openbox --exit
-diff --git a/oblogout/__init__.py b/oblogout/__init__.py
-index b9e4e01..12f521f 100644
---- a/oblogout/__init__.py
-+++ b/oblogout/__init__.py
-@@ -138,7 +138,7 @@ class OpenboxLogout():
-             self.logger.debug("Rendering Fade")
-             # Convert Pixbuf to PIL Image
-             wh = (pb.get_width(),pb.get_height())
--            pilimg = Image.fromstring("RGB", wh, pb.get_pixels())
-+            pilimg = Image.frombytes("RGB", wh, pb.get_pixels())
-             
-             pilimg = pilimg.point(lambda p: (p * self.opacity) / 255 )
- 
diff --git a/pkgs/tools/X11/winswitch/default.nix b/pkgs/tools/X11/winswitch/default.nix
deleted file mode 100644
index 404cef72a3e..00000000000
--- a/pkgs/tools/X11/winswitch/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, pythonPackages
-, which, xpra, xmodmap }:
-
-let
-  base = pythonPackages.buildPythonApplication rec {
-    pname = "winswitch";
-    namePrefix = "";
-    version = "0.12.23";
-
-    src = fetchurl {
-      url = "http://winswitch.org/src/${pname}-${version}.src.tar.bz2";
-      sha256 = "1m0akjcdlsgng426rwvzlcl76kjm993icj0pggvha40cizig1yd9";
-    };
-
-    propagatedBuildInputs = with pythonPackages; [
-      pygtk twisted pycrypto pyasn1 which xpra xmodmap
-    ];
-
-    patchPhase = ''
-      sed -i -r -e 's|(PREFIX_DIR *= *).*|\1"'"$out"'"|'             \
-                -e 's|(PREFIX_SEARCH_ORDER *= *).*|\1["'"$out"'"]|'  \
-                -e 's|(ETC_SEARCH_ORDER *= *).*|\1["'"$out/etc"'"]|' \
-                -e 's|(BIN_SEARCH_ORDER *= *).*|\1["'"$out/bin"'"]|' \
-                winswitch/util/paths.py
-
-      sed -i -e '/elif *LINUX:/,/distro_helper/{
-        s/elif *LINUX:.*/else: name = "NixOS"/p
-        /distro_helper/!d
-      }' winswitch/util/distro_packaging_util.py
-    '';
-
-    preInstall = ''
-      # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
-      python setup.py install_data --install-dir=$out --root=$out
-      sed -i '/data_files = data_files/d' setup.py
-    '';
-
-    doCheck = false;
-
-    meta.platforms = stdenv.lib.platforms.linux;
-    meta.broken = true;
-  };
-in stdenv.lib.overrideDerivation base (b: {
-  postFixup = b.postFixup + ''
-    sed -i -e 's/\''${PATH:+:}\$PATH//g' "$out/bin"/*
-  '';
-})
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index 958bf31673c..529bc4d50d3 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -111,6 +111,9 @@ let
         '';
       };
 
+      azure-mgmt-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "0.4.0" "zip"
+        "0zssvzdip23yzaxlac9rlzg9mlyjl97fwr0gj8y27z8j58pwj72i";
+
       azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "4.0.0" "zip"
         "0gy89bi89ikg5hps8rvnq28r33lixci3sk2m86jvziv9fh9rz41b";
 
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index 3536e39418e..78fa4359c91 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -5,7 +5,7 @@
 , cmake, gettext, libtool
 , libGLU
 , gnutls, pam, nettle
-, xterm, openssh
+, xterm, openssh, perl
 , makeWrapper}:
 
 with stdenv.lib;
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = with xorg; [
     libjpeg_turbo fltk pixman
-    gnutls pam nettle
+    gnutls pam nettle perl
     xorgproto
     utilmacros libXtst libXext libX11 libXext libICE libXi libSM libXft
     libxkbfile libXfont2 libpciaccess
diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index c65b2a63f2d..0d7bcdcd0f2 100644
--- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,24 +2,25 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "0.7";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1nhqy1fdzhkjhqs54nq66zj5bf85n3gr4k6zl0hswdvhg6flkg75";
+    sha256 = "1ybrki63ixrkraynms5i4jiil9901whwxs6p61h2c2ild8w2ir8n";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
   buildInputs = [ fuse3 ];
 
   meta = with lib; {
-    homepage = https://github.com/containers/fuse-overlayfs;
     description = "FUSE implementation for overlayfs";
     longDescription = "An implementation of overlay+shiftfs in FUSE for rootless containers.";
     license = licenses.gpl3;
+    maintainers = with maintainers; [ ma9e ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.ma9e ];
+    inherit (src.meta) homepage;
   };
 }
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
index 48a72c5dd62..da2dff6b77a 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
@@ -3,6 +3,7 @@
 { stdenv, fetchurl, buildPythonApplication, pykickstart, pyparted, pyblock
 , libselinux, cryptsetup, multipath_tools, lsof, utillinux
 , useNixUdev ? true, systemd ? null
+# useNixUdev is here for bw compatibility
 }:
 
 assert useNixUdev -> systemd != null;
@@ -28,7 +29,6 @@ buildPythonApplication rec {
     }' blivet/formats/__init__.py
     sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py
     sed -i -r -e 's|"(u?mount)"|"${utillinux.bin}/bin/\1"|' blivet/util.py
-  '' + stdenv.lib.optionalString useNixUdev ''
     sed -i -e '/find_library/,/find_library/ {
       c libudev = "${systemd.lib}/lib/libudev.so.1"
     }' blivet/pyudev.py
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
index 6980478f685..e10d6ed607a 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
@@ -13,13 +13,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus-typing-booster";
-  version = "2.7.0";
+  version = "2.7.2";
 
   src = fetchFromGitHub {
     owner = "mike-fabian";
     repo = "ibus-typing-booster";
     rev = version;
-    sha256 = "1rd9dkjc9s15mxifcbr12944rsh8z66p0j6abh3iw8vkiylk674s";
+    sha256 = "1v11hipdh8chkd81gcack42v8h8q4z2x2gv2gyymqk15yj0959i3";
   };
 
   patches = [ ./hunspell-dirs.patch ];
diff --git a/pkgs/tools/misc/arp-scan/default.nix b/pkgs/tools/misc/arp-scan/default.nix
index 4f50e0f556b..9a3164db5d7 100644
--- a/pkgs/tools/misc/arp-scan/default.nix
+++ b/pkgs/tools/misc/arp-scan/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "arp-scan";
-  version = "1.9.5";
+  version = "1.9.7";
 
   src = fetchFromGitHub {
     owner = "royhills";
     repo = "arp-scan";
-    rev = "4de863c2627a05177eda7159692a588f9f520cd1";
-    sha256 = "15zpfdybk2kh98shqs8qqd0f9nyi2ch2wcyv729rfj7yp0hif5mb";
+    rev = version;
+    sha256 = "1mf7a4f9vzvnkiavc87aqyciswggsb4fpy7j05jxnvjyyxv3l7gp";
   };
 
   perlModules = with perlPackages; [
@@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ libpcap makeWrapper ];
+  buildInputs = [ perlPackages.perl libpcap makeWrapper ];
 
   postInstall = ''
     for name in get-{oui,iab}; do
-      wrapProgram "$out/bin/$name" --set PERL5LIB "${perlPackages.makePerlPath perlModules }"
+      wrapProgram "$out/bin/$name" --set PERL5LIB "${perlPackages.makeFullPerlPath perlModules}"
     done;
   '';
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       Arp-scan is a command-line tool that uses the ARP protocol to discover
       and fingerprint IP hosts on the local network.
     '';
-    homepage = http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation;
+    homepage = "http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ bjornfor mikoim ];
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 660dcf34459..897ecadd872 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "1.7.5";
+  version = "1.7.7";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "1s64468q7hhp42lzgcixhh3jq7i7bgmiakahyfj0mzc49mn6rr0a";
+    sha256 = "18v3sgi0aa8cd9sk3nhhyc4dmzpmq28wa21zyc9nvyw40ngmmxsb";
   };
 
   modSha256 = "0c2jslcigq9ajchfr7inb7b6cpla7xjibcmjsvwspfzknrlrsbfn";
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index fe68613b542..f3728361720 100644
--- a/pkgs/tools/misc/fluent-bit/default.nix
+++ b/pkgs/tools/misc/fluent-bit/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "1.3.2";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${version}";
-    sha256 = "155szha6mx7cvq0bzqb528zg4q1m9gip7f0m1zv9yrz1sr9p1nzv";
+    sha256 = "01iy8xgsyc1clhpik4nmkxw6xnblzswvn35qz4h4p5sw97c4iwq8";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
diff --git a/pkgs/tools/misc/html-proofer/Gemfile.lock b/pkgs/tools/misc/html-proofer/Gemfile.lock
index ac229cf4657..ec69f523f3b 100644
--- a/pkgs/tools/misc/html-proofer/Gemfile.lock
+++ b/pkgs/tools/misc/html-proofer/Gemfile.lock
@@ -5,20 +5,22 @@ GEM
       public_suffix (>= 2.0.2, < 5.0)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    ffi (1.11.2)
-    html-proofer (3.14.1)
+    ffi (1.11.3)
+    html-proofer (3.15.0)
       addressable (~> 2.3)
       mercenary (~> 0.3)
-      nokogiri (~> 1.10)
+      nokogumbo (~> 2.0)
       parallel (~> 1.3)
       rainbow (~> 3.0)
       typhoeus (~> 1.3)
       yell (~> 2.0)
     mercenary (0.3.6)
     mini_portile2 (2.4.0)
-    nokogiri (1.10.5)
+    nokogiri (1.10.7)
       mini_portile2 (~> 2.4.0)
-    parallel (1.19.0)
+    nokogumbo (2.0.2)
+      nokogiri (~> 1.8, >= 1.8.4)
+    parallel (1.19.1)
     public_suffix (4.0.1)
     rainbow (3.0.0)
     typhoeus (1.3.1)
diff --git a/pkgs/tools/misc/html-proofer/gemset.nix b/pkgs/tools/misc/html-proofer/gemset.nix
index 8cf066c6c68..1f561f52976 100644
--- a/pkgs/tools/misc/html-proofer/gemset.nix
+++ b/pkgs/tools/misc/html-proofer/gemset.nix
@@ -26,21 +26,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
       type = "gem";
     };
-    version = "1.11.2";
+    version = "1.11.3";
   };
   html-proofer = {
-    dependencies = ["addressable" "mercenary" "nokogiri" "parallel" "rainbow" "typhoeus" "yell"];
+    dependencies = ["addressable" "mercenary" "nokogumbo" "parallel" "rainbow" "typhoeus" "yell"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16i803vhrygcbln077czhv9ngipljsawr338lbvd0zr2473r8qja";
+      sha256 = "0nmwxmn0dxgs53g1cqn251dzmjrklw14cpa6z6wz7cdwvjq47500";
       type = "gem";
     };
-    version = "3.14.1";
+    version = "3.15.0";
   };
   mercenary = {
     groups = ["default"];
@@ -68,20 +68,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.10.5";
+    version = "1.10.7";
+  };
+  nokogumbo = {
+    dependencies = ["nokogiri"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sxjnpjvrn10gdmfw2dimhch861lz00f28hvkkz0b1gc2rb65k9s";
+      type = "gem";
+    };
+    version = "2.0.2";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bsg06zklvxv1qkpqhiric2m07108rqlmnl4axv5fzpxx9973pfz";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.19.1";
   };
   public_suffix = {
     groups = ["default"];
diff --git a/pkgs/tools/misc/powerline-go/default.nix b/pkgs/tools/misc/powerline-go/default.nix
index 5c1b1be2db3..47336e54d67 100644
--- a/pkgs/tools/misc/powerline-go/default.nix
+++ b/pkgs/tools/misc/powerline-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "powerline-go";
-  version = "1.13.0";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "justjanne";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hgc0ji9jcsq5qnvx54dvpq8qx80mgdbvkllzavnvqr7md638zk9";
+    sha256 = "06i07m68l24v29j01qp2y91rwsfqh4x1nc8sxkjzrc7q1c7fsc1r";
   };
 
-  modSha256 = "0800r08rawv4fz08d332z0fy6pd16l1dyflz3h91ba00g59wc2ah";
+  modSha256 = "0mz1qrwar9cgrhrgw4z3gwhjj62bnfnn59ji31zkyvwlc1mqh9an";
 
   meta = with stdenv.lib; {
     description = "A Powerline like prompt for Bash, ZSH and Fish";
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 26cdbfeab67..ccd43270404 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "snapper";
-  version = "0.8.5";
+  version = "0.8.6";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "snapper";
     rev = "v${version}";
-    sha256 = "1h8qpkfcp04xpnaki2hmc7h3536dnjli2cczhzma6q9m985y45kr";
+    sha256 = "1czx8brfhbfi614mqw46d38xwq6w7d5aca3pibwx8zz47rn99w6d";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 9b749cbc875..4fdc2bbda2a 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.28.0";
+  version = "0.30.1";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1fwhaz76awgva0j10y5snykc8xb06x9apvpxgyxn53lh87x08q7k";
+    sha256 = "19h6ahbqfrq5jfdjqxd7phzh1lanqqvkb1phr4fx6qnn5icj9hlm";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
       --replace "/bin/echo" "echo"
   '';
 
-  cargoSha256 = "19j7z0223f1yqhdgxgmzrl3ypx6d79lgccdacsmgnd8wgwxx05zg";
+  cargoSha256 = "0391l44rqshjz62658mfl58c2npv7k11l4lb4kk9gb3ywdhbjv26";
   checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index c628ae30e95..1aa221bd59e 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -21,7 +21,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "tmux";
-  version = "3.0";
+  version = "3.0a";
 
   outputs = [ "out" "man" ];
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     owner = "tmux";
     repo = "tmux";
     rev = version;
-    sha256 = "0772hajzgpl4cvb9l2bma9hmnh4jg1phvqr2gg4292w34n5dsl3k";
+    sha256 = "0y9lv1yr0x50v3k70vzkc8hfr7yijlsi30p7dr7i8akp3lwmmc7h";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix
index 9429dee64bd..1cb8e02130f 100644
--- a/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/pkgs/tools/networking/openapi-generator-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "4.2.1";
+  version = "4.2.2";
   pname = "openapi-generator-cli";
 
   jarfilename = "${pname}-${version}.jar";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://central.maven.org/maven2/org/openapitools/${pname}/${version}/${jarfilename}";
-    sha256 = "1inkiqbr183ksmkvpawagv1gqgc323wa1d6sdrd33pb9lk6wahdl";
+    sha256 = "1pafv432ll3pp52580pbnk0gnrm6byl5fkrf1rarhxfkpkr82yif";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/tools/networking/openfortivpn/default.nix b/pkgs/tools/networking/openfortivpn/default.nix
index 2672996a095..d1a73f1c148 100644
--- a/pkgs/tools/networking/openfortivpn/default.nix
+++ b/pkgs/tools/networking/openfortivpn/default.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 let repo = "openfortivpn";
-    version = "1.10.0";
+    version = "1.11.0";
 
 in stdenv.mkDerivation {
   name = "${repo}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "adrienverge";
     inherit repo;
     rev = "v${version}";
-    sha256 = "1d9mp03dxz9j6pwd3d5z2pa7i1sqx5psshli1inqs0cq8zjmbzrw";
+    sha256 = "03ljyam0027w412vmi4gc0bp9c2xfmcspi676qck8cvvzg4gf736";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index d5edb128cd5..b8297629ff7 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -14,11 +14,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "wireguard-tools";
-  version = "0.0.20191127";
+  version = "0.0.20191212";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "1n1x5858c32p0a13rrhn9a491174k5z4wd0gsy8qn546k1a8qj99";
+    sha256 = "1vyin3i4nqc4syri49jhjc4qm0qshpvgw7k4d3g5vlyskhdfv5q0";
   };
 
   sourceRoot = "source/src/tools";
diff --git a/pkgs/tools/package-management/cargo-outdated/cargo-lock.patch b/pkgs/tools/package-management/cargo-outdated/cargo-lock.patch
new file mode 100644
index 00000000000..7e0528eda2a
--- /dev/null
+++ b/pkgs/tools/package-management/cargo-outdated/cargo-lock.patch
@@ -0,0 +1,1283 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..0f18cc6
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,1277 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "adler32"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "ansi_term"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "atty"
++version = "0.2.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "autocfg"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
++
++[[package]]
++name = "backtrace"
++version = "0.3.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
++dependencies = [
++ "backtrace-sys",
++ "cfg-if",
++ "libc",
++ "rustc-demangle",
++]
++
++[[package]]
++name = "backtrace-sys"
++version = "0.1.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
++dependencies = [
++ "cc",
++ "libc",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++
++[[package]]
++name = "bstr"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "bytesize"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "716960a18f978640f25101b5cbf1c6f6b0d3192fab36a2d98ca96f0ecbe41010"
++
++[[package]]
++name = "c2-chacha"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
++dependencies = [
++ "ppv-lite86",
++]
++
++[[package]]
++name = "cargo"
++version = "0.40.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "03504435a39de1303decb9c9a7416e875f16d4b94769d4d0dd5e1bfb21229640"
++dependencies = [
++ "atty",
++ "bytesize",
++ "clap",
++ "core-foundation",
++ "crates-io",
++ "crossbeam-utils",
++ "crypto-hash",
++ "curl",
++ "curl-sys",
++ "env_logger 0.6.2",
++ "failure",
++ "filetime",
++ "flate2",
++ "fs2",
++ "fwdansi",
++ "git2",
++ "git2-curl",
++ "glob",
++ "hex 0.4.0",
++ "home",
++ "humantime",
++ "ignore",
++ "im-rc",
++ "jobserver",
++ "lazy_static",
++ "lazycell",
++ "libc",
++ "libgit2-sys",
++ "log",
++ "memchr",
++ "miow",
++ "num_cpus",
++ "opener",
++ "percent-encoding",
++ "remove_dir_all",
++ "rustc-workspace-hack",
++ "rustfix",
++ "same-file",
++ "semver",
++ "serde",
++ "serde_ignored",
++ "serde_json",
++ "shell-escape",
++ "strip-ansi-escapes",
++ "tar",
++ "tempfile",
++ "termcolor",
++ "toml",
++ "unicode-width",
++ "url",
++ "walkdir",
++ "winapi",
++]
++
++[[package]]
++name = "cargo-outdated"
++version = "0.9.1"
++dependencies = [
++ "cargo",
++ "docopt",
++ "env_logger 0.7.1",
++ "failure",
++ "semver",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "tabwriter",
++ "tempfile",
++ "termcolor",
++ "toml",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.48"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
++dependencies = [
++ "jobserver",
++ "num_cpus",
++]
++
++[[package]]
++name = "cfg-if"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++
++[[package]]
++name = "clap"
++version = "2.33.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
++dependencies = [
++ "ansi_term",
++ "atty",
++ "bitflags",
++ "strsim 0.8.0",
++ "textwrap",
++ "unicode-width",
++ "vec_map",
++]
++
++[[package]]
++name = "commoncrypto"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007"
++dependencies = [
++ "commoncrypto-sys",
++]
++
++[[package]]
++name = "commoncrypto-sys"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "core-foundation"
++version = "0.6.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
++
++[[package]]
++name = "crates-io"
++version = "0.28.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9dc57b7035c84bcaaa14d89221491b624a32977c230ce6bb77ae191e880c48e1"
++dependencies = [
++ "curl",
++ "failure",
++ "percent-encoding",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "url",
++]
++
++[[package]]
++name = "crc32fast"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "crossbeam-channel"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa"
++dependencies = [
++ "crossbeam-utils",
++]
++
++[[package]]
++name = "crossbeam-utils"
++version = "0.6.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++dependencies = [
++ "cfg-if",
++ "lazy_static",
++]
++
++[[package]]
++name = "crypto-hash"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8a77162240fd97248d19a564a565eb563a3f592b386e4136fb300909e67dddca"
++dependencies = [
++ "commoncrypto",
++ "hex 0.3.2",
++ "openssl",
++ "winapi",
++]
++
++[[package]]
++name = "curl"
++version = "0.4.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "06aa71e9208a54def20792d877bc663d6aae0732b9852e612c4a933177c31283"
++dependencies = [
++ "curl-sys",
++ "libc",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "socket2",
++ "winapi",
++]
++
++[[package]]
++name = "curl-sys"
++version = "0.4.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f659f3ffac9582d6177bb86d1d2aa649f4eb9d0d4de9d03ccc08b402832ea340"
++dependencies = [
++ "cc",
++ "libc",
++ "libnghttp2-sys",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++ "vcpkg",
++ "winapi",
++]
++
++[[package]]
++name = "docopt"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f525a586d310c87df72ebcd98009e57f1cc030c8c268305287a476beb653969"
++dependencies = [
++ "lazy_static",
++ "regex",
++ "serde",
++ "strsim 0.9.3",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
++dependencies = [
++ "atty",
++ "humantime",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
++dependencies = [
++ "atty",
++ "humantime",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "failure"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
++dependencies = [
++ "backtrace",
++ "failure_derive",
++]
++
++[[package]]
++name = "failure_derive"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "synstructure",
++]
++
++[[package]]
++name = "filetime"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "redox_syscall",
++ "winapi",
++]
++
++[[package]]
++name = "flate2"
++version = "1.0.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
++dependencies = [
++ "cfg-if",
++ "crc32fast",
++ "libc",
++ "libz-sys",
++ "miniz_oxide",
++]
++
++[[package]]
++name = "fnv"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
++
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
++[[package]]
++name = "fs2"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "fwdansi"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "08c1f5787fe85505d1f7777268db5103d80a7a374d2316a7ce262e57baf8f208"
++dependencies = [
++ "memchr",
++ "termcolor",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.1.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "wasi",
++]
++
++[[package]]
++name = "git2"
++version = "0.10.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7c1af51ea8a906616af45a4ce78eacf25860f7a13ae7bf8a814693f0f4037a26"
++dependencies = [
++ "bitflags",
++ "libc",
++ "libgit2-sys",
++ "log",
++ "openssl-probe",
++ "openssl-sys",
++ "url",
++]
++
++[[package]]
++name = "git2-curl"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cd6527e480187ce19aaf4fa6acfb7657b25628ce31cb8ffabdfca3bf731524c5"
++dependencies = [
++ "curl",
++ "git2",
++ "log",
++ "url",
++]
++
++[[package]]
++name = "glob"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
++
++[[package]]
++name = "globset"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "925aa2cac82d8834e2b2a4415b6f6879757fb5c0928fc445ae76461a12eed8f2"
++dependencies = [
++ "aho-corasick",
++ "bstr",
++ "fnv",
++ "log",
++ "regex",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "307c3c9f937f38e3534b1d6447ecf090cafcc9744e4a6360e8b037b2cf5af120"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "hex"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
++
++[[package]]
++name = "hex"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "023b39be39e3a2da62a94feb433e91e8bcd37676fbc8bea371daf52b7a769a3e"
++
++[[package]]
++name = "home"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3753954f7bd71f0e671afb8b5a992d1724cf43b7f95a563cd4a0bde94659ca8"
++dependencies = [
++ "scopeguard",
++ "winapi",
++]
++
++[[package]]
++name = "humantime"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
++dependencies = [
++ "quick-error",
++]
++
++[[package]]
++name = "idna"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
++dependencies = [
++ "matches",
++ "unicode-bidi",
++ "unicode-normalization",
++]
++
++[[package]]
++name = "ignore"
++version = "0.4.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ec16832258409d571aaef8273f3c3cc5b060d784e159d1a0f3b0017308f84a7"
++dependencies = [
++ "crossbeam-channel",
++ "globset",
++ "lazy_static",
++ "log",
++ "memchr",
++ "regex",
++ "same-file",
++ "thread_local",
++ "walkdir",
++ "winapi-util",
++]
++
++[[package]]
++name = "im-rc"
++version = "13.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a0197597d095c0d11107975d3175173f810ee572c2501ff4de64f4f3f119806"
++dependencies = [
++ "rustc_version",
++ "sized-chunks",
++ "typenum",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
++
++[[package]]
++name = "jobserver"
++version = "0.1.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f2b1d42ef453b30b7387e113da1c83ab1605d90c5b4e0eb8e96d016ed3b8c160"
++dependencies = [
++ "getrandom",
++ "libc",
++ "log",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "lazycell"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
++
++[[package]]
++name = "libc"
++version = "0.2.66"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
++
++[[package]]
++name = "libgit2-sys"
++version = "0.9.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4870c781f6063efb83150cd22c1ddf6ecf58531419e7570cdcced46970f64a16"
++dependencies = [
++ "cc",
++ "libc",
++ "libssh2-sys",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++]
++
++[[package]]
++name = "libnghttp2-sys"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02254d44f4435dd79e695f2c2b83cd06a47919adea30216ceaf0c57ca0a72463"
++dependencies = [
++ "cc",
++ "libc",
++]
++
++[[package]]
++name = "libssh2-sys"
++version = "0.2.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5fcd5a428a31cbbfe059812d74f4b6cd3b9b7426c2bdaec56993c5365da1c328"
++dependencies = [
++ "cc",
++ "libc",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "libz-sys"
++version = "1.0.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "log"
++version = "0.4.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "matches"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
++
++[[package]]
++name = "memchr"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
++
++[[package]]
++name = "miniz_oxide"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625"
++dependencies = [
++ "adler32",
++]
++
++[[package]]
++name = "miow"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "396aa0f2003d7df8395cb93e09871561ccc3e785f0acb369170e8cc74ddf9226"
++dependencies = [
++ "socket2",
++ "winapi",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
++dependencies = [
++ "hermit-abi",
++ "libc",
++]
++
++[[package]]
++name = "opener"
++version = "0.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "13117407ca9d0caf3a0e74f97b490a7e64c0ae3aa90a8b7085544d0c37b6f3ae"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "openssl"
++version = "0.10.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3a3cc5799d98e1088141b8e01ff760112bbd9f19d850c124500566ca6901a585"
++dependencies = [
++ "bitflags",
++ "cfg-if",
++ "foreign-types",
++ "lazy_static",
++ "libc",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.53"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"
++dependencies = [
++ "autocfg",
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
++
++[[package]]
++name = "pkg-config"
++version = "0.3.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
++dependencies = [
++ "unicode-xid",
++]
++
++[[package]]
++name = "quick-error"
++version = "1.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
++
++[[package]]
++name = "quote"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
++dependencies = [
++ "getrandom",
++ "libc",
++ "rand_chacha",
++ "rand_core",
++ "rand_hc",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
++dependencies = [
++ "c2-chacha",
++ "rand_core",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.1.56"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
++
++[[package]]
++name = "regex"
++version = "1.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++ "thread_local",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
++
++[[package]]
++name = "rustc-workspace-hack"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc71d2faa173b74b232dedc235e3ee1696581bb132fc116fa3626d6151a1a8fb"
++
++[[package]]
++name = "rustc_version"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
++dependencies = [
++ "semver",
++]
++
++[[package]]
++name = "rustfix"
++version = "0.4.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7150ac777a2931a53489f5a41eb0937b84e3092a20cd0e73ad436b65b507f607"
++dependencies = [
++ "failure",
++ "log",
++ "serde",
++ "serde_json",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
++
++[[package]]
++name = "same-file"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "schannel"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021"
++dependencies = [
++ "lazy_static",
++ "winapi",
++]
++
++[[package]]
++name = "scopeguard"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
++
++[[package]]
++name = "semver"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
++dependencies = [
++ "semver-parser",
++ "serde",
++]
++
++[[package]]
++name = "semver-parser"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
++
++[[package]]
++name = "serde"
++version = "1.0.103"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1217f97ab8e8904b57dd22eb61cde455fa7446a9c1cf43966066da047c1f3702"
++dependencies = [
++ "serde_derive",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.103"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a8c6faef9a2e64b0064f48570289b4bf8823b7581f1d6157c1b52152306651d0"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "serde_ignored"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7248fdcbd17d3f2604fc2a02d0ecc844d9a7bf52bf95fc196d9f0a38f6da6a0e"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.44"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
++dependencies = [
++ "itoa",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "shell-escape"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "170a13e64f2a51b77a45702ba77287f5c6829375b04a69cf2222acd17d0cfab9"
++
++[[package]]
++name = "sized-chunks"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f01db57d7ee89c8e053245deb77040a6cc8508311f381c88749c33d4b9b78785"
++dependencies = [
++ "typenum",
++]
++
++[[package]]
++name = "smallvec"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4ecf3b85f68e8abaa7555aa5abdb1153079387e60b718283d732f03897fcfc86"
++
++[[package]]
++name = "socket2"
++version = "0.3.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "redox_syscall",
++ "winapi",
++]
++
++[[package]]
++name = "strip-ansi-escapes"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9d63676e2abafa709460982ddc02a3bb586b6d15a49b75c212e06edd3933acee"
++dependencies = [
++ "vte",
++]
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++
++[[package]]
++name = "strsim"
++version = "0.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
++
++[[package]]
++name = "syn"
++version = "1.0.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-xid",
++]
++
++[[package]]
++name = "synstructure"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "unicode-xid",
++]
++
++[[package]]
++name = "tabwriter"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9128e3a9149e51494cad59712a286e149fcb74e443d2298d69bd6eaa42cc4ebb"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "tar"
++version = "0.4.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b3196bfbffbba3e57481b6ea32249fbaf590396a52505a2615adbb79d9d826d3"
++dependencies = [
++ "filetime",
++ "libc",
++ "redox_syscall",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "rand",
++ "redox_syscall",
++ "remove_dir_all",
++ "winapi",
++]
++
++[[package]]
++name = "termcolor"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
++dependencies = [
++ "wincolor",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "thread_local"
++version = "0.3.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
++dependencies = [
++ "lazy_static",
++]
++
++[[package]]
++name = "toml"
++version = "0.5.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "typenum"
++version = "1.11.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9"
++
++[[package]]
++name = "unicode-bidi"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
++dependencies = [
++ "matches",
++]
++
++[[package]]
++name = "unicode-normalization"
++version = "0.1.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b561e267b2326bb4cebfc0ef9e68355c7abe6c6f522aeac2f5bf95d56c59bdcf"
++dependencies = [
++ "smallvec",
++]
++
++[[package]]
++name = "unicode-width"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
++
++[[package]]
++name = "unicode-xid"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
++
++[[package]]
++name = "url"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61"
++dependencies = [
++ "idna",
++ "matches",
++ "percent-encoding",
++]
++
++[[package]]
++name = "utf8parse"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d"
++
++[[package]]
++name = "vcpkg"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
++
++[[package]]
++name = "vec_map"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
++
++[[package]]
++name = "vte"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4f42f536e22f7fcbb407639765c8fd78707a33109301f834a594758bedd6e8cf"
++dependencies = [
++ "utf8parse",
++]
++
++[[package]]
++name = "walkdir"
++version = "2.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e"
++dependencies = [
++ "same-file",
++ "winapi",
++ "winapi-util",
++]
++
++[[package]]
++name = "wasi"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
++
++[[package]]
++name = "winapi"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++
++[[package]]
++name = "wincolor"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
++dependencies = [
++ "winapi",
++ "winapi-util",
++]
diff --git a/pkgs/tools/package-management/cargo-outdated/default.nix b/pkgs/tools/package-management/cargo-outdated/default.nix
index 71567df9403..7d684d943b9 100644
--- a/pkgs/tools/package-management/cargo-outdated/default.nix
+++ b/pkgs/tools/package-management/cargo-outdated/default.nix
@@ -2,16 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-outdated";
-  version = "unstable-2019-04-13";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "kbknapp";
     repo = pname;
-    rev = "ce4b6baddc94b77a155abbb5a4fa4d3b31a45598";
-    sha256 = "0x00vn0ldnm2hvndfmq4g4q5w6axyg9vsri3i5zxhmir7423xabp";
+    rev = "v${version}";
+    sha256 = "02gsarwm4gjkr9m4sfbjwp37xmqhch8qpyy027bxqkg8iyipxm69";
   };
 
-  cargoSha256 = "1xqii2z0asgkwn1ny9n19w7d4sjz12a6i55x2pf4cfrciapdpvdl";
+  cargoPatches = [ ./cargo-lock.patch ];
+  cargoSha256 = "1ywmrvkwwwwh99l4j8vc4cyk8qjd0jx8hn68yr2h31ya1bzcqbd1";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl ]
@@ -26,6 +27,6 @@ rustPlatform.buildRustPackage rec {
     homepage = https://github.com/kbknapp/cargo-outdated;
     license = with licenses; [ asl20 /* or */ mit ];
     platforms = platforms.all;
-    maintainers = [ maintainers.sondr3 ];
+    maintainers = with maintainers; [ sondr3 ivan ];
   };
 }
diff --git a/pkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh b/pkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh
new file mode 100755
index 00000000000..21ee27c59b7
--- /dev/null
+++ b/pkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# This updates cargo-lock.patch for the cargo-outdated version listed in default.nix.
+
+set -eu -o verbose
+
+here=$PWD
+version=$(cat default.nix | grep '^  version = "' | cut -d '"' -f 2)
+checkout=$(mktemp -d)
+git clone -b "v$version" --depth=1 https://github.com/kbknapp/cargo-outdated "$checkout"
+cd "$checkout"
+
+cargo generate-lockfile
+git add -f Cargo.lock
+git diff HEAD -- Cargo.lock > "$here"/cargo-lock.patch
+
+cd "$here"
+rm -rf "$checkout"
diff --git a/pkgs/tools/security/aws-okta/default.nix b/pkgs/tools/security/aws-okta/default.nix
index 9067e6a4dbf..f960245e2b3 100644
--- a/pkgs/tools/security/aws-okta/default.nix
+++ b/pkgs/tools/security/aws-okta/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, fetchFromGitHub, libusb1, pkgconfig, stdenv }:
+{ buildGoPackage, fetchFromGitHub, libusb1, pkgconfig, stdenv, libiconv }:
 
 buildGoPackage rec {
   pname = "aws-okta";
@@ -18,14 +18,13 @@ buildGoPackage rec {
   buildFlags = "--tags release";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libusb1 ];
+  buildInputs = [ libusb1  libiconv ];
 
   meta = with stdenv.lib; {
     inherit version;
     description = "aws-vault like tool for Okta authentication";
     license = licenses.mit;
     maintainers = [maintainers.imalsogreg];
-    broken = stdenv.isDarwin;  # test with CoreFoundation 10.11
     platforms = platforms.all;
     homepage = https://github.com/segmentio/aws-okta;
     downloadPage = "https://github.com/segmentio/aws-okta";
diff --git a/pkgs/tools/security/jd-gui/default.nix b/pkgs/tools/security/jd-gui/default.nix
index 213f7c30051..86b88638bd7 100644
--- a/pkgs/tools/security/jd-gui/default.nix
+++ b/pkgs/tools/security/jd-gui/default.nix
@@ -1,22 +1,27 @@
-{ stdenv, fetchurl, gradle_2_5, perl, makeWrapper, jre, makeDesktopItem, writeText, runtimeShell }:
+{ stdenv, fetchFromGitHub, jre, jdk, makeDesktopItem, perl, writeText, runtimeShell }:
 
 let
-  version = "1.4.0";
-  name = "jd-gui-${version}";
-
-  src = fetchurl {
-    url    = "https://github.com/java-decompiler/jd-gui/archive/v${version}.tar.gz";
-    sha256 = "0anz7szlr5kgmsmkyv34jdynsnk8v6kvibcyz98jsd96fh725lax";
+  pname = "jd-gui";
+  version = "1.6.5";
+
+  src = fetchFromGitHub {
+    owner = "java-decompiler";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yn2xcwznig941pw2f3wi8ixz1wprxcn9wl0g2ggdzx51rfwgzzi";
   };
 
   deps = stdenv.mkDerivation {
-    name = "${name}-deps";
+    name = "${pname}-deps";
     inherit src;
-    nativeBuildInputs = [ gradle_2_5 perl ];
+
+    nativeBuildInputs = [ jdk perl ];
+
+    patchPhase = "patchShebangs gradlew";
 
     buildPhase = ''
       export GRADLE_USER_HOME=$(mktemp -d);
-      gradle --no-daemon build
+      ./gradlew --no-daemon jar
     '';
 
     # Mavenize dependency paths
@@ -25,11 +30,12 @@ let
       find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
         | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
         | sh
+      cp -r $GRADLE_USER_HOME/wrapper $out
     '';
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "1apmqiphnav79m4rdii58h7f4qslpfig4qybyyl2fr7zk92gv3l9";
+    outputHash = "1s4p91iiyikrsgvpzkhw3jm5lsm0jpzp7iw7afdhhl9jm18igs70";
   };
 
   # Point to our local deps repo
@@ -59,18 +65,24 @@ let
     comment = "Java Decompiler JD-GUI";
     desktopName = "JD-GUI";
     genericName = "Java Decompiler";
-    mimeType = "application/x-java-archive;application/x-java";
+    mimeType = "application/java;application/java-vm;application/java-archive";
     categories = "Development;Debugger;";
+    extraEntries="StartupWMClass=org-jd-gui-App";
   };
 
-in stdenv.mkDerivation {
-  inherit name version src;
+in stdenv.mkDerivation rec {
+  inherit pname version src;
+  name = "${pname}-${version}";
 
-  nativeBuildInputs = [ gradle_2_5 perl makeWrapper ];
+  nativeBuildInputs = [ jdk ];
+
+  patchPhase = "patchShebangs gradlew";
 
   buildPhase = ''
     export GRADLE_USER_HOME=$(mktemp -d)
-    gradle --offline --no-daemon --info --init-script ${gradleInit} jar
+    cp -r ${deps}/wrapper $GRADLE_USER_HOME
+    chmod u+w $GRADLE_USER_HOME/wrapper/dists/gradle*/*/*.lck
+    ./gradlew --offline --no-daemon --info --init-script ${gradleInit} jar
   '';
 
   installPhase = let
@@ -83,18 +95,16 @@ in stdenv.mkDerivation {
     cat > $out/bin/jd-gui <<EOF
     #!${runtimeShell}
     export JAVA_HOME=${jre}
-    ${jre}/bin/java -jar ${jar} $@
+    exec ${jre}/bin/java -jar ${jar} "\$@"
     EOF
     chmod +x $out/bin/jd-gui
 
     ${(desktopItem "$out/bin/jd-gui").buildCommand}
   '';
 
-  dontStrip = true;
-
   meta = with stdenv.lib; {
     description = "Fast Java Decompiler with powerful GUI";
-    homepage    = "http://jd.benow.ca/";
+    homepage    = "https://java-decompiler.github.io/";
     license     = licenses.gpl3;
     platforms   = platforms.unix;
     maintainers = [ maintainers.thoughtpolice ];
diff --git a/pkgs/tools/security/vulnix/default.nix b/pkgs/tools/security/vulnix/default.nix
index 809787508f6..59d8b8c0875 100644
--- a/pkgs/tools/security/vulnix/default.nix
+++ b/pkgs/tools/security/vulnix/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "vulnix";
-  version = "1.9.2";
+  version = "1.9.4";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "06mi4a80g6nzvqxj51c7lc0q0dpdr603ly2r77ksf5m3k4glb6dm";
+    sha256 = "06dpdsnz1ih0syas3x25s557qpw0f4kmypvxwaffm734djg8klmi";
   };
 
   outputs = [ "out" "doc" "man" ];
diff --git a/pkgs/tools/security/wpscan/Gemfile.lock b/pkgs/tools/security/wpscan/Gemfile.lock
index bf03aba1418..7a29a18b7c3 100644
--- a/pkgs/tools/security/wpscan/Gemfile.lock
+++ b/pkgs/tools/security/wpscan/Gemfile.lock
@@ -1,45 +1,53 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (5.2.3)
+    activesupport (6.0.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
-    cms_scanner (0.5.1)
-      nokogiri (~> 1.10.0)
-      opt_parse_validator (~> 1.7.2)
-      public_suffix (~> 3.0.0)
+      zeitwerk (~> 2.2)
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    cms_scanner (0.7.1)
+      get_process_mem (~> 0.2.5)
+      nokogiri (~> 1.10.4)
+      opt_parse_validator (~> 1.8.1)
+      public_suffix (>= 3.0, < 4.1)
       ruby-progressbar (~> 1.10.0)
+      sys-proctable (~> 1.2.2)
       typhoeus (~> 1.3.0)
       xmlrpc (~> 0.3)
       yajl-ruby (~> 1.4.1)
     concurrent-ruby (1.1.5)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    ffi (1.10.0)
-    i18n (1.6.0)
+    ffi (1.11.3)
+    get_process_mem (0.2.5)
+      ffi (~> 1.0)
+    i18n (1.7.0)
       concurrent-ruby (~> 1.0)
     mini_portile2 (2.4.0)
-    minitest (5.11.3)
-    nokogiri (1.10.3)
+    minitest (5.13.0)
+    nokogiri (1.10.7)
       mini_portile2 (~> 2.4.0)
-    opt_parse_validator (1.7.2)
-      activesupport (>= 4.2, < 5.3.0)
-      addressable (>= 2.5, < 2.7)
-    public_suffix (3.0.3)
-    ruby-progressbar (1.10.0)
+    opt_parse_validator (1.8.1)
+      activesupport (> 4.2, < 6.1.0)
+      addressable (>= 2.5, < 2.8)
+    public_suffix (4.0.1)
+    ruby-progressbar (1.10.1)
+    sys-proctable (1.2.2)
+      ffi
     thread_safe (0.3.6)
     typhoeus (1.3.1)
       ethon (>= 0.9.0)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    wpscan (3.5.3)
-      cms_scanner (~> 0.5.0)
+    wpscan (3.7.5)
+      cms_scanner (~> 0.7.1)
     xmlrpc (0.3.0)
     yajl-ruby (1.4.1)
+    zeitwerk (2.2.2)
 
 PLATFORMS
   ruby
@@ -48,4 +56,4 @@ DEPENDENCIES
   wpscan
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/tools/security/wpscan/default.nix b/pkgs/tools/security/wpscan/default.nix
index 85455325f69..e7a784c1a77 100644
--- a/pkgs/tools/security/wpscan/default.nix
+++ b/pkgs/tools/security/wpscan/default.nix
@@ -13,7 +13,7 @@ bundlerApp {
 
   meta = with lib; {
     description = "Black box WordPress vulnerability scanner";
-    homepage    = https://wpscan.org/;
+    homepage    = "https://wpscan.org/";
     license     = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ nyanloutre manveru ];
     platforms   = platforms.unix;
diff --git a/pkgs/tools/security/wpscan/gemset.nix b/pkgs/tools/security/wpscan/gemset.nix
index c0ad80bd99b..5c0691fda1b 100644
--- a/pkgs/tools/security/wpscan/gemset.nix
+++ b/pkgs/tools/security/wpscan/gemset.nix
@@ -1,14 +1,14 @@
 {
   activesupport = {
-    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
+      sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s";
       type = "gem";
     };
-    version = "5.2.3";
+    version = "6.0.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,21 +16,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   cms_scanner = {
-    dependencies = ["nokogiri" "opt_parse_validator" "public_suffix" "ruby-progressbar" "typhoeus" "xmlrpc" "yajl-ruby"];
+    dependencies = ["get_process_mem" "nokogiri" "opt_parse_validator" "public_suffix" "ruby-progressbar" "sys-proctable" "typhoeus" "xmlrpc" "yajl-ruby"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03hvvqq0s35a6l7lx9zpagv0gcdzhw7jvhzssiaiy6y81cx4z9pn";
+      sha256 = "14xmsigczibihlziisdgabsaz9lm2v31snlkc8kmza73pv8a61r4";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.7.1";
   };
   concurrent-ruby = {
     groups = ["default"];
@@ -58,10 +58,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.11.3";
+  };
+  get_process_mem = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1q7pivp9z9pdxc2ha32q7x9zgqy8m9jf87g6n5mvi5l6knxya8sh";
+      type = "gem";
+    };
+    version = "0.2.5";
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
@@ -69,10 +80,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
+      sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -89,10 +100,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.13.0";
   };
   nokogiri = {
     dependencies = ["mini_portile2"];
@@ -100,10 +111,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.10.3";
+    version = "1.10.7";
   };
   opt_parse_validator = {
     dependencies = ["activesupport" "addressable"];
@@ -111,30 +122,41 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14zp0260x652pf75maq9ydvqsqgv8ji9w85gjk8f0vwjykf1151n";
+      sha256 = "19rm44ww3zfb440kqpdprwb7y2d0gcm4znhv4kfs8dkhz8k1k5vy";
       type = "gem";
     };
-    version = "1.7.2";
+    version = "1.8.1";
   };
   public_suffix = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
+      sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
       type = "gem";
     };
-    version = "3.0.3";
+    version = "4.0.1";
   };
   ruby-progressbar = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
+      sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.10.1";
+  };
+  sys-proctable = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ndk34ipd4v96v5cbvj0kbkhnssi4nqrzd7sifyg3bavi1jrw3w8";
+      type = "gem";
+    };
+    version = "1.2.2";
   };
   thread_safe = {
     groups = ["default"];
@@ -174,10 +196,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j4v24iwy35q7qy3l8zr5r8mjn7nc7ahdiq13dpgjwrprvrw1jk2";
+      sha256 = "0vn6i48msxhj8g769vn2s3siv98cnqchblw69ldk1mr85lw4jci6";
       type = "gem";
     };
-    version = "3.5.3";
+    version = "3.7.5";
   };
   xmlrpc = {
     groups = ["default"];
@@ -199,4 +221,14 @@
     };
     version = "1.4.1";
   };
-}
\ No newline at end of file
+  zeitwerk = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jywi63w1m2b2w9fj9rjb9n3imf6p5bfijfmml1xzdnsrdrjz0x1";
+      type = "gem";
+    };
+    version = "2.2.2";
+  };
+}
diff --git a/pkgs/tools/system/bootchart/default.nix b/pkgs/tools/system/bootchart/default.nix
deleted file mode 100644
index d3f692b70e7..00000000000
--- a/pkgs/tools/system/bootchart/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{stdenv, fetchFromGitHub, pkgconfig, glib, gtk2, python2Packages }:
-
-stdenv.mkDerivation rec {
-  version = "0.14.8";
-  pname = "bootchart";
-
-  src = fetchFromGitHub {
-    owner = "mmeeks";
-    repo = "bootchart";
-    rev = version;
-    sha256 = "12ja2hp6f49416zfjdx0kjfmlkh9wl9b7wz7gk372kps4gjnypqx";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib gtk2 python2Packages.python python2Packages.wrapPython python2Packages.pygtk ];
-  pythonPath = with python2Packages; [ pygtk pycairo ];
-
-  installPhase = ''
-    make install DESTDIR=$out BINDIR=/bin PY_LIBDIR=/lib/${python2Packages.python.libPrefix}
-    wrapProgram $out/bin/pybootchartgui \
-      --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://www.bootchart.org/;
-    description = "Performance analysis and visualization of the GNU/Linux boot process";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/tools/text/snippetpixie/default.nix b/pkgs/tools/text/snippetpixie/default.nix
new file mode 100644
index 00000000000..276fb639205
--- /dev/null
+++ b/pkgs/tools/text/snippetpixie/default.nix
@@ -0,0 +1,83 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, vala
+, pkgconfig
+, wrapGAppsHook
+, appstream
+, desktop-file-utils
+, python3
+, libgee
+, glib
+, gtk3
+, sqlite
+, at-spi2-atk
+, at-spi2-core
+, dbus
+, ibus
+, json-glib
+, pantheon
+}:
+
+stdenv.mkDerivation rec {
+  pname = "snippetpixie";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "bytepixie";
+    repo = pname;
+    rev = version;
+    sha256 = "096xj7n1ypr8ss8mbwd1hyypvmzw5lc0hjlj2d1x8hbjljldfd13";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    vala
+    pkgconfig
+    wrapGAppsHook
+    appstream
+    desktop-file-utils
+    python3
+  ];
+
+  buildInputs = [
+    libgee
+    glib
+    gtk3
+    sqlite
+    at-spi2-atk
+    at-spi2-core
+    dbus
+    ibus
+    json-glib
+    pantheon.granite
+    pantheon.elementary-gtk-theme
+    pantheon.elementary-icon-theme
+  ];
+
+  doCheck = true;
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Your little expandable text snippet helper";
+    longDescription = ''
+      Your little expandable text snippet helper.
+
+      Save your often used text snippets and then expand them whenever you type their abbreviation.
+
+      For example:- "spr`" expands to "Snippet Pixie rules!"
+    '';
+    homepage = https://www.snippetpixie.com;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [
+      ianmjones
+    ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index 8fb155da755..2b26d9462bf 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -261,9 +261,24 @@ dvisvgm = stdenv.mkDerivation {
 
   inherit (common) src;
 
+  patches = [
+    # Fix for ghostscript>=9.27
+    # Backport of
+    # https://github.com/mgieseki/dvisvgm/commit/bc51951bc90b700c28ea018993bdb058e5271e9b
+    ./dvisvgm-fix.patch
+
+    # Needed for ghostscript>=9.50
+    (fetchpatch {
+      url = "https://github.com/mgieseki/dvisvgm/commit/7b93a9197b69305429183affd24fa40ee04a663a.patch";
+      sha256 = "1gmj76ja9xng39wxckhs9q140abixgb8rkrcfv2cdgq786wm3vag";
+      stripLen = 1;
+      extraPrefix = "texk/dvisvgm/dvisvgm-src/";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
   # TODO: dvisvgm still uses vendored dependencies
-  buildInputs = [ core/*kpathsea*/ ghostscript zlib freetype potrace xxHash ];
+  buildInputs = [ core/*kpathsea*/ ghostscript zlib freetype /*potrace xxHash*/ ];
 
   preConfigure = "cd texk/dvisvgm";
 
@@ -287,6 +302,15 @@ dvipng = stdenv.mkDerivation {
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs = [ core/*kpathsea*/ zlib libpng freetype gd ghostscript makeWrapper ];
 
+  patches = [
+    (fetchpatch {
+      url = "http://git.savannah.nongnu.org/cgit/dvipng.git/patch/?id=f3ff241827a587e3d39eda477041fd3280f5b245";
+      sha256 = "1a0ixl9mga24p6xk8dy3v60yifvbzd27vs0hv8996rfkp8jqa7is";
+      stripLen = 1;
+      extraPrefix = "texk/dvipng/dvipng-src/";
+    })
+  ];
+
   preConfigure = ''
     cd texk/dvipng
     patchShebangs doc/texi2pod.pl
diff --git a/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch b/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch
new file mode 100644
index 00000000000..0e927e24fd0
--- /dev/null
+++ b/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch
@@ -0,0 +1,16 @@
+diff a/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp b/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
+--- a/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
++++ b/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
+@@ -107,8 +107,7 @@ const char *PSInterpreter::PSDEFS =
+ "dmode sysexec<</Normal 0/Compatible 0/Multiply 1/Screen 2/Overlay 3/SoftLight "
+ "4/HardLight 5/ColorDodge 6/ColorBurn 7/Darken 8/Lighten 9/Difference 10/Exclus"
+ "ion 11/Hue 12/Saturation 13/Color 14/Luminosity 15/CompatibleOverprint 16>>exc"
+-"h get 1(setblendmode)prcmd}def/@pdfpagecount{GS_PDF_ProcSet begin pdfdict begi"
+-"n(r)file pdfopen begin pdfpagecount currentdict pdfclose end end end}def/@pdfp"
+-"agebox{GS_PDF_ProcSet begin pdfdict begin(r)file pdfopen begin dup dup 1 lt ex"
+-"ch pdfpagecount gt or{pop}{pdfgetpage/MediaBox pget pop aload pop}ifelse curre"
+-"ntdict pdfclose end end end}def DELAYBIND{.bindnow}if ";
++"h get 1(setblendmode)prcmd}def/@pdfpagecount{(r)file runpdfbegin pdfpagecount "
++"runpdfend}def/@pdfpagebox{(r)file runpdfbegin dup dup 1 lt exch pdfpagecount g"
++"t or{pop}{pdfgetpage/MediaBox pget pop aload pop}ifelse runpdfend}def DELAYBIN"
++"D{.bindnow}if ";
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 609117d91a2..dea65ff0a97 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -48,10 +48,12 @@ mapAliases ({
   at_spi2_core = at-spi2-core; # added 2018-02-25
   bar-xft = lemonbar-xft;  # added 2015-01-16
   bashCompletion = bash-completion; # Added 2016-09-28
+  batti = throw "batti has been removed from nixpkgs, as it was unmaintained"; # added 2019-12-10
   beegfs = throw "beegfs has been removed."; # added 2019-11-24
   bluezFull = bluez; # Added 2019-12-03
   bridge_utils = bridge-utils;  # added 2015-02-20
   bro = zeek; # added 2019-09-29
+  bootchart = throw "bootchart has been removed from nixpkgs, as it is without a maintainer"; # added 2019-12-10
   btrfsProgs = btrfs-progs; # added 2016-01-03
   bittorrentSync = throw "bittorrentSync has been deprecated by resilio-sync."; # added 2019-06-03
   bittorrentSync14 = throw "bittorrentSync14 has been deprecated by resilio-sync."; # added 2019-06-03
@@ -61,6 +63,7 @@ mapAliases ({
   cantarell_fonts = cantarell-fonts; # added 2018-03-03
   checkbashism = checkbashisms; # added 2016-08-16
   cide = throw "deprecated in 2019-09-11: abandoned by upstream";
+  cinepaint = throw "cinepaint has been removed from nixpkgs, as it was unmaintained"; # added 2019-12-10
   cifs_utils = cifs-utils; # added 2016-08
   ckb = ckb-next; # added 2018-10-21
   clangAnalyzer = clang-analyzer;  # added 2015-02-20
@@ -82,6 +85,7 @@ mapAliases ({
   dbus_daemon = dbus.daemon; # added 2018-04-25
   dbus_glib = dbus-glib; # added 2018-02-25
   dbus_libs = dbus; # added 2018-04-25
+  diffuse = throw "diffuse has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
   dbus_tools = dbus.out; # added 2018-04-25
   deadbeef-mpris2-plugin = deadbeefPlugins.mpris2; # added 2018-02-23
   deadpixi-sam = deadpixi-sam-unstable;
@@ -130,6 +134,7 @@ mapAliases ({
   git-hub = gitAndTools.git-hub; # added 2016-04-29
   glib_networking = glib-networking; # added 2018-02-25
   gnome-mpv = celluloid; # added 2019-08-22
+  gnome15 = throw "gnome15 has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # added 2019-12-10
   gmic_krita_qt = gmic-qt-krita; # added 2019-09-07
   gnome-themes-standard = gnome-themes-extra; # added 2018-03-14
   gnome_doc_utils = gnome-doc-utils; # added 2018-02-25
@@ -164,8 +169,10 @@ mapAliases ({
   gupnp_igd = gupnp-igd; # added 2018-02-25
   gupnptools = gupnp-tools;  # added 2015-12-19
   gutenberg = zola;  # added 2018-11-17
+  hamster-time-traker = throw "hamster-time-tracker has been removed from nixpkgs, as it was unmaintained."; # added 2019-12-10
   heimdalFull = heimdal; # added 2018-05-01
   hepmc = hepmc2; # added 2019-08-05
+  hexen = throw "hexen (SDL port) has been removed: Abandoned by upstream."; # added 2019-12-11
   hicolor_icon_theme = hicolor-icon-theme; # added 2018-02-25
   htmlTidy = html-tidy;  # added 2014-12-06
   iana_etc = iana-etc;  # added 2017-03-08
@@ -185,6 +192,7 @@ mapAliases ({
   keepassx2-http = keepassx-reboot; # added 2016-10-17
   keybase-go = keybase;  # added 2016-08-24
   krename-qt5 = krename; # added 2017-02-18
+  keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived."; # 2019-12-10
   kvm = qemu_kvm; # added 2018-04-25
   letsencrypt = certbot; # added 2016-05-16
   libaudit = audit; # added 2018-04-25
@@ -192,6 +200,9 @@ mapAliases ({
   libcanberra_gtk3 = libcanberra-gtk3; # added 2018-02-25
   libcap_manpages = libcap.doc; # added 2016-04-29
   libcap_pam = if stdenv.isLinux then libcap.pam else null; # added 2016-04-29
+  libindicate = throw "libindacate has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
+  libindicate-gtk3 = throw "libindacate-gtk2 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
+  libindicate-gtk2 = throw "libindacate-gtk3 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
   libcap_progs = libcap.out; # added 2016-04-29
   libdbusmenu_qt5 = libsForQt5.libdbusmenu;  # added 2015-12-19
   libdbusmenu-glib = libdbusmenu; # added 2018-05-01
@@ -211,6 +222,7 @@ mapAliases ({
   libsysfs = sysfsutils; # added 2018-04-25
   libtidy = html-tidy;  # added 2014-12-21
   libudev = udev; # added 2018-04-25
+  libsexy = throw "libsexy has been removed from nixpkgs, as it's abandoned and no package needed it."; # 2019-12-10
   links = links2; # added 2016-01-31
   linux_rpi0 = linux_rpi1;
   linuxPackages_rpi0 = linuxPackages_rpi1;
@@ -223,8 +235,10 @@ mapAliases ({
   man_db = man-db; # added 2016-05
   manpages = man-pages; # added 2015-12-06
   mariadb-client = hiPrio mariadb.client; #added 2019.07.28
-  mbedtls_1_3 = throw "End of life, see https://tls.mbed.org/kb/how-to/upgrade-2.0"; # added 2019-12-08
+  mbedtls_1_3 = throw "mbedtls_1_3 is end of life, see https://tls.mbed.org/kb/how-to/upgrade-2.0"; # added 2019-12-08
   mess = mame; # added 2019-10-30
+  mcomix = throw "mcomix has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
+  mirage = throw "mirage has been femoved from nixpkgs, as it's unmaintained"; # added 2019-12-10
   mysql-client = hiPrio mariadb.client;
   memtest86 = memtest86plus; # added 2019-05-08
   mesa_noglu = mesa; # added 2019-05-28
@@ -264,6 +278,7 @@ mapAliases ({
   nxproxy = nx-libs; # added 2019-02-15
   nylas-mail-bin = throw "deprecated in 2019-09-11: abandoned by upstream";
   opencascade_oce = opencascade; # added 2018-04-25
+  oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream."; # added 2019-12-10
   opencl-icd = ocl-icd; # added 2017-01-20
   openexr_ctl = ctl; # added 2018-04-25
   openjpeg_2_1 = openjpeg_2; # added 2018-10-25
@@ -319,6 +334,7 @@ mapAliases ({
   processing3 = processing; # added 2019-08-16
   procps-ng = procps; # added 2018-06-08
   pyo3-pack = maturin;
+  pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package."; # added 2019-12-10
   pulseaudioLight = pulseaudio; # added 2018-04-25
   phonon-backend-gstreamer = throw "Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed."; # added 2019-11-22
   phonon-backend-vlc = throw "Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed."; # added 2019-11-22
@@ -333,6 +349,9 @@ mapAliases ({
   rng_tools = rng-tools; # added 2018-10-24
   robomongo = robo3t; #added 2017-09-28
   rssglx = rss-glx; #added 2015-03-25
+  recordmydesktop = throw "recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
+  gtk-recordmydesktop = throw "gtk-recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
+  qt-recordmydesktop = throw "qt-recordmydesktop has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
   ruby_2_0_0 = throw "deprecated 2018-0213: use a newer version of ruby";
   ruby_2_1_0 = throw "deprecated 2018-0213: use a newer version of ruby";
   ruby_2_2_9 = throw "deprecated 2018-0213: use a newer version of ruby";
@@ -436,6 +455,7 @@ mapAliases ({
   weechat-matrix-bridge = weechatScripts.weechat-matrix-bridge; # added 2018-09-06
   wineStaging = wine-staging; # added 2018-01-08
   winusb = woeusb; # added 2017-12-22
+  winswitch = throw "winswitch has been removed from nixpkgs."; # added 2019-12-10
   wireguard = wireguard-tools; # added 2018-05-19
   morituri = whipper; # added 2018-09-13
   xfceUnstable = xfce4-14; # added 2019-09-17
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index afb9feec329..f8e6922ae01 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -221,6 +221,8 @@ in
 
   dispad = callPackage ../tools/X11/dispad { };
 
+  dupeguru = callPackage ../applications/misc/dupeguru { };
+
   dump1090 = callPackage ../applications/radio/dump1090 { };
 
   ebook2cw = callPackage ../applications/radio/ebook2cw { };
@@ -1226,8 +1228,6 @@ in
 
   boot = callPackage ../development/tools/build-managers/boot { };
 
-  bootchart = callPackage ../tools/system/bootchart { };
-
   bowtie2 = callPackage ../applications/science/biology/bowtie2 { };
 
   boxfs = callPackage ../tools/filesystems/boxfs { };
@@ -2017,6 +2017,8 @@ in
 
   snipes = callPackage ../games/snipes { };
 
+  snippetpixie = callPackage ../tools/text/snippetpixie { };
+
   socklog = callPackage ../tools/system/socklog { };
 
   staccato = callPackage ../tools/text/staccato { };
@@ -2342,6 +2344,7 @@ in
   citrix_receiver_13_8_0  = citrix_receiver;
 
   citrix_workspace_unwrapped = callPackage ../applications/networking/remote/citrix-workspace { };
+  citrix_workspace_unwrapped_19_12_0 = citrix_workspace_unwrapped.override { version = "19.12.0"; };
   citrix_workspace_unwrapped_19_10_0 = citrix_workspace_unwrapped.override { version = "19.10.0"; };
   citrix_workspace_unwrapped_19_8_0 = citrix_workspace_unwrapped.override { version = "19.8.0"; };
   citrix_workspace_unwrapped_19_6_0 = citrix_workspace_unwrapped.override { version = "19.6.0"; };
@@ -2350,6 +2353,9 @@ in
   citrix_workspace = callPackage ../applications/networking/remote/citrix-workspace/wrapper.nix {
     citrix_workspace = citrix_workspace_unwrapped;
   };
+  citrix_workspace_19_12_0 = callPackage ../applications/networking/remote/citrix-workspace/wrapper.nix {
+    citrix_workspace = citrix_workspace_unwrapped_19_12_0;
+  };
   citrix_workspace_19_10_0 = callPackage ../applications/networking/remote/citrix-workspace/wrapper.nix {
     citrix_workspace = citrix_workspace_unwrapped_19_10_0;
   };
@@ -3550,10 +3556,6 @@ in
 
   gnirehtet = callPackage ../tools/networking/gnirehtet { };
 
-  gnome15 = callPackage ../applications/misc/gnome15 {
-    inherit (gnome2) gnome_python gnome_python_desktop;
-  };
-
   gnome-builder = callPackage ../applications/editors/gnome-builder { };
 
   gnome-keysign = callPackage ../tools/security/gnome-keysign { };
@@ -5850,8 +5852,6 @@ in
 
   pythonIRClib = pythonPackages.pythonIRClib;
 
-  pythonSexy = pythonPackages.libsexy;
-
   pyditz = callPackage ../applications/misc/pyditz {
     pythonPackages = python27Packages;
   };
@@ -5985,18 +5985,8 @@ in
 
   reaverwps-t6x = callPackage ../tools/networking/reaver-wps-t6x {};
 
-  recordmydesktop = callPackage ../applications/video/recordmydesktop { };
-
   rx = callPackage ../applications/graphics/rx { };
 
-  gtk-recordmydesktop = callPackage ../applications/video/recordmydesktop/gtk.nix {
-    jack2 = jack2Full;
-  };
-
-  qt-recordmydesktop = callPackage ../applications/video/recordmydesktop/qt.nix {
-    jack2 = jack2Full;
-  };
-
   qt-box-editor = libsForQt5.callPackage ../applications/misc/qt-box-editor { };
 
   recutils = callPackage ../tools/misc/recutils { };
@@ -7697,6 +7687,8 @@ in
 
   chez-scmutils = callPackage ../development/chez-modules/chez-scmutils { };
 
+  chez-matchable = callPackage ../development/chez-modules/chez-matchable { };
+
   clang = llvmPackages.clang;
   clang-manpages = llvmPackages.clang-manpages;
 
@@ -10196,6 +10188,8 @@ in
   maven = maven3;
   maven3 = callPackage ../development/tools/build-managers/apache-maven { };
 
+  mavproxy = python3Packages.callPackage ../applications/science/robotics/mavproxy { };
+
   go-md2man = callPackage ../development/tools/misc/md2man {};
 
   mage = callPackage ../development/tools/build-managers/mage { };
@@ -12460,10 +12454,6 @@ in
 
   libimobiledevice = callPackage ../development/libraries/libimobiledevice { };
 
-  libindicate-gtk2 = libindicate.override { gtkVersion = "2"; };
-  libindicate-gtk3 = libindicate.override { gtkVersion = "3"; };
-  libindicate = callPackage ../development/libraries/libindicate { };
-
   libindicator-gtk2 = libindicator.override { gtkVersion = "2"; };
   libindicator-gtk3 = libindicator.override { gtkVersion = "3"; };
   libindicator = callPackage ../development/libraries/libindicator { };
@@ -14678,11 +14668,11 @@ in
     plugins = [];
   };
 
-  gsignondPlugins = {
+  gsignondPlugins = recurseIntoAttrs {
     sasl = callPackage ../development/libraries/gsignond/plugins/sasl.nix { };
     oauth = callPackage ../development/libraries/gsignond/plugins/oauth.nix { };
     lastfm = callPackage ../development/libraries/gsignond/plugins/lastfm.nix { };
-    mail = callPackages ../development/libraries/gsignond/plugins/mail.nix { };
+    mail = callPackage ../development/libraries/gsignond/plugins/mail.nix { };
   };
 
   ### DEVELOPMENT / LIBRARIES / AGDA
@@ -16581,8 +16571,6 @@ in
 
   libsass = callPackage ../development/libraries/libsass { };
 
-  libsexy = callPackage ../development/libraries/libsexy { };
-
   libsepol = callPackage ../os-specific/linux/libsepol { };
 
   libsmbios = callPackage ../os-specific/linux/libsmbios { };
@@ -17609,6 +17597,8 @@ in
 
   shades-of-gray-theme = callPackage ../data/themes/shades-of-gray { };
 
+  sweet = callPackage ../data/themes/sweet { };
+
   mime-types = callPackage ../data/misc/mime-types { };
 
   shared-mime-info = callPackage ../data/misc/shared-mime-info { };
@@ -18025,8 +18015,6 @@ in
 
   batik = callPackage ../applications/graphics/batik { };
 
-  batti = callPackage ../applications/misc/batti { };
-
   baudline = callPackage ../applications/audio/baudline { };
 
 
@@ -18206,9 +18194,7 @@ in
 
   cgminer = callPackage ../applications/misc/cgminer { };
 
-  chirp = callPackage ../applications/radio/chirp {
-    inherit (pythonPackages) pyserial pygtk;
-  };
+  chirp = callPackage ../applications/radio/chirp { };
 
   browsh = callPackage ../applications/networking/browsers/browsh { };
 
@@ -18294,12 +18280,6 @@ in
     python = python27;
   };
 
-  cinepaint = callPackage ../applications/graphics/cinepaint {
-    fltk = fltk13;
-    libpng = libpng12;
-    cmake = cmake_2_8;
-  };
-
   codeblocks = callPackage ../applications/editors/codeblocks { };
   codeblocksFull = codeblocks.override { contribPlugins = true; };
 
@@ -18394,8 +18374,6 @@ in
     inherit (pkgs.gnome2) libart_lgpl libgnomeui;
   };
 
-  diffuse = callPackage ../applications/version-management/diffuse { };
-
   direwolf = callPackage ../applications/misc/direwolf { };
 
   dirt = callPackage ../applications/audio/dirt {};
@@ -19256,10 +19234,6 @@ in
 
   hakuneko = callPackage ../tools/misc/hakuneko { };
 
-  hamster-time-tracker = callPackage ../applications/misc/hamster-time-tracker {
-    inherit (gnome2) gnome_python;
-  };
-
   hashit = callPackage ../tools/misc/hashit { };
 
   hello = callPackage ../applications/misc/hello { };
@@ -19660,8 +19634,6 @@ in
 
   keyfinder-cli = libsForQt5.callPackage ../applications/audio/keyfinder-cli { };
 
-  keymon = callPackage ../applications/video/key-mon { };
-
   kgraphviewer = libsForQt5.callPackage ../applications/graphics/kgraphviewer { };
 
   khal = callPackage ../applications/misc/khal { };
@@ -19978,8 +19950,6 @@ in
 
   meme = callPackage ../applications/graphics/meme { };
 
-  mcomix = callPackage ../applications/graphics/mcomix { };
-
   mendeley = libsForQt5.callPackage ../applications/office/mendeley {
     gconf = pkgs.gnome2.GConf;
   };
@@ -20029,8 +19999,6 @@ in
 
   meh = callPackage ../applications/graphics/meh {};
 
-  mirage = callPackage ../applications/graphics/mirage { };
-
   mixxx = libsForQt5.callPackage ../applications/audio/mixxx {
     inherit (vamp) vampSDK;
   };
@@ -20204,7 +20172,7 @@ in
       avahi = avahi-compat;
       jackSupport = config.mumble.jackSupport or false;
       speechdSupport = config.mumble.speechdSupport or false;
-      pulseSupport = config.pulseaudio or false;
+      pulseSupport = config.pulseaudio or stdenv.isLinux;
     }).mumble;
 
   mumble_overlay = callPackage ../applications/networking/mumble/overlay.nix {
@@ -20461,8 +20429,6 @@ in
     inherit (gnome2) libglade;
   };
 
-  oblogout = callPackage ../tools/X11/oblogout { };
-
   obs-linuxbrowser = callPackage ../applications/video/obs-studio/linuxbrowser.nix { };
 
   obs-studio = libsForQt5.callPackage ../applications/video/obs-studio { };
@@ -20709,8 +20675,6 @@ in
 
   plugin-torture = callPackage ../applications/audio/plugin-torture { };
 
-  pmenu = callPackage ../applications/misc/pmenu { };
-
   polar-bookshelf = callPackage ../applications/misc/polar-bookshelf { };
 
   poezio = python3Packages.poezio;
@@ -20777,6 +20741,9 @@ in
   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
 
   qbittorrent = libsForQt5.callPackage ../applications/networking/p2p/qbittorrent { };
+  qbittorrent-nox = qbittorrent.override {
+    guiSupport = false;
+  };
 
   qcomicbook = libsForQt5.callPackage ../applications/graphics/qcomicbook { };
 
@@ -21413,6 +21380,8 @@ in
 
   tambura = callPackage ../applications/audio/tambura { };
 
+  teams = callPackage ../applications/networking/instant-messengers/teams { };
+
   teamspeak_client = libsForQt512.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
   teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { };
 
@@ -21494,7 +21463,7 @@ in
     inherit (gnome2) libIDL;
     inherit (rustPackages_1_38_0) cargo rustc;
     libpng = libpng_apng;
-    enableGTK3 = true;
+    gtk3Support = true;
   };
 
   thunderbolt = callPackage ../os-specific/linux/thunderbolt {};
@@ -21908,8 +21877,6 @@ in
 
   wily = callPackage ../applications/editors/wily { };
 
-  winswitch = callPackage ../tools/X11/winswitch { };
-
   wings = callPackage ../applications/graphics/wings {
     erlang = erlangR21;
   };
@@ -22832,8 +22799,6 @@ in
     inherit (haskellPackages) ghcWithPackages;
   };
 
-  hexen = callPackage ../games/hexen { };
-
   holdingnuts = callPackage ../games/holdingnuts { };
 
   hyperrogue = callPackage ../games/hyperrogue { };
@@ -23929,6 +23894,7 @@ in
     coqPackages_8_8  coq_8_8
     coqPackages_8_9  coq_8_9
     coqPackages_8_10 coq_8_10
+    coqPackages_8_11 coq_8_11
     coqPackages      coq
   ;
 
@@ -24272,8 +24238,8 @@ in
   ns-3 = callPackage ../development/libraries/science/networking/ns-3 { python = python3; };
 
   root = callPackage ../applications/science/misc/root {
+    python = python3;
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;
-    stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
   };
 
   root5 = lowPrio (callPackage ../applications/science/misc/root/5.nix {
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 2cc1750c464..3fa3d30aa94 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -130,6 +130,9 @@ in rec {
   coq_8_10 = callPackage ../applications/science/logic/coq {
     version = "8.10.2";
   };
+  coq_8_11 = callPackage ../applications/science/logic/coq {
+    version = "8.11+beta1";
+  };
 
   coqPackages_8_5 = mkCoqPackages coq_8_5;
   coqPackages_8_6 = mkCoqPackages coq_8_6;
@@ -137,6 +140,7 @@ in rec {
   coqPackages_8_8 = mkCoqPackages coq_8_8;
   coqPackages_8_9 = mkCoqPackages coq_8_9;
   coqPackages_8_10 = mkCoqPackages coq_8_10;
+  coqPackages_8_11 = mkCoqPackages coq_8_11;
   coqPackages = recurseIntoAttrs (lib.mapDerivationAttrset lib.dontDistribute
     coqPackages_8_9
   );
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index e583ccb9a82..f3be97c30a7 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -585,6 +585,8 @@ let
 
     ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { };
 
+    ocaml-version = callPackage ../development/ocaml-modules/ocaml-version { };
+
     ocf = callPackage ../development/ocaml-modules/ocf { };
 
     ocp-build = callPackage ../development/tools/ocaml/ocp-build { };
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 9bd304b7d96..7beaa43adad 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -429,12 +429,12 @@ let
   };
 
   phpstan = mkDerivation rec {
-    version = "0.12.0";
+    version = "0.12.3";
     pname = "phpstan";
 
     src = pkgs.fetchurl {
       url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-      sha256 = "0029727360x0qf6acw4y9yczj59y477i0hx278pb64dvy63fzkmk";
+      sha256 = "08ya50qf75nq8ypyhb0vsqnj166kc27rc8iasxr3y7kssbfd95ai";
     };
 
     phases = [ "installPhase" ];
@@ -457,7 +457,7 @@ let
         actual line.
       '';
       license = licenses.mit;
-      homepage = https://github.com/phpstan/phpstan;
+      homepage = "https://github.com/phpstan/phpstan";
       maintainers = with maintainers; [ etu ];
     };
   };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 71cdc25aa71..8a28f48e015 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -182,6 +182,8 @@ in {
   aresponses = callPackage ../development/python-modules/aresponses { };
 
   argon2_cffi = callPackage ../development/python-modules/argon2_cffi { };
+  
+  arviz = callPackage ../development/python-modules/arviz { };
 
   asana = callPackage ../development/python-modules/asana { };
 
@@ -793,6 +795,8 @@ in {
 
   manhole = callPackage ../development/python-modules/manhole { };
 
+  mapbox = callPackage ../development/python-modules/mapbox { };
+
   markerlib = callPackage ../development/python-modules/markerlib { };
 
   matchpy = callPackage ../development/python-modules/matchpy { };
@@ -1066,6 +1070,8 @@ in {
 
   pymatgen-lammps = callPackage ../development/python-modules/pymatgen-lammps { };
 
+  pymavlink = callPackage ../development/python-modules/pymavlink { };
+
   pymsgbox = callPackage ../development/python-modules/pymsgbox { };
 
   pynisher = callPackage ../development/python-modules/pynisher { };
@@ -2666,10 +2672,6 @@ in {
 
   latexcodec = callPackage ../development/python-modules/latexcodec {};
 
-  libsexy = callPackage ../development/python-modules/libsexy {
-    inherit (pkgs) libsexy pkgconfig;
-  };
-
   libselinux = pipe pkgs.libselinux [
     toPythonModule
 
@@ -5044,10 +5046,6 @@ in {
 
   Pyro4 = callPackage ../development/python-modules/pyro4 { };
 
-  root_numpy = callPackage ../development/python-modules/root_numpy { };
-
-  rootpy = callPackage ../development/python-modules/rootpy { };
-
   rope = callPackage ../development/python-modules/rope { };
 
   ropper = callPackage ../development/python-modules/ropper { };
@@ -6138,6 +6136,8 @@ in {
     inherit (pkgs) udev libusb1;
   };
 
+  ckcc-protocol = callPackage ../development/python-modules/ckcc-protocol { };
+
   mnemonic = callPackage ../development/python-modules/mnemonic { };
 
   keepkey = callPackage ../development/python-modules/keepkey { };