summary refs log tree commit diff
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2019-08-24 08:19:05 +0200
committerVladimír Čunát <v@cunat.cz>2019-08-24 08:55:37 +0200
commit2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1 (patch)
tree36de0660dc2c9f3731bd8b60ec852ca0c452efce
parent84a91208a948be5eca97ea182c4256d9d6ecf171 (diff)
parent8943fb5f24b9e1aa1d577be4e214d166643269fd (diff)
downloadnixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar.gz
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar.bz2
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar.lz
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar.xz
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar.zst
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.zip
Merge branch 'master' into staging-next
There ver very many conflicts, basically all due to
name -> pname+version.  Fortunately, almost everything was auto-resolved
by kdiff3, and for now I just fixed up a couple evaluation problems,
as verified by the tarball job.  There might be some fallback to these
conflicts, but I believe it should be minimal.

Hydra nixpkgs: ?compare=1538299
-rw-r--r--doc/languages-frameworks/android.section.md9
-rw-r--r--doc/languages-frameworks/perl.xml33
-rw-r--r--lib/default.nix2
-rw-r--r--lib/lists.nix13
-rw-r--r--maintainers/maintainer-list.nix38
-rw-r--r--maintainers/scripts/luarocks-packages.csv2
-rw-r--r--nixos/doc/manual/release-notes/rl-1909.xml82
-rw-r--r--nixos/lib/build-vms.nix6
-rw-r--r--nixos/maintainers/option-usages.nix2
-rw-r--r--nixos/modules/config/fonts/fontconfig-penultimate.nix168
-rw-r--r--nixos/modules/config/fonts/fontconfig.nix460
-rw-r--r--nixos/modules/config/qt5.nix102
-rw-r--r--nixos/modules/config/sysctl.nix10
-rw-r--r--nixos/modules/config/vte.nix52
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image.nix4
-rw-r--r--nixos/modules/module-list.nix11
-rw-r--r--nixos/modules/profiles/hardened.nix18
-rw-r--r--nixos/modules/programs/dconf.nix10
-rw-r--r--nixos/modules/programs/gnome-terminal.nix36
-rw-r--r--nixos/modules/programs/zsh/zsh.nix13
-rw-r--r--nixos/modules/rename.nix3
-rw-r--r--nixos/modules/services/audio/roon-server.nix28
-rw-r--r--nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix4
-rw-r--r--nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix41
-rw-r--r--nixos/modules/services/desktops/gnome3/gvfs.nix43
-rw-r--r--nixos/modules/services/desktops/gnome3/tracker-miners.nix6
-rw-r--r--nixos/modules/services/desktops/gnome3/tracker.nix6
-rw-r--r--nixos/modules/services/desktops/gvfs.nix59
-rw-r--r--nixos/modules/services/hardware/trezord.nix24
-rw-r--r--nixos/modules/services/hardware/trezord.xml26
-rw-r--r--nixos/modules/services/logging/awstats.nix54
-rw-r--r--nixos/modules/services/misc/gitlab.nix2
-rw-r--r--nixos/modules/services/misc/mantisbt.nix68
-rw-r--r--nixos/modules/services/misc/matrix-synapse.nix2
-rw-r--r--nixos/modules/services/misc/metabase.nix103
-rw-r--r--nixos/modules/services/monitoring/cadvisor.nix11
-rw-r--r--nixos/modules/services/monitoring/riemann-tools.nix12
-rw-r--r--nixos/modules/services/monitoring/systemhealth.nix133
-rw-r--r--nixos/modules/services/monitoring/ups.nix2
-rw-r--r--nixos/modules/services/network-filesystems/u9fs.nix1
-rw-r--r--nixos/modules/services/networking/cjdns.nix21
-rw-r--r--nixos/modules/services/networking/consul.nix2
-rw-r--r--nixos/modules/services/networking/hylafax/systemd.nix2
-rw-r--r--nixos/modules/services/networking/jormungandr.nix97
-rw-r--r--nixos/modules/services/networking/shadowsocks.nix6
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix2
-rw-r--r--nixos/modules/services/networking/stubby.nix2
-rw-r--r--nixos/modules/services/search/elasticsearch.nix1
-rw-r--r--nixos/modules/services/security/sshguard.nix14
-rw-r--r--nixos/modules/services/security/usbguard.nix14
-rw-r--r--nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix4
-rw-r--r--nixos/modules/services/web-servers/caddy.nix2
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix33
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix7
-rw-r--r--nixos/modules/services/x11/desktop-managers/lxqt.nix3
-rw-r--r--nixos/modules/services/x11/desktop-managers/mate.nix8
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix22
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix7
-rw-r--r--nixos/modules/services/x11/xautolock.nix2
-rw-r--r--nixos/modules/services/x11/xserver.nix2
-rw-r--r--nixos/modules/system/boot/coredump.nix66
-rw-r--r--nixos/modules/system/boot/kernel.nix1
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix2
-rw-r--r--nixos/modules/system/boot/networkd.nix88
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh4
-rw-r--r--nixos/modules/system/boot/systemd.nix25
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix8
-rw-r--r--nixos/modules/tasks/network-interfaces.nix12
-rw-r--r--nixos/modules/virtualisation/containers.nix38
-rw-r--r--nixos/modules/virtualisation/google-compute-config.nix10
-rw-r--r--nixos/tests/all-tests.nix14
-rw-r--r--nixos/tests/containers-ephemeral.nix56
-rw-r--r--nixos/tests/glusterfs.nix65
-rw-r--r--nixos/tests/gnome-photos.nix42
-rw-r--r--nixos/tests/icingaweb2.nix71
-rw-r--r--nixos/tests/jormungandr.nix49
-rw-r--r--nixos/tests/libxmlb.nix17
-rw-r--r--nixos/tests/metabase.nix20
-rw-r--r--nixos/tests/networking.nix2
-rw-r--r--nixos/tests/nginx.nix60
-rw-r--r--nixos/tests/php-pcre.nix41
-rw-r--r--nixos/tests/prosody.nix38
-rw-r--r--nixos/tests/subversion.nix121
-rw-r--r--nixos/tests/systemd-networkd-wireguard.nix80
-rw-r--r--nixos/tests/systemd.nix15
-rw-r--r--nixos/tests/trezord.nix20
-rw-r--r--nixos/tests/xmpp/ejabberd.nix (renamed from nixos/tests/ejabberd.nix)6
-rw-r--r--nixos/tests/xmpp/prosody-mysql.nix77
-rw-r--r--nixos/tests/xmpp/prosody.nix46
-rw-r--r--nixos/tests/xmpp/xmpp-sendmessage.nix (renamed from nixos/tests/xmpp-sendmessage.nix)0
-rw-r--r--pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch38
-rw-r--r--pkgs/applications/altcoins/bitcoin-unlimited.nix24
-rw-r--r--pkgs/applications/altcoins/bitcoin-xt.nix51
-rw-r--r--pkgs/applications/altcoins/default.nix17
-rw-r--r--pkgs/applications/altcoins/dogecoin.nix4
-rw-r--r--pkgs/applications/altcoins/freicoin.nix3
-rw-r--r--pkgs/applications/altcoins/jormungandr/default.nix13
-rw-r--r--pkgs/applications/altcoins/memorycoin.nix56
-rw-r--r--pkgs/applications/altcoins/parity/beta.nix6
-rw-r--r--pkgs/applications/altcoins/parity/default.nix6
-rw-r--r--pkgs/applications/altcoins/pivx.nix7
-rw-r--r--pkgs/applications/altcoins/wasabiwallet/default.nix4
-rw-r--r--pkgs/applications/audio/gmpc/default.nix2
-rw-r--r--pkgs/applications/audio/mopidy/default.nix2
-rw-r--r--pkgs/applications/audio/mopidy/moped.nix2
-rw-r--r--pkgs/applications/audio/mopidy/spotify.nix2
-rw-r--r--pkgs/applications/audio/munt/default.nix4
-rw-r--r--pkgs/applications/audio/padthv1/default.nix8
-rw-r--r--pkgs/applications/audio/paprefs/default.nix28
-rw-r--r--pkgs/applications/audio/pavucontrol/default.nix2
-rw-r--r--pkgs/applications/audio/pulseeffects/default.nix4
-rw-r--r--pkgs/applications/audio/reaper/default.nix4
-rw-r--r--pkgs/applications/audio/snd/default.nix4
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix4
-rw-r--r--pkgs/applications/editors/android-studio/default.nix12
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-generated.nix78
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-packages.nix42
-rw-r--r--pkgs/applications/editors/emacs-modes/emacs2nix.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/org-packages.nix23
-rwxr-xr-xpkgs/applications/editors/emacs-modes/update-elpa4
-rwxr-xr-xpkgs/applications/editors/emacs-modes/update-org4
-rw-r--r--pkgs/applications/editors/focuswriter/default.nix8
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-php.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-python.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevelop.nix4
-rw-r--r--pkgs/applications/editors/neovim/neovim-remote.nix4
-rw-r--r--pkgs/applications/editors/quilter/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix6
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix6
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/graphics/avocode/default.nix7
-rw-r--r--pkgs/applications/graphics/darktable/default.nix2
-rw-r--r--pkgs/applications/graphics/feh/default.nix2
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix8
-rw-r--r--pkgs/applications/graphics/gnome-photos/default.nix125
-rw-r--r--pkgs/applications/graphics/gnome-photos/installed-tests-path.patch23
-rw-r--r--pkgs/applications/graphics/gscan2pdf/default.nix26
-rw-r--r--pkgs/applications/graphics/ideogram/default.nix2
-rw-r--r--pkgs/applications/graphics/kodelife/default.nix53
-rw-r--r--pkgs/applications/graphics/processing/default.nix (renamed from pkgs/applications/graphics/processing3/default.nix)20
-rw-r--r--pkgs/applications/graphics/rapid-photo-downloader/default.nix4
-rw-r--r--pkgs/applications/graphics/ufraw/default.nix68
-rw-r--r--pkgs/applications/misc/dmenu/default.nix2
-rw-r--r--pkgs/applications/misc/getxbook/default.nix2
-rw-r--r--pkgs/applications/misc/golden-cheetah/default.nix26
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/jekyll/basic/Gemfile2
-rw-r--r--pkgs/applications/misc/jekyll/basic/Gemfile.lock44
-rw-r--r--pkgs/applications/misc/jekyll/basic/gemset.nix77
-rw-r--r--pkgs/applications/misc/jekyll/full/Gemfile19
-rw-r--r--pkgs/applications/misc/jekyll/full/Gemfile.lock68
-rw-r--r--pkgs/applications/misc/jekyll/full/gemset.nix193
-rw-r--r--pkgs/applications/misc/keepassx/community.nix4
-rw-r--r--pkgs/applications/misc/keepassx/darwin.patch22
-rw-r--r--pkgs/applications/misc/khal/default.nix20
-rw-r--r--pkgs/applications/misc/kitty/default.nix2
-rw-r--r--pkgs/applications/misc/libosmocore/default.nix4
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix4
-rw-r--r--pkgs/applications/misc/moolticute/default.nix38
-rw-r--r--pkgs/applications/misc/omegat.nix6
-rw-r--r--pkgs/applications/misc/redshift/default.nix2
-rw-r--r--pkgs/applications/misc/sampler/default.nix27
-rw-r--r--pkgs/applications/misc/sequeler/default.nix4
-rw-r--r--pkgs/applications/misc/st/xst.nix4
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix6
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix57
-rw-r--r--pkgs/applications/misc/taskell/default.nix4
-rw-r--r--pkgs/applications/misc/terminator/default.nix2
-rw-r--r--pkgs/applications/misc/tilix/default.nix2
-rw-r--r--pkgs/applications/misc/waybar/default.nix4
-rw-r--r--pkgs/applications/misc/worker/default.nix4
-rw-r--r--pkgs/applications/misc/xmind/default.nix2
-rw-r--r--pkgs/applications/misc/xmrig/default.nix10
-rw-r--r--pkgs/applications/misc/xmrig/proxy.nix8
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix2
-rw-r--r--pkgs/applications/misc/zathura/wrapper.nix2
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix6
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin/default.nix46
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix6
-rw-r--r--pkgs/applications/networking/browsers/qtchan/default.nix22
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/kvm2.nix8
-rw-r--r--pkgs/applications/networking/cluster/fluxctl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix13
-rw-r--r--pkgs/applications/networking/cluster/kubeless/default.nix28
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/data.nix130
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/feedreaders/castget/default.nix44
-rw-r--r--pkgs/applications/networking/feedreaders/feedreader/default.nix4
-rw-r--r--pkgs/applications/networking/flexget/default.nix4
-rw-r--r--pkgs/applications/networking/gmailieer/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/freetalk/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/quaternion/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/pro.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json2
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix13
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-web.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix41
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix32
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix37
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix35
-rw-r--r--pkgs/applications/networking/irc/irssi/default.nix5
-rw-r--r--pkgs/applications/networking/irc/irssi/otr/default.nix27
-rw-r--r--pkgs/applications/networking/irc/weechat/wrapper.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/alpine/default.nix1
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch-bower/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/realpine/default.nix42
-rw-r--r--pkgs/applications/networking/mullvad-vpn/default.nix4
-rw-r--r--pkgs/applications/networking/ndppd/default.nix9
-rw-r--r--pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch25
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix73
-rw-r--r--pkgs/applications/networking/remote/citrix-receiver/default.nix2
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/default.nix2
-rw-r--r--pkgs/applications/networking/remote/ssvnc/default.nix33
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix21
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix15
-rw-r--r--pkgs/applications/networking/sniffers/ettercap/default.nix31
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix268
-rw-r--r--pkgs/applications/office/libreoffice/still-primary-src.nix6
-rw-r--r--pkgs/applications/office/libreoffice/still.nix101
-rw-r--r--pkgs/applications/office/mytetra/default.nix4
-rw-r--r--pkgs/applications/office/qownnotes/default.nix12
-rw-r--r--pkgs/applications/office/vnote/default.nix10
-rw-r--r--pkgs/applications/office/zotero/default.nix4
-rw-r--r--pkgs/applications/radio/fldigi/default.nix4
-rw-r--r--pkgs/applications/radio/wsjtx/default.nix6
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/octopus/default.nix26
-rw-r--r--pkgs/applications/science/electronics/pulseview/default.nix18
-rw-r--r--pkgs/applications/science/logic/symbiyosys/default.nix4
-rw-r--r--pkgs/applications/science/misc/tulip/default.nix4
-rw-r--r--pkgs/applications/science/robotics/apmplanner2/default.nix24
-rw-r--r--pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-dit/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix2
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix9
-rw-r--r--pkgs/applications/version-management/gitlab/data.json28
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix1
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile2
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock6
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/deps.nix116
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix10
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile28
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock175
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix256
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile28
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock175
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix256
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix25
-rw-r--r--pkgs/applications/version-management/sourcehut/default.nix12
-rw-r--r--pkgs/applications/version-management/tortoisehg/default.nix35
-rw-r--r--pkgs/applications/video/celluloid/default.nix64
-rw-r--r--pkgs/applications/video/clipgrab/default.nix8
-rw-r--r--pkgs/applications/video/dvdstyler/default.nix4
-rw-r--r--pkgs/applications/video/gnome-mpv/default.nix48
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix14
-rw-r--r--pkgs/applications/video/mpv/default.nix2
-rw-r--r--pkgs/applications/video/shotcut/default.nix4
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix64
-rw-r--r--pkgs/applications/virtualization/looking-glass-client/default.nix21
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix2
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix5
-rw-r--r--pkgs/applications/virtualization/xen/4.8.nix19
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix4
-rw-r--r--pkgs/applications/virtualization/xen/qemu-gluster-6-compat.diff95
-rw-r--r--pkgs/applications/window-managers/i3/default.nix2
-rw-r--r--pkgs/applications/window-managers/i3/gaps.nix4
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix2
-rw-r--r--pkgs/applications/window-managers/sxhkd/default.nix4
-rw-r--r--pkgs/build-support/build-bazel-package/default.nix9
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix16
-rw-r--r--pkgs/build-support/setup-hooks/shorten-perl-shebang.sh88
-rw-r--r--pkgs/build-support/vm/default.nix12
-rw-r--r--pkgs/data/fonts/font-awesome-5/default.nix4
-rw-r--r--pkgs/data/fonts/gelasio/default.nix31
-rw-r--r--pkgs/data/fonts/joypixels/default.nix31
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/osinfo-db/default.nix4
-rw-r--r--pkgs/data/themes/plata/default.nix4
-rw-r--r--pkgs/desktops/enlightenment/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-characters/default.nix73
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-notes/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-photos/default.nix56
-rw-r--r--pkgs/desktops/gnome-3/core/nautilus/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/hitori/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/tali/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/geary/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix29
-rw-r--r--pkgs/desktops/lxqt/qterminal/default.nix2
-rw-r--r--pkgs/desktops/xfce4-14/exo/default.nix22
-rw-r--r--pkgs/desktops/xfce4-14/garcon/default.nix5
-rw-r--r--pkgs/desktops/xfce4-14/gigolo/default.nix8
-rw-r--r--pkgs/desktops/xfce4-14/libxfce4ui/default.nix14
-rw-r--r--pkgs/desktops/xfce4-14/libxfce4util/default.nix7
-rw-r--r--pkgs/desktops/xfce4-14/mkXfceDerivation.nix4
-rw-r--r--pkgs/desktops/xfce4-14/mousepad/default.nix13
-rw-r--r--pkgs/desktops/xfce4-14/orage/default.nix2
-rw-r--r--pkgs/desktops/xfce4-14/parole/default.nix14
-rw-r--r--pkgs/desktops/xfce4-14/ristretto/default.nix15
-rw-r--r--pkgs/desktops/xfce4-14/thunar-volman/default.nix5
-rw-r--r--pkgs/desktops/xfce4-14/thunar/default.nix18
-rw-r--r--pkgs/desktops/xfce4-14/tumbler/default.nix27
-rw-r--r--pkgs/desktops/xfce4-14/xfburn/default.nix8
-rw-r--r--pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix5
-rw-r--r--pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix5
-rw-r--r--pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix4
-rw-r--r--pkgs/desktops/xfce4-14/xfce4-panel/default.nix20
-rw-r--r--pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix5
-rw-r--r--pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix3
-rw-r--r--pkgs/desktops/xfce4-14/xfce4-session/default.nix22
-rw-r--r--pkgs/desktops/xfce4-14/xfce4-settings/default.nix17
-rw-r--r--pkgs/desktops/xfce4-14/xfce4-terminal/default.nix9
-rw-r--r--pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix2
-rw-r--r--pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix8
-rw-r--r--pkgs/desktops/xfce4-14/xfconf/default.nix5
-rw-r--r--pkgs/desktops/xfce4-14/xfdesktop/default.nix12
-rw-r--r--pkgs/desktops/xfce4-14/xfwm4/default.nix5
-rw-r--r--pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix (renamed from pkgs/development/compilers/icedtea-web/default.nix)4
-rw-r--r--pkgs/development/compilers/adoptopenjdk-icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch (renamed from pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch)0
-rw-r--r--pkgs/development/compilers/compcert/default.nix1
-rw-r--r--pkgs/development/compilers/edk2/default.nix83
-rw-r--r--pkgs/development/compilers/fasm/bin.nix4
-rw-r--r--pkgs/development/compilers/flux/default.nix21
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix4
-rw-r--r--pkgs/development/compilers/graalvm/enterprise-edition.nix133
-rw-r--r--pkgs/development/compilers/julia/1.0.nix4
-rw-r--r--pkgs/development/compilers/julia/1.1.nix4
-rw-r--r--pkgs/development/compilers/mosml/default.nix4
-rw-r--r--pkgs/development/compilers/nextpnr/default.nix53
-rw-r--r--pkgs/development/compilers/rust/default.nix2
-rw-r--r--pkgs/development/compilers/rust/rls/default.nix (renamed from pkgs/development/tools/rust/rls/default.nix)26
-rw-r--r--pkgs/development/compilers/rust/rustfmt.nix (renamed from pkgs/development/tools/rust/rustfmt/default.nix)21
-rw-r--r--pkgs/development/compilers/swift/default.nix13
-rw-r--r--pkgs/development/compilers/vlang/default.nix15
-rw-r--r--pkgs/development/compilers/yosys/default.nix18
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix22
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix27
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml48
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix4
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2129
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix40
-rw-r--r--pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--pkgs/development/interpreters/groovy/default.nix4
-rw-r--r--pkgs/development/interpreters/janet/default.nix4
-rw-r--r--pkgs/development/interpreters/jruby/default.nix4
-rw-r--r--pkgs/development/interpreters/lua-5/interpreter.nix7
-rw-r--r--pkgs/development/interpreters/php/default.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix27
-rw-r--r--pkgs/development/interpreters/python/default.nix32
-rw-r--r--pkgs/development/interpreters/python/pypy/default.nix4
-rw-r--r--pkgs/development/libraries/aacskeys/default.nix47
-rw-r--r--pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix4
-rw-r--r--pkgs/development/libraries/agda/agda-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/agda/agda-stdlib/default.nix4
-rw-r--r--pkgs/development/libraries/at-spi2-atk/default.nix2
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix2
-rw-r--r--pkgs/development/libraries/avahi/default.nix2
-rw-r--r--pkgs/development/libraries/directfb/default.nix41
-rw-r--r--pkgs/development/libraries/directfb/default.upstream3
-rw-r--r--pkgs/development/libraries/exosip/default.nix17
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix26
-rw-r--r--pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch19
-rw-r--r--pkgs/development/libraries/folly/default.nix4
-rw-r--r--pkgs/development/libraries/gfbgraph/default.nix4
-rw-r--r--pkgs/development/libraries/globalplatform/default.nix4
-rw-r--r--pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix4
-rw-r--r--pkgs/development/libraries/gnome-online-accounts/default.nix (renamed from pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix)0
-rw-r--r--pkgs/development/libraries/gnome-video-effects/default.nix46
-rw-r--r--pkgs/development/libraries/gnome-video-effects/fix-pc-file.patch11
-rw-r--r--pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch79
-rw-r--r--pkgs/development/libraries/graphene/default.nix11
-rw-r--r--pkgs/development/libraries/grilo-plugins/default.nix (renamed from pkgs/desktops/gnome-3/core/grilo-plugins/default.nix)0
-rw-r--r--pkgs/development/libraries/grilo/default.nix (renamed from pkgs/desktops/gnome-3/core/grilo/default.nix)1
-rw-r--r--pkgs/development/libraries/grilo/setup-hook.sh (renamed from pkgs/desktops/gnome-3/core/grilo/setup-hook.sh)0
-rw-r--r--pkgs/development/libraries/grpc/default.nix6
-rw-r--r--pkgs/development/libraries/gthree/default.nix72
-rw-r--r--pkgs/development/libraries/itk/default.nix13
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/libdeflate/default.nix4
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libftdi/default.nix8
-rw-r--r--pkgs/development/libraries/libgdata/default.nix3
-rw-r--r--pkgs/development/libraries/libgpiod/default.nix4
-rw-r--r--pkgs/development/libraries/libivykis/default.nix2
-rw-r--r--pkgs/development/libraries/libmodbus/default.nix4
-rw-r--r--pkgs/development/libraries/libndctl/default.nix4
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix30
-rw-r--r--pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch2
-rw-r--r--pkgs/development/libraries/libosmium/default.nix4
-rw-r--r--pkgs/development/libraries/librealsense/default.nix4
-rw-r--r--pkgs/development/libraries/libressl/default.nix17
-rw-r--r--pkgs/development/libraries/liburing/default.nix47
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix5
-rw-r--r--pkgs/development/libraries/libvirt/default.nix2
-rw-r--r--pkgs/development/libraries/libvisio/default.nix4
-rw-r--r--pkgs/development/libraries/libwebsockets/default.nix4
-rw-r--r--pkgs/development/libraries/libxmlb/default.nix58
-rw-r--r--pkgs/development/libraries/libxmlb/installed-tests-path.patch24
-rw-r--r--pkgs/development/libraries/libzapojit/default.nix4
-rw-r--r--pkgs/development/libraries/live555/default.nix4
-rw-r--r--pkgs/development/libraries/mdds/default.nix4
-rw-r--r--pkgs/development/libraries/mutest/default.nix34
-rw-r--r--pkgs/development/libraries/odpic/default.nix24
-rw-r--r--pkgs/development/libraries/oniguruma/default.nix4
-rw-r--r--pkgs/development/libraries/opencv/4.x.nix10
-rw-r--r--pkgs/development/libraries/opendkim/default.nix6
-rw-r--r--pkgs/development/libraries/opendkim/openssl-1.1.patch81
-rw-r--r--pkgs/development/libraries/opensaml-cpp/default.nix14
-rw-r--r--pkgs/development/libraries/openxr-loader/default.nix40
-rw-r--r--pkgs/development/libraries/oracle-instantclient/default.nix129
-rw-r--r--pkgs/development/libraries/protozero/default.nix4
-rw-r--r--pkgs/development/libraries/ptlib/default.nix5
-rw-r--r--pkgs/development/libraries/qca2/default.nix4
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix3
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/qt4-openssl-1.1.patch398
-rw-r--r--pkgs/development/libraries/qt-5/5.6/default.nix193
-rw-r--r--pkgs/development/libraries/qt-5/5.6/fetch.sh2
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase-fixguicmake.patch30
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase.patch795
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtdeclarative.patch20
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtscript.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtserialport.patch22
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qttools.patch64
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebengine-seccomp.patch24
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit.patch149
-rw-r--r--pkgs/development/libraries/qt-5/5.6/srcs.nix309
-rw-r--r--pkgs/development/libraries/qt-5/5.9/default.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch3985
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase.patch22
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebengine.nix7
-rw-r--r--pkgs/development/libraries/qtstyleplugins/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/sympow/default.nix4
-rw-r--r--pkgs/development/libraries/shibboleth-sp/default.nix4
-rw-r--r--pkgs/development/libraries/simpleitk/default.nix16
-rw-r--r--pkgs/development/libraries/tracker-miners/default.nix (renamed from pkgs/desktops/gnome-3/core/tracker-miners/default.nix)2
-rw-r--r--pkgs/development/libraries/tracker-miners/fix-paths.patch (renamed from pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch)0
-rw-r--r--pkgs/development/libraries/tracker/default.nix (renamed from pkgs/desktops/gnome-3/core/tracker/default.nix)0
-rw-r--r--pkgs/development/libraries/tracker/fix-paths.patch (renamed from pkgs/desktops/gnome-3/core/tracker/fix-paths.patch)0
-rw-r--r--pkgs/development/libraries/umockdev/default.nix36
-rw-r--r--pkgs/development/libraries/umockdev/disable-failed-test.patch13
-rw-r--r--pkgs/development/libraries/umockdev/fix-test-paths.patch12
-rw-r--r--pkgs/development/libraries/wcslib/default.nix4
-rw-r--r--pkgs/development/libraries/wxSVG/default.nix4
-rw-r--r--pkgs/development/libraries/xml-security-c/cxx11.patch11
-rw-r--r--pkgs/development/libraries/xml-security-c/default.nix11
-rw-r--r--pkgs/development/libraries/xml-tooling-c/default.nix10
-rw-r--r--pkgs/development/libraries/xxHash/default.nix4
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix40
-rw-r--r--pkgs/development/misc/google-clasp/README.md6
-rw-r--r--pkgs/development/misc/google-clasp/default.nix19
-rw-r--r--pkgs/development/misc/google-clasp/dotf.patch13
-rwxr-xr-xpkgs/development/misc/google-clasp/generate.sh9
-rw-r--r--pkgs/development/misc/google-clasp/google-clasp.nix17
-rw-r--r--pkgs/development/misc/google-clasp/node-packages.json3
-rw-r--r--pkgs/development/misc/google-clasp/node-packages.nix2101
-rw-r--r--pkgs/development/mobile/androidenv/build-app.nix8
-rw-r--r--pkgs/development/mobile/androidenv/compose-android-packages.nix57
-rw-r--r--pkgs/development/mobile/androidenv/default.nix4
-rw-r--r--pkgs/development/mobile/androidenv/emulate-app.nix49
-rw-r--r--pkgs/development/mobile/xpwn/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/charInfo_width/default.nix19
-rw-r--r--pkgs/development/ocaml-modules/cohttp/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/javalib/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving/default.nix39
-rw-r--r--pkgs/development/ocaml-modules/ppx_tools/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/ppxfind/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/ppxlib/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/sedlex/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/uri/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/uri/sexp.nix13
-rw-r--r--pkgs/development/ocaml-modules/uuidm/default.nix4
-rw-r--r--pkgs/development/perl-modules/DBD-Oracle/default.nix12
-rw-r--r--pkgs/development/python-modules/Fabric/default.nix16
-rw-r--r--pkgs/development/python-modules/Wand/default.nix4
-rw-r--r--pkgs/development/python-modules/authres/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-cli-core/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-network/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-storage/default.nix4
-rw-r--r--pkgs/development/python-modules/boltztrap2/default.nix6
-rw-r--r--pkgs/development/python-modules/braintree/default.nix4
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix10
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix6
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix40
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix6
-rw-r--r--pkgs/development/python-modules/carbon/default.nix2
-rw-r--r--pkgs/development/python-modules/cheroot/default.nix19
-rw-r--r--pkgs/development/python-modules/cheroot/tests.patch45
-rw-r--r--pkgs/development/python-modules/cliapp/default.nix2
-rw-r--r--pkgs/development/python-modules/cmd2/default.nix4
-rw-r--r--pkgs/development/python-modules/crc16/default.nix18
-rw-r--r--pkgs/development/python-modules/cupy/default.nix4
-rw-r--r--pkgs/development/python-modules/cx_oracle/default.nix4
-rw-r--r--pkgs/development/python-modules/deprecation/default.nix4
-rw-r--r--pkgs/development/python-modules/distributed/default.nix4
-rw-r--r--pkgs/development/python-modules/django-webpack-loader/default.nix4
-rw-r--r--pkgs/development/python-modules/dominate/default.nix4
-rw-r--r--pkgs/development/python-modules/foxdot/default.nix23
-rw-r--r--pkgs/development/python-modules/ftfy/default.nix4
-rw-r--r--pkgs/development/python-modules/funcy/default.nix4
-rw-r--r--pkgs/development/python-modules/geojson/default.nix4
-rw-r--r--pkgs/development/python-modules/graphite-web/default.nix2
-rw-r--r--pkgs/development/python-modules/grpcio-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio/default.nix4
-rw-r--r--pkgs/development/python-modules/gssapi/default.nix4
-rw-r--r--pkgs/development/python-modules/invoke/default.nix4
-rw-r--r--pkgs/development/python-modules/jenkins-job-builder/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter_core/default.nix2
-rw-r--r--pkgs/development/python-modules/larch/default.nix2
-rw-r--r--pkgs/development/python-modules/lark-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/libcloud/default.nix4
-rw-r--r--pkgs/development/python-modules/libkeepass/default.nix4
-rw-r--r--pkgs/development/python-modules/lmdb/default.nix4
-rw-r--r--pkgs/development/python-modules/mixpanel/default.nix2
-rw-r--r--pkgs/development/python-modules/moretools/default.nix4
-rw-r--r--pkgs/development/python-modules/mox3/default.nix10
-rw-r--r--pkgs/development/python-modules/mps-youtube/default.nix12
-rw-r--r--pkgs/development/python-modules/mpv/default.nix30
-rw-r--r--pkgs/development/python-modules/mysqlclient/default.nix4
-rw-r--r--pkgs/development/python-modules/nameparser/default.nix4
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix2
-rw-r--r--pkgs/development/python-modules/nbmerge/default.nix2
-rw-r--r--pkgs/development/python-modules/nltk/default.nix4
-rw-r--r--pkgs/development/python-modules/node-semver/default.nix4
-rw-r--r--pkgs/development/python-modules/notebook/default.nix2
-rw-r--r--pkgs/development/python-modules/openapi-spec-validator/default.nix4
-rw-r--r--pkgs/development/python-modules/parsel/default.nix4
-rw-r--r--pkgs/development/python-modules/pdfkit/default.nix5
-rw-r--r--pkgs/development/python-modules/peewee/default.nix4
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--pkgs/development/python-modules/potr/default.nix2
-rw-r--r--pkgs/development/python-modules/pycangjie/default.nix6
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--pkgs/development/python-modules/pycurl/default.nix5
-rw-r--r--pkgs/development/python-modules/pydot_ng/default.nix24
-rw-r--r--pkgs/development/python-modules/pyglet/default.nix4
-rw-r--r--pkgs/development/python-modules/pykka/default.nix2
-rw-r--r--pkgs/development/python-modules/pynamodb/default.nix4
-rw-r--r--pkgs/development/python-modules/pyodbc/default.nix4
-rw-r--r--pkgs/development/python-modules/pysocks/default.nix4
-rw-r--r--pkgs/development/python-modules/pyspotify/default.nix2
-rw-r--r--pkgs/development/python-modules/pytesseract/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-repeat/default.nix3
-rw-r--r--pkgs/development/python-modules/python-unshare/default.nix27
-rw-r--r--pkgs/development/python-modules/rasterio/default.nix4
-rw-r--r--pkgs/development/python-modules/rebulk/default.nix4
-rw-r--r--pkgs/development/python-modules/shamir-mnemonic/default.nix6
-rw-r--r--pkgs/development/python-modules/sipsimple/default.nix15
-rw-r--r--pkgs/development/python-modules/spark_parser/default.nix4
-rw-r--r--pkgs/development/python-modules/tblib/default.nix4
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix4
-rw-r--r--pkgs/development/python-modules/tracing/default.nix2
-rw-r--r--pkgs/development/python-modules/trezor/default.nix6
-rw-r--r--pkgs/development/python-modules/trollius/default.nix4
-rw-r--r--pkgs/development/python-modules/ttystatus/default.nix2
-rw-r--r--pkgs/development/python-modules/txamqp/default.nix2
-rw-r--r--pkgs/development/python-modules/uncertainties/default.nix4
-rw-r--r--pkgs/development/python-modules/uproot/default.nix4
-rw-r--r--pkgs/development/python-modules/urwid/default.nix28
-rw-r--r--pkgs/development/python-modules/voluptuous-serialize/default.nix4
-rw-r--r--pkgs/development/python-modules/voluptuous/default.nix4
-rw-r--r--pkgs/development/python-modules/w3lib/default.nix4
-rw-r--r--pkgs/development/python-modules/whisper/default.nix2
-rw-r--r--pkgs/development/python-modules/ws4py/default.nix2
-rw-r--r--pkgs/development/python-modules/wsproto/0.14.nix25
-rw-r--r--pkgs/development/python-modules/wsproto/default.nix13
-rw-r--r--pkgs/development/python-modules/wxPython/4.0.nix60
-rw-r--r--pkgs/development/python-modules/xdis/default.nix18
-rw-r--r--pkgs/development/python-modules/yamllint/default.nix4
-rw-r--r--pkgs/development/python-modules/zict/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix6
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--pkgs/development/tools/avro-tools/default.nix7
-rw-r--r--pkgs/development/tools/aws-sam-cli/default.nix2
-rw-r--r--pkgs/development/tools/bazel-watcher/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix2
-rw-r--r--pkgs/development/tools/buildah/default.nix26
-rw-r--r--pkgs/development/tools/cbor-diag/Gemfile.lock8
-rw-r--r--pkgs/development/tools/cbor-diag/gemset.nix28
-rw-r--r--pkgs/development/tools/cddl/Gemfile.lock12
-rw-r--r--pkgs/development/tools/cddl/gemset.nix44
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix51
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix10
-rw-r--r--pkgs/development/tools/coursier/default.nix13
-rw-r--r--pkgs/development/tools/cppclean/default.nix8
-rw-r--r--pkgs/development/tools/easyjson/default.nix8
-rw-r--r--pkgs/development/tools/fdroidserver/default.nix4
-rw-r--r--pkgs/development/tools/git-series/default.nix4
-rw-r--r--pkgs/development/tools/icestorm/default.nix12
-rw-r--r--pkgs/development/tools/jq/default.nix2
-rw-r--r--pkgs/development/tools/ktlint/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix2
-rw-r--r--pkgs/development/tools/misc/gengetopt/default.nix18
-rw-r--r--pkgs/development/tools/misc/kibana/5.x.nix2
-rw-r--r--pkgs/development/tools/misc/kibana/6.x.nix2
-rw-r--r--pkgs/development/tools/misc/kibana/7.x.nix2
-rw-r--r--pkgs/development/tools/misc/mkcert/default.nix6
-rw-r--r--pkgs/development/tools/misc/wishbone-tool/default.nix25
-rw-r--r--pkgs/development/tools/ocaml/dune/default.nix6
-rw-r--r--pkgs/development/tools/osslsigncode/default.nix31
-rw-r--r--pkgs/development/tools/quicktemplate/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix10
-rw-r--r--pkgs/development/tools/rust/racer/default.nix2
-rw-r--r--pkgs/development/tools/scalafmt/default.nix4
-rw-r--r--pkgs/development/tools/solarus-quest-editor/default.nix14
-rw-r--r--pkgs/development/tools/statik/default.nix8
-rw-r--r--pkgs/development/tools/trellis/default.nix4
-rw-r--r--pkgs/development/web/cypress/default.nix4
-rw-r--r--pkgs/development/web/remarkjs/default.nix2
-rw-r--r--pkgs/games/btanks/default.nix27
-rw-r--r--pkgs/games/cutemaze/default.nix8
-rw-r--r--pkgs/games/easyrpg-player/default.nix4
-rw-r--r--pkgs/games/gnome-hexgl/default.nix43
-rw-r--r--pkgs/games/gzdoom/default.nix4
-rw-r--r--pkgs/games/multimc/default.nix4
-rw-r--r--pkgs/games/openmw/default.nix4
-rw-r--r--pkgs/games/solarus/default.nix14
-rw-r--r--pkgs/games/steam/runtime-generated.nix2472
-rw-r--r--pkgs/games/warsow/default.nix2
-rw-r--r--pkgs/games/warsow/engine.nix3
-rw-r--r--pkgs/misc/acpilight/default.nix2
-rw-r--r--pkgs/misc/emulators/dolphin-emu/default.nix33
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix44
-rw-r--r--pkgs/misc/scream-receivers/default.nix56
-rw-r--r--pkgs/misc/themes/kde2/default.nix4
-rw-r--r--pkgs/misc/themes/qtcurve/default.nix4
-rw-r--r--pkgs/misc/tw-rs/default.nix26
-rw-r--r--pkgs/misc/vim-plugins/generated.nix11
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix4
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--pkgs/os-specific/linux/blcr/default.nix2
-rw-r--r--pkgs/os-specific/linux/bolt/default.nix6
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix2
-rw-r--r--pkgs/os-specific/linux/eventstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/fnotifystat/default.nix4
-rw-r--r--pkgs/os-specific/linux/forkstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/iotop/default.nix11
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix2
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix2
-rw-r--r--pkgs/os-specific/linux/nftables/default.nix31
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/os-specific/linux/powerstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/pscircle/default.nix4
-rw-r--r--pkgs/os-specific/linux/smemstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/usbguard/default.nix25
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix4
-rw-r--r--pkgs/servers/atlassian/jira.nix4
-rw-r--r--pkgs/servers/bird/default.nix6
-rw-r--r--pkgs/servers/computing/torque/default.nix67
-rw-r--r--pkgs/servers/diod/default.nix2
-rw-r--r--pkgs/servers/dns/bind/default.nix8
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/dns/powerdns/default.nix4
-rw-r--r--pkgs/servers/home-assistant/default.nix2
-rw-r--r--pkgs/servers/home-assistant/esphome.nix2
-rw-r--r--pkgs/servers/home-assistant/frontend.nix2
-rw-r--r--pkgs/servers/http/couchdb/2.0.0.nix9
-rw-r--r--pkgs/servers/http/h2o/default.nix4
-rw-r--r--pkgs/servers/http/nginx/generic.nix2
-rw-r--r--pkgs/servers/http/unit/default.nix4
-rw-r--r--pkgs/servers/icingaweb2/default.nix4
-rw-r--r--pkgs/servers/identd/oidentd/default.nix4
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/mail/dovecot/default.nix2
-rw-r--r--pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix2
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix4
-rw-r--r--pkgs/servers/mail/postfix/default.nix8
-rw-r--r--pkgs/servers/mail/rspamd/default.nix2
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/meguca/default.nix2
-rw-r--r--pkgs/servers/metabase/default.nix2
-rw-r--r--pkgs/servers/miniflux/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix10
-rw-r--r--pkgs/servers/monitoring/loki/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/alertmanager.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/dovecot-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/mail-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/mysqld-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/nginx-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/node-exporter.nix12
-rw-r--r--pkgs/servers/monitoring/prometheus/openvpn-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/postfix-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/postgres-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/wireguard-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/riemann/default.nix2
-rw-r--r--pkgs/servers/nextcloud/default.nix4
-rw-r--r--pkgs/servers/nosql/eventstore/default.nix4
-rw-r--r--pkgs/servers/nosql/redis/default.nix2
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix1
-rw-r--r--pkgs/servers/openxpki/default.nix1
-rw-r--r--pkgs/servers/rainloop/default.nix4
-rw-r--r--pkgs/servers/roundcube/default.nix2
-rw-r--r--pkgs/servers/search/groonga/default.nix4
-rw-r--r--pkgs/servers/search/solr/8.x.nix2
-rw-r--r--pkgs/servers/search/solr/default.nix2
-rw-r--r--pkgs/servers/sickbeard/sickrage.nix2
-rw-r--r--pkgs/servers/sks/default.nix2
-rw-r--r--pkgs/servers/sonarr/default.nix4
-rw-r--r--pkgs/servers/sql/pgpool/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/default.nix7
-rw-r--r--pkgs/servers/sql/postgresql/ext/cstore_fdw.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_bigm.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_cron.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_hll.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_partman.nix3
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_topn.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pipelinedb.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/tds_fdw.nix1
-rw-r--r--pkgs/servers/sql/postgresql/ext/temporal_tables.nix2
-rw-r--r--pkgs/servers/squid/4.nix39
-rw-r--r--pkgs/servers/squid/default.nix20
-rw-r--r--pkgs/servers/traefik/default.nix4
-rw-r--r--pkgs/servers/trezord/default.nix2
-rw-r--r--pkgs/servers/ttyd/default.nix20
-rw-r--r--pkgs/servers/unifi/default.nix12
-rw-r--r--pkgs/servers/uwsgi/default.nix2
-rw-r--r--pkgs/servers/web-apps/codimd/default.nix14
-rw-r--r--pkgs/servers/web-apps/codimd/package.json16
-rw-r--r--pkgs/servers/web-apps/codimd/yarn.lock3773
-rw-r--r--pkgs/servers/web-apps/codimd/yarn.nix3548
-rw-r--r--pkgs/servers/web-apps/matomo/default.nix4
-rw-r--r--pkgs/servers/web-apps/pgpkeyserver-lite/default.nix8
-rw-r--r--pkgs/servers/web-apps/searx/default.nix2
-rw-r--r--pkgs/servers/web-apps/shaarli/default.nix4
-rw-r--r--pkgs/servers/xmpp/ejabberd/default.nix6
-rw-r--r--pkgs/shells/powershell/default.nix4
-rw-r--r--pkgs/shells/xonsh/default.nix4
-rw-r--r--pkgs/stdenv/generic/check-meta.nix17
-rw-r--r--pkgs/tools/X11/nx-libs/default.nix4
-rw-r--r--pkgs/tools/X11/wpgtk/default.nix4
-rw-r--r--pkgs/tools/X11/xcalib/default.nix2
-rw-r--r--pkgs/tools/X11/xkb-switch/default.nix4
-rw-r--r--pkgs/tools/admin/acme.sh/default.nix4
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/gtk-vnc/default.nix69
-rw-r--r--pkgs/tools/admin/lego/default.nix10
-rw-r--r--pkgs/tools/admin/lxd/default.nix2
-rw-r--r--pkgs/tools/audio/opl3bankeditor/default.nix4
-rw-r--r--pkgs/tools/backup/borg/default.nix2
-rw-r--r--pkgs/tools/backup/partimage/default.nix26
-rw-r--r--pkgs/tools/backup/wal-e/default.nix2
-rw-r--r--pkgs/tools/compression/xar/default.nix12
-rw-r--r--pkgs/tools/compression/zstd/default.nix4
-rw-r--r--pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix33
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch6
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch49
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch156
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch138
-rw-r--r--pkgs/tools/graphics/argyllcms/default.nix2
-rw-r--r--pkgs/tools/graphics/scrot/default.nix31
-rw-r--r--pkgs/tools/graphics/wkhtmltopdf/default.nix9
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix21
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix2
-rw-r--r--pkgs/tools/misc/autorandr/default.nix8
-rw-r--r--pkgs/tools/misc/docui/default.nix7
-rw-r--r--pkgs/tools/misc/exa/default.nix2
-rw-r--r--pkgs/tools/misc/fd/default.nix2
-rw-r--r--pkgs/tools/misc/fpp/default.nix8
-rw-r--r--pkgs/tools/misc/geekbench/default.nix4
-rw-r--r--pkgs/tools/misc/kdecoration-viewer/default.nix4
-rw-r--r--pkgs/tools/misc/lazydocker/default.nix6
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin.nix4
-rw-r--r--pkgs/tools/misc/ncdu/default.nix4
-rw-r--r--pkgs/tools/misc/osinfo-db-tools/default.nix12
-rw-r--r--pkgs/tools/misc/riemann-c-client/default.nix2
-rw-r--r--pkgs/tools/misc/shallot/default.nix26
-rw-r--r--pkgs/tools/misc/sl/default.nix4
-rw-r--r--pkgs/tools/misc/starship/default.nix27
-rw-r--r--pkgs/tools/misc/thin-provisioning-tools/default.nix2
-rw-r--r--pkgs/tools/misc/uhubctl/default.nix28
-rw-r--r--pkgs/tools/misc/unclutter-xfixes/default.nix1
-rw-r--r--pkgs/tools/misc/vfdecrypt/default.nix26
-rw-r--r--pkgs/tools/misc/yank/default.nix4
-rw-r--r--pkgs/tools/misc/yubikey-manager-qt/default.nix4
-rw-r--r--pkgs/tools/networking/arping/default.nix8
-rw-r--r--pkgs/tools/networking/chrony/default.nix2
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix2
-rw-r--r--pkgs/tools/networking/dsniff/default.nix6
-rw-r--r--pkgs/tools/networking/httping/default.nix2
-rw-r--r--pkgs/tools/networking/httplz/cargo-lock.patch639
-rw-r--r--pkgs/tools/networking/httplz/default.nix6
-rw-r--r--pkgs/tools/networking/mailsend/default.nix7
-rw-r--r--pkgs/tools/networking/memtier-benchmark/default.nix4
-rw-r--r--pkgs/tools/networking/mtr/default.nix2
-rw-r--r--pkgs/tools/networking/network-manager/applet.nix2
-rw-r--r--pkgs/tools/networking/network-manager/default.nix2
-rw-r--r--pkgs/tools/networking/nfdump/default.nix4
-rw-r--r--pkgs/tools/networking/openapi-generator-cli/default.nix4
-rw-r--r--pkgs/tools/networking/p2p/libtorrent/default.nix12
-rw-r--r--pkgs/tools/networking/radsecproxy/default.nix15
-rw-r--r--pkgs/tools/networking/redir/default.nix2
-rw-r--r--pkgs/tools/networking/sipcalc/default.nix12
-rw-r--r--pkgs/tools/networking/socat/2.x.nix1
-rw-r--r--pkgs/tools/networking/swaks/default.nix2
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix2
-rw-r--r--pkgs/tools/networking/tridactyl-native/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix2
-rw-r--r--pkgs/tools/networking/uwimap/default.nix9
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix2
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix4
-rw-r--r--pkgs/tools/nix/nixpkgs-fmt/default.nix21
-rw-r--r--pkgs/tools/package-management/cargo-download/Cargo.nix3805
-rw-r--r--pkgs/tools/package-management/cargo-download/crates-io.nix5289
-rw-r--r--pkgs/tools/package-management/cargo-download/default.nix7
-rw-r--r--pkgs/tools/package-management/xbps/default.nix4
-rw-r--r--pkgs/tools/security/chaps/default.nix1
-rw-r--r--pkgs/tools/security/clamav/default.nix6
-rw-r--r--pkgs/tools/security/dnsenum/default.nix2
-rw-r--r--pkgs/tools/security/dnsrecon/default.nix2
-rw-r--r--pkgs/tools/security/fierce/default.nix2
-rw-r--r--pkgs/tools/security/hcxtools/default.nix4
-rw-r--r--pkgs/tools/security/keybase/default.nix4
-rw-r--r--pkgs/tools/security/keybase/gui.nix6
-rw-r--r--pkgs/tools/security/kpcli/default.nix4
-rw-r--r--pkgs/tools/security/lesspass-cli/default.nix38
-rw-r--r--pkgs/tools/security/nmap/default.nix4
-rw-r--r--pkgs/tools/security/pass/default.nix2
-rw-r--r--pkgs/tools/security/pass/extensions/otp.nix10
-rw-r--r--pkgs/tools/security/tor/default.nix4
-rw-r--r--pkgs/tools/security/tpm-luks/default.nix5
-rw-r--r--pkgs/tools/security/tpm-luks/openssl-1.1.patch63
-rw-r--r--pkgs/tools/security/tpm-luks/signed-ptr.patch15
-rw-r--r--pkgs/tools/security/tpm-tools/default.nix7
-rw-r--r--pkgs/tools/system/freeipmi/default.nix4
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix4
-rw-r--r--pkgs/tools/system/lr/default.nix2
-rw-r--r--pkgs/tools/system/runit/default.nix2
-rw-r--r--pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--pkgs/tools/system/syslog-ng-incubator/default.nix2
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix2
-rw-r--r--pkgs/tools/system/systemd-journal2gelf/default.nix2
-rw-r--r--pkgs/tools/system/thermald/default.nix4
-rw-r--r--pkgs/tools/text/ripgrep/default.nix2
-rw-r--r--pkgs/tools/text/vale/default.nix12
-rw-r--r--pkgs/tools/typesetting/biber/default.nix7
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix5
-rw-r--r--pkgs/top-level/aliases.nix5
-rw-r--r--pkgs/top-level/all-packages.nix379
-rw-r--r--pkgs/top-level/beam-packages.nix4
-rw-r--r--pkgs/top-level/coq-packages.nix2
-rw-r--r--pkgs/top-level/emacs-packages.nix4
-rw-r--r--pkgs/top-level/ocaml-packages.nix4
-rw-r--r--pkgs/top-level/perl-packages.nix42
-rw-r--r--pkgs/top-level/php-packages.nix11
-rw-r--r--pkgs/top-level/python-packages.nix32
865 files changed, 29576 insertions, 14305 deletions
diff --git a/doc/languages-frameworks/android.section.md b/doc/languages-frameworks/android.section.md
index 237f3441874..f268c552566 100644
--- a/doc/languages-frameworks/android.section.md
+++ b/doc/languages-frameworks/android.section.md
@@ -185,10 +185,9 @@ with import <nixpkgs> {};
 
 androidenv.emulateApp {
   name = "emulate-MyAndroidApp";
-  platformVersion = "24";
-  abiVersion = "armeabi-v7a"; # mips, x86 or x86_64
-  systemImageType = "default";
-  useGoogleAPIs = false;
+  platformVersion = "28";
+  abiVersion = "x86_64"; # armeabi-v7a, mips, x86
+  systemImageType = "google_apis_playstore";
 }
 ```
 
@@ -201,7 +200,7 @@ with import <nixpkgs> {};
 androidenv.emulateApp {
   name = "emulate-MyAndroidApp";
   platformVersion = "24";
-  abiVersion = "armeabi-v7a"; # mips, x86 or x86_64
+  abiVersion = "armeabi-v7a"; # mips, x86, x86_64
   systemImageType = "default";
   useGoogleAPIs = false;
   app = ./MyApp.apk;
diff --git a/doc/languages-frameworks/perl.xml b/doc/languages-frameworks/perl.xml
index d0f124f29d4..065212a0e18 100644
--- a/doc/languages-frameworks/perl.xml
+++ b/doc/languages-frameworks/perl.xml
@@ -75,7 +75,8 @@ foo = import ../path/to/foo.nix {
      It adds the contents of the <envar>PERL5LIB</envar> environment variable
      to <literal>#! .../bin/perl</literal> line of Perl scripts as
      <literal>-I<replaceable>dir</replaceable></literal> flags. This ensures
-     that a script can find its dependencies.
+     that a script can find its dependencies. (This can cause this shebang line
+     to become too long for Darwin to handle; see the note below.)
     </para>
    </listitem>
    <listitem>
@@ -137,6 +138,36 @@ ClassC3Componentised = buildPerlPackage rec {
 </programlisting>
  </para>
 
+ <para>
+  On Darwin, if a script has too many
+  <literal>-I<replaceable>dir</replaceable></literal> flags in its first line
+  (its “shebang line”), it will not run. This can be worked around by calling
+  the <literal>shortenPerlShebang</literal> function from the
+  <literal>postInstall</literal> phase:
+<programlisting>
+{ stdenv, buildPerlPackage, fetchurl, shortenPerlShebang }:
+
+ImageExifTool = buildPerlPackage {
+  pname = "Image-ExifTool";
+  version = "11.50";
+
+  src = fetchurl {
+    url = "https://www.sno.phy.queensu.ca/~phil/exiftool/Image-ExifTool-11.50.tar.gz";
+    sha256 = "0d8v48y94z8maxkmw1rv7v9m0jg2dc8xbp581njb6yhr7abwqdv3";
+  };
+
+  buildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
+  postInstall = stdenv.lib.optional stdenv.isDarwin ''
+    shortenPerlShebang $out/bin/exiftool
+  '';
+};
+</programlisting>
+ This will remove the <literal>-I</literal> flags from the shebang line,
+ rewrite them in the <literal>use lib</literal> form, and put them on the next
+ line instead. This function can be given any number of Perl scripts as
+ arguments; it will modify them in-place.
+ </para>
+
  <section xml:id="ssec-generation-from-CPAN">
   <title>Generation from CPAN</title>
 
diff --git a/lib/default.nix b/lib/default.nix
index 3efaaf0f8f9..18d2dfae1e1 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -71,7 +71,7 @@ let
       zipAttrsWithNames zipAttrsWith zipAttrs recursiveUpdateUntil
       recursiveUpdate matchAttrs overrideExisting getOutput getBin
       getLib getDev chooseDevOutputs zipWithNames zip;
-    inherit (lists) singleton foldr fold foldl foldl' imap0 imap1
+    inherit (lists) singleton forEach foldr fold foldl foldl' imap0 imap1
       concatMap flatten remove findSingle findFirst any all count
       optional optionals toList range partition zipListsWith zipLists
       reverseList listDfs toposort sort naturalSort compareLists take
diff --git a/lib/lists.nix b/lib/lists.nix
index 30d87ece664..e4fcf959b60 100644
--- a/lib/lists.nix
+++ b/lib/lists.nix
@@ -21,6 +21,19 @@ rec {
   */
   singleton = x: [x];
 
+  /*  Apply the function to each element in the list. Same as `map`, but arguments
+      flipped.
+
+      Type: forEach :: [a] -> (a -> b) -> [b]
+
+      Example:
+        forEach [ 1 2 ] (x:
+          toString x
+        )
+        => [ "1" "2" ]
+  */
+  forEach = xs: f: map f xs;
+
   /* “right fold” a binary function `op` between successive elements of
      `list` with `nul' as the starting value, i.e.,
      `foldr op nul [x_1 x_2 ... x_n] == op x_1 (op x_2 ... (op x_n nul))`.
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index efbece40560..e54fac92a67 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -40,6 +40,12 @@
   See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data.
   */
 {
+  "00-matt" = {
+    name = "Matt Smith";
+    email = "matt@offtopica.uk";
+    github = "00-matt";
+    githubId = 48835712;
+  };
   "0x4A6F" = {
     email = "0x4A6F@shackspace.de";
     name = "Joachim Ernst";
@@ -296,6 +302,11 @@
     githubId = 17208985;
     name = "Alex Rice";
   };
+  alexbakker = {
+    email = "ab@alexbakker.me";
+    github = "alexbakker";
+    name = "Alexander Bakker";
+  };
   alexchapman = {
     email = "alex@farfromthere.net";
     github = "AJChapman";
@@ -571,6 +582,12 @@
     githubId = 816777;
     name = "Ashley Gillman";
   };
+  ashkitten = {
+    email = "ashlea@protonmail.com";
+    github = "ashkitten";
+    githubId = 9281956;
+    name = "ash lea";
+  };
   aske = {
     email = "aske@fmap.me";
     github = "aske";
@@ -2738,6 +2755,11 @@
     githubId = 26877687;
     name = "Yurii Izorkin";
   };
+  jasoncarr = {
+    email = "jcarr250@gmail.com";
+    github = "jasoncarr0";
+    name = "Jason Carr";
+  };
   j-keck = {
     email = "jhyphenkeck@gmail.com";
     github = "j-keck";
@@ -3218,6 +3240,11 @@
     githubId = 6282557;
     name = "Kiloreux Emperex";
   };
+  kim0 = {
+    email = "email.ahmedkamal@googlemail.com";
+    github = "kim0";
+    name = "Ahmed Kamal";
+  };
   kimburgess = {
     email = "kim@acaprojects.com";
     github = "kimburgess";
@@ -3236,6 +3263,11 @@
     githubId = 451835;
     name = "Kirill Elagin";
   };
+  kirikaza = {
+    email = "k@kirikaza.ru";
+    github = "kirikaza";
+    name = "Kirill Kazakov";
+  };
   kisonecat = {
     email = "kisonecat@gmail.com";
     github = "kisonecat";
@@ -5897,6 +5929,12 @@
     githubId = 231788;
     name = "Stephen Weinberg";
   };
+  sterfield = {
+    email = "sterfield@gmail.com";
+    github = "sterfield";
+    githubId = 5747061;
+    name = "Guillaume Loetscher";
+  };
   sternenseemann = {
     email = "post@lukasepple.de";
     github = "sternenseemann";
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index 2039af5165a..9117e6d1c55 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -1,4 +1,5 @@
 # nix name, luarocks name, server, version,luaversion,maintainers
+alt-getopt,,,,,arobyn
 ansicolors,,,,,
 argparse,,,,,
 basexx,,,,,
@@ -56,6 +57,7 @@ luv,,,,,
 markdown,,,,,
 mediator_lua,,,,,
 mpack,,,,,
+moonscript,,,,,arobyn
 nvim-client,,,,,
 penlight,,,,,
 rapidjson,,,,,
diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml
index e0f71aadaba..37346948b28 100644
--- a/nixos/doc/manual/release-notes/rl-1909.xml
+++ b/nixos/doc/manual/release-notes/rl-1909.xml
@@ -237,6 +237,12 @@
     </para>
    </listitem>
    <listitem>
+    <para>
+     The <literal>shibboleth-sp</literal> package has been updated to version 3.
+     It is largely backward compatible, for further information refer to the
+     <link xlink:href="https://wiki.shibboleth.net/confluence/display/SP3/ReleaseNotes">release notes</link>
+     and <link xlink:href="https://wiki.shibboleth.net/confluence/display/SP3/UpgradingFromV2">upgrade guide</link>.
+    </para>
      <para>
        Nodejs 8 is scheduled EOL under the lifetime of 19.09 and has been dropped.
      </para>
@@ -263,6 +269,21 @@
        <literal>false</literal>.
      </para>
    </listitem>
+   <listitem>
+     <para>
+       The <option>services.systemhealth</option> module has been removed from nixpkgs due to lack of maintainer.
+     </para>
+   </listitem>
+   <listitem>
+     <para>
+       The <option>services.mantisbt</option> module has been removed from nixpkgs due to lack of maintainer.
+     </para>
+   </listitem>
+   <listitem>
+     <para>
+       Squid 3 has been removed and the <option>squid</option> derivation now refers to Squid 4.
+     </para>
+   </listitem>
   </itemizedlist>
  </section>
 
@@ -424,6 +445,67 @@
      installer after creating <literal>/var/lib/nextcloud</literal>.
     </para>
    </listitem>
+   <listitem>
+    <para>
+     There exists now <literal>lib.forEach</literal>, which is like <literal>map</literal>, but with
+     arguments flipped. When mapping function body spans many lines (or has nested
+     <literal>map</literal>s), it is often hard to follow which list is modified.
+    </para>
+    <para>
+     Previous solution to this problem was either to use <literal>lib.flip map</literal>
+     idiom or extract that anonymous mapping function to a named one. Both can still be used
+     but <literal>lib.forEach</literal> is preferred over <literal>lib.flip map</literal>.
+    </para>
+    <para>
+      The <literal>/etc/sysctl.d/nixos.conf</literal> file containing all the options set via
+      <link linkend="opt-boot.kernel.sysctl">boot.kernel.sysctl</link> was moved to
+      <literal>/etc/sysctl.d/60-nixos.conf</literal>, as
+      <citerefentry><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+      recommends prefixing all filenames in <literal>/etc/sysctl.d</literal> with a
+      two-digit number and a dash to simplify the ordering of the files.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      We now install the sysctl snippets shipped with systemd.
+    <itemizedlist>
+     <para>This enables:</para>
+     <listitem>
+      <para>Loose reverse path filtering</para>
+     </listitem>
+     <listitem>
+      <para>Source route filtering</para>
+     </listitem>
+     <listitem>
+      <para>
+       <literal>fq_codel</literal> as a packet scheduler (this helps to fight bufferbloat)
+      </para>
+     </listitem>
+    </itemizedlist>
+
+     This also configures the kernel to pass coredumps to <literal>systemd-coredump</literal>.
+     These sysctl snippets can be found in <literal>/etc/sysctl.d/50-*.conf</literal>,
+     and overridden via <link linkend="opt-boot.kernel.sysctl">boot.kernel.sysctl</link>
+     (which will place the parameters in <literal>/etc/sysctl.d/60-nixos.conf</literal>).
+     </para>
+   </listitem>
+   <listitem>
+    <para>
+      Coredumps are now acquired by <literal>systemd-coredump</literal> by default.
+      <literal>systemd-coredump</literal> behaviour can still be modified via
+      <option>systemd.coredump.extraConfig</option>.
+      To stick to the old behaviour (having the kernel dump to a file called <literal>core</literal>
+      in the working directory), without piping it through <literal>systemd-coredump</literal>, set
+      <option>boot.kernel.sysctl."kernel.core_pattern"</option> to <literal>"core"</literal>.
+    </para>
+   </listitem>
+  <listitem>
+   <para>
+    <literal>systemd.packages</literal> option now also supports generators and
+    shutdown scripts. Old <literal>systemd.generator-packages</literal> option has
+    been removed.
+   </para>
+  </listitem>
   </itemizedlist>
  </section>
 </section>
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix
index b622a4d59e8..1bad63b9194 100644
--- a/nixos/lib/build-vms.nix
+++ b/nixos/lib/build-vms.nix
@@ -54,11 +54,11 @@ rec {
 
       machinesNumbered = zipLists machines (range 1 254);
 
-      nodes_ = flip map machinesNumbered (m: nameValuePair m.fst
+      nodes_ = forEach machinesNumbered (m: nameValuePair m.fst
         [ ( { config, nodes, ... }:
             let
               interfacesNumbered = zipLists config.virtualisation.vlans (range 1 255);
-              interfaces = flip map interfacesNumbered ({ fst, snd }:
+              interfaces = forEach interfacesNumbered ({ fst, snd }:
                 nameValuePair "eth${toString snd}" { ipv4.addresses =
                   [ { address = "192.168.${toString fst}.${toString m.snd}";
                       prefixLength = 24;
@@ -88,7 +88,7 @@ rec {
                          "${config.networking.hostName}\n"));
 
                   virtualisation.qemu.options =
-                    flip map interfacesNumbered
+                    forEach interfacesNumbered
                       ({ fst, snd }: qemuNICFlags snd fst m.snd);
                 };
             }
diff --git a/nixos/maintainers/option-usages.nix b/nixos/maintainers/option-usages.nix
index a67a0ab960e..11247666ecd 100644
--- a/nixos/maintainers/option-usages.nix
+++ b/nixos/maintainers/option-usages.nix
@@ -102,7 +102,7 @@ let
       # builtins multiply by 4 the memory usage and the time used to compute
       # each options.
       tryCollectOptions = moduleResult:
-        flip map (excludeOptions (collect isOption moduleResult)) (opt:
+        forEach (excludeOptions (collect isOption moduleResult)) (opt:
           { name = showOption opt.loc; } // builtins.tryEval (strict opt.value));
      in
        keepNames (
diff --git a/nixos/modules/config/fonts/fontconfig-penultimate.nix b/nixos/modules/config/fonts/fontconfig-penultimate.nix
index 04fa8b9559a..24ed9c97668 100644
--- a/nixos/modules/config/fonts/fontconfig-penultimate.nix
+++ b/nixos/modules/config/fonts/fontconfig-penultimate.nix
@@ -52,85 +52,11 @@ let
       </fontconfig>
     '';
 
+  # local configuration file
   localConf = pkgs.writeText "fc-local.conf" cfg.localConf;
 
-  # The configuration to be included in /etc/font/
-  penultimateConf = pkgs.runCommand "font-penultimate-conf" {
-    preferLocalBuild = true;
-    } ''
-    support_folder=$out/etc/fonts/conf.d
-    latest_folder=$out/etc/fonts/${latestVersion}/conf.d
-
-    mkdir -p $support_folder
-    mkdir -p $latest_folder
-
-    ln -s ${supportFontsConf} $support_folder/../fonts.conf
-    ln -s ${latestPkg.out}/etc/fonts/fonts.conf \
-          $latest_folder/../fonts.conf
-
-    # fontconfig-penultimate various configuration files
-    ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \
-          $support_folder
-    ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \
-          $latest_folder
-
-    ln -s ${cacheConfSupport} $support_folder/00-nixos-cache.conf
-    ln -s ${cacheConfLatest}  $latest_folder/00-nixos-cache.conf
-
-    rm $support_folder/10-antialias.conf $latest_folder/10-antialias.conf
-    ln -s ${antialiasConf} $support_folder/10-antialias.conf
-    ln -s ${antialiasConf} $latest_folder/10-antialias.conf
-
-    rm $support_folder/10-hinting.conf $latest_folder/10-hinting.conf
-    ln -s ${hintingConf} $support_folder/10-hinting.conf
-    ln -s ${hintingConf} $latest_folder/10-hinting.conf
-
-    ${optionalString cfg.useEmbeddedBitmaps ''
-    rm $support_folder/10-no-embedded-bitmaps.conf
-    rm $latest_folder/10-no-embedded-bitmaps.conf
-    ''}
-
-    rm $support_folder/10-subpixel.conf $latest_folder/10-subpixel.conf
-    ln -s ${subpixelConf} $support_folder/10-subpixel.conf
-    ln -s ${subpixelConf} $latest_folder/10-subpixel.conf
-
-    ${optionalString (cfg.dpi != 0) ''
-    ln -s ${dpiConf} $support_folder/11-dpi.conf
-    ln -s ${dpiConf} $latest_folder/11-dpi.conf
-    ''}
-
-    ${optionalString (!cfg.includeUserConf) ''
-    rm $support_folder/50-user.conf
-    rm $latest_folder/50-user.conf
-    ''}
-
-    # 51-local.conf
-    rm $latest_folder/51-local.conf
-    substitute \
-      ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/51-local.conf \
-      $latest_folder/51-local.conf \
-      --replace local.conf /etc/fonts/${latestVersion}/local.conf
-
-    # local.conf (indirect priority 51)
-    ${optionalString (cfg.localConf != "") ''
-    ln -s ${localConf}        $out/etc/fonts/local.conf
-    ln -s ${localConf}        $out/etc/fonts/${latestVersion}/local.conf
-    ''}
-
-    ln -s ${defaultFontsConf} $support_folder/52-default-fonts.conf
-    ln -s ${defaultFontsConf} $latest_folder/52-default-fonts.conf
-
-    ${optionalString cfg.allowBitmaps ''
-    rm $support_folder/53-no-bitmaps.conf
-    rm $latest_folder/53-no-bitmaps.conf
-    ''}
-
-    ${optionalString (!cfg.allowType1) ''
-    ln -s ${rejectType1} $support_folder/53-no-type1.conf
-    ln -s ${rejectType1} $latest_folder/53-no-type1.conf
-    ''}
-  '';
-
+  # rendering settings configuration files
+  # priority 10
   hintingConf = pkgs.writeText "fc-10-hinting.conf" ''
     <?xml version='1.0'?>
     <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
@@ -199,6 +125,8 @@ let
     </fontconfig>
   '';
 
+  # default fonts configuration file
+  # priority 52
   defaultFontsConf =
     let genDefault = fonts: name:
       optionalString (fonts != []) ''
@@ -228,7 +156,9 @@ let
     </fontconfig>
   '';
 
-  rejectType1 = pkgs.writeText "fc-53-no-type1.conf" ''
+  # reject Type 1 fonts
+  # priority 53
+  rejectType1 = pkgs.writeText "fc-53-nixos-reject-type1.conf" ''
     <?xml version="1.0"?>
     <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
     <fontconfig>
@@ -245,6 +175,88 @@ let
     </fontconfig>
   '';
 
+  # The configuration to be included in /etc/font/
+  penultimateConf = pkgs.runCommand "fontconfig-penultimate-conf" {
+    preferLocalBuild = true;
+  } ''
+    support_folder=$out/etc/fonts/conf.d
+    latest_folder=$out/etc/fonts/${latestVersion}/conf.d
+
+    mkdir -p $support_folder
+    mkdir -p $latest_folder
+
+    # fonts.conf
+    ln -s ${supportFontsConf} $support_folder/../fonts.conf
+    ln -s ${latestPkg.out}/etc/fonts/fonts.conf \
+          $latest_folder/../fonts.conf
+
+    # fontconfig-penultimate various configuration files
+    ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \
+          $support_folder
+    ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \
+          $latest_folder
+
+    ln -s ${cacheConfSupport} $support_folder/00-nixos-cache.conf
+    ln -s ${cacheConfLatest}  $latest_folder/00-nixos-cache.conf
+
+    rm $support_folder/10-antialias.conf $latest_folder/10-antialias.conf
+    ln -s ${antialiasConf} $support_folder/10-antialias.conf
+    ln -s ${antialiasConf} $latest_folder/10-antialias.conf
+
+    rm $support_folder/10-hinting.conf $latest_folder/10-hinting.conf
+    ln -s ${hintingConf} $support_folder/10-hinting.conf
+    ln -s ${hintingConf} $latest_folder/10-hinting.conf
+
+    ${optionalString cfg.useEmbeddedBitmaps ''
+    rm $support_folder/10-no-embedded-bitmaps.conf
+    rm $latest_folder/10-no-embedded-bitmaps.conf
+    ''}
+
+    rm $support_folder/10-subpixel.conf $latest_folder/10-subpixel.conf
+    ln -s ${subpixelConf} $support_folder/10-subpixel.conf
+    ln -s ${subpixelConf} $latest_folder/10-subpixel.conf
+
+    ${optionalString (cfg.dpi != 0) ''
+    ln -s ${dpiConf} $support_folder/11-dpi.conf
+    ln -s ${dpiConf} $latest_folder/11-dpi.conf
+    ''}
+
+    # 50-user.conf
+    ${optionalString (!cfg.includeUserConf) ''
+    rm $support_folder/50-user.conf
+    rm $latest_folder/50-user.conf
+    ''}
+
+    # 51-local.conf
+    rm $latest_folder/51-local.conf
+    substitute \
+      ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/51-local.conf \
+      $latest_folder/51-local.conf \
+      --replace local.conf /etc/fonts/${latestVersion}/local.conf
+
+    # local.conf (indirect priority 51)
+    ${optionalString (cfg.localConf != "") ''
+    ln -s ${localConf}        $support_folder/../local.conf
+    ln -s ${localConf}        $latest_folder/../local.conf
+    ''}
+
+    # 52-nixos-default-fonts.conf
+    ln -s ${defaultFontsConf} $support_folder/52-nixos-default-fonts.conf
+    ln -s ${defaultFontsConf} $latest_folder/52-nixos-default-fonts.conf
+
+    # 53-no-bitmaps.conf
+    ${optionalString cfg.allowBitmaps ''
+    rm $support_folder/53-no-bitmaps.conf
+    rm $latest_folder/53-no-bitmaps.conf
+    ''}
+
+    ${optionalString (!cfg.allowType1) ''
+    # 53-nixos-reject-type1.conf
+    ln -s ${rejectType1} $support_folder/53-nixos-reject-type1.conf
+    ln -s ${rejectType1} $latest_folder/53-nixos-reject-type1.conf
+    ''}
+  '';
+
 in
 {
 
diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix
index 724158f7382..fe0b88cf4c2 100644
--- a/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixos/modules/config/fonts/fontconfig.nix
@@ -14,250 +14,252 @@ Low number means high priority.
 
 */
 
-{ config, lib, pkgs, ... }:
+{ config, pkgs, lib, ... }:
 
 with lib;
 
-let cfg = config.fonts.fontconfig;
-
-    fcBool = x: "<bool>" + (boolToString x) + "</bool>";
-
-    # back-supported fontconfig version and package
-    # version is used for font cache generation
-    supportVersion = "210";
-    supportPkg     = pkgs."fontconfig_${supportVersion}";
-
-    # latest fontconfig version and package
-    # version is used for configuration folder name, /etc/fonts/VERSION/
-    # note: format differs from supportVersion and can not be used with makeCacheConf
-    latestVersion  = pkgs.fontconfig.configVersion;
-    latestPkg      = pkgs.fontconfig;
-
-    # supported version fonts.conf
-    supportFontsConf = pkgs.makeFontsConf { fontconfig = supportPkg; fontDirectories = config.fonts.fonts; };
-
-    # configuration file to read fontconfig cache
-    # version dependent
-    # priority 0
-    cacheConfSupport = makeCacheConf { version = supportVersion; };
-    cacheConfLatest  = makeCacheConf {};
-
-    # generate the font cache setting file for a fontconfig version
-    # use latest when no version is passed
-    makeCacheConf = { version ? null }:
-      let
-        fcPackage = if version == null
-                    then "fontconfig"
-                    else "fontconfig_${version}";
-        makeCache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; };
-        cache     = makeCache pkgs."${fcPackage}";
-        cache32   = makeCache pkgs.pkgsi686Linux."${fcPackage}";
-      in
-      pkgs.writeText "fc-00-nixos-cache.conf" ''
-        <?xml version='1.0'?>
-        <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
-        <fontconfig>
-          <!-- Font directories -->
-          ${concatStringsSep "\n" (map (font: "<dir>${font}</dir>") config.fonts.fonts)}
-          <!-- Pre-generated font caches -->
-          <cachedir>${cache}</cachedir>
-          ${optionalString (pkgs.stdenv.isx86_64 && cfg.cache32Bit) ''
-            <cachedir>${cache32}</cachedir>
-          ''}
-        </fontconfig>
-      '';
-
-    # rendering settings configuration file
-    # priority 10
-    renderConf = pkgs.writeText "fc-10-nixos-rendering.conf" ''
+let
+  cfg = config.fonts.fontconfig;
+
+  fcBool = x: "<bool>" + (boolToString x) + "</bool>";
+
+  # back-supported fontconfig version and package
+  # version is used for font cache generation
+  supportVersion = "210";
+  supportPkg     = pkgs."fontconfig_${supportVersion}";
+
+  # latest fontconfig version and package
+  # version is used for configuration folder name, /etc/fonts/VERSION/
+  # note: format differs from supportVersion and can not be used with makeCacheConf
+  latestVersion  = pkgs.fontconfig.configVersion;
+  latestPkg      = pkgs.fontconfig;
+
+  # supported version fonts.conf
+  supportFontsConf = pkgs.makeFontsConf { fontconfig = supportPkg; fontDirectories = config.fonts.fonts; };
+
+  # configuration file to read fontconfig cache
+  # version dependent
+  # priority 0
+  cacheConfSupport = makeCacheConf { version = supportVersion; };
+  cacheConfLatest  = makeCacheConf {};
+
+  # generate the font cache setting file for a fontconfig version
+  # use latest when no version is passed
+  makeCacheConf = { version ? null }:
+    let
+      fcPackage = if version == null
+                  then "fontconfig"
+                  else "fontconfig_${version}";
+      makeCache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; };
+      cache     = makeCache pkgs."${fcPackage}";
+      cache32   = makeCache pkgs.pkgsi686Linux."${fcPackage}";
+    in
+    pkgs.writeText "fc-00-nixos-cache.conf" ''
       <?xml version='1.0'?>
       <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
       <fontconfig>
-
-        <!-- Default rendering settings -->
-        <match target="pattern">
-          <edit mode="append" name="hinting">
-            ${fcBool cfg.hinting.enable}
-          </edit>
-          <edit mode="append" name="autohint">
-            ${fcBool cfg.hinting.autohint}
-          </edit>
-          <edit mode="append" name="hintstyle">
-            <const>hintslight</const>
-          </edit>
-          <edit mode="append" name="antialias">
-            ${fcBool cfg.antialias}
-          </edit>
-          <edit mode="append" name="rgba">
-            <const>${cfg.subpixel.rgba}</const>
-          </edit>
-          <edit mode="append" name="lcdfilter">
-            <const>lcd${cfg.subpixel.lcdfilter}</const>
-          </edit>
-        </match>
-
-        ${optionalString (cfg.dpi != 0) ''
-        <match target="pattern">
-          <edit name="dpi" mode="assign">
-            <double>${toString cfg.dpi}</double>
-          </edit>
-        </match>
+        <!-- Font directories -->
+        ${concatStringsSep "\n" (map (font: "<dir>${font}</dir>") config.fonts.fonts)}
+        <!-- Pre-generated font caches -->
+        <cachedir>${cache}</cachedir>
+        ${optionalString (pkgs.stdenv.isx86_64 && cfg.cache32Bit) ''
+          <cachedir>${cache32}</cachedir>
         ''}
-
-      </fontconfig>
-    '';
-
-    # local configuration file
-    # priority 51
-    localConf = pkgs.writeText "fc-local.conf" cfg.localConf;
-
-    # default fonts configuration file
-    # priority 52
-    defaultFontsConf =
-      let genDefault = fonts: name:
-        optionalString (fonts != []) ''
-          <alias>
-            <family>${name}</family>
-            <prefer>
-            ${concatStringsSep ""
-            (map (font: ''
-              <family>${font}</family>
-            '') fonts)}
-            </prefer>
-          </alias>
-        '';
-      in
-      pkgs.writeText "fc-52-nixos-default-fonts.conf" ''
-      <?xml version='1.0'?>
-      <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
-      <fontconfig>
-
-        <!-- Default fonts -->
-        ${genDefault cfg.defaultFonts.sansSerif "sans-serif"}
-
-        ${genDefault cfg.defaultFonts.serif     "serif"}
-
-        ${genDefault cfg.defaultFonts.monospace "monospace"}
-
       </fontconfig>
     '';
 
-    # bitmap font options
-    # priority 53
-    rejectBitmaps = pkgs.writeText "fc-53-nixos-bitmaps.conf" ''
-      <?xml version="1.0"?>
-      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-      <fontconfig>
-
-      ${optionalString (!cfg.allowBitmaps) ''
-      <!-- Reject bitmap fonts -->
-      <selectfont>
-        <rejectfont>
-          <pattern>
-            <patelt name="scalable"><bool>false</bool></patelt>
-          </pattern>
-        </rejectfont>
-      </selectfont>
-      ''}
-
-      <!-- Use embedded bitmaps in fonts like Calibri? -->
-      <match target="font">
-        <edit name="embeddedbitmap" mode="assign">
-          ${fcBool cfg.useEmbeddedBitmaps}
+  # rendering settings configuration file
+  # priority 10
+  renderConf = pkgs.writeText "fc-10-nixos-rendering.conf" ''
+    <?xml version='1.0'?>
+    <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+    <fontconfig>
+
+      <!-- Default rendering settings -->
+      <match target="pattern">
+        <edit mode="append" name="hinting">
+          ${fcBool cfg.hinting.enable}
+        </edit>
+        <edit mode="append" name="autohint">
+          ${fcBool cfg.hinting.autohint}
+        </edit>
+        <edit mode="append" name="hintstyle">
+          <const>hintslight</const>
+        </edit>
+        <edit mode="append" name="antialias">
+          ${fcBool cfg.antialias}
+        </edit>
+        <edit mode="append" name="rgba">
+          <const>${cfg.subpixel.rgba}</const>
+        </edit>
+        <edit mode="append" name="lcdfilter">
+          <const>lcd${cfg.subpixel.lcdfilter}</const>
         </edit>
       </match>
 
-      </fontconfig>
-    '';
-
-    # reject Type 1 fonts
-    # priority 53
-    rejectType1 = pkgs.writeText "fc-53-nixos-reject-type1.conf" ''
-      <?xml version="1.0"?>
-      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-      <fontconfig>
-
-      <!-- Reject Type 1 fonts -->
-      <selectfont>
-        <rejectfont>
-          <pattern>
-            <patelt name="fontformat"><string>Type 1</string></patelt>
-          </pattern>
-        </rejectfont>
-      </selectfont>
-
-      </fontconfig>
-    '';
-
-    # fontconfig configuration package
-    confPkg = pkgs.runCommand "fontconfig-conf" { preferLocalBuild = true; } ''
-      support_folder=$out/etc/fonts
-      latest_folder=$out/etc/fonts/${latestVersion}
-
-      mkdir -p $support_folder/conf.d
-      mkdir -p $latest_folder/conf.d
-
-      # fonts.conf
-      ln -s ${supportFontsConf} $support_folder/fonts.conf
-      ln -s ${latestPkg.out}/etc/fonts/fonts.conf \
-            $latest_folder/fonts.conf
-
-      # fontconfig default config files
-      ln -s ${supportPkg.out}/etc/fonts/conf.d/*.conf \
-            $support_folder/conf.d/
-      ln -s ${latestPkg.out}/etc/fonts/conf.d/*.conf \
-            $latest_folder/conf.d/
-
-      # update latest 51-local.conf path to look at the latest local.conf
-      rm    $latest_folder/conf.d/51-local.conf
-
-      substitute ${latestPkg.out}/etc/fonts/conf.d/51-local.conf \
-                 $latest_folder/conf.d/51-local.conf \
-                 --replace local.conf /etc/fonts/${latestVersion}/local.conf
-
-      # 00-nixos-cache.conf
-      ln -s ${cacheConfSupport} \
-            $support_folder/conf.d/00-nixos-cache.conf
-      ln -s ${cacheConfLatest}  $latest_folder/conf.d/00-nixos-cache.conf
-
-      # 10-nixos-rendering.conf
-      ln -s ${renderConf}       $support_folder/conf.d/10-nixos-rendering.conf
-      ln -s ${renderConf}       $latest_folder/conf.d/10-nixos-rendering.conf
-
-      # 50-user.conf
-      ${optionalString (! cfg.includeUserConf) ''
-      rm    $support_folder/conf.d/50-user.conf
-      rm    $latest_folder/conf.d/50-user.conf
-      ''}
-
-      # local.conf (indirect priority 51)
-      ${optionalString (cfg.localConf != "") ''
-      ln -s ${localConf}        $support_folder/local.conf
-      ln -s ${localConf}        $latest_folder/local.conf
-      ''}
-
-      # 52-nixos-default-fonts.conf
-      ln -s ${defaultFontsConf} $support_folder/conf.d/52-nixos-default-fonts.conf
-      ln -s ${defaultFontsConf} $latest_folder/conf.d/52-nixos-default-fonts.conf
-
-      # 53-nixos-bitmaps.conf
-      ln -s ${rejectBitmaps} $support_folder/conf.d/53-nixos-bitmaps.conf
-      ln -s ${rejectBitmaps} $latest_folder/conf.d/53-nixos-bitmaps.conf
-
-      ${optionalString (! cfg.allowType1) ''
-      # 53-nixos-reject-type1.conf
-      ln -s ${rejectType1} $support_folder/conf.d/53-nixos-reject-type1.conf
-      ln -s ${rejectType1} $latest_folder/conf.d/53-nixos-reject-type1.conf
+      ${optionalString (cfg.dpi != 0) ''
+      <match target="pattern">
+        <edit name="dpi" mode="assign">
+          <double>${toString cfg.dpi}</double>
+        </edit>
+      </match>
       ''}
-    '';
 
-    # Package with configuration files
-    # this merge all the packages in the fonts.fontconfig.confPackages list
-    fontconfigEtc = pkgs.buildEnv {
-      name  = "fontconfig-etc";
-      paths = cfg.confPackages;
-      ignoreCollisions = true;
-    };
+    </fontconfig>
+  '';
+
+  # local configuration file
+  localConf = pkgs.writeText "fc-local.conf" cfg.localConf;
+
+  # default fonts configuration file
+  # priority 52
+  defaultFontsConf =
+    let genDefault = fonts: name:
+      optionalString (fonts != []) ''
+        <alias>
+          <family>${name}</family>
+          <prefer>
+          ${concatStringsSep ""
+          (map (font: ''
+            <family>${font}</family>
+          '') fonts)}
+          </prefer>
+        </alias>
+      '';
+    in
+    pkgs.writeText "fc-52-nixos-default-fonts.conf" ''
+    <?xml version='1.0'?>
+    <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+    <fontconfig>
+
+      <!-- Default fonts -->
+      ${genDefault cfg.defaultFonts.sansSerif "sans-serif"}
+
+      ${genDefault cfg.defaultFonts.serif     "serif"}
+
+      ${genDefault cfg.defaultFonts.monospace "monospace"}
+
+    </fontconfig>
+  '';
+
+  # bitmap font options
+  # priority 53
+  rejectBitmaps = pkgs.writeText "fc-53-no-bitmaps.conf" ''
+    <?xml version="1.0"?>
+    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+    <fontconfig>
+
+    ${optionalString (!cfg.allowBitmaps) ''
+    <!-- Reject bitmap fonts -->
+    <selectfont>
+      <rejectfont>
+        <pattern>
+          <patelt name="scalable"><bool>false</bool></patelt>
+        </pattern>
+      </rejectfont>
+    </selectfont>
+    ''}
+
+    <!-- Use embedded bitmaps in fonts like Calibri? -->
+    <match target="font">
+      <edit name="embeddedbitmap" mode="assign">
+        ${fcBool cfg.useEmbeddedBitmaps}
+      </edit>
+    </match>
+
+    </fontconfig>
+  '';
+
+  # reject Type 1 fonts
+  # priority 53
+  rejectType1 = pkgs.writeText "fc-53-nixos-reject-type1.conf" ''
+    <?xml version="1.0"?>
+    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+    <fontconfig>
+
+    <!-- Reject Type 1 fonts -->
+    <selectfont>
+      <rejectfont>
+        <pattern>
+          <patelt name="fontformat"><string>Type 1</string></patelt>
+        </pattern>
+      </rejectfont>
+    </selectfont>
+
+    </fontconfig>
+  '';
+
+  # fontconfig configuration package
+  confPkg = pkgs.runCommand "fontconfig-conf" {
+    preferLocalBuild = true;
+  } ''
+    support_folder=$out/etc/fonts/conf.d
+    latest_folder=$out/etc/fonts/${latestVersion}/conf.d
+
+    mkdir -p $support_folder
+    mkdir -p $latest_folder
+
+    # fonts.conf
+    ln -s ${supportFontsConf} $support_folder/../fonts.conf
+    ln -s ${latestPkg.out}/etc/fonts/fonts.conf \
+          $latest_folder/../fonts.conf
+
+    # fontconfig default config files
+    ln -s ${supportPkg.out}/etc/fonts/conf.d/*.conf \
+          $support_folder/
+    ln -s ${latestPkg.out}/etc/fonts/conf.d/*.conf \
+          $latest_folder/
+
+    # update latest 51-local.conf path to look at the latest local.conf
+    rm    $latest_folder/51-local.conf
+
+    substitute ${latestPkg.out}/etc/fonts/conf.d/51-local.conf \
+               $latest_folder/51-local.conf \
+               --replace local.conf /etc/fonts/${latestVersion}/local.conf
+
+    # 00-nixos-cache.conf
+    ln -s ${cacheConfSupport} \
+          $support_folder/00-nixos-cache.conf
+    ln -s ${cacheConfLatest}  $latest_folder/00-nixos-cache.conf
+
+    # 10-nixos-rendering.conf
+    ln -s ${renderConf}       $support_folder/10-nixos-rendering.conf
+    ln -s ${renderConf}       $latest_folder/10-nixos-rendering.conf
+
+    # 50-user.conf
+    ${optionalString (!cfg.includeUserConf) ''
+    rm $support_folder/50-user.conf
+    rm $latest_folder/50-user.conf
+    ''}
+
+    # local.conf (indirect priority 51)
+    ${optionalString (cfg.localConf != "") ''
+    ln -s ${localConf}        $support_folder/../local.conf
+    ln -s ${localConf}        $latest_folder/../local.conf
+    ''}
+
+    # 52-nixos-default-fonts.conf
+    ln -s ${defaultFontsConf} $support_folder/52-nixos-default-fonts.conf
+    ln -s ${defaultFontsConf} $latest_folder/52-nixos-default-fonts.conf
+
+    # 53-no-bitmaps.conf
+    ln -s ${rejectBitmaps} $support_folder/53-no-bitmaps.conf
+    ln -s ${rejectBitmaps} $latest_folder/53-no-bitmaps.conf
+
+    ${optionalString (!cfg.allowType1) ''
+    # 53-nixos-reject-type1.conf
+    ln -s ${rejectType1} $support_folder/53-nixos-reject-type1.conf
+    ln -s ${rejectType1} $latest_folder/53-nixos-reject-type1.conf
+    ''}
+  '';
+
+  # Package with configuration files
+  # this merge all the packages in the fonts.fontconfig.confPackages list
+  fontconfigEtc = pkgs.buildEnv {
+    name  = "fontconfig-etc";
+    paths = cfg.confPackages;
+    ignoreCollisions = true;
+  };
 in
 {
 
diff --git a/nixos/modules/config/qt5.nix b/nixos/modules/config/qt5.nix
new file mode 100644
index 00000000000..7de1c0f5d55
--- /dev/null
+++ b/nixos/modules/config/qt5.nix
@@ -0,0 +1,102 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.qt5;
+
+  isQGnome = cfg.platformTheme == "gnome" && cfg.style == "adwaita";
+  isQtStyle = cfg.platformTheme == "gtk2" && cfg.style != "adwaita";
+
+  packages = if isQGnome then [ pkgs.qgnomeplatform pkgs.adwaita-qt ]
+    else if isQtStyle then [ pkgs.qtstyleplugins ]
+    else throw "`qt5.platformTheme` ${cfg.platformTheme} and `qt5.style` ${cfg.style} are not compatible.";
+
+in
+
+{
+
+  options = {
+    qt5 = {
+
+      enable = mkEnableOption "Qt5 theming configuration";
+
+      platformTheme = mkOption {
+        type = types.enum [
+          "gtk2"
+          "gnome"
+        ];
+        example = "gnome";
+        relatedPackages = [
+          "qgnomeplatform"
+          ["libsForQt5" "qtstyleplugins"]
+        ];
+        description = ''
+          Selects the platform theme to use for Qt5 applications.</para>
+          <para>The options are
+          <variablelist>
+            <varlistentry>
+              <term><literal>gtk</literal></term>
+              <listitem><para>Use GTK theme with
+                <link xlink:href="https://github.com/qt/qtstyleplugins">qtstyleplugins</link>
+              </para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term><literal>gnome</literal></term>
+              <listitem><para>Use GNOME theme with
+                <link xlink:href="https://github.com/FedoraQt/QGnomePlatform">qgnomeplatform</link>
+              </para></listitem>
+            </varlistentry>
+          </variablelist>
+        '';
+      };
+
+      style = mkOption {
+        type = types.enum [
+          "adwaita"
+          "cleanlooks"
+          "gtk2"
+          "motif"
+          "plastique"
+        ];
+        example = "adwaita";
+        relatedPackages = [
+          "adwaita-qt"
+          ["libsForQt5" "qtstyleplugins"]
+        ];
+        description = ''
+          Selects the style to use for Qt5 applications.</para>
+          <para>The options are
+          <variablelist>
+            <varlistentry>
+              <term><literal>adwaita</literal></term>
+              <listitem><para>Use Adwaita Qt style with
+                <link xlink:href="https://github.com/FedoraQt/adwaita-qt">adwaita</link>
+              </para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term><literal>cleanlooks</literal></term>
+              <term><literal>gtk2</literal></term>
+              <term><literal>motif</literal></term>
+              <term><literal>plastique</literal></term>
+              <listitem><para>Use styles from
+                <link xlink:href="https://github.com/qt/qtstyleplugins">qtstyleplugins</link>
+              </para></listitem>
+            </varlistentry>
+          </variablelist>
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    environment.variables.QT_QPA_PLATFORMTHEME = cfg.platformTheme;
+
+    environment.variables.QT_STYLE_OVERRIDE = cfg.style;
+
+    environment.systemPackages = packages;
+
+  };
+}
diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix
index 0c6a7e2431a..fb2b58eed72 100644
--- a/nixos/modules/config/sysctl.nix
+++ b/nixos/modules/config/sysctl.nix
@@ -42,22 +42,16 @@ in
 
   config = {
 
-    environment.etc."sysctl.d/nixos.conf".text =
+    environment.etc."sysctl.d/60-nixos.conf".text =
       concatStrings (mapAttrsToList (n: v:
         optionalString (v != null) "${n}=${if v == false then "0" else toString v}\n"
       ) config.boot.kernel.sysctl);
 
     systemd.services.systemd-sysctl =
       { wantedBy = [ "multi-user.target" ];
-        restartTriggers = [ config.environment.etc."sysctl.d/nixos.conf".source ];
+        restartTriggers = [ config.environment.etc."sysctl.d/60-nixos.conf".source ];
       };
 
-    # Enable hardlink and symlink restrictions.  See
-    # https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=800179c9b8a1e796e441674776d11cd4c05d61d7
-    # for details.
-    boot.kernel.sysctl."fs.protected_hardlinks" = true;
-    boot.kernel.sysctl."fs.protected_symlinks" = true;
-
     # Hide kernel pointers (e.g. in /proc/modules) for unprivileged
     # users as these make it easier to exploit kernel vulnerabilities.
     boot.kernel.sysctl."kernel.kptr_restrict" = 1;
diff --git a/nixos/modules/config/vte.nix b/nixos/modules/config/vte.nix
new file mode 100644
index 00000000000..9024ceddaee
--- /dev/null
+++ b/nixos/modules/config/vte.nix
@@ -0,0 +1,52 @@
+# VTE
+
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+  vteInitSnippet = ''
+    # Show current working directory in VTE terminals window title.
+    # Supports both bash and zsh, requires interactive shell.
+    . ${pkgs.vte}/etc/profile.d/vte.sh
+  '';
+
+in
+
+{
+
+  options = {
+
+    programs.bash.vteIntegration = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Whether to enable Bash integration for VTE terminals.
+        This allows it to preserve the current directory of the shell
+        across terminals.
+      '';
+    };
+
+    programs.zsh.vteIntegration = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Whether to enable Zsh integration for VTE terminals.
+        This allows it to preserve the current directory of the shell
+        across terminals.
+      '';
+    };
+
+  };
+
+  config = mkMerge [
+    (mkIf config.programs.bash.vteIntegration {
+      programs.bash.interactiveShellInit = vteInitSnippet;
+    })
+
+    (mkIf config.programs.zsh.vteIntegration {
+      programs.zsh.interactiveShellInit = vteInitSnippet;
+    })
+  ];
+}
diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix
index 0c407b19936..7f355a13249 100644
--- a/nixos/modules/installer/cd-dvd/sd-image.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image.nix
@@ -73,8 +73,8 @@ in
 
     firmwareSize = mkOption {
       type = types.int;
-      # As of 2019-05-31 the Raspberry pi firmware + u-bot takes ~13MiB
-      default = 20;
+      # As of 2019-08-18 the Raspberry pi firmware + u-boot takes ~18MiB
+      default = 30;
       description = ''
         Size of the /boot/firmware partition, in megabytes.
       '';
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index a167336c156..79c72fc1422 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -27,6 +27,7 @@
   ./config/nsswitch.nix
   ./config/power-management.nix
   ./config/pulseaudio.nix
+  ./config/qt5.nix
   ./config/resolvconf.nix
   ./config/shells-environment.nix
   ./config/swap.nix
@@ -37,6 +38,7 @@
   ./config/unix-odbc-drivers.nix
   ./config/users-groups.nix
   ./config/vpnc.nix
+  ./config/vte.nix
   ./config/zram.nix
   ./hardware/acpilight.nix
   ./hardware/all-firmware.nix
@@ -115,6 +117,7 @@
   ./programs/fuse.nix
   ./programs/gnome-disks.nix
   ./programs/gnome-documents.nix
+  ./programs/gnome-terminal.nix
   ./programs/gpaste.nix
   ./programs/gnupg.nix
   ./programs/gphoto2.nix
@@ -285,6 +288,7 @@
   ./services/desktops/flatpak.nix
   ./services/desktops/geoclue2.nix
   ./services/desktops/gsignond.nix
+  ./services/desktops/gvfs.nix
   ./services/desktops/pipewire.nix
   ./services/desktops/gnome3/at-spi2-core.nix
   ./services/desktops/gnome3/chrome-gnome-shell.nix
@@ -295,9 +299,7 @@
   ./services/desktops/gnome3/gnome-remote-desktop.nix
   ./services/desktops/gnome3/gnome-online-miners.nix
   ./services/desktops/gnome3/gnome-settings-daemon.nix
-  ./services/desktops/gnome3/gnome-terminal-server.nix
   ./services/desktops/gnome3/gnome-user-share.nix
-  ./services/desktops/gnome3/gvfs.nix
   ./services/desktops/gnome3/rygel.nix
   ./services/desktops/gnome3/seahorse.nix
   ./services/desktops/gnome3/sushi.nix
@@ -436,13 +438,13 @@
   ./services/misc/logkeys.nix
   ./services/misc/leaps.nix
   ./services/misc/lidarr.nix
-  ./services/misc/mantisbt.nix
   ./services/misc/mathics.nix
   ./services/misc/matrix-synapse.nix
   ./services/misc/mbpfan.nix
   ./services/misc/mediatomb.nix
   ./services/misc/mesos-master.nix
   ./services/misc/mesos-slave.nix
+  ./services/misc/metabase.nix
   ./services/misc/mwlib.nix
   ./services/misc/nix-daemon.nix
   ./services/misc/nix-gc.nix
@@ -520,7 +522,6 @@
   ./services/monitoring/scollector.nix
   ./services/monitoring/smartd.nix
   ./services/monitoring/sysstat.nix
-  ./services/monitoring/systemhealth.nix
   ./services/monitoring/teamviewer.nix
   ./services/monitoring/telegraf.nix
   ./services/monitoring/thanos.nix
@@ -608,6 +609,7 @@
   ./services/networking/iodine.nix
   ./services/networking/iperf3.nix
   ./services/networking/ircd-hybrid/default.nix
+  ./services/networking/jormungandr.nix
   ./services/networking/iwd.nix
   ./services/networking/keepalived/default.nix
   ./services/networking/keybase.nix
@@ -862,7 +864,6 @@
   ./system/activation/activation-script.nix
   ./system/activation/top-level.nix
   ./system/boot/binfmt.nix
-  ./system/boot/coredump.nix
   ./system/boot/emergency-mode.nix
   ./system/boot/grow-partition.nix
   ./system/boot/initrd-network.nix
diff --git a/nixos/modules/profiles/hardened.nix b/nixos/modules/profiles/hardened.nix
index 3ff9a2b4fde..626d8b1d2bd 100644
--- a/nixos/modules/profiles/hardened.nix
+++ b/nixos/modules/profiles/hardened.nix
@@ -14,8 +14,6 @@ with lib;
 
   nix.allowedUsers = mkDefault [ "@users" ];
 
-  environment.memoryAllocator.provider = mkDefault "graphene-hardened";
-
   security.hideProcessInformation = mkDefault true;
 
   security.lockKernelModules = mkDefault true;
@@ -95,23 +93,17 @@ with lib;
   # Disable ftrace debugging
   boot.kernel.sysctl."kernel.ftrace_enabled" = mkDefault false;
 
-  # Enable reverse path filtering (that is, do not attempt to route packets
-  # that "obviously" do not belong to the iface's network; dropped packets are
-  # logged as martians).
+  # Enable strict reverse path filtering (that is, do not attempt to route
+  # packets that "obviously" do not belong to the iface's network; dropped
+  # packets are logged as martians).
   boot.kernel.sysctl."net.ipv4.conf.all.log_martians" = mkDefault true;
-  boot.kernel.sysctl."net.ipv4.conf.all.rp_filter" = mkDefault true;
+  boot.kernel.sysctl."net.ipv4.conf.all.rp_filter" = mkDefault "1";
   boot.kernel.sysctl."net.ipv4.conf.default.log_martians" = mkDefault true;
-  boot.kernel.sysctl."net.ipv4.conf.default.rp_filter" = mkDefault true;
+  boot.kernel.sysctl."net.ipv4.conf.default.rp_filter" = mkDefault "1";
 
   # Ignore broadcast ICMP (mitigate SMURF)
   boot.kernel.sysctl."net.ipv4.icmp_echo_ignore_broadcasts" = mkDefault true;
 
-  # Ignore route information from sender
-  boot.kernel.sysctl."net.ipv4.conf.all.accept_source_route" = mkDefault false;
-  boot.kernel.sysctl."net.ipv4.conf.default.accept_source_route" = mkDefault false;
-  boot.kernel.sysctl."net.ipv6.conf.all.accept_source_route" = mkDefault false;
-  boot.kernel.sysctl."net.ipv6.conf.default.accept_source_route" = mkDefault false;
-
   # Ignore incoming ICMP redirects (note: default is needed to ensure that the
   # setting is applied to interfaces added after the sysctls are set)
   boot.kernel.sysctl."net.ipv4.conf.all.accept_redirects" = mkDefault false;
diff --git a/nixos/modules/programs/dconf.nix b/nixos/modules/programs/dconf.nix
index b7bfb8504b6..eeebc3558bd 100644
--- a/nixos/modules/programs/dconf.nix
+++ b/nixos/modules/programs/dconf.nix
@@ -34,11 +34,11 @@ in
 
     services.dbus.packages = [ pkgs.gnome3.dconf ];
 
-    environment.variables.GIO_EXTRA_MODULES = optional cfg.enable
-      "${pkgs.gnome3.dconf.lib}/lib/gio/modules";
-    # https://github.com/NixOS/nixpkgs/pull/31891
-    #environment.variables.XDG_DATA_DIRS = optional cfg.enable
-    #  "$(echo ${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas-*)";
+    # For dconf executable
+    environment.systemPackages = [ pkgs.gnome3.dconf ];
+
+    # Needed for unwrapped applications
+    environment.variables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.gnome3.dconf.lib}/lib/gio/modules" ];
   };
 
 }
diff --git a/nixos/modules/programs/gnome-terminal.nix b/nixos/modules/programs/gnome-terminal.nix
new file mode 100644
index 00000000000..0036677a157
--- /dev/null
+++ b/nixos/modules/programs/gnome-terminal.nix
@@ -0,0 +1,36 @@
+# GNOME Terminal.
+
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+  cfg = config.programs.gnome-terminal;
+
+in
+
+{
+
+  # Added 2019-08-19
+  imports = [
+    (mkRenamedOptionModule
+      [ "services" "gnome3" "gnome-terminal-server" "enable" ]
+      [ "programs" "gnome-terminal" "enable" ])
+  ];
+
+  options = {
+
+    programs.gnome-terminal.enable = mkEnableOption "GNOME Terminal";
+
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.gnome3.gnome-terminal ];
+    services.dbus.packages = [ pkgs.gnome3.gnome-terminal ];
+    systemd.packages = [ pkgs.gnome3.gnome-terminal ];
+
+    programs.bash.vteIntegration = true;
+    programs.zsh.vteIntegration = true;
+  };
+}
diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix
index bd1a7768066..27f4166e100 100644
--- a/nixos/modules/programs/zsh/zsh.nix
+++ b/nixos/modules/programs/zsh/zsh.nix
@@ -69,9 +69,7 @@ in
 
       promptInit = mkOption {
         default = ''
-          if [ "$TERM" != dumb ]; then
-              autoload -U promptinit && promptinit && prompt walters
-          fi
+          autoload -U promptinit && promptinit && prompt walters && setopt prompt_sp
         '';
         description = ''
           Shell script code used to initialise the zsh prompt.
@@ -213,6 +211,15 @@ in
 
         ${cfg.promptInit}
 
+        # Need to disable features to support TRAMP
+        if [ "$TERM" = dumb ]; then
+            unsetopt zle prompt_cr prompt_subst
+            unfunction precmd preexec
+            unset RPS1 RPROMPT
+            PS1='$ '
+            PROMPT='$ '
+        fi
+
         # Read system-wide modifications.
         if test -f /etc/zshrc.local; then
             . /etc/zshrc.local
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 5c08a25c128..e32fa6fded4 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -226,6 +226,7 @@ with lib;
     (mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.")
     (mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
     (mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.")
+    (mkRemovedOptionModule [ "systemd" "coredump" "enable" ] "Enabled by default. Set boot.kernel.sysctl.\"kernel.core_pattern\" = \"core\"; to disable.")
 
     # ZSH
     (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
@@ -276,7 +277,7 @@ with lib;
           throw "services.redshift.longitude is set to null, you can remove this"
           else builtins.fromJSON value))
 
-  ] ++ (flip map [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
+  ] ++ (forEach [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
                    "jsonExporter" "minioExporter" "nginxExporter" "nodeExporter"
                    "snmpExporter" "unifiExporter" "varnishExporter" ]
        (opt: mkRemovedOptionModule [ "services" "prometheus" "${opt}" ] ''
diff --git a/nixos/modules/services/audio/roon-server.nix b/nixos/modules/services/audio/roon-server.nix
index 9562ad1b164..d4b0b098b78 100644
--- a/nixos/modules/services/audio/roon-server.nix
+++ b/nixos/modules/services/audio/roon-server.nix
@@ -19,6 +19,20 @@ in {
           TCP: 9100 - 9200
         '';
       };
+      user = mkOption {
+        type = types.str;
+        default = "roon-server";
+        description = ''
+          User to run the Roon Server as.
+        '';
+      };
+      group = mkOption {
+        type = types.str;
+        default = "roon-server";
+        description = ''
+          Group to run the Roon Server as.
+        '';
+      };
     };
   };
 
@@ -33,8 +47,8 @@ in {
       serviceConfig = {
         ExecStart = "${pkgs.roon-server}/opt/start.sh";
         LimitNOFILE = 8192;
-        DynamicUser = true;
-        SupplementaryGroups = "audio";
+        User = cfg.user;
+        Group = cfg.group;
         StateDirectory = name;
       };
     };
@@ -45,5 +59,15 @@ in {
       ];
       allowedUDPPorts = [ 9003 ];
     };
+
+    
+    users.groups."${cfg.group}" = {};
+    users.users."${cfg.user}" =
+      if cfg.user == "roon-server" then {
+        isSystemUser = true;
+        description = "Roon Server user";
+        groups = [ cfg.group "audio" ];
+      }
+      else {};
   };
 }
diff --git a/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix b/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix
index 4286251357f..748a025414a 100644
--- a/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix
+++ b/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix
@@ -30,9 +30,9 @@ with lib;
 
   config = mkIf config.services.gnome3.gnome-online-accounts.enable {
 
-    environment.systemPackages = [ pkgs.gnome3.gnome-online-accounts ];
+    environment.systemPackages = [ pkgs.gnome-online-accounts ];
 
-    services.dbus.packages = [ pkgs.gnome3.gnome-online-accounts ];
+    services.dbus.packages = [ pkgs.gnome-online-accounts ];
 
   };
 
diff --git a/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix b/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix
deleted file mode 100644
index fd14efee5f2..00000000000
--- a/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-# GNOME Documents daemon.
-
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-{
-
-  ###### interface
-
-  options = {
-
-    services.gnome3.gnome-terminal-server = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to enable GNOME Terminal server service,
-          needed for gnome-terminal.
-        '';
-      };
-
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf config.services.gnome3.gnome-terminal-server.enable {
-
-    environment.systemPackages = [ pkgs.gnome3.gnome-terminal ];
-
-    services.dbus.packages = [ pkgs.gnome3.gnome-terminal ];
-
-    systemd.packages = [ pkgs.gnome3.gnome-terminal ];
-
-  };
-
-}
diff --git a/nixos/modules/services/desktops/gnome3/gvfs.nix b/nixos/modules/services/desktops/gnome3/gvfs.nix
deleted file mode 100644
index 4e99d191f18..00000000000
--- a/nixos/modules/services/desktops/gnome3/gvfs.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-# gvfs backends
-
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-{
-
-  ###### interface
-
-  options = {
-
-    services.gnome3.gvfs = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to enable gvfs backends, userspace virtual filesystem used
-          by GNOME components via D-Bus.
-        '';
-      };
-
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf config.services.gnome3.gvfs.enable {
-
-    environment.systemPackages = [ pkgs.gnome3.gvfs ];
-
-    services.dbus.packages = [ pkgs.gnome3.gvfs ];
-
-    systemd.packages = [ pkgs.gnome3.gvfs ];
-
-    services.udev.packages = [ pkgs.libmtp.bin ];
-
-  };
-
-}
diff --git a/nixos/modules/services/desktops/gnome3/tracker-miners.nix b/nixos/modules/services/desktops/gnome3/tracker-miners.nix
index 20154fc2fed..b390d8368c6 100644
--- a/nixos/modules/services/desktops/gnome3/tracker-miners.nix
+++ b/nixos/modules/services/desktops/gnome3/tracker-miners.nix
@@ -30,11 +30,11 @@ with lib;
 
   config = mkIf config.services.gnome3.tracker-miners.enable {
 
-    environment.systemPackages = [ pkgs.gnome3.tracker-miners ];
+    environment.systemPackages = [ pkgs.tracker-miners ];
 
-    services.dbus.packages = [ pkgs.gnome3.tracker-miners ];
+    services.dbus.packages = [ pkgs.tracker-miners ];
 
-    systemd.packages = [ pkgs.gnome3.tracker-miners ];
+    systemd.packages = [ pkgs.tracker-miners ];
 
   };
 
diff --git a/nixos/modules/services/desktops/gnome3/tracker.nix b/nixos/modules/services/desktops/gnome3/tracker.nix
index c061f789049..2e829274226 100644
--- a/nixos/modules/services/desktops/gnome3/tracker.nix
+++ b/nixos/modules/services/desktops/gnome3/tracker.nix
@@ -30,11 +30,11 @@ with lib;
 
   config = mkIf config.services.gnome3.tracker.enable {
 
-    environment.systemPackages = [ pkgs.gnome3.tracker ];
+    environment.systemPackages = [ pkgs.tracker ];
 
-    services.dbus.packages = [ pkgs.gnome3.tracker ];
+    services.dbus.packages = [ pkgs.tracker ];
 
-    systemd.packages = [ pkgs.gnome3.tracker ];
+    systemd.packages = [ pkgs.tracker ];
 
   };
 
diff --git a/nixos/modules/services/desktops/gvfs.nix b/nixos/modules/services/desktops/gvfs.nix
new file mode 100644
index 00000000000..1d002eac41d
--- /dev/null
+++ b/nixos/modules/services/desktops/gvfs.nix
@@ -0,0 +1,59 @@
+# GVfs
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.gvfs;
+
+in
+
+{
+
+  # Added 2019-08-19
+  imports = [
+    (mkRenamedOptionModule
+      [ "services" "gnome3" "gvfs" "enable" ]
+      [ "services" "gvfs" "enable" ])
+  ];
+
+  ###### interface
+
+  options = {
+
+    services.gvfs = {
+
+      enable = mkEnableOption "GVfs, a userspace virtual filesystem";
+
+      # gvfs can be built with multiple configurations
+      package = mkOption {
+        type = types.package;
+        default = pkgs.gnome3.gvfs;
+        description = "Which GVfs package to use.";
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    environment.systemPackages = [ cfg.package ];
+
+    services.dbus.packages = [ cfg.package ];
+
+    systemd.packages = [ cfg.package ];
+
+    services.udev.packages = [ pkgs.libmtp.bin ];
+
+    # Needed for unwrapped applications
+    environment.variables.GIO_EXTRA_MODULES = [ "${cfg.package}/lib/gio/modules" ];
+
+  };
+
+}
diff --git a/nixos/modules/services/hardware/trezord.nix b/nixos/modules/services/hardware/trezord.nix
index c06a0665d02..62824ed7350 100644
--- a/nixos/modules/services/hardware/trezord.nix
+++ b/nixos/modules/services/hardware/trezord.nix
@@ -4,6 +4,12 @@ with lib;
 let
   cfg = config.services.trezord;
 in {
+
+  ### docs
+
+  meta = {
+    doc = ./trezord.xml;
+  };
   
   ### interface
 
@@ -16,6 +22,22 @@ in {
           Enable Trezor bridge daemon, for use with Trezor hardware bitcoin wallets.
         '';
       };
+
+      emulator.enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable Trezor emulator support.
+          '';
+       };
+
+      emulator.port = mkOption {
+        type = types.port;
+        default = 21324;
+        description = ''
+          Listening port for the Trezor emulator.
+          '';
+      };
     };
   };
   
@@ -44,7 +66,7 @@ in {
       path = [];
       serviceConfig = {
         Type = "simple";
-        ExecStart = "${pkgs.trezord}/bin/trezord-go";
+        ExecStart = "${pkgs.trezord}/bin/trezord-go ${optionalString cfg.emulator.enable "-e ${builtins.toString cfg.emulator.port}"}";
         User = "trezord";
       };
     };
diff --git a/nixos/modules/services/hardware/trezord.xml b/nixos/modules/services/hardware/trezord.xml
new file mode 100644
index 00000000000..972d409d9d0
--- /dev/null
+++ b/nixos/modules/services/hardware/trezord.xml
@@ -0,0 +1,26 @@
+<chapter xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="trezor">
+ <title>Trezor</title>
+ <para>
+  Trezor is an open-source cryptocurrency hardware wallet and security token
+  allowing secure storage of private keys.
+ </para>
+ <para>
+  It offers advanced features such U2F two-factor authorization, SSH login
+  through
+  <link xlink:href="https://wiki.trezor.io/Apps:SSH_agent">Trezor SSH agent</link>,
+  <link xlink:href="https://wiki.trezor.io/GPG">GPG</link> and a
+  <link xlink:href="https://wiki.trezor.io/Trezor_Password_Manager">password manager</link>.
+  For more information, guides and documentation, see <link xlink:href="https://wiki.trezor.io"/>.
+ </para>
+ <para>
+  To enable Trezor support, add the following to your <filename>configuration.nix</filename>:
+<programlisting>
+<xref linkend="opt-services.trezord.enable"/> = true;
+</programlisting>
+  This will add all necessary udev rules and start Trezor Bridge.
+ </para>
+</chapter>
diff --git a/nixos/modules/services/logging/awstats.nix b/nixos/modules/services/logging/awstats.nix
index 612ae06d0a7..54799d699a7 100644
--- a/nixos/modules/services/logging/awstats.nix
+++ b/nixos/modules/services/logging/awstats.nix
@@ -4,6 +4,7 @@ with lib;
 
 let
   cfg = config.services.awstats;
+  httpd = config.services.httpd;
   package = pkgs.awstats;
 in
 
@@ -67,50 +68,43 @@ in
     environment.etc."awstats/awstats.conf".source = pkgs.runCommand "awstats.conf"
       { preferLocalBuild = true; }
       ( let
-          cfg-httpd = config.services.httpd;
           logFormat =
-            if cfg-httpd.logFormat == "combined" then "1" else
-            if cfg-httpd.logFormat == "common" then "4" else
-            throw "awstats service doesn't support Apache log format `${cfg-httpd.logFormat}`";
+            if httpd.logFormat == "combined" then "1" else
+            if httpd.logFormat == "common" then "4" else
+            throw "awstats service doesn't support Apache log format `${httpd.logFormat}`";
         in
         ''
           sed \
             -e 's|^\(DirData\)=.*$|\1="${cfg.vardir}"|' \
             -e 's|^\(DirIcons\)=.*$|\1="icons"|' \
             -e 's|^\(CreateDirDataIfNotExists\)=.*$|\1=1|' \
-            -e 's|^\(SiteDomain\)=.*$|\1="${cfg-httpd.hostName}"|' \
-            -e 's|^\(LogFile\)=.*$|\1="${cfg-httpd.logDir}/access_log"|' \
+            -e 's|^\(SiteDomain\)=.*$|\1="${httpd.hostName}"|' \
+            -e 's|^\(LogFile\)=.*$|\1="${httpd.logDir}/access_log"|' \
             -e 's|^\(LogFormat\)=.*$|\1=${logFormat}|' \
             < '${package.out}/wwwroot/cgi-bin/awstats.model.conf' > "$out"
           echo '${cfg.extraConfig}' >> "$out"
         '');
 
+    systemd.tmpfiles.rules = optionals cfg.service.enable [
+      "d '${cfg.vardir}' - ${httpd.user} ${httpd.group} - -"
+      "Z '${cfg.vardir}' - ${httpd.user} ${httpd.group} - -"
+    ];
+
     # The httpd sub-service showing awstats.
-    services.httpd.enable = mkIf cfg.service.enable true;
-    services.httpd.extraSubservices = mkIf cfg.service.enable [ { function = { serverInfo, ... }: {
-      extraConfig =
-        ''
-          Alias ${cfg.service.urlPrefix}/classes "${package.out}/wwwroot/classes/"
-          Alias ${cfg.service.urlPrefix}/css "${package.out}/wwwroot/css/"
-          Alias ${cfg.service.urlPrefix}/icons "${package.out}/wwwroot/icon/"
-          ScriptAlias ${cfg.service.urlPrefix}/ "${package.out}/wwwroot/cgi-bin/"
+    services.httpd = optionalAttrs cfg.service.enable {
+      enable = true;
+      extraConfig = ''
+        Alias ${cfg.service.urlPrefix}/classes "${package.out}/wwwroot/classes/"
+        Alias ${cfg.service.urlPrefix}/css "${package.out}/wwwroot/css/"
+        Alias ${cfg.service.urlPrefix}/icons "${package.out}/wwwroot/icon/"
+        ScriptAlias ${cfg.service.urlPrefix}/ "${package.out}/wwwroot/cgi-bin/"
 
-          <Directory "${package.out}/wwwroot">
-            Options None
-            AllowOverride None
-            Order allow,deny
-            Allow from all
-          </Directory>
-        '';
-      startupScript =
-        let
-          inherit (serverInfo.serverConfig) user group;
-        in pkgs.writeScript "awstats_startup.sh"
-          ''
-            mkdir -p '${cfg.vardir}'
-            chown '${user}:${group}' '${cfg.vardir}'
-          '';
-    };}];
+        <Directory "${package.out}/wwwroot">
+          Options None
+          Require all granted
+        </Directory>
+      '';
+    };
 
     systemd.services.awstats-update = mkIf (cfg.updateAt != null) {
       description = "awstats log collector";
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 087630f2177..09c3a89d6a6 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -659,7 +659,7 @@ in {
         fi
 
         # We remove potentially broken links to old gitlab-shell versions
-        rm -f ${cfg.statePath}/repositories/**/*.git/hooks
+        rm -Rf ${cfg.statePath}/repositories/**/*.git/hooks
 
         ${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${pkgs.git}/bin/git config --global core.autocrlf "input"
       '';
diff --git a/nixos/modules/services/misc/mantisbt.nix b/nixos/modules/services/misc/mantisbt.nix
deleted file mode 100644
index 7e3474feb67..00000000000
--- a/nixos/modules/services/misc/mantisbt.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-let
-  cfg = config.services.mantisbt;
-
-  freshInstall = cfg.extraConfig == "";
-
-  # combined code+config directory
-  mantisbt = let
-    config_inc = pkgs.writeText "config_inc.php" ("<?php\n" + cfg.extraConfig);
-    src = pkgs.fetchurl {
-      url = "mirror://sourceforge/mantisbt/${name}.tar.gz";
-      sha256 = "1pl6xn793p3mxc6ibpr2bhg85vkdlcf57yk7pfc399g47l8x4508";
-    };
-    name = "mantisbt-1.2.19";
-    in
-      # We have to copy every time; otherwise config won't be found.
-      pkgs.runCommand name
-        { preferLocalBuild = true; allowSubstitutes = false; }
-        (''
-          mkdir -p "$out"
-          cd "$out"
-          tar -xf '${src}' --strip-components=1
-          ln -s '${config_inc}' config_inc.php
-        ''
-        + lib.optionalString (!freshInstall) "rm -r admin/"
-        );
-in
-{
-  options.services.mantisbt = {
-    enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Enable the mantisbt web service.
-        This switches on httpd with PHP and database.
-      '';
-    };
-    urlPrefix = mkOption {
-      type = types.string;
-      default = "/mantisbt";
-      description = "The URL prefix under which the mantisbt service appears.";
-    };
-    extraConfig = mkOption {
-      type = types.lines;
-      default = "";
-      description = ''
-        The contents of config_inc.php, without leading &lt;?php.
-        If left empty, the admin directory will be accessible.
-      '';
-    };
-  };
-
-
-  config = mkIf cfg.enable {
-    services.mysql.enable = true;
-    services.httpd.enable = true;
-    services.httpd.enablePHP = true;
-    # The httpd sub-service showing mantisbt.
-    services.httpd.extraSubservices = [ { function = { ... }: {
-      extraConfig =
-        ''
-          Alias ${cfg.urlPrefix} "${mantisbt}"
-        '';
-    };}];
-  };
-}
diff --git a/nixos/modules/services/misc/matrix-synapse.nix b/nixos/modules/services/misc/matrix-synapse.nix
index 00c8e740803..3eb649b08a2 100644
--- a/nixos/modules/services/misc/matrix-synapse.nix
+++ b/nixos/modules/services/misc/matrix-synapse.nix
@@ -684,7 +684,7 @@ in {
         fi
       '';
       serviceConfig = {
-        Type = "simple";
+        Type = "notify";
         User = "matrix-synapse";
         Group = "matrix-synapse";
         WorkingDirectory = cfg.dataDir;
diff --git a/nixos/modules/services/misc/metabase.nix b/nixos/modules/services/misc/metabase.nix
new file mode 100644
index 00000000000..e78100a046a
--- /dev/null
+++ b/nixos/modules/services/misc/metabase.nix
@@ -0,0 +1,103 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.services.metabase;
+
+  inherit (lib) mkEnableOption mkIf mkOption;
+  inherit (lib) optional optionalAttrs types;
+
+  dataDir = "/var/lib/metabase";
+
+in {
+
+  options = {
+
+    services.metabase = {
+      enable = mkEnableOption "Metabase service";
+
+      listen = {
+        ip = mkOption {
+          type = types.str;
+          default = "0.0.0.0";
+          description = ''
+            IP address that Metabase should listen on.
+          '';
+        };
+
+        port = mkOption {
+          type = types.port;
+          default = 3000;
+          description = ''
+            Listen port for Metabase.
+          '';
+        };
+      };
+
+      ssl = {
+        enable = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            Whether to enable SSL (https) support.
+          '';
+        };
+
+        port = mkOption {
+          type = types.port;
+          default = 8443;
+          description = ''
+            Listen port over SSL (https) for Metabase.
+          '';
+        };
+
+        keystore = mkOption {
+          type = types.nullOr types.path;
+          default = "${dataDir}/metabase.jks";
+          example = "/etc/secrets/keystore.jks";
+          description = ''
+            <link xlink:href="https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores">Java KeyStore</link> file containing the certificates.
+          '';
+        };
+
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Open ports in the firewall for Metabase.
+        '';
+      };
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.services.metabase = {
+      description = "Metabase server";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-online.target" ];
+      environment = {
+        MB_PLUGINS_DIR = "${dataDir}/plugins";
+        MB_DB_FILE = "${dataDir}/metabase.db";
+        MB_JETTY_HOST = cfg.listen.ip;
+        MB_JETTY_PORT = toString cfg.listen.port;
+      } // optionalAttrs (cfg.ssl.enable) {
+        MB_JETTY_SSL = true;
+        MB_JETTY_SSL_PORT = toString cfg.ssl.port;
+        MB_JETTY_SSL_KEYSTORE = cfg.ssl.keystore;
+      };
+      serviceConfig = {
+        DynamicUser = true;
+        StateDirectory = baseNameOf dataDir;
+        ExecStart = "${pkgs.metabase}/bin/metabase";
+      };
+    };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.listen.port ] ++ optional cfg.ssl.enable cfg.ssl.port;
+    };
+
+  };
+}
diff --git a/nixos/modules/services/monitoring/cadvisor.nix b/nixos/modules/services/monitoring/cadvisor.nix
index 6ca420a05b2..695a8c42e85 100644
--- a/nixos/modules/services/monitoring/cadvisor.nix
+++ b/nixos/modules/services/monitoring/cadvisor.nix
@@ -84,6 +84,16 @@ in {
         type = types.bool;
         description = "Cadvisor storage driver, enable secure communication.";
       };
+
+      extraOptions = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Additional cadvisor options.
+          
+          See <link xlink:href='https://github.com/google/cadvisor/blob/master/docs/runtime_options.md'/> for available options.
+        '';
+      };
     };
   };
 
@@ -112,6 +122,7 @@ in {
             -logtostderr=true \
             -listen_ip="${cfg.listenAddress}" \
             -port="${toString cfg.port}" \
+            ${escapeShellArgs cfg.extraOptions} \
             ${optionalString (cfg.storageDriver != null) ''
               -storage_driver "${cfg.storageDriver}" \
               -storage_driver_user "${cfg.storageDriverHost}" \
diff --git a/nixos/modules/services/monitoring/riemann-tools.nix b/nixos/modules/services/monitoring/riemann-tools.nix
index 9c400a1e3e4..2b647b6b1ad 100644
--- a/nixos/modules/services/monitoring/riemann-tools.nix
+++ b/nixos/modules/services/monitoring/riemann-tools.nix
@@ -11,7 +11,7 @@ let
 
   healthLauncher = writeScriptBin "riemann-health" ''
     #!/bin/sh
-    exec ${pkgs.riemann-tools}/bin/riemann-health --host ${riemannHost}
+    exec ${pkgs.riemann-tools}/bin/riemann-health ${builtins.concatStringsSep " " cfg.extraArgs} --host ${riemannHost}
   '';
 
 
@@ -34,8 +34,16 @@ in {
           Address of the host riemann node. Defaults to localhost.
         '';
       };
+      extraArgs = mkOption {
+        type = types.listOf types.string;
+        default = [];
+        description = ''
+          A list of commandline-switches forwarded to a riemann-tool.
+          See for example `riemann-health --help` for available options.
+        '';
+        example = ["-p 5555" "--timeout=30" "--attribute=myattribute=42"];
+      };
     };
-
   };
 
   config = mkIf cfg.enableHealth {
diff --git a/nixos/modules/services/monitoring/systemhealth.nix b/nixos/modules/services/monitoring/systemhealth.nix
deleted file mode 100644
index 32d4314d5f7..00000000000
--- a/nixos/modules/services/monitoring/systemhealth.nix
+++ /dev/null
@@ -1,133 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.systemhealth;
-
-  systemhealth = with pkgs; stdenv.mkDerivation {
-    name = "systemhealth-1.0";
-    src = fetchurl {
-      url = "https://www.brianlane.com/downloads/systemhealth/systemhealth-1.0.tar.bz2";
-      sha256 = "1q69lz7hmpbdpbz36zb06nzfkj651413n9icx0njmyr3xzq1j9qy";
-    };
-    buildInputs = [ python ];
-    installPhase = ''
-      mkdir -p $out/bin
-      # Make it work for kernels 3.x, not so different than 2.6
-      sed -i 's/2\.6/4.0/' system_health.py
-      cp system_health.py $out/bin
-    '';
-  };
-
-  rrdDir = "/var/lib/health/rrd";
-  htmlDir = "/var/lib/health/html";
-
-  configFile = rrdDir + "/.syshealthrc";
-  # The program will try to read $HOME/.syshealthrc, so we set the proper home.
-  command = "HOME=${rrdDir} ${systemhealth}/bin/system_health.py";
-
-  cronJob = ''
-    */5 * * * * wwwrun ${command} --log
-    5 * * * * wwwrun ${command} --graph
-  '';
-
-  nameEqualName = s: "${s} = ${s}";
-  interfacesSection = concatStringsSep "\n" (map nameEqualName cfg.interfaces);
-
-  driveLine = d: "${d.path} = ${d.name}";
-  drivesSection = concatStringsSep "\n" (map driveLine cfg.drives);
-
-in
-{
-  options = {
-    services.systemhealth = {
-      enable = mkOption {
-        default = false;
-        description = ''
-          Enable the system health monitor and its generation of graphs.
-        '';
-      };
-
-      urlPrefix = mkOption {
-        default = "/health";
-        description = ''
-          The URL prefix under which the System Health web pages appear in httpd.
-        '';
-      };
-
-      interfaces = mkOption {
-        default = [ "lo" ];
-        example = [ "lo" "eth0" "eth1" ];
-        description = ''
-          Interfaces to monitor (minimum one).
-        '';
-      };
-
-      drives = mkOption {
-        default = [ ];
-        example = [ { name = "root"; path = "/"; } ];
-        description = ''
-          Drives to monitor.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    services.cron.systemCronJobs = [ cronJob ];
-
-    system.activationScripts.systemhealth = stringAfter [ "var" ]
-      ''
-        mkdir -p ${rrdDir} ${htmlDir}
-        chown wwwrun:wwwrun ${rrdDir} ${htmlDir}
-
-        cat >${configFile} << EOF
-        [paths]
-        rrdtool = ${pkgs.rrdtool}/bin/rrdtool
-        loadavg_rrd = loadavg
-        ps = /run/current-system/sw/bin/ps
-        df = /run/current-system/sw/bin/df
-        meminfo_rrd = meminfo
-        uptime_rrd = uptime
-        rrd_path = ${rrdDir}
-        png_path = ${htmlDir}
-
-        [processes]
-
-        [interfaces]
-        ${interfacesSection}
-
-        [drives]
-        ${drivesSection}
-
-        [graphs]
-        width = 400
-        time = ['-3hours', '-32hours', '-8days', '-5weeks', '-13months']
-        height = 100
-
-        [external]
-
-        EOF
-
-        chown wwwrun:wwwrun ${configFile}
-
-        ${pkgs.su}/bin/su -s "/bin/sh" -c "${command} --check" wwwrun
-        ${pkgs.su}/bin/su -s "/bin/sh" -c "${command} --html" wwwrun
-      '';
-
-    services.httpd.extraSubservices = [
-      { function = f: {
-          extraConfig = ''
-            Alias ${cfg.urlPrefix} ${htmlDir}
-
-            <Directory ${htmlDir}>
-                Order allow,deny
-                Allow from all
-            </Directory>
-          '';
-        };
-      }
-    ];
-  };
-}
diff --git a/nixos/modules/services/monitoring/ups.nix b/nixos/modules/services/monitoring/ups.nix
index bc755612fd9..429b40227d4 100644
--- a/nixos/modules/services/monitoring/ups.nix
+++ b/nixos/modules/services/monitoring/ups.nix
@@ -225,7 +225,7 @@ in
         ''
           maxstartdelay = ${toString cfg.maxStartDelay}
 
-          ${flip concatStringsSep (flip map (attrValues cfg.ups) (ups: ups.summary)) "
+          ${flip concatStringsSep (forEach (attrValues cfg.ups) (ups: ups.summary)) "
 
           "}
         '';
diff --git a/nixos/modules/services/network-filesystems/u9fs.nix b/nixos/modules/services/network-filesystems/u9fs.nix
index 4f37fc2a9e5..77961b78cad 100644
--- a/nixos/modules/services/network-filesystems/u9fs.nix
+++ b/nixos/modules/services/network-filesystems/u9fs.nix
@@ -55,6 +55,7 @@ in
       sockets.u9fs = {
         description = "U9fs Listening Socket";
         wantedBy = [ "sockets.target" ];
+        after = [ "network.target" ];
         inherit (cfg) listenStreams;
         socketConfig.Accept = "yes";
       };
diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix
index c40962f4aa8..3fb85b16cbe 100644
--- a/nixos/modules/services/networking/cjdns.nix
+++ b/nixos/modules/services/networking/cjdns.nix
@@ -44,9 +44,7 @@ let
   parseModules = x:
     x // { connectTo = mapAttrs (name: value: { inherit (value) password publicKey; }) x.connectTo; };
 
-  # would be nice to  merge 'cfg' with a //,
-  # but the json nesting is wacky.
-  cjdrouteConf = builtins.toJSON ( {
+  cjdrouteConf = builtins.toJSON ( recursiveUpdate {
     admin = {
       bind = cfg.admin.bind;
       password = "@CJDNS_ADMIN_PASSWORD@";
@@ -71,7 +69,7 @@ let
 
     security = [ { exemptAngel = 1; setuser = "nobody"; } ];
 
-  });
+  } cfg.extraConfig);
 
 in
 
@@ -91,6 +89,16 @@ in
         '';
       };
 
+      extraConfig = mkOption {
+        type = types.attrs;
+        default = {};
+        example = { router.interface.tunDevice = "tun10"; };
+        description = ''
+          Extra configuration, given as attrs, that will be merged recursively
+          with the rest of the JSON generated by this module, at the root node.
+        '';
+      };
+
       confFile = mkOption {
         type = types.nullOr types.path;
         default = null;
@@ -246,7 +254,10 @@ in
         if cfg.confFile != null then "${pkg}/bin/cjdroute < ${cfg.confFile}" else
           ''
             source /etc/cjdns.keys
-            echo '${cjdrouteConf}' | sed \
+            (cat <<'EOF'
+            ${cjdrouteConf}
+            EOF
+            ) | sed \
                 -e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \
                 -e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \
                 | ${pkg}/bin/cjdroute
diff --git a/nixos/modules/services/networking/consul.nix b/nixos/modules/services/networking/consul.nix
index 3a92a883fbf..f080f12eacc 100644
--- a/nixos/modules/services/networking/consul.nix
+++ b/nixos/modules/services/networking/consul.nix
@@ -15,7 +15,7 @@ let
     ++ cfg.extraConfigFiles;
 
   devices = attrValues (filterAttrs (_: i: i != null) cfg.interface);
-  systemdDevices = flip map devices
+  systemdDevices = forEach devices
     (i: "sys-subsystem-net-devices-${utils.escapeSystemdPath i}.device");
 in
 {
diff --git a/nixos/modules/services/networking/hylafax/systemd.nix b/nixos/modules/services/networking/hylafax/systemd.nix
index ef177e4be34..0c6602e7f8a 100644
--- a/nixos/modules/services/networking/hylafax/systemd.nix
+++ b/nixos/modules/services/networking/hylafax/systemd.nix
@@ -7,7 +7,7 @@ let
   inherit (lib) concatStringsSep optionalString;
 
   cfg = config.services.hylafax;
-  mapModems = lib.flip map (lib.attrValues cfg.modems);
+  mapModems = lib.forEach (lib.attrValues cfg.modems);
 
   mkConfigFile = name: conf:
     # creates hylafax config file,
diff --git a/nixos/modules/services/networking/jormungandr.nix b/nixos/modules/services/networking/jormungandr.nix
new file mode 100644
index 00000000000..c1a16a316b7
--- /dev/null
+++ b/nixos/modules/services/networking/jormungandr.nix
@@ -0,0 +1,97 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.services.jormungandr;
+
+  inherit (lib) mkEnableOption mkIf mkOption;
+  inherit (lib) optionalString types;
+
+  dataDir = "/var/lib/jormungandr";
+
+  # Default settings so far, as the service matures we will
+  # move these out as separate settings
+  configSettings = {
+    storage = dataDir;
+    p2p = {
+      public_address = "/ip4/127.0.0.1/tcp/8606";
+      messages = "high";
+      blocks = "high";
+    };
+    rest = {
+      listen = "127.0.0.1:8607";
+    };
+  };
+
+  configFile = if cfg.configFile == null then
+    pkgs.writeText "jormungandr.yaml" (builtins.toJSON configSettings)
+  else cfg.configFile;
+
+in {
+
+  options = {
+
+    services.jormungandr = {
+      enable = mkEnableOption "jormungandr service";
+
+      configFile = mkOption {
+       type = types.nullOr types.path;
+       default = null;
+       example = "/var/lib/jormungandr/node.yaml";
+       description = ''
+         The path of the jormungandr blockchain configuration file in YAML format.
+         If no file is specified, a file is generated using the other options.
+       '';
+     };
+
+      secretFile = mkOption {
+       type = types.nullOr types.path;
+       default = null;
+       example = "/etc/secret/jormungandr.yaml";
+       description = ''
+         The path of the jormungandr blockchain secret node configuration file in
+         YAML format. Do not store this in nix store!
+       '';
+     };
+
+      genesisBlockHash = mkOption {
+        type = types.nullOr types.string;
+        default = null;
+        example = "d70495af81ae8600aca3e642b2427327cb6001ec4d7a0037e96a00dabed163f9";
+        description = ''
+          Set the genesis block hash (the hash of the block0) so we can retrieve
+          the genesis block (and the blockchain configuration) from the existing
+          storage or from the network.
+        '';
+      };
+
+      genesisBlockFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/var/lib/jormungandr/block-0.bin";
+        description = ''
+          The path of the genesis block file if we are hosting it locally.
+        '';
+      };
+
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.services.jormungandr = {
+      description = "jormungandr server";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-online.target" ];
+      serviceConfig = {
+        DynamicUser = true;
+        StateDirectory = baseNameOf dataDir;
+        ExecStart = ''
+          ${pkgs.jormungandr}/bin/jormungandr --config ${configFile} \
+            ${optionalString (cfg.secretFile != null) " --secret ${cfg.secretFile}"} \
+            ${optionalString (cfg.genesisBlockHash != null) " --genesis-block-hash ${cfg.genesisBlockHash}"} \
+            ${optionalString (cfg.genesisBlockFile != null) " --genesis-block ${cfg.genesisBlockFile}"}
+        '';
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/shadowsocks.nix b/nixos/modules/services/networking/shadowsocks.nix
index fe6d65a5f96..af12db590f0 100644
--- a/nixos/modules/services/networking/shadowsocks.nix
+++ b/nixos/modules/services/networking/shadowsocks.nix
@@ -35,10 +35,10 @@ in
       };
 
       localAddress = mkOption {
-        type = types.str;
-        default = "0.0.0.0";
+        type = types.coercedTo types.str singleton (types.listOf types.str);
+        default = [ "[::0]" "0.0.0.0" ];
         description = ''
-          Local address to which the server binds.
+          Local addresses to which the server binds.
         '';
       };
 
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index 0f9d2420903..91fc7d72bc6 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -502,7 +502,7 @@ in
 
     assertions = [{ assertion = if cfg.forwardX11 then cfgc.setXAuthLocation else true;
                     message = "cannot enable X11 forwarding without setting xauth location";}]
-      ++ flip map cfg.listenAddresses ({ addr, ... }: {
+      ++ forEach cfg.listenAddresses ({ addr, ... }: {
         assertion = addr != null;
         message = "addr must be specified in each listenAddresses entry";
       });
diff --git a/nixos/modules/services/networking/stubby.nix b/nixos/modules/services/networking/stubby.nix
index 3fbf6eb60e9..b38bcd4cec0 100644
--- a/nixos/modules/services/networking/stubby.nix
+++ b/nixos/modules/services/networking/stubby.nix
@@ -168,7 +168,7 @@ in
         default = defaultUpstream;
         type = types.lines;
         description = ''
-          Add additional upstreams. See <citerefentry><refentrytitle>stubby
+          Replace default upstreams. See <citerefentry><refentrytitle>stubby
           </refentrytitle><manvolnum>1</manvolnum></citerefentry> for an
           example of the entry formatting. In Strict mode, at least one of the
           following settings must be supplied for each nameserver:
diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix
index 6b688c640d5..91d8f544e16 100644
--- a/nixos/modules/services/search/elasticsearch.nix
+++ b/nixos/modules/services/search/elasticsearch.nix
@@ -131,6 +131,7 @@ in {
       description = "Extra elasticsearch plugins";
       default = [];
       type = types.listOf types.package;
+      example = lib.literalExample "[ pkgs.elasticsearchPlugins.discovery-ec2 ]";
     };
 
   };
diff --git a/nixos/modules/services/security/sshguard.nix b/nixos/modules/services/security/sshguard.nix
index 25cec5b5b10..4a174564dd2 100644
--- a/nixos/modules/services/security/sshguard.nix
+++ b/nixos/modules/services/security/sshguard.nix
@@ -106,14 +106,24 @@ in {
 
       path = with pkgs; [ iptables ipset iproute systemd ];
 
-      postStart = ''
+      # The sshguard ipsets must exist before we invoke
+      # iptables. sshguard creates the ipsets after startup if
+      # necessary, but if we let sshguard do it, we can't reliably add
+      # the iptables rules because postStart races with the creation
+      # of the ipsets. So instead, we create both the ipsets and
+      # firewall rules before sshguard starts.
+      preStart = ''
+        ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard4 hash:net family inet
+        ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard6 hash:net family inet6
         ${pkgs.iptables}/bin/iptables  -I INPUT -m set --match-set sshguard4 src -j DROP
         ${pkgs.iptables}/bin/ip6tables -I INPUT -m set --match-set sshguard6 src -j DROP
       '';
 
-      preStop = ''
+      postStop = ''
         ${pkgs.iptables}/bin/iptables  -D INPUT -m set --match-set sshguard4 src -j DROP
         ${pkgs.iptables}/bin/ip6tables -D INPUT -m set --match-set sshguard6 src -j DROP
+        ${pkgs.ipset}/bin/ipset -quiet destroy sshguard4
+        ${pkgs.ipset}/bin/ipset -quiet destroy sshguard6
       '';
 
       unitConfig.Documentation = "man:sshguard(8)";
diff --git a/nixos/modules/services/security/usbguard.nix b/nixos/modules/services/security/usbguard.nix
index 88d2f69db57..20d5e3b28eb 100644
--- a/nixos/modules/services/security/usbguard.nix
+++ b/nixos/modules/services/security/usbguard.nix
@@ -39,6 +39,16 @@ in {
     services.usbguard = {
       enable = mkEnableOption "USBGuard daemon";
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.usbguard;
+        defaultText = "pkgs.usbguard";
+        description = ''
+          The usbguard package to use. If you do not need the Qt GUI, use
+          <literal>pkgs.usbguard-nox</literal> to save disk space.
+        '';
+      };
+
       ruleFile = mkOption {
         type = types.path;
         default = "/var/lib/usbguard/rules.conf";
@@ -179,7 +189,7 @@ in {
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages = [ pkgs.usbguard ];
+    environment.systemPackages = [ cfg.package ];
 
     systemd.services.usbguard = {
       description = "USBGuard daemon";
@@ -195,7 +205,7 @@ in {
 
       serviceConfig = {
         Type = "simple";
-        ExecStart = ''${pkgs.usbguard}/bin/usbguard-daemon -P -k -c ${daemonConfFile}'';
+        ExecStart = ''${cfg.package}/bin/usbguard-daemon -P -k -c ${daemonConfFile}'';
         Restart = "on-failure";
       };
     };
diff --git a/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix b/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
index 910e1d937bf..6740131dccd 100644
--- a/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
+++ b/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
@@ -5,10 +5,12 @@
 
   defaultConfig = {
     global = {
-      module_path = "${pkgs.icingaweb2}/modules${optionalString (builtins.length config.modulePath > 0) ":${concatStringsSep ":" config.modulePath}"}";
+      module_path = "${pkgs.icingaweb2}/modules";
     };
   };
 in {
+  meta.maintainers = with maintainers; [ das_j ];
+
   options.services.icingaweb2 = with types; {
     enable = mkEnableOption "the icingaweb2 web interface";
 
diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix
index d0b936cb019..6a1db608784 100644
--- a/nixos/modules/services/web-servers/caddy.nix
+++ b/nixos/modules/services/web-servers/caddy.nix
@@ -70,7 +70,7 @@ in {
         { CADDYPATH = cfg.dataDir; };
       serviceConfig = {
         ExecStart = ''
-          ${cfg.package.bin}/bin/caddy -root=/var/tmp -conf=${configFile} \
+          ${cfg.package}/bin/caddy -root=/var/tmp -conf=${configFile} \
             -ca=${cfg.ca} -email=${cfg.email} ${optionalString cfg.agree "-agree"}
         '';
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 2b7fcb31404..c1a51fbf8b4 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -162,6 +162,10 @@ let
     ${cfg.appendConfig}
   '';
 
+  configPath = if cfg.enableReload
+    then "/etc/nginx/nginx.conf"
+    else configFile;
+
   vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost:
     let
         onlySSL = vhost.onlySSL || vhost.enableSSL;
@@ -431,6 +435,16 @@ in
         ";
       };
 
+      enableReload = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Reload nginx when configuration file changes (instead of restart).
+          The configuration file is exposed at <filename>/etc/nginx/nginx.conf</filename>.
+          See also <literal>systemd.services.*.restartIfChanged</literal>.
+        '';
+      };
+
       stateDir = mkOption {
         default = "/var/spool/nginx";
         description = "
@@ -638,10 +652,10 @@ in
       preStart =
         ''
         ${cfg.preStart}
-        ${cfg.package}/bin/nginx -c ${configFile} -p ${cfg.stateDir} -t
+        ${cfg.package}/bin/nginx -c ${configPath} -p ${cfg.stateDir} -t
         '';
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/nginx -c ${configFile} -p ${cfg.stateDir}";
+        ExecStart = "${cfg.package}/bin/nginx -c ${configPath} -p ${cfg.stateDir}";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         Restart = "always";
         RestartSec = "10s";
@@ -649,6 +663,21 @@ in
       };
     };
 
+    environment.etc."nginx/nginx.conf" = mkIf cfg.enableReload {
+      source = configFile;
+    };
+
+    systemd.services.nginx-config-reload = mkIf cfg.enableReload {
+      wantedBy = [ "nginx.service" ];
+      restartTriggers = [ configFile ];
+      script = ''
+        if ${pkgs.systemd}/bin/systemctl -q is-active nginx.service ; then
+          ${pkgs.systemd}/bin/systemctl reload nginx.service
+        fi
+      '';
+      serviceConfig.RemainAfterExit = true;
+    };
+
     security.acme.certs = filterAttrs (n: v: v != {}) (
       let
         vhostsConfigs = mapAttrsToList (vhostName: vhostConfig: vhostConfig) virtualHosts;
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index cbfd2d3c2ea..6434731d951 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -136,9 +136,8 @@ in {
     services.gnome3.gnome-online-accounts.enable = mkDefault true;
     services.gnome3.gnome-remote-desktop.enable = mkDefault true;
     services.gnome3.gnome-settings-daemon.enable = true;
-    services.gnome3.gnome-terminal-server.enable = mkDefault true;
     services.gnome3.gnome-user-share.enable = mkDefault true;
-    services.gnome3.gvfs.enable = true;
+    services.gvfs.enable = true;
     services.gnome3.rygel.enable = mkDefault true;
     services.gnome3.seahorse.enable = mkDefault true;
     services.gnome3.sushi.enable = mkDefault true;
@@ -161,10 +160,12 @@ in {
     xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
 
     # Enable default programs
+    programs.dconf.enable = true;
     programs.evince.enable = mkDefault true;
     programs.file-roller.enable = mkDefault true;
     programs.gnome-disks.enable = mkDefault true;
     programs.gnome-documents.enable = mkDefault true;
+    programs.gnome-terminal.enable = mkDefault true;
 
     # If gnome3 is installed, build vim for gtk3 too.
     nixpkgs.config.vim.gui = "gtk3";
@@ -230,8 +231,6 @@ in {
 
     services.xserver.updateDbusEnvironment = true;
 
-    environment.variables.GIO_EXTRA_MODULES = [ "${lib.getLib pkgs.gnome3.dconf}/lib/gio/modules"
-                                                "${pkgs.gnome3.gvfs}/lib/gio/modules" ];
     environment.systemPackages = pkgs.gnome3.corePackages ++ cfg.sessionPath
       ++ (pkgs.gnome3.removePackagesByName pkgs.gnome3.optionalPackages config.environment.gnome3.excludePackages) ++ [
       pkgs.xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix
index 4368adedb34..bf53082b267 100644
--- a/nixos/modules/services/x11/desktop-managers/lxqt.nix
+++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix
@@ -58,7 +58,8 @@ in
     # Link some extra directories in /run/current-system/software/share
     environment.pathsToLink = [ "/share" ];
 
-    environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gvfs}/lib/gio/modules" ];
+    services.gvfs.enable = true;
+    services.gvfs.package = pkgs.gvfs;
 
     services.upower.enable = config.powerManagement.enable;
   };
diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix
index a2d0810f90d..e1084b0053c 100644
--- a/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/nixos/modules/services/x11/desktop-managers/mate.nix
@@ -94,17 +94,19 @@ in
       ];
 
     programs.dconf.enable = true;
+    # Shell integration for VTE terminals
+    programs.bash.vteIntegration = mkDefault true;
+    programs.zsh.vteIntegration = mkDefault true;
+
     services.gnome3.at-spi2-core.enable = true;
     services.gnome3.gnome-keyring.enable = true;
     services.gnome3.gnome-settings-daemon.enable = true;
     services.gnome3.gnome-settings-daemon.package = pkgs.mate.mate-settings-daemon;
-    services.gnome3.gvfs.enable = true;
+    services.gvfs.enable = true;
     services.upower.enable = config.powerManagement.enable;
 
     security.pam.services."mate-screensaver".unixAuth = true;
 
-    environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gnome3.gvfs}/lib/gio/modules" ];
-
     environment.pathsToLink = [ "/share" ];
   };
 
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index f0cafc37758..ae23015d200 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -99,10 +99,6 @@ in
             fi
           '') cfg.sessionPath}
 
-          # Makes qt applications look less alien
-          export QT_QPA_PLATFORMTHEME=gtk3
-          export QT_STYLE_OVERRIDE=adwaita
-
           # Settings from elementary-default-settings
           export GTK_CSD=1
           export GTK_MODULES=$GTK_MODULES:pantheon-filechooser-module
@@ -129,7 +125,7 @@ in
     services.gnome3.gnome-keyring.enable = true;
     services.gnome3.gnome-settings-daemon.enable = true;
     services.gnome3.gnome-settings-daemon.package = pkgs.pantheon.elementary-settings-daemon;
-    services.gnome3.gvfs.enable = true;
+    services.gvfs.enable = true;
     services.gnome3.rygel.enable = mkDefault true;
     services.gsignond.enable = mkDefault true;
     services.gsignond.plugins = with pkgs.gsignondPlugins; [ lastfm mail oauth ];
@@ -146,9 +142,19 @@ in
       isSystem = true;
     };
 
+    programs.dconf.enable = true;
     programs.evince.enable = mkDefault true;
     programs.file-roller.enable = mkDefault true;
 
+    # Shell integration for VTE terminals
+    programs.bash.vteIntegration = mkDefault true;
+    programs.zsh.vteIntegration = mkDefault true;
+
+    # Harmonize Qt5 applications under Pantheon
+    qt5.enable = true;
+    qt5.platformTheme = "gnome";
+    qt5.style = "adwaita";
+
     networking.networkmanager.enable = mkDefault true;
     networking.networkmanager.basePackages =
       { inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
@@ -161,11 +167,6 @@ in
 
     environment.variables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1";
 
-    environment.variables.GIO_EXTRA_MODULES = [
-      "${lib.getLib pkgs.gnome3.dconf}/lib/gio/modules"
-      "${pkgs.gnome3.gvfs}/lib/gio/modules"
-    ];
-
     environment.pathsToLink = [
       # FIXME: modules should link subdirs of `/share` rather than relying on this
       "/share"
@@ -187,7 +188,6 @@ in
         glib-networking
         gnome-menus
         gnome3.adwaita-icon-theme
-        gnome3.dconf
         gtk3.out
         hicolor-icon-theme
         lightlocker
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index 6852154378d..1102f73d1ac 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -66,7 +66,6 @@ in
       exo
       garcon
       gtk-xfce-engine
-      gvfs
       libxfce4ui
       tumbler
       xfconf
@@ -100,10 +99,6 @@ in
       "/share/gtksourceview-2.0"
     ];
 
-    environment.variables = {
-      GIO_EXTRA_MODULES = [ "${pkgs.xfce.gvfs}/lib/gio/modules" ];
-    };
-
     services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
 
     services.xserver.desktopManager.session = [{
@@ -128,5 +123,7 @@ in
     # Enable helpful DBus services.
     services.udisks2.enable = true;
     services.upower.enable = config.powerManagement.enable;
+    services.gvfs.enable = true;
+    services.gvfs.package = pkgs.xfce.gvfs;
   };
 }
diff --git a/nixos/modules/services/x11/xautolock.nix b/nixos/modules/services/x11/xautolock.nix
index cbe000058dc..10eef8aefbc 100644
--- a/nixos/modules/services/x11/xautolock.nix
+++ b/nixos/modules/services/x11/xautolock.nix
@@ -129,7 +129,7 @@ in
           assertion = cfg.killer != null -> cfg.killtime >= 10;
           message = "killtime has to be at least 10 minutes according to `man xautolock`";
         }
-      ] ++ (lib.flip map [ "locker" "notifier" "nowlocker" "killer" ]
+      ] ++ (lib.forEach [ "locker" "notifier" "nowlocker" "killer" ]
         (option:
         {
           assertion = cfg."${option}" != null -> builtins.substring 0 1 cfg."${option}" == "/";
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 7ffe1c12561..c94a0643831 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -78,7 +78,7 @@ let
   in imap1 mkHead cfg.xrandrHeads;
 
   xrandrDeviceSection = let
-    monitors = flip map xrandrHeads (h: ''
+    monitors = forEach xrandrHeads (h: ''
       Option "monitor-${h.config.output}" "${h.name}"
     '');
     # First option is indented through the space in the config but any
diff --git a/nixos/modules/system/boot/coredump.nix b/nixos/modules/system/boot/coredump.nix
deleted file mode 100644
index 30f367da766..00000000000
--- a/nixos/modules/system/boot/coredump.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-{
-
-  options = {
-
-    systemd.coredump = {
-
-      enable = mkOption {
-        default = false;
-        type = types.bool;
-        description = ''
-          Enables storing core dumps in systemd.
-          Note that this alone is not enough to enable core dumps. The maximum
-          file size for core dumps must be specified in limits.conf as well. See
-          <option>security.pam.loginLimits</option> and the limits.conf(5)
-          man page (these specify the core dump limits for user login sessions)
-          and <option>systemd.extraConfig</option> (where e.g.
-          <literal>DefaultLimitCORE=1000000</literal> can be specified to set
-          the core dump limit for systemd system-level services).
-        '';
-      };
-
-      extraConfig = mkOption {
-        default = "";
-        type = types.lines;
-        example = "Storage=journal";
-        description = ''
-          Extra config options for systemd-coredump. See coredump.conf(5) man page
-          for available options.
-        '';
-      };
-    };
-
-  };
-
-  config = mkMerge [
-    (mkIf config.systemd.coredump.enable {
-
-      systemd.additionalUpstreamSystemUnits = [ "systemd-coredump.socket" "systemd-coredump@.service" ];
-
-      environment.etc."systemd/coredump.conf".text =
-        ''
-          [Coredump]
-          ${config.systemd.coredump.extraConfig}
-        '';
-
-      # Have the kernel pass core dumps to systemd's coredump helper binary.
-      # From systemd's 50-coredump.conf file. See:
-      # <https://github.com/systemd/systemd/blob/v218/sysctl.d/50-coredump.conf.in>
-      boot.kernel.sysctl."kernel.core_pattern" = "|${pkgs.systemd}/lib/systemd/systemd-coredump %P %u %g %s %t %c %e";
-    })
-
-    (mkIf (!config.systemd.coredump.enable) {
-      boot.kernel.sysctl."kernel.core_pattern" = mkDefault "core";
-
-      systemd.extraConfig =
-        ''
-          DefaultLimitCORE=0:infinity
-        '';
-    })
-  ];
-
-}
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index ee43fe10023..baa8c602a99 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -36,6 +36,7 @@ in
 
     boot.kernelPackages = mkOption {
       default = pkgs.linuxPackages;
+      type = types.unspecified // { merge = mergeEqualOption; };
       apply = kernelPackages: kernelPackages.extend (self: super: {
         kernel = super.kernel.override {
           inherit randstructSeed;
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index 4e4d14985b0..eca9dad6422 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -684,7 +684,7 @@ in
           assertion = if args.efiSysMountPoint == null then true else hasPrefix "/" args.efiSysMountPoint;
           message = "EFI paths must be absolute, not ${args.efiSysMountPoint}";
         }
-      ] ++ flip map args.devices (device: {
+      ] ++ forEach args.devices (device: {
         assertion = device == "nodev" || hasPrefix "/" device;
         message = "GRUB devices must be absolute paths, not ${device} in ${args.path}";
       }));
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index d6b446e9ac2..f2060e21509 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -55,6 +55,27 @@ let
     (assertMacAddress "MACAddress")
   ];
 
+  # NOTE The PrivateKey directive is missing on purpose here, please
+  # do not add it to this list. The nix store is world-readable let's
+  # refrain ourselves from providing a footgun.
+  checkWireGuard = checkUnitConfig "WireGuard" [
+    (assertOnlyFields [
+      "PrivateKeyFile" "ListenPort" "FwMark"
+    ])
+    (assertRange "FwMark" 1 4294967295)
+  ];
+
+  # NOTE The PresharedKey directive is missing on purpose here, please
+  # do not add it to this list. The nix store is world-readable,let's
+  # refrain ourselves from providing a footgun.
+  checkWireGuardPeer = checkUnitConfig "WireGuardPeer" [
+    (assertOnlyFields [
+      "PublicKey" "PresharedKeyFile" "AllowedIPs"
+      "Endpoint" "PersistentKeepalive"
+    ])
+    (assertRange "PersistentKeepalive" 1 65535)
+  ];
+
   checkVlan = checkUnitConfig "VLAN" [
     (assertOnlyFields ["Id" "GVRP" "MVRP" "LooseBinding" "ReorderHeader"])
     (assertRange "Id" 0 4094)
@@ -320,6 +341,46 @@ let
       '';
     };
 
+    wireguardConfig = mkOption {
+      default = {};
+      example = {
+        PrivateKeyFile = "/etc/wireguard/secret.key";
+        ListenPort = 51820;
+        FwMark = 42;
+      };
+      type = types.addCheck (types.attrsOf unitOption) checkWireGuard;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[WireGuard]</literal> section of the unit. See
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+        Use <literal>PrivateKeyFile</literal> instead of
+        <literal>PrivateKey</literal>: the nix store is
+        world-readable.
+      '';
+    };
+
+    wireguardPeers = mkOption {
+      default = [];
+      example = [ { wireguardPeerConfig={
+        Endpoint = "192.168.1.1:51820";
+        PublicKey = "27s0OvaBBdHoJYkH9osZpjpgSOVNw+RaKfboT/Sfq0g=";
+        PresharedKeyFile = "/etc/wireguard/psk.key";
+        AllowedIPs = [ "10.0.0.1/32" ];
+        PersistentKeepalive = 15;
+      };}];
+      type = with types; listOf (submodule wireguardPeerOptions);
+      description = ''
+        Each item in this array specifies an option in the
+        <literal>[WireGuardPeer]</literal> section of the unit. See
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+        Use <literal>PresharedKeyFile</literal> instead of
+        <literal>PresharedKey</literal>: the nix store is
+        world-readable.
+      '';
+    };
+
     vlanConfig = mkOption {
       default = {};
       example = { Id = "4"; };
@@ -450,6 +511,23 @@ let
     };
   };
 
+  wireguardPeerOptions = {
+    options = {
+      wireguardPeerConfig = mkOption {
+        default = {};
+        example = { };
+        type = types.addCheck (types.attrsOf unitOption) checkWireGuardPeer;
+        description = ''
+          Each attribute in this set specifies an option in the
+          <literal>[WireGuardPeer]</literal> section of the unit.  See
+          <citerefentry><refentrytitle>systemd.network</refentrytitle>
+          <manvolnum>5</manvolnum></citerefentry> for details.
+        '';
+      };
+    };
+  };
+
+
   networkOptions = commonNetworkOptions // {
 
     networkConfig = mkOption {
@@ -732,6 +810,16 @@ let
             ${attrsToSection def.bondConfig}
 
           ''}
+          ${optionalString (def.wireguardConfig != { }) ''
+            [WireGuard]
+            ${attrsToSection def.wireguardConfig}
+
+          ''}
+          ${flip concatMapStrings def.wireguardPeers (x: ''
+            [WireGuardPeer]
+            ${attrsToSection x.wireguardPeerConfig}
+
+          '')}
           ${def.extraConfig}
         '';
     };
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index 67cbe720ddc..b817a45deba 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -44,13 +44,13 @@ EOF
   *) to ignore the error and continue
 EOF
 
-    read reply
+    read -n 1 reply
 
     if [ -n "$allowShell" -a "$reply" = f ]; then
         exec setsid @shell@ -c "exec @shell@ < /dev/$console >/dev/$console 2>/dev/$console"
     elif [ -n "$allowShell" -a "$reply" = i ]; then
         echo "Starting interactive shell..."
-        setsid @shell@ -c "@shell@ < /dev/$console >/dev/$console 2>/dev/$console" || fail
+        setsid @shell@ -c "exec @shell@ < /dev/$console >/dev/$console 2>/dev/$console" || fail
     elif [ "$reply" = r ]; then
         echo "Rebooting..."
         reboot -f
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index 1914827d0e5..23a2dd45d49 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -76,6 +76,10 @@ let
       "systemd-journald-dev-log.socket"
       "syslog.socket"
 
+      # Coredumps.
+      "systemd-coredump.socket"
+      "systemd-coredump@.service"
+
       # SysV init compatibility.
       "systemd-initctl.socket"
       "systemd-initctl.service"
@@ -540,6 +544,16 @@ in
       '';
     };
 
+    systemd.coredump.extraConfig = mkOption {
+      default = "";
+      type = types.lines;
+      example = "Storage=journal";
+      description = ''
+        Extra config options for systemd-coredump. See coredump.conf(5) man page
+        for available options.
+      '';
+    };
+
     systemd.extraConfig = mkOption {
       default = "";
       type = types.lines;
@@ -795,6 +809,7 @@ in
           DefaultMemoryAccounting=yes
           DefaultTasksAccounting=yes
         ''}
+        DefaultLimitCORE=infinity
         ${config.systemd.extraConfig}
       '';
 
@@ -818,6 +833,12 @@ in
         ${config.services.journald.extraConfig}
       '';
 
+      "systemd/coredump.conf".text =
+        ''
+          [Coredump]
+          ${config.systemd.coredump.extraConfig}
+        '';
+
       "systemd/logind.conf".text = ''
         [Login]
         KillUserProcesses=${if config.services.logind.killUserProcesses then "yes" else "no"}
@@ -831,6 +852,10 @@ in
         [Sleep]
       '';
 
+      # install provided sysctl snippets
+      "sysctl.d/50-coredump.conf".source = "${systemd}/example/sysctl.d/50-coredump.conf";
+      "sysctl.d/50-default.conf".source = "${systemd}/example/sysctl.d/50-default.conf";
+
       "tmpfiles.d/systemd.conf".source = "${systemd}/example/tmpfiles.d/systemd.conf";
       "tmpfiles.d/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf";
 
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index 857aaf1e6e3..fbca54978e5 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -74,7 +74,7 @@ in
         enable = true;
         networks."99-main" = genericNetwork mkDefault;
       }
-      (mkMerge (flip map interfaces (i: {
+      (mkMerge (forEach interfaces (i: {
         netdevs = mkIf i.virtual ({
           "40-${i.name}" = {
             netdevConfig = {
@@ -90,7 +90,7 @@ in
           name = mkDefault i.name;
           DHCP = mkForce (dhcpStr
             (if i.useDHCP != null then i.useDHCP else cfg.useDHCP && interfaceIps i == [ ]));
-          address = flip map (interfaceIps i)
+          address = forEach (interfaceIps i)
             (ip: "${ip.address}/${toString ip.prefixLength}");
           networkConfig.IPv6PrivacyExtensions = "kernel";
         } ];
@@ -102,7 +102,7 @@ in
             Kind = "bridge";
           };
         };
-        networks = listToAttrs (flip map bridge.interfaces (bi:
+        networks = listToAttrs (forEach bridge.interfaces (bi:
           nameValuePair "40-${bi}" (mkMerge [ (genericNetwork (mkOverride 999)) {
             DHCP = mkOverride 0 (dhcpStr false);
             networkConfig.Bridge = name;
@@ -173,7 +173,7 @@ in
 
         };
 
-        networks = listToAttrs (flip map bond.interfaces (bi:
+        networks = listToAttrs (forEach bond.interfaces (bi:
           nameValuePair "40-${bi}" (mkMerge [ (genericNetwork (mkOverride 999)) {
             DHCP = mkOverride 0 (dhcpStr false);
             networkConfig.Bond = name;
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index c75d7cbc408..5ac753c92a7 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -926,7 +926,7 @@ in
     warnings = concatMap (i: i.warnings) interfaces;
 
     assertions =
-      (flip map interfaces (i: {
+      (forEach interfaces (i: {
         # With the linux kernel, interface name length is limited by IFNAMSIZ
         # to 16 bytes, including the trailing null byte.
         # See include/linux/if.h in the kernel sources
@@ -934,12 +934,12 @@ in
         message = ''
           The name of networking.interfaces."${i.name}" is too long, it needs to be less than 16 characters.
         '';
-      })) ++ (flip map slaveIfs (i: {
+      })) ++ (forEach slaveIfs (i: {
         assertion = i.ipv4.addresses == [ ] && i.ipv6.addresses == [ ];
         message = ''
           The networking.interfaces."${i.name}" must not have any defined ips when it is a slave.
         '';
-      })) ++ (flip map interfaces (i: {
+      })) ++ (forEach interfaces (i: {
         assertion = i.preferTempAddress -> cfg.enableIPv6;
         message = ''
           Temporary addresses are only needed when IPv6 is enabled.
@@ -967,8 +967,8 @@ in
       "net.ipv6.conf.default.disable_ipv6" = mkDefault (!cfg.enableIPv6);
       "net.ipv6.conf.all.forwarding" = mkDefault (any (i: i.proxyARP) interfaces);
     } // listToAttrs (flip concatMap (filter (i: i.proxyARP) interfaces)
-        (i: flip map [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${i.name}.proxy_arp" true)))
-      // listToAttrs (flip map (filter (i: i.preferTempAddress) interfaces)
+        (i: forEach [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${i.name}.proxy_arp" true)))
+      // listToAttrs (forEach (filter (i: i.preferTempAddress) interfaces)
         (i: nameValuePair "net.ipv6.conf.${i.name}.use_tempaddr" 2));
 
     # Capabilities won't work unless we have at-least a 4.3 Linux
@@ -1050,7 +1050,7 @@ in
           ${cfg.localCommands}
         '';
       };
-    } // (listToAttrs (flip map interfaces (i:
+    } // (listToAttrs (forEach interfaces (i:
       let
         deviceDependency = if (config.boot.isContainer || i.name == "lo")
           then []
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index c10e2b162cc..b65374c9257 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -138,7 +138,7 @@ let
         --bind-ro=/nix/var/nix/daemon-socket \
         --bind="/nix/var/nix/profiles/per-container/$INSTANCE:/nix/var/nix/profiles" \
         --bind="/nix/var/nix/gcroots/per-container/$INSTANCE:/nix/var/nix/gcroots" \
-        --link-journal=try-guest \
+        ${optionalString (!cfg.ephemeral) "--link-journal=try-guest"} \
         --setenv PRIVATE_NETWORK="$PRIVATE_NETWORK" \
         --setenv HOST_BRIDGE="$HOST_BRIDGE" \
         --setenv HOST_ADDRESS="$HOST_ADDRESS" \
@@ -147,6 +147,7 @@ let
         --setenv LOCAL_ADDRESS6="$LOCAL_ADDRESS6" \
         --setenv HOST_PORT="$HOST_PORT" \
         --setenv PATH="$PATH" \
+        ${optionalString cfg.ephemeral "--ephemeral"} \
         ${if cfg.additionalCapabilities != null && cfg.additionalCapabilities != [] then
           ''--capability="${concatStringsSep " " cfg.additionalCapabilities}"'' else ""
         } \
@@ -247,6 +248,8 @@ let
 
     Type = "notify";
 
+    RuntimeDirectory = lib.optional cfg.ephemeral "containers/%i";
+
     # Note that on reboot, systemd-nspawn returns 133, so this
     # unit will be restarted. On poweroff, it returns 0, so the
     # unit won't be restarted.
@@ -419,6 +422,7 @@ let
     {
       extraVeths = {};
       additionalCapabilities = [];
+      ephemeral = false;
       allowedDevices = [];
       hostAddress = null;
       hostAddress6 = null;
@@ -511,6 +515,26 @@ in
                 information.
               '';
             };
+
+            ephemeral = mkOption {
+              type = types.bool;
+              default = false;
+              description = ''
+                Runs container in ephemeral mode with the empty root filesystem at boot.
+                This way container will be bootstrapped from scratch on each boot
+                and will be cleaned up on shutdown leaving no traces behind.
+                Useful for completely stateless, reproducible containers.
+
+                Note that this option might require to do some adjustments to the container configuration,
+                e.g. you might want to set
+                <varname>systemd.network.networks.$interface.dhcpConfig.ClientIdentifier</varname> to "mac"
+                if you use <varname>macvlans</varname> option.
+                This way dhcp client identifier will be stable between the container restarts.
+
+                Note that the container journal will not be linked to the host if this option is enabled.
+              '';
+            };
+
             enableTun = mkOption {
               type = types.bool;
               default = false;
@@ -659,12 +683,14 @@ in
     unit = {
       description = "Container '%i'";
 
-      unitConfig.RequiresMountsFor = [ "/var/lib/containers/%i" ];
+      unitConfig.RequiresMountsFor = "/var/lib/containers/%i";
 
       path = [ pkgs.iproute ];
 
-      environment.INSTANCE = "%i";
-      environment.root = "/var/lib/containers/%i";
+      environment = {
+        root = "/var/lib/containers/%i";
+        INSTANCE = "%i";
+      };
 
       preStart = preStartScript dummyConfig;
 
@@ -703,11 +729,13 @@ in
             }
           else {});
         in
-          unit // {
+          recursiveUpdate unit {
             preStart = preStartScript containerConfig;
             script = startScript containerConfig;
             postStart = postStartScript containerConfig;
             serviceConfig = serviceDirectives containerConfig;
+            unitConfig.RequiresMountsFor = lib.optional (!containerConfig.ephemeral) "/var/lib/containers/%i";
+            environment.root = if containerConfig.ephemeral then "/run/containers/%i" else "/var/lib/containers/%i";
           } // (
           if containerConfig.autoStart then
             {
diff --git a/nixos/modules/virtualisation/google-compute-config.nix b/nixos/modules/virtualisation/google-compute-config.nix
index 5c59188b68b..79766970c75 100644
--- a/nixos/modules/virtualisation/google-compute-config.nix
+++ b/nixos/modules/virtualisation/google-compute-config.nix
@@ -159,12 +159,6 @@ in
     # functionality/features (e.g. TCP Window scaling).
     "net.ipv4.tcp_syncookies" = mkDefault "1";
 
-    # ignores source-routed packets
-    "net.ipv4.conf.all.accept_source_route" = mkDefault "0";
-
-    # ignores source-routed packets
-    "net.ipv4.conf.default.accept_source_route" = mkDefault "0";
-
     # ignores ICMP redirects
     "net.ipv4.conf.all.accept_redirects" = mkDefault "0";
 
@@ -186,10 +180,10 @@ in
     # don't allow traffic between networks or act as a router
     "net.ipv4.conf.default.send_redirects" = mkDefault "0";
 
-    # reverse path filtering - IP spoofing protection
+    # strict reverse path filtering - IP spoofing protection
     "net.ipv4.conf.all.rp_filter" = mkDefault "1";
 
-    # reverse path filtering - IP spoofing protection
+    # strict path filtering - IP spoofing protection
     "net.ipv4.conf.default.rp_filter" = mkDefault "1";
 
     # ignores ICMP broadcasts to avoid participating in Smurf attacks
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index c24c8ae61a5..36a053e8e6b 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -47,6 +47,7 @@ in
   codimd = handleTest ./codimd.nix {};
   colord = handleTest ./colord.nix {};
   containers-bridge = handleTest ./containers-bridge.nix {};
+  containers-ephemeral = handleTest ./containers-ephemeral.nix {};
   containers-extra_veth = handleTest ./containers-extra_veth.nix {};
   containers-hosts = handleTest ./containers-hosts.nix {};
   containers-imperative = handleTest ./containers-imperative.nix {};
@@ -73,7 +74,7 @@ in
   #ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {};
   ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {};
   ecryptfs = handleTest ./ecryptfs.nix {};
-  ejabberd = handleTest ./ejabberd.nix {};
+  ejabberd = handleTest ./xmpp/ejabberd.nix {};
   elk = handleTestOn ["x86_64-linux"] ./elk.nix {};
   env = handleTest ./env.nix {};
   etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
@@ -93,8 +94,10 @@ in
   gitlab = handleTest ./gitlab.nix {};
   gitolite = handleTest ./gitolite.nix {};
   gjs = handleTest ./gjs.nix {};
+  glusterfs = handleTest ./glusterfs.nix {};
   gnome3-xorg = handleTest ./gnome3-xorg.nix {};
   gnome3 = handleTest ./gnome3.nix {};
+  gnome-photos = handleTest ./gnome-photos.nix {};
   gocd-agent = handleTest ./gocd-agent.nix {};
   gocd-server = handleTest ./gocd-server.nix {};
   google-oslogin = handleTest ./google-oslogin {};
@@ -114,6 +117,7 @@ in
   hound = handleTest ./hound.nix {};
   hydra = handleTest ./hydra {};
   i3wm = handleTest ./i3wm.nix {};
+  icingaweb2 = handleTest ./icingaweb2.nix {};
   iftop = handleTest ./iftop.nix {};
   incron = handleTest ./incron.nix {};
   influxdb = handleTest ./influxdb.nix {};
@@ -124,6 +128,7 @@ in
   jackett = handleTest ./jackett.nix {};
   jellyfin = handleTest ./jellyfin.nix {};
   jenkins = handleTest ./jenkins.nix {};
+  jormungandr = handleTest ./jormungandr.nix {};
   kafka = handleTest ./kafka.nix {};
   kerberos = handleTest ./kerberos/default.nix {};
   kernel-latest = handleTest ./kernel-latest.nix {};
@@ -138,6 +143,7 @@ in
   latestKernel.login = handleTest ./login.nix { latestKernel = true; };
   ldap = handleTest ./ldap.nix {};
   leaps = handleTest ./leaps.nix {};
+  libxmlb = handleTest ./libxmlb.nix {};
   lidarr = handleTest ./lidarr.nix {};
   lightdm = handleTest ./lightdm.nix {};
   limesurvey = handleTest ./limesurvey.nix {};
@@ -150,6 +156,7 @@ in
   mediawiki = handleTest ./mediawiki.nix {};
   memcached = handleTest ./memcached.nix {};
   mesos = handleTest ./mesos.nix {};
+  metabase = handleTest ./metabase.nix {};
   miniflux = handleTest ./miniflux.nix {};
   minio = handleTest ./minio.nix {};
   misc = handleTest ./misc.nix {};
@@ -217,7 +224,8 @@ in
   prometheus = handleTest ./prometheus.nix {};
   prometheus2 = handleTest ./prometheus-2.nix {};
   prometheus-exporters = handleTest ./prometheus-exporters.nix {};
-  prosody = handleTest ./prosody.nix {};
+  prosody = handleTest ./xmpp/prosody.nix {};
+  prosodyMysql = handleTest ./xmpp/prosody-mysql.nix {};
   proxy = handleTest ./proxy.nix {};
   quagga = handleTest ./quagga.nix {};
   quake3 = handleTest ./quake3.nix {};
@@ -249,6 +257,7 @@ in
   systemd = handleTest ./systemd.nix {};
   systemd-confinement = handleTest ./systemd-confinement.nix {};
   systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
+  systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {};
   pdns-recursor = handleTest ./pdns-recursor.nix {};
   taskserver = handleTest ./taskserver.nix {};
   telegraf = handleTest ./telegraf.nix {};
@@ -256,6 +265,7 @@ in
   tinydns = handleTest ./tinydns.nix {};
   tor = handleTest ./tor.nix {};
   transmission = handleTest ./transmission.nix {};
+  trezord = handleTest ./trezord.nix {};
   udisks2 = handleTest ./udisks2.nix {};
   upnp = handleTest ./upnp.nix {};
   uwsgi = handleTest ./uwsgi.nix {};
diff --git a/nixos/tests/containers-ephemeral.nix b/nixos/tests/containers-ephemeral.nix
new file mode 100644
index 00000000000..1ef8717d9a0
--- /dev/null
+++ b/nixos/tests/containers-ephemeral.nix
@@ -0,0 +1,56 @@
+# Test for NixOS' container support.
+
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "containers-ephemeral";
+
+  machine = { pkgs, ... }: {
+    virtualisation.memorySize = 768;
+    virtualisation.writableStore = true;
+
+    containers.webserver = {
+      ephemeral = true;
+      privateNetwork = true;
+      hostAddress = "10.231.136.1";
+      localAddress = "10.231.136.2";
+      config = {
+        services.nginx = {
+          enable = true;
+          virtualHosts.localhost = {
+            root = (pkgs.runCommand "localhost" {} ''
+              mkdir "$out"
+              echo hello world > "$out/index.html"
+            '');
+          };
+        };
+        networking.firewall.allowedTCPPorts = [ 80 ];
+      };
+    };
+  };
+
+  testScript = ''
+    $machine->succeed("nixos-container list") =~ /webserver/ or die;
+
+    # Start the webserver container.
+    $machine->succeed("nixos-container start webserver");
+
+    # Check that container got its own root folder
+    $machine->succeed("ls /run/containers/webserver");
+
+    # Check that container persistent directory is not created
+    $machine->fail("ls /var/lib/containers/webserver");
+
+    # 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 $ip");
+    $machine->succeed("curl --fail http://$ip/ > /dev/null");
+
+    # Stop the container.
+    $machine->succeed("nixos-container stop webserver");
+    $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
+
+    # Check that container's root folder was removed
+    $machine->fail("ls /run/containers/webserver");
+  '';
+})
diff --git a/nixos/tests/glusterfs.nix b/nixos/tests/glusterfs.nix
new file mode 100644
index 00000000000..9fd8bd2ed12
--- /dev/null
+++ b/nixos/tests/glusterfs.nix
@@ -0,0 +1,65 @@
+import ./make-test.nix ({ ... } :
+
+let
+  client = { pkgs, ... } : {
+    environment.systemPackages = [ pkgs.glusterfs ];
+    fileSystems = pkgs.lib.mkVMOverride
+    [ { mountPoint = "/gluster";
+        fsType = "glusterfs";
+        device = "server1:/gv0";
+    } ];
+  };
+
+  server = { pkgs, ... } : {
+    networking.firewall.enable = false;
+    services.glusterfs.enable = true;
+
+    # create a mount point for the volume
+    boot.initrd.postDeviceCommands = ''
+      ${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb
+    '';
+
+    virtualisation.emptyDiskImages = [ 1024 ];
+
+    fileSystems = pkgs.lib.mkVMOverride
+      [ { mountPoint = "/data";
+          device = "/dev/disk/by-label/data";
+          fsType = "ext4";
+        }
+      ];
+  };
+in {
+  name = "glusterfs";
+
+  nodes = {
+    server1 = server;
+    server2 = server;
+    client1 = client;
+    client2 = client;
+  };
+
+  testScript = ''
+    $server1->waitForUnit("glusterd.service");
+    $server2->waitForUnit("glusterd.service");
+
+    # establish initial contact
+    $server1->succeed("sleep 2");
+    $server1->succeed("gluster peer probe server2");
+    $server1->succeed("gluster peer probe server1");
+
+    $server1->succeed("gluster peer status | grep Connected");
+
+    # create volumes
+    $server1->succeed("mkdir -p /data/vg0");
+    $server2->succeed("mkdir -p /data/vg0");
+    $server1->succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0");
+    $server1->succeed("gluster volume start gv0");
+
+    # test clients
+    $client1->waitForUnit("gluster.mount");
+    $client2->waitForUnit("gluster.mount");
+
+    $client1->succeed("echo test > /gluster/file1");
+    $client2->succeed("grep test /gluster/file1");
+  '';
+})
diff --git a/nixos/tests/gnome-photos.nix b/nixos/tests/gnome-photos.nix
new file mode 100644
index 00000000000..2ecda1d68ce
--- /dev/null
+++ b/nixos/tests/gnome-photos.nix
@@ -0,0 +1,42 @@
+# run installed tests
+import ./make-test.nix ({ pkgs, lib, ... }:
+
+let
+
+  # gsettings tool with access to gsettings-desktop-schemas
+  desktop-gsettings = with pkgs; stdenv.mkDerivation {
+    name = "desktop-gsettings";
+    dontUnpack = true;
+    nativeBuildInputs = [ glib wrapGAppsHook ];
+    buildInputs = [ gsettings-desktop-schemas ];
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out/bin
+      ln -s ${glib.bin}/bin/gsettings $out/bin/desktop-gsettings
+      runHook postInstall
+    '';
+  };
+
+in
+
+{
+  name = "gnome-photos";
+  meta = {
+    maintainers = pkgs.gnome-photos.meta.maintainers;
+  };
+
+  machine = { pkgs, ... }: {
+    imports = [ ./common/x11.nix ];
+    programs.dconf.enable = true;
+    services.gnome3.at-spi2-core.enable = true; # needed for dogtail
+    environment.systemPackages = with pkgs; [ gnome-desktop-testing desktop-gsettings ];
+    services.dbus.packages = with pkgs; [ gnome-photos ];
+  };
+
+  testScript = ''
+    $machine->waitForX;
+    # dogtail needs accessibility enabled
+    $machine->succeed("desktop-gsettings set org.gnome.desktop.interface toolkit-accessibility true 2>&1");
+    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.gnome-photos.installedTests}/share' 2>&1");
+  '';
+})
diff --git a/nixos/tests/icingaweb2.nix b/nixos/tests/icingaweb2.nix
new file mode 100644
index 00000000000..ea1b94c526b
--- /dev/null
+++ b/nixos/tests/icingaweb2.nix
@@ -0,0 +1,71 @@
+import ./make-test.nix ({ pkgs, ... }: {
+  name = "icingaweb2";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ das_j ];
+  };
+
+  nodes = {
+    icingaweb2 = { config, pkgs, ... }: {
+      services.icingaweb2 = {
+        enable = true;
+
+        modulePackages = with pkgs.icingaweb2Modules; {
+          particles = theme-particles;
+          spring = theme-spring;
+        };
+
+        modules = {
+          doc.enable = true;
+          migrate.enable =  true;
+          setup.enable = true;
+          test.enable = true;
+          translation.enable = true;
+        };
+
+        generalConfig = {
+          global = {
+            module_path = "${pkgs.icingaweb2}/modules";
+          };
+        };
+
+        authentications = {
+          icingaweb = {
+            backend = "external";
+          };
+        };
+
+        groupBackends = {
+          icingaweb = {
+            backend = "db";
+            resource = "icingaweb_db";
+          };
+        };
+
+        resources = {
+          # Not used, so no DB server needed
+          icingaweb_db = {
+            type = "db";
+            db = "mysql";
+            host = "localhost";
+            username = "icingaweb2";
+            password = "icingaweb2";
+            dbname = "icingaweb2";
+          };
+        };
+
+        roles = {
+          Administrators = {
+            users = "*";
+            permissions = "*";
+          };
+        };
+      };
+    };
+  };
+
+  testScript = ''
+    startAll();
+    $icingaweb2->waitForUnit("multi-user.target");
+    $icingaweb2->succeed("curl -sSf http://icingaweb2/authentication/login");
+  '';
+})
diff --git a/nixos/tests/jormungandr.nix b/nixos/tests/jormungandr.nix
new file mode 100644
index 00000000000..ab4edf0506a
--- /dev/null
+++ b/nixos/tests/jormungandr.nix
@@ -0,0 +1,49 @@
+import ./make-test.nix ({ pkgs, ... }: {
+  name = "jormungandr";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ mmahut ];
+  };
+
+  nodes = {
+    bft = { ... }: {
+      environment.systemPackages = [ pkgs.jormungandr ];
+
+      services.jormungandr.enable = true;
+      services.jormungandr.genesisBlockFile = "/var/lib/jormungandr/block-0.bin";
+      services.jormungandr.secretFile = "/etc/secrets/jormungandr.yaml";
+    };
+  };
+
+  testScript = ''
+    startAll;
+
+    # Let's wait for the StateDirectory
+    $bft->waitForFile("/var/lib/jormungandr/");
+
+    # First, we generate the genesis file for our new blockchain
+    $bft->succeed("jcli genesis init > /root/genesis.yaml");
+
+    # We need to generate our secret key
+    $bft->succeed("jcli key generate --type=Ed25519 > /root/key.prv");
+
+    # We include the secret key into our services.jormungandr.secretFile
+    $bft->succeed("mkdir -p /etc/secrets");
+    $bft->succeed("echo -e \"bft:\\n signing_key:\" \$(cat /root/key.prv) > /etc/secrets/jormungandr.yaml");
+
+    # After that, we generate our public key from it
+    $bft->succeed("cat /root/key.prv | jcli key to-public > /root/key.pub");
+
+    # We add our public key as a consensus leader in the genesis configration file
+    $bft->succeed("sed -ie \"s/ed25519_pk1vvwp2s0n5jl5f4xcjurp2e92sj2awehkrydrlas4vgqr7xzt33jsadha32/\$(cat /root/key.pub)/\" /root/genesis.yaml");
+
+    # Now we can generate the genesis block from it
+    $bft->succeed("jcli genesis encode --input /root/genesis.yaml --output /var/lib/jormungandr/block-0.bin");
+
+    # We should have everything to start the service now
+    $bft->succeed("systemctl restart jormungandr");
+    $bft->waitForUnit("jormungandr.service");
+
+    # Now we can test if we are able to reach the REST API
+    $bft->waitUntilSucceeds("curl -L http://localhost:8607/api/v0/node/stats | grep uptime");
+  '';
+})
diff --git a/nixos/tests/libxmlb.nix b/nixos/tests/libxmlb.nix
new file mode 100644
index 00000000000..3bee568ac5a
--- /dev/null
+++ b/nixos/tests/libxmlb.nix
@@ -0,0 +1,17 @@
+# run installed tests
+import ./make-test.nix ({ pkgs, ... }:
+
+{
+  name = "libxmlb";
+  meta = {
+    maintainers = pkgs.libxmlb.meta.maintainers;
+  };
+
+  machine = { pkgs, ... }: {
+    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
+  };
+
+  testScript = ''
+    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.libxmlb.installedTests}/share'");
+  '';
+})
diff --git a/nixos/tests/metabase.nix b/nixos/tests/metabase.nix
new file mode 100644
index 00000000000..be9e5ed5b1e
--- /dev/null
+++ b/nixos/tests/metabase.nix
@@ -0,0 +1,20 @@
+import ./make-test.nix ({ pkgs, ... }: {
+  name = "metabase";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ mmahut ];
+  };
+
+  nodes = {
+    machine = { ... }: {
+      services.metabase.enable = true;
+      virtualisation.memorySize = 1024;
+    };
+  };
+
+  testScript = ''
+    startAll;
+    $machine->waitForUnit("metabase.service");
+    $machine->waitForOpenPort(3000);
+    $machine->waitUntilSucceeds("curl -L http://localhost:3000/setup | grep Metabase");
+  '';
+})
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
index 949d946bdc4..6ce64dcebea 100644
--- a/nixos/tests/networking.nix
+++ b/nixos/tests/networking.nix
@@ -21,7 +21,7 @@ let
         useNetworkd = networkd;
         firewall.checkReversePath = true;
         firewall.allowedUDPPorts = [ 547 ];
-        interfaces = mkOverride 0 (listToAttrs (flip map vlanIfs (n:
+        interfaces = mkOverride 0 (listToAttrs (forEach vlanIfs (n:
           nameValuePair "eth${toString n}" {
             ipv4.addresses = [ { address = "192.168.${toString n}.1"; prefixLength = 24; } ];
             ipv6.addresses = [ { address = "fd00:1234:5678:${toString n}::1"; prefixLength = 64; } ];
diff --git a/nixos/tests/nginx.nix b/nixos/tests/nginx.nix
index d66d99821c1..d0b7306ae83 100644
--- a/nixos/tests/nginx.nix
+++ b/nixos/tests/nginx.nix
@@ -3,15 +3,15 @@
 #      generated virtual hosts config.
 #   2. whether the ETag header is properly generated whenever we're serving
 #      files in Nix store paths
-
+#   3. nginx doesn't restart on configuration changes (only reloads)
 import ./make-test.nix ({ pkgs, ... }: {
   name = "nginx";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ mbbx6spp ];
   };
 
-  nodes = let
-    commonConfig = { pkgs, ... }: {
+  nodes = {
+    webserver = { pkgs, lib, ... }: {
       services.nginx.enable = true;
       services.nginx.commonHttpConfig = ''
         log_format ceeformat '@cee: {"status":"$status",'
@@ -32,30 +32,42 @@ import ./make-test.nix ({ pkgs, ... }: {
           location /favicon.ico { allow all; access_log off; log_not_found off; }
         '';
       };
+
       services.nginx.virtualHosts.localhost = {
         root = pkgs.runCommand "testdir" {} ''
           mkdir "$out"
           echo hello world > "$out/index.html"
         '';
       };
-    };
-  in {
-    webserver = commonConfig;
 
-    newwebserver = { pkgs, lib, ... }: {
-      imports = [ commonConfig ];
-      services.nginx.virtualHosts.localhost = {
-        root = lib.mkForce (pkgs.runCommand "testdir2" {} ''
-          mkdir "$out"
-          echo hello world > "$out/index.html"
-        '');
-      };
+      services.nginx.enableReload = true;
+
+      nesting.clone = [
+        {
+          services.nginx.virtualHosts.localhost = {
+            root = lib.mkForce (pkgs.runCommand "testdir2" {} ''
+              mkdir "$out"
+              echo content changed > "$out/index.html"
+            '');
+          };
+        }
+
+        {
+          services.nginx.virtualHosts."1.my.test".listen = [ { addr = "127.0.0.1"; port = 8080; }];
+        }
+
+        {
+          services.nginx.package = pkgs.nginxUnstable;
+        }
+      ];
     };
+
   };
 
   testScript = { nodes, ... }: let
-    newServerSystem = nodes.newwebserver.config.system.build.toplevel;
-    switch = "${newServerSystem}/bin/switch-to-configuration test";
+    etagSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-1";
+    justReloadSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-2";
+    reloadRestartSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-3";
   in ''
     my $url = 'http://localhost/index.html';
 
@@ -77,9 +89,23 @@ import ./make-test.nix ({ pkgs, ... }: {
 
     subtest "check ETag if serving Nix store paths", sub {
       my $oldEtag = checkEtag;
-      $webserver->succeed('${switch}');
+      $webserver->succeed("${etagSystem}/bin/switch-to-configuration test >&2");
+      $webserver->sleep(1); # race condition
       my $newEtag = checkEtag;
       die "Old ETag $oldEtag is the same as $newEtag" if $oldEtag eq $newEtag;
     };
+
+    subtest "config is reloaded on nixos-rebuild switch", sub {
+      $webserver->succeed("${justReloadSystem}/bin/switch-to-configuration test >&2");
+      $webserver->waitForOpenPort("8080");
+      $webserver->fail("journalctl -u nginx | grep -q -i stopped");
+      $webserver->succeed("journalctl -u nginx | grep -q -i reloaded");
+    };
+
+    subtest "restart when nginx package changes", sub {
+      $webserver->succeed("${reloadRestartSystem}/bin/switch-to-configuration test >&2");
+      $webserver->waitForUnit("nginx");
+      $webserver->succeed("journalctl -u nginx | grep -q -i stopped");
+    };
   '';
 })
diff --git a/nixos/tests/php-pcre.nix b/nixos/tests/php-pcre.nix
index 19bde9babad..ae44aec7944 100644
--- a/nixos/tests/php-pcre.nix
+++ b/nixos/tests/php-pcre.nix
@@ -8,30 +8,25 @@ import ./make-test.nix ({ ...}: {
     services.httpd = {
       enable = true;
       adminAddr = "please@dont.contact";
-      extraSubservices = lib.singleton {
-        function = f: {
-          enablePHP = true;
-          phpOptions = "pcre.jit = true";
+      enablePHP = true;
+      phpOptions = "pcre.jit = true";
+      extraConfig =
+      let
+        testRoot = pkgs.writeText "index.php"
+        ''
+          <?php
+            preg_match('/(${testString})/', '${testString}', $result);
+            var_dump($result);
+          ?>
+        '';
+      in
+        ''
+          Alias / ${testRoot}/
 
-          extraConfig =
-          let
-            testRoot = pkgs.writeText "index.php"
-            ''
-              <?php
-                preg_match('/(${testString})/', '${testString}', $result);
-                var_dump($result);
-              ?>
-            '';
-          in
-            ''
-              Alias / ${testRoot}/
-
-              <Directory ${testRoot}>
-                Require all granted
-              </Directory>
-            '';
-        };
-      };
+          <Directory ${testRoot}>
+            Require all granted
+          </Directory>
+        '';
     };
   };
   testScript = { ... }:
diff --git a/nixos/tests/prosody.nix b/nixos/tests/prosody.nix
deleted file mode 100644
index a39bae7898d..00000000000
--- a/nixos/tests/prosody.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-import ./make-test.nix {
-  name = "prosody";
-
-  machine = { pkgs, ... }: {
-    services.prosody = {
-      enable = true;
-      # TODO: use a self-signed certificate
-      c2sRequireEncryption = false;
-      extraConfig = ''
-        storage = "sql"
-      '';
-      virtualHosts.test = {
-        domain = "example.com";
-        enabled = true;
-      };
-    };
-    environment.systemPackages = [
-      (pkgs.callPackage ./xmpp-sendmessage.nix {})
-    ];
-  };
-
-  testScript = ''
-    $machine->waitForUnit('prosody.service');
-    $machine->succeed('prosodyctl status') =~ /Prosody is running/;
-
-    # set password to 'nothunter2' (it's asked twice)
-    $machine->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com');
-    # set password to 'y'
-    $machine->succeed('yes | prosodyctl adduser azurediamond@example.com');
-    # correct password to 'hunter2'
-    $machine->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com');
-
-    $machine->succeed("send-message");
-
-    $machine->succeed('prosodyctl deluser cthon98@example.com');
-    $machine->succeed('prosodyctl deluser azurediamond@example.com');
-  '';
-}
diff --git a/nixos/tests/subversion.nix b/nixos/tests/subversion.nix
deleted file mode 100644
index e7b99b10602..00000000000
--- a/nixos/tests/subversion.nix
+++ /dev/null
@@ -1,121 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : 
-
-let
-
-  # Build some packages with coverage instrumentation.
-  overrides = pkgs:
-    with pkgs.stdenvAdapters;
-    let
-      do = pkg: pkg.override (args: {
-        stdenv = addCoverageInstrumentation args.stdenv;
-      });
-    in
-      rec {
-        apr = do pkgs.apr;
-        aprutil = do pkgs.aprutil;
-        apacheHttpd = do pkgs.apacheHttpd;
-        mod_python = do pkgs.mod_python;
-        subversion = do pkgs.subversion;
-
-        # To build the kernel with coverage instrumentation, we need a
-        # special patch to make coverage data available under /proc.
-        linux = pkgs.linux.override (orig: {
-          stdenv = overrideInStdenv pkgs.stdenv [ pkgs.keepBuildTree ];
-          extraConfig =
-            ''
-              GCOV_KERNEL y
-              GCOV_PROFILE_ALL y
-            '';
-        });
-      };
-
-in
-
-{
-  name = "subversion";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ eelco ];
-  };
-
-  nodes =
-    { webserver =
-        { ... }:
-
-        {
-          services.httpd.enable = true;
-          services.httpd.adminAddr = "e.dolstra@tudelft.nl";
-          services.httpd.extraSubservices =
-            [ { function = import <services/subversion>;
-                urlPrefix = "";
-                dataDir = "/data/subversion";
-                userCreationDomain = "192.168.0.0/16";
-              }
-            ];
-          nixpkgs.config.packageOverrides = overrides;
-        };
-
-      client =
-        { pkgs, ... }:
-
-        {
-          environment.systemPackages = [ pkgs.subversion ];
-          nixpkgs.config.packageOverrides = overrides;
-        };
-
-    };
-
-  testScript =
-    ''
-      startAll;
-
-      $webserver->waitForOpenPort(80);
-
-      print STDERR $client->succeed("svn --version");
-
-      print STDERR $client->succeed("curl --fail http://webserver/");
-
-      # Create a new user through the web interface.
-      $client->succeed("curl --fail -F username=alice -F fullname='Alice Lastname' -F address=alice\@example.org -F password=foobar -F password_again=foobar http://webserver/repoman/adduser");
-
-      # Let Alice create a new repository.
-      $client->succeed("curl --fail -u alice:foobar --form repo=xyzzy --form description=Xyzzy http://webserver/repoman/create");
-
-      $client->succeed("curl --fail http://webserver/") =~ /alice/ or die;
-
-      # Let Alice do a checkout.
-      my $svnFlags = "--non-interactive --username alice --password foobar";
-      $client->succeed("svn co $svnFlags http://webserver/repos/xyzzy wc");
-      $client->succeed("echo hello > wc/world");
-      $client->succeed("svn add wc/world");
-      $client->succeed("svn ci $svnFlags -m 'Added world.' wc/world");
-
-      # Create a new user on the server through the create-user.pl script.
-      $webserver->execute("svn-server-create-user.pl bob bob\@example.org Bob");
-      $webserver->succeed("svn-server-resetpw.pl bob fnord");
-      $client->succeed("curl --fail http://webserver/") =~ /bob/ or die;
-
-      # Bob should not have access to the repo.
-      my $svnFlagsBob = "--non-interactive --username bob --password fnord";
-      $client->fail("svn co $svnFlagsBob http://webserver/repos/xyzzy wc2");
-
-      # Bob should not be able change the ACLs of the repo.
-      # !!! Repoman should really return a 403 here.
-      $client->succeed("curl --fail -u bob:fnord -F description=Xyzzy -F readers=alice,bob -F writers=alice -F watchers= -F tardirs= http://webserver/repoman/update/xyzzy")
-          =~ /not authorised/ or die;
-
-      # Give Bob access.
-      $client->succeed("curl --fail -u alice:foobar -F description=Xyzzy -F readers=alice,bob -F writers=alice -F watchers= -F tardirs= http://webserver/repoman/update/xyzzy");
-
-      # So now his checkout should succeed.
-      $client->succeed("svn co $svnFlagsBob http://webserver/repos/xyzzy wc2");
-
-      # Test ViewVC and WebSVN
-      $client->succeed("curl --fail -u alice:foobar http://webserver/viewvc/xyzzy");
-      $client->succeed("curl --fail -u alice:foobar http://webserver/websvn/xyzzy");
-      $client->succeed("curl --fail -u alice:foobar http://webserver/repos-xml/xyzzy");
-
-      # Stop Apache to gather all the coverage data.
-      $webserver->stopJob("httpd");
-    '';
-
-})
diff --git a/nixos/tests/systemd-networkd-wireguard.nix b/nixos/tests/systemd-networkd-wireguard.nix
new file mode 100644
index 00000000000..f1ce1e791ce
--- /dev/null
+++ b/nixos/tests/systemd-networkd-wireguard.nix
@@ -0,0 +1,80 @@
+let generateNodeConf = { lib, pkgs, config, privkpath, pubk, peerId, nodeId, ...}: {
+      imports = [ common/user-account.nix ];
+      systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
+      networking.useNetworkd = true;
+      networking.firewall.enable = false;
+      virtualisation.vlans = [ 1 ];
+      environment.systemPackages = with pkgs; [ wireguard-tools ];
+      boot.extraModulePackages = [ config.boot.kernelPackages.wireguard ];
+      systemd.network = {
+        enable = true;
+        netdevs = {
+          "90-wg0" = {
+            netdevConfig = { Kind = "wireguard"; Name = "wg0"; };
+            wireguardConfig = {
+              PrivateKeyFile = privkpath ;
+              ListenPort = 51820;
+              FwMark = 42;
+            };
+            wireguardPeers = [ {wireguardPeerConfig={
+              Endpoint = "192.168.1.${peerId}:51820";
+              PublicKey = pubk;
+              PresharedKeyFile = pkgs.writeText "psk.key" "yTL3sCOL33Wzi6yCnf9uZQl/Z8laSE+zwpqOHC4HhFU=";
+              AllowedIPs = [ "10.0.0.${peerId}/32" ];
+              PersistentKeepalive = 15;
+            };}];
+          };
+        };
+        networks = {
+          "99-nope" = {
+            matchConfig.Name = "eth*";
+            linkConfig.Unmanaged = true;
+          };
+          "90-wg0" = {
+            matchConfig = { Name = "wg0"; };
+            address = [ "10.0.0.${nodeId}/32" ];
+            routes = [
+              { routeConfig = { Gateway = "10.0.0.${nodeId}"; Destination = "10.0.0.0/24"; }; }
+            ];
+          };
+          "90-eth1" = {
+            matchConfig = { Name = "eth1"; };
+            address = [ "192.168.1.${nodeId}/24" ];
+          };
+        };
+      };
+    };
+in import ./make-test.nix ({pkgs, ... }: {
+  name = "networkd-wireguard";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ ninjatrappeur ];
+  };
+  nodes = {
+    node1 = { pkgs, ... }@attrs:
+    let localConf = {
+        privkpath = pkgs.writeText "priv.key" "GDiXWlMQKb379XthwX0haAbK6hTdjblllpjGX0heP00=";
+        pubk = "iRxpqj42nnY0Qz8MAQbSm7bXxXP5hkPqWYIULmvW+EE=";
+        nodeId = "1";
+        peerId = "2";
+    };
+    in generateNodeConf (attrs // localConf);
+
+    node2 = { pkgs, ... }@attrs:
+    let localConf = {
+        privkpath = pkgs.writeText "priv.key" "eHxSI2jwX/P4AOI0r8YppPw0+4NZnjOxfbS5mt06K2k=";
+        pubk = "27s0OvaBBdHoJYkH9osZpjpgSOVNw+RaKfboT/Sfq0g=";
+        nodeId = "2";
+        peerId = "1";
+    };
+    in generateNodeConf (attrs // localConf);
+  };
+testScript = ''
+    startAll;
+    $node1->waitForUnit('systemd-networkd-wait-online.service');
+    $node2->waitForUnit('systemd-networkd-wait-online.service');
+    $node1->succeed('ping -c 5 10.0.0.2');
+    $node2->succeed('ping -c 5 10.0.0.1');
+    # Is the fwmark set?
+    $node2->succeed('wg | grep -q 42');
+'';
+})
diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix
index fadea52f1db..3168c026d51 100644
--- a/nixos/tests/systemd.nix
+++ b/nixos/tests/systemd.nix
@@ -78,19 +78,16 @@ import ./make-test.nix ({ pkgs, ... }: {
       $machine->fail('dumpe2fs /dev/vdb | grep -q "^Last mount time: *n/a"');
     };
 
-    # Regression test for https://github.com/NixOS/nixpkgs/issues/35268
-    subtest "file system with x-initrd.mount is not unmounted", sub {
-      $machine->shutdown;
-      $machine->waitForUnit('multi-user.target');
-      # If the file system was unmounted during the shutdown the file system
-      # has a last mount time, because the file system wasn't checked.
-      $machine->fail('dumpe2fs /dev/vdb | grep -q "^Last mount time: *n/a"');
-    };
-
     subtest "systemd-shutdown works", sub {
       $machine->shutdown;
       $machine->waitForUnit('multi-user.target');
       $machine->succeed('test -e /tmp/shared/shutdown-test');
     };
+
+   # Test settings from /etc/sysctl.d/50-default.conf are applied
+   subtest "systemd sysctl settings are applied", sub {
+     $machine->waitForUnit('multi-user.target');
+     $machine->succeed('sysctl net.core.default_qdisc | grep -q "fq_codel"');
+   };
   '';
 })
diff --git a/nixos/tests/trezord.nix b/nixos/tests/trezord.nix
new file mode 100644
index 00000000000..1c85bf53934
--- /dev/null
+++ b/nixos/tests/trezord.nix
@@ -0,0 +1,20 @@
+import ./make-test.nix ({ pkgs, ... }: {
+  name = "trezord";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ mmahut ];
+  };
+
+  nodes = {
+    machine = { ... }: {
+      services.trezord.enable = true;
+      services.trezord.emulator.enable = true;
+    };
+  };
+
+  testScript = ''
+    startAll;
+    $machine->waitForUnit("trezord.service");
+    $machine->waitForOpenPort(21325);
+    $machine->waitUntilSucceeds("curl -L http://localhost:21325/status/ | grep Version");
+  '';
+})
diff --git a/nixos/tests/ejabberd.nix b/nixos/tests/xmpp/ejabberd.nix
index 0691dfe780d..196a04aca30 100644
--- a/nixos/tests/ejabberd.nix
+++ b/nixos/tests/xmpp/ejabberd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ../make-test.nix ({ pkgs, ... }: {
   name = "ejabberd";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ajs124 ];
@@ -45,8 +45,7 @@ import ./make-test.nix ({ pkgs, ... }: {
               ip: "127.0.0.1"
               module: ejabberd_service
               access: local
-              shaper_rule: fast
-              ip: "127.0.0.1"
+              shaper: fast
 
           ## Disabling digest-md5 SASL authentication. digest-md5 requires plain-text
           ## password storage (see auth_password_format option).
@@ -181,7 +180,6 @@ import ./make-test.nix ({ pkgs, ... }: {
             mod_client_state: {}
             mod_configure: {} # requires mod_adhoc
             ## mod_delegation: {} # for xep0356
-            mod_echo: {}
             #mod_irc:
             #  host: "irc.@HOST@"
             #  default_encoding: "utf-8"
diff --git a/nixos/tests/xmpp/prosody-mysql.nix b/nixos/tests/xmpp/prosody-mysql.nix
new file mode 100644
index 00000000000..62b4a17421e
--- /dev/null
+++ b/nixos/tests/xmpp/prosody-mysql.nix
@@ -0,0 +1,77 @@
+import ../make-test.nix {
+  name = "prosody-mysql";
+
+  nodes = {
+    client = { nodes, pkgs, ... }: {
+      environment.systemPackages = [
+        (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; })
+      ];
+    };
+    server = { config, pkgs, ... }: {
+      nixpkgs.overlays = [
+        (self: super: {
+          prosody = super.prosody.override {
+            withDBI = true;
+            withExtraLibs = [ pkgs.luaPackages.luadbi-mysql ];
+          };
+        })
+      ];
+      networking.extraHosts = ''
+        ${config.networking.primaryIPAddress} example.com
+      '';
+      networking.firewall.enable = false;
+      services.prosody = {
+        enable = true;
+        # TODO: use a self-signed certificate
+        c2sRequireEncryption = false;
+        extraConfig = ''
+          storage = "sql"
+          sql = {
+            driver = "MySQL";
+            database = "prosody";
+            host = "mysql";
+            port = 3306;
+            username = "prosody";
+            password = "password123";
+          };
+        '';
+        virtualHosts.test = {
+          domain = "example.com";
+          enabled = true;
+        };
+      };
+    };
+    mysql = { config, pkgs, ... }: {
+      networking.firewall.enable = false;
+      services.mysql = {
+        enable = true;
+        initialScript = pkgs.writeText "mysql_init.sql" ''
+          CREATE DATABASE prosody;
+          CREATE USER 'prosody'@'server' IDENTIFIED BY 'password123';
+          GRANT ALL PRIVILEGES ON prosody.* TO 'prosody'@'server';
+          FLUSH PRIVILEGES;
+        '';
+        package = pkgs.mariadb;
+      };
+    };
+  };
+
+  testScript = { nodes, ... }: ''
+    $mysql->waitForUnit('mysql.service');
+    $server->waitForUnit('prosody.service');
+    $server->succeed('prosodyctl status') =~ /Prosody is running/;
+
+    # set password to 'nothunter2' (it's asked twice)
+    $server->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com');
+    # set password to 'y'
+    $server->succeed('yes | prosodyctl adduser azurediamond@example.com');
+    # correct password to 'hunter2'
+    $server->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com');
+
+    $client->succeed("send-message");
+
+    $server->succeed('prosodyctl deluser cthon98@example.com');
+    $server->succeed('prosodyctl deluser azurediamond@example.com');
+  '';
+}
+
diff --git a/nixos/tests/xmpp/prosody.nix b/nixos/tests/xmpp/prosody.nix
new file mode 100644
index 00000000000..8331c7b6d33
--- /dev/null
+++ b/nixos/tests/xmpp/prosody.nix
@@ -0,0 +1,46 @@
+import ../make-test.nix {
+  name = "prosody";
+
+  nodes = {
+    client = { nodes, pkgs, ... }: {
+      environment.systemPackages = [
+        (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; })
+      ];
+    };
+    server = { config, pkgs, ... }: {
+      networking.extraHosts = ''
+        ${config.networking.primaryIPAddress} example.com
+      '';
+      networking.firewall.enable = false;
+      services.prosody = {
+        enable = true;
+        # TODO: use a self-signed certificate
+        c2sRequireEncryption = false;
+        extraConfig = ''
+          storage = "sql"
+        '';
+        virtualHosts.test = {
+          domain = "example.com";
+          enabled = true;
+        };
+      };
+    };
+  };
+
+  testScript = { nodes, ... }: ''
+    $server->waitForUnit('prosody.service');
+    $server->succeed('prosodyctl status') =~ /Prosody is running/;
+
+    # set password to 'nothunter2' (it's asked twice)
+    $server->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com');
+    # set password to 'y'
+    $server->succeed('yes | prosodyctl adduser azurediamond@example.com');
+    # correct password to 'hunter2'
+    $server->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com');
+
+    $client->succeed("send-message");
+
+    $server->succeed('prosodyctl deluser cthon98@example.com');
+    $server->succeed('prosodyctl deluser azurediamond@example.com');
+  '';
+}
diff --git a/nixos/tests/xmpp-sendmessage.nix b/nixos/tests/xmpp/xmpp-sendmessage.nix
index 2a075a01813..2a075a01813 100644
--- a/nixos/tests/xmpp-sendmessage.nix
+++ b/nixos/tests/xmpp/xmpp-sendmessage.nix
diff --git a/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch b/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch
deleted file mode 100644
index 1b74a48a84a..00000000000
--- a/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- a/src/txmempool.h
-+++ b/src/txmempool.h
-@@ -204,7 +204,7 @@
- class CompareTxMemPoolEntryByDescendantScore
- {
- public:
--    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
-+    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
-     {
-         bool fUseADescendants = UseDescendantScore(a);
-         bool fUseBDescendants = UseDescendantScore(b);
-@@ -226,7 +226,7 @@
-     }
- 
-     // Calculate which score to use for an entry (avoiding division).
--    bool UseDescendantScore(const CTxMemPoolEntry &a)
-+    bool UseDescendantScore(const CTxMemPoolEntry &a) const
-     {
-         double f1 = (double)a.GetModifiedFee() * a.GetSizeWithDescendants();
-         double f2 = (double)a.GetModFeesWithDescendants() * a.GetTxSize();
-@@ -241,7 +241,7 @@
- class CompareTxMemPoolEntryByScore
- {
- public:
--    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
-+    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
-     {
-         double f1 = (double)a.GetModifiedFee() * b.GetTxSize();
-         double f2 = (double)b.GetModifiedFee() * a.GetTxSize();
-@@ -255,7 +255,7 @@
- class CompareTxMemPoolEntryByEntryTime
- {
- public:
--    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
-+    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
-     {
-         return a.GetTime() < b.GetTime();
-     }
diff --git a/pkgs/applications/altcoins/bitcoin-unlimited.nix b/pkgs/applications/altcoins/bitcoin-unlimited.nix
index 13ec55bb589..a75b20b3910 100644
--- a/pkgs/applications/altcoins/bitcoin-unlimited.nix
+++ b/pkgs/applications/altcoins/bitcoin-unlimited.nix
@@ -1,34 +1,32 @@
 { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
-, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent
-, withGui
+, zlib, miniupnpc, utillinux, protobuf, qrencode, libevent, python3
+, withGui, wrapQtAppsHook ? null, qtbase ? null, qttools ? null
 , Foundation, ApplicationServices, AppKit }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
-  version = "1.0.3.0";
+  version = "1.6.0.1";
 
   src = fetchFromGitHub {
     owner = "bitcoinunlimited";
     repo = "bitcoinunlimited";
-    rev = "v${version}";
-    sha256 = "0l02a7h502msrp4c02wgm7f3159ap8l61k4890vas99gq7ywxkcx";
+    rev = "bucash${version}";
+    sha256 = "0f0mnal4jf8xdj7w5m4rdlcqkrkbpxi88c006m5k45lmjmj141zr";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook python3 ]
+    ++ optionals withGui [ wrapQtAppsHook qttools ];
   buildInputs = [ openssl db48 boost zlib
                   miniupnpc utillinux protobuf libevent ]
-                  ++ optionals withGui [ qt4 qrencode ]
+                  ++ optionals withGui [ qtbase qttools qrencode ]
                   ++ optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ];
 
-  patches = [
-    ./bitcoin-unlimited-const-comparators.patch
-  ];
-
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
-                     ++ optionals withGui [ "--with-gui=qt4" ];
+                     ++ optionals withGui [ "--with-gui=qt5"
+                                            "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+                                          ];
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/applications/altcoins/bitcoin-xt.nix b/pkgs/applications/altcoins/bitcoin-xt.nix
deleted file mode 100644
index 499bc4be4c8..00000000000
--- a/pkgs/applications/altcoins/bitcoin-xt.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
-, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, curl, libevent
-, withGui
-, Foundation, ApplicationServices, AppKit }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec{
-
-  name = "bitcoin" + (toString (optional (!withGui) "d")) + "-xt-" + version;
-  version = "0.11H";
-
-  src = fetchFromGitHub {
-    owner = "bitcoinxt";
-    repo = "bitcoinxt";
-    rev = "v${version}";
-    sha256 = "1v43bynmidn2zdpky939km721x3ks91bzyh4200gji61qzsmyg62";
-  };
-
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
-  buildInputs = [ openssl db48 boost zlib libevent
-                  miniupnpc utillinux protobuf curl ]
-                  ++ optionals withGui [ qt4 qrencode ]
-                  ++ optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ];
-
-  configureFlags = [
-    "--with-boost-libdir=${boost.out}/lib"
-    "--with-libcurl-headers=${curl.dev}/include"
-  ] ++ optionals withGui [ "--with-gui=qt4" ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "Peer-to-peer electronic cash system (XT client)";
-    longDescription= ''
-      Bitcoin is a free open source peer-to-peer electronic cash system that is
-      completely decentralized, without the need for a central server or trusted
-      parties. Users hold the crypto keys to their own money and transact directly
-      with each other, with the help of a P2P network to check for double-spending.
-
-      Bitcoin XT is an implementation of a Bitcoin full node, based upon the
-      source code of Bitcoin Core. It is built by taking the latest stable
-      Core release, applying a series of patches, and then doing deterministic
-      builds so anyone can check the downloads correspond to the source code.
-    '';
-    homepage = https://bitcoinxt.software/;
-    maintainers = with maintainers; [ jefdaj ];
-    license = licenses.mit;
-    broken = stdenv.isDarwin;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix
index 5293c1eefa3..5b5bfb897cf 100644
--- a/pkgs/applications/altcoins/default.nix
+++ b/pkgs/applications/altcoins/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, boost155, boost165, openssl_1_1, darwin, libsForQt5, libsForQt59, miniupnpc_2, python3, buildGo110Package }:
+{ callPackage, boost155, boost165, darwin, libsForQt5, libsForQt59, miniupnpc_2, python3, buildGo110Package }:
 
 rec {
 
@@ -11,7 +11,7 @@ rec {
   bitcoin-abc  = libsForQt5.callPackage ./bitcoin-abc.nix { boost = boost165; withGui = true; };
   bitcoind-abc = callPackage ./bitcoin-abc.nix { boost = boost165; withGui = false; };
 
-  bitcoin-unlimited  = callPackage ./bitcoin-unlimited.nix {
+  bitcoin-unlimited  = libsForQt5.callPackage ./bitcoin-unlimited.nix {
     inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
     withGui = true;
   };
@@ -23,15 +23,6 @@ rec {
   bitcoin-classic  = libsForQt5.callPackage ./bitcoin-classic.nix { boost = boost165; withGui = true; };
   bitcoind-classic = callPackage ./bitcoin-classic.nix { boost = boost165; withGui = false; };
 
-  bitcoin-xt  = callPackage ./bitcoin-xt.nix {
-    inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
-    boost = boost165; withGui = true;
-  };
-  bitcoind-xt = callPackage ./bitcoin-xt.nix {
-    inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
-    boost = boost165; withGui = false;
-  };
-
   btc1 = callPackage ./btc1.nix {
     inherit (darwin.apple_sdk.frameworks) AppKit;
     boost = boost165;
@@ -69,9 +60,6 @@ rec {
 
   masari = callPackage ./masari.nix { boost = boost165; };
 
-  memorycoin  = callPackage ./memorycoin.nix { boost = boost165; withGui = true; };
-  memorycoind = callPackage ./memorycoin.nix { boost = boost165; withGui = false; };
-
   mist = callPackage ./mist.nix { };
 
   namecoin  = callPackage ./namecoin.nix  { withGui = true; };
@@ -90,7 +78,6 @@ rec {
 
   zcash = callPackage ./zcash {
     withGui = false;
-    openssl = openssl_1_1;
   };
 
   parity = callPackage ./parity { };
diff --git a/pkgs/applications/altcoins/dogecoin.nix b/pkgs/applications/altcoins/dogecoin.nix
index 1332e53964b..e5f149a0efe 100644
--- a/pkgs/applications/altcoins/dogecoin.nix
+++ b/pkgs/applications/altcoins/dogecoin.nix
@@ -1,8 +1,8 @@
 { stdenv , fetchFromGitHub
 , pkgconfig, autoreconfHook
-, db5, openssl, boost, zlib, miniupnpc
+, db5, openssl, boost, zlib, miniupnpc, libevent
 , protobuf, utillinux, qt4, qrencode
-, withGui, libevent }:
+, withGui }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/altcoins/freicoin.nix b/pkgs/applications/altcoins/freicoin.nix
index 1f9fc3f9f96..6cf84f76f91 100644
--- a/pkgs/applications/altcoins/freicoin.nix
+++ b/pkgs/applications/altcoins/freicoin.nix
@@ -34,5 +34,8 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.viric ];
     platforms = platforms.linux;
+
+    # upstream doesn't support newer openssl versions, use 1.0.1 for testing
+    broken = true;
   };
 }
diff --git a/pkgs/applications/altcoins/jormungandr/default.nix b/pkgs/applications/altcoins/jormungandr/default.nix
index d58e05184b6..abfd3fa5171 100644
--- a/pkgs/applications/altcoins/jormungandr/default.nix
+++ b/pkgs/applications/altcoins/jormungandr/default.nix
@@ -1,27 +1,28 @@
 { stdenv
+, lib
 , fetchgit
 , rustPlatform
 , openssl
 , pkgconfig
 , protobuf
-, rustup
+, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "jormungandr";
-  version = "0.3.1";
+  version = "0.3.3";
 
   src = fetchgit {
     url = "https://github.com/input-output-hk/${pname}";
     rev = "v${version}";
-    sha256 = "0ys8sw73c7binxnl79dqi7sxva62bgifbhgyzvvjvmjjdxgq4kfp";
+    sha256 = "1fw3cl2rxnw9mww1b1z96x2iapwbpdgyp4ra19dhvfzmlvaiml5j";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "0fphjzz78ym15qbka01idnq6vkyf4asrnhrhvxngwc3bifmnj937";
+  cargoSha256 = "1ilp9ffaz3njv38mnqics4b5d7wh52mj4rwi71h5c0wzx4ww3zal";
 
-  nativeBuildInputs = [ pkgconfig protobuf rustup ];
-  buildInputs = [ openssl ];
+  nativeBuildInputs = [ pkgconfig protobuf ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
   PROTOC = "${protobuf}/bin/protoc";
 
diff --git a/pkgs/applications/altcoins/memorycoin.nix b/pkgs/applications/altcoins/memorycoin.nix
deleted file mode 100644
index 944c82250d4..00000000000
--- a/pkgs/applications/altcoins/memorycoin.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, openssl, db48, boost
-, zlib, qt4, qmake4Hook, utillinux, protobuf, qrencode
-, withGui }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec{
-
-  name = "memorycoin" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "0.8.5";
-
-  src = fetchurl {
-    url = "https://github.com/memorycoin/memorycoin/archive/v${version}.tar.gz";
-    sha256 = "1iyh6dqrg0mirwci5br5n5qw3ghp2cs23wd8ygr56bh9ml4dr1m8";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openssl db48 boost zlib utillinux protobuf ]
-                  ++ optionals withGui [ qt4 qmake4Hook qrencode ];
-
-  qmakeFlags = ["USE_UPNP=-"];
-  makeFlags = ["USE_UPNP=-"];
-
-  configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
-                     ++ optionals withGui [ "--with-gui=qt4" ];
-
-  preBuild = "unset AR;"
-             + (toString (optional (!withGui) "cd src; cp makefile.unix Makefile"));
-
-  installPhase =
-    if withGui
-    then "install -D bitcoin-qt $out/bin/memorycoin-qt"
-    else "install -D bitcoind $out/bin/memorycoind";
-
-  # `make build/version.o`:
-  # make: *** No rule to make target 'build/build.h', needed by 'build/version.o'.  Stop.
-  enableParallelBuilding = false;
-
-  meta = {
-    description = "Peer-to-peer, CPU-based electronic cash system";
-    longDescription= ''
-      Memorycoin is a cryptocurrency that aims to empower the
-      economically and financially marginalized. It allows individuals
-      to participate in the internet economy even when they live in
-      countries where credit card companies and PayPal(R) refuse to
-      operate. Individuals can store and transfer wealth with just a
-      memorized pass phrase.
-
-      Memorycoin is based on the Bitcoin code, but with some key
-      differences.
-    '';
-    homepage = http://www.bitcoin.org/;
-    maintainers = with maintainers; [ AndersonTorres ];
-    license = licenses.mit;
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/altcoins/parity/beta.nix b/pkgs/applications/altcoins/parity/beta.nix
index 5670a0b767c..4b6a88fd410 100644
--- a/pkgs/applications/altcoins/parity/beta.nix
+++ b/pkgs/applications/altcoins/parity/beta.nix
@@ -1,6 +1,6 @@
 let
-  version     = "2.6.0";
-  sha256      = "1v0wc6l09nr42ljlq5lq1dgignm53hq3pmrgp2sld9zfxy3vdy0x";
-  cargoSha256 = "1bkcvziz0diy76nbcgykajpnp6akva0m7ka7q6w3s9k7awxjxkx3";
+  version     = "2.6.1";
+  sha256      = "0yvscs2ivy08zla3jhirxhwwaqsn9j5ml4sqbgx6h5rh19c941vh";
+  cargoSha256 = "1s3c44cggajrmc504klf4cyb1s4l5ny48yihs9c3fc0n8d064017";
 in
   import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/pkgs/applications/altcoins/parity/default.nix b/pkgs/applications/altcoins/parity/default.nix
index 8f81cdd8544..873f83190fd 100644
--- a/pkgs/applications/altcoins/parity/default.nix
+++ b/pkgs/applications/altcoins/parity/default.nix
@@ -1,6 +1,6 @@
 let
-  version     = "2.5.5";
-  sha256      = "193fnrf1pr67wblyxd5gbrg1rgflphnfaxgm3kb4iawjh18br6c6";
-  cargoSha256 = "1w9p43v76igb62mbjk2rl7fynk13l4hpz25jd4f4hk5b2y2wf3r7";
+  version     = "2.5.6";
+  sha256      = "1qkrqkkgjvm27babd6bidhf1n6vdp8rac1zy5kf61nfzplxzr2dy";
+  cargoSha256 = "0aa0nkv3jr7cdzswbxghxxv0y65a59jgs1682ch8vrasi0x17m1x";
 in
   import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/pkgs/applications/altcoins/pivx.nix b/pkgs/applications/altcoins/pivx.nix
index 7b51538d063..c0833de7dbf 100644
--- a/pkgs/applications/altcoins/pivx.nix
+++ b/pkgs/applications/altcoins/pivx.nix
@@ -50,5 +50,12 @@ stdenv.mkDerivation rec {
     homepage = https://www.dash.org;
     maintainers = with maintainers; [ wucke13 ];
     platforms = platforms.unix;
+
+    # upstream doesn't support newer openssl versions
+    # https://github.com/PIVX-Project/PIVX/issues/748
+    # "Your system is most probably using openssl 1.1 which is not the
+    # officialy supported version. Either use 1.0.1 or run again configure
+    # with the given option."
+    broken = true;
   };
 }
diff --git a/pkgs/applications/altcoins/wasabiwallet/default.nix b/pkgs/applications/altcoins/wasabiwallet/default.nix
index 9eef471adad..7185b351060 100644
--- a/pkgs/applications/altcoins/wasabiwallet/default.nix
+++ b/pkgs/applications/altcoins/wasabiwallet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeDesktopItem, openssl_1_1, xorg, curl, fontconfig, krb5, zlib, dotnet-sdk }:
+{ stdenv, fetchurl, makeDesktopItem, openssl, xorg, curl, fontconfig, krb5, zlib, dotnet-sdk }:
 
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 		cd $out/opt/${pname}
 		for i in $(find . -type f -name '*.so') wassabee
 			do
-				patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ openssl_1_1 stdenv.cc.cc.lib xorg.libX11 curl fontconfig.lib krb5 zlib dotnet-sdk ]} $i
+				patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ openssl stdenv.cc.cc.lib xorg.libX11 curl fontconfig.lib krb5 zlib dotnet-sdk ]} $i
 			done
 		patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" wassabee
 		ln -s $out/opt/${pname}/wassabee $out/bin/${pname}
diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix
index 66e9b6545a4..cae35b62519 100644
--- a/pkgs/applications/audio/gmpc/default.nix
+++ b/pkgs/applications/audio/gmpc/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     homepage = https://gmpclient.org;
     description = "A GTK2 frontend for Music Player Daemon";
     license = licenses.gpl2;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = [];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index c1379c57fe5..c574c862f52 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -38,7 +38,7 @@ pythonPackages.buildPythonApplication rec {
       SoundCloud, Google Play Music, and more
     '';
     license = licenses.asl20;
-    maintainers = with maintainers; [ rickynils fpletz ];
+    maintainers = [ maintainers.fpletz ];
     hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/audio/mopidy/moped.nix b/pkgs/applications/audio/mopidy/moped.nix
index 3754bf763b2..d41fb12ae8d 100644
--- a/pkgs/applications/audio/mopidy/moped.nix
+++ b/pkgs/applications/audio/mopidy/moped.nix
@@ -20,7 +20,7 @@ pythonPackages.buildPythonApplication rec {
     homepage = https://github.com/martijnboland/moped;
     description = "A web client for Mopidy";
     license = licenses.mit;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = [];
     hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/audio/mopidy/spotify.nix b/pkgs/applications/audio/mopidy/spotify.nix
index 9a6e1bef994..483852455aa 100644
--- a/pkgs/applications/audio/mopidy/spotify.nix
+++ b/pkgs/applications/audio/mopidy/spotify.nix
@@ -17,7 +17,7 @@ pythonPackages.buildPythonApplication rec {
     homepage = https://www.mopidy.com/;
     description = "Mopidy extension for playing music from Spotify";
     license = licenses.asl20;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = [];
     hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/audio/munt/default.nix b/pkgs/applications/audio/munt/default.nix
index 3d40e4c39f4..c9a1e9bea80 100644
--- a/pkgs/applications/audio/munt/default.nix
+++ b/pkgs/applications/audio/munt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, qtbase, alsaLib, makeDesktopItem }:
+{ stdenv, mkDerivation, fetchFromGitHub, cmake, qtbase, alsaLib, makeDesktopItem }:
 
 let
   desktopItem = makeDesktopItem rec {
@@ -8,7 +8,7 @@ let
     genericName = "Munt synthesiser";
     categories = "Audio;AudioVideo;";
   };
-in stdenv.mkDerivation rec {
+in mkDerivation rec {
   version = "2.3.0";
   pname = "munt";
 
diff --git a/pkgs/applications/audio/padthv1/default.nix b/pkgs/applications/audio/padthv1/default.nix
index b34db81981f..b424bce2433 100644
--- a/pkgs/applications/audio/padthv1/default.nix
+++ b/pkgs/applications/audio/padthv1/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5, fftw }:
+{ stdenv, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5, fftw, mkDerivation }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "padthv1";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz";
-    sha256 = "1k4p2ir12qjcs62knvw2s6qyvb46203yx22fnwp341cjk171cxji";
+    sha256 = "0axansxwa3vfc1n6a7jbaqyz6wmsffi37i4ggsl08gmqywz255xb";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];
diff --git a/pkgs/applications/audio/paprefs/default.nix b/pkgs/applications/audio/paprefs/default.nix
index 6ad931d4867..9c59b5466c7 100644
--- a/pkgs/applications/audio/paprefs/default.nix
+++ b/pkgs/applications/audio/paprefs/default.nix
@@ -1,4 +1,14 @@
-{ fetchurl, stdenv, meson, ninja, gettext, pkgconfig, pulseaudioFull, gtkmm3, dbus-glib, wrapGAppsHook }:
+{ fetchurl
+, stdenv
+, meson
+, ninja
+, gettext
+, pkgconfig
+, pulseaudioFull
+, glibmm
+, gtkmm3
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   name = "paprefs-1.1";
@@ -8,9 +18,19 @@ stdenv.mkDerivation rec {
     sha256 = "189z5p20hk0xv9vwvym293503j4pwl03xqk9hl7cl6dwgv0l7wkf";
   };
 
-  nativeBuildInputs = [ meson ninja gettext pkgconfig wrapGAppsHook ];
-
-  buildInputs = [ pulseaudioFull gtkmm3 dbus-glib ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    pkgconfig
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    pulseaudioFull
+    glibmm
+    gtkmm3
+  ];
 
   meta = with stdenv.lib; {
     description = "PulseAudio Preferences";
diff --git a/pkgs/applications/audio/pavucontrol/default.nix b/pkgs/applications/audio/pavucontrol/default.nix
index ce2979a5e53..0cff6c419a0 100644
--- a/pkgs/applications/audio/pavucontrol/default.nix
+++ b/pkgs/applications/audio/pavucontrol/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = with maintainers; [ abbradar ];
+    maintainers = with maintainers; [ abbradar globin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/pulseeffects/default.nix b/pkgs/applications/audio/pulseeffects/default.nix
index 0a4c9bebde7..83fb17189e1 100644
--- a/pkgs/applications/audio/pulseeffects/default.nix
+++ b/pkgs/applications/audio/pulseeffects/default.nix
@@ -47,13 +47,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "pulseeffects";
-  version = "4.6.5";
+  version = "4.6.6";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "pulseeffects";
     rev = "v${version}";
-    sha256 = "11ihr29szpqlk9wkscns00ijihyvn5659bj1p7r1ixwgfv708apq";
+    sha256 = "15w1kc1b0i8wrkrbfzrvcscanxvcsz336bfyi1awb1lbclvd3sf4";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix
index 334656ecc9a..9cff98f6137 100644
--- a/pkgs/applications/audio/reaper/default.nix
+++ b/pkgs/applications/audio/reaper/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "5.980";
+  version = "5.981";
 
   src = fetchurl {
     url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
-    sha256 = "0ij5cx43gf05q0d57p4slsp7wkq2cdb3ymh2n5iqgqjl9rf26h1q";
+    sha256 = "0v4347i0pgzlinas4431dfbv1h9fk6vihvahh73valxvhydyxr8q";
   };
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index a8896f3945b..32e241cf557 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "snd-19.5";
+  name = "snd-19.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "0sk6iyykwi2mm3f1g4r0iqbsrwk3zmyagp6jjqkh8njbq42cjr1y";
+    sha256 = "0s2qv8sznvw6559bi39qj9p072azh9qcb2b86w6w8clz2azjaa76";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index 4f8e520cb9f..2ff51db5404 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitLab, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext
-, gnome3, libnotify, itstool, glib, gtk3, libxml2
+, gnome3, libnotify, itstool, glib, gtk3, libxml2, gnome-online-accounts
 , coreutils, libpeas, libsecret, pcre, libxkbcommon, wrapGAppsHook
 , libpthreadstubs, libXdmcp, epoxy, at-spi2-core, dbus, libgpgerror
 , appstream-glib, desktop-file-utils, duplicity
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
    libnotify libpeas glib gtk3 libsecret
    pcre libxkbcommon libpthreadstubs libXdmcp epoxy gnome3.nautilus
-   at-spi2-core dbus gnome3.gnome-online-accounts libgpgerror
+   at-spi2-core dbus gnome-online-accounts libgpgerror
   ];
 
   propagatedUserEnvPkgs = [ duplicity ];
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 7f691b30418..75fb206c9e5 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -8,15 +8,11 @@ let
     inherit (gnome2) GConf gnome_vfs;
   };
   stableVersion = {
-    version = "3.4.2.0"; # "Android Studio 3.4.2"
-    build = "183.5692245";
-    sha256Hash = "090rc307mfm0yw4h592l9307lq4aas8zq0ci49csn6kxhds8rsrm";
-  };
-  betaVersion = {
-    version = "3.5.0.20"; # "Android Studio 3.5 RC 3"
-    build = "191.5781497";
-    sha256Hash = "03c5f01dqjvz55l8vyrpypjmmip96kc27p8sw0c5jky0igiyym5j";
+    version = "3.5.0.21"; # "Android Studio 3.5"
+    build = "191.5791312";
+    sha256Hash = "0vvk2vhklxg9wfi4lv4sahs5ahhb1mki1msy3yixmr56vipgv52p";
   };
+  betaVersion = stableVersion;
   latestVersion = { # canary & dev
     version = "3.6.0.6"; # "Android Studio 3.6 Canary 6"
     build = "192.5787298";
diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index eeb025a88c6..31e87df6d85 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -30,21 +30,21 @@
           license = lib.licenses.free;
         };
       }) {};
-    ada-mode = callPackage ({ cl-lib ? null
-                            , elpaBuild
+    ada-mode = callPackage ({ elpaBuild
                             , emacs
                             , fetchurl
                             , lib
+                            , uniquify-files
                             , wisi }:
       elpaBuild {
         pname = "ada-mode";
         ename = "ada-mode";
-        version = "6.1.1";
+        version = "6.2.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ada-mode-6.1.1.tar";
-          sha256 = "090zyspc32fmfqwr0qpzi6qclsaarvb5484b0lq0cdyzgjhimdla";
+          url = "https://elpa.gnu.org/packages/ada-mode-6.2.1.tar";
+          sha256 = "0lg2y28qs8ls70d43ikhy5zcwadh5ddfw4k59p7sqb79w0y3lbnq";
         };
-        packageRequires = [ cl-lib emacs wisi ];
+        packageRequires = [ emacs uniquify-files wisi ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/ada-mode.html";
           license = lib.licenses.free;
@@ -930,10 +930,10 @@
       elpaBuild {
         pname = "ebdb";
         ename = "ebdb";
-        version = "0.6.10";
+        version = "0.6.11";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-0.6.10.tar";
-          sha256 = "0z0q7kcwczvdh0ddd775vv233j74sjlllv8pjm446bmy9cy6pg8j";
+          url = "https://elpa.gnu.org/packages/ebdb-0.6.11.tar";
+          sha256 = "1ljcp4vy8z5xbcrlf33xgi63a2px4fhx6928qhwr7sy7jwil2s6n";
         };
         packageRequires = [ cl-lib emacs seq ];
         meta = {
@@ -960,10 +960,10 @@
       elpaBuild {
         pname = "ebdb-i18n-chn";
         ename = "ebdb-i18n-chn";
-        version = "1.2";
+        version = "1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-i18n-chn-1.2.el";
-          sha256 = "1qgrlk625mhfd6n1mc0kqfzbisnb61kx3vrrl3bzlz4viq3kcc10";
+          url = "https://elpa.gnu.org/packages/ebdb-i18n-chn-1.3.el";
+          sha256 = "1w7xgagscyjxrw4xl8bz6wf7skvdvk5qdcp5p7kxl4r9nhjffj20";
         };
         packageRequires = [ ebdb pyim ];
         meta = {
@@ -1297,10 +1297,10 @@
       elpaBuild {
         pname = "gited";
         ename = "gited";
-        version = "0.5.3";
+        version = "0.5.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/gited-0.5.3.tar";
-          sha256 = "1bayfclczdzrmay8swszs8lliz5p4nnmjzzz2gh68rc16isjgh2z";
+          url = "https://elpa.gnu.org/packages/gited-0.5.4.tar";
+          sha256 = "07ckknggkqd733bnps21r46bacgyhd0v9wc0spid22hn0dnrfp12";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -2415,10 +2415,10 @@
       elpaBuild {
         pname = "phps-mode";
         ename = "phps-mode";
-        version = "0.2.3";
+        version = "0.2.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/phps-mode-0.2.3.tar";
-          sha256 = "1wp04d5mi97287qwhic239kkf4r69839gl0hsn5m8qr3dbkhqxy5";
+          url = "https://elpa.gnu.org/packages/phps-mode-0.2.4.tar";
+          sha256 = "0n6gj22w0llns3kx5hd69imhlrnlxx74zvhz7qikfx60669c5n20";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2755,10 +2755,10 @@
       elpaBuild {
         pname = "relint";
         ename = "relint";
-        version = "1.9";
+        version = "1.10";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/relint-1.9.el";
-          sha256 = "0y386kch263199mwl93ambwib948s2vrw466kf0ly9cxv7xpv6hr";
+          url = "https://elpa.gnu.org/packages/relint-1.10.el";
+          sha256 = "1l0lh4pkksw7brmhhbaikwzs4zkgd2962ks1zy7m262dvkhxjfv8";
         };
         packageRequires = [ xr ];
         meta = {
@@ -3271,10 +3271,10 @@
       elpaBuild {
         pname = "uniquify-files";
         ename = "uniquify-files";
-        version = "1.0";
+        version = "1.0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/uniquify-files-1.0.tar";
-          sha256 = "1n1r3pmnh9b8zb7pyv158pzmvha4gqqrfrapvpjdcrcnnd2dynkm";
+          url = "https://elpa.gnu.org/packages/uniquify-files-1.0.1.tar";
+          sha256 = "0c4lf25503z71wz9f0v6ag5lmqfxz94lmq65xvzvhmqvkxvsgpm5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3551,21 +3551,41 @@
           license = lib.licenses.free;
         };
       }) {};
-    wisi = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, seq }:
+    wisi = callPackage ({ elpaBuild, emacs, fetchurl, lib, seq }:
       elpaBuild {
         pname = "wisi";
         ename = "wisi";
-        version = "2.1.1";
+        version = "2.2.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/wisi-2.1.1.tar";
-          sha256 = "0j7pnjik07j2ipj3xavhayngnmk5jdglq78azrjvwni88m12920n";
+          url = "https://elpa.gnu.org/packages/wisi-2.2.1.tar";
+          sha256 = "1qvhx8bpms7gri7y6wniwqd6nmqxj4lip5l3sphbq2kjf4zq4qd4";
         };
-        packageRequires = [ cl-lib emacs seq ];
+        packageRequires = [ emacs seq ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/wisi.html";
           license = lib.licenses.free;
         };
       }) {};
+    wisitoken-grammar-mode = callPackage ({ elpaBuild
+                                          , emacs
+                                          , fetchurl
+                                          , lib
+                                          , mmm-mode
+                                          , wisi }:
+      elpaBuild {
+        pname = "wisitoken-grammar-mode";
+        ename = "wisitoken-grammar-mode";
+        version = "1.0.2";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/wisitoken-grammar-mode-1.0.2.tar";
+          sha256 = "09rpjl3z6xzap0lbrjs9hf2nspwc5avvx75ah3aimgvizrf2kyp0";
+        };
+        packageRequires = [ emacs mmm-mode wisi ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/wisitoken-grammar-mode.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     wpuzzle = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "wpuzzle";
diff --git a/pkgs/applications/editors/emacs-modes/elpa-packages.nix b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
index e7ed5a32b65..5f0c863b586 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
@@ -4,36 +4,36 @@
 
 To update the list of packages from MELPA,
 
-1. Clone https://github.com/ttuegel/emacs2nix.
-2. Run `./elpa-packages.sh` from emacs2nix.
-3. Copy the new `elpa-generated.nix` file into Nixpkgs.
-4. Check for evaluation errors: `nix-instantiate ./. -A emacsPackagesNg.elpaPackages`.
-5. `git add pkgs/applications/editors/emacs-modes/elpa-generated.nix && git commit -m "elpa-packages $(date -Idate)"`
+1. Run `./update-elpa`.
+2. Check for evaluation errors: `nix-instantiate ../../../.. -A emacsPackagesNg.elpaPackages`.
+3. `git commit -m "elpa-packages $(date -Idate)" -- elpa-generated.nix`
 
 */
 
 { lib, stdenv, texinfo }:
 
-self:
+self: let
 
-  let
+  markBroken = pkg: pkg.override {
+    elpaBuild = args: self.elpaBuild (args // {
+      meta = (args.meta or {}) // { broken = true; };
+    });
+  };
 
-    imported = import ./elpa-generated.nix {
-      inherit (self) callPackage;
-    };
+  elpaBuild = import ../../../build-support/emacs/elpa.nix {
+    inherit lib stdenv texinfo;
+    inherit (self) emacs;
+  };
 
-    super = removeAttrs imported [ "dash" ];
+  generateElpa = lib.makeOverridable ({
+    generated ? ./elpa-generated.nix
+  }: let
 
-    elpaBuild = import ../../../build-support/emacs/elpa.nix {
-      inherit lib stdenv texinfo;
-      inherit (self) emacs;
+    imported = import generated {
+      inherit (self) callPackage;
     };
 
-    markBroken = pkg: pkg.override {
-      elpaBuild = args: self.elpaBuild (args // {
-        meta = (args.meta or {}) // { broken = true; };
-      });
-    };
+    super = removeAttrs imported [ "dash" ];
 
     overrides = {
       # upstream issue: missing footer
@@ -50,4 +50,6 @@ self:
 
     elpaPackages = super // overrides;
 
-  in elpaPackages // { inherit elpaBuild; }
+  in elpaPackages // { inherit elpaBuild; });
+
+in generateElpa { }
diff --git a/pkgs/applications/editors/emacs-modes/emacs2nix.nix b/pkgs/applications/editors/emacs-modes/emacs2nix.nix
new file mode 100644
index 00000000000..4c1a0dd2312
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/emacs2nix.nix
@@ -0,0 +1,23 @@
+let
+  pkgs = import ../../../.. { };
+
+  src = pkgs.fetchgit {
+    url = "https://github.com/ttuegel/emacs2nix.git";
+    fetchSubmodules = true;
+    rev = "752fe1bd891425cb7a4a53cd7b98c194c1fe4518";
+    sha256 = "0asfdswh8sbnapbqhbz539zzxmv72f1iviha95iys34sgnd5k1nk";
+  };
+
+in pkgs.mkShell {
+
+  buildInputs = [
+    pkgs.bash
+  ];
+
+  EMACS2NIX = "${src}";
+
+  shellHook = ''
+    export PATH=$PATH:${src}
+  '';
+
+}
diff --git a/pkgs/applications/editors/emacs-modes/org-packages.nix b/pkgs/applications/editors/emacs-modes/org-packages.nix
index d3ad7fa4093..1f37cf624f9 100644
--- a/pkgs/applications/editors/emacs-modes/org-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/org-packages.nix
@@ -2,22 +2,23 @@
 
 # Updating
 
-To update the list of packages from ELPA,
+To update the list of packages from Org (ELPA),
 
-1. Clone https://github.com/ttuegel/emacs2nix
-2. Run `./org-packages.sh` from emacs2nix
-3. Copy the new org-packages.json file into Nixpkgs
-4. `git commit -m "org-packages $(date -Idate)"`
+1. Run `./update-org`.
+2. Check for evaluation errors: `nix-instantiate ../../../.. -A emacsPackagesNg.orgPackages`.
+3. `git commit -m "org-packages $(date -Idate)" -- org-generated.nix`
 
 */
 
-{ }:
+{ lib }:
 
-self:
+self: let
 
-  let
+  generateOrg = lib.makeOverridable ({
+    generated ? ./org-generated.nix
+  }: let
 
-    imported = import ./org-generated.nix {
+    imported = import generated {
       inherit (self) callPackage;
     };
 
@@ -26,6 +27,6 @@ self:
     overrides = {
     };
 
-    orgPackages = super // overrides;
+  in super // overrides);
 
-  in orgPackages
+in generateOrg { }
diff --git a/pkgs/applications/editors/emacs-modes/update-elpa b/pkgs/applications/editors/emacs-modes/update-elpa
new file mode 100755
index 00000000000..ba2964b2ead
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/update-elpa
@@ -0,0 +1,4 @@
+#! /usr/bin/env nix-shell
+#! nix-shell --show-trace ./emacs2nix.nix -i bash
+
+exec elpa-packages.sh --names $EMACS2NIX/names.nix -o elpa-generated.nix
diff --git a/pkgs/applications/editors/emacs-modes/update-org b/pkgs/applications/editors/emacs-modes/update-org
new file mode 100755
index 00000000000..2119a167228
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/update-org
@@ -0,0 +1,4 @@
+#! /usr/bin/env nix-shell
+#! nix-shell --show-trace ./emacs2nix.nix -i bash
+
+exec org-packages.sh --names $EMACS2NIX/names.nix -o org-generated.nix
diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix
index e1155cb098c..b08e3b5fa23 100644
--- a/pkgs/applications/editors/focuswriter/default.nix
+++ b/pkgs/applications/editors/focuswriter/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, qmake, qttools, hunspell, qtbase, qtmultimedia }:
+{ stdenv, fetchurl, pkgconfig, qmake, qttools, hunspell, qtbase, qtmultimedia, mkDerivation }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "focuswriter";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchurl {
     url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2";
-    sha256 = "1qsfcrscm3s0h7wcl6qn8zi0irr70zdacjxsdk73kpk1dhl2j85k";
+    sha256 = "155wf7z1g2yx6fb41w29kcb0m2rhnk9ci5yw882yy86s4x20b1jq";
   };
 
   nativeBuildInputs = [ pkgconfig qmake qttools ];
diff --git a/pkgs/applications/editors/kdevelop5/kdev-php.nix b/pkgs/applications/editors/kdevelop5/kdev-php.nix
index 30e46448c5b..54e99b35b5e 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-php.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-php.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-php";
-  version = "5.4.0";
+  version = "5.4.1";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "1lfl8y1nmai7kp7jil8cykalw2ib0f3n47jvnz7302qsrs3lvhf2";
+    sha256 = "07j06k2f5rbwgknwcbj70wwn831a54is4kiwlpfd4la2c05slmy5";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/applications/editors/kdevelop5/kdev-python.nix b/pkgs/applications/editors/kdevelop5/kdev-python.nix
index 41dbc6d541e..8763905fbfd 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-python.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-python.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-python";
-  version = "5.4.0";
+  version = "5.4.1";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "1bsls5gf8jcb5zmswz82x8whfqadpgcapfc8sxvpjv5yhnjknk8c";
+    sha256 = "1dazd77bkjs11h318q4ia6ijk0d0s04v0zm8lwqlgcj271sqrfqb";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix
index 8993adf92ea..be80587ef3a 100644
--- a/pkgs/applications/editors/kdevelop5/kdevelop.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix
@@ -9,11 +9,11 @@
 
 mkDerivation rec {
   pname = "kdevelop";
-  version = "5.4.0";
+  version = "5.4.1";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "0zi59xlw6facak1jfzlyviwmpjn98dmircmjyqiv3ac5xr30f0ll";
+    sha256 = "12iqgmhaxm9q085h50dzkswcmsp02jzm4jjgrhkx4jlzmf4w4jb8";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/neovim/neovim-remote.nix b/pkgs/applications/editors/neovim/neovim-remote.nix
index efece505ab9..92ff745d1a6 100644
--- a/pkgs/applications/editors/neovim/neovim-remote.nix
+++ b/pkgs/applications/editors/neovim/neovim-remote.nix
@@ -4,14 +4,14 @@ with stdenv.lib;
 
 pythonPackages.buildPythonApplication rec {
   pname = "neovim-remote";
-  version = "2.1.9";
+  version = "2.2.0";
   disabled = !pythonPackages.isPy3k;
 
   src = fetchFromGitHub {
     owner = "mhinz";
     repo = "neovim-remote";
     rev = "v${version}";
-    sha256 = "1im7jq7vi2sbdrh95kbydbbfwdll6z9zh1w1vzh7ny1sigfphkpm";
+    sha256 = "0vvwygyar835z947d5zgjywyhl7ajj63z0l8sb7w9kj1w5snb43x";
   };
 
   propagatedBuildInputs = with pythonPackages; [ pynvim psutil ];
diff --git a/pkgs/applications/editors/quilter/default.nix b/pkgs/applications/editors/quilter/default.nix
index f5c62b6f36e..49ebe579ed4 100644
--- a/pkgs/applications/editors/quilter/default.nix
+++ b/pkgs/applications/editors/quilter/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "quilter";
-  version = "1.9.3";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "09acknajbkfpw8f5pay2qj69dzhwbiplsvpp1hy9ma6msmxkr6cm";
+    sha256 = "119ri6lkzqapi5k0v818qkhg1916jj9s6bh72yqvc2wmyjnn2dbw";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 7e4035ac336..369ed772890 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" = "17g7mra9a52qlrrj77cw16vqvc7fsvbhc03wrl4iq1afzxsyqi22";
-    "x86_64-darwin" = "1is04anvhl2b354h5w7i5qi7ixhzna277f7xdy4qj9gjby6zydc6";
+    "x86_64-linux" = "1np7j6xv0bxmq7762ml0h6pib8963s2vdmyvigi0fz2iik92zv8z";
+    "x86_64-darwin" = "0f87cv1sbcvix9f7hhw0vsypp0bf627xdyh4bmh0g41k17ls8wvc";
   }.${system};
 in
   callPackage ./generic.nix rec {
 
-    version = "1.37.0";
+    version = "1.37.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index fbcc6d0c737..49472fde464 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -11,13 +11,13 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    "x86_64-linux" = "1ay4zvkbln2wf2j1d71mn13b6p2fqvzgz45mzrgaqwsszhbg4xzp";
-    "x86_64-darwin" = "17r9krb1qd92ybx078hkw9zlyym6kbnmbl91vjdilsq77bkf9jmw";
+    "x86_64-linux" = "0j6188gm66bwffyg0vn3ak8242vs2vb2cw92b9wfkiml6sfg555n";
+    "x86_64-darwin" = "0iblg0hn6jdds7d2hzp0icb5yh6hhw3fd5g4iim64ibi7lpwj2cj";
   }.${system};
 in
   callPackage ./generic.nix rec {
 
-    version = "1.36.1";
+    version = "1.37.1";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index c5a6210878b..cbd930668f9 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -13,8 +13,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "7.0.8-53";
-    sha256 = "0cgfsng2d14891fqwf7mlclsi576c42v0h5r6i4208bakcr25vzk";
+    version = "7.0.8-58";
+    sha256 = "0yfw32nydwy7ag7ina1zc6yssa146x4v35hjv6v59bci9mmj9fb1";
     patches = [];
   };
 in
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index a8a7ec5dd57..5e1cba31b7e 100644
--- a/pkgs/applications/graphics/avocode/default.nix
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -1,19 +1,20 @@
 { stdenv, makeDesktopItem, fetchurl, unzip
 , gdk-pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome3
-, xorg, mozjpeg, makeWrapper, wrapGAppsHook, hicolor-icon-theme, libuuid
+, xorg, mozjpeg, makeWrapper, wrapGAppsHook, hicolor-icon-theme, libuuid, at-spi2-core
 }:
 
 stdenv.mkDerivation rec {
   pname = "avocode";
-  version = "3.9.0";
+  version = "3.9.2";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "0fk62farnsxz59q82kxagibxmn9p9ckp6ix0wqg297gvasgad31q";
+    sha256 = "18yzw7bss1dkmmd8lxr9x8s46qmpnqci202g16zrp6j9jdj094d3";
   };
 
   libPath = stdenv.lib.makeLibraryPath (with xorg; [
     stdenv.cc.cc.lib
+    at-spi2-core.out
     gdk-pixbuf
     glib
     gtk3
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 6565db2c42a..d3c7691ccff 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.darktable.org;
     license = licenses.gpl3Plus;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ goibhniu rickynils flosse mrVanDalo ];
+    maintainers = with maintainers; [ goibhniu flosse mrVanDalo ];
   };
 }
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index 503feee3d65..fef068eaf0f 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     description = "A light-weight image viewer";
     homepage = "https://feh.finalrewind.org/";
     license = licenses.mit;
-    maintainers = [ maintainers.viric maintainers.willibutz ];
+    maintainers = with maintainers; [ viric willibutz globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 1787b1d9e7f..008bfdf881e 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -157,17 +157,17 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
   ufraw = pkgs.ufraw.gimpPlugin;
 
   gimplensfun = pluginDerivation rec {
-    version = "0.2.4";
+    version = "unstable-2018-10-21";
     name = "gimplensfun-${version}";
 
     src = fetchFromGitHub {
       owner = "seebk";
       repo = "GIMP-Lensfun";
-      rev = version;
-      sha256 = "0zlmp9v732qmzj083mnk5z421s57mnckmpjhiw890wmmwzj2lhxz";
+      rev = "1c5a5c1534b5faf098b7441f8840d22835592f17";
+      sha256 = "1jj3n7spkjc63aipwdqsvq9gi07w13bb1v8iqzvxwzld2kxa3c8w";
     };
 
-    buildInputs = with pkgs; [ lensfun exiv2 ];
+    buildInputs = with pkgs; [ lensfun gexiv2 ];
 
     installPhase = "
       installPlugins gimp-lensfun
diff --git a/pkgs/applications/graphics/gnome-photos/default.nix b/pkgs/applications/graphics/gnome-photos/default.nix
new file mode 100644
index 00000000000..f591dd5a60d
--- /dev/null
+++ b/pkgs/applications/graphics/gnome-photos/default.nix
@@ -0,0 +1,125 @@
+{ stdenv
+, fetchurl
+, at-spi2-core
+, babl
+, dbus
+, desktop-file-utils
+, dleyna-renderer
+, gdk-pixbuf
+, gegl
+, geocode-glib
+, gettext
+, gexiv2
+, gfbgraph
+, glib
+, gnome-online-accounts
+, gnome3
+, gobject-introspection
+, grilo
+, grilo-plugins
+, gsettings-desktop-schemas
+, gtk3
+, itstool
+, libdazzle
+, libgdata
+, libxml2
+, meson
+, ninja
+, nixosTests
+, pkgconfig
+, python3
+, tracker
+, tracker-miners
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-photos";
+  version = "3.32.1";
+
+  outputs = [ "out" "installedTests" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0nxa2jz1g73wypdsj19r4plf4hfkhs9mpl7gbhsiyqp1rkn84ahn";
+  };
+
+  patches = [
+    ./installed-tests-path.patch
+  ];
+
+  nativeBuildInputs = [
+    desktop-file-utils
+    gettext
+    gobject-introspection # for setup hook
+    glib # for setup hook
+    itstool
+    libxml2
+    meson
+    ninja
+    pkgconfig
+    (python3.withPackages (pkgs: with pkgs; [
+      dogtail
+      pygobject3
+      pyatspi
+    ]))
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    babl
+    dbus
+    dleyna-renderer
+    gdk-pixbuf
+    gegl
+    geocode-glib
+    gexiv2
+    gfbgraph
+    glib
+    gnome-online-accounts
+    gnome3.adwaita-icon-theme
+    grilo
+    grilo-plugins
+    gsettings-desktop-schemas
+    gtk3
+    libdazzle
+    libgdata
+    tracker
+    tracker-miners # For 'org.freedesktop.Tracker.Miner.Files' GSettings schema
+
+    at-spi2-core # for tests
+  ];
+
+  mesonFlags = [
+    "-Dinstalled_tests=true"
+    "-Dinstalled_test_prefix=${placeholder "installedTests"}"
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+    patchShebangs tests/basic.py
+  '';
+
+  postFixup = ''
+    wrapProgram "${placeholder "installedTests"}/libexec/installed-tests/gnome-photos/basic.py" "''${gappsWrapperArgs[@]}"
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+
+    tests = {
+      installed-tests = nixosTests.gnome-photos;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Access, organize and share your photos";
+    homepage = https://wiki.gnome.org/Apps/Photos;
+    license = licenses.gpl3Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch b/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch
new file mode 100644
index 00000000000..218108328dd
--- /dev/null
+++ b/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch
@@ -0,0 +1,23 @@
+diff --git a/meson.build b/meson.build
+index dee932dc..f8851913 100644
+--- a/meson.build
++++ b/meson.build
+@@ -16,8 +16,8 @@
+ photos_docdir = join_paths(photos_datadir, 'doc', meson.project_name())
+ photos_libdir = join_paths(photos_prefix, get_option('libdir'), meson.project_name())
+ 
+-photos_installed_test_metadir = join_paths(photos_datadir, 'installed-tests', meson.project_name())
+-photos_installed_test_execdir = join_paths(photos_libexecdir, 'installed-tests', meson.project_name())
++photos_installed_test_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name())
++photos_installed_test_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name())
+ 
+ photos_namespace = 'org.gnome.Photos'
+ 
+diff --git a/meson_options.txt b/meson_options.txt
+index f34b5cc0..8e09970b 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,2 +1,3 @@
+ option('dogtail', type: 'boolean', value: true, description: 'test using dogtail')
+ option('installed_tests', type: 'boolean', value: false, description: 'Enable installation of some test cases')
++option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix
index 7ecee8d6d63..9af1a0fc914 100644
--- a/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/pkgs/applications/graphics/gscan2pdf/default.nix
@@ -1,17 +1,20 @@
 { stdenv, fetchurl, perlPackages, wrapGAppsHook,
+  # libs
   librsvg, sane-backends, sane-frontends,
-  imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper,
-  xvfb_run, hicolor-icon-theme, liberation_ttf, file, pdftk }:
+  # runtime dependencies
+  imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper, pdftk,
+  # test dependencies
+  xvfb_run, liberation_ttf, file, tesseract }:
 
 with stdenv.lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "gscan2pdf";
-  version = "2.3.0";
+  version = "2.5.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0mcsmly0j9pmyzh6py8r6sfa30hc6gv300hqq3dxj4hv653vhkk9";
+    sha256 = "0gfhjmv768hx2l3jk2mjhh1snkgkaddgw70s14jq8kxhhzvhlmv8";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -66,7 +69,8 @@ perlPackages.buildPerlPackage rec {
       --prefix PATH : "${djvulibre}/bin" \
       --prefix PATH : "${poppler_utils}/bin" \
       --prefix PATH : "${ghostscript}/bin" \
-      --prefix PATH : "${unpaper}/bin"
+      --prefix PATH : "${unpaper}/bin" \
+      --prefix PATH : "${pdftk}/bin"
   '';
 
   enableParallelBuilding = true;
@@ -76,16 +80,17 @@ perlPackages.buildPerlPackage rec {
   outputs = [ "out" "man" ];
 
   checkInputs = [
-    xvfb_run
-    hicolor-icon-theme
     imagemagick
     libtiff
     djvulibre
     poppler_utils
     ghostscript
-    file
-    pdftk
     unpaper
+    pdftk
+
+    xvfb_run
+    file
+    tesseract # tests are expecting tesseract 3.x precisely
   ];
 
   checkPhase = ''
@@ -97,7 +102,6 @@ perlPackages.buildPerlPackage rec {
     description = "A GUI to produce PDFs or DjVus from scanned documents";
     homepage = http://gscan2pdf.sourceforge.net/;
     license = licenses.gpl3;
-    maintainers = [ maintainers.pacien ];
+    maintainers = with maintainers; [ pacien ];
   };
 }
-
diff --git a/pkgs/applications/graphics/ideogram/default.nix b/pkgs/applications/graphics/ideogram/default.nix
index 1511901ab91..0efb0874183 100644
--- a/pkgs/applications/graphics/ideogram/default.nix
+++ b/pkgs/applications/graphics/ideogram/default.nix
@@ -11,6 +11,7 @@
 , pantheon
 , desktop-file-utils
 , xorg
+, hicolor-icon-theme
 , wrapGAppsHook
 }:
 
@@ -27,6 +28,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     desktop-file-utils
+    hicolor-icon-theme # for setup-hook
     meson
     ninja
     pantheon.vala
diff --git a/pkgs/applications/graphics/kodelife/default.nix b/pkgs/applications/graphics/kodelife/default.nix
new file mode 100644
index 00000000000..b86560d1319
--- /dev/null
+++ b/pkgs/applications/graphics/kodelife/default.nix
@@ -0,0 +1,53 @@
+{ stdenv
+, fetchzip
+, alsaLib
+, glib
+, gst_all_1
+, libGLU_combined
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "kodelife";
+  version = "0.8.3.93";
+
+  src = fetchzip {
+    url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip";
+    sha256 = "1gidh0745g5mc8h5ypm2wamv1paymnrq3nh3yx1j70jwjg8v2v7g";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+  dontStrip = true;
+  dontPatchELF = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv KodeLife $out/bin
+  '';
+
+  preFixup = let
+    libPath = stdenv.lib.makeLibraryPath [
+      stdenv.cc.cc.lib
+      alsaLib
+      glib
+      gst_all_1.gstreamer
+      gst_all_1.gst-plugins-base
+      libGLU_combined
+      xorg.libX11
+    ];
+  in ''
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${libPath}" \
+      $out/bin/KodeLife
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://hexler.net/products/kodelife";
+    description = "Real-time GPU shader editor";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ prusnak ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/graphics/processing3/default.nix b/pkgs/applications/graphics/processing/default.nix
index 9399d760f0d..9972ea75709 100644
--- a/pkgs/applications/graphics/processing3/default.nix
+++ b/pkgs/applications/graphics/processing/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, fetchurl, xmlstarlet, makeWrapper, ant, jdk, rsync, javaPackages, libXxf86vm, gsettings-desktop-schemas }:
 
 stdenv.mkDerivation rec {
-  version = "3.4";
-  pname = "processing3";
+  pname = "processing";
+  version = "3.5.3";
 
   src = fetchFromGitHub {
     owner = "processing";
     repo = "processing";
-    rev = "processing-0265-${version}";
-    sha256 = "12wpxgn2wd5vbasx9584w5yb1s319smq1zh8m7dvp7gkqw9plwp4";
+    rev = "processing-0269-${version}";
+    sha256 = "0ajniy3a0i0rx7is46r85yh3ah4zm4ra1gbllmihw9pmnfjgfajn";
   };
 
   nativeBuildInputs = [ ant rsync makeWrapper ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     ${xmlstarlet}/bin/xmlstarlet ed --inplace -P -d '//get[@src="http://download.processing.org/reference.zip"]' build/build.xml
     install -D -m0444 ${fetchurl {
                           url    = http://download.processing.org/reference.zip;
-                          sha256 = "0ai0cr62gc7n6y22ki3qibyj1qnlaxv1miqxmmahfk3hpbyfqz9n";
+                          sha256 = "198bpk8mzns6w5h0zdf50wr6iv7sgdi6v7jznj5rbsnpgyilxz35";
                         }
                        } ./java/reference.zip
 
@@ -39,16 +39,16 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir $out
-    cp -dpR build/linux/work $out/${pname}-${version}
+    cp -dpR build/linux/work $out/${pname}
 
-    rmdir $out/${pname}-${version}/java
-    ln -s ${jdk} $out/${pname}-${version}/java
+    rmdir $out/${pname}/java
+    ln -s ${jdk} $out/${pname}/java
 
-    makeWrapper $out/${pname}-${version}/processing      $out/bin/processing \
+    makeWrapper $out/${pname}/processing      $out/bin/processing \
         --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} \
         --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd \
         --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
-    makeWrapper $out/${pname}-${version}/processing-java $out/bin/processing-java \
+    makeWrapper $out/${pname}/processing-java $out/bin/processing-java \
         --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} \
         --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd \
         --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
diff --git a/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
index c007f4f3de8..28d05480dae 100644
--- a/pkgs/applications/graphics/rapid-photo-downloader/default.nix
+++ b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
@@ -6,11 +6,11 @@
 
 mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "rapid-photo-downloader";
-  version = "0.9.15";
+  version = "0.9.16";
 
   src = fetchurl {
     url = "https://launchpad.net/rapid/pyqt/${version}/+download/${pname}-${version}.tar.gz";
-    sha256 = "14s8x2qp1li05pailflw1nprp79q0aa7lb92hnwa1air8756z7al";
+    sha256 = "0ij3li17jcqjx79ldv6zg2ckn8m2l9n4xvvq2x79y4q8yx9fqg85";
   };
 
   # Disable version check and fix install tests
diff --git a/pkgs/applications/graphics/ufraw/default.nix b/pkgs/applications/graphics/ufraw/default.nix
index 50cd9485a3e..39b4640dc43 100644
--- a/pkgs/applications/graphics/ufraw/default.nix
+++ b/pkgs/applications/graphics/ufraw/default.nix
@@ -1,38 +1,70 @@
-{ fetchurl, stdenv, pkgconfig, gtk2, gettext, bzip2, zlib
-, withGimpPlugin ? true, gimp ? null
-, libjpeg, libtiff, cfitsio, exiv2, lcms2, gtkimageview, lensfun }:
+{ stdenv
+, fetchFromGitHub
+
+, autoconf
+, automake
+, autoreconfHook
+, bzip2
+, cfitsio
+, exiv2
+, gettext
+, gimp ? null
+, gtk2
+, gtkimageview
+, lcms2
+, lensfun
+, libjpeg
+, libtiff
+, perl
+, pkgconfig
+, zlib
+
+, withGimpPlugin ? true
+}:
 
 assert withGimpPlugin -> gimp != null;
 
 stdenv.mkDerivation rec {
-  name = "ufraw-0.22";
+  pname = "ufraw";
+  version = "unstable-2019-06-12";
 
-  src = fetchurl {
-    # XXX: These guys appear to mutate uploaded tarballs!
-    url = "mirror://sourceforge/ufraw/${name}.tar.gz";
-    sha256 = "0pm216pg0vr44gwz9vcvq3fsf8r5iayljhf5nis2mnw7wn6d5azp";
+  # The original ufraw repo is unmaintained and broken;
+  # this is a fork that collects patches
+  src = fetchFromGitHub {
+    owner = "sergiomb2";
+    repo = "ufraw";
+    rev = "c65b4237dcb430fb274e4778afaf5df9a18e04e6";
+    sha256 = "02icn67bsinvgliy62qa6v7gmwgp2sh15jvm8iiz3c7g1h74f0b7";
   };
 
   outputs = [ "out" ] ++ stdenv.lib.optional withGimpPlugin "gimpPlugin";
 
-  nativeBuildInputs = [ pkgconfig gettext ];
+  nativeBuildInputs = [ autoconf automake autoreconfHook gettext perl pkgconfig ];
+
   buildInputs = [
-    gtk2 gtkimageview bzip2 zlib
-    libjpeg libtiff cfitsio exiv2 lcms2 lensfun
+    bzip2
+    cfitsio
+    exiv2
+    gtk2
+    gtkimageview
+    lcms2
+    lensfun
+    libjpeg
+    libtiff
+    zlib
   ] ++ stdenv.lib.optional withGimpPlugin gimp;
 
   configureFlags = [
-    "--enable-extras"
-    "--enable-dst-correction"
     "--enable-contrast"
+    "--enable-dst-correction"
   ] ++ stdenv.lib.optional withGimpPlugin "--with-gimp";
 
   postInstall = stdenv.lib.optionalString withGimpPlugin ''
     moveToOutput "lib/gimp" "$gimpPlugin"
   '';
 
-  meta = {
-    homepage = http://ufraw.sourceforge.net/;
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sergiomb2/ufraw;
 
     description = "Utility to read and manipulate raw images from digital cameras";
 
@@ -46,9 +78,9 @@ stdenv.mkDerivation rec {
          the camera's tone curves.
       '';
 
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # needs GTK+
+    maintainers = with maintainers; [ gloaming ];
+    platforms   = with platforms; all;
   };
 }
diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix
index 26a297481d0..8d13ac42e1f 100644
--- a/pkgs/applications/misc/dmenu/default.nix
+++ b/pkgs/applications/misc/dmenu/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       description = "A generic, highly customizable, and efficient menu for the X Window System";
       homepage = https://tools.suckless.org/dmenu;
       license = licenses.mit;
-      maintainers = with maintainers; [ pSub ];
+      maintainers = with maintainers; [ pSub globin ];
       platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/getxbook/default.nix b/pkgs/applications/misc/getxbook/default.nix
index 983a210c163..265181d7db3 100644
--- a/pkgs/applications/misc/getxbook/default.nix
+++ b/pkgs/applications/misc/getxbook/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
   meta = with stdenv.lib; {
     description = "A collection of tools to download books from Google Books";
     homepage    = https://njw.me.uk/getxbook/;
diff --git a/pkgs/applications/misc/golden-cheetah/default.nix b/pkgs/applications/misc/golden-cheetah/default.nix
index dd0c24e2e29..7fba1d49d74 100644
--- a/pkgs/applications/misc/golden-cheetah/default.nix
+++ b/pkgs/applications/misc/golden-cheetah/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, mkDerivation, fetchurl
-, qtbase, qtsvg, qtserialport, qtwebkit, qtmultimedia, qttools, qtconnectivity
+{ stdenv, fetchFromGitHub, mkDerivation
+, qtbase, qtsvg, qtserialport, qtwebkit, qtmultimedia, qttools
+, qtconnectivity, qtcharts
 , yacc, flex, zlib, qmake, makeDesktopItem, makeWrapper
 }:
 
@@ -15,20 +16,22 @@ let
   };
 in mkDerivation rec {
   pname = "golden-cheetah";
-  version = "3.4";
-  src = fetchurl {
-    name = "${pname}-${version}.tar.gz";
-    url = "https://github.com/GoldenCheetah/GoldenCheetah/archive/V${version}.tar.gz";
-    sha256 = "0fiz2pj155cd357kph50lc6rjyzwp045glfv4y68qls9j7m9ayaf";
+  version = "3.5-DEV1903";
+
+  src = fetchFromGitHub {
+    owner = "GoldenCheetah";
+    repo = "GoldenCheetah";
+    rev = "v${version}";
+    sha256 = "130b0hm04i0hf97rs1xrdfhbal5vjsknj3x4cdxjh7rgbg2p1sm3";
   };
+
   buildInputs = [
     qtbase qtsvg qtserialport qtwebkit qtmultimedia qttools zlib
-    qtconnectivity
+    qtconnectivity qtcharts
   ];
   nativeBuildInputs = [ flex makeWrapper qmake yacc ];
-  NIX_LDFLAGS = [
-    "-lz"
-  ];
+
+  NIX_LDFLAGS = [ "-lz" ];
 
   qtWrapperArgs = [ "--set LD_LIBRARY_PATH ${zlib.out}/lib" ];
 
@@ -38,6 +41,7 @@ in mkDerivation rec {
     echo 'QMAKE_LRELEASE = ${qttools.dev}/bin/lrelease' >> src/gcconfig.pri
     sed -i -e '21,23d' qwt/qwtconfig.pri # Removed forced installation to /usr/local
   '';
+
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index e326e9c1008..6e9296da267 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "gpxsee";
-  version = "7.11";
+  version = "7.12";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "1b4ky7m990h3rmam9lb1w6vns1mxd8ri6is3a8qgdl8kd6xcl5d7";
+    sha256 = "0c3axs3mm6xzabwbvy9vgq1sryjpi4h91nwzy9iyv9zjxz7phgzc";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile b/pkgs/applications/misc/jekyll/basic/Gemfile
index 2d3446a8113..c4ba46e2ac6 100644
--- a/pkgs/applications/misc/jekyll/basic/Gemfile
+++ b/pkgs/applications/misc/jekyll/basic/Gemfile
@@ -1,8 +1,6 @@
 source "https://rubygems.org"
 gem "jekyll"
 # jekyll alone might be enough for most use-cases
-gem "rouge"
-gem "activesupport", "~> 4.2"
 gem "jekyll-avatar"
 gem "jekyll-mentions"
 gem "jekyll-seo-tag"
diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
index 00088aef8ad..54c703bb859 100644
--- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
@@ -1,11 +1,12 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (4.2.11.1)
-      i18n (~> 0.7)
+    activesupport (6.0.0)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      i18n (>= 0.7, < 2)
       minitest (~> 5.1)
-      thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
+      zeitwerk (~> 2.1, >= 2.1.8)
     addressable (2.6.0)
       public_suffix (>= 2.0.2, < 4.0)
     colorator (1.1.0)
@@ -21,28 +22,30 @@ GEM
       activesupport (>= 2)
       nokogiri (>= 1.4)
     http_parser.rb (0.6.0)
-    i18n (0.9.5)
+    i18n (1.6.0)
       concurrent-ruby (~> 1.0)
-    jekyll (3.8.6)
+    jekyll (4.0.0)
       addressable (~> 2.4)
       colorator (~> 1.0)
       em-websocket (~> 0.5)
-      i18n (~> 0.7)
-      jekyll-sass-converter (~> 1.0)
+      i18n (>= 0.9.5, < 2)
+      jekyll-sass-converter (~> 2.0)
       jekyll-watch (~> 2.0)
-      kramdown (~> 1.14)
+      kramdown (~> 2.1)
+      kramdown-parser-gfm (~> 1.0)
       liquid (~> 4.0)
       mercenary (~> 0.3.3)
       pathutil (~> 0.9)
-      rouge (>= 1.7, < 4)
+      rouge (~> 3.0)
       safe_yaml (~> 1.0)
+      terminal-table (~> 1.8)
     jekyll-avatar (0.7.0)
       jekyll (>= 3.0, < 5.0)
     jekyll-mentions (1.5.1)
       html-pipeline (~> 2.3)
       jekyll (>= 3.7, < 5.0)
-    jekyll-sass-converter (1.5.2)
-      sass (~> 3.4)
+    jekyll-sass-converter (2.0.0)
+      sassc (> 2.0.1, < 3.0)
     jekyll-seo-tag (2.6.1)
       jekyll (>= 3.3, < 5.0)
     jekyll-sitemap (1.3.1)
@@ -53,7 +56,9 @@ GEM
       gemoji (~> 3.0)
       html-pipeline (~> 2.2)
       jekyll (>= 3.0, < 5.0)
-    kramdown (1.17.0)
+    kramdown (2.1.0)
+    kramdown-parser-gfm (1.1.0)
+      kramdown (~> 2.0)
     liquid (4.0.3)
     listen (3.1.5)
       rb-fsevent (~> 0.9, >= 0.9.4)
@@ -70,30 +75,29 @@ GEM
     rb-fsevent (0.10.3)
     rb-inotify (0.10.0)
       ffi (~> 1.0)
-    rouge (3.8.0)
+    rouge (3.9.0)
     ruby_dep (1.5.0)
     safe_yaml (1.0.5)
-    sass (3.7.4)
-      sass-listen (~> 4.0.0)
-    sass-listen (4.0.0)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
+    sassc (2.1.0)
+      ffi (~> 1.9)
+    terminal-table (1.8.0)
+      unicode-display_width (~> 1.1, >= 1.1.1)
     thread_safe (0.3.6)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
+    unicode-display_width (1.6.0)
+    zeitwerk (2.1.9)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  activesupport (~> 4.2)
   jekyll
   jekyll-avatar
   jekyll-mentions
   jekyll-seo-tag
   jekyll-sitemap
   jemoji
-  rouge
 
 BUNDLED WITH
    1.17.2
diff --git a/pkgs/applications/misc/jekyll/basic/gemset.nix b/pkgs/applications/misc/jekyll/basic/gemset.nix
index 1107ba745fd..41e599c0202 100644
--- a/pkgs/applications/misc/jekyll/basic/gemset.nix
+++ b/pkgs/applications/misc/jekyll/basic/gemset.nix
@@ -1,14 +1,14 @@
 {
   activesupport = {
-    dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"];
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vbq7a805bfvyik2q3kl9s3r418f5qzvysqbz2cwy4hr7m2q4ir6";
+      sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "6.0.0";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -119,21 +119,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3";
+      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
       type = "gem";
     };
-    version = "0.9.5";
+    version = "1.6.0";
   };
   jekyll = {
-    dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"];
+    dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ph1jjjl25vmzif7bvxzviq7azjm384pm7ba4k24cah94285bzhz";
+      sha256 = "0fpckw5nf4hfr5vhhdlmaxxp5lkdmc1vyqnmijwvy9fmjn4c87aa";
       type = "gem";
     };
-    version = "3.8.6";
+    version = "4.0.0";
   };
   jekyll-avatar = {
     dependencies = ["jekyll"];
@@ -158,15 +158,15 @@
     version = "1.5.1";
   };
   jekyll-sass-converter = {
-    dependencies = ["sass"];
+    dependencies = ["sassc"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "008ikh5fk0n6ri54mylcl8jn0mq8p2nfyfqif2q3pp0lwilkcxsk";
+      sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "2.0.0";
   };
   jekyll-seo-tag = {
     dependencies = ["jekyll"];
@@ -217,10 +217,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
+      sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "2.1.0";
+  };
+  kramdown-parser-gfm = {
+    dependencies = ["kramdown"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv";
+      type = "gem";
+    };
+    version = "1.1.0";
   };
   liquid = {
     groups = ["default"];
@@ -331,10 +342,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10cyx03qjdajkkr1gfqhah4n632ma8k8g6hcf0c60pfp6iii8ffs";
+      sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3";
       type = "gem";
     };
-    version = "3.8.0";
+    version = "3.9.0";
   };
   ruby_dep = {
     groups = ["default"];
@@ -356,27 +367,27 @@
     };
     version = "1.0.5";
   };
-  sass = {
-    dependencies = ["sass-listen"];
+  sassc = {
+    dependencies = ["ffi"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0";
+      sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs";
       type = "gem";
     };
-    version = "3.7.4";
+    version = "2.1.0";
   };
-  sass-listen = {
-    dependencies = ["rb-fsevent" "rb-inotify"];
+  terminal-table = {
+    dependencies = ["unicode-display_width"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
+      sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk";
       type = "gem";
     };
-    version = "4.0.0";
+    version = "1.8.0";
   };
   thread_safe = {
     groups = ["default"];
@@ -399,4 +410,24 @@
     };
     version = "1.2.5";
   };
+  unicode-display_width = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w";
+      type = "gem";
+    };
+    version = "1.6.0";
+  };
+  zeitwerk = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw";
+      type = "gem";
+    };
+    version = "2.1.9";
+  };
 }
\ No newline at end of file
diff --git a/pkgs/applications/misc/jekyll/full/Gemfile b/pkgs/applications/misc/jekyll/full/Gemfile
index aba5e06e376..8e7499bad61 100644
--- a/pkgs/applications/misc/jekyll/full/Gemfile
+++ b/pkgs/applications/misc/jekyll/full/Gemfile
@@ -1,30 +1,27 @@
 source "https://rubygems.org"
+
 gem "jekyll"
-gem "rouge"
-gem "activesupport", "~> 4.2"
+
 gem "jekyll-avatar"
 gem "jekyll-mentions"
 gem "jekyll-seo-tag"
 gem "jekyll-sitemap"
 gem "jemoji"
+
 # Optional dependencies:
-gem "coderay", "~> 1.1.0"
 gem "jekyll-coffeescript"
 #gem "jekyll-docs"
 gem "jekyll-feed", "~> 0.9"
 gem "jekyll-gist"
 gem "jekyll-paginate"
 gem "jekyll-redirect-from"
-gem "kramdown", "~> 1.14"
+gem "kramdown-syntax-coderay"
 gem "mime-types", "~> 3.0"
-gem "rdoc", RUBY_VERSION >= "2.2.2" ? "~> 6.0" : "~> 5.1"
+gem "rdoc", "~> 6.0"
 gem "tomlrb", "~> 1.2"
 
 platform :ruby, :mswin, :mingw, :x64_mingw do
-  gem "classifier-reborn", "~> 2.2.0"
-  gem "liquid-c", "~> 3.0"
-  gem "pygments.rb", "~> 1.0"
-  gem "rdiscount", "~> 2.0"
-  gem "redcarpet", "~> 3.2", ">= 3.2.3"
-  gem "yajl-ruby", "~> 1.3.1"
+  gem "classifier-reborn", "~> 2.2"
+  gem "liquid-c", "~> 4.0"
+  gem "yajl-ruby", "~> 1.4"
 end
diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock
index 7b9b74ef1b7..6410b885ea4 100644
--- a/pkgs/applications/misc/jekyll/full/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock
@@ -1,11 +1,12 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (4.2.11.1)
-      i18n (~> 0.7)
+    activesupport (6.0.0)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      i18n (>= 0.7, < 2)
       minitest (~> 5.1)
-      thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
+      zeitwerk (~> 2.1, >= 2.1.8)
     addressable (2.6.0)
       public_suffix (>= 2.0.2, < 4.0)
     classifier-reborn (2.2.0)
@@ -32,21 +33,23 @@ GEM
       activesupport (>= 2)
       nokogiri (>= 1.4)
     http_parser.rb (0.6.0)
-    i18n (0.9.5)
+    i18n (1.6.0)
       concurrent-ruby (~> 1.0)
-    jekyll (3.8.6)
+    jekyll (4.0.0)
       addressable (~> 2.4)
       colorator (~> 1.0)
       em-websocket (~> 0.5)
-      i18n (~> 0.7)
-      jekyll-sass-converter (~> 1.0)
+      i18n (>= 0.9.5, < 2)
+      jekyll-sass-converter (~> 2.0)
       jekyll-watch (~> 2.0)
-      kramdown (~> 1.14)
+      kramdown (~> 2.1)
+      kramdown-parser-gfm (~> 1.0)
       liquid (~> 4.0)
       mercenary (~> 0.3.3)
       pathutil (~> 0.9)
-      rouge (>= 1.7, < 4)
+      rouge (~> 3.0)
       safe_yaml (~> 1.0)
+      terminal-table (~> 1.8)
     jekyll-avatar (0.7.0)
       jekyll (>= 3.0, < 5.0)
     jekyll-coffeescript (1.2.2)
@@ -62,8 +65,8 @@ GEM
     jekyll-paginate (1.1.0)
     jekyll-redirect-from (0.15.0)
       jekyll (>= 3.3, < 5.0)
-    jekyll-sass-converter (1.5.2)
-      sass (~> 3.4)
+    jekyll-sass-converter (2.0.0)
+      sassc (> 2.0.1, < 3.0)
     jekyll-seo-tag (2.6.1)
       jekyll (>= 3.3, < 5.0)
     jekyll-sitemap (1.3.1)
@@ -74,9 +77,14 @@ GEM
       gemoji (~> 3.0)
       html-pipeline (~> 2.2)
       jekyll (>= 3.0, < 5.0)
-    kramdown (1.17.0)
+    kramdown (2.1.0)
+    kramdown-parser-gfm (1.1.0)
+      kramdown (~> 2.0)
+    kramdown-syntax-coderay (1.0.1)
+      coderay (~> 1.1)
+      kramdown (~> 2.0)
     liquid (4.0.3)
-    liquid-c (3.0.0)
+    liquid-c (4.0.0)
       liquid (>= 3.0.0)
     listen (3.1.5)
       rb-fsevent (~> 0.9, >= 0.9.4)
@@ -88,7 +96,6 @@ GEM
     mime-types-data (3.2019.0331)
     mini_portile2 (2.4.0)
     minitest (5.11.3)
-    multi_json (1.13.1)
     multipart-post (2.1.1)
     nokogiri (1.10.4)
       mini_portile2 (~> 2.4.0)
@@ -97,38 +104,33 @@ GEM
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
     public_suffix (3.1.1)
-    pygments.rb (1.2.1)
-      multi_json (>= 1.0.0)
     rb-fsevent (0.10.3)
     rb-inotify (0.10.0)
       ffi (~> 1.0)
-    rdiscount (2.2.0.1)
     rdoc (6.1.1)
-    redcarpet (3.5.0)
-    rouge (3.8.0)
+    rouge (3.9.0)
     ruby_dep (1.5.0)
     safe_yaml (1.0.5)
-    sass (3.7.4)
-      sass-listen (~> 4.0.0)
-    sass-listen (4.0.0)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
+    sassc (2.1.0)
+      ffi (~> 1.9)
     sawyer (0.8.2)
       addressable (>= 2.3.5)
       faraday (> 0.8, < 2.0)
+    terminal-table (1.8.0)
+      unicode-display_width (~> 1.1, >= 1.1.1)
     thread_safe (0.3.6)
     tomlrb (1.2.8)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    yajl-ruby (1.3.1)
+    unicode-display_width (1.6.0)
+    yajl-ruby (1.4.1)
+    zeitwerk (2.1.9)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  activesupport (~> 4.2)
-  classifier-reborn (~> 2.2.0)
-  coderay (~> 1.1.0)
+  classifier-reborn (~> 2.2)
   jekyll
   jekyll-avatar
   jekyll-coffeescript
@@ -140,16 +142,12 @@ DEPENDENCIES
   jekyll-seo-tag
   jekyll-sitemap
   jemoji
-  kramdown (~> 1.14)
-  liquid-c (~> 3.0)
+  kramdown-syntax-coderay
+  liquid-c (~> 4.0)
   mime-types (~> 3.0)
-  pygments.rb (~> 1.0)
-  rdiscount (~> 2.0)
   rdoc (~> 6.0)
-  redcarpet (~> 3.2, >= 3.2.3)
-  rouge
   tomlrb (~> 1.2)
-  yajl-ruby (~> 1.3.1)
+  yajl-ruby (~> 1.4)
 
 BUNDLED WITH
    1.17.2
diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix
index 917ba51caab..80d67022e7a 100644
--- a/pkgs/applications/misc/jekyll/full/gemset.nix
+++ b/pkgs/applications/misc/jekyll/full/gemset.nix
@@ -1,14 +1,14 @@
 {
   activesupport = {
-    dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"];
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vbq7a805bfvyik2q3kl9s3r418f5qzvysqbz2cwy4hr7m2q4ir6";
+      sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "6.0.0";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -216,21 +216,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3";
+      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
       type = "gem";
     };
-    version = "0.9.5";
+    version = "1.6.0";
   };
   jekyll = {
-    dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"];
+    dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ph1jjjl25vmzif7bvxzviq7azjm384pm7ba4k24cah94285bzhz";
+      sha256 = "0fpckw5nf4hfr5vhhdlmaxxp5lkdmc1vyqnmijwvy9fmjn4c87aa";
       type = "gem";
     };
-    version = "3.8.6";
+    version = "4.0.0";
   };
   jekyll-avatar = {
     dependencies = ["jekyll"];
@@ -309,15 +309,15 @@
     version = "0.15.0";
   };
   jekyll-sass-converter = {
-    dependencies = ["sass"];
+    dependencies = ["sassc"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "008ikh5fk0n6ri54mylcl8jn0mq8p2nfyfqif2q3pp0lwilkcxsk";
+      sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "2.0.0";
   };
   jekyll-seo-tag = {
     dependencies = ["jekyll"];
@@ -368,10 +368,32 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
+      sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  kramdown-parser-gfm = {
+    dependencies = ["kramdown"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  kramdown-syntax-coderay = {
+    dependencies = ["coderay" "kramdown"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03vpfpmxcdbqyh6kxrjf5xa9qgvwqj0cfv2khz5h32fp5f5dmrda";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.0.1";
   };
   liquid = {
     groups = ["default"];
@@ -413,10 +435,10 @@
     }];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a5n7q314ma32y7v9a1g6ps60b14zfn2q4nip4j5aknblz51v7gi";
+      sha256 = "0ibcpajsgq530xrz3dk578mfvivrlfd624j6ifz6ms4w69j8jqj6";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "4.0.0";
   };
   listen = {
     dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
@@ -480,28 +502,6 @@
     };
     version = "5.11.3";
   };
-  multi_json = {
-    groups = ["default"];
-    platforms = [{
-      engine = "maglev";
-    } {
-      engine = "mingw";
-    } {
-      engine = "mingw";
-    } {
-      engine = "mswin";
-    } {
-      engine = "rbx";
-    } {
-      engine = "ruby";
-    }];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
-      type = "gem";
-    };
-    version = "1.13.1";
-  };
   multipart-post = {
     groups = ["default"];
     platforms = [];
@@ -555,29 +555,6 @@
     };
     version = "3.1.1";
   };
-  "pygments.rb" = {
-    dependencies = ["multi_json"];
-    groups = ["default"];
-    platforms = [{
-      engine = "maglev";
-    } {
-      engine = "mingw";
-    } {
-      engine = "mingw";
-    } {
-      engine = "mswin";
-    } {
-      engine = "rbx";
-    } {
-      engine = "ruby";
-    }];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lbvnwvz770ambm4d6lxgc2097rydn5rcc5d6986bnkzyxfqqjnv";
-      type = "gem";
-    };
-    version = "1.2.1";
-  };
   rb-fsevent = {
     groups = ["default"];
     platforms = [];
@@ -599,28 +576,6 @@
     };
     version = "0.10.0";
   };
-  rdiscount = {
-    groups = ["default"];
-    platforms = [{
-      engine = "maglev";
-    } {
-      engine = "mingw";
-    } {
-      engine = "mingw";
-    } {
-      engine = "mswin";
-    } {
-      engine = "rbx";
-    } {
-      engine = "ruby";
-    }];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1arvk3k06prxasq1djbj065ixar4zl171340g7wr1ww4gj9makx3";
-      type = "gem";
-    };
-    version = "2.2.0.1";
-  };
   rdoc = {
     groups = ["default"];
     platforms = [];
@@ -631,37 +586,15 @@
     };
     version = "6.1.1";
   };
-  redcarpet = {
-    groups = ["default"];
-    platforms = [{
-      engine = "maglev";
-    } {
-      engine = "mingw";
-    } {
-      engine = "mingw";
-    } {
-      engine = "mswin";
-    } {
-      engine = "rbx";
-    } {
-      engine = "ruby";
-    }];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0skcyx1h8b5ms0rp2zm3ql6g322b8c1adnkwkqyv7z3kypb4bm7k";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
   rouge = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10cyx03qjdajkkr1gfqhah4n632ma8k8g6hcf0c60pfp6iii8ffs";
+      sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3";
       type = "gem";
     };
-    version = "3.8.0";
+    version = "3.9.0";
   };
   ruby_dep = {
     groups = ["default"];
@@ -683,38 +616,38 @@
     };
     version = "1.0.5";
   };
-  sass = {
-    dependencies = ["sass-listen"];
+  sassc = {
+    dependencies = ["ffi"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0";
+      sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs";
       type = "gem";
     };
-    version = "3.7.4";
+    version = "2.1.0";
   };
-  sass-listen = {
-    dependencies = ["rb-fsevent" "rb-inotify"];
+  sawyer = {
+    dependencies = ["addressable" "faraday"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
+      sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz";
       type = "gem";
     };
-    version = "4.0.0";
+    version = "0.8.2";
   };
-  sawyer = {
-    dependencies = ["addressable" "faraday"];
+  terminal-table = {
+    dependencies = ["unicode-display_width"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz";
+      sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk";
       type = "gem";
     };
-    version = "0.8.2";
+    version = "1.8.0";
   };
   thread_safe = {
     groups = ["default"];
@@ -747,6 +680,16 @@
     };
     version = "1.2.5";
   };
+  unicode-display_width = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w";
+      type = "gem";
+    };
+    version = "1.6.0";
+  };
   yajl-ruby = {
     groups = ["default"];
     platforms = [{
@@ -764,9 +707,19 @@
     }];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rn4kc9fha990yd252wglh6rcyh35cavm1vpyfj8krlcwph09g30";
+      sha256 = "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.4.1";
+  };
+  zeitwerk = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw";
+      type = "gem";
+    };
+    version = "2.1.9";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index dc73f2b27bb..b1c849b6bce 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -32,13 +32,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.4.1";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = "${version}";
-    sha256 = "1cbfsfdvb4qw6yb0zl6mymdbphnb7lxbfrc5a8cjmn9w8b09kv6m";
+    sha256 = "1r63bl0cam04rps1bjr107qvwsmay4254nv00gwhh9n45s6cslac";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
diff --git a/pkgs/applications/misc/keepassx/darwin.patch b/pkgs/applications/misc/keepassx/darwin.patch
index d7ffb7dbba1..6232d1118a7 100644
--- a/pkgs/applications/misc/keepassx/darwin.patch
+++ b/pkgs/applications/misc/keepassx/darwin.patch
@@ -1,8 +1,8 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 658548f7..f8f10bdb 100644
+index 74b1a7ff..0a713a32 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -288,6 +288,7 @@ if(MINGW)
+@@ -307,6 +307,7 @@ if(MINGW)
      set(PLUGIN_INSTALL_DIR ".")
      set(DATA_INSTALL_DIR "share")
  elseif(APPLE AND WITH_APP_BUNDLE)
@@ -10,24 +10,24 @@ index 658548f7..f8f10bdb 100644
      set(CMAKE_INSTALL_MANDIR "${PROGNAME}.app/Contents/Resources/man")
      set(CLI_INSTALL_DIR "${PROGNAME}.app/Contents/MacOS")
      set(PROXY_INSTALL_DIR "${PROGNAME}.app/Contents/MacOS")
-@@ -350,12 +351,6 @@ set(CMAKE_AUTORCC ON)
+@@ -369,12 +370,6 @@ set(CMAKE_AUTORCC ON)
  
  if(APPLE)
      set(CMAKE_MACOSX_RPATH TRUE)
 -    find_program(MACDEPLOYQT_EXE macdeployqt HINTS ${Qt5_PREFIX}/bin ENV PATH)
 -    if(NOT MACDEPLOYQT_EXE)
--        message(FATAL_ERROR "macdeployqt is required to build in macOS")
+-        message(FATAL_ERROR "macdeployqt is required to build on macOS")
 -    else()
 -        message(STATUS "Using macdeployqt: ${MACDEPLOYQT_EXE}")
 -    endif()
- endif()
- 
- # Debian sets the the build type to None for package builds.
+ elseif(MINGW)
+     find_program(WINDEPLOYQT_EXE windeployqt HINTS ${Qt5_PREFIX}/bin ENV PATH)
+     if(NOT WINDEPLOYQT_EXE)
 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 110dc606..f9b58818 100644
+index f142f368..0742512d 100644
 --- a/src/CMakeLists.txt
 +++ b/src/CMakeLists.txt
-@@ -343,11 +343,6 @@ if(APPLE AND WITH_APP_BUNDLE)
+@@ -351,11 +351,6 @@ if(APPLE AND WITH_APP_BUNDLE)
      set(CPACK_PACKAGE_FILE_NAME "${PROGNAME}-${KEEPASSXC_VERSION}")
      include(CPack)
  
@@ -40,10 +40,10 @@ index 110dc606..f9b58818 100644
  
  install(TARGETS ${PROGNAME}
 diff --git a/src/autotype/mac/CMakeLists.txt b/src/autotype/mac/CMakeLists.txt
-index f1c5387f..abf70b48 100644
+index 7427450a..a0a58d71 100644
 --- a/src/autotype/mac/CMakeLists.txt
 +++ b/src/autotype/mac/CMakeLists.txt
-@@ -12,7 +12,6 @@ if(WITH_APP_BUNDLE)
+@@ -8,7 +8,6 @@ if(WITH_APP_BUNDLE)
      add_custom_command(TARGET keepassx-autotype-cocoa
              POST_BUILD
              COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/libkeepassx-autotype-cocoa.so ${PLUGIN_INSTALL_DIR}
diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix
index 2e32bbd611a..6aa94b2fecb 100644
--- a/pkgs/applications/misc/khal/default.nix
+++ b/pkgs/applications/misc/khal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pkgs, python3 }:
+{ stdenv, pkgs, python3, fetchpatch }:
 
 with python3.pkgs; buildPythonApplication rec {
   pname = "khal";
@@ -9,6 +9,14 @@ with python3.pkgs; buildPythonApplication rec {
     sha256 = "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l";
   };
 
+  # Include a khal.desktop file via upstream commit.
+  # This patch should be removed when updating to the next version, probably.
+  patches = [ (fetchpatch {
+    name = "add-khal-dot-desktop.patch";
+    url = "https://github.com/pimutils/khal/commit/1f93d238fec7c934dd2f8e48f54925d22130e3aa.patch";
+    sha256 = "06skn3van7zd93348fc6axllx71ckkc7h2zljqlvwa339vca608c";
+  }) ];
+
   propagatedBuildInputs = [
     atomicwrites
     click
@@ -26,11 +34,19 @@ with python3.pkgs; buildPythonApplication rec {
     pkginfo
     freezegun
   ];
-  nativeBuildInputs = [ setuptools_scm ];
+  nativeBuildInputs = [ setuptools_scm sphinx sphinxcontrib_newsfeed ];
   checkInputs = [ pytest ];
 
   postInstall = ''
+    # zsh completion
     install -D misc/__khal $out/share/zsh/site-functions/__khal
+
+    # man page
+    make -C doc man
+    install -Dm755 doc/build/man/khal.1 -t $out/share/man/man1
+
+    # desktop
+    install -Dm755 misc/khal.desktop -t $out/share/applications
   '';
 
   doCheck = !stdenv.isAarch64;
diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix
index 01f33cd5b12..3b7e9e9d139 100644
--- a/pkgs/applications/misc/kitty/default.nix
+++ b/pkgs/applications/misc/kitty/default.nix
@@ -95,7 +95,7 @@ buildPythonApplication rec {
     '' else ''
     cp -r linux-package/{bin,share,lib} $out
     ''}
-    wrapProgram "$out/bin/kitty" --prefix PATH : "$out/bin:${stdenv.lib.makeBinPath [ imagemagick xsel ]}"
+    wrapProgram "$out/bin/kitty" --prefix PATH : "$out/bin:${stdenv.lib.makeBinPath [ imagemagick xsel ncurses.dev ]}"
     runHook postInstall
 
     # ZSH completions need to be invoked with `source`:
diff --git a/pkgs/applications/misc/libosmocore/default.nix b/pkgs/applications/misc/libosmocore/default.nix
index 9667c7466cb..846ce309842 100644
--- a/pkgs/applications/misc/libosmocore/default.nix
+++ b/pkgs/applications/misc/libosmocore/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libosmocore";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "libosmocore";
     rev = version;
-    sha256 = "1ayxpq03mv547sirdy3j9vnsjd1q07adhwwnl3wffz3c39wlax68";
+    sha256 = "1535y6r4csvslrxcki80ya6zhhc5jw2nvy9bymb55ln77pf853vg";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
index 78c2506ff00..98d5ef72b22 100644
--- a/pkgs/applications/misc/mediainfo/default.nix
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "19.04";
+  version = "19.07";
   pname = "mediainfo";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "11wag23gx7nprrm1qlgvbc83rs9zxdsshqrp98zwia80xh8c9bk5";
+    sha256 = "0b2ypdlpj5v64ggqk628mgqraba27z725sa0zf0fa4agxhf9ka44";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/misc/moolticute/default.nix b/pkgs/applications/misc/moolticute/default.nix
new file mode 100644
index 00000000000..0f4e72502bb
--- /dev/null
+++ b/pkgs/applications/misc/moolticute/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl
+, libusb1, pkgconfig, qmake, qtbase, qttools, qtwebsockets
+}:
+
+stdenv.mkDerivation rec {
+  name = "moolticute-${version}";
+  version = "0.30.8";
+
+  src = fetchurl {
+    url = "https://github.com/mooltipass/moolticute/archive/v${version}.tar.gz";
+    sha256 = "1qi18r2v0mpw1y007vjgzhiia89fpgsbg2wirxgngl21yxdns1pf";
+  };
+
+  preConfigure = "mkdir -p build && cd build";
+  nativeBuildInputs = [ pkgconfig qmake qttools ];
+  qmakeFlags = [ "../Moolticute.pro" ];
+
+  outputs = [ "out" "udev" ];
+  preInstall = ''
+    mkdir -p $udev/lib/udev/rules.d
+    sed -n '/^ \+cat > "$tmpfile" <<- EOF$/,/^EOF$/p' ../data/moolticute.sh |
+        sed '1d;$d' > $udev/lib/udev/rules.d/50-mooltipass.rules
+ '';
+  
+  buildInputs = [ libusb1 qtbase qtwebsockets ];
+
+  meta = with stdenv.lib; {
+    description = "GUI app and daemon to work with Mooltipass device via USB";
+    longDescription = ''
+      To install udev rules, add `services.udev.packages == [ moolticute.udev ]`
+      into `nixos/configuration.nix`.
+    '';
+    homepage = https://github.com/mooltipass/moolticute;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.kirikaza ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/omegat.nix b/pkgs/applications/misc/omegat.nix
index 660b5db6105..411b318a392 100644
--- a/pkgs/applications/misc/omegat.nix
+++ b/pkgs/applications/misc/omegat.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, unzip, jdk, makeWrapper}:
 
 stdenv.mkDerivation rec {
-  version = "4.1.5.2";
+  version = "4.3.0";
   pname = "omegat";
 
   src = fetchurl {  # their zip has repeated files or something, so no fetchzip
-    url = mirror://sourceforge/project/omegat/OmegaT%20-%20Latest/OmegaT%204.1.5%20update%202/OmegaT_4.1.5_02_Beta_Without_JRE.zip;
-    sha256 = "1mdnsvjgsccpd5xwpqzgva5jjp8yd1akq9aqpild4v6k70lqql2b";
+    url = mirror://sourceforge/project/omegat/OmegaT%20-%20Standard/OmegaT%204.3.0/OmegaT_4.3.0_Without_JRE.zip;
+    sha256 = "0axz7r30p34z5hgvdglznc82g7yvm3g56dv5190jixskx6ba58rs";
   };
 
   buildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index d91eccdf8a4..ad27c9b13a6 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -88,6 +88,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     homepage = http://jonls.dk/redshift;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ yegortimoshenko ];
+    maintainers = with maintainers; [ yegortimoshenko globin ];
   };
 }
diff --git a/pkgs/applications/misc/sampler/default.nix b/pkgs/applications/misc/sampler/default.nix
new file mode 100644
index 00000000000..a04b0dcbba6
--- /dev/null
+++ b/pkgs/applications/misc/sampler/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildGoModule, fetchFromGitHub, alsaLib }:
+
+buildGoModule rec {
+  pname = "sampler";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "sqshq";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "129vifb1y57vyqj9p23gq778jschndh2y2ingwvjz0a6lrm45vpf";
+  };
+
+  modSha256 = "0wgwnn50lrg6ix5ll2jdwi421wgqgsv4y9xd5hfj81kya3dxcbw0";
+
+  subPackages = [ "." ];
+
+  buildInputs = [ alsaLib ];
+
+  meta = with lib; {
+    description = "Tool for shell commands execution, visualization and alerting";
+    homepage = "https://sampler.dev";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ uvnikita ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/sequeler/default.nix b/pkgs/applications/misc/sequeler/default.nix
index 764e6c0048e..e3edb539928 100644
--- a/pkgs/applications/misc/sequeler/default.nix
+++ b/pkgs/applications/misc/sequeler/default.nix
@@ -11,13 +11,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "sequeler";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "Alecaddd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1803bhw20vb6w4s9phab95mgi2n0g30n57mc07h3xg3p114qxwir";
+    sha256 = "0mxlhyfqmd4zg0psdmr62rhmvssw8jslm7a1nvh93675ns3vfrs5";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig pantheon.vala gettext wrapGAppsHook python3 desktop-file-utils ];
diff --git a/pkgs/applications/misc/st/xst.nix b/pkgs/applications/misc/st/xst.nix
index 1a9e3f4ecc1..9407243c6a2 100644
--- a/pkgs/applications/misc/st/xst.nix
+++ b/pkgs/applications/misc/st/xst.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 let
-  version = "0.7.1";
+  version = "0.7.2";
   name = "xst-${version}";
 in stdenv.mkDerivation {
   inherit name;
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "gnotclub";
     repo = "xst";
     rev = "v${version}";
-    sha256 = "1fh4y2w0icaij99kihl3w8j5d5b38d72afp17c81pi57f43ss6pc";
+    sha256 = "1fplgy30gyrwkjsw3z947327r98i13zd1whwkplpj9fzckhb9vs9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index 293f6aaa3c6..ee42c1389fc 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -74,15 +74,15 @@ let
 in rec {
 
   application = mkSweetHome3D rec {
-    version = "6.1.2";
+    version = "6.2";
     module = "SweetHome3D";
     name = stdenv.lib.toLower module + "-application-" + version;
     description = "Design and visualize your future home";
     license = stdenv.lib.licenses.gpl2Plus;
     src = fetchsvn {
       url = "https://svn.code.sf.net/p/sweethome3d/code/tags/V_" + d2u version + "/SweetHome3D/";
-      sha256 = "14svi112kml175dblzcdjzhlfwbp1cy6rki49mqb3632hwmif6ya";
-      rev = "6750";
+      sha256 = "0a514a1zmipykvawil46v826ivkw9c00vdkyggyl6m41giay15zf";
+      rev = "6822";
     };
     desktopName = "Sweet Home 3D";
     icons = {
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
new file mode 100644
index 00000000000..0dc8f3bf38e
--- /dev/null
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -0,0 +1,57 @@
+{ mkDerivation
+, stdenv
+, lib
+, fetchFromGitHub
+, qtbase
+, qtwebengine
+, qtdeclarative
+, extra-cmake-modules
+, cpp-utilities
+, qtutilities
+, cmake
+, kio
+, plasma-framework
+, qttools
+, webviewSupport ? true
+, jsSupport ? true
+, kioPluginSupport ? true
+, plasmoidSupport  ? true
+, systemdSupport ? true
+}:
+
+mkDerivation rec {
+  version = "0.9.1";
+  pname = "syncthingtray";
+
+  src = fetchFromGitHub {
+    owner = "Martchus";
+    repo = "syncthingtray";
+    rev = "v${version}";
+    sha256 = "0ijwpwlwwbfh9fdfbwz6dgi6hpmaav2jm56mzxm6as50iwnb59fx";
+  };
+
+  buildInputs = [ qtbase cpp-utilities qtutilities ]
+    ++ lib.optionals webviewSupport [ qtwebengine ]
+    ++ lib.optionals jsSupport [ qtdeclarative ]
+    ++ lib.optionals kioPluginSupport [ kio ]
+    ++ lib.optionals plasmoidSupport [ extra-cmake-modules plasma-framework ]
+  ;
+
+  nativeBuildInputs = [ cmake qttools ];
+
+  cmakeFlags = [
+    # See https://github.com/Martchus/syncthingtray/issues/42
+    "-DQT_PLUGIN_DIR:STRING=${placeholder "out"}/lib/qt-5"
+  ] ++ lib.optionals (!plasmoidSupport) ["-DNO_PLASMOID=ON"]
+    ++ lib.optionals (!kioPluginSupport) ["-DNO_FILE_ITEM_ACTION_PLUGIN=ON"]
+    ++ lib.optionals systemdSupport ["-DSYSTEMD_SUPPORT=ON"]
+  ;
+
+  meta = with lib; {
+    homepage = "https://github.com/Martchus/syncthingtray";
+    description = "Tray application and Dolphin/Plasma integration for Syncthing";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ doronbehar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/taskell/default.nix b/pkgs/applications/misc/taskell/default.nix
index 1a1ea3102af..00b96f459cb 100644
--- a/pkgs/applications/misc/taskell/default.nix
+++ b/pkgs/applications/misc/taskell/default.nix
@@ -1,8 +1,8 @@
 { lib, haskellPackages, fetchFromGitHub }:
 
 let
-  version = "1.4.3";
-  sha256  = "0i12x7qzfmmdvi09k96x53zzzrva2w3zbl2f6dkxb8kk5scqqa4v";
+  version = "1.6.0";
+  sha256  = "1yq7lbqg759i3hyxcskx3924b7xmw6i4ny6n8yq80k4hikw2k6mf";
 
 in (haskellPackages.mkDerivation {
   pname = "taskell";
diff --git a/pkgs/applications/misc/terminator/default.nix b/pkgs/applications/misc/terminator/default.nix
index 80dffe6d93f..d09c98b6709 100644
--- a/pkgs/applications/misc/terminator/default.nix
+++ b/pkgs/applications/misc/terminator/default.nix
@@ -35,7 +35,7 @@ python2.pkgs.buildPythonApplication rec {
     '';
     homepage = https://gnometerminator.blogspot.no/p/introduction.html;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ bjornfor globin ];
+    maintainers = with maintainers; [ bjornfor ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/tilix/default.nix b/pkgs/applications/misc/tilix/default.nix
index 65d01a5649d..095681d136d 100644
--- a/pkgs/applications/misc/tilix/default.nix
+++ b/pkgs/applications/misc/tilix/default.nix
@@ -16,6 +16,7 @@
 , glib
 , wrapGAppsHook
 , libunwind
+, hicolor-icon-theme
 }:
 
 stdenv.mkDerivation rec {
@@ -37,6 +38,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     desktop-file-utils
     dmd
+    hicolor-icon-theme # for setup-hook
     meson
     ninja
     pkgconfig
diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/applications/misc/waybar/default.nix
index 6fbe75aadfc..d6cbb442b89 100644
--- a/pkgs/applications/misc/waybar/default.nix
+++ b/pkgs/applications/misc/waybar/default.nix
@@ -9,13 +9,13 @@
 }:
   stdenv.mkDerivation rec {
     pname = "waybar";
-    version = "0.7.1";
+    version = "0.7.2";
 
     src = fetchFromGitHub {
       owner = "Alexays";
       repo = "Waybar";
       rev = version;
-      sha256 = "0jj6sjsphyvdl4xy5wl64cl4p5y1vzr721cgapbd89g4y0cslsfy";
+      sha256 = "15biyr422s5f2csw395fz9cikir9wffdwqq8y0i6ayzpymzsqbzs";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/applications/misc/worker/default.nix b/pkgs/applications/misc/worker/default.nix
index bfc414c61c9..e5b89ff43b5 100644
--- a/pkgs/applications/misc/worker/default.nix
+++ b/pkgs/applications/misc/worker/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "worker";
-  version = "4.0.0";
+  version = "4.0.1";
 
   src = fetchurl {
     url = "http://www.boomerangsworld.de/cms/worker/downloads/${pname}-${version}.tar.gz";
-    sha256 = "0cs1sq7zpp787r1irhqk5pmxa26rjz55mbgda4823z9zkzwfxy19";
+    sha256 = "1mwkyak68bsxgff399xmr7bb3hxl0r976b90zi7jrzznwlvxx7vh";
   };
 
   buildInputs = [ libX11 ];
diff --git a/pkgs/applications/misc/xmind/default.nix b/pkgs/applications/misc/xmind/default.nix
index ca1d104fb46..c673002fb51 100644
--- a/pkgs/applications/misc/xmind/default.nix
+++ b/pkgs/applications/misc/xmind/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     desktopName = "XMind";
     comment = meta.description;
     categories = "Office;";
-    mimeType = "application/xmind;xscheme-handler/xmind";
+    mimeType = "application/xmind;x-scheme-handler/xmind";
   };
 
   installPhase = let
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index 69e8c3d330f..8a46336c9de 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, openssl
+{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, openssl, hwloc
 , donateLevel ? 0
 }:
 
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "2.14.4";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "0hmla9ys9gmmcrmkidw05ygiz734rs7skb9w86jnwxi5nlpxqrhj";
+    sha256 = "1m0rsjb7y1j77mzg5cqb3fdvzgvjkrwgmkjn9nv1xl2757z8hcl4";
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ libuv libmicrohttpd openssl ];
+  buildInputs = [ libuv libmicrohttpd openssl hwloc ];
 
   postPatch = ''
     substituteInPlace src/donate.h \
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/xmrig/xmrig";
     license = licenses.gpl3Plus;
     platforms   = [ "x86_64-linux" "x86_64-darwin" ];
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz kim0 ];
   };
 }
diff --git a/pkgs/applications/misc/xmrig/proxy.nix b/pkgs/applications/misc/xmrig/proxy.nix
index 5aa52ff4dd7..7d9ebca0086 100644
--- a/pkgs/applications/misc/xmrig/proxy.nix
+++ b/pkgs/applications/misc/xmrig/proxy.nix
@@ -4,23 +4,19 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig-proxy";
-  version = "2.14.4";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig-proxy";
     rev = "v${version}";
-    sha256 = "11q4w5ncyyf2vgrb64zlr01n3adyaxja2pcqm5id9if0nvwwn4ga";
+    sha256 = "19rv5zmxwr3kmb2m3fas91aq1493cnkhvs88zcflnijr1ra218ks";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ libuv libmicrohttpd libuuid openssl ];
 
   postPatch = ''
-    # Set default donation level to 0%. Can be increased at runtime via --donate-level option.
-    substituteInPlace src/donate.h \
-      --replace "kDefaultDonateLevel = 2;" "kDefaultDonateLevel = ${toString donateLevel};"
-
     # Link dynamically against libuuid instead of statically
     substituteInPlace CMakeLists.txt --replace uuid.a uuid
   '';
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index 79a277d9835..8afba9353ce 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -48,6 +48,6 @@ stdenv.mkDerivation rec {
     description = "A core component for zathura PDF viewer";
     license = licenses.zlib;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ globin ];
   };
 }
diff --git a/pkgs/applications/misc/zathura/wrapper.nix b/pkgs/applications/misc/zathura/wrapper.nix
index 3059c3f725b..975c6e4a468 100644
--- a/pkgs/applications/misc/zathura/wrapper.nix
+++ b/pkgs/applications/misc/zathura/wrapper.nix
@@ -27,6 +27,6 @@ in symlinkJoin {
     '';
     license = licenses.zlib;
     platforms = platforms.unix;
-    maintainers = with maintainers;[ smironov ];
+    maintainers = with maintainers; [ smironov globin ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index dcf3224e207..ca5d3d0b665 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -119,7 +119,7 @@ stdenv.mkDerivation rec {
 
       # Fix paths
       substituteInPlace $out/share/applications/brave-browser.desktop \
-          --replace /usr/bin/brave-browser $out/bin/brave
+          --replace /usr/bin/brave-browser-stable $out/bin/brave
       substituteInPlace $out/share/gnome-control-center/default-apps/brave-browser.xml \
           --replace /opt/brave.com $out/opt/brave.com
       substituteInPlace $out/share/menu/brave-browser.menu \
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index bc167833594..2a4db14b2c6 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -3,10 +3,9 @@
 ## various stuff that can be plugged in
 , flashplayer, hal-flash
 , MPlayerPlugin, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2, libglvnd
-, jrePlugin, icedtea_web
+, jrePlugin, adoptopenjdk-icedtea-web
 , bluejeans, djview4, adobe-reader
 , google_talk_plugin, fribid, gnome3/*.gnome-shell*/
-, esteidfirefoxplugin
 , browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow
 , tridactyl-native
 , udev
@@ -55,13 +54,12 @@ let
           ++ lib.optional (cfg.enableDjvu or false) (djview4)
           ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)
           ++ lib.optional (supportsJDK && jre && jrePlugin ? mozillaPlugin) jrePlugin
-          ++ lib.optional icedtea icedtea_web
+          ++ lib.optional icedtea adoptopenjdk-icedtea-web
           ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin
           ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid
           ++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome-shell
           ++ lib.optional (cfg.enableBluejeans or false) bluejeans
           ++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
-          ++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
           ++ extraPlugins
         );
       nativeMessagingHosts =
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin/default.nix
deleted file mode 100644
index a2585758276..00000000000
--- a/pkgs/applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchurl, gtk2, openssl, pcsclite, pkgconfig, opensc }:
-
-stdenv.mkDerivation rec {
-  version = "3.12.1.1142";
-  pname = "esteidfirefoxplugin";
-
-  src = fetchurl {
-    url = "https://installer.id.ee/media/ubuntu/pool/main/e/esteidfirefoxplugin/esteidfirefoxplugin_3.12.1.1142.orig.tar.xz";
-    sha256 = "0y7759x1xr00p5r3c5wpllcqqnnxh2zi74cmy4m9m690z3ywn0fx";
-  };
-
-  unpackPhase = ''
-    mkdir src
-    tar xf $src -C src
-    cd src
-  '';
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 openssl pcsclite opensc ];
-
-  buildPhase = ''
-    sed -i "s|opensc-pkcs11.so|${opensc}/lib/pkcs11/opensc-pkcs11.so|" Makefile 
-    make plugin
-  '';
-
-  installPhase = ''
-    plugins=$out/lib/mozilla/plugins
-    mkdir -p $plugins
-    cp -a npesteid-firefox-plugin.so $plugins/
-    rp=$(patchelf --print-rpath $plugins/npesteid-firefox-plugin.so)
-    patchelf --set-rpath "$rp:${opensc}/lib:${opensc}/lib/pkcs11" $plugins/npesteid-firefox-plugin.so
-  '';
-
-  passthru.mozillaPlugin = "/lib/mozilla/plugins";
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  meta = with stdenv.lib; {
-    description = "Firefox ID card signing plugin";
-    homepage = http://www.id.ee/;
-    license = licenses.lgpl2;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.jagajaga ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
index 04c98881215..772ca926cd7 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
@@ -74,7 +74,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "flashplayer";
-  version = "32.0.0.223";
+  version = "32.0.0.238";
 
   src = fetchurl {
     url =
@@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
     sha256 =
       if debug then
         if arch == "x86_64" then
-          "165zsh4dzzsy38kc8yxp0jdygk4qid5xd642gchlky7z6fwza223"
+          "1f5i64nzkvxy20vi7kldaamwp6pi2zgmjiw061cgqrwf7hj45wkg"
         else
-          "1by2zqw9xgvpf1jnbf5qjl3kcjn5wxznl44f47f8h2gkgcnrf749"
+          "09jvxqp83hpk89ak8flq14s3s3nhy3ary91jc6k47v325axh1cl9"
       else
         if arch == "x86_64" then
-          "07hbg98pgpp81v2sr4vw8siava7wkg1r6hg8i6rg00w9mhvn9vcz"
+          "05gvssjdz43pvgivdngrf8qr5b30p45hr2sr97cyl6b87581qw9s"
         else
-          "1z2nmznmwvg3crdj3gbz2bxvi8dq2jk5yiwk79y90h199nsan1n2";
+          "06l7zhgh5rfxxw46b500zdgcqsk2h7kivng5b0b74s3vy7f0g270";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
index e9431866047..2d2d2a69100 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -50,7 +50,7 @@
 
 stdenv.mkDerivation rec {
   pname = "flashplayer-standalone";
-  version = "32.0.0.223";
+  version = "32.0.0.238";
 
   src = fetchurl {
     url =
@@ -60,9 +60,9 @@ stdenv.mkDerivation rec {
         "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
     sha256 =
       if debug then
-        "1f3098vfznnx8d7rimgbalr2728jhzwca9val7pdi9b8yf9labwk"
+        "1vhfjpwsmg96irfvz81ldzn2m4qcjnql5psg4cifjay423yxabvy"
       else
-        "005iyajgp55ww25rcyxg5g0kbzddp6izfly9p4agahmzlzv18y4h";
+        "0am95xi2jasvxj5b2i12wzpvl3bvxli537k1i04698cg0na6x0y0";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/qtchan/default.nix b/pkgs/applications/networking/browsers/qtchan/default.nix
index 083383f0ef5..9a4d61a50ae 100644
--- a/pkgs/applications/networking/browsers/qtchan/default.nix
+++ b/pkgs/applications/networking/browsers/qtchan/default.nix
@@ -1,27 +1,19 @@
-{ stdenv, fetchFromGitHub, fetchpatch, qt, makeWrapper }:
+{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "qtchan";
-  version = "0.100";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner  = "siavash119";
     repo   = "qtchan";
     rev    = "v${version}";
-    sha256 = "0n94jd6b1y8v6x5lkinr9rzm4bjg9xh9m7zj3j73pgq829gpmj3a";
+    sha256 = "1x11m1kwqindzc0dkpfifcglsb362impaxs85kgzx50p898sz9ll";
   };
 
-  patches = [
-    (fetchpatch {
-      url = https://github.com/siavash119/qtchan/commit/718abeee5cf4aca8c99b35b26f43909362a29ee6.patch;
-      sha256 = "11b72l5njvfsyapd479hp4yfvwwb1mhq3f077hwgg0waz5l7n00z";
-    })
-  ];
-
   enableParallelBuilding = true;
-  nativeBuildInputs = [ qt.qmake qt.wrapQtAppsHook ];
-  buildInputs = [ qt.qtbase ];
-
+  nativeBuildInputs = [ qmake ];
+  buildInputs = [ qtbase ];
   qmakeFlags = [ "CONFIG-=app_bundle" ];
 
   installPhase = ''
@@ -29,7 +21,7 @@ stdenv.mkDerivation rec {
     cp qtchan $out/bin
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "4chan browser in qt5";
     homepage    = "https://github.com/siavash119/qtchan";
     license     = licenses.mit;
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index f82cc3535f2..0a72099e653 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://fanglingsu.github.io/vimb/;
     license = stdenv.lib.licenses.gpl3;
-    maintainers = [ stdenv.lib.maintainers.rickynils ];
+    maintainers = [];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
index 36c26001afc..eb2946cec77 100644
--- a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
@@ -1,6 +1,6 @@
-{ stdenv, buildGoPackage, libvirt, pkgconfig, minikube }:
+{ stdenv, buildGoModule, libvirt, pkgconfig, minikube }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "docker-machine-kvm2";
   version = minikube.version;
 
@@ -9,6 +9,8 @@ buildGoPackage rec {
 
   src = minikube.src;
 
+  modSha256 = minikube.go-modules.outputHash;
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libvirt ];
 
@@ -17,7 +19,7 @@ buildGoPackage rec {
   '';
 
   postInstall = ''
-    mv $bin/bin/kvm $bin/bin/docker-machine-driver-kvm2
+    mv $out/bin/kvm $out/bin/docker-machine-driver-kvm2
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix
index 29ec50ce362..b0f67932265 100644
--- a/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.13.1";
+  version = "1.13.3";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "0g8yfvwh6hjh70a0i4ssbb6hq3i9f75wj8yqy1aaafycq598zbdx";
+    sha256 = "0l2gc9p2jz1zyl527rr0r3qklm4j86d4biviq8a30jl9rsx6z4cy";
   };
 
   modSha256 = "1q5g9hd0ansdc2acpysf6wi74q50w0psrpyhk4y6mm6kjvhlcn87";
diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix
index 7522307032e..438fdfb2eba 100644
--- a/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -1,7 +1,9 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig, which, maven, cmake, jre, bash, coreutils, glibc, protobuf2_5, fuse, snappy, zlib, bzip2, openssl }:
+{ stdenv, fetchurl, makeWrapper, pkgconfig, which, maven, cmake, jre, bash
+, coreutils, glibc, protobuf2_5, fuse, snappy, zlib, bzip2, openssl, openssl_1_0_2
+}:
 
 let
-  common = { version, sha256, dependencies-sha256, tomcat }:
+  common = { version, sha256, dependencies-sha256, tomcat, opensslPkg ? openssl }:
     let
       # compile the hadoop tarball from sources, it requires some patches
       binary-distributon = stdenv.mkDerivation rec {
@@ -33,7 +35,7 @@ let
         };
 
         nativeBuildInputs = [ maven cmake pkgconfig ];
-        buildInputs = [ fuse snappy zlib bzip2 openssl protobuf2_5 ];
+        buildInputs = [ fuse snappy zlib bzip2 opensslPkg protobuf2_5 ];
         # most of the hardcoded pathes are fixed in 2.9.x and 3.0.0, this list of patched files might be reduced when 2.7.x and 2.8.x will be deprecated
         postPatch = ''
           for file in hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/HardLink.java \
@@ -85,7 +87,7 @@ let
               mv $n $out/bin.wrapped/
               makeWrapper $out/bin.wrapped/$(basename $n) $n \
                 --prefix PATH : "${stdenv.lib.makeBinPath [ which jre bash coreutils ]}" \
-                --prefix JAVA_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ openssl snappy zlib bzip2 ]}" \
+                --prefix JAVA_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ opensslPkg snappy zlib bzip2 ]}" \
                 --set JAVA_HOME "${jre}" \
                 --set HADOOP_PREFIX "$out"
             fi
@@ -128,18 +130,21 @@ in {
     sha256 = "1ahv67f3lwak3kbjvnk1gncq56z6dksbajj872iqd0awdsj3p5rf";
     dependencies-sha256 = "1lsr9nvrynzspxqcamb10d596zlnmnfpxhkd884gdiva0frm0b1r";
     tomcat = tomcat_6_0_48;
+    opensslPkg = openssl_1_0_2;
   };
   hadoop_2_8 = common {
     version = "2.8.4";
     sha256 = "16c3ljhrzibkjn3y1bmjxdgf0kn60l23ay5hqpp7vpbnqx52x68w";
     dependencies-sha256 = "1j4f461487fydgr5978nnm245ksv4xbvskfr8pbmfhcyss6b7w03";
     tomcat = tomcat_6_0_48;
+    opensslPkg = openssl_1_0_2;
   };
   hadoop_2_9 = common {
     version = "2.9.1";
     sha256 = "0qgmpfbpv7f521fkjy5ldzdb4lwiblhs0hyl8qy041ws17y5x7d7";
     dependencies-sha256 = "1d5i8jj5y746rrqb9lscycnd7acmxlkz64ydsiyqsh5cdqgy2x7x";
     tomcat = tomcat_6_0_48;
+    opensslPkg = openssl_1_0_2;
   };
   hadoop_3_0 = common {
     version = "3.0.3";
diff --git a/pkgs/applications/networking/cluster/kubeless/default.nix b/pkgs/applications/networking/cluster/kubeless/default.nix
new file mode 100644
index 00000000000..a69dc8890a7
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubeless/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubeless";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "kubeless";
+    repo = "kubeless";
+    rev = "v${version}";
+    sha256 = "1f5w6kn9rsaxx9nf6kzyjkzm3s9ycy1c8h78hb61v4x915xd3040";
+  };
+  modSha256 = "1pw4pwb8z2kq474jjipjdivlrin5zvw8d2if4317b0w0wyp6isgd";
+
+  subPackages = [ "cmd/kubeless" ];
+
+  buildFlagsArray = ''
+    -ldflags=-X github.com/kubeless/kubeless/pkg/version.Version=${version}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://kubeless.io";
+    description = "The Kubernetes Native Serverless Framework";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ "00-matt" ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 8c85370728f..5637e486ef1 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -49,6 +49,7 @@ in buildGoModule rec {
   '';
 
   postInstall = ''
+    wrapProgram $out/bin/${pname} --prefix PATH : $out/bin:${stdenv.lib.makeBinPath binPath}
     mkdir -p $out/share/bash-completion/completions/
     MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTKUBECTLDOWNLOADMSG=false HOME=$PWD $out/bin/minikube completion bash > $out/share/bash-completion/completions/minikube
     mkdir -p $out/share/zsh/site-functions/
diff --git a/pkgs/applications/networking/cluster/terraform-providers/data.nix b/pkgs/applications/networking/cluster/terraform-providers/data.nix
index a6749083c24..16056d9185b 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/data.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/data.nix
@@ -4,15 +4,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-acme";
-      version = "1.3.4";
-      sha256  = "1kam9mwgqh31f1m8kn86bkdi4ccfj5h38f80g3frrla4p2zw9l55";
+      version = "1.3.5";
+      sha256  = "0xjxxz3vxq7vk7sv6b5p57z5x92dmrm44v6ksffcg76ngc40nrxk";
     };
   alicloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-alicloud";
-      version = "1.52.2";
-      sha256  = "1s127p6rm3kmrxjk9kr02rgjk58rs864c0b46i8lmaj7x5yznaz5";
+      version = "1.54.0";
+      sha256  = "01pmhwdnhfsk785ja11hxn5l5fmklnkiv12kv2pw2280cdljfcv4";
     };
   archive =
     {
@@ -39,8 +39,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-aws";
-      version = "2.21.0";
-      sha256  = "18aw0fz3pzd7wci3z19nain499rfr9npb3sm0k34nkajjjryqngc";
+      version = "2.23.0";
+      sha256  = "0yscy0qmdl07air0b16i6zd0w8y3z20pk5l53pwm78ssdxn3w6qc";
     };
   azuread =
     {
@@ -53,8 +53,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurerm";
-      version = "1.32.0";
-      sha256  = "01287yknd2bp2yqzyn2221mkv2hz4xd5dghps5pzrkdv0m1w4p35";
+      version = "1.32.1";
+      sha256  = "0ydzibmvz52i62pk0g96rl7vxhff5izrsgdwk6lgc56nw63w2l8g";
     };
   azurestack =
     {
@@ -109,8 +109,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudflare";
-      version = "1.16.1";
-      sha256  = "0lxx7wkvmi6zpql7g33bg12gx67i4xm2v885j70b9vf8brj40h2j";
+      version = "1.17.1";
+      sha256  = "0kmkk5fhgsvjakqrfs7p92dcljn04asxq15af1r9n5csq54q7na3";
     };
   cloudscale =
     {
@@ -151,8 +151,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-digitalocean";
-      version = "1.5.0";
-      sha256  = "14kqyp4j4ld8gla8rn3an6wpjh942h5bn39d68nnf4y7nx3vvbfs";
+      version = "1.6.0";
+      sha256  = "06cxm3qcym8jwp4nl1bzk3p9fbaz26bvddqzn3p8l57c802qqds6";
     };
   dme =
     {
@@ -179,8 +179,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-docker";
-      version = "2.1.0";
-      sha256  = "183pkjf6x8xk84sij2w2v3sms8pjv7hzwricamd2sf3n0fkqvjiq";
+      version = "2.1.1";
+      sha256  = "0px3xj76ay5ixpmynas49z31xmk4zmpn0917y6a20kr2x2abi9zb";
     };
   dyn =
     {
@@ -200,8 +200,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-fastly";
-      version = "0.8.1";
-      sha256  = "1ghvf7nwj02r31zgnrnmhagqbbq696ll39b2wjzlimb6c3fw7ik0";
+      version = "0.9.0";
+      sha256  = "0g3rgi6s9hyb6vzl682n8zqz5virdxvxh04v88n9iy5r7hwrxxzg";
     };
   flexibleengine =
     {
@@ -228,15 +228,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google";
-      version = "2.11.0";
-      sha256  = "16577pkp3m5pqqqhvxq1rvx99p1230pmqksm6wplh25ry5yp5v7w";
+      version = "2.12.0";
+      sha256  = "15fdpmdikm77hlfksdbcblysb82sd51vw4ninx60hzgddqp6ll4m";
     };
   google-beta =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google-beta";
-      version = "2.11.0";
-      sha256  = "0hj2c17kb6k4zy1630fvmyniln5m1ncpyys4wl8v1j0arb8vg2wz";
+      version = "2.12.0";
+      sha256  = "11aky7jvm7i39pnj3ypy42d9yk9akqb3wjb03hyllzfddwhvay5q";
     };
   grafana =
     {
@@ -249,8 +249,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-hcloud";
-      version = "1.11.0";
-      sha256  = "037hbwp10h57cj74ja6c4wjgfrfggbpd4glbc81xpp22rxij40j9";
+      version = "1.12.0";
+      sha256  = "1r61s7chq636fcjv67g0vjlc35xx0ycy58hg6b5i5rdc9737v7hp";
     };
   hedvig =
     {
@@ -263,15 +263,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-helm";
-      version = "0.10.0";
-      sha256  = "09qxpgdljkfbyn1ihki2pp2m9wxmrxvp91d1myinml466jylxjar";
+      version = "0.10.2";
+      sha256  = "1xp8dx6ncskmfa9bjd54434f4a7pnjz5r3yvnh1hmv3i5ykfxzdn";
     };
   heroku =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-heroku";
-      version = "2.1.0";
-      sha256  = "17gb8lpcp7fwgv6mv3sw5was571pa0pp00izrrkyhbcddw5p84mc";
+      version = "2.1.2";
+      sha256  = "0n8id5rw4hzsiic9yv4rzm709npagv9sfp6dd1ax6np5kai78b87";
     };
   http =
     {
@@ -284,8 +284,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-huaweicloud";
-      version = "1.6.0";
-      sha256  = "03f92mq4ydfwnxh0v4sm6brllxw6m7kh8j19md9aq0wxcwr5wp6q";
+      version = "1.7.0";
+      sha256  = "1yhyyh33hvzs74pryb383p1w0c0d4vn23pnm6snxi1cw49wgiiyf";
     };
   icinga2 =
     {
@@ -305,15 +305,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-influxdb";
-      version = "1.2.0";
-      sha256  = "1nldywbwg5lgzhlq8hmisv63riipd0aaa4p5ya6qvx5cnj5yhsx8";
+      version = "1.3.0";
+      sha256  = "19af40g8hgz2rdz6523v0fs71ww7qdlf2mh5j9vb7pfzriqwa5k9";
     };
   kubernetes =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-kubernetes";
       version = "1.8.1";
-      sha256  = "1c69p7rqijinzr0lqh4iwa0g89w2hjm2csadbxkfha0a8iqq73r1";
+      sha256  = "0jcc3i10x0qz7sj8l5yv98jc2g32a6yhdpc45sq33wmhcvp1fsn4";
     };
   librato =
     {
@@ -382,22 +382,22 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nomad";
-      version = "1.4.0";
-      sha256  = "04dh7gas6viny6bkx89fkwmxrw101b8bmw14m2mzfkxn70cl2na4";
+      version = "1.4.1";
+      sha256  = "1v4wwinnb2qc71jgil4607kgdccjivssabqgb5l3yk8pwfidgdnr";
     };
   ns1 =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ns1";
-      version = "1.4.1";
-      sha256  = "1zcl7yda0rqj76d9slm92kvj5ry3v5va48l8i5vlxa1znnf8d89d";
+      version = "1.5.0";
+      sha256  = "1m6f1hsx2gcb5b50sm8cj04hkmn71xlxji8qwlswasz2sg1sllrx";
     };
   nsxt =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nsxt";
-      version = "1.1.0";
-      sha256  = "0y9n4acbrjf5n2v8j10qfnz8677gil60by5miz3wd2qpxwgmhhm8";
+      version = "1.1.1";
+      sha256  = "19bbycify25bshpyq65qjxnl72b6wmwwwdb7hxl94hhbgx2c9z29";
     };
   null =
     {
@@ -417,8 +417,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oci";
-      version = "3.35.0-rc1";
-      sha256  = "1728zap32iabsa2a6762caf9h7fgspi1z8gnq03269qhy7jsknv8";
+      version = "3.37.0-rc1";
+      sha256  = "0ahqnh9qzixp434qn2ckj8p32kb9x26l1xz8yr84h6sqfrn58bcv";
     };
   oneandone =
     {
@@ -431,22 +431,22 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opc";
-      version = "1.3.6";
-      sha256  = "1b11837j0d8s59pjkankbm3p5l87aw1s17mn2q7nvy65kgzalsra";
+      version = "1.3.7";
+      sha256  = "01g09w8mqfp1d8phplsdj0vz63q5bgq9fqwy2kp4vrnwb70dq52w";
     };
   openstack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-openstack";
-      version = "1.20.0";
-      sha256  = "0hfcypz95aj1wwhybpkc74k8g2iqax724qdm11s2iyjmq5c7iz2z";
+      version = "1.21.1";
+      sha256  = "0nvhn2bnk11sz4i98yw7rpxi8b3c2y04qq37ybvqx2jyi3n9kj30";
     };
   opentelekomcloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opentelekomcloud";
-      version = "1.10.0";
-      sha256  = "12c7qjlmvsxd4nv0k2vsvlnl1iq2k0b8xx29q5a6h98dnhrnpfic";
+      version = "1.11.0";
+      sha256  = "175j2bbw3bdbjq1b7b1kwsr8iay9aafz165d0brfpb8gf096y7xa";
     };
   opsgenie =
     {
@@ -473,15 +473,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-packet";
-      version = "2.2.1";
-      sha256  = "05zhrpynn2yrimlg553f0567b284x51g5yafz29g647vvsqd1rpn";
+      version = "2.3.0";
+      sha256  = "1v2758wjhrn7rhwdx658w3sf1q5lp4cawl6llbv4p16c5fyzwwc2";
     };
   pagerduty =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-pagerduty";
-      version = "1.3.0";
-      sha256  = "1l3rk7c31qafadpg2b0mzvfx7lwwk82vcn489fr35rvmv99zfkh8";
+      version = "1.3.1";
+      sha256  = "1x29ya0xcjj2b3x2q2q7iyqric8vswf18a5bwhwv2017c1g4n299";
     };
   panos =
     {
@@ -501,8 +501,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-powerdns";
-      version = "0.1.0";
-      sha256  = "1k9xjx2smk6478dsrcnqk1k6r2pddpa9n8aghq5d1a5yhfsq5zzz";
+      version = "1.0.0";
+      sha256  = "1qh4z69b0sqxwjjgc8xis165gdszav9yc85ba6pgyl3wbymkld30";
     };
   profitbricks =
     {
@@ -522,15 +522,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rancher";
-      version = "1.3.0";
-      sha256  = "0b62hhb87xqmc1izl5lyk2kvkrkgrjil5z1xwprfdl6yz4fnin0w";
+      version = "1.4.0";
+      sha256  = "106arszmdjmgrz4iv01bbf72jarn7zjqvmc43b6n1s3lzd7jnfpc";
     };
   random =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-random";
-      version = "2.1.2";
-      sha256  = "102bgd8s9yhm2ny2akv04mhwf5mphqhsxx9vxjbg7ygqnz9ka5nw";
+      version = "2.2.0";
+      sha256  = "0vg33jbvyxvg4dwcwjb2p57jjkq7qj50d356r4a1f2ysl2axwwjw";
     };
   rightscale =
     {
@@ -543,8 +543,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rundeck";
-      version = "0.3.0";
-      sha256  = "10xhj3xxdhbdxq14linqabn8cm0gnnswfwr0r20s1yp7pn36lgkj";
+      version = "0.4.0";
+      sha256  = "1x131djsny8w84yf7w2il33wlc3ysy3k399dziii2lmq4h8sgrpr";
     };
   runscope =
     {
@@ -613,8 +613,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tencentcloud";
-      version = "1.13.0";
-      sha256  = "0mdgpkzv1gfyvpndvv195f6nxmvpv4wvssxlqvmccf8vvmb32nyn";
+      version = "1.15.0";
+      sha256  = "1ics91fxsl1z1wqd961wdn2s22ck25yphp341qlbs8ln2dcwk8r7";
     };
   terraform =
     {
@@ -662,15 +662,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vault";
-      version = "2.1.0";
-      sha256  = "1nbiz2mnknaimfvh1zmmsp1crrhcpy4q6maaakqybqzabkn9wibr";
+      version = "2.2.0";
+      sha256  = "0k9frx29pjrrx67cwzsrnj0x90ff5k99l5yzfgb58sajkz1j8nln";
     };
   vcd =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vcd";
-      version = "2.3.0";
-      sha256  = "1x9ydp6kscgj0m7vkf4ly0y80016qcfbshgmlydrvq7dbw44qlr9";
+      version = "2.4.0";
+      sha256  = "020wmdl5cbma9r7sv3bx6v8b59w5nwkzgwj4xm7a2s6kn8jygr2x";
     };
   vsphere =
     {
@@ -683,8 +683,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-yandex";
-      version = "0.8.2";
-      sha256  = "07p88asjcjndpv36dhvfazb440k2f2v4j7rpvqqmfccwyyqkwwjr";
+      version = "0.9.0";
+      sha256  = "0x3l0pbpdsm43jsx42xzc46r9j40l7szkcf851q16wsxf70lchqr";
     };
   matchbox =
     {
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 02803daa219..de1e86fa073 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -97,8 +97,8 @@ in rec {
   terraform_0_11-full = terraform_0_11.full;
 
   terraform_0_12 = pluggable (generic {
-    version = "0.12.6";
-    sha256 = "0vxvciv4amblxx50wivlm60fyj1ardfgdpj3l8cj9fhi79b3khxl";
+    version = "0.12.7";
+    sha256 = "09zsak1a9z2mk88vb6xs9jaxfpazhs0p7x68mw62c9mm13m8kq02";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/feedreaders/castget/default.nix b/pkgs/applications/networking/feedreaders/castget/default.nix
new file mode 100644
index 00000000000..21f1e555a29
--- /dev/null
+++ b/pkgs/applications/networking/feedreaders/castget/default.nix
@@ -0,0 +1,44 @@
+{ lib, stdenv, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, glib
+, ronn
+, curl
+, id3lib
+, libxml2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "castget";
+  version = "1.2.4";
+
+  src = fetchFromGitHub {
+    owner = "mlj";
+    repo = pname;
+    # Upstream uses `_` instead of `.` for the version, let's hope it will
+    # change in the next release
+    rev = "rel_${lib.replaceStrings ["."] ["_"] version}";
+    sha256 = "1pfrjmsikv35cc0praxgim26zq4r7dfp1pkn6n9fz3fm73gxylyv";
+  };
+  # Otherwise, the autoreconfHook fails since Makefile.am requires it
+  preAutoreconf = ''
+    touch NEWS
+    touch README
+    touch ChangeLog
+  '';
+
+  buildInputs = [ glib curl id3lib libxml2 ];
+  nativeBuildInputs = [ ronn autoreconfHook pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "A simple, command-line based RSS enclosure downloader";
+    longDescription = ''
+      castget is a simple, command-line based RSS enclosure downloader. It is
+      primarily intended for automatic, unattended downloading of podcasts.
+    '';
+    homepage = "http://castget.johndal.com/";
+    maintainers = with maintainers; [ doronbehar ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/feedreaders/feedreader/default.nix b/pkgs/applications/networking/feedreaders/feedreader/default.nix
index fea062805d0..959649c4b15 100644
--- a/pkgs/applications/networking/feedreaders/feedreader/default.nix
+++ b/pkgs/applications/networking/feedreaders/feedreader/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, vala, gettext, python3
-, appstream-glib, desktop-file-utils, wrapGAppsHook
+, appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts
 , gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas, hicolor-icon-theme
 , curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2
 }:
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     curl glib json-glib libnotify libsecret sqlite gumbo gtk3
     libgee libpeas gnome3.libsoup librest webkitgtk gsettings-desktop-schemas
-    gnome3.gnome-online-accounts
+    gnome-online-accounts
     hicolor-icon-theme # for setup hook
   ] ++ (with gst_all_1; [
     gstreamer gst-plugins-base gst-plugins-good
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index f990f8de529..f01849919ab 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -24,11 +24,11 @@ with python'.pkgs;
 
 buildPythonApplication rec {
   pname = "FlexGet";
-  version = "2.21.15";
+  version = "2.21.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0p1pa5l9apd40mdlgzp9vfpd8x9laqiah2i8l3q9m6nnibk1ipx8";
+    sha256 = "1skb73nsg5gqlqqcs64c9kiidd74p3gm0xx93jaky2gagn0jn7rv";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/gmailieer/default.nix b/pkgs/applications/networking/gmailieer/default.nix
index fdd8e004c8b..e37dc9e7cac 100644
--- a/pkgs/applications/networking/gmailieer/default.nix
+++ b/pkgs/applications/networking/gmailieer/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "gmailieer-${version}";
-  version = "0.10";
+  version = "0.11";
 
   src = fetchFromGitHub {
     owner = "gauteh";
     repo = "gmailieer";
     rev = "v${version}";
-    sha256 = "0qv74marzdv99xc2jbzzcwx3b2hm6byjl734h9x42g4mcg5pq9yf";
+    sha256 = "0gjmb8s3d7nj9jp5zkz5q6a59777ay6b1sg4ghl8iw9m8l4h42xa";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/networking/instant-messengers/freetalk/default.nix b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
index cc0bdf60394..e24ac2e1831 100644
--- a/pkgs/applications/networking/instant-messengers/freetalk/default.nix
+++ b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
@@ -1,9 +1,7 @@
 { stdenv, fetchFromGitHub
 , guile, pkgconfig, glib, loudmouth, gmp, libidn, readline, libtool
 , libunwind, ncurses, curl, jansson, texinfo
-, automake, autoconf
-}:
-
+, automake, autoconf }:
 stdenv.mkDerivation rec {
   pname = "freetalk";
   version = "4.1";
@@ -19,11 +17,10 @@ stdenv.mkDerivation rec {
     ./autogen.sh
   '';
 
- nativeBuildInputs = [ pkgconfig ];
- buildInputs = [
+  nativeBuildInputs = [ pkgconfig texinfo autoconf automake ];
+  buildInputs = [
     guile glib loudmouth gmp libidn readline libtool
-    libunwind ncurses curl jansson texinfo
-    autoconf automake
+    libunwind ncurses curl jansson
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index 111efb182e5..65562830897 100644
--- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, lib, fetchFromGitHub, cmake
+{ mkDerivation, stdenv, lib, fetchFromGitHub, cmake
 , qtbase, qtquickcontrols, qtkeychain, qtmultimedia, qttools
 , libqmatrixclient_0_5 }:
 
 let
-  generic = version: sha256: prefix: library: stdenv.mkDerivation rec {
+  generic = version: sha256: prefix: library: mkDerivation rec {
     pname = "quaternion";
     inherit version;
 
@@ -14,9 +14,9 @@ let
       inherit sha256;
     };
 
-    buildInputs = [ qtbase qtmultimedia qtquickcontrols qtkeychain qttools library ];
+    buildInputs = [ qtbase qtmultimedia qtquickcontrols qtkeychain library ];
 
-    nativeBuildInputs = [ cmake ];
+    nativeBuildInputs = [ cmake qttools ];
 
     postInstall = if stdenv.isDarwin then ''
       mkdir -p $out/Applications
@@ -29,7 +29,7 @@ let
 
     meta = with lib; {
       description = "Cross-platform desktop IM client for the Matrix protocol";
-      homepage    = https://matrix.org/docs/projects/client/quaternion.html;
+      homepage    = "https://matrix.org/docs/projects/client/quaternion.html";
       license     = licenses.gpl3;
       maintainers = with maintainers; [ peterhoeg ];
       inherit (qtbase.meta) platforms;
diff --git a/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
index ffa55a88c8a..9a0aab6f8ce 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/pro.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "rambox-pro";
-  version = "1.1.4";
+  version = "1.1.6";
 
   dontBuild = true;
   dontStrip = true;
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.tar.gz";
-    sha256 = "0vwh3km3h46bgynd10s8ijl3aj5sskzncdj14h3k7h4sibd8r71a";
+    sha256 = "1jdamjdl649315ms5g1c7m7gpy04rv7xpy6bsvink242adaq2pjz";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
index edf10ed2cb4..2e9602458e7 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "riot-web",
   "productName": "Riot",
   "main": "src/electron-main.js",
-  "version": "1.3.0",
+  "version": "1.3.3",
   "description": "A feature-rich client for Matrix.org",
   "author": "New Vector Ltd.",
   "dependencies": {
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
index 7400393d92b..d245fad7bca 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
@@ -1,4 +1,4 @@
-{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron, riot-web }:
+{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web }:
 
 # Note for maintainers:
 # Versions of `riot-web` and `riot-desktop` should be kept in sync.
@@ -7,12 +7,12 @@ with (import ./yarn2nix.nix { inherit pkgs; });
 
 let
   executableName = "riot-desktop";
-  version = "1.3.0";
+  version = "1.3.3";
   riot-web-src = fetchFromGitHub {
     owner = "vector-im";
     repo = "riot-web";
     rev = "v${version}";
-    sha256 = "00142b0zcnwfdgvb84k2a0amyb67j3mm0d8p191aqk3bxv1xpxk1";
+    sha256 = "1nzzxcz4r9932cha80q1bzn1425m67fsl89pn7n7ybrv6y0jnxpc";
   };
 
 in mkYarnPackage rec {
@@ -49,7 +49,7 @@ in mkYarnPackage rec {
     ln -s "${desktopItem}/share/applications" "$out/share/applications"
 
     # executable wrapper
-    makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
+    makeWrapper '${electron_5}/bin/electron' "$out/bin/${executableName}" \
       --add-flags "$out/share/riot/electron"
   '';
 
@@ -65,7 +65,7 @@ in mkYarnPackage rec {
   # * category and StartupWMClass from the build.linux section of
   #   https://github.com/vector-im/riot-web/blob/develop/package.json
   desktopItem = makeDesktopItem {
-    inherit name;
+    name = "riot";
     exec = executableName;
     icon = "riot";
     desktopName = "Riot";
@@ -82,7 +82,6 @@ in mkYarnPackage rec {
     homepage = https://about.riot.im/;
     license = licenses.asl20;
     maintainers = with maintainers; [ pacien worldofpeace ];
-    inherit (electron.meta) platforms;
+    inherit (electron_5.meta) platforms;
   };
 }
-
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index ba0f8c48fbd..2755d181da2 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "riot-web";
-  version = "1.3.0";
+  version = "1.3.3";
 
   src = fetchurl {
     url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
-    sha256 = "1rppxcc4m00bf73ghgli967wwrri2jdj865623pn8nk4kny4wxyq";
+    sha256 = "1n5h7q3h0akw09p4z7nwprxsa8jnmwbvwn2npq7zz62ccasb4fv9";
   };
 
   installPhase = let
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index dd76063a0fa..cbab67e5e1a 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -1,18 +1,19 @@
 { stdenv, fetchurl, dpkg
 , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome2, gnome3
 , gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg
-, at-spi2-atk }:
+, at-spi2-atk, libuuid, at-spi2-core }:
 
 let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.50.0.38";
+  version = "8.51.0.72";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
     atk
     at-spi2-atk
+    at-spi2-core
     cairo
     cups
     curl
@@ -23,6 +24,7 @@ let
     glib
     glibc
     libsecret
+    libuuid
 
     gnome2.GConf
     gdk-pixbuf
@@ -58,7 +60,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
-        sha256 = "1g0aacp4qgzp3018w1s685yr3ssqlw0z2x6ifrj01k4ig82jfkn6";
+        sha256 = "1rv3jxirlfy0gvphw8cxmwmghbak5m5wj0y3bgamcvma48mzdfk3";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix b/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
deleted file mode 100644
index 77a8d57f8b6..00000000000
--- a/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchgit
-, qtbase, qtmultimedia, qtquick1, qtquickcontrols
-, qtimageformats, qtgraphicaleffects, qtwebkit
-, telegram-qml, libqtelegram-aseman-edition
-, gst_all_1
-, makeWrapper, qmake }:
-
-stdenv.mkDerivation rec {
-  name = "cutegram-${meta.version}";
-
-  src = fetchgit {
-    url = "https://github.com/Aseman-Land/Cutegram.git";
-    rev = "1dbe2792fb5a1760339379907f906e236c09db84";
-    sha256 = "146vd3ri05da2asxjjxibnqmb685lgwl2kaz7mwb7ja7vi4149f0";
-  };
-
-  buildInputs =
-  [ qtbase qtmultimedia qtquick1 qtquickcontrols
-    qtimageformats qtgraphicaleffects qtwebkit
-    telegram-qml libqtelegram-aseman-edition
-  ] ++ (with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly ]);
-
-
-  enableParallelBuilding = true;
-  nativeBuildInputs = [ makeWrapper qmake ];
-
-  fixupPhase = ''
-    wrapProgram $out/bin/cutegram \
-      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
-  '';
-
-  meta = with stdenv.lib; {
-    version = "2.7.1";
-    description = "Telegram client forked from sigram";
-    homepage = http://aseman.co/en/products/cutegram/;
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.linux;
-  };
-}
-#TODO: appindicator, for system tray plugin
diff --git a/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix b/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix
deleted file mode 100644
index 49368da708e..00000000000
--- a/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchFromGitHub
-, qtbase, qtmultimedia, qtquick1, qmake }:
-
-stdenv.mkDerivation rec {
-  name = "libqtelegram-aseman-edition-${meta.version}";
-
-  src = fetchFromGitHub {
-    owner = "Aseman-Land";
-    repo = "libqtelegram-aseman-edition";
-    rev = "v${meta.version}-stable";
-    sha256 = "1pfd4pvh51639zk9shv1s4f6pf0ympnhar8a302vhrkga9i4cbx6";
-  };
-
-  buildInputs = [ qtbase qtmultimedia qtquick1 ];
-  enableParallelBuilding = true;
-  nativeBuildInputs = [ qmake ];
-
-  patchPhase = ''
-    substituteInPlace libqtelegram-ae.pro --replace "/libqtelegram-ae" ""
-    substituteInPlace libqtelegram-ae.pro --replace "/\$\$LIB_PATH" ""
-  '';
-
-  meta = with stdenv.lib; {
-    version = "6.1";
-    description = "A fork of libqtelegram by Aseman, using qmake";
-    homepage = src.meta.homepage;
-    license = licenses.gpl3;
-    maintainers = [ maintainers.Profpatsch ];
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index ce7f47fe4ff..3d88e50221d 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,5 +1,5 @@
 { mkDerivation, lib, fetchFromGitHub, fetchsvn, fetchpatch
-, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc8
+, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc9
 , qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils
 , dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
 }:
@@ -8,14 +8,16 @@ with lib;
 
 mkDerivation rec {
   pname = "telegram-desktop";
-  version = "1.8.0";
+  version = "1.8.2";
+  # Note: Due to our strong dependency on the Arch patches it's probably best
+  # to also wait for the Arch update (especially if the patches don't apply).
 
   # Telegram-Desktop with submodules
   src = fetchFromGitHub {
     owner = "telegramdesktop";
     repo = "tdesktop";
     rev = "v${version}";
-    sha256 = "09r62dra6gab8hiyzyysslgqkzswf8vwfkcixbcb0jk5la0m07yy";
+    sha256 = "0dls6s8721zjm8351fcgfbsifr9d7wsxbf5dra5cbk8r555ibf3j";
     fetchSubmodules = true;
   };
 
@@ -31,6 +33,8 @@ mkDerivation rec {
     sha256 = "1s5xvcp9dk0jfywssk8xfcsh7bk5xxif8xqnba0413lfx5rgvs5v";
   };
 
+  # Note: It would be best if someone could get as many patches upstream as
+  # possible (we currently depend a lot on custom patches...).
   patches = [
     "${archPatches}/tdesktop.patch"
     "${archPatches}/no-gtk2.patch"
@@ -45,12 +49,12 @@ mkDerivation rec {
       --replace '"notify"' '"${libnotify}/lib/libnotify.so"'
   '';
 
-  nativeBuildInputs = [ pkgconfig pythonPackages.gyp cmake wrapGAppsHook wrapQtAppsHook gcc8 ];
-
   # We want to run wrapProgram manually (with additional parameters)
   dontWrapGApps = true;
   dontWrapQtApps = true;
 
+  nativeBuildInputs = [ pkgconfig pythonPackages.gyp cmake wrapGAppsHook wrapQtAppsHook gcc9 ];
+
   buildInputs = [
     qtbase qtimageformats gtk3 libappindicator-gtk3
     dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
@@ -157,6 +161,10 @@ mkDerivation rec {
 
   meta = {
     description = "Telegram Desktop messaging app";
+    longDescription = ''
+      Desktop client for the Telegram messenger, based on the Telegram API and
+      the MTProto secure protocol.
+    '';
     license = licenses.gpl3;
     platforms = platforms.linux;
     homepage = https://desktop.telegram.org/;
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix
deleted file mode 100644
index c0b1de893c7..00000000000
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, fetchgit, libconfig, libevent, openssl
-, readline, zlib, lua5_2, python, pkgconfig, jansson
-, runtimeShell
-}:
-
-stdenv.mkDerivation rec {
-  name = "telegram-cli-2016-03-23";
-
-  src = fetchgit {
-    url = "https://github.com/vysheng/tg.git";
-    sha256 = "07sss5cnw2ygd7mp8f5532lmj7qm6ywqf4cjaq5g13i8igzqzwzj";
-    rev = "6547c0b21b977b327b3c5e8142963f4bc246187a";
-  };
-
-  buildInputs = [
-    libconfig libevent openssl readline zlib
-    lua5_2 python pkgconfig jansson
-  ];
-  installPhase = ''
-    mkdir -p $out/bin
-    cp ./bin/telegram-cli $out/bin/telegram-wo-key
-    cp ./tg-server.pub $out/
-    cat > $out/bin/telegram-cli <<EOF
-    #!${runtimeShell}
-    $out/bin/telegram-wo-key -k $out/tg-server.pub "\$@"
-    EOF
-    chmod +x $out/bin/telegram-cli
-  '';
-
-  meta = {
-    description = "Command-line interface for Telegram messenger";
-    homepage = https://telegram.org/;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.jagajaga ];
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix
deleted file mode 100644
index 0efa7bee1d0..00000000000
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, fetchFromGitHub
-, qtbase, qtmultimedia, qtquick1, qmake
-, libqtelegram-aseman-edition }:
-
-stdenv.mkDerivation rec {
-  name = "telegram-qml-${meta.version}";
-
-  src = fetchFromGitHub {
-    owner = "Aseman-Land";
-    repo = "TelegramQML";
-    rev = "v${meta.version}";
-    sha256 = "0j8vn845f2virvddk9yjbljy6vkr9ikyn6iy7hpj8nvr2xls3499";
-  };
-
-  propagatedBuildInputs = [ qtbase qtmultimedia qtquick1 libqtelegram-aseman-edition ];
-  enableParallelBuilding = true;
-  nativeBuildInputs = [ qmake ];
-
-  patchPhase = ''
-    substituteInPlace telegramqml.pro --replace "/\$\$LIB_PATH" ""
-    substituteInPlace telegramqml.pro --replace "INSTALL_HEADERS_PREFIX/telegramqml" "INSTALL_HEADERS_PREFIX"
-  '';
-
-  qmakeFlags = [ "BUILD_MODE+=lib" ];
-
-  meta = with stdenv.lib; {
-    version = "0.9.2";
-    description = "Telegram API tools for QtQml and Qml";
-    homepage = src.meta.homepage;
-    license = licenses.gpl3;
-    maintainers = [ maintainers.Profpatsch ];
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index 2840d85bddd..04f1072936f 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintl }:
+{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintl, libgcrypt, libotr }:
 
 stdenv.mkDerivation rec {
   version = "1.2.1";
@@ -10,12 +10,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ncurses glib openssl perl libintl ];
+  buildInputs = [ ncurses glib openssl perl libintl libgcrypt libotr ];
 
   configureFlags = [
     "--with-proxy"
     "--with-bot"
     "--with-perl=yes"
+    "--with-otr=yes"
     "--enable-true-color"
   ];
 
diff --git a/pkgs/applications/networking/irc/irssi/otr/default.nix b/pkgs/applications/networking/irc/irssi/otr/default.nix
deleted file mode 100644
index 6f7cd2cda8b..00000000000
--- a/pkgs/applications/networking/irc/irssi/otr/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchFromGitHub, libotr, automake, autoconf, libtool, glib, pkgconfig, irssi }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  pname = "irssi-otr";
-  version = "1.0.2";
-
-  src = fetchFromGitHub {
-    owner = "cryptodotis";
-    repo = "irssi-otr";
-    rev = "v${version}";
-    sha256 = "0c5wb2lg9q0i1jdhpyb5vpvxaa2xx00gvp3gdk93ix9v68gq1ppp";
-  };
-
-  preConfigure = "sh ./bootstrap";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libotr automake autoconf libtool glib irssi ];
-
-  NIX_CFLAGS_COMPILE="-I ${irssi}/include/irssi -I ${irssi}/include/irssi/src/core -I ${irssi}/include/irssi/src/";
-
-  meta = {
-    homepage = https://github.com/cryptodotis/irssi-otr;
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/irc/weechat/wrapper.nix b/pkgs/applications/networking/irc/weechat/wrapper.nix
index c773aecf289..e6fa95488e1 100644
--- a/pkgs/applications/networking/irc/weechat/wrapper.nix
+++ b/pkgs/applications/networking/irc/weechat/wrapper.nix
@@ -56,7 +56,7 @@ let
     init = let
       init = builtins.replaceStrings [ "\n" ] [ ";" ] (config.init or "");
 
-      mkScript = drv: lib.flip map drv.scripts (script: "/script load ${drv}/share/${script}");
+      mkScript = drv: lib.forEach drv.scripts (script: "/script load ${drv}/share/${script}");
 
       scripts = builtins.concatStringsSep ";" (lib.foldl (scripts: drv: scripts ++ mkScript drv)
         [ ] (config.scripts or []));
diff --git a/pkgs/applications/networking/mailreaders/alpine/default.nix b/pkgs/applications/networking/mailreaders/alpine/default.nix
index 1417a8c7b1b..492cd640d87 100644
--- a/pkgs/applications/networking/mailreaders/alpine/default.nix
+++ b/pkgs/applications/networking/mailreaders/alpine/default.nix
@@ -2,7 +2,6 @@
 , openldap
 }:
 
-# NOTE: Please check if any changes here are applicable to ../realpine/ as well
 stdenv.mkDerivation rec {
   pname = "alpine";
   version = "2.21";
diff --git a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
index 2ee071fec57..d9eae3c9c50 100644
--- a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "notmuch-bower";
-  version = "0.10";
+  version = "0.11";
 
   src = fetchFromGitHub {
     owner = "wangp";
     repo = "bower";
     rev = version;
-    sha256 = "0jpaxlfxz7mj76z3cyj8sq053p0mkp46kaw05nimzwaq5yx923fv";
+    sha256 = "0vhac8yjnhb1gz60jfzg27spyn96c1rr849gc6vjym5xamw7zp0v";
   };
 
   nativeBuildInputs = [ gawk mercury pandoc ];
diff --git a/pkgs/applications/networking/mailreaders/realpine/default.nix b/pkgs/applications/networking/mailreaders/realpine/default.nix
deleted file mode 100644
index f53c5d61050..00000000000
--- a/pkgs/applications/networking/mailreaders/realpine/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{stdenv, fetchurl, ncurses, tcl, openssl, pam, kerberos
-, openldap
-}:
-# NOTE: Please check if any changes here are applicable to ../alpine/ as well
-let
-  baseName = "re-alpine";
-  version = "2.03";
-in
-stdenv.mkDerivation {
-  name = "${baseName}-${version}";
-  inherit version;
-
-  src = fetchurl {
-    url = "mirror://sourceforge/re-alpine/re-alpine-${version}.tar.bz2";
-    sha256 = "11xspzbk9cwmklmcw6rxsan7j71ysd4m9c7qldlc59ck595k5nbh";
-  };
-
-  buildInputs = [
-    ncurses tcl openssl pam kerberos openldap
-  ];
-
-  hardeningDisable = [ "format" ];
-
-  configureFlags = [
-    "--with-ssl-include-dir=${openssl.dev}/include/openssl"
-    "--with-tcl-lib=${tcl.libPrefix}"
-    "--with-passfile=.pine-passfile"
-  ];
-
-  preConfigure = ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
-  '';
-
-  meta = {
-    description = "Console mail reader";
-    license = stdenv.lib.licenses.asl20;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-    homepage = https://sourceforge.net/projects/re-alpine/;
-    downloadPage = "https://sourceforge.net/projects/re-alpine/files/";
-  };
-}
diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix
index 9ee16298ef1..b0786d742db 100644
--- a/pkgs/applications/networking/mullvad-vpn/default.nix
+++ b/pkgs/applications/networking/mullvad-vpn/default.nix
@@ -40,11 +40,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "mullvad-vpn";
-  version = "2019.6";
+  version = "2019.7";
 
   src = fetchurl {
     url = "https://www.mullvad.net/media/app/MullvadVPN-${version}_amd64.deb";
-    sha256 = "0hlkka8mk7qzfhgsl10nz495nswh27gn7l9bd24c6lpkqnapz0vg";
+    sha256 = "1hjndcdkin98l6jv39r98zfw33qg0gnvlv8q80qsj5x36a19d4v9";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/ndppd/default.nix b/pkgs/applications/networking/ndppd/default.nix
index 5792aadf568..776255e7a12 100644
--- a/pkgs/applications/networking/ndppd/default.nix
+++ b/pkgs/applications/networking/ndppd/default.nix
@@ -24,12 +24,11 @@ stdenv.mkDerivation rec {
     cp ndppd.conf-dist $out/etc/ndppd.conf
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces";
     homepage = https://github.com/DanielAdolfsson/ndppd;
-    license = stdenv.lib.licenses.gpl3;
-
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.fadenb ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fadenb globin ];
   };
 }
diff --git a/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch b/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
new file mode 100644
index 00000000000..ab7cb9bffa4
--- /dev/null
+++ b/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
@@ -0,0 +1,25 @@
+From bbd366348d1f0e334d4604d04e293a046070e666 Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Fri, 23 Aug 2019 00:19:20 +0200
+Subject: [PATCH] Explicitly copy dbus files into the store dir
+
+---
+ shell_integration/libcloudproviders/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/shell_integration/libcloudproviders/CMakeLists.txt b/shell_integration/libcloudproviders/CMakeLists.txt
+index 1f35335..7f76951 100644
+--- a/shell_integration/libcloudproviders/CMakeLists.txt
++++ b/shell_integration/libcloudproviders/CMakeLists.txt
+@@ -19,7 +19,7 @@ MACRO(PKGCONFIG_GETVAR _package _var _output_variable)
+ ENDMACRO(PKGCONFIG_GETVAR _package _var _output_variable)
+ 
+ macro(dbus_add_activation_service _sources)
+-    PKGCONFIG_GETVAR(dbus-1 session_bus_services_dir _install_dir)
++    set(_install_dir "${CMAKE_INSTALL_DATADIR}/dbus-1/service")
+     foreach (_i ${_sources})
+         get_filename_component(_service_file ${_i} ABSOLUTE)
+         string(REGEX REPLACE "\\.service.*$" ".service" _output_file ${_i})
+-- 
+2.19.2
+
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 828ffc1664c..6f7f47bdcfa 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -1,46 +1,63 @@
-{ stdenv, fetchgit, cmake, pkgconfig, qtbase, qtwebkit, qtkeychain, qttools, sqlite
-, inotify-tools, wrapQtAppsHook, openssl_1_1, pcre, qtwebengine, libsecret
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, inotify-tools
 , libcloudproviders
+, libsecret
+, openssl
+, pcre
+, pkgconfig
+, qtbase
+, qtkeychain
+, qttools
+, qtwebengine
+, qtwebkit
+, sqlite
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "nextcloud-client";
-  version = "2.5.2";
+  version = "2.5.3";
 
-  src = fetchgit {
-    url = "git://github.com/nextcloud/desktop.git";
-    rev = "refs/tags/v${version}";
-    sha256 = "1brpxdgyy742dqw6cyyv2257d6ihwiqhbzfk2hb8zjgbi6p9lhsr";
-    fetchSubmodules = true;
+  src = fetchFromGitHub {
+    owner = "nextcloud";
+    repo = "desktop";
+    rev = "v${version}";
+    sha256 = "1pzlq507fasf2ljf37gkw00qrig4w2r712rsy05zfwlncgcn7fnw";
   };
 
-  nativeBuildInputs = [ pkgconfig cmake wrapQtAppsHook ];
-
-  buildInputs = [ qtbase qtwebkit qtkeychain qttools qtwebengine sqlite openssl_1_1.out pcre inotify-tools libcloudproviders ];
-
-  enableParallelBuilding = true;
+  patches = [
+    ./0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
+  ];
 
-  NIX_LDFLAGS = "${openssl_1_1.out}/lib/libssl.so ${openssl_1_1.out}/lib/libcrypto.so";
+  nativeBuildInputs = [
+    pkgconfig
+    cmake
+  ];
 
-  cmakeFlags = [
-    "-UCMAKE_INSTALL_LIBDIR"
-    "-DCMAKE_BUILD_TYPE=Release"
-    "-DOPENSSL_LIBRARIES=${openssl_1_1.out}/lib"
-    "-DOPENSSL_INCLUDE_DIR=${openssl_1_1.dev}/include"
-    "-DINOTIFY_LIBRARY=${inotify-tools}/lib/libinotifytools.so"
-    "-DINOTIFY_INCLUDE_DIR=${inotify-tools}/include"
+  buildInputs = [
+    inotify-tools
+    libcloudproviders
+    openssl
+    pcre
+    qtbase
+    qtkeychain
+    qttools
+    qtwebengine
+    qtwebkit
+    sqlite
   ];
 
   qtWrapperArgs = [
-    ''--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libsecret ]}''
+    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret ]}"
   ];
 
-  postInstall = ''
-    sed -i 's/\(Icon.*\)=nextcloud/\1=Nextcloud/g' \
-    $out/share/applications/nextcloud.desktop
-  '';
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_LIBDIR=lib" # expected to be prefix-relative by build code setting RPATH
+  ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Nextcloud themed desktop client";
     homepage = https://nextcloud.com;
     license = licenses.gpl2;
diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix
index 9627fef7597..8d21f64765d 100644
--- a/pkgs/applications/networking/remote/citrix-receiver/default.nix
+++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix
@@ -58,7 +58,7 @@ let
       versions = [ "13.8.0" "13.9.0" "13.9.1" ];
     in
       lib.listToAttrs
-        (lib.flip map versions
+        (lib.forEach versions
           (v: lib.nameValuePair v (throw "Unsupported citrix_receiver version: ${v}")));
   in
     deprecatedVersions // supportedVersions;
diff --git a/pkgs/applications/networking/remote/citrix-workspace/default.nix b/pkgs/applications/networking/remote/citrix-workspace/default.nix
index faab83e9492..a0980cf42bf 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/default.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/default.nix
@@ -62,7 +62,7 @@ let
       versions = [ ];
     in
       lib.listToAttrs
-        (lib.flip map versions
+        (lib.forEach versions
           (v: lib.nameValuePair v (throw "Unsupported citrix_workspace version: ${v}")));
   in
     deprecatedVersions // supportedVersions;
diff --git a/pkgs/applications/networking/remote/ssvnc/default.nix b/pkgs/applications/networking/remote/ssvnc/default.nix
deleted file mode 100644
index f85f6cbb7ba..00000000000
--- a/pkgs/applications/networking/remote/ssvnc/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, imake, zlib, jdk, libX11, libXt, libXmu
-, libXaw, libXext, libXpm, openjpeg, openssl, tk, perl }:
-
-stdenv.mkDerivation rec {
-  pname = "ssvnc";
-  version = "1.0.29";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/ssvnc/${pname}-${version}.src.tar.gz";
-    sha256 = "74df32eb8eaa68b07c9693a232ebe42154617c7f3cbe1d4e68d3fe7c557d618d";
-  };
-
-  buildInputs = [ imake zlib jdk libX11 libXt libXmu libXaw libXext libXpm openjpeg openssl ];
-
-  dontUseImakeConfigure = true;
-
-  makeFlags = "PREFIX=$(out)";
-
-  hardeningDisable = [ "format" ];
-
-  postInstall = ''
-    sed -i -e 's|exec wish|exec ${tk}/bin/wish|' $out/lib/ssvnc/util/ssvnc.tcl
-    sed -i -e 's|/usr/bin/perl|${perl}/bin/perl|' $out/lib/ssvnc/util/ss_vncviewer
-  '';
-
-  meta = {
-    description = "VNC viewer that adds encryption security to VNC connections";
-    homepage = http://www.karlrunge.com/x11vnc/ssvnc.html;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.edwtjo ];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index c265d9356e1..cfd8b155514 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -1,13 +1,16 @@
-{ stdenv, fetchurl, autoPatchelfHook, makeWrapper, xdg_utils, dbus, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc, libXrandr, libX11 }:
+{ mkDerivation, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg_utils, dbus
+, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc, libXrandr, libX11
+, wrapQtAppsHook
+}:
 
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "teamviewer";
-  version = "14.4.2669";
+  version = "14.5.1691";
 
   src = fetchurl {
     url = "https://dl.tvcdn.de/download/linux/version_14x/teamviewer_${version}_amd64.deb";
-    sha256 = "0vk782xpp8plbaz8cfggp0jrw7n8d5p9lv605pzmgxyq5h8z72za";
+    sha256 = "1dzvjyvcqcah6z1dvw4zvmbdn8iks9j2909slbkksavn1rp3akxc";
   };
 
   unpackPhase = ''
@@ -15,7 +18,7 @@ stdenv.mkDerivation rec {
     tar xf data.tar.*
   '';
 
-  nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
+  nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ];
   buildInputs = [ dbus qtbase qtwebkit qtx11extras libX11 ];
   propagatedBuildInputs = [ qtquickcontrols ];
 
@@ -41,13 +44,15 @@ stdenv.mkDerivation rec {
       --replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2'
     substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \
       --replace '/var/run/' '/run/'
-    wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}"
-    wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}"
+    wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}"
+    wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}"
+
+    wrapQtApp $out/bin/teamviewer
   '';
 
   dontStrip = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://www.teamviewer.com;
     license = licenses.unfree;
     description = "Desktop sharing application, providing remote support and online meetings";
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index 1b12dde85db..16430d31e83 100644
--- a/pkgs/applications/networking/seafile-client/default.nix
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools
-, seafile-shared, ccnet, makeWrapper
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools
+, seafile-shared, ccnet
 , withShibboleth ? true, qtwebengine }:
 
 with stdenv.lib;
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   version = "6.2.11";
   pname = "seafile-client";
 
@@ -15,17 +15,16 @@ stdenv.mkDerivation rec {
     sha256 = "1b8jqmr2qd3bpb3sr4p5w2a76x5zlknkj922sxrvw1rdwqhkb2pj";
   };
 
-  nativeBuildInputs = [ pkgconfig cmake makeWrapper ];
+  nativeBuildInputs = [ pkgconfig cmake ];
   buildInputs = [ qtbase qttools seafile-shared ]
     ++ optional withShibboleth qtwebengine;
 
   cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]
     ++ optional withShibboleth "-DBUILD_SHIBBOLETH_SUPPORT=ON";
 
-  postInstall = ''
-    wrapProgram $out/bin/seafile-applet \
-      --suffix PATH : ${stdenv.lib.makeBinPath [ ccnet seafile-shared ]}
-  '';
+  qtWrapperArgs = [
+    "--suffix PATH : ${stdenv.lib.makeBinPath [ ccnet seafile-shared ]}"
+  ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/haiwen/seafile-client;
diff --git a/pkgs/applications/networking/sniffers/ettercap/default.nix b/pkgs/applications/networking/sniffers/ettercap/default.nix
index 2881f3b5377..dbff491fa80 100644
--- a/pkgs/applications/networking/sniffers/ettercap/default.nix
+++ b/pkgs/applications/networking/sniffers/ettercap/default.nix
@@ -1,34 +1,23 @@
 { stdenv, fetchFromGitHub, cmake, libpcap, libnet, zlib, curl, pcre
-, openssl, ncurses, glib, gtk2, atk, pango, flex, bison
-, fetchpatch }:
+, openssl, ncurses, glib, gtk3, atk, pango, flex, bison, geoip
+, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "ettercap";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "Ettercap";
     repo = "ettercap";
     rev = "v${version}";
-    sha256 = "1kvrzv2f8kxy7pndfadkzv10cs5wsyfkaa1ski20r2mq4wrvd0cd";
+    sha256 = "0m40bmbrv9a8qlg54z3b5f8r541gl9vah5hm0bbqcgyyljpg39bz";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2017-8366.patch";
-      url = "https://github.com/Ettercap/ettercap/commit/1083d604930ebb9f350126b83802ecd2cbc17f90.patch";
-      sha256 = "1ff6fp8fxisvd3fkkd01y4fjykgcj414kczzpfscdmi52ridwg8m";
-    })
-    (fetchpatch {
-      name = "CVE-2017-6430.patch";
-      url = "https://github.com/Ettercap/ettercap/commit/7f50c57b2101fe75592c8dc9960883bbd1878bce.patch";
-      sha256 = "0s13nc9yzxzp611rixsd1c8aw1b57q2lnvfq8wawxyrw07h7b2j4";
-    })
-  ];
-
+  strictDeps = true;
+  nativeBuildInputs = [ cmake flex bison pkgconfig ];
   buildInputs = [
-    cmake libpcap libnet zlib curl pcre openssl ncurses
-    glib gtk2 atk pango flex bison
+    libpcap libnet zlib curl pcre openssl ncurses
+    glib gtk3 atk pango geoip
   ];
 
   preConfigure = ''
@@ -37,8 +26,8 @@ stdenv.mkDerivation rec {
   '';
 
   cmakeFlags = [
-    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
-    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
+    "-DBUNDLED_LIBS=Off"
+    "-DGTK3_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix
index adec1474808..b5a721b5679 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix
@@ -56,18 +56,18 @@
     md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
   }
   {
-    name = "cairo-1.14.10.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/cairo-1.14.10.tar.xz";
-    sha256 = "7e87878658f2c9951a14fc64114d4958c0e65ac47530b8ac3078b2ce41b66a09";
+    name = "cairo-1.16.0.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/cairo-1.16.0.tar.xz";
+    sha256 = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331";
     md5 = "";
-    md5name = "7e87878658f2c9951a14fc64114d4958c0e65ac47530b8ac3078b2ce41b66a09-cairo-1.14.10.tar.xz";
+    md5name = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331-cairo-1.16.0.tar.xz";
   }
   {
-    name = "libcdr-0.1.4.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libcdr-0.1.4.tar.xz";
-    sha256 = "e7a7e8b00a3df5798110024d7061fe9d1c3330277d2e4fa9213294f966a4a66d";
+    name = "libcdr-0.1.5.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libcdr-0.1.5.tar.xz";
+    sha256 = "6ace5c499a8be34ad871e825442ce388614ae2d8675c4381756a7319429e3a48";
     md5 = "";
-    md5name = "e7a7e8b00a3df5798110024d7061fe9d1c3330277d2e4fa9213294f966a4a66d-libcdr-0.1.4.tar.xz";
+    md5name = "6ace5c499a8be34ad871e825442ce388614ae2d8675c4381756a7319429e3a48-libcdr-0.1.5.tar.xz";
   }
   {
     name = "clucene-core-2.3.3.4.tar.gz";
@@ -77,11 +77,11 @@
     md5name = "48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz";
   }
   {
-    name = "libcmis-0.5.1.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libcmis-0.5.1.tar.gz";
-    sha256 = "6acbdf22ecdbaba37728729b75bfc085ee5a4b49a6024757cfb86ccd3da27b0e";
+    name = "libcmis-0.5.2.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libcmis-0.5.2.tar.xz";
+    sha256 = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2";
     md5 = "";
-    md5name = "6acbdf22ecdbaba37728729b75bfc085ee5a4b49a6024757cfb86ccd3da27b0e-libcmis-0.5.1.tar.gz";
+    md5name = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2-libcmis-0.5.2.tar.xz";
   }
   {
     name = "CoinMP-1.7.6.tgz";
@@ -105,11 +105,11 @@
     md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
   }
   {
-    name = "curl-7.63.0.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/curl-7.63.0.tar.gz";
-    sha256 = "d483b89062832e211c887d7cf1b65c902d591b48c11fe7d174af781681580b41";
+    name = "curl-7.65.0.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/curl-7.65.0.tar.xz";
+    sha256 = "7766d263929404f693905b5e5222aa0f2bdf8c66ab4b8758f0c0820a42b966cd";
     md5 = "";
-    md5name = "d483b89062832e211c887d7cf1b65c902d591b48c11fe7d174af781681580b41-curl-7.63.0.tar.gz";
+    md5name = "7766d263929404f693905b5e5222aa0f2bdf8c66ab4b8758f0c0820a42b966cd-curl-7.65.0.tar.xz";
   }
   {
     name = "libe-book-0.1.3.tar.xz";
@@ -119,11 +119,11 @@
     md5name = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9-libe-book-0.1.3.tar.xz";
   }
   {
-    name = "libepoxy-1.3.1.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libepoxy-1.3.1.tar.bz2";
-    sha256 = "1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64";
+    name = "libepoxy-1.5.3.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libepoxy-1.5.3.tar.xz";
+    sha256 = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d";
     md5 = "";
-    md5name = "1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64-libepoxy-1.3.1.tar.bz2";
+    md5name = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d-libepoxy-1.5.3.tar.xz";
   }
   {
     name = "epm-3.7.tar.gz";
@@ -140,11 +140,11 @@
     md5name = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad-libepubgen-0.1.1.tar.xz";
   }
   {
-    name = "libetonyek-0.1.8.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.8.tar.xz";
-    sha256 = "9dc92347aee0cc9ed57b175a3e21f9d96ebe55d30fecb10e841d1050794ed82d";
+    name = "libetonyek-0.1.9.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.9.tar.xz";
+    sha256 = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a";
     md5 = "";
-    md5name = "9dc92347aee0cc9ed57b175a3e21f9d96ebe55d30fecb10e841d1050794ed82d-libetonyek-0.1.8.tar.xz";
+    md5name = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a-libetonyek-0.1.9.tar.xz";
   }
   {
     name = "expat-2.2.5.tar.bz2";
@@ -196,18 +196,18 @@
     md5name = "1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
   }
   {
-    name = "liberation-fonts-ttf-1.07.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz";
-    sha256 = "61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4cfee5c";
-    md5 = "134d8262145fc793c6af494dcace3e71";
-    md5name = "134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz";
+    name = "liberation-narrow-fonts-ttf-1.07.6.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/liberation-narrow-fonts-ttf-1.07.6.tar.gz";
+    sha256 = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3";
+    md5 = "";
+    md5name = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3-liberation-narrow-fonts-ttf-1.07.6.tar.gz";
   }
   {
-    name = "liberation-fonts-ttf-2.00.1.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz";
-    sha256 = "7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504";
-    md5 = "5c781723a0d9ed6188960defba8e91cf";
-    md5name = "5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz";
+    name = "liberation-fonts-ttf-2.00.4.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.00.4.tar.gz";
+    sha256 = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45";
+    md5 = "";
+    md5name = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45-liberation-fonts-ttf-2.00.4.tar.gz";
   }
   {
     name = "LinLibertineG-20120116.zip";
@@ -231,6 +231,13 @@
     md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
   }
   {
+    name = "source-serif-font-2.007R.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/source-serif-font-2.007R.tar.gz";
+    sha256 = "10b2bbb357d52bf0f516d3e0ac0a09b5f7901470fbf649b69dad9ccc2d29f7cb";
+    md5 = "";
+    md5name = "10b2bbb357d52bf0f516d3e0ac0a09b5f7901470fbf649b69dad9ccc2d29f7cb-source-serif-font-2.007R.tar.gz";
+  }
+  {
     name = "EmojiOneColor-SVGinOT-1.3.tar.gz";
     url = "http://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz";
     sha256 = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7";
@@ -343,11 +350,11 @@
     md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
   }
   {
-    name = "hunspell-1.6.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/hunspell-1.6.2.tar.gz";
-    sha256 = "3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce180cac4d6f4c4";
+    name = "hunspell-1.7.0.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/hunspell-1.7.0.tar.gz";
+    sha256 = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951";
     md5 = "";
-    md5name = "3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce180cac4d6f4c4-hunspell-1.6.2.tar.gz";
+    md5name = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951-hunspell-1.7.0.tar.gz";
   }
   {
     name = "hyphen-2.8.8.tar.gz";
@@ -357,18 +364,18 @@
     md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
   }
   {
-    name = "icu4c-61_1-src.tgz";
-    url = "http://dev-www.libreoffice.org/src/icu4c-61_1-src.tgz";
-    sha256 = "d007f89ae8a2543a53525c74359b65b36412fa84b3349f1400be6dcf409fafef";
+    name = "icu4c-63_1-src.tgz";
+    url = "http://dev-www.libreoffice.org/src/icu4c-63_1-src.tgz";
+    sha256 = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d";
     md5 = "";
-    md5name = "d007f89ae8a2543a53525c74359b65b36412fa84b3349f1400be6dcf409fafef-icu4c-61_1-src.tgz";
+    md5name = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d-icu4c-63_1-src.tgz";
   }
   {
-    name = "icu4c-61_1-data.zip";
-    url = "http://dev-www.libreoffice.org/src/icu4c-61_1-data.zip";
-    sha256 = "d149ed0985b5a6e16a9d8ed66f105dd58fd334c276779f74241cfa656ed2830a";
+    name = "icu4c-63_1-data.zip";
+    url = "http://dev-www.libreoffice.org/src/icu4c-63_1-data.zip";
+    sha256 = "9bef2bf28ec4fdc86a3bd88d7ac4d509fef6dfbe9c6798299e55b9d4343e960c";
     md5 = "";
-    md5name = "d149ed0985b5a6e16a9d8ed66f105dd58fd334c276779f74241cfa656ed2830a-icu4c-61_1-data.zip";
+    md5name = "9bef2bf28ec4fdc86a3bd88d7ac4d509fef6dfbe9c6798299e55b9d4343e960c-icu4c-63_1-data.zip";
   }
   {
     name = "flow-engine-0.9.4.zip";
@@ -448,18 +455,18 @@
     md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
   }
   {
-    name = "libjpeg-turbo-1.5.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.2.tar.gz";
-    sha256 = "9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528";
+    name = "libjpeg-turbo-1.5.3.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.3.tar.gz";
+    sha256 = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523";
     md5 = "";
-    md5name = "9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528-libjpeg-turbo-1.5.2.tar.gz";
+    md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz";
   }
   {
-    name = "language-subtag-registry-2018-04-23.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2018-04-23.tar.bz2";
-    sha256 = "14c21f4533ca74e3af9e09184d6756a750d0cd46099015ba8c595e48499aa878";
+    name = "language-subtag-registry-2019-04-03.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2019-04-03.tar.bz2";
+    sha256 = "a1d7fb901764bb8f251d4f686cdf565764f9987d0fb5d9315d54a7366a84822d";
     md5 = "";
-    md5name = "14c21f4533ca74e3af9e09184d6756a750d0cd46099015ba8c595e48499aa878-language-subtag-registry-2018-04-23.tar.bz2";
+    md5name = "a1d7fb901764bb8f251d4f686cdf565764f9987d0fb5d9315d54a7366a84822d-language-subtag-registry-2019-04-03.tar.bz2";
   }
   {
     name = "JLanguageTool-1.7.0.tar.bz2";
@@ -483,11 +490,11 @@
     md5name = "47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449-libassuan-2.5.1.tar.bz2";
   }
   {
-    name = "libatomic_ops-7_2d.zip";
-    url = "http://dev-www.libreoffice.org/src/libatomic_ops-7_2d.zip";
-    sha256 = "cf5c52f08a2067ae4fe7c8919e3c1ccf3ee917f1749e0bcc7efffff59c68d9ad";
+    name = "libatomic_ops-7.6.8.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/libatomic_ops-7.6.8.tar.gz";
+    sha256 = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665";
     md5 = "";
-    md5name = "cf5c52f08a2067ae4fe7c8919e3c1ccf3ee917f1749e0bcc7efffff59c68d9ad-libatomic_ops-7_2d.zip";
+    md5name = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665-libatomic_ops-7.6.8.tar.gz";
   }
   {
     name = "libeot-0.01.tar.bz2";
@@ -518,11 +525,11 @@
     md5name = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e-liblangtag-0.6.2.tar.bz2";
   }
   {
-    name = "libnumbertext-1.0.4.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libnumbertext-1.0.4.tar.xz";
-    sha256 = "349258f4c3a8b090893e847b978b22e8dc1343d4ada3bfba811b97144f1dd67b";
+    name = "libnumbertext-1.0.5.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libnumbertext-1.0.5.tar.xz";
+    sha256 = "e1c9086b4cecb6b25f180316f30740dfabe6a4dbaf70dddc34276fc839e4f4f7";
     md5 = "";
-    md5name = "349258f4c3a8b090893e847b978b22e8dc1343d4ada3bfba811b97144f1dd67b-libnumbertext-1.0.4.tar.xz";
+    md5name = "e1c9086b4cecb6b25f180316f30740dfabe6a4dbaf70dddc34276fc839e4f4f7-libnumbertext-1.0.5.tar.xz";
   }
   {
     name = "ltm-1.0.zip";
@@ -532,11 +539,11 @@
     md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip";
   }
   {
-    name = "xmlsec1-1.2.25.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/xmlsec1-1.2.25.tar.gz";
-    sha256 = "967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2";
+    name = "xmlsec1-1.2.27.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/xmlsec1-1.2.27.tar.gz";
+    sha256 = "97d756bad8e92588e6997d2227797eaa900d05e34a426829b149f65d87118eb6";
     md5 = "";
-    md5name = "967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2-xmlsec1-1.2.25.tar.gz";
+    md5name = "97d756bad8e92588e6997d2227797eaa900d05e34a426829b149f65d87118eb6-xmlsec1-1.2.27.tar.gz";
   }
   {
     name = "libxml2-2.9.9.tar.gz";
@@ -574,18 +581,18 @@
     md5name = "a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz";
   }
   {
-    name = "mdds-1.3.1.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/mdds-1.3.1.tar.bz2";
-    sha256 = "dcb8cd2425567a5a5ec164afea475bce57784bca3e352ad4cbdd3d1a7e08e5a1";
+    name = "mdds-1.4.3.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/mdds-1.4.3.tar.bz2";
+    sha256 = "25ce3d5af9f6609e1de05bb22b2316e57b74a72a5b686fbb2da199da72349c81";
     md5 = "";
-    md5name = "dcb8cd2425567a5a5ec164afea475bce57784bca3e352ad4cbdd3d1a7e08e5a1-mdds-1.3.1.tar.bz2";
+    md5name = "25ce3d5af9f6609e1de05bb22b2316e57b74a72a5b686fbb2da199da72349c81-mdds-1.4.3.tar.bz2";
   }
   {
-    name = "mDNSResponder-576.30.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/mDNSResponder-576.30.4.tar.gz";
-    sha256 = "4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0";
+    name = "mDNSResponder-878.200.35.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/mDNSResponder-878.200.35.tar.gz";
+    sha256 = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0";
     md5 = "";
-    md5name = "4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0-mDNSResponder-576.30.4.tar.gz";
+    md5name = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0-mDNSResponder-878.200.35.tar.gz";
   }
   {
     name = "libmspub-0.1.4.tar.xz";
@@ -602,13 +609,6 @@
     md5name = "aca8bf1ce55ed83adbea82c70d4c8bebe8139f334b3481bf5a6e407f91f33ce9-libmwaw-0.3.14.tar.xz";
   }
   {
-    name = "mysql-connector-c++-1.1.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz";
-    sha256 = "a25f14dad39e93a2f9cdf09166ee53981f7212dce829e4208e07a522963a8585";
-    md5 = "7239a4430efd4d0189c4f24df67f08e5";
-    md5name = "7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz";
-  }
-  {
     name = "mythes-1.2.4.tar.gz";
     url = "http://dev-www.libreoffice.org/src/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
     sha256 = "1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b0e0790a305f";
@@ -623,11 +623,11 @@
     md5name = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca-neon-0.30.2.tar.gz";
   }
   {
-    name = "nss-3.38-with-nspr-4.19.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/nss-3.38-with-nspr-4.19.tar.gz";
-    sha256 = "f271ec73291fa3e4bd4b59109f8035cc3a192fc33886f40ed4f9ee4b31c746e9";
+    name = "nss-3.45-with-nspr-4.21.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/nss-3.45-with-nspr-4.21.tar.gz";
+    sha256 = "fae11751100510d26f16a245f0db9a5b3d638ab28ce0bccd50d4314f7e526ba1";
     md5 = "";
-    md5name = "f271ec73291fa3e4bd4b59109f8035cc3a192fc33886f40ed4f9ee4b31c746e9-nss-3.38-with-nspr-4.19.tar.gz";
+    md5name = "fae11751100510d26f16a245f0db9a5b3d638ab28ce0bccd50d4314f7e526ba1-nss-3.45-with-nspr-4.21.tar.gz";
   }
   {
     name = "libodfgen-0.1.6.tar.bz2";
@@ -637,11 +637,11 @@
     md5name = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2-libodfgen-0.1.6.tar.bz2";
   }
   {
-    name = "odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar";
-    url = "http://dev-www.libreoffice.org/src/../extern/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar";
-    sha256 = "702413413a5d8076c17fe79c0808dfba145a7260020f6c8627ea529a0cf83769";
+    name = "odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar";
+    url = "http://dev-www.libreoffice.org/src/../extern/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar";
+    sha256 = "984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504";
     md5 = "";
-    md5name = "702413413a5d8076c17fe79c0808dfba145a7260020f6c8627ea529a0cf83769-odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar";
+    md5name = "984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504-odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar";
   }
   {
     name = "officeotron-0.7.4-master.jar";
@@ -658,18 +658,18 @@
     md5name = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824-openldap-2.4.45.tgz";
   }
   {
-    name = "openssl-1.0.2p.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/openssl-1.0.2p.tar.gz";
-    sha256 = "50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00";
+    name = "openssl-1.0.2r.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/openssl-1.0.2r.tar.gz";
+    sha256 = "ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6";
     md5 = "";
-    md5name = "50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00-openssl-1.0.2p.tar.gz";
+    md5name = "ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6-openssl-1.0.2r.tar.gz";
   }
   {
-    name = "liborcus-0.13.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/liborcus-0.13.4.tar.gz";
-    sha256 = "bc01b1b3e9091416f498840d3c19a1aa2704b448100e7f6b80eefe88aab06d5b";
+    name = "liborcus-0.14.1.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/liborcus-0.14.1.tar.gz";
+    sha256 = "3f48cfbc21ad74787218284939c04d42cb836c73bc393f27f538b668e4d78a5f";
     md5 = "";
-    md5name = "bc01b1b3e9091416f498840d3c19a1aa2704b448100e7f6b80eefe88aab06d5b-liborcus-0.13.4.tar.gz";
+    md5name = "3f48cfbc21ad74787218284939c04d42cb836c73bc393f27f538b668e4d78a5f-liborcus-0.14.1.tar.gz";
   }
   {
     name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
@@ -686,11 +686,11 @@
     md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz";
   }
   {
-    name = "pdfium-3426.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/pdfium-3426.tar.bz2";
-    sha256 = "80331b48166501a192d65476932f17044eeb5f10faa6ea50f4f175169475c957";
+    name = "pdfium-3550.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/pdfium-3550.tar.bz2";
+    sha256 = "572460f7f9e2f86d022a9c6a82f1e2ded6c3c29ba352d4b9fac60b87e2159679";
     md5 = "";
-    md5name = "80331b48166501a192d65476932f17044eeb5f10faa6ea50f4f175169475c957-pdfium-3426.tar.bz2";
+    md5name = "572460f7f9e2f86d022a9c6a82f1e2ded6c3c29ba352d4b9fac60b87e2159679-pdfium-3550.tar.bz2";
   }
   {
     name = "pixman-0.34.0.tar.gz";
@@ -700,39 +700,39 @@
     md5name = "e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
   }
   {
-    name = "libpng-1.6.34.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libpng-1.6.34.tar.xz";
-    sha256 = "2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6";
+    name = "libpng-1.6.37.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libpng-1.6.37.tar.xz";
+    sha256 = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca";
     md5 = "";
-    md5name = "2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6-libpng-1.6.34.tar.xz";
+    md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz";
   }
   {
-    name = "poppler-0.73.0.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/poppler-0.73.0.tar.xz";
-    sha256 = "e44b5543903128884ba4538c2a97d3bcc8889e97ffacc4636112101f0238db03";
+    name = "poppler-0.74.0.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/poppler-0.74.0.tar.xz";
+    sha256 = "92e09fd3302567fd36146b36bb707db43ce436e8841219025a82ea9fb0076b2f";
     md5 = "";
-    md5name = "e44b5543903128884ba4538c2a97d3bcc8889e97ffacc4636112101f0238db03-poppler-0.73.0.tar.xz";
+    md5name = "92e09fd3302567fd36146b36bb707db43ce436e8841219025a82ea9fb0076b2f-poppler-0.74.0.tar.xz";
   }
   {
-    name = "postgresql-9.2.1.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2";
-    sha256 = "db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461";
-    md5 = "c0b4799ea9850eae3ead14f0a60e9418";
-    md5name = "c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2";
+    name = "postgresql-9.2.24.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/postgresql-9.2.24.tar.bz2";
+    sha256 = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126";
+    md5 = "";
+    md5name = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126-postgresql-9.2.24.tar.bz2";
   }
   {
-    name = "Python-3.5.5.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/Python-3.5.5.tar.xz";
-    sha256 = "063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009";
+    name = "Python-3.5.7.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/Python-3.5.7.tar.xz";
+    sha256 = "285892899bf4d5737fd08482aa6171c6b2564a45b9102dfacfb72826aebdc7dc";
     md5 = "";
-    md5name = "063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009-Python-3.5.5.tar.xz";
+    md5name = "285892899bf4d5737fd08482aa6171c6b2564a45b9102dfacfb72826aebdc7dc-Python-3.5.7.tar.xz";
   }
   {
-    name = "libqxp-0.0.1.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libqxp-0.0.1.tar.xz";
-    sha256 = "8c257f6184ff94aefa7c9fa1cfae82083d55a49247266905c71c53e013f95c73";
+    name = "libqxp-0.0.2.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libqxp-0.0.2.tar.xz";
+    sha256 = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c";
     md5 = "";
-    md5name = "8c257f6184ff94aefa7c9fa1cfae82083d55a49247266905c71c53e013f95c73-libqxp-0.0.1.tar.xz";
+    md5name = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c-libqxp-0.0.2.tar.xz";
   }
   {
     name = "raptor2-2.0.15.tar.gz";
@@ -812,25 +812,25 @@
     md5name = "fe1002d3671d53c09bc65e47ec948ec7b67e6fb112ed1cd10966e211a8bb50f9-libvisio-0.1.6.tar.xz";
   }
   {
-    name = "libwpd-0.10.2.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libwpd-0.10.2.tar.xz";
-    sha256 = "323f68beaf4f35e5a4d7daffb4703d0566698280109210fa4eaa90dea27d6610";
+    name = "libwpd-0.10.3.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libwpd-0.10.3.tar.xz";
+    sha256 = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09";
     md5 = "";
-    md5name = "323f68beaf4f35e5a4d7daffb4703d0566698280109210fa4eaa90dea27d6610-libwpd-0.10.2.tar.xz";
+    md5name = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09-libwpd-0.10.3.tar.xz";
   }
   {
-    name = "libwpg-0.3.2.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libwpg-0.3.2.tar.xz";
-    sha256 = "57faf1ab97d63d57383ac5d7875e992a3d190436732f4083310c0471e72f8c33";
+    name = "libwpg-0.3.3.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libwpg-0.3.3.tar.xz";
+    sha256 = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c";
     md5 = "";
-    md5name = "57faf1ab97d63d57383ac5d7875e992a3d190436732f4083310c0471e72f8c33-libwpg-0.3.2.tar.xz";
+    md5name = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c-libwpg-0.3.3.tar.xz";
   }
   {
-    name = "libwps-0.4.9.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libwps-0.4.9.tar.xz";
-    sha256 = "13beb0c733bb1544a542b6ab1d9d205f218e9a2202d1d4cac056f79f6db74922";
+    name = "libwps-0.4.10.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libwps-0.4.10.tar.xz";
+    sha256 = "1421e034286a9f96d3168a1c54ea570ee7aa008ca07b89de005ad5ce49fb29ca";
     md5 = "";
-    md5name = "13beb0c733bb1544a542b6ab1d9d205f218e9a2202d1d4cac056f79f6db74922-libwps-0.4.9.tar.xz";
+    md5name = "1421e034286a9f96d3168a1c54ea570ee7aa008ca07b89de005ad5ce49fb29ca-libwps-0.4.10.tar.xz";
   }
   {
     name = "xsltml_2.1.2.zip";
diff --git a/pkgs/applications/office/libreoffice/still-primary-src.nix b/pkgs/applications/office/libreoffice/still-primary-src.nix
index 8049a664e13..07f30a5525d 100644
--- a/pkgs/applications/office/libreoffice/still-primary-src.nix
+++ b/pkgs/applications/office/libreoffice/still-primary-src.nix
@@ -2,8 +2,8 @@
 
 rec {
   major = "6";
-  minor = "1";
-  patch = "5";
+  minor = "2";
+  patch = "6";
   tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
@@ -12,6 +12,6 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1wh8qhqkmb89nmfcb0w6iwpdzxwqr7c5kzxgpk4gy60xin6gwjgb";
+    sha256 = "1nzvdb6yq8bpybz7lrppr237cws6dajk3r9hc9qd0zi55kcddjpq";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index 77109a61fcb..9f04cd83c10 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -2,9 +2,9 @@
 , IOCompress, zlib, libjpeg, expat, freetype, libwpd
 , libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
-, icu, boost, jdk, ant, cups, xorg, libcmis
+, icu, boost, jdk, ant, cups, xorg, libcmis, fontforge
 , openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux
-, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw
+, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, mysql
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
@@ -48,14 +48,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "15fdni68b3kyl6115v0d24cl0dp1hdjhkx571w086lrpz0fk9mfi";
+      sha256 = "1l5v9bb7n9s6i24q4mdyqyp5v4f8iy0a9dmpgw649vngj1zxdxfh";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "0bfjg14bnqlqwjcc3lkax0nfrhpm6nrqn7ycrmf4r3dzn10lgr64";
+      sha256 = "0h4jvdbvxvgy7w2bzf4k4knqbshlr4v2ic2jsaygy52530z9xifz";
     };
 
   };
@@ -67,7 +67,7 @@ in stdenv.mkDerivation rec {
 
   # For some reason librdf_redland sometimes refers to rasqal.h instead
   # of rasqal/rasqal.h
-  NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ] ++ lib.optional stdenv.isx86_64 "-mno-fma";
+  NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ];
 
   patches = [
     ./xdg-open-brief.patch
@@ -134,6 +134,9 @@ in stdenv.mkDerivation rec {
       # https://nabble.documentfoundation.org/libreoffice-5-0-failure-in-CUT-libreofficekit-tiledrendering-td4150319.html
       echo > ./sd/CppunitTest_sd_tiledrendering.mk
       sed -e /CppunitTest_sd_tiledrendering/d -i sd/Module_sd.mk
+      # Pivot chart tests. Fragile.
+      sed -e '/CPPUNIT_TEST(testRoundtrip)/d' -i chart2/qa/extras/PivotChartTest.cxx
+      sed -e '/CPPUNIT_TEST(testPivotTableMedianODS)/d' -i sc/qa/unit/pivottable_filters_test.cxx
       # one more fragile test?
       sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
       # this I actually hate, this should be a data consistency test!
@@ -142,6 +145,8 @@ in stdenv.mkDerivation rec {
       sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
       # tilde expansion in path processing checks the existence of $HOME
       sed -e 's@OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx
+      # fails on systems using ZFS, see https://github.com/NixOS/nixpkgs/issues/19071
+      sed -e '/CPPUNIT_TEST(getSystemPathFromFileURL_005);/d' -i './sal/qa/osl/file/osl_File.cxx'
       # rendering-dependent: on my computer the test table actually doesn't fit…
       # interesting fact: test disabled on macOS by upstream
       sed -re '/DECLARE_WW8EXPORT_TEST[(]testTableKeep, "tdf91083.odt"[)]/,+5d' -i ./sw/qa/extras/ww8export/ww8export.cxx
@@ -153,6 +158,7 @@ in stdenv.mkDerivation rec {
       sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
       sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
       sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
+      sed -e '/CPPUNIT_TEST(testLegacyCellAnchoredRotatedShape)/d' -i sc/qa/unit/filters-test.cxx
       sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
       sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
       sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]tdf105490_negativeMargins,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
@@ -160,6 +166,77 @@ in stdenv.mkDerivation rec {
       sed -z -r -e 's/DECLARE_RTFIMPORT_TEST[(]testTdf108947,[^)]*[)].[{]/& return;/' -i sw/qa/extras/rtfimport/rtfimport.cxx
       # not sure about this fragile test
       sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
+      # bunch of new Fresh failures. Sigh.
+      sed -e '/CPPUNIT_TEST(testDocumentLayout);/d' -i './sd/qa/unit/import-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testErrorBarDataRangeODS);/d' -i './chart2/qa/extras/chart2export.cxx'
+      sed -e '/CPPUNIT_TEST(testLabelStringODS);/d' -i './chart2/qa/extras/chart2export.cxx'
+      sed -e '/CPPUNIT_TEST(testAxisNumberFormatODS);/d' -i './chart2/qa/extras/chart2export.cxx'
+      sed -e '/CPPUNIT_TEST(testBackgroundImage);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testFdo84043);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf97630);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf80020);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf62176);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testEmbeddedPdf);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testEmbeddedText);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf98477);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf50499);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf100926);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testPageWithTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testTextRotation);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf113818);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf119629);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf113822);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf105739);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
+      sed -e '/CPPUNIT_TEST(testPageBitmapWithTransparency);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf115005);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_On);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_Off);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf44774);/d' -i './sd/qa/unit/misc-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf38225);/d' -i './sd/qa/unit/misc-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
+      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests.cxx'
+      sed -e '/CPPUNIT_TEST(testFdo85554);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
+      sed -e '/CPPUNIT_TEST(testEmbeddedDataSource);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
+      sed -e '/CPPUNIT_TEST(testTdf96479);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
+      sed -e '/CPPUNIT_TEST(testInconsistentBookmark);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
+      sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/extras/inc/swmodeltestbase.hxx'
+      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlexport9.cxx"
+      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlencryption.cxx"
+      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/odfexport/odfexport.cxx"
+      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/unowriter/unowriter.cxx"
     ''
     # This to avoid using /lib:/usr/lib at linking
     + ''
@@ -184,7 +261,7 @@ in stdenv.mkDerivation rec {
 
     mkdir -p "$out/share/gsettings-schemas/collected-for-libreoffice/glib-2.0/schemas/"
 
-    for a in sbase scalc sdraw smath swriter simpress soffice unopkg; do
+    for a in sbase scalc sdraw smath swriter simpress soffice; do
       ln -s $out/lib/libreoffice/program/$a $out/bin/$a
     done
 
@@ -236,6 +313,7 @@ in stdenv.mkDerivation rec {
 
     # We do tarball prefetching ourselves
     "--disable-fetch-external"
+    "--enable-build-opensymbol"
 
     # I imagine this helps. Copied from go-oo.
     # Modified on every upgrade, though
@@ -270,24 +348,25 @@ in stdenv.mkDerivation rec {
     make slowcheck
   '';
 
+  nativeBuildInputs = [ wrapGAppsHook gdb fontforge autoconf automake bison pkgconfig libtool ];
+
   buildInputs = with xorg;
-    [ ant ArchiveZip autoconf automake bison boost cairo clucene_core
+    [ ant ArchiveZip boost cairo clucene_core
       IOCompress cppunit cups curl db dbus-glib expat file flex fontconfig
       freetype GConf getopt gnome_vfs gperf gtk3 gtk2
       hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg
       libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
       libXaw libXext libXi libXinerama libxml2 libxslt libXtst
       libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer
-      gst_all_1.gst-plugins-base glib
-      neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
+      gst_all_1.gst-plugins-base glib mysql.connector-c
+      neon nspr nss openldap openssl ORBit2 pam perl poppler
       python3 sablotron sane-backends unzip vigra which zip zlib
-      mdds bluez5 libcmis libwps libabw libzmf libtool
+      mdds bluez5 libcmis libwps libabw libzmf
       libxshmfence libatomic_ops graphite2 harfbuzz gpgme utillinux
       librevenge libe-book libmwaw glm glew ncurses epoxy
       libodfgen CoinMP librdf_rasqal gnome3.adwaita-icon-theme gettext
     ]
     ++ lib.optional kdeIntegration kdelibs4;
-  nativeBuildInputs = [ wrapGAppsHook gdb ];
 
   passthru = {
     inherit srcs jdk;
diff --git a/pkgs/applications/office/mytetra/default.nix b/pkgs/applications/office/mytetra/default.nix
index 324cdd5cc42..dd7f0ace26c 100644
--- a/pkgs/applications/office/mytetra/default.nix
+++ b/pkgs/applications/office/mytetra/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, qmake, qtsvg, makeWrapper, xdg_utils }:
+{ stdenv, mkDerivation, fetchurl, qmake, qtsvg, makeWrapper, xdg_utils }:
 
 let
   version = "1.44.55";
-in stdenv.mkDerivation rec {
+in mkDerivation rec {
   pname = "mytetra";
   inherit version;
   src = fetchurl {
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index 02fbf92acbb..ab32ebc67a7 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, qmake, qttools, qtbase, qtsvg, qtdeclarative, qtxmlpatterns, qtwayland, qtwebsockets }:
+{  mkDerivation, lib, fetchurl, qmake, qttools, qtbase, qtsvg, qtdeclarative, qtxmlpatterns, qtwayland, qtwebsockets, stdenv /* for isLinux */ }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "qownnotes";
-  version = "19.7.3";
+  version = "19.8.6";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
     # Can grab official version like so:
     # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256
-    sha256 = "1d4an3yzr77c6pz5cv1vbsrl2v5r62qdckk3l5y5dcv7jikb1l8l";
+    sha256 = "a242dd15dc484baad39e737fe1af8529411f49a0d74994e6c78cf6bad4b733b6";
   };
 
   nativeBuildInputs = [ qmake qttools ];
   buildInputs = [
     qtbase qtsvg qtdeclarative qtxmlpatterns qtwebsockets
-  ] ++ stdenv.lib.optional stdenv.isLinux qtwayland;
+  ] ++ lib.optional stdenv.isLinux qtwayland;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Plain-text file notepad and todo-list manager with markdown support and ownCloud / Nextcloud integration";
 
     homepage = https://www.qownnotes.org/;
diff --git a/pkgs/applications/office/vnote/default.nix b/pkgs/applications/office/vnote/default.nix
index b02bf505874..fbb8436f44c 100644
--- a/pkgs/applications/office/vnote/default.nix
+++ b/pkgs/applications/office/vnote/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchFromGitHub, qmake, qtbase, qtwebengine, hicolor-icon-theme, makeDesktopItem }:
+{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtwebengine, hicolor-icon-theme }:
 
 let
   description = "A note-taking application that knows programmers and Markdown better";
-in stdenv.mkDerivation rec {
-  version = "2.6";
+in mkDerivation rec {
+  version = "2.7.2";
   pname = "vnote";
 
   src = fetchFromGitHub {
@@ -11,13 +11,13 @@ in stdenv.mkDerivation rec {
     repo = "vnote";
     fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "10lnzzwz7fjj55kbn3j6gdl9yi6a85mdjis586p3zcc4830mlv91";
+    sha256 = "0mk1ingcyznpwq4bfkxa8nx9yx5y3kgsmr4qffriq7bh1cx9dwjy";
   };
 
   nativeBuildInputs = [ qmake ];
   buildInputs = [ qtbase qtwebengine hicolor-icon-theme ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     inherit description;
     homepage = "https://tamlok.github.io/vnote";
     license = licenses.mit;
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 70e5f82694d..5221add8ff6 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -34,11 +34,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "5.0.71";
+  version = "5.0.73";
 
   src = fetchurl {
     url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "070b1ak870jv8h702a9g930p01jsmly93c44igw48ylbgqjyhlwq";
+    sha256 = "0m2i3l0gy22h6c7rk39cd17vyksyz5l5py2fn9pza8lcbypkwf3l";
   };
 
   buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ];
diff --git a/pkgs/applications/radio/fldigi/default.nix b/pkgs/applications/radio/fldigi/default.nix
index b9af3a71233..bc297b791f6 100644
--- a/pkgs/applications/radio/fldigi/default.nix
+++ b/pkgs/applications/radio/fldigi/default.nix
@@ -2,12 +2,12 @@
   libsamplerate, libpulseaudio, libXinerama, gettext, pkgconfig, alsaLib }:
 
 stdenv.mkDerivation rec {
-  version = "4.1.07";
+  version = "4.1.08";
   pname = "fldigi";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1w11d6vbcvi3y7pps3rqb1ss3kxyyzd7nn1jv6fqns1wwsv68j6w";
+    sha256 = "0jbk03w0wfvd9lxh1wdazim9gwxm1lkhc5xzi3h8ag7h9zx58jq0";
   };
 
   buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio
diff --git a/pkgs/applications/radio/wsjtx/default.nix b/pkgs/applications/radio/wsjtx/default.nix
index e802f0d84c4..36d3f14818f 100644
--- a/pkgs/applications/radio/wsjtx/default.nix
+++ b/pkgs/applications/radio/wsjtx/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, asciidoc, asciidoctor, autoconf, automake, cmake,
   docbook_xsl, fftw, fftwFloat, gfortran, libtool, libusb1, qtbase,
-  qtmultimedia, qtserialport, qttools, texinfo }:
+  qtmultimedia, qtserialport, qttools, texinfo, wrapQtAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "wsjtx";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   # Omitting pkgconfig because it causes issues locating the built hamlib
   nativeBuildInputs = [
     asciidoc asciidoctor autoconf automake cmake docbook_xsl gfortran libtool
-    qttools texinfo
+    qttools texinfo wrapQtAppsHook
   ];
   buildInputs = [ fftw fftwFloat libusb1 qtbase qtmultimedia qtserialport ];
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
       These modes were all designed for making reliable, confirmed ham radio
       contacts under extreme weak-signal conditions.
     '';
-    homepage = http://physics.princeton.edu/pulsar/k1jt/wsjtx.html;
+    homepage = "https://physics.princeton.edu/pulsar/k1jt/wsjtx.html";
     # Older licenses are for the statically-linked hamlib
     license = with licenses; [ gpl3Plus gpl2Plus lgpl21Plus ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index 7b95334eec2..2a57febe8f5 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.20.4";
+  version = "2.20.5";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "1z2zpwqhk8i7l9awajdrzxwij0vcmkwq7rajzjil7n65apj2hz9i";
+    sha256 = "107zlvp74ahpn652nfkipp80bbzf3fp812pi1ma42njk4wchah10";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix
index dfb04ccd1de..6dec5b3b11f 100644
--- a/pkgs/applications/science/chemistry/octopus/default.nix
+++ b/pkgs/applications/science/chemistry/octopus/default.nix
@@ -1,28 +1,26 @@
-{ stdenv, fetchurl, symlinkJoin, gfortran, perl, procps
-, libyaml, libxc, fftw, openblas, gsl, netcdf, arpack
+{ stdenv, fetchFromGitLab, symlinkJoin, gfortran, perl, procps
+, libyaml, libxc, fftw, openblas, gsl, netcdf, arpack, autoreconfHook
 }:
 
-let
-  version = "9.0";
-  fftwAll = symlinkJoin { name ="ftw-dev-out"; paths = [ fftw.dev fftw.out ]; };
-
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "octopus";
-  inherit version;
+  version = "9.1";
 
-  src = fetchurl {
-    url = "http://www.tddft.org/programs/octopus/down.php?file=${version}/octopus-${version}.tar.gz";
-    sha256 = "0p1gjykjnzm4m93mgjsmnxd0n2j381jk5kn3a7gkzxanixp60ilm";
+  src = fetchFromGitLab {
+    owner = "octopus-code";
+    repo = "octopus";
+    rev = version;
+    sha256 = "1l5fqgllk7rij16q7a3la7qq6isy8a5n37vk400qcscw1v32s90h";
   };
 
-  nativeBuildInputs = [ perl procps fftw.dev ];
-  buildInputs = [ libyaml gfortran libxc openblas gsl fftw.out netcdf arpack ];
+  nativeBuildInputs = [ perl procps autoreconfHook ];
+  buildInputs = [ libyaml gfortran libxc openblas gsl fftw netcdf arpack ];
 
   configureFlags = [
     "--with-yaml-prefix=${libyaml}"
     "--with-blas=-lopenblas"
     "--with-lapack=-lopenblas"
-    "--with-fftw-prefix=${fftwAll}"
+    "--with-fftw-prefix=${fftw.dev}"
     "--with-gsl-prefix=${gsl}"
     "--with-libxc-prefix=${libxc}"
   ];
diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix
index c91443bf64a..ae9afd95518 100644
--- a/pkgs/applications/science/electronics/pulseview/default.nix
+++ b/pkgs/applications/science/electronics/pulseview/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, cmake, glib, boost, libsigrok
+{ mkDerivation, lib, fetchurl, pkgconfig, cmake, glib, boost, libsigrok
 , libsigrokdecode, libserialport, libzip, udev, libusb1, libftdi1, glibmm
 , pcre, librevisa, python3, qtbase, qtsvg
 }:
 
-stdenv.mkDerivation rec {
-  name = "pulseview-0.4.1";
+mkDerivation rec {
+  pname = "pulseview";
+  version = "0.4.1";
 
   src = fetchurl {
-    url = "https://sigrok.org/download/source/pulseview/${name}.tar.gz";
+    url = "https://sigrok.org/download/source/pulseview/${pname}-${version}.tar.gz";
     sha256 = "0bvgmkgz37n2bi9niskpl05hf7rsj1lj972fbrgnlz25s4ywxrwy";
   };
 
@@ -15,16 +16,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib boost libsigrok libsigrokdecode libserialport libzip udev libusb1 libftdi1 glibmm
-    pcre librevisa python3 qtbase qtsvg
+    pcre librevisa python3
+    qtbase qtsvg
   ];
 
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Qt-based LA/scope/MSO GUI for sigrok (a signal analysis software suite)";
     homepage = https://sigrok.org/;
     license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ bjornfor ];
     platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix
index 064ad204aff..58674a4cacf 100644
--- a/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     description = "Tooling for Yosys-based verification flows";
     homepage    = https://symbiyosys.readthedocs.io/;
     license     = stdenv.lib.licenses.isc;
-    maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
-    platforms   = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice emily ];
+    platforms   = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix
index 82e3136b8f0..509cdeaee61 100644
--- a/pkgs/applications/science/misc/tulip/default.nix
+++ b/pkgs/applications/science/misc/tulip/default.nix
@@ -1,14 +1,14 @@
 { fetchurl, stdenv, libxml2, freetype, libGLU_combined, glew, qt4
 , cmake, makeWrapper, libjpeg, python }:
 
-let version = "5.1.0"; in
+let version = "5.2.1"; in
 stdenv.mkDerivation rec {
   pname = "tulip";
   inherit version;
 
   src = fetchurl {
     url = "mirror://sourceforge/auber/${pname}-${version}_src.tar.gz";
-    sha256 = "1i70y8b39gkpxfalr9844pa3l4bnnyw5y7ngxdqibil96k2b9q9h";
+    sha256 = "0bqmqy6sri87a8xv5xf7ffaq5zin4hiaa13g0l64b84i7yckfwky";
   };
 
   buildInputs = [ libxml2 freetype glew libGLU_combined qt4 libjpeg python ];
diff --git a/pkgs/applications/science/robotics/apmplanner2/default.nix b/pkgs/applications/science/robotics/apmplanner2/default.nix
index 678a2ada6d2..ecbf0c703f1 100644
--- a/pkgs/applications/science/robotics/apmplanner2/default.nix
+++ b/pkgs/applications/science/robotics/apmplanner2/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchFromGitHub, qmake
+{ lib, mkDerivation, fetchFromGitHub, fetchpatch, qmake
 , qtbase, qtscript, qtwebkit, qtserialport, qtsvg, qtdeclarative, qtquickcontrols2
 , alsaLib, libsndfile, flite, openssl, udev, SDL2
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "apmplanner2";
-  # TODO revert Qt511 to Qt5 in pkgs/top-level/all-packages.nix on next release
   version = "2.0.27-rc1";
+
   src = fetchFromGitHub {
     owner = "ArduPilot";
     repo = "apm_planner";
@@ -14,11 +14,19 @@ stdenv.mkDerivation rec {
     sha256 = "1k0786mjzi49nb6yw4chh9l4dmkf9gybpxg9zqkr5yg019nyzcvd";
   };
 
-  qtInputs = [
+  patches = [
+    # can be dropped after 2.0.27-rc1
+    (fetchpatch {
+      url = "https://github.com/ArduPilot/apm_planner/commit/299ff23b5e9910de04edfc06b6893bb06b47a57b.patch";
+      sha256 = "16rc81iwqp2i46g6bm9lbvcjfsk83999r9h8w1pz0mys7rsilvqy";
+    })
+  ];
+
+  buildInputs = [
+    alsaLib libsndfile flite openssl udev SDL2
     qtbase qtscript qtwebkit qtserialport qtsvg qtdeclarative qtquickcontrols2
   ];
 
-  buildInputs = [ alsaLib libsndfile flite openssl udev SDL2 ] ++ qtInputs;
   nativeBuildInputs = [ qmake ];
 
   qmakeFlags = [ "apm_planner.pro" ];
@@ -29,7 +37,7 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/share/applications/apmplanner2.desktop \
                       --replace /usr $out
   '';
-  
+
   enableParallelBuilding = true;
 
   meta = {
@@ -39,7 +47,7 @@ stdenv.mkDerivation rec {
       Includes support for the APM and PX4 based controllers.
     '';
     homepage = http://ardupilot.org/planner2/;
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = [ stdenv.lib.maintainers.wucke13 ];
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ wucke13 ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
index 1eff8420fc3..1bbbbe22d9a 100644
--- a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
       diff-so-fancy builds on the good-lookin' output of git contrib's
       diff-highlight to upgrade your diffs' appearances.
     '';
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz globin ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-dit/default.nix b/pkgs/applications/version-management/git-and-tools/git-dit/default.nix
index 7385905cc9d..90b8b54434b 100644
--- a/pkgs/applications/version-management/git-and-tools/git-dit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-dit/default.nix
@@ -1,6 +1,6 @@
 { stdenv
 , fetchFromGitHub
-, openssl
+, openssl_1_0_2
 , zlib
 , libssh
 , cmake
@@ -35,7 +35,7 @@ buildRustPackage rec {
   ];
 
   buildInputs = [
-    openssl
+    openssl_1_0_2
     libssh
     zlib
   ] ++ stdenv.lib.optionals (stdenv.isDarwin) [
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 9a2e2484d7a..3a4fcc09934 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -319,6 +319,6 @@ stdenv.mkDerivation {
     '';
 
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ peti the-kenny wmertens ];
+    maintainers = with stdenv.lib.maintainers; [ peti the-kenny wmertens globin ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index 8733863196d..f1950923415 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -38,7 +38,7 @@ buildGoPackage rec {
     description = "Command-line wrapper for git that makes you better at GitHub";
     license = licenses.mit;
     homepage = https://hub.github.com/;
-    maintainers = with maintainers; [ the-kenny ];
+    maintainers = with maintainers; [ the-kenny globin ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index 9d4cbf2f74c..59354598d00 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://jonas.github.io/tig/;
     description = "Text-mode interface for git";
-    maintainers = with maintainers; [ bjornfor domenkozar qknight ];
+    maintainers = with maintainers; [ bjornfor domenkozar qknight globin ];
     license = licenses.gpl2;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 7352225c017..00f344597bb 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -8,13 +8,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "0sk877rp6zhch1b9c7zbmk8pnlyqjp4nws2gzq24qvw5f4chlprw";
+    sha256 = "1i7h6scycwzil87fcx1a19w5pl0986g5ax7y030w0wgmrq3zj53a";
     # Required to generate the same checksum on MacOS due to unicode encoding differences
     # More information: https://github.com/NixOS/nixpkgs/pull/48128
     extraPostFetch = ''
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 4f0651a3a76..fa93ff41a4a 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -1,5 +1,5 @@
 { stdenv, libXcomposite, libgnome-keyring, makeWrapper, udev, curl, alsaLib
-, libXfixes, atk, gtk3, libXrender, pango, gnome2, gnome3, cairo, freetype, fontconfig
+, libXfixes, atk, gtk3, libXrender, pango, gnome3, cairo, freetype, fontconfig
 , libX11, libXi, libxcb, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst
 , nss, nspr, cups, fetchurl, expat, gdk-pixbuf, libXdamage, libXrandr, dbus
 , dpkg, makeDesktopItem, openssl, wrapGAppsHook, hicolor-icon-theme, at-spi2-atk, libuuid
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gitkraken";
-  version = "6.1.1";
+  version = "6.1.4";
 
   src = fetchurl {
     url = "https://release.axocdn.com/linux/GitKraken-v${version}.deb";
-    sha256 = "1ks8dscidqzmxy650xda6gvqg04iwidanidlsmgsi8365iqxvb1k";
+    sha256 = "10m6pwdwdxj6x64bc7mrvlvwkgqrd5prh9xx7xhvbz55q6gx4vdr";
   };
 
   libPath = makeLibraryPath [
@@ -51,7 +51,6 @@ stdenv.mkDerivation rec {
     libXfixes
     libXrender
     gtk3
-    gnome2.GConf
     libgnome-keyring
     openssl
     at-spi2-atk
@@ -107,6 +106,6 @@ stdenv.mkDerivation rec {
     description = "The downright luxurious and most popular Git client for Windows, Mac & Linux";
     license = licenses.unfree;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ xnwdd ];
+    maintainers = with maintainers; [ xnwdd evanjs ];
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 840b90b4088..d20236e9f5b 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,30 +1,30 @@
 {
   "ce": {
-    "version": "12.0.3",
-    "repo_hash": "0vrw4f9wczcnd66w2ym3mfnrr1qmjs5jyxhvc6sf93lk2n1d27sk",
-    "deb_hash": "0y1nv0hasphpkxrma43d7ipp2b3wsy08asrwshqc58rw9q7cnbcy",
-    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_12.0.3-ce.0_amd64.deb/download.deb",
+    "version": "12.1.6",
+    "repo_hash": "0zyqxzyb1m8qa94iiyqf5ivqxrg60y378r94fsixy17fbh4y7sa6",
+    "deb_hash": "14bwcmwar44pjnjr6fdn2h9y92vyfva0kb76d4pz8pqc9pfm2hmg",
+    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_12.1.6-ce.0_amd64.deb/download.deb",
     "owner": "gitlab-org",
     "repo": "gitlab-ce",
-    "rev": "v12.0.3",
+    "rev": "v12.1.6",
     "passthru": {
-      "GITALY_SERVER_VERSION": "1.47.0",
-      "GITLAB_PAGES_VERSION": "1.6.1",
+      "GITALY_SERVER_VERSION": "1.53.2",
+      "GITLAB_PAGES_VERSION": "1.7.1",
       "GITLAB_SHELL_VERSION": "9.3.0",
       "GITLAB_WORKHORSE_VERSION": "8.7.0"
     }
   },
   "ee": {
-    "version": "12.0.3",
-    "repo_hash": "1gndyxmr93qrlnbhi75sql49wqnd579yi3aqhx8b477fjac2wd69",
-    "deb_hash": "082n3dsi2jwv4aagzgk1g0mm2csxgg6lpgnc49zfhyz9frdvf9mq",
-    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_12.0.3-ee.0_amd64.deb/download.deb",
+    "version": "12.1.6",
+    "repo_hash": "1lxci1hwcccgw567c5733yl95xsxr4gnw41m48igdw9y8p6g7zbc",
+    "deb_hash": "0yjilhf4bjhl1a596x6n4cvjklfbrwhymslhx977nfjazfb5slx3",
+    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_12.1.6-ee.0_amd64.deb/download.deb",
     "owner": "gitlab-org",
     "repo": "gitlab-ee",
-    "rev": "v12.0.3-ee",
+    "rev": "v12.1.6-ee",
     "passthru": {
-      "GITALY_SERVER_VERSION": "1.47.0",
-      "GITLAB_PAGES_VERSION": "1.6.1",
+      "GITALY_SERVER_VERSION": "1.53.2",
+      "GITLAB_PAGES_VERSION": "1.7.1",
       "GITLAB_SHELL_VERSION": "9.3.0",
       "GITLAB_WORKHORSE_VERSION": "8.7.0"
     }
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index a386d3e6322..20f0937274e 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -76,6 +76,7 @@ stdenv.mkDerivation rec {
     # Work around unpacking deb containing binary with suid bit
     tar -f gitlab-deb-data.tar --delete ./opt/gitlab/embedded/bin/ksu
     tar -xf gitlab-deb-data.tar
+    rm gitlab-deb-data.tar
 
     mv -v opt/gitlab/embedded/service/gitlab-rails/public/assets public
     rm -rf opt # only directory in data.tar.gz
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 1ad7f4c777d..1a6eb99b678 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -7,7 +7,7 @@ gem 'rugged', '~> 0.28'
 gem 'github-linguist', '~> 6.1', require: 'linguist'
 gem 'gitlab-markup', '~> 1.7.0'
 gem 'activesupport', '~> 5.1.7'
-gem 'gitaly-proto', '~> 1.32.0'
+gem 'gitaly-proto', '~> 1.36.0'
 gem 'rdoc', '~> 4.2'
 gem 'gitlab-gollum-lib', '~> 4.2.7.7', require: false
 gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.2', require: false
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index 852b3f332a3..0a86273f7cb 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -49,7 +49,7 @@ GEM
     ffi (1.10.0)
     gemojione (3.3.0)
       json
-    gitaly-proto (1.32.0)
+    gitaly-proto (1.36.0)
       grpc (~> 1.0)
     github-linguist (6.4.1)
       charlock_holmes (~> 0.7.6)
@@ -147,7 +147,7 @@ GEM
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
     rdoc (4.3.0)
-    rouge (3.3.0)
+    rouge (3.5.1)
     rspec (3.8.0)
       rspec-core (~> 3.8.0)
       rspec-expectations (~> 3.8.0)
@@ -217,7 +217,7 @@ DEPENDENCIES
   bundler (>= 1.17.3)
   factory_bot
   faraday (~> 0.12)
-  gitaly-proto (~> 1.32.0)
+  gitaly-proto (~> 1.36.0)
   github-linguist (~> 6.1)
   gitlab-gollum-lib (~> 4.2.7.7)
   gitlab-gollum-rugged_adapter (~> 0.4.4.2)
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 993f0fe6947..873d9f39090 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -17,14 +17,14 @@ let
       };
   };
 in buildGoPackage rec {
-  version = "1.47.0";
+  version = "1.53.2";
   pname = "gitaly";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "1b8gshvwiypwl0f4963l37y7sjrn851marr77fhczx128axrniiw";
+    sha256 = "0x4dhqaxx6n5jlcvf69rglxiz11037ghgcnskks6qnlcbkd85j3d";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitaly";
diff --git a/pkgs/applications/version-management/gitlab/gitaly/deps.nix b/pkgs/applications/version-management/gitlab/gitaly/deps.nix
index 2d38c340d27..5522185783d 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/deps.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/deps.nix
@@ -19,15 +19,6 @@
     };
   }
   {
-    goPackagePath = "github.com/OneOfOne/xxhash";
-    fetch = {
-      type = "git";
-      url = "https://github.com/OneOfOne/xxhash";
-      rev = "v1.2.2";
-      sha256 = "1mjfhrwhvxa48rycjnqpqzm521i38h1hdyz6pdwmhd7xb8j6gwi6";
-    };
-  }
-  {
     goPackagePath = "github.com/alecthomas/template";
     fetch = {
       type = "git";
@@ -64,15 +55,6 @@
     };
   }
   {
-    goPackagePath = "github.com/cespare/xxhash";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cespare/xxhash";
-      rev = "v1.1.0";
-      sha256 = "1qyzlcdcayavfazvi03izx83fvip8h36kis44zr2sg7xf6sx6l4x";
-    };
-  }
-  {
     goPackagePath = "github.com/client9/misspell";
     fetch = {
       type = "git";
@@ -109,15 +91,6 @@
     };
   }
   {
-    goPackagePath = "github.com/dgryski/go-sip13";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dgryski/go-sip13";
-      rev = "e10d5fee7954";
-      sha256 = "15fyibfas209ljz3f7g07kdmfbl3hhyd9n5n7aq5n5p9m5mn41d6";
-    };
-  }
-  {
     goPackagePath = "github.com/fsnotify/fsnotify";
     fetch = {
       type = "git";
@@ -149,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-logfmt/logfmt";
-      rev = "v0.4.0";
-      sha256 = "06smxc112xmixz78nyvk3b2hmc7wasf2sl5vxj1xz62kqcq9lzm9";
+      rev = "v0.3.0";
+      sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9";
     };
   }
   {
@@ -208,6 +181,15 @@
     };
   }
   {
+    goPackagePath = "github.com/google/uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/uuid";
+      rev = "v1.1.1";
+      sha256 = "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb";
+    };
+  }
+  {
     goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware";
     fetch = {
       type = "git";
@@ -235,6 +217,15 @@
     };
   }
   {
+    goPackagePath = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev = "v1.1.6";
+      sha256 = "08caswxvdn7nvaqyj5kyny6ghpygandlbw9vxdj7l5vkp7q0s43r";
+    };
+  }
+  {
     goPackagePath = "github.com/julienschmidt/httprouter";
     fetch = {
       type = "git";
@@ -307,21 +298,30 @@
     };
   }
   {
-    goPackagePath = "github.com/mwitkow/go-conntrack";
+    goPackagePath = "github.com/modern-go/concurrent";
     fetch = {
       type = "git";
-      url = "https://github.com/mwitkow/go-conntrack";
-      rev = "cc309e4a2223";
-      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
+      url = "https://github.com/modern-go/concurrent";
+      rev = "bacd9c7ef1dd";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
     };
   }
   {
-    goPackagePath = "github.com/oklog/ulid";
+    goPackagePath = "github.com/modern-go/reflect2";
     fetch = {
       type = "git";
-      url = "https://github.com/oklog/ulid";
-      rev = "v1.3.1";
-      sha256 = "0hybwyid820n80axrk863k2py93hbqlq6hxhf84ppmz0qd0ys0gq";
+      url = "https://github.com/modern-go/reflect2";
+      rev = "v1.0.1";
+      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
+    };
+  }
+  {
+    goPackagePath = "github.com/mwitkow/go-conntrack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mwitkow/go-conntrack";
+      rev = "cc309e4a2223";
+      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
     };
   }
   {
@@ -383,8 +383,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_golang";
-      rev = "v0.9.3";
-      sha256 = "1608rm1y2p3iv8k2x7wyc6hshvpbfkv2k77hy0x870syms1g3g1p";
+      rev = "v1.0.0";
+      sha256 = "1f03ndyi3jq7zdxinnvzimz3s4z2374r6dikkc8i42xzb6d1bli6";
     };
   }
   {
@@ -401,8 +401,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/common";
-      rev = "v0.4.0";
-      sha256 = "00008pczafy982m59n1j31pnp41f4grbc2c40jccp52xg3m5klmr";
+      rev = "v0.4.1";
+      sha256 = "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s";
     };
   }
   {
@@ -410,17 +410,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev = "5867b95ac084";
-      sha256 = "1rahdk62ajj4zpfb3mgzjqip773la9fb0m87m7s9a0b39l3fmzvr";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/tsdb";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/tsdb";
-      rev = "v0.7.1";
-      sha256 = "1c1da8i5byvhh4fp3vqjfb65aaksjskn3ggb8wg9hcfzjrhgpz04";
+      rev = "v0.0.2";
+      sha256 = "0s7pvs7fgnfpmym3cd0k219av321h9sf3yvdlnn3qy0ps280lg7k";
     };
   }
   {
@@ -433,15 +424,6 @@
     };
   }
   {
-    goPackagePath = "github.com/spaolacci/murmur3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spaolacci/murmur3";
-      rev = "f09979ecbc72";
-      sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25";
-    };
-  }
-  {
     goPackagePath = "github.com/stretchr/objx";
     fetch = {
       type = "git";
@@ -455,8 +437,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "v1.2.2";
-      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
+      rev = "v1.3.0";
+      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
     };
   }
   {
@@ -500,8 +482,8 @@
     fetch = {
       type = "git";
       url = "https://gitlab.com/gitlab-org/gitaly-proto.git";
-      rev = "v1.32.0";
-      sha256 = "16ykk5gv1gxhhg7xfr5ldgzq8vmlzjsn58fs0bmdc4w35lbnwi4v";
+      rev = "v1.36.0";
+      sha256 = "0xma8ys3lf1bdhlkmcis31xs1h1dshcr5796wwfwnzijwk6422m3";
     };
   }
   {
@@ -545,8 +527,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "d8887717615a";
-      sha256 = "1wfm6ngxjyj7v5a2dqib6lw8bb2rdnf1kl48diykxjrsddn0s163";
+      rev = "d28f0bde5980";
+      sha256 = "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf";
     };
   }
   {
diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index 9c9ea4934b8..fd1af22dd78 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -227,10 +227,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0glqy22p0xfaa3kvvrba04pj1dva8wpzlvhka37cvlqq95djcy19";
+      sha256 = "11bkrf2z5ppp55cipawdpinrva42x12grp2gl1dp1jdb35crqick";
       type = "gem";
     };
-    version = "1.32.0";
+    version = "1.36.0";
   };
   github-linguist = {
     dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
@@ -680,12 +680,14 @@
     version = "4.3.0";
   };
   rouge = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql";
+      sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "3.5.1";
   };
   rspec = {
     dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile
index c9a95fb7a36..8bffc2a973d 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'
 
-gem 'rails', '5.1.7'
+gem 'rails', '5.2.3'
 
 # Improves copy-on-write performance for MRI
 gem 'nakayoshi_fork', '~> 0.0.4'
@@ -11,7 +11,7 @@ gem 'responders', '~> 2.0'
 gem 'sprockets', '~> 3.7.0'
 
 # Default values for AR models
-gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
+gem 'default_value_for', '~> 3.2.0'
 
 # Supported DBs
 gem 'mysql2', '~> 0.4.10', group: :mysql
@@ -84,6 +84,7 @@ gem 'rack-cors', '~> 1.0.0', require: 'rack/cors'
 gem 'graphql', '~> 1.8.0'
 gem 'graphiql-rails', '~> 1.4.10'
 gem 'apollo_upload_server', '~> 2.0.0.beta3'
+gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
 
 # Disable strong_params so that Mash does not respond to :permitted?
 gem 'hashie-forbidden_attributes'
@@ -99,7 +100,7 @@ gem 'carrierwave', '~> 1.3'
 gem 'mini_magick'
 
 # for backups
-gem 'fog-aws', '~> 3.3'
+gem 'fog-aws', '~> 3.5'
 # Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
 # Also see config/initializers/fog_core_patch.rb.
 gem 'fog-core', '= 2.1.0'
@@ -129,10 +130,10 @@ gem 'rdoc', '~> 6.0'
 gem 'org-ruby', '~> 0.9.12'
 gem 'creole', '~> 0.5.0'
 gem 'wikicloth', '0.8.1'
-gem 'asciidoctor', '~> 1.5.8'
+gem 'asciidoctor', '~> 2.0.10'
 gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
-gem 'asciidoctor-plantuml', '0.0.8'
-gem 'rouge', '~> 3.1'
+gem 'asciidoctor-plantuml', '0.0.9'
+gem 'rouge', '~> 3.5'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
 gem 'nokogiri', '~> 1.10.3'
@@ -211,7 +212,7 @@ gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
 # HipChat integration
 gem 'hipchat', '~> 1.5.0'
 
-# JIRA integration
+# Jira integration
 gem 'jira-ruby', '~> 1.4'
 
 # Flowdock integration
@@ -300,13 +301,16 @@ gem 'peek-pg', '~> 1.3.0', group: :postgres
 gem 'peek-rblineprof', '~> 0.2.0'
 gem 'peek-redis', '~> 1.2.0'
 
+# Memory benchmarks
+gem 'derailed_benchmarks', require: false
+
 # Metrics
 group :metrics do
   gem 'method_source', '~> 0.8', require: false
   gem 'influxdb', '~> 0.2', require: false
 
   # Prometheus
-  gem 'prometheus-client-mmap', '~> 0.9.4'
+  gem 'prometheus-client-mmap', '~> 0.9.8'
   gem 'raindrops', '~> 0.18'
 end
 
@@ -336,7 +340,7 @@ group :development, :test do
 
   gem 'database_cleaner', '~> 1.7.0'
   gem 'factory_bot_rails', '~> 4.8.2'
-  gem 'rspec-rails', '~> 3.7.0'
+  gem 'rspec-rails', '~> 3.8.0'
   gem 'rspec-retry', '~> 0.6.1'
   gem 'rspec_profiling', '~> 0.0.5'
   gem 'rspec-set', '~> 0.1.3'
@@ -365,6 +369,7 @@ group :development, :test do
   gem 'haml_lint', '~> 0.31.0', require: false
   gem 'simplecov', '~> 0.16.1', require: false
   gem 'bundler-audit', '~> 0.5.0', require: false
+  gem 'mdl', '~> 0.5.0', require: false
 
   gem 'benchmark-ips', '~> 2.3.0', require: false
 
@@ -374,7 +379,6 @@ group :development, :test do
   gem 'activerecord_sane_schema_dumper', '1.0'
 
   gem 'stackprof', '~> 0.2.10', require: false
-  gem 'derailed_benchmarks', require: false
 
   gem 'simple_po_parser', '~> 1.1.2', require: false
 
@@ -417,7 +421,7 @@ gem 'vmstat', '~> 2.3.0'
 gem 'sys-filesystem', '~> 1.1.6'
 
 # SSH host key support
-gem 'net-ssh', '~> 5.0'
+gem 'net-ssh', '~> 5.2'
 gem 'sshkey', '~> 2.0'
 
 # Required for ED25519 SSH host key support
@@ -427,7 +431,7 @@ group :ed25519 do
 end
 
 # Gitaly GRPC client
-gem 'gitaly-proto', '~> 1.32.0', require: 'gitaly'
+gem 'gitaly-proto', '~> 1.37.0', require: 'gitaly'
 
 gem 'grpc', '~> 1.19.0'
 
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock
index 4cebf73f17a..60939ae918c 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock
@@ -6,44 +6,48 @@ GEM
     ace-rails-ap (4.1.2)
     acme-client (2.0.2)
       faraday (~> 0.9, >= 0.9.1)
-    actioncable (5.1.7)
-      actionpack (= 5.1.7)
+    actioncable (5.2.3)
+      actionpack (= 5.2.3)
       nio4r (~> 2.0)
-      websocket-driver (~> 0.6.1)
-    actionmailer (5.1.7)
-      actionpack (= 5.1.7)
-      actionview (= 5.1.7)
-      activejob (= 5.1.7)
+      websocket-driver (>= 0.6.1)
+    actionmailer (5.2.3)
+      actionpack (= 5.2.3)
+      actionview (= 5.2.3)
+      activejob (= 5.2.3)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (5.1.7)
-      actionview (= 5.1.7)
-      activesupport (= 5.1.7)
+    actionpack (5.2.3)
+      actionview (= 5.2.3)
+      activesupport (= 5.2.3)
       rack (~> 2.0)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (5.1.7)
-      activesupport (= 5.1.7)
+    actionview (5.2.3)
+      activesupport (= 5.2.3)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (5.1.7)
-      activesupport (= 5.1.7)
+    activejob (5.2.3)
+      activesupport (= 5.2.3)
       globalid (>= 0.3.6)
-    activemodel (5.1.7)
-      activesupport (= 5.1.7)
-    activerecord (5.1.7)
-      activemodel (= 5.1.7)
-      activesupport (= 5.1.7)
-      arel (~> 8.0)
+    activemodel (5.2.3)
+      activesupport (= 5.2.3)
+    activerecord (5.2.3)
+      activemodel (= 5.2.3)
+      activesupport (= 5.2.3)
+      arel (>= 9.0)
     activerecord-explain-analyze (0.1.0)
       activerecord (>= 4)
       pg
     activerecord_sane_schema_dumper (1.0)
       rails (>= 5, < 6)
-    activesupport (5.1.7)
+    activestorage (5.2.3)
+      actionpack (= 5.2.3)
+      activerecord (= 5.2.3)
+      marcel (~> 0.3.1)
+    activesupport (5.2.3)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
@@ -60,17 +64,17 @@ GEM
     apollo_upload_server (2.0.0.beta.3)
       graphql (>= 1.8)
       rails (>= 4.2)
-    arel (8.0.0)
+    arel (9.0.0)
     asana (0.8.1)
       faraday (~> 0.9)
       faraday_middleware (~> 0.9)
       faraday_middleware-multi_json (~> 0.0)
       oauth2 (~> 1.0)
-    asciidoctor (1.5.8)
+    asciidoctor (2.0.10)
     asciidoctor-include-ext (0.3.1)
       asciidoctor (>= 1.5.6, < 3.0.0)
-    asciidoctor-plantuml (0.0.8)
-      asciidoctor (~> 1.5)
+    asciidoctor-plantuml (0.0.9)
+      asciidoctor (>= 1.5.6, < 3.0.0)
     ast (2.4.0)
     atomic (1.1.99)
     attr_encrypted (3.1.0)
@@ -163,6 +167,8 @@ GEM
       html-pipeline
     declarative (0.0.10)
     declarative-option (0.1.0)
+    default_value_for (3.2.0)
+      activerecord (>= 3.2.0, < 6.0)
     derailed_benchmarks (1.3.5)
       benchmark-ips (~> 2)
       get_process_mem (~> 0)
@@ -214,6 +220,8 @@ GEM
     excon (0.62.0)
     execjs (2.6.0)
     expression_parser (0.9.0)
+    extended-markdown-filter (0.6.0)
+      html-pipeline (~> 2.0)
     factory_bot (4.8.2)
       activesupport (>= 3.0.0)
     factory_bot_rails (4.8.2)
@@ -245,7 +253,7 @@ GEM
       fog-json
       ipaddress (~> 0.8)
       xml-simple (~> 1.1)
-    fog-aws (3.3.0)
+    fog-aws (3.5.2)
       fog-core (~> 2.1)
       fog-json (~> 1.1)
       fog-xml (~> 0.1)
@@ -288,6 +296,7 @@ GEM
     fuubar (2.2.0)
       rspec-core (~> 3.0)
       ruby-progressbar (~> 1.4)
+    gemoji (3.0.1)
     gemojione (3.3.0)
       json
     get_process_mem (0.2.3)
@@ -301,11 +310,9 @@ GEM
       gettext_i18n_rails (>= 0.7.1)
       po_to_json (>= 1.0.0)
       rails (>= 3.2.0)
-    gitaly-proto (1.32.0)
+    gitaly-proto (1.37.0)
       grpc (~> 1.0)
     github-markup (1.7.0)
-    gitlab-default_value_for (3.1.1)
-      activerecord (>= 3.2.0, < 6.0)
     gitlab-labkit (0.3.0)
       actionpack (~> 5)
       activesupport (~> 5)
@@ -370,6 +377,14 @@ GEM
       railties
       sprockets-rails
     graphql (1.8.1)
+    graphql-docs (1.6.0)
+      commonmarker (~> 0.16)
+      escape_utils (~> 1.2)
+      extended-markdown-filter (~> 0.4)
+      gemoji (~> 3.0)
+      graphql (~> 1.6)
+      html-pipeline (~> 2.8)
+      sass (~> 3.4)
     grpc (1.19.0)
       google-protobuf (~> 3.1)
       googleapis-common-protos-types (~> 1.0.0)
@@ -459,6 +474,7 @@ GEM
     kgio (2.11.2)
     knapsack (1.17.0)
       rake
+    kramdown (1.17.0)
     kubeclient (4.2.2)
       http (~> 3.0)
       recursive-open-struct (~> 1.0, >= 1.0.4)
@@ -492,6 +508,12 @@ GEM
     mail (2.7.1)
       mini_mime (>= 0.1.1)
     mail_room (0.9.1)
+    marcel (0.3.3)
+      mimemagic (~> 0.3.2)
+    mdl (0.5.0)
+      kramdown (~> 1.12, >= 1.12.0)
+      mixlib-cli (~> 1.7, >= 1.7.0)
+      mixlib-config (~> 2.2, >= 2.2.1)
     memoist (0.16.0)
     memoizable (0.4.2)
       thread_safe (~> 0.3, >= 0.3.1)
@@ -505,6 +527,9 @@ GEM
     mini_mime (1.0.1)
     mini_portile2 (2.4.0)
     minitest (5.11.3)
+    mixlib-cli (1.7.0)
+    mixlib-config (2.2.18)
+      tomlrb
     msgpack (1.2.10)
     multi_json (1.13.1)
     multi_xml (0.6.0)
@@ -515,7 +540,7 @@ GEM
     mysql2 (0.4.10)
     nakayoshi_fork (0.0.4)
     net-ldap (0.16.0)
-    net-ssh (5.0.1)
+    net-ssh (5.2.0)
     netrc (0.11.0)
     nio4r (2.3.1)
     nokogiri (1.10.3)
@@ -652,7 +677,7 @@ GEM
       parser
       unparser
     procto (0.0.3)
-    prometheus-client-mmap (0.9.4)
+    prometheus-client-mmap (0.9.8)
     pry (0.11.3)
       coderay (~> 1.1.0)
       method_source (~> 0.9.0)
@@ -687,17 +712,18 @@ GEM
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
     rack-timeout (0.5.1)
-    rails (5.1.7)
-      actioncable (= 5.1.7)
-      actionmailer (= 5.1.7)
-      actionpack (= 5.1.7)
-      actionview (= 5.1.7)
-      activejob (= 5.1.7)
-      activemodel (= 5.1.7)
-      activerecord (= 5.1.7)
-      activesupport (= 5.1.7)
+    rails (5.2.3)
+      actioncable (= 5.2.3)
+      actionmailer (= 5.2.3)
+      actionpack (= 5.2.3)
+      actionview (= 5.2.3)
+      activejob (= 5.2.3)
+      activemodel (= 5.2.3)
+      activerecord (= 5.2.3)
+      activestorage (= 5.2.3)
+      activesupport (= 5.2.3)
       bundler (>= 1.3.0)
-      railties (= 5.1.7)
+      railties (= 5.2.3)
       sprockets-rails (>= 2.0.0)
     rails-controller-testing (1.0.2)
       actionpack (~> 5.x, >= 5.0.1)
@@ -711,12 +737,12 @@ GEM
     rails-i18n (5.1.1)
       i18n (>= 0.7, < 2)
       railties (>= 5.0, < 6)
-    railties (5.1.7)
-      actionpack (= 5.1.7)
-      activesupport (= 5.1.7)
+    railties (5.2.3)
+      actionpack (= 5.2.3)
+      activesupport (= 5.2.3)
       method_source
       rake (>= 0.8.7)
-      thor (>= 0.18.1, < 2.0)
+      thor (>= 0.19.0, < 2.0)
     rainbow (3.0.0)
     raindrops (0.19.0)
     rake (12.3.2)
@@ -770,41 +796,41 @@ GEM
     retriable (3.1.2)
     rinku (2.0.0)
     rotp (2.1.2)
-    rouge (3.3.0)
+    rouge (3.5.1)
     rqrcode (0.7.0)
       chunky_png
     rqrcode-rails3 (0.1.7)
       rqrcode (>= 0.4.2)
-    rspec (3.7.0)
-      rspec-core (~> 3.7.0)
-      rspec-expectations (~> 3.7.0)
-      rspec-mocks (~> 3.7.0)
-    rspec-core (3.7.1)
-      rspec-support (~> 3.7.0)
-    rspec-expectations (3.7.0)
+    rspec (3.8.0)
+      rspec-core (~> 3.8.0)
+      rspec-expectations (~> 3.8.0)
+      rspec-mocks (~> 3.8.0)
+    rspec-core (3.8.2)
+      rspec-support (~> 3.8.0)
+    rspec-expectations (3.8.4)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.7.0)
-    rspec-mocks (3.7.0)
+      rspec-support (~> 3.8.0)
+    rspec-mocks (3.8.1)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.7.0)
+      rspec-support (~> 3.8.0)
     rspec-parameterized (0.4.2)
       binding_ninja (>= 0.2.3)
       parser
       proc_to_ast
       rspec (>= 2.13, < 4)
       unparser
-    rspec-rails (3.7.2)
+    rspec-rails (3.8.2)
       actionpack (>= 3.0)
       activesupport (>= 3.0)
       railties (>= 3.0)
-      rspec-core (~> 3.7.0)
-      rspec-expectations (~> 3.7.0)
-      rspec-mocks (~> 3.7.0)
-      rspec-support (~> 3.7.0)
+      rspec-core (~> 3.8.0)
+      rspec-expectations (~> 3.8.0)
+      rspec-mocks (~> 3.8.0)
+      rspec-support (~> 3.8.0)
     rspec-retry (0.6.1)
       rspec-core (> 3.3)
     rspec-set (0.1.3)
-    rspec-support (3.7.1)
+    rspec-support (3.8.2)
     rspec_junit_formatter (0.4.1)
       rspec-core (>= 2, < 4, != 2.12.0)
     rspec_profiling (0.0.5)
@@ -943,6 +969,7 @@ GEM
       parslet (~> 1.8.0)
     toml-rb (1.0.0)
       citrus (~> 3.0, > 3.0)
+    tomlrb (1.2.8)
     truncato (0.7.11)
       htmlentities (~> 4.3.1)
       nokogiri (>= 1.7.0, <= 2.0)
@@ -999,7 +1026,7 @@ GEM
       hashdiff
     webpack-rails (0.9.11)
       railties (>= 3.2.0)
-    websocket-driver (0.6.5)
+    websocket-driver (0.7.0)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.3)
     wikicloth (0.8.1)
@@ -1025,9 +1052,9 @@ DEPENDENCIES
   akismet (~> 2.0)
   apollo_upload_server (~> 2.0.0.beta3)
   asana (~> 0.8.1)
-  asciidoctor (~> 1.5.8)
+  asciidoctor (~> 2.0.10)
   asciidoctor-include-ext (~> 0.3.1)
-  asciidoctor-plantuml (= 0.0.8)
+  asciidoctor-plantuml (= 0.0.9)
   attr_encrypted (~> 3.1.0)
   awesome_print
   babosa (~> 1.0.2)
@@ -1056,6 +1083,7 @@ DEPENDENCIES
   creole (~> 0.5.0)
   database_cleaner (~> 1.7.0)
   deckar01-task_list (= 2.2.0)
+  default_value_for (~> 3.2.0)
   derailed_benchmarks
   device_detector
   devise (~> 4.6)
@@ -1077,7 +1105,7 @@ DEPENDENCIES
   flipper-active_support_cache_store (~> 0.13.0)
   flowdock (~> 0.7)
   fog-aliyun (~> 0.3)
-  fog-aws (~> 3.3)
+  fog-aws (~> 3.5)
   fog-core (= 2.1.0)
   fog-google (~> 1.8)
   fog-local (~> 0.6)
@@ -1091,9 +1119,8 @@ DEPENDENCIES
   gettext (~> 3.2.2)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly-proto (~> 1.32.0)
+  gitaly-proto (~> 1.37.0)
   github-markup (~> 1.7.0)
-  gitlab-default_value_for (~> 3.1.1)
   gitlab-labkit (~> 0.3.0)
   gitlab-markup (~> 1.7.0)
   gitlab-sidekiq-fetcher (~> 0.4.0)
@@ -1109,6 +1136,7 @@ DEPENDENCIES
   grape_logging (~> 1.7)
   graphiql-rails (~> 1.4.10)
   graphql (~> 1.8.0)
+  graphql-docs (~> 1.6.0)
   grpc (~> 1.19.0)
   haml_lint (~> 0.31.0)
   hamlit (~> 2.8.8)
@@ -1134,6 +1162,7 @@ DEPENDENCIES
   lograge (~> 0.5)
   loofah (~> 2.2)
   mail_room (~> 0.9.1)
+  mdl (~> 0.5.0)
   memory_profiler (~> 0.9)
   method_source (~> 0.8)
   mimemagic (~> 0.3.2)
@@ -1142,7 +1171,7 @@ DEPENDENCIES
   mysql2 (~> 0.4.10)
   nakayoshi_fork (~> 0.0.4)
   net-ldap
-  net-ssh (~> 5.0)
+  net-ssh (~> 5.2)
   nokogiri (~> 1.10.3)
   oauth2 (~> 1.4)
   octokit (~> 4.9)
@@ -1173,7 +1202,7 @@ DEPENDENCIES
   peek-redis (~> 1.2.0)
   pg (~> 1.1)
   premailer-rails (~> 1.9.7)
-  prometheus-client-mmap (~> 0.9.4)
+  prometheus-client-mmap (~> 0.9.8)
   pry-byebug (~> 3.5.1)
   pry-rails (~> 0.3.4)
   puma (~> 3.12)
@@ -1184,7 +1213,7 @@ DEPENDENCIES
   rack-oauth2 (~> 1.9.3)
   rack-proxy (~> 0.6.0)
   rack-timeout
-  rails (= 5.1.7)
+  rails (= 5.2.3)
   rails-controller-testing
   rails-i18n (~> 5.1)
   rainbow (~> 3.0)
@@ -1199,10 +1228,10 @@ DEPENDENCIES
   redis-rails (~> 5.0.2)
   request_store (~> 1.3)
   responders (~> 2.0)
-  rouge (~> 3.1)
+  rouge (~> 3.5)
   rqrcode-rails3 (~> 0.1.7)
   rspec-parameterized
-  rspec-rails (~> 3.7.0)
+  rspec-rails (~> 3.8.0)
   rspec-retry (~> 0.6.1)
   rspec-set (~> 0.1.3)
   rspec_junit_formatter
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix
index 9559f4da985..8da7a3262c1 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix
@@ -32,10 +32,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hafk0i6nky7c9m95757y2xxhrilww332d21nf9qn46lxnsa2i63";
+      sha256 = "04wd9rf8sglrqc8jz49apqcxbi51gdj7l1apf5qr4i86iddk6pkm";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
@@ -43,10 +43,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gpv8lv8vk4a36hwdvg2hwbzdcism8hzxxvanmc7ffz8y11y0lzh";
+      sha256 = "15laym06zcm2021qdhlyr6y9jn1marw436i89hcxqg14a8zvyvwa";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -54,10 +54,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zyi3dc50ii2msdkawaf11y4xw645ig57ha2jfnr8lpr8s1nlh52";
+      sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -65,10 +65,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i2j580njb767yhf0k5ih3qqg38ybiah80ai8dsr6kjjw35aj747";
+      sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -76,10 +76,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p55853riiq9irmnm76yi9f8shhg260mrg9dikqb19pwsy8lcjpl";
+      sha256 = "17vizibxbsli5yppgrvmw13wj7a9xy19s5nqxf1k23bbk2s5b87s";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -87,10 +87,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07pw833i6m2i7fjnxgz5jba4dhsl47qx83hfyzl560wmkhyv16vh";
+      sha256 = "0mghh9di8011ara9h1r5a216yzk1vjm9r3p0gdvdi8j1zmkl6k6h";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport" "arel"];
@@ -98,10 +98,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i45zqfci974xrza756pvyrjdc7a6q9py87944z5mh75npvln7ss";
+      sha256 = "0d6036f592803iyvp6bw98p3sg638mia5dbw19lvachx6jgzfvpw";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   activerecord-explain-analyze = {
     dependencies = ["activerecord" "pg"];
@@ -123,16 +123,27 @@
     };
     version = "1.0";
   };
+  activestorage = {
+    dependencies = ["actionpack" "activerecord" "marcel"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04is6ipjqw1f337i8pm8w5bd99rpygqfd0fzzxkr7jd308ggmsjk";
+      type = "gem";
+    };
+    version = "5.2.3";
+  };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
     groups = ["default" "development" "mysql" "postgres" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0znhiy90hdlx66jqhaycin4qrphrymsw68c36a1an7g481zvfv91";
+      sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   acts-as-taggable-on = {
     dependencies = ["activerecord"];
@@ -195,10 +206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nw0qbc6ph625p6n3maqq9f527vz3nbl0hk72fbyka8jzsmplxzl";
+      sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
       type = "gem";
     };
-    version = "8.0.0";
+    version = "9.0.0";
   };
   asana = {
     dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
@@ -210,12 +221,14 @@
     version = "0.8.1";
   };
   asciidoctor = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qld3a1pbcjvs8lbxp95iz83bfmg5scmnf8q3rklinmdmhzakslx";
+      sha256 = "1b2ajs3sabl0s27r7lhwkacw0yn0zfk4jpmidg9l8lzp2qlgjgbz";
       type = "gem";
     };
-    version = "1.5.8";
+    version = "2.0.10";
   };
   asciidoctor-include-ext = {
     dependencies = ["asciidoctor"];
@@ -230,12 +243,14 @@
   };
   asciidoctor-plantuml = {
     dependencies = ["asciidoctor"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x092ldl8p7svczg4lnrnp0h918acnflh7jz5qwv40ksh1fflqna";
+      sha256 = "0lzxj16w7s3w0wnlpg8lfs9v2xxk3x3c1skynqm1sms7rjhnhlnb";
       type = "gem";
     };
-    version = "0.0.8";
+    version = "0.0.9";
   };
   ast = {
     source = {
@@ -706,6 +721,17 @@
     };
     version = "0.1.0";
   };
+  default_value_for = {
+    dependencies = ["activerecord"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xj9d1y2fk3kxfm1kyiwasjpw6r1w7c1xjx26sm3c33xhmz57fla";
+      type = "gem";
+    };
+    version = "3.2.0";
+  };
   derailed_benchmarks = {
     dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "rack" "rake" "thor"];
     groups = ["development" "test"];
@@ -918,6 +944,17 @@
     };
     version = "0.9.0";
   };
+  extended-markdown-filter = {
+    dependencies = ["html-pipeline"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17mi5qayplfaa6p3mfwa36il84ixr0bimqvl0q73lw5i81blp126";
+      type = "gem";
+    };
+    version = "0.6.0";
+  };
   factory_bot = {
     dependencies = ["activesupport"];
     source = {
@@ -1041,12 +1078,14 @@
   };
   fog-aws = {
     dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zprxg0spvkkri1jf40zg3rfr5h2gq6009d7l36lifpvhjn658cs";
+      sha256 = "086kyvdhf1k8nk7f4gmybjc3k0m88f9pw99frddcy1w96pj5kyg4";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "3.5.2";
   };
   fog-core = {
     dependencies = ["builder" "excon" "formatador" "mime-types"];
@@ -1159,6 +1198,16 @@
     };
     version = "2.2.0";
   };
+  gemoji = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vgklpmhdz98xayln5hhqv4ffdyrglzwdixkn5gsk9rj94pkymc0";
+      type = "gem";
+    };
+    version = "3.0.1";
+  };
   gemojione = {
     dependencies = ["json"];
     source = {
@@ -1211,10 +1260,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0glqy22p0xfaa3kvvrba04pj1dva8wpzlvhka37cvlqq95djcy19";
+      sha256 = "1lx2cids0r175agdz3wa25ivi17vxx2kryb2v29gdsrpg3pyyq7j";
       type = "gem";
     };
-    version = "1.32.0";
+    version = "1.37.0";
   };
   github-markup = {
     source = {
@@ -1224,15 +1273,6 @@
     };
     version = "1.7.0";
   };
-  gitlab-default_value_for = {
-    dependencies = ["activerecord"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qqjf7nxmwxnkdlrgbnby8wjckaj2s5yna96avgb7fwm0h90f1sn";
-      type = "gem";
-    };
-    version = "3.1.1";
-  };
   gitlab-labkit = {
     dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"];
     groups = ["default"];
@@ -1408,6 +1448,17 @@
     };
     version = "1.8.1";
   };
+  graphql-docs = {
+    dependencies = ["commonmarker" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline" "sass"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12wzsikbn54b2hcv100hz7isq5gdjm5w5b8xya64ra5sw6sabq8d";
+      type = "gem";
+    };
+    version = "1.6.0";
+  };
   grpc = {
     dependencies = ["google-protobuf" "googleapis-common-protos-types"];
     groups = ["default"];
@@ -1757,6 +1808,16 @@
     };
     version = "1.17.0";
   };
+  kramdown = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
+      type = "gem";
+    };
+    version = "1.17.0";
+  };
   kubeclient = {
     dependencies = ["http" "recursive-open-struct" "rest-client"];
     source = {
@@ -1858,6 +1919,28 @@
     };
     version = "0.9.1";
   };
+  marcel = {
+    dependencies = ["mimemagic"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx";
+      type = "gem";
+    };
+    version = "0.3.3";
+  };
+  mdl = {
+    dependencies = ["kramdown" "mixlib-cli" "mixlib-config"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "047hp8z1ma630wp38bm1giklkf385rp6wly8aidn825q831w2g4i";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
   memoist = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -1952,6 +2035,27 @@
     };
     version = "5.11.3";
   };
+  mixlib-cli = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0647msh7kp7lzyf6m72g6snpirvhimjm22qb8xgv9pdhbcrmcccp";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
+  mixlib-config = {
+    dependencies = ["tomlrb"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gm6yj9cbbgsl9x4xqxga0vz5w0ksq2jnq1wj8hvgm5c4wfcrswb";
+      type = "gem";
+    };
+    version = "2.2.18";
+  };
   msgpack = {
     groups = ["default" "development" "test"];
     platforms = [];
@@ -2028,12 +2132,14 @@
     version = "0.16.0";
   };
   net-ssh = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hj2i8rk5wb6235r5n19in1hkrp1fbz2bf40xmagavb5ahv7205w";
+      sha256 = "101wd2px9lady54aqmkibvy4j62zk32w0rjz4vnigyg974fsga40";
       type = "gem";
     };
-    version = "5.0.1";
+    version = "5.2.0";
   };
   netrc = {
     source = {
@@ -2492,12 +2598,14 @@
     version = "0.0.3";
   };
   prometheus-client-mmap = {
+    groups = ["metrics"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14ww8c2qy43jw3fzmq54hsljmqmlx9a7zg9sv6ddw48qy118ls10";
+      sha256 = "01f1zkpi7qsmgmk17fpq6ck7jn64sa9afsq20vc5k9f6mpyqkncd";
       type = "gem";
     };
-    version = "0.9.4";
+    version = "0.9.8";
   };
   pry = {
     dependencies = ["coderay" "method_source"];
@@ -2656,15 +2764,15 @@
     version = "0.5.1";
   };
   rails = {
-    dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
+    dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xfwfhza6lflywaynyxk8jd9ff1cqj0adrh6qnggkqvd8iy54zwd";
+      sha256 = "1p7cszi3n9ksxchxnccmz61pd1i3rjg4813dsdinsm8xm5k1pdgr";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -2708,10 +2816,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wiyswlln344nd72ynn2hm2s1w9g7cnpdff3fphcya7nhavfnx68";
+      sha256 = "1gn9fwb5wm08fbj7zpilqgblfl315l5b7pg4jsvxlizvrzg8h8q4";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   rainbow = {
     source = {
@@ -2955,12 +3063,14 @@
     version = "2.1.2";
   };
   rouge = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql";
+      sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "3.5.1";
   };
   rqrcode = {
     dependencies = ["chunky_png"];
@@ -2982,39 +3092,47 @@
   };
   rspec = {
     dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0134g96wzxjlig2gxzd240gm2dxfw8izcyi2h6hjmr40syzcyx01";
+      sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3";
       type = "gem";
     };
-    version = "3.7.0";
+    version = "3.8.0";
   };
   rspec-core = {
     dependencies = ["rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zvjbymx3avxm3lf8v4gka3a862vnaxldmwvp6767bpy48nhnvjj";
+      sha256 = "0spjgmd3yx6q28q950r32bi0cs8h2si53zn6rq8s7n1i4zp4zwbf";
       type = "gem";
     };
-    version = "3.7.1";
+    version = "3.8.2";
   };
   rspec-expectations = {
     dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fw06wm8jdj8k7wrb8xmzj0fr1wjyb0ya13x31hidnyblm41hmvy";
+      sha256 = "0x3iddjjaramqb0yb51c79p2qajgi9wb5b59bzv25czddigyk49r";
       type = "gem";
     };
-    version = "3.7.0";
+    version = "3.8.4";
   };
   rspec-mocks = {
     dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b02ya3qhqgmcywqv4570dlhav70r656f7dmvwg89whpkq1z1xr3";
+      sha256 = "12zplnsv4p6wvvxsk8xn6nm87a5qadxlkk497zlxfczd0jfawrni";
       type = "gem";
     };
-    version = "3.7.0";
+    version = "3.8.1";
   };
   rspec-parameterized = {
     dependencies = ["binding_ninja" "parser" "proc_to_ast" "rspec" "unparser"];
@@ -3029,12 +3147,14 @@
   };
   rspec-rails = {
     dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cdcnbv5dppwy3b4jdp5a0wd9m07a8wlqwb9yazn8i7k1k2mwgvx";
+      sha256 = "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1";
       type = "gem";
     };
-    version = "3.7.2";
+    version = "3.8.2";
   };
   rspec-retry = {
     dependencies = ["rspec-core"];
@@ -3056,12 +3176,14 @@
     version = "0.1.3";
   };
   rspec-support = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nl30xb6jmcl0awhqp6jycl01wdssblifwy921phfml70rd9flj1";
+      sha256 = "139mbhfdr10flm2ffryvxkyqgqs1gjdclc1xhyh7i7njfqayxk7g";
       type = "gem";
     };
-    version = "3.7.1";
+    version = "3.8.2";
   };
   rspec_junit_formatter = {
     dependencies = ["rspec-core"];
@@ -3634,6 +3756,16 @@
     };
     version = "1.0.0";
   };
+  tomlrb = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g28ssfal6vry3cmhy509ba3vi5d5aggz1gnffnvvmc8ml8vkpiv";
+      type = "gem";
+    };
+    version = "1.2.8";
+  };
   truncato = {
     dependencies = ["htmlentities" "nokogiri"];
     source = {
@@ -3837,12 +3969,14 @@
   };
   websocket-driver = {
     dependencies = ["websocket-extensions"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1943442yllhldh9dbp374x2q39cxa49xrm28nb78b7mfbv3y195l";
+      sha256 = "1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn";
       type = "gem";
     };
-    version = "0.6.5";
+    version = "0.7.0";
   };
   websocket-extensions = {
     source = {
@@ -3888,4 +4022,4 @@
     };
     version = "3.2.0";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile
index 816f16cba87..62ee2990dfa 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'
 
-gem 'rails', '5.1.7'
+gem 'rails', '5.2.3'
 
 # Improves copy-on-write performance for MRI
 gem 'nakayoshi_fork', '~> 0.0.4'
@@ -11,7 +11,7 @@ gem 'responders', '~> 2.0'
 gem 'sprockets', '~> 3.7.0'
 
 # Default values for AR models
-gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
+gem 'default_value_for', '~> 3.2.0'
 
 # Supported DBs
 gem 'mysql2', '~> 0.4.10', group: :mysql
@@ -87,6 +87,7 @@ gem 'rack-cors', '~> 1.0.0', require: 'rack/cors'
 gem 'graphql', '~> 1.8.0'
 gem 'graphiql-rails', '~> 1.4.10'
 gem 'apollo_upload_server', '~> 2.0.0.beta3'
+gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
 
 # Disable strong_params so that Mash does not respond to :permitted?
 gem 'hashie-forbidden_attributes'
@@ -102,7 +103,7 @@ gem 'carrierwave', '~> 1.3'
 gem 'mini_magick'
 
 # for backups
-gem 'fog-aws', '~> 3.3'
+gem 'fog-aws', '~> 3.5'
 # Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
 # Also see config/initializers/fog_core_patch.rb.
 gem 'fog-core', '= 2.1.0'
@@ -139,10 +140,10 @@ gem 'rdoc', '~> 6.0'
 gem 'org-ruby', '~> 0.9.12'
 gem 'creole', '~> 0.5.0'
 gem 'wikicloth', '0.8.1'
-gem 'asciidoctor', '~> 1.5.8'
+gem 'asciidoctor', '~> 2.0.10'
 gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
-gem 'asciidoctor-plantuml', '0.0.8'
-gem 'rouge', '~> 3.1'
+gem 'asciidoctor-plantuml', '0.0.9'
+gem 'rouge', '~> 3.5'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
 gem 'nokogiri', '~> 1.10.3'
@@ -221,7 +222,7 @@ gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
 # HipChat integration
 gem 'hipchat', '~> 1.5.0'
 
-# JIRA integration
+# Jira integration
 gem 'jira-ruby', '~> 1.4'
 
 # Flowdock integration
@@ -315,13 +316,16 @@ gem 'peek-redis', '~> 1.2.0'
 # Snowplow events tracking
 gem 'snowplow-tracker', '~> 0.6.1'
 
+# Memory benchmarks
+gem 'derailed_benchmarks', require: false
+
 # Metrics
 group :metrics do
   gem 'method_source', '~> 0.8', require: false
   gem 'influxdb', '~> 0.2', require: false
 
   # Prometheus
-  gem 'prometheus-client-mmap', '~> 0.9.4'
+  gem 'prometheus-client-mmap', '~> 0.9.8'
   gem 'raindrops', '~> 0.18'
 end
 
@@ -351,7 +355,7 @@ group :development, :test do
 
   gem 'database_cleaner', '~> 1.7.0'
   gem 'factory_bot_rails', '~> 4.8.2'
-  gem 'rspec-rails', '~> 3.7.0'
+  gem 'rspec-rails', '~> 3.8.0'
   gem 'rspec-retry', '~> 0.6.1'
   gem 'rspec_profiling', '~> 0.0.5'
   gem 'rspec-set', '~> 0.1.3'
@@ -380,6 +384,7 @@ group :development, :test do
   gem 'haml_lint', '~> 0.31.0', require: false
   gem 'simplecov', '~> 0.16.1', require: false
   gem 'bundler-audit', '~> 0.5.0', require: false
+  gem 'mdl', '~> 0.5.0', require: false
 
   gem 'benchmark-ips', '~> 2.3.0', require: false
 
@@ -389,7 +394,6 @@ group :development, :test do
   gem 'activerecord_sane_schema_dumper', '1.0'
 
   gem 'stackprof', '~> 0.2.10', require: false
-  gem 'derailed_benchmarks', require: false
 
   gem 'simple_po_parser', '~> 1.1.2', require: false
 
@@ -435,7 +439,7 @@ gem 'sys-filesystem', '~> 1.1.6'
 gem 'net-ntp'
 
 # SSH host key support
-gem 'net-ssh', '~> 5.0'
+gem 'net-ssh', '~> 5.2'
 gem 'sshkey', '~> 2.0'
 
 # Required for ED25519 SSH host key support
@@ -445,7 +449,7 @@ group :ed25519 do
 end
 
 # Gitaly GRPC client
-gem 'gitaly-proto', '~> 1.32.0', require: 'gitaly'
+gem 'gitaly-proto', '~> 1.37.0', require: 'gitaly'
 
 gem 'grpc', '~> 1.19.0'
 
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock
index cc0f04a4553..0a6d7fe1370 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock
@@ -6,44 +6,48 @@ GEM
     ace-rails-ap (4.1.2)
     acme-client (2.0.2)
       faraday (~> 0.9, >= 0.9.1)
-    actioncable (5.1.7)
-      actionpack (= 5.1.7)
+    actioncable (5.2.3)
+      actionpack (= 5.2.3)
       nio4r (~> 2.0)
-      websocket-driver (~> 0.6.1)
-    actionmailer (5.1.7)
-      actionpack (= 5.1.7)
-      actionview (= 5.1.7)
-      activejob (= 5.1.7)
+      websocket-driver (>= 0.6.1)
+    actionmailer (5.2.3)
+      actionpack (= 5.2.3)
+      actionview (= 5.2.3)
+      activejob (= 5.2.3)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (5.1.7)
-      actionview (= 5.1.7)
-      activesupport (= 5.1.7)
+    actionpack (5.2.3)
+      actionview (= 5.2.3)
+      activesupport (= 5.2.3)
       rack (~> 2.0)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (5.1.7)
-      activesupport (= 5.1.7)
+    actionview (5.2.3)
+      activesupport (= 5.2.3)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (5.1.7)
-      activesupport (= 5.1.7)
+    activejob (5.2.3)
+      activesupport (= 5.2.3)
       globalid (>= 0.3.6)
-    activemodel (5.1.7)
-      activesupport (= 5.1.7)
-    activerecord (5.1.7)
-      activemodel (= 5.1.7)
-      activesupport (= 5.1.7)
-      arel (~> 8.0)
+    activemodel (5.2.3)
+      activesupport (= 5.2.3)
+    activerecord (5.2.3)
+      activemodel (= 5.2.3)
+      activesupport (= 5.2.3)
+      arel (>= 9.0)
     activerecord-explain-analyze (0.1.0)
       activerecord (>= 4)
       pg
     activerecord_sane_schema_dumper (1.0)
       rails (>= 5, < 6)
-    activesupport (5.1.7)
+    activestorage (5.2.3)
+      actionpack (= 5.2.3)
+      activerecord (= 5.2.3)
+      marcel (~> 0.3.1)
+    activesupport (5.2.3)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
@@ -60,17 +64,17 @@ GEM
     apollo_upload_server (2.0.0.beta.3)
       graphql (>= 1.8)
       rails (>= 4.2)
-    arel (8.0.0)
+    arel (9.0.0)
     asana (0.8.1)
       faraday (~> 0.9)
       faraday_middleware (~> 0.9)
       faraday_middleware-multi_json (~> 0.0)
       oauth2 (~> 1.0)
-    asciidoctor (1.5.8)
+    asciidoctor (2.0.10)
     asciidoctor-include-ext (0.3.1)
       asciidoctor (>= 1.5.6, < 3.0.0)
-    asciidoctor-plantuml (0.0.8)
-      asciidoctor (~> 1.5)
+    asciidoctor-plantuml (0.0.9)
+      asciidoctor (>= 1.5.6, < 3.0.0)
     ast (2.4.0)
     atomic (1.1.99)
     attr_encrypted (3.1.0)
@@ -172,6 +176,8 @@ GEM
       html-pipeline
     declarative (0.0.10)
     declarative-option (0.1.0)
+    default_value_for (3.2.0)
+      activerecord (>= 3.2.0, < 6.0)
     derailed_benchmarks (1.3.5)
       benchmark-ips (~> 2)
       get_process_mem (~> 0)
@@ -236,6 +242,8 @@ GEM
     excon (0.62.0)
     execjs (2.6.0)
     expression_parser (0.9.0)
+    extended-markdown-filter (0.6.0)
+      html-pipeline (~> 2.0)
     factory_bot (4.8.2)
       activesupport (>= 3.0.0)
     factory_bot_rails (4.8.2)
@@ -270,7 +278,7 @@ GEM
       fog-json
       ipaddress (~> 0.8)
       xml-simple (~> 1.1)
-    fog-aws (3.3.0)
+    fog-aws (3.5.2)
       fog-core (~> 2.1)
       fog-json (~> 1.1)
       fog-xml (~> 0.1)
@@ -313,6 +321,7 @@ GEM
     fuubar (2.2.0)
       rspec-core (~> 3.0)
       ruby-progressbar (~> 1.4)
+    gemoji (3.0.1)
     gemojione (3.3.0)
       json
     get_process_mem (0.2.3)
@@ -326,11 +335,9 @@ GEM
       gettext_i18n_rails (>= 0.7.1)
       po_to_json (>= 1.0.0)
       rails (>= 3.2.0)
-    gitaly-proto (1.32.0)
+    gitaly-proto (1.37.0)
       grpc (~> 1.0)
     github-markup (1.7.0)
-    gitlab-default_value_for (3.1.1)
-      activerecord (>= 3.2.0, < 6.0)
     gitlab-labkit (0.3.0)
       actionpack (~> 5)
       activesupport (~> 5)
@@ -396,6 +403,14 @@ GEM
       railties
       sprockets-rails
     graphql (1.8.1)
+    graphql-docs (1.6.0)
+      commonmarker (~> 0.16)
+      escape_utils (~> 1.2)
+      extended-markdown-filter (~> 0.4)
+      gemoji (~> 3.0)
+      graphql (~> 1.6)
+      html-pipeline (~> 2.8)
+      sass (~> 3.4)
     grpc (1.19.0)
       google-protobuf (~> 3.1)
       googleapis-common-protos-types (~> 1.0.0)
@@ -488,6 +503,7 @@ GEM
     kgio (2.11.2)
     knapsack (1.17.0)
       rake
+    kramdown (1.17.0)
     kubeclient (4.2.2)
       http (~> 3.0)
       recursive-open-struct (~> 1.0, >= 1.0.4)
@@ -521,6 +537,12 @@ GEM
     mail (2.7.1)
       mini_mime (>= 0.1.1)
     mail_room (0.9.1)
+    marcel (0.3.3)
+      mimemagic (~> 0.3.2)
+    mdl (0.5.0)
+      kramdown (~> 1.12, >= 1.12.0)
+      mixlib-cli (~> 1.7, >= 1.7.0)
+      mixlib-config (~> 2.2, >= 2.2.1)
     memoist (0.16.0)
     memoizable (0.4.2)
       thread_safe (~> 0.3, >= 0.3.1)
@@ -534,6 +556,9 @@ GEM
     mini_mime (1.0.1)
     mini_portile2 (2.4.0)
     minitest (5.11.3)
+    mixlib-cli (1.7.0)
+    mixlib-config (2.2.18)
+      tomlrb
     msgpack (1.2.10)
     multi_json (1.13.1)
     multi_xml (0.6.0)
@@ -546,7 +571,7 @@ GEM
     net-dns (0.9.0)
     net-ldap (0.16.0)
     net-ntp (2.1.3)
-    net-ssh (5.0.1)
+    net-ssh (5.2.0)
     netrc (0.11.0)
     nio4r (2.3.1)
     nokogiri (1.10.3)
@@ -683,7 +708,7 @@ GEM
       parser
       unparser
     procto (0.0.3)
-    prometheus-client-mmap (0.9.4)
+    prometheus-client-mmap (0.9.8)
     pry (0.11.3)
       coderay (~> 1.1.0)
       method_source (~> 0.9.0)
@@ -718,17 +743,18 @@ GEM
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
     rack-timeout (0.5.1)
-    rails (5.1.7)
-      actioncable (= 5.1.7)
-      actionmailer (= 5.1.7)
-      actionpack (= 5.1.7)
-      actionview (= 5.1.7)
-      activejob (= 5.1.7)
-      activemodel (= 5.1.7)
-      activerecord (= 5.1.7)
-      activesupport (= 5.1.7)
+    rails (5.2.3)
+      actioncable (= 5.2.3)
+      actionmailer (= 5.2.3)
+      actionpack (= 5.2.3)
+      actionview (= 5.2.3)
+      activejob (= 5.2.3)
+      activemodel (= 5.2.3)
+      activerecord (= 5.2.3)
+      activestorage (= 5.2.3)
+      activesupport (= 5.2.3)
       bundler (>= 1.3.0)
-      railties (= 5.1.7)
+      railties (= 5.2.3)
       sprockets-rails (>= 2.0.0)
     rails-controller-testing (1.0.2)
       actionpack (~> 5.x, >= 5.0.1)
@@ -742,12 +768,12 @@ GEM
     rails-i18n (5.1.1)
       i18n (>= 0.7, < 2)
       railties (>= 5.0, < 6)
-    railties (5.1.7)
-      actionpack (= 5.1.7)
-      activesupport (= 5.1.7)
+    railties (5.2.3)
+      actionpack (= 5.2.3)
+      activesupport (= 5.2.3)
       method_source
       rake (>= 0.8.7)
-      thor (>= 0.18.1, < 2.0)
+      thor (>= 0.19.0, < 2.0)
     rainbow (3.0.0)
     raindrops (0.19.0)
     rake (12.3.2)
@@ -801,41 +827,41 @@ GEM
     retriable (3.1.2)
     rinku (2.0.0)
     rotp (2.1.2)
-    rouge (3.3.0)
+    rouge (3.5.1)
     rqrcode (0.7.0)
       chunky_png
     rqrcode-rails3 (0.1.7)
       rqrcode (>= 0.4.2)
-    rspec (3.7.0)
-      rspec-core (~> 3.7.0)
-      rspec-expectations (~> 3.7.0)
-      rspec-mocks (~> 3.7.0)
-    rspec-core (3.7.1)
-      rspec-support (~> 3.7.0)
-    rspec-expectations (3.7.0)
+    rspec (3.8.0)
+      rspec-core (~> 3.8.0)
+      rspec-expectations (~> 3.8.0)
+      rspec-mocks (~> 3.8.0)
+    rspec-core (3.8.2)
+      rspec-support (~> 3.8.0)
+    rspec-expectations (3.8.4)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.7.0)
-    rspec-mocks (3.7.0)
+      rspec-support (~> 3.8.0)
+    rspec-mocks (3.8.1)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.7.0)
+      rspec-support (~> 3.8.0)
     rspec-parameterized (0.4.2)
       binding_ninja (>= 0.2.3)
       parser
       proc_to_ast
       rspec (>= 2.13, < 4)
       unparser
-    rspec-rails (3.7.2)
+    rspec-rails (3.8.2)
       actionpack (>= 3.0)
       activesupport (>= 3.0)
       railties (>= 3.0)
-      rspec-core (~> 3.7.0)
-      rspec-expectations (~> 3.7.0)
-      rspec-mocks (~> 3.7.0)
-      rspec-support (~> 3.7.0)
+      rspec-core (~> 3.8.0)
+      rspec-expectations (~> 3.8.0)
+      rspec-mocks (~> 3.8.0)
+      rspec-support (~> 3.8.0)
     rspec-retry (0.6.1)
       rspec-core (> 3.3)
     rspec-set (0.1.3)
-    rspec-support (3.7.1)
+    rspec-support (3.8.2)
     rspec_junit_formatter (0.4.1)
       rspec-core (>= 2, < 4, != 2.12.0)
     rspec_profiling (0.0.5)
@@ -976,6 +1002,7 @@ GEM
       parslet (~> 1.8.0)
     toml-rb (1.0.0)
       citrus (~> 3.0, > 3.0)
+    tomlrb (1.2.8)
     truncato (0.7.11)
       htmlentities (~> 4.3.1)
       nokogiri (>= 1.7.0, <= 2.0)
@@ -1032,7 +1059,7 @@ GEM
       hashdiff
     webpack-rails (0.9.11)
       railties (>= 3.2.0)
-    websocket-driver (0.6.5)
+    websocket-driver (0.7.0)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.3)
     wikicloth (0.8.1)
@@ -1058,9 +1085,9 @@ DEPENDENCIES
   akismet (~> 2.0)
   apollo_upload_server (~> 2.0.0.beta3)
   asana (~> 0.8.1)
-  asciidoctor (~> 1.5.8)
+  asciidoctor (~> 2.0.10)
   asciidoctor-include-ext (~> 0.3.1)
-  asciidoctor-plantuml (= 0.0.8)
+  asciidoctor-plantuml (= 0.0.9)
   attr_encrypted (~> 3.1.0)
   awesome_print
   aws-sdk
@@ -1090,6 +1117,7 @@ DEPENDENCIES
   creole (~> 0.5.0)
   database_cleaner (~> 1.7.0)
   deckar01-task_list (= 2.2.0)
+  default_value_for (~> 3.2.0)
   derailed_benchmarks
   device_detector
   devise (~> 4.6)
@@ -1115,7 +1143,7 @@ DEPENDENCIES
   flipper-active_support_cache_store (~> 0.13.0)
   flowdock (~> 0.7)
   fog-aliyun (~> 0.3)
-  fog-aws (~> 3.3)
+  fog-aws (~> 3.5)
   fog-core (= 2.1.0)
   fog-google (~> 1.8)
   fog-local (~> 0.6)
@@ -1129,9 +1157,8 @@ DEPENDENCIES
   gettext (~> 3.2.2)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly-proto (~> 1.32.0)
+  gitaly-proto (~> 1.37.0)
   github-markup (~> 1.7.0)
-  gitlab-default_value_for (~> 3.1.1)
   gitlab-labkit (~> 0.3.0)
   gitlab-license (~> 1.0)
   gitlab-markup (~> 1.7.0)
@@ -1148,6 +1175,7 @@ DEPENDENCIES
   grape_logging (~> 1.7)
   graphiql-rails (~> 1.4.10)
   graphql (~> 1.8.0)
+  graphql-docs (~> 1.6.0)
   grpc (~> 1.19.0)
   gssapi
   haml_lint (~> 0.31.0)
@@ -1174,6 +1202,7 @@ DEPENDENCIES
   lograge (~> 0.5)
   loofah (~> 2.2)
   mail_room (~> 0.9.1)
+  mdl (~> 0.5.0)
   memory_profiler (~> 0.9)
   method_source (~> 0.8)
   mimemagic (~> 0.3.2)
@@ -1184,7 +1213,7 @@ DEPENDENCIES
   net-dns (~> 0.9.0)
   net-ldap
   net-ntp
-  net-ssh (~> 5.0)
+  net-ssh (~> 5.2)
   nokogiri (~> 1.10.3)
   oauth2 (~> 1.4)
   octokit (~> 4.9)
@@ -1215,7 +1244,7 @@ DEPENDENCIES
   peek-redis (~> 1.2.0)
   pg (~> 1.1)
   premailer-rails (~> 1.9.7)
-  prometheus-client-mmap (~> 0.9.4)
+  prometheus-client-mmap (~> 0.9.8)
   pry-byebug (~> 3.5.1)
   pry-rails (~> 0.3.4)
   puma (~> 3.12)
@@ -1226,7 +1255,7 @@ DEPENDENCIES
   rack-oauth2 (~> 1.9.3)
   rack-proxy (~> 0.6.0)
   rack-timeout
-  rails (= 5.1.7)
+  rails (= 5.2.3)
   rails-controller-testing
   rails-i18n (~> 5.1)
   rainbow (~> 3.0)
@@ -1241,10 +1270,10 @@ DEPENDENCIES
   redis-rails (~> 5.0.2)
   request_store (~> 1.3)
   responders (~> 2.0)
-  rouge (~> 3.1)
+  rouge (~> 3.5)
   rqrcode-rails3 (~> 0.1.7)
   rspec-parameterized
-  rspec-rails (~> 3.7.0)
+  rspec-rails (~> 3.8.0)
   rspec-retry (~> 0.6.1)
   rspec-set (~> 0.1.3)
   rspec_junit_formatter
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix
index b93f6d75e89..8050743ab25 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix
@@ -32,10 +32,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hafk0i6nky7c9m95757y2xxhrilww332d21nf9qn46lxnsa2i63";
+      sha256 = "04wd9rf8sglrqc8jz49apqcxbi51gdj7l1apf5qr4i86iddk6pkm";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
@@ -43,10 +43,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gpv8lv8vk4a36hwdvg2hwbzdcism8hzxxvanmc7ffz8y11y0lzh";
+      sha256 = "15laym06zcm2021qdhlyr6y9jn1marw436i89hcxqg14a8zvyvwa";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -54,10 +54,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zyi3dc50ii2msdkawaf11y4xw645ig57ha2jfnr8lpr8s1nlh52";
+      sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -65,10 +65,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i2j580njb767yhf0k5ih3qqg38ybiah80ai8dsr6kjjw35aj747";
+      sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -76,10 +76,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p55853riiq9irmnm76yi9f8shhg260mrg9dikqb19pwsy8lcjpl";
+      sha256 = "17vizibxbsli5yppgrvmw13wj7a9xy19s5nqxf1k23bbk2s5b87s";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -87,10 +87,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07pw833i6m2i7fjnxgz5jba4dhsl47qx83hfyzl560wmkhyv16vh";
+      sha256 = "0mghh9di8011ara9h1r5a216yzk1vjm9r3p0gdvdi8j1zmkl6k6h";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport" "arel"];
@@ -98,10 +98,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i45zqfci974xrza756pvyrjdc7a6q9py87944z5mh75npvln7ss";
+      sha256 = "0d6036f592803iyvp6bw98p3sg638mia5dbw19lvachx6jgzfvpw";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   activerecord-explain-analyze = {
     dependencies = ["activerecord" "pg"];
@@ -123,16 +123,27 @@
     };
     version = "1.0";
   };
+  activestorage = {
+    dependencies = ["actionpack" "activerecord" "marcel"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04is6ipjqw1f337i8pm8w5bd99rpygqfd0fzzxkr7jd308ggmsjk";
+      type = "gem";
+    };
+    version = "5.2.3";
+  };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
     groups = ["default" "development" "mysql" "postgres" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0znhiy90hdlx66jqhaycin4qrphrymsw68c36a1an7g481zvfv91";
+      sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   acts-as-taggable-on = {
     dependencies = ["activerecord"];
@@ -195,10 +206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nw0qbc6ph625p6n3maqq9f527vz3nbl0hk72fbyka8jzsmplxzl";
+      sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
       type = "gem";
     };
-    version = "8.0.0";
+    version = "9.0.0";
   };
   asana = {
     dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
@@ -210,12 +221,14 @@
     version = "0.8.1";
   };
   asciidoctor = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qld3a1pbcjvs8lbxp95iz83bfmg5scmnf8q3rklinmdmhzakslx";
+      sha256 = "1b2ajs3sabl0s27r7lhwkacw0yn0zfk4jpmidg9l8lzp2qlgjgbz";
       type = "gem";
     };
-    version = "1.5.8";
+    version = "2.0.10";
   };
   asciidoctor-include-ext = {
     dependencies = ["asciidoctor"];
@@ -230,12 +243,14 @@
   };
   asciidoctor-plantuml = {
     dependencies = ["asciidoctor"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x092ldl8p7svczg4lnrnp0h918acnflh7jz5qwv40ksh1fflqna";
+      sha256 = "0lzxj16w7s3w0wnlpg8lfs9v2xxk3x3c1skynqm1sms7rjhnhlnb";
       type = "gem";
     };
-    version = "0.0.8";
+    version = "0.0.9";
   };
   ast = {
     source = {
@@ -751,6 +766,17 @@
     };
     version = "0.1.0";
   };
+  default_value_for = {
+    dependencies = ["activerecord"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xj9d1y2fk3kxfm1kyiwasjpw6r1w7c1xjx26sm3c33xhmz57fla";
+      type = "gem";
+    };
+    version = "3.2.0";
+  };
   derailed_benchmarks = {
     dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "rack" "rake" "thor"];
     groups = ["development" "test"];
@@ -1007,6 +1033,17 @@
     };
     version = "0.9.0";
   };
+  extended-markdown-filter = {
+    dependencies = ["html-pipeline"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17mi5qayplfaa6p3mfwa36il84ixr0bimqvl0q73lw5i81blp126";
+      type = "gem";
+    };
+    version = "0.6.0";
+  };
   factory_bot = {
     dependencies = ["activesupport"];
     source = {
@@ -1139,12 +1176,14 @@
   };
   fog-aws = {
     dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zprxg0spvkkri1jf40zg3rfr5h2gq6009d7l36lifpvhjn658cs";
+      sha256 = "086kyvdhf1k8nk7f4gmybjc3k0m88f9pw99frddcy1w96pj5kyg4";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "3.5.2";
   };
   fog-core = {
     dependencies = ["builder" "excon" "formatador" "mime-types"];
@@ -1257,6 +1296,16 @@
     };
     version = "2.2.0";
   };
+  gemoji = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vgklpmhdz98xayln5hhqv4ffdyrglzwdixkn5gsk9rj94pkymc0";
+      type = "gem";
+    };
+    version = "3.0.1";
+  };
   gemojione = {
     dependencies = ["json"];
     source = {
@@ -1309,10 +1358,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0glqy22p0xfaa3kvvrba04pj1dva8wpzlvhka37cvlqq95djcy19";
+      sha256 = "1lx2cids0r175agdz3wa25ivi17vxx2kryb2v29gdsrpg3pyyq7j";
       type = "gem";
     };
-    version = "1.32.0";
+    version = "1.37.0";
   };
   github-markup = {
     source = {
@@ -1322,15 +1371,6 @@
     };
     version = "1.7.0";
   };
-  gitlab-default_value_for = {
-    dependencies = ["activerecord"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qqjf7nxmwxnkdlrgbnby8wjckaj2s5yna96avgb7fwm0h90f1sn";
-      type = "gem";
-    };
-    version = "3.1.1";
-  };
   gitlab-labkit = {
     dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"];
     groups = ["default"];
@@ -1514,6 +1554,17 @@
     };
     version = "1.8.1";
   };
+  graphql-docs = {
+    dependencies = ["commonmarker" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline" "sass"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12wzsikbn54b2hcv100hz7isq5gdjm5w5b8xya64ra5sw6sabq8d";
+      type = "gem";
+    };
+    version = "1.6.0";
+  };
   grpc = {
     dependencies = ["google-protobuf" "googleapis-common-protos-types"];
     groups = ["default"];
@@ -1880,6 +1931,16 @@
     };
     version = "1.17.0";
   };
+  kramdown = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
+      type = "gem";
+    };
+    version = "1.17.0";
+  };
   kubeclient = {
     dependencies = ["http" "recursive-open-struct" "rest-client"];
     source = {
@@ -1981,6 +2042,28 @@
     };
     version = "0.9.1";
   };
+  marcel = {
+    dependencies = ["mimemagic"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx";
+      type = "gem";
+    };
+    version = "0.3.3";
+  };
+  mdl = {
+    dependencies = ["kramdown" "mixlib-cli" "mixlib-config"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "047hp8z1ma630wp38bm1giklkf385rp6wly8aidn825q831w2g4i";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
   memoist = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -2075,6 +2158,27 @@
     };
     version = "5.11.3";
   };
+  mixlib-cli = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0647msh7kp7lzyf6m72g6snpirvhimjm22qb8xgv9pdhbcrmcccp";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
+  mixlib-config = {
+    dependencies = ["tomlrb"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gm6yj9cbbgsl9x4xqxga0vz5w0ksq2jnq1wj8hvgm5c4wfcrswb";
+      type = "gem";
+    };
+    version = "2.2.18";
+  };
   msgpack = {
     groups = ["default" "development" "test"];
     platforms = [];
@@ -2167,12 +2271,14 @@
     version = "2.1.3";
   };
   net-ssh = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hj2i8rk5wb6235r5n19in1hkrp1fbz2bf40xmagavb5ahv7205w";
+      sha256 = "101wd2px9lady54aqmkibvy4j62zk32w0rjz4vnigyg974fsga40";
       type = "gem";
     };
-    version = "5.0.1";
+    version = "5.2.0";
   };
   netrc = {
     source = {
@@ -2631,12 +2737,14 @@
     version = "0.0.3";
   };
   prometheus-client-mmap = {
+    groups = ["metrics"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14ww8c2qy43jw3fzmq54hsljmqmlx9a7zg9sv6ddw48qy118ls10";
+      sha256 = "01f1zkpi7qsmgmk17fpq6ck7jn64sa9afsq20vc5k9f6mpyqkncd";
       type = "gem";
     };
-    version = "0.9.4";
+    version = "0.9.8";
   };
   pry = {
     dependencies = ["coderay" "method_source"];
@@ -2795,15 +2903,15 @@
     version = "0.5.1";
   };
   rails = {
-    dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
+    dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xfwfhza6lflywaynyxk8jd9ff1cqj0adrh6qnggkqvd8iy54zwd";
+      sha256 = "1p7cszi3n9ksxchxnccmz61pd1i3rjg4813dsdinsm8xm5k1pdgr";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -2847,10 +2955,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wiyswlln344nd72ynn2hm2s1w9g7cnpdff3fphcya7nhavfnx68";
+      sha256 = "1gn9fwb5wm08fbj7zpilqgblfl315l5b7pg4jsvxlizvrzg8h8q4";
       type = "gem";
     };
-    version = "5.1.7";
+    version = "5.2.3";
   };
   rainbow = {
     source = {
@@ -3094,12 +3202,14 @@
     version = "2.1.2";
   };
   rouge = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql";
+      sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "3.5.1";
   };
   rqrcode = {
     dependencies = ["chunky_png"];
@@ -3121,39 +3231,47 @@
   };
   rspec = {
     dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0134g96wzxjlig2gxzd240gm2dxfw8izcyi2h6hjmr40syzcyx01";
+      sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3";
       type = "gem";
     };
-    version = "3.7.0";
+    version = "3.8.0";
   };
   rspec-core = {
     dependencies = ["rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zvjbymx3avxm3lf8v4gka3a862vnaxldmwvp6767bpy48nhnvjj";
+      sha256 = "0spjgmd3yx6q28q950r32bi0cs8h2si53zn6rq8s7n1i4zp4zwbf";
       type = "gem";
     };
-    version = "3.7.1";
+    version = "3.8.2";
   };
   rspec-expectations = {
     dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fw06wm8jdj8k7wrb8xmzj0fr1wjyb0ya13x31hidnyblm41hmvy";
+      sha256 = "0x3iddjjaramqb0yb51c79p2qajgi9wb5b59bzv25czddigyk49r";
       type = "gem";
     };
-    version = "3.7.0";
+    version = "3.8.4";
   };
   rspec-mocks = {
     dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b02ya3qhqgmcywqv4570dlhav70r656f7dmvwg89whpkq1z1xr3";
+      sha256 = "12zplnsv4p6wvvxsk8xn6nm87a5qadxlkk497zlxfczd0jfawrni";
       type = "gem";
     };
-    version = "3.7.0";
+    version = "3.8.1";
   };
   rspec-parameterized = {
     dependencies = ["binding_ninja" "parser" "proc_to_ast" "rspec" "unparser"];
@@ -3168,12 +3286,14 @@
   };
   rspec-rails = {
     dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
+    groups = ["development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cdcnbv5dppwy3b4jdp5a0wd9m07a8wlqwb9yazn8i7k1k2mwgvx";
+      sha256 = "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1";
       type = "gem";
     };
-    version = "3.7.2";
+    version = "3.8.2";
   };
   rspec-retry = {
     dependencies = ["rspec-core"];
@@ -3195,12 +3315,14 @@
     version = "0.1.3";
   };
   rspec-support = {
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nl30xb6jmcl0awhqp6jycl01wdssblifwy921phfml70rd9flj1";
+      sha256 = "139mbhfdr10flm2ffryvxkyqgqs1gjdclc1xhyh7i7njfqayxk7g";
       type = "gem";
     };
-    version = "3.7.1";
+    version = "3.8.2";
   };
   rspec_junit_formatter = {
     dependencies = ["rspec-core"];
@@ -3788,6 +3910,16 @@
     };
     version = "1.0.0";
   };
+  tomlrb = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g28ssfal6vry3cmhy509ba3vi5d5aggz1gnffnvvmc8ml8vkpiv";
+      type = "gem";
+    };
+    version = "1.2.8";
+  };
   truncato = {
     dependencies = ["htmlentities" "nokogiri"];
     source = {
@@ -3991,12 +4123,14 @@
   };
   websocket-driver = {
     dependencies = ["websocket-extensions"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1943442yllhldh9dbp374x2q39cxa49xrm28nb78b7mfbv3y195l";
+      sha256 = "1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn";
       type = "gem";
     };
-    version = "0.6.5";
+    version = "0.7.0";
   };
   websocket-extensions = {
     source = {
@@ -4042,4 +4176,4 @@
     };
     version = "3.2.0";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 7f72e24aa53..ee0ab375666 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -1,20 +1,23 @@
 { stdenv, fetchurl, python2Packages, makeWrapper, unzip
 , guiSupport ? false, tk ? null
-, ApplicationServices }:
+, ApplicationServices
+, mercurialSrc ? fetchurl rec {
+    meta.name = "mercurial-${meta.version}";
+    meta.version = "4.9.1";
+    url = "https://mercurial-scm.org/release/${meta.name}.tar.gz";
+    sha256 = "0iybbkd9add066729zg01kwz5hhc1s6lhp9rrnsmzq6ihyxj3p8v";
+  }
+}:
 
 let
-  # if you bump version, update pkgs.tortoisehg too or ping maintainer
-  version = "4.9.1";
-  name = "mercurial-${version}";
   inherit (python2Packages) docutils hg-git dulwich python;
+
 in python2Packages.buildPythonApplication {
-  inherit name;
-  format = "other";
 
-  src = fetchurl {
-    url = "https://mercurial-scm.org/release/${name}.tar.gz";
-    sha256 = "0iybbkd9add066729zg01kwz5hhc1s6lhp9rrnsmzq6ihyxj3p8v";
-  };
+  inherit (mercurialSrc.meta) name version;
+  src = mercurialSrc;
+
+  format = "other";
 
   inherit python; # pass it so that the same version can be used in hg2git
 
@@ -55,7 +58,7 @@ in python2Packages.buildPythonApplication {
     '';
 
   meta = {
-    inherit version;
+    inherit (mercurialSrc.meta) version;
     description = "A fast, lightweight SCM system for very large distributed projects";
     homepage = https://www.mercurial-scm.org;
     downloadPage = https://www.mercurial-scm.org/release/;
diff --git a/pkgs/applications/version-management/sourcehut/default.nix b/pkgs/applications/version-management/sourcehut/default.nix
index b7c8eaf3820..00a3cf27111 100644
--- a/pkgs/applications/version-management/sourcehut/default.nix
+++ b/pkgs/applications/version-management/sourcehut/default.nix
@@ -1,4 +1,4 @@
-{ python37, openssl_1_1
+{ python37, openssl
 , callPackage }:
 
 # To expose the *srht modules, they have to be a python module so we use `buildPythonModule`
@@ -23,16 +23,6 @@ let
       todosrht = self.callPackage ./todo.nix { };
 
       scmsrht = self.callPackage ./scm.nix { };
-
-      # OVERRIDES
-
-      cryptography = super.cryptography.override {
-        openssl = openssl_1_1;
-      };
-
-      pyopenssl = super.pyopenssl.override {
-        openssl = openssl_1_1;
-      };
     };
   };
 in with python.pkgs; {
diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix
index 7bd1e9586c9..a6cdf2e4373 100644
--- a/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/pkgs/applications/version-management/tortoisehg/default.nix
@@ -1,13 +1,30 @@
-{lib, fetchurl, mercurial, python2Packages}:
+{ lib, fetchurl, python2Packages
+, mercurial
+}@args:
+let
+  tortoisehgSrc = fetchurl rec {
+    meta.name = "tortoisehg-${meta.version}";
+    meta.version = "5.0.2";
+    url = "https://bitbucket.org/tortoisehg/targz/downloads/${meta.name}.tar.gz";
+    sha256 = "1fkawx4ymaacah2wpv2w7rxmv1mx08mg4x4r4fxh41jz1njjb8sz";
+  };
 
-python2Packages.buildPythonApplication rec {
-    name = "tortoisehg-${version}";
-    version = "5.0.2";
+  mercurial =
+    if args.mercurial.meta.version == tortoisehgSrc.meta.version
+      then args.mercurial
+      else args.mercurial.override {
+        mercurialSrc = fetchurl rec {
+          meta.name = "mercurial-${meta.version}";
+          meta.version = tortoisehgSrc.meta.version;
+          url = "https://mercurial-scm.org/release/${meta.name}.tar.gz";
+          sha256 = "1y60hfc8gh4ha9sw650qs7hndqmvbn0qxpmqwpn4q18z5xwm1f19";
+        };
+      };
 
-    src = fetchurl {
-      url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
-      sha256 = "1fkawx4ymaacah2wpv2w7rxmv1mx08mg4x4r4fxh41jz1njjb8sz";
-    };
+in python2Packages.buildPythonApplication rec {
+
+    inherit (tortoisehgSrc.meta) name version;
+    src = tortoisehgSrc;
 
     pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];
 
@@ -28,6 +45,8 @@ python2Packages.buildPythonApplication rec {
       $out/bin/thg version
     '';
 
+    passthru.mercurial = mercurial;
+
     meta = {
       description = "Qt based graphical tool for working with Mercurial";
       homepage = https://tortoisehg.bitbucket.io/;
diff --git a/pkgs/applications/video/celluloid/default.nix b/pkgs/applications/video/celluloid/default.nix
new file mode 100644
index 00000000000..d1a9b64d711
--- /dev/null
+++ b/pkgs/applications/video/celluloid/default.nix
@@ -0,0 +1,64 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, python3
+, gettext
+, pkgconfig
+, desktop-file-utils
+, wrapGAppsHook
+, appstream-glib
+, epoxy
+, glib
+, gtk3
+, mpv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "celluloid";
+  version = "0.17";
+
+  src = fetchFromGitHub {
+    owner = "celluloid-player";
+    repo = "celluloid";
+    rev = "v${version}";
+    sha256 = "0pnxjv6n2q6igxdr8wzbahcj7vccw4nfjdk8fjdnaivf2lyrpv2d";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    python3
+    appstream-glib
+    gettext
+    pkgconfig
+    desktop-file-utils
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    epoxy
+    glib
+    gtk3
+    mpv
+  ];
+
+  postPatch = ''
+    patchShebangs meson-post-install.py src/generate-authors.py
+    sed -i '/gtk-update-icon-cache/s/^/#/' meson-post-install.py
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Simple GTK+ frontend for the mpv video player";
+    longDescription = ''
+      GNOME MPV interacts with mpv via the client API exported by libmpv,
+      allowing access to mpv's powerful playback capabilities through an
+      easy-to-use user interface.
+    '';
+    homepage = "https://github.com/celluloid-player/celluloid";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index e31b2575f86..1872750deb0 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, makeDesktopItem, ffmpeg
-, qmake, qttools
+, qmake, qttools, mkDerivation
 , qtbase, qtdeclarative, qtlocation, qtquickcontrols2, qtwebchannel, qtwebengine
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "clipgrab";
-  version = "3.8.3";
+  version = "3.8.4";
 
   src = fetchurl {
-    sha256 = "1v8vvlqgjqy3gyzwaz9iq0m4fwlkimy5gzg6z3bqwp61p9zzw0zf";
+    sha256 = "0pyrg3rrsd538vnrv6x2frhbq9k2638nzffjsar1p76wxp8fm42s";
     # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
     url = "https://download.clipgrab.org/${pname}-${version}.tar.gz";
   };
diff --git a/pkgs/applications/video/dvdstyler/default.nix b/pkgs/applications/video/dvdstyler/default.nix
index 6d0d33cf40d..495501e0c18 100644
--- a/pkgs/applications/video/dvdstyler/default.nix
+++ b/pkgs/applications/video/dvdstyler/default.nix
@@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
 
   pname = "dvdstyler";
   srcName = "DVDStyler-${version}";
-  version = "3.1";
+  version = "3.1.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/dvdstyler/dvdstyler/${version}/${srcName}.tar.bz2";
-    sha256 = "1rz69vrfqz9sma9cm1mnvkd11zq3is53lc3m3hcphr02vs69s53m";
+    sha256 = "03lsblqficcadlzkbyk8agh5rqcfz6y6dqvy9y866wqng3163zq4";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/applications/video/gnome-mpv/default.nix b/pkgs/applications/video/gnome-mpv/default.nix
deleted file mode 100644
index a04eebfcc40..00000000000
--- a/pkgs/applications/video/gnome-mpv/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, fetchFromGitHub, fetchpatch, meson, ninja, python3
-, gettext, pkgconfig, desktop-file-utils, wrapGAppsHook
-, appstream-glib, epoxy, glib, gtk3, mpv
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-mpv";
-  version = "0.16";
-
-  src = fetchFromGitHub {
-    owner = "celluloid-player";
-    repo = "celluloid";
-    rev = "v${version}";
-    sha256 = "1fj5mr1dwd07jpnigk7z85xdm6yaf7spbvf60aj3mz12m05b1b2w";
-  };
-
-  nativeBuildInputs = [ meson ninja python3 appstream-glib gettext pkgconfig desktop-file-utils wrapGAppsHook ];
-  buildInputs = [ epoxy glib gtk3 mpv ];
-
-  patches = [
-    # fix appstream validation in sandbox
-    # https://github.com/celluloid-player/celluloid/pull/437
-    (fetchpatch {
-      url = https://github.com/celluloid-player/celluloid/commit/5a0b2e892bb715278d309c859a7e521d64433d85.patch;
-      sha256 = "0naci8lr6128yilal39h46yvq9x3la7g7fhvr5xlwyh30iqrbm3i";
-    })
-  ];
-
-  postPatch = ''
-    patchShebangs meson_post_install.py
-    patchShebangs src/generate_authors.py
-    sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py
-  '';
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    description = "Simple GTK+ frontend for the mpv video player";
-    longDescription = ''
-      GNOME MPV interacts with mpv via the client API exported by libmpv,
-      allowing access to mpv's powerful playback capabilities through an
-      easy-to-use user interface.
-    '';
-    homepage = "https://github.com/celluloid-player/celluloid";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index c13bf3480d2..42b40ade271 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -4,21 +4,22 @@
 , withGUI ? true
   , qtbase ? null
   , qtmultimedia ? null
+  , wrapQtAppsHook ? null
 }:
 
-assert withGUI -> qtbase != null && qtmultimedia != null;
+assert withGUI -> qtbase != null && qtmultimedia != null && wrapQtAppsHook != null;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "35.0.0";
+  version = "36.0.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "163msz6l1d5vwirr1c6cm820kwxcjinwh91svf8ddg5181nwhmrx";
+    sha256 = "114j9n2m6dkh7vqzyhcsjzzffadr0lzyjmh31cbl4mvvkg9j5z6r";
   };
 
   nativeBuildInputs = [
@@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
     expat file xdg_utils boost libebml zlib fmt
     libmatroska libogg libvorbis flac cmark
   ] ++ optional  stdenv.isDarwin libiconv
-    ++ optionals withGUI [ qtbase qtmultimedia ];
+    ++ optionals withGUI [ qtbase qtmultimedia wrapQtAppsHook ];
 
   preConfigure = "./autogen.sh; patchShebangs .";
   buildPhase   = "drake -j $NIX_BUILD_CORES";
@@ -49,6 +50,11 @@ stdenv.mkDerivation rec {
     (enableFeature withGUI "qt")
   ];
 
+  dontWrapQtApps = true;
+  postFixup = optionalString withGUI ''
+    wrapQtApp $out/bin/mkvtoolnix-gui
+  '';
+
   meta = with stdenv.lib; {
     description = "Cross-platform tools for Matroska";
     homepage    = http://www.bunkus.org/videotools/mkvtoolnix/;
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index d225eecb1e6..bb0b92eee03 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -218,7 +218,7 @@ in stdenv.mkDerivation rec {
     description = "A media player that supports many video formats (MPlayer and mplayer2 fork)";
     homepage = https://mpv.io;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz ];
+    maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz globin ];
     platforms = platforms.darwin ++ platforms.linux;
 
     longDescription = ''
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index b34b832baf0..176c4be4946 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -7,13 +7,13 @@ assert stdenv.lib.versionAtLeast mlt.version "6.8.0";
 
 mkDerivation rec {
   pname = "shotcut";
-  version = "19.07.15";
+  version = "19.08.16";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
     rev = "v${version}";
-    sha256 = "0drl0x8x45kysalzx1pbg0gkvlxaykg9zka1fdkrl4iqfs4s7vv2";
+    sha256 = "0alnnfgimfs8fjddkcfx4pzyijwz5dgnqic5qazaza6f4kf60801";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index b3d98dd41de..a38076ca42b 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -25,11 +25,11 @@ assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null && wra
 
 stdenv.mkDerivation rec {
   pname = "vlc";
-  version = "3.0.7.1";
+  version = "3.0.8";
 
   src = fetchurl {
     url = "http://get.videolan.org/vlc/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1xb4c8n0hkwijzfdlbwadhxnx9z8rlhmrdq4c7q74rq9f51q0m86";
+    sha256 = "e0149ef4a20a19b9ecd87309c2d27787ee3f47dfd47c6639644bc1f6fd95bdf6";
   };
 
   # VLC uses a *ton* of libraries for various pieces of functionality, many of
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index c858f4c4d6d..ecf6f1c5421 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -1,4 +1,9 @@
-{ stdenv, lib, edk2, nasm, iasl, seabios, openssl, secureBoot ? false }:
+{ stdenv, lib, edk2, utillinux, nasm, iasl
+, csmSupport ? false, seabios ? null
+, secureBoot ? false
+}:
+
+assert csmSupport -> seabios != null;
 
 let
 
@@ -12,60 +17,25 @@ let
     throw "Unsupported architecture";
 
   version = (builtins.parseDrvName edk2.name).version;
-
-  src = edk2.src;
 in
 
-stdenv.mkDerivation (edk2.setup projectDscPath {
+edk2.mkDerivation projectDscPath {
   name = "OVMF-${version}";
 
-  inherit src;
-
   outputs = [ "out" "fd" ];
 
-  # TODO: properly include openssl for secureBoot
-  buildInputs = [nasm iasl] ++ stdenv.lib.optionals (secureBoot == true) [ openssl ];
-
-  hardeningDisable = [ "stackprotector" "pic" "fortify" ];
+  buildInputs = [ utillinux nasm iasl ];
 
-  unpackPhase = ''
-    # $fd is overwritten during the build
-    export OUTPUT_FD=$fd
+  hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ];
 
-    for file in \
-      "${src}"/{UefiCpuPkg,MdeModulePkg,IntelFrameworkModulePkg,PcAtChipsetPkg,FatBinPkg,EdkShellBinPkg,MdePkg,ShellPkg,OptionRomPkg,IntelFrameworkPkg,FatPkg,CryptoPkg,SourceLevelDebugPkg};
-    do
-      ln -sv "$file" .
-    done
+  buildFlags =
+    lib.optional secureBoot "-DSECURE_BOOT_ENABLE=TRUE"
+    ++ lib.optionals csmSupport [ "-D CSM_ENABLE" "-D FD_SIZE_2MB" ];
 
-    ${if stdenv.isAarch64 then ''
-      ln -sv ${src}/ArmPkg .
-      ln -sv ${src}/ArmPlatformPkg .
-      ln -sv ${src}/ArmVirtPkg .
-      ln -sv ${src}/EmbeddedPkg .
-      ln -sv ${src}/OvmfPkg .
-    '' else if seabios != null then ''
-        cp -r ${src}/OvmfPkg .
-        chmod +w OvmfPkg/Csm/Csm16
-        cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin
-    '' else ''
-        ln -sv ${src}/OvmfPkg .
-    ''}
-
-    ${lib.optionalString secureBoot ''
-      ln -sv ${src}/SecurityPkg .
-      ln -sv ${src}/CryptoPkg .
-    ''}
+  postPatch = lib.optionalString csmSupport ''
+    cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin
   '';
 
-  buildPhase = if stdenv.isAarch64 then ''
-      build -n $NIX_BUILD_CORES
-    '' else if seabios == null then ''
-      build -n $NIX_BUILD_CORES ${lib.optionalString secureBoot "-DSECURE_BOOT_ENABLE=TRUE"}
-    '' else ''
-      build -n $NIX_BUILD_CORES -D CSM_ENABLE -D FD_SIZE_2MB ${lib.optionalString secureBoot "-DSECURE_BOOT_ENABLE=TRUE"}
-    '';
-
   postFixup = if stdenv.isAarch64 then ''
     mkdir -vp $fd/FV
     mkdir -vp $fd/AAVMF
@@ -77,8 +47,8 @@ stdenv.mkDerivation (edk2.setup projectDscPath {
     dd of=$fd/AAVMF/QEMU_EFI-pflash.raw       if=$fd/FV/QEMU_EFI.fd conv=notrunc
     dd of=$fd/AAVMF/vars-template-pflash.raw if=/dev/zero bs=1M    count=64
   '' else ''
-    mkdir -vp $OUTPUT_FD/FV
-    mv -v $out/FV/OVMF{,_CODE,_VARS}.fd $OUTPUT_FD/FV
+    mkdir -vp $fd/FV
+    mv -v $out/FV/OVMF{,_CODE,_VARS}.fd $fd/FV
   '';
 
   dontPatchELF = true;
@@ -89,4 +59,4 @@ stdenv.mkDerivation (edk2.setup projectDscPath {
     license = stdenv.lib.licenses.bsd2;
     platforms = ["x86_64-linux" "i686-linux" "aarch64-linux"];
   };
-})
+}
diff --git a/pkgs/applications/virtualization/looking-glass-client/default.nix b/pkgs/applications/virtualization/looking-glass-client/default.nix
index 9420a40805d..0f53a5c4f14 100644
--- a/pkgs/applications/virtualization/looking-glass-client/default.nix
+++ b/pkgs/applications/virtualization/looking-glass-client/default.nix
@@ -1,33 +1,26 @@
 { stdenv, fetchFromGitHub, fetchpatch
 , cmake, pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice-protocol, fontconfig
-, libX11, freefont_ttf, nettle, libconfig
+, libX11, freefont_ttf, nettle, libconfig, wayland, libpthreadstubs, libXdmcp
+, libXfixes, libbfd
 }:
 
 stdenv.mkDerivation rec {
   pname = "looking-glass-client";
-  version = "a12";
+  version = "B1";
 
   src = fetchFromGitHub {
     owner = "gnif";
     repo = "LookingGlass";
     rev = version;
-    sha256 = "0r6bvl9q94039r6ff4f2bg8si95axx9w8bf1h1qr5730d2kv5yxq";
+    sha256 = "0vykv7yjz4fima9d82m83acd8ab72nq4wyzyfs1c499i27wz91ia";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [
     SDL SDL2 SDL2_ttf openssl spice-protocol fontconfig
-    libX11 freefont_ttf nettle libconfig cmake
-  ];
-
-  patches = [
-    # Fix obsolete spice header usage. Remove with the next release. See https://github.com/gnif/LookingGlass/pull/126
-    (fetchpatch {
-      url = "https://github.com/gnif/LookingGlass/commit/2567447b24b28458ba0f09c766a643ad8d753255.patch";
-      sha256 = "04j2h75rpxd71szry15f31r6s0kgk96i8q9khdv9q3i2fvkf242n";
-      stripLen = 1;
-    })
+    libX11 freefont_ttf nettle libconfig wayland libpthreadstubs
+    libXdmcp libXfixes libbfd cmake
   ];
 
   enableParallelBuilding = true;
@@ -50,7 +43,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://looking-glass.hostfission.com/;
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.pneumaticat ];
+    maintainers = [ maintainers.alexbakker ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index b6a6ebde540..42860966fe1 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -77,6 +77,6 @@ python3Packages.buildPythonApplication rec {
     license = licenses.gpl2;
     # exclude Darwin since libvirt-glib currently doesn't build there
     platforms = platforms.linux;
-    maintainers = with maintainers; [ qknight offline fpletz ];
+    maintainers = with maintainers; [ qknight offline fpletz globin ];
   };
 }
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index 9c307d8e9ba..eb5d53c2b89 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, libxml2, gtk3, gtk-vnc, gmp
-, libgcrypt, gnupg, cyrus_sasl, shared-mime-info, libvirt, yajl, xen
+, libgcrypt, gnupg, cyrus_sasl, shared-mime-info, libvirt, yajl
 , gsettings-desktop-schemas, wrapGAppsHook, libvirt-glib, libcap_ng, numactl
 , libapparmor, gst_all_1
 , spiceSupport ? true
 , spice-gtk ? null, spice-protocol ? null, libcap ? null, gdbm ? null
+, xenSupport ? false, xen ? null
 }:
 
 assert spiceSupport ->
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
     glib libxml2 gtk3 gtk-vnc gmp libgcrypt gnupg cyrus_sasl shared-mime-info
     libvirt yajl gsettings-desktop-schemas libvirt-glib
     libcap_ng numactl libapparmor
-  ] ++ optionals stdenv.isx86_64 [
+  ] ++ optionals xenSupport [
     xen
   ] ++ optionals spiceSupport [
     spice-gtk spice-protocol libcap gdbm
diff --git a/pkgs/applications/virtualization/xen/4.8.nix b/pkgs/applications/virtualization/xen/4.8.nix
index 2a59cd1f061..8ad8edde8cc 100644
--- a/pkgs/applications/virtualization/xen/4.8.nix
+++ b/pkgs/applications/virtualization/xen/4.8.nix
@@ -43,6 +43,11 @@ let
     sha256 = "0gaz93kb33qc0jx6iphvny0yrd17i8zhcl3a9ky5ylc2idz0wiwa";
   };
 
+  # Ported from
+  #"https://xenbits.xen.org/gitweb/?p=qemu-xen.git;a=patch;h=e014dbe74e0484188164c61ff6843f8a04a8cb9d";
+  #"https://xenbits.xen.org/gitweb/?p=qemu-xen.git;a=patch;h=0e3b891fefacc0e49f3c8ffa3a753b69eb7214d2";
+  qemuGlusterfs6Fix = ./qemu-gluster-6-compat.diff;
+
   qemuDeps = [
     udev pciutils xorg.libX11 SDL pixman acl glusterfs spice-protocol usbredir
     alsaLib
@@ -50,11 +55,11 @@ let
 in
 
 callPackage (import ./generic.nix (rec {
-  version = "4.8.3";
+  version = "4.8.5";
 
   src = fetchurl {
     url = "https://downloads.xenproject.org/release/xen/${version}/xen-${version}.tar.gz";
-    sha256 = "0vhkpyy5x7kc36hnav95fn194ngsmc3m2xcc78vccs00gdf6m8q9";
+    sha256 = "04xcf01jad1lpqnmjblzhnjzp0bss9fjd9awgcycjx679arbaxqz";
   };
 
   # Sources needed to build tools and firmwares.
@@ -67,6 +72,7 @@ callPackage (import ./generic.nix (rec {
       };
       patches = [
         qemuMemfdBuildFix
+        qemuGlusterfs6Fix
       ];
       buildInputs = qemuDeps;
       meta.description = "Xen's fork of upstream Qemu";
@@ -155,13 +161,8 @@ callPackage (import ./generic.nix (rec {
     ++ optional (withInternalOVMF) "--enable-ovmf";
 
   patches = with xsa; flatten [
-    # XSA_231 to XSA-251 are fixed in 4.8.3 (verified with git log)
-    XSA_252_49
     # 253: 4.8 not affected
     # 254: no patch supplied by xen project (Meltdown/Spectre)
-    XSA_255_49_1
-    XSA_255_49_2
-    XSA_256_48
     xenlockprofpatch
     xenpmdpatch
   ];
@@ -176,10 +177,8 @@ callPackage (import ./generic.nix (rec {
       -i tools/libxl/libxl_device.c
   '';
 
-  passthru = {
-    qemu-system-i386 = if withInternalQemu
+  passthru.qemu-system-i386 = if withInternalQemu
       then "lib/xen/bin/qemu-system-i386"
       else throw "this xen has no qemu builtin";
-  };
 
 })) ({ ocamlPackages = ocaml-ng.ocamlPackages_4_05; } // args)
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index 8dc2dffc6b6..8093d4752a0 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -121,8 +121,8 @@ stdenv.mkDerivation (rec {
 
   patches = [ ./0000-fix-ipxe-src.patch
               ./0000-fix-install-python.patch
-              ./acpica-utils-20180427.patch]
-         ++ (config.patches or []);
+            ] ++ optional (versionOlder version "4.8.5") ./acpica-utils-20180427.patch
+            ++ (config.patches or []);
 
   postPatch = ''
     ### Hacks
diff --git a/pkgs/applications/virtualization/xen/qemu-gluster-6-compat.diff b/pkgs/applications/virtualization/xen/qemu-gluster-6-compat.diff
new file mode 100644
index 00000000000..7ec6ad3aba6
--- /dev/null
+++ b/pkgs/applications/virtualization/xen/qemu-gluster-6-compat.diff
@@ -0,0 +1,95 @@
+diff --git a/block/gluster.c b/block/gluster.c
+index 01b479fbb9..29552e1186 100644
+--- a/block/gluster.c
++++ b/block/gluster.c
+@@ -15,6 +15,10 @@
+ #include "qemu/uri.h"
+ #include "qemu/error-report.h"
+ 
++#ifdef CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT
++# define glfs_ftruncate(fd, offset) glfs_ftruncate(fd, offset, NULL, NULL)
++#endif
++
+ #define GLUSTER_OPT_FILENAME        "filename"
+ #define GLUSTER_OPT_VOLUME          "volume"
+ #define GLUSTER_OPT_PATH            "path"
+@@ -613,7 +617,11 @@ static void qemu_gluster_complete_aio(void *opaque)
+ /*
+  * AIO callback routine called from GlusterFS thread.
+  */
+-static void gluster_finish_aiocb(struct glfs_fd *fd, ssize_t ret, void *arg)
++static void gluster_finish_aiocb(struct glfs_fd *fd, ssize_t ret,
++#ifdef CONFIG_GLUSTERFS_IOCB_HAS_STAT
++                                 struct glfs_stat *pre, struct glfs_stat *post,
++#endif
++                                 void *arg)
+ {
+     GlusterAIOCB *acb = (GlusterAIOCB *)arg;
+ 
+diff --git a/configure b/configure
+index 4b808f9d17..89fb27fd0d 100755
+--- a/configure
++++ b/configure
+@@ -301,6 +301,8 @@ glusterfs=""
+ glusterfs_xlator_opt="no"
+ glusterfs_discard="no"
+ glusterfs_zerofill="no"
++glusterfs_ftruncate_has_stat="no"
++glusterfs_iocb_has_stat="no"
+ archipelago="no"
+ gtk=""
+ gtkabi=""
+@@ -3444,6 +3446,38 @@ if test "$glusterfs" != "no" ; then
+     if $pkg_config --atleast-version=6 glusterfs-api; then
+       glusterfs_zerofill="yes"
+     fi
++    cat > $TMPC << EOF
++#include <glusterfs/api/glfs.h>
++
++int
++main(void)
++{
++	/* new glfs_ftruncate() passes two additional args */
++	return glfs_ftruncate(NULL, 0, NULL, NULL);
++}
++EOF
++    if compile_prog "$glusterfs_cflags" "$glusterfs_libs" ; then
++      glusterfs_ftruncate_has_stat="yes"
++    fi
++    cat > $TMPC << EOF
++#include <glusterfs/api/glfs.h>
++
++/* new glfs_io_cbk() passes two additional glfs_stat structs */
++static void
++glusterfs_iocb(glfs_fd_t *fd, ssize_t ret, struct glfs_stat *prestat, struct glfs_stat *poststat, void *data)
++{}
++
++int
++main(void)
++{
++	glfs_io_cbk iocb = &glusterfs_iocb;
++	iocb(NULL, 0 , NULL, NULL, NULL);
++	return 0;
++}
++EOF
++    if compile_prog "$glusterfs_cflags" "$glusterfs_libs" ; then
++      glusterfs_iocb_has_stat="yes"
++    fi
+   else
+     if test "$glusterfs" = "yes" ; then
+       feature_not_found "GlusterFS backend support" \
+@@ -5415,6 +5449,14 @@ if test "$archipelago" = "yes" ; then
+   echo "ARCHIPELAGO_LIBS=$archipelago_libs" >> $config_host_mak
+ fi
+ 
++if test "$glusterfs_ftruncate_has_stat" = "yes" ; then
++  echo "CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT=y" >> $config_host_mak
++fi
++
++if test "$glusterfs_iocb_has_stat" = "yes" ; then
++  echo "CONFIG_GLUSTERFS_IOCB_HAS_STAT=y" >> $config_host_mak
++fi
++
+ if test "$libssh2" = "yes" ; then
+   echo "CONFIG_LIBSSH2=m" >> $config_host_mak
+   echo "LIBSSH2_CFLAGS=$libssh2_cflags" >> $config_host_mak
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index a8a769887a3..31a96ba1788 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A tiling window manager";
     homepage    = "https://i3wm.org";
-    maintainers = with maintainers; [ modulistic fpletz ];
+    maintainers = with maintainers; [ modulistic fpletz globin ];
     license     = licenses.bsd3;
     platforms   = platforms.all;
 
diff --git a/pkgs/applications/window-managers/i3/gaps.nix b/pkgs/applications/window-managers/i3/gaps.nix
index f2dc023c81d..4d4ab6d96cc 100644
--- a/pkgs/applications/window-managers/i3/gaps.nix
+++ b/pkgs/applications/window-managers/i3/gaps.nix
@@ -3,12 +3,12 @@
 i3.overrideAttrs (oldAttrs : rec {
 
   name = "i3-gaps-${version}";
-  version = "4.16.1";
+  version = "4.17";
   releaseDate = "2019-01-27";
 
   src = fetchurl {
     url = "https://github.com/Airblader/i3/archive/${version}.tar.gz";
-    sha256 = "1jvyd8p8dfsidfy2yy7adydynzvaf72lx67x71r13hrk8w77hp0k";
+    sha256 = "1vd2xv91xrcr07s2dywq9rvidqqmbs41hlvhcvr1927gz200vgjg";
   };
 
   nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ autoreconfHook ];
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index de8cca56f85..60edf05892d 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
     description = "Very resource-friendly and feature-rich replacement for i3status";
     homepage = https://github.com/greshake/i3status-rust;
     license = licenses.gpl3;
-    maintainers = [ maintainers.backuitist ];
+    maintainers = with maintainers; [ backuitist globin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/sxhkd/default.nix b/pkgs/applications/window-managers/sxhkd/default.nix
index 2327e4f8b80..2404129b165 100644
--- a/pkgs/applications/window-managers/sxhkd/default.nix
+++ b/pkgs/applications/window-managers/sxhkd/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sxhkd";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "baskerville";
     repo = "sxhkd";
     rev = version;
-    sha256 = "1cz4vkm7fqd51ly9qjkf5q76kdqdzfhaajgvrs4anz5dyzrdpw68";
+    sha256 = "0j7bl2l06r0arrjzpz7al9j6cwzc730knbsijp7ixzz96pq7xa2h";
   };
 
   buildInputs = [ asciidoc libxcb xcbutil xcbutilkeysyms xcbutilwm ];
diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix
index 32cec42160f..d4318b715ba 100644
--- a/pkgs/build-support/build-bazel-package/default.nix
+++ b/pkgs/build-support/build-bazel-package/default.nix
@@ -71,6 +71,15 @@ in stdenv.mkDerivation (fBuildAttrs // {
       rm -rf $(find $bazelOut/external -type d -name .svn)
       rm -rf $(find $bazelOut/external -type d -name .hg)
 
+      # Removing top-level symlinks along with their markers.
+      # This is needed because they sometimes point to temporary paths (?).
+      # For example, in Tensorflow-gpu build:
+      # platforms -> NIX_BUILD_TOP/tmp/install/35282f5123611afa742331368e9ae529/_embedded_binaries/platforms
+      find $bazelOut/external -maxdepth 1 -type l | while read symlink; do
+        name="$(basename "$symlink")"
+        rm "$symlink" "$bazelOut/external/@$name.marker"
+      done
+
       # Patching symlinks to remove build directory reference
       find $bazelOut/external -type l | while read symlink; do
         new_target="$(readlink "$symlink" | sed "s,$NIX_BUILD_TOP,NIX_BUILD_TOP,")"
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index d09b775d42c..1ca1e45f2fb 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -169,6 +169,20 @@ rec {
     http://backpan.perl.org/  # for old releases
   ];
 
+  # CentOS.
+  centos = [
+    http://mirror.centos.org/centos/
+    # For old releases
+    http://vault.centos.org/
+    https://archive.kernel.org/centos-vault/
+    http://ftp.jaist.ac.jp/pub/Linux/CentOS-vault/
+    http://mirrors.aliyun.com/centos-vault/
+    https://mirror.chpc.utah.edu/pub/vault.centos.org/
+    https://mirror.its.sfu.ca/mirror/CentOS-vault/
+    https://mirror.math.princeton.edu/pub/centos-vault/
+    https://mirrors.tripadvisor.com/centos-vault/
+  ];
+
   # Debian.
   debian = [
     http://httpredir.debian.org/debian/
@@ -385,7 +399,7 @@ rec {
   # Steam Runtime mirrors
   steamrt = [
     http://repo.steampowered.com/steamrt/
-    https://abbradar.net/steamrt/
+    https://public.abbradar.moe/steamrt/
   ];
 
   # Python PyPI mirrors
diff --git a/pkgs/build-support/setup-hooks/shorten-perl-shebang.sh b/pkgs/build-support/setup-hooks/shorten-perl-shebang.sh
new file mode 100644
index 00000000000..4bf7c0ff1af
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/shorten-perl-shebang.sh
@@ -0,0 +1,88 @@
+# This setup hook modifies a Perl script so that any "-I" flags in its shebang
+# line are rewritten into a "use lib ..." statement on the next line. This gets
+# around a limitation in Darwin, which will not properly handle a script whose
+# shebang line exceeds 511 characters.
+#
+# Each occurrence of "-I /path/to/lib1" or "-I/path/to/lib2" is removed from
+# the shebang line, along with the single space that preceded it. These library
+# paths are placed into a new line of the form
+#
+#     use lib "/path/to/lib1", "/path/to/lib2";
+#
+# immediately following the shebang line. If a library appeared in the original
+# list more than once, only its first occurrence will appear in the output
+# list. In other words, the libraries are deduplicated, but the ordering of the
+# first appearance of each one is preserved.
+#
+# Any flags other than "-I" in the shebang line are left as-is, and the
+# interpreter is also left alone (although the script will abort if the
+# interpreter does not seem to be either "perl" or else "env" with "perl" as
+# its argument). Each line after the shebang line is left unchanged. Each file
+# is modified in place.
+#
+# Usage:
+#     shortenPerlShebang SCRIPT...
+
+shortenPerlShebang() {
+    while [ $# -gt 0 ]; do
+        _shortenPerlShebang "$1"
+        shift
+    done
+}
+
+_shortenPerlShebang() {
+    local program="$1"
+
+    echo "shortenPerlShebang: rewriting shebang line in $program"
+
+    if ! isScript "$program"; then
+        die "shortenPerlShebang: refusing to modify $program because it is not a script"
+    fi
+
+    local temp="$(mktemp)"
+
+    gawk '
+        (NR == 1) {
+            if (!($0 ~ /\/(perl|env +perl)\>/)) {
+                print "shortenPerlShebang: script does not seem to be a Perl script" > "/dev/stderr"
+                exit 1
+            }
+            idx = 0
+            while (match($0, / -I ?([^ ]+)/, pieces)) {
+                matches[idx] = pieces[1]
+                idx++
+                $0 = gensub(/ -I ?[^ ]+/, "", 1, $0)
+            }
+            print $0
+            if (idx > 0) {
+                prefix = "use lib "
+                for (idx in matches) {
+                    path = matches[idx]
+                    if (!(path in seen)) {
+                        printf "%s\"%s\"", prefix, path
+                        seen[path] = 1
+                        prefix = ", "
+                    }
+                }
+                print ";"
+            }
+        }
+        (NR > 1 ) {
+            print
+        }
+    ' "$program" > "$temp" || die
+	# Preserve the mode of the original file
+	cp --preserve=mode --attributes-only "$program" "$temp"
+	mv "$temp" "$program"
+
+    # Measure the new shebang line length and make sure it's okay. We subtract
+    # one to account for the trailing newline that "head" included in its
+    # output.
+    local new_length=$(( $(head -n 1 "$program" | wc -c) - 1 ))
+
+    # Darwin is okay when the shebang line contains 511 characters, but not
+    # when it contains 512 characters.
+    if [ $new_length -ge 512 ]; then
+        die "shortenPerlShebang: shebang line is $new_length characters--still too long for Darwin!"
+    fi
+}
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 5d04302591e..a59da3a8745 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -774,9 +774,7 @@ rec {
       in rec {
         name = "centos-${version}-i386";
         fullName = "CentOS ${version} (i386)";
-        # N.B. Switch to vault.centos.org when the next release comes out
-        # urlPrefix = "http://vault.centos.org/${version}/os/i386";
-        urlPrefix = "http://mirror.centos.org/centos-6/${version}/os/i386";
+        urlPrefix = "mirror://centos/${version}/os/i386";
         packagesList = fetchurl rec {
           url = "${urlPrefix}/repodata/${sha256}-primary.xml.gz";
           sha256 = "b826a45082ef68340325c0855f3d2e5d5a4d0f77d28ba3b871791d6f14a97aeb";
@@ -790,9 +788,7 @@ rec {
       in rec {
         name = "centos-${version}-x86_64";
         fullName = "CentOS ${version} (x86_64)";
-        # N.B. Switch to vault.centos.org when the next release comes out
-        # urlPrefix = "http://vault.centos.org/${version}/os/x86_64";
-        urlPrefix = "http://mirror.centos.org/centos-6/${version}/os/x86_64";
+        urlPrefix = "mirror://centos/${version}/os/x86_64";
         packagesList = fetchurl rec {
           url = "${urlPrefix}/repodata/${sha256}-primary.xml.gz";
           sha256 = "ed2b2d4ac98d774d4cd3e91467e1532f7e8b0275cfc91a0d214b532dcaf1e979";
@@ -807,9 +803,7 @@ rec {
       in rec {
         name = "centos-${version}-x86_64";
         fullName = "CentOS ${version} (x86_64)";
-        # N.B. Switch to vault.centos.org when the next release comes out
-        # urlPrefix = "http://vault.centos.org/${version}/os/x86_64";
-        urlPrefix = "http://mirror.centos.org/centos-7/${version}/os/x86_64";
+        urlPrefix = "mirror://centos/${version}/os/x86_64";
         packagesList = fetchurl rec {
           url = "${urlPrefix}/repodata/${sha256}-primary.xml.gz";
           sha256 = "b686d3a0f337323e656d9387b9a76ce6808b26255fc3a138b1a87d3b1cb95ed5";
diff --git a/pkgs/data/fonts/font-awesome-5/default.nix b/pkgs/data/fonts/font-awesome-5/default.nix
index 451e3feecb6..422258f84d1 100644
--- a/pkgs/data/fonts/font-awesome-5/default.nix
+++ b/pkgs/data/fonts/font-awesome-5/default.nix
@@ -39,7 +39,7 @@ in {
     sha256 = "1j8i32dq6rrlv3kf2hnq81iqks06kczaxjks7nw3zyq1231winm9";
   };
   v5 = font-awesome {
-    version = "5.10.1";
-    sha256 = "1ckr7n0hlhvyl8nkhyjr7k6r07czpcfp0s2mnb48mvfgxd3j992p";
+    version = "5.10.2";
+    sha256 = "0bg28zn2lhrcyj7mbavphkvw3hrbnjsnn84305ax93nj3qd0d4hx";
   };
 }
diff --git a/pkgs/data/fonts/gelasio/default.nix b/pkgs/data/fonts/gelasio/default.nix
new file mode 100644
index 00000000000..c8cf655a18c
--- /dev/null
+++ b/pkgs/data/fonts/gelasio/default.nix
@@ -0,0 +1,31 @@
+{ lib, fetchFromGitHub }:
+
+let
+  version = "unstable-2018-08-12";
+in fetchFromGitHub {
+  name = "gelasio-${version}";
+  owner = "SorkinType";
+  repo = "Gelasio";
+  rev = "5bced461d54bcf8e900bb3ba69455af35b0d2ff1";
+  sha256 = "0dfskz2vpwsmd88rxqsxf0f01g4f2hm6073afcm424x5gc297n39";
+
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype/
+  '';
+
+  meta = with lib; {
+    description = "a font which is metric-compatible with Microsoft's Georgia";
+    longDescription = ''
+      Gelasio is an original typeface which is metrics compatible with Microsoft's
+      Georgia in its Regular, Bold, Italic and Bold Italic weights. Interpolated
+      Medium, medium Italic, SemiBold and SemiBold Italic have now been added as well.
+    '';
+    homepage = "https://github.com/SorkinType/Gelasio";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ colemickens ];
+  };
+}
+
diff --git a/pkgs/data/fonts/joypixels/default.nix b/pkgs/data/fonts/joypixels/default.nix
new file mode 100644
index 00000000000..f54838d5a64
--- /dev/null
+++ b/pkgs/data/fonts/joypixels/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl }:
+
+let
+  fontconfig = fetchurl {
+    name = "75-joypixels.conf";
+    url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/75-joypixels.conf?h=packages/ttf-joypixels&id=b2b38f8393ec56ed7338c256f5b85f3439a2dfc3";
+    sha256 = "065y2fmf86zzvna1hrvcg46cnr7a76xd2mwa26nss861dsx6pnd6";
+  };
+in stdenv.mkDerivation rec {
+  pname = "emojione";
+  version = "5.0.2";
+
+  src = fetchurl {
+    url = "https://cdn.joypixels.com/arch-linux/font/${version}/joypixels-android.ttf";
+    sha256 = "0javgnfsh2nfddr5flf4yzi81ar8wx2z8w1q7h4fvdng5fsrgici";
+  };
+
+  dontUnpack = true;
+
+  installPhase = ''
+    install -Dm644 $src $out/share/fonts/truetype/joypixels.ttf
+    install -Dm644 ${fontconfig} $out/etc/fonts/conf.d/75-joypixels.conf
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Emoji as a Service (formerly EmojiOne)";
+    homepage = https://www.joypixels.com/;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}
diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix
index fb659e1c22e..3f9cff62ee4 100644
--- a/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20190615";
+  version = "20190802";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    sha256 = "1999q6jw4ib8xrw3ydmprnq0mbmzqj8l92rx4rrh22lw9kdvig8w";
+    sha256 = "1i6nh1vy2cjqh4fw1mzq5v4ah613ghf018g8w0npxhj9qi3pyjm5";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/misc/osinfo-db/default.nix b/pkgs/data/misc/osinfo-db/default.nix
index 39cdd29c94b..b41c4a4c5aa 100644
--- a/pkgs/data/misc/osinfo-db/default.nix
+++ b/pkgs/data/misc/osinfo-db/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db";
-  version = "20190726";
+  version = "20190805";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "0kcdq8g324a368bqvki718ms5kdcc3dzfmpgzyxwl0mkxbmhmirr";
+    sha256 = "1la80kmh58nrra8aa4grv31gc7xbqbybl8q1m4yv0byb11slg93x";
   };
 
   nativeBuildInputs = [ osinfo-db-tools intltool libxml2 ];
diff --git a/pkgs/data/themes/plata/default.nix b/pkgs/data/themes/plata/default.nix
index 2351c493572..cf2eb5447f7 100644
--- a/pkgs/data/themes/plata/default.nix
+++ b/pkgs/data/themes/plata/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plata-theme";
-  version = "0.8.8";
+  version = "0.8.9";
 
   src = fetchFromGitLab {
     owner = "tista500";
     repo = "plata-theme";
     rev = version;
-    sha256 = "1xb28s67lnsphj97r15jxlfgydyrxdby1d2z5y3g9wniw6z19i9n";
+    sha256 = "0a2wczxxfd2nfr7biawbs3rwy2sivcl2sv43y2638gmfp0w6zh9r";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/desktops/enlightenment/default.nix b/pkgs/desktops/enlightenment/default.nix
index a8b5e08abd6..8d0fed6b3d8 100644
--- a/pkgs/desktops/enlightenment/default.nix
+++ b/pkgs/desktops/enlightenment/default.nix
@@ -1,7 +1,9 @@
 { callPackage, pkgs }:
 rec {
   #### CORE EFL
-  efl = callPackage ./efl.nix { openjpeg = pkgs.openjpeg_1; };
+  efl = callPackage ./efl.nix {
+    openjpeg = pkgs.openjpeg_1;
+  };
 
   #### WINDOW MANAGER
   enlightenment = callPackage ./enlightenment.nix { };
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index 95e6d0f12b0..16828f08bc2 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -37,7 +37,9 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome_python_desktop = callPackage ./bindings/gnome-python-desktop { };
 
-  gnome_vfs = callPackage ./platform/gnome-vfs { };
+  gnome_vfs = callPackage ./platform/gnome-vfs {
+    openssl = pkgs.openssl_1_0_2;
+  };
 
   libgnome = callPackage ./platform/libgnome { };
 
diff --git a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix b/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
index fe8977646f6..ac1e9ee85c0 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
@@ -1,5 +1,22 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gnome3, glib, gtk3, pango, wrapGAppsHook, python3
-, gobject-introspection, gjs, libunistring, gsettings-desktop-schemas, adwaita-icon-theme, gnome-desktop }:
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gettext
+, gnome3
+, glib
+, gtk3
+, pango
+, wrapGAppsHook
+, python3
+, gobject-introspection
+, gjs
+, libunistring
+, gsettings-desktop-schemas
+, adwaita-icon-theme
+, gnome-desktop
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-characters";
@@ -10,30 +27,54 @@ stdenv.mkDerivation rec {
     sha256 = "1mpg125x9k879ryg8xgbm9w1amx6b3iq9sqv7xfii7kzaanjb4js";
   };
 
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    python3
+    wrapGAppsHook
+  ];
+
+
+  buildInputs = [
+    adwaita-icon-theme
+    gjs
+    glib
+    gnome-desktop # for typelib
+    gsettings-desktop-schemas
+    gtk3
+    libunistring
+    pango
+  ];
+
   postPatch = ''
     chmod +x meson_post_install.py # patchShebangs requires executable file
     patchShebangs meson_post_install.py
   '';
 
+  dontWrapGApps = true;
+
+  # Fixes https://github.com/NixOS/nixpkgs/issues/31168
+  postFixup = ''
+    for file in $out/share/org.gnome.Characters/org.gnome.Characters \
+       $out/share/org.gnome.Characters/org.gnome.Characters.BackgroundService
+    do
+      sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \
+        -i $file
+
+      wrapProgram $file "''${gappsWrapperArgs[@]}"
+    done
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "gnome-characters";
-      attrPath = "gnome3.gnome-characters";
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
     };
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook python3 gobject-introspection ];
-  buildInputs = [
-    glib gtk3 gjs pango gsettings-desktop-schemas
-    adwaita-icon-theme libunistring
-    # typelib
-    gnome-desktop
-  ];
-
-  mesonFlags = [
-    "-Ddbus_service_dir=${placeholder "out"}/share/dbus-1/services"
-  ];
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Design/Apps/CharacterMap;
     description = "Simple utility application to find and insert unusual characters";
diff --git a/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
index a729a924f6b..5978fb217e8 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
@@ -1,8 +1,8 @@
 { stdenv, meson, ninja, gettext, fetchurl, pkgconfig
 , wrapGAppsHook, itstool, desktop-file-utils, python3
-, glib, gtk3, evolution-data-server
+, glib, gtk3, evolution-data-server, gnome-online-accounts
 , libuuid, webkitgtk, zeitgeist
-, gnome3, libxml2, gsettings-desktop-schemas }:
+, gnome3, libxml2, gsettings-desktop-schemas, tracker }:
 
 let
   version = "3.32.2";
@@ -27,8 +27,8 @@ in stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    glib gtk3 libuuid webkitgtk gnome3.tracker
-    gnome3.gnome-online-accounts zeitgeist
+    glib gtk3 libuuid webkitgtk tracker
+    gnome-online-accounts zeitgeist
     gsettings-desktop-schemas
     evolution-data-server
     gnome3.adwaita-icon-theme
diff --git a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
deleted file mode 100644
index e5bd4d8b950..00000000000
--- a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, gettext, fetchurl, libxml2, libgdata
-, pkgconfig, gtk3, glib, tracker, tracker-miners
-, itstool, gegl, babl, libdazzle, gfbgraph, grilo-plugins
-, grilo, gnome-online-accounts
-, desktop-file-utils, wrapGAppsHook
-, gnome3, gdk-pixbuf, gexiv2, geocode-glib
-, dleyna-renderer, dbus, meson, ninja, python3, gsettings-desktop-schemas }:
-
-let
-  pname = "gnome-photos";
-  version = "3.32.0";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "160vqmcqvyzby27wd2lzwzgbfl6jxxk7phhnqh9498r3clr73haj";
-  };
-
-  # doCheck = true;
-
-  nativeBuildInputs = [
-    pkgconfig gettext itstool meson ninja libxml2
-    desktop-file-utils wrapGAppsHook python3
-  ];
-  buildInputs = [
-    gtk3 glib gegl babl libgdata libdazzle
-    gsettings-desktop-schemas
-    gdk-pixbuf gnome3.adwaita-icon-theme
-    gfbgraph grilo-plugins grilo
-    gnome-online-accounts tracker
-    gexiv2 geocode-glib dleyna-renderer
-    tracker-miners # For 'org.freedesktop.Tracker.Miner.Files' GSettings schema
-    dbus
-  ];
-
-  postPatch = ''
-    chmod +x meson_post_install.py
-    patchShebangs meson_post_install.py
-  '';
-
-  passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-      attrPath = "gnome3.${pname}";
-    };
-  };
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Photos;
-    description = "Access, organize and share your photos";
-    maintainers = gnome3.maintainers;
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix
index 854ce936446..14551fb7d0c 100644
--- a/pkgs/desktops/gnome-3/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -7,13 +7,13 @@
 
 let
   pname = "nautilus";
-  version = "3.32.1";
+  version = "3.32.3";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0vmrvimv4183l3ij4kv0ir2c9rfzk7gh3xc2pa4wkqq9kn7h6m7s";
+    sha256 = "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 87b7be5bdd2..7820c32e2a6 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -37,7 +37,7 @@ lib.makeScope pkgs.newScope (self: with self; {
     gnome-calculator gnome-contacts gnome-font-viewer gnome-screenshot
     gnome-system-monitor simple-scan
     gnome-terminal gnome-user-docs evolution file-roller gedit
-    gnome-clocks gnome-music gnome-tweaks gnome-photos
+    gnome-clocks gnome-music gnome-tweaks pkgs.gnome-photos
     nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs
     gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool
     gnome-getting-started-docs gnome-packagekit gnome-software
@@ -113,8 +113,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   libgnome-keyring = callPackage ./core/libgnome-keyring { };
 
-  gnome-online-accounts = callPackage ./core/gnome-online-accounts { };
-
   gnome-online-miners = callPackage ./core/gnome-online-miners { };
 
   gnome-remote-desktop = callPackage ./core/gnome-remote-desktop { };
@@ -141,10 +139,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-user-share = callPackage ./core/gnome-user-share { };
 
-  grilo = callPackage ./core/grilo { };
-
-  grilo-plugins = callPackage ./core/grilo-plugins { };
-
   gucharmap = callPackage ./core/gucharmap { };
 
   gvfs = pkgs.gvfs.override { gnome = gnome3; gnomeSupport = true; };
@@ -196,10 +190,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   totem = callPackage ./core/totem { };
 
-  tracker = callPackage ./core/tracker { };
-
-  tracker-miners = callPackage ./core/tracker-miners { };
-
   vino = callPackage ./core/vino { };
 
   yelp = callPackage ./core/yelp { };
@@ -251,10 +241,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-notes = callPackage ./apps/gnome-notes { };
 
-  gnome-photos = callPackage ./apps/gnome-photos {
-    gegl = gegl_0_4;
-  };
-
   gnome-power-manager = callPackage ./apps/gnome-power-manager { };
 
   gnome-sound-recorder = callPackage ./apps/gnome-sound-recorder { };
@@ -351,8 +337,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-autoar = callPackage ./misc/gnome-autoar { };
 
-  gnome-video-effects = callPackage ./misc/gnome-video-effects { };
-
   gnome-packagekit = callPackage ./misc/gnome-packagekit { };
 } // lib.optionalAttrs (config.allowAliases or true) {
 #### Legacy aliases
@@ -392,6 +376,9 @@ lib.makeScope pkgs.newScope (self: with self; {
       easytag meld orca rhythmbox shotwell gnome-usage
       clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libcroco libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 vte-ng gnome-menus gdl;
   inherit (pkgs) gsettings-desktop-schemas; # added 2019-04-16
+  inherit (pkgs) gnome-video-effects; # added 2019-08-19
+  inherit (pkgs) gnome-online-accounts grilo grilo-plugins tracker tracker-miners gnome-photos; # added 2019-08-23
+
   defaultIconTheme = adwaita-icon-theme;
   gtk = gtk3;
   gtkmm = gtkmm3;
diff --git a/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix b/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix
index 659339c3b77..7b069922169 100644
--- a/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-nibbles";
-  version = "3.31.3";
+  version = "3.32.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-nibbles/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0wg0l3aghkxcwp74liw115qjzy6w18hn80mhsz4lrjpnbpaivi18";
+    sha256 = "0g627pzbfywiy2rsh4aidgbln9s4j5m8pryw4cgr5ygc4z8l6l9p";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook intltool itstool libxml2 ];
diff --git a/pkgs/desktops/gnome-3/games/hitori/default.nix b/pkgs/desktops/gnome-3/games/hitori/default.nix
index 72cce760b03..657bf4a7639 100644
--- a/pkgs/desktops/gnome-3/games/hitori/default.nix
+++ b/pkgs/desktops/gnome-3/games/hitori/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hitori";
-  version = "3.31.92";
+  version = "3.32.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/hitori/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0m2w3zz6v1bsd1fn78ab79d72ywd9vq60rziazsblxsi4qy9dva5";
+    sha256 = "15s20db2fq4cy031sw20pmf53hxiak44fgyjy5njqnp2h2sg3806";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/games/tali/default.nix b/pkgs/desktops/gnome-3/games/tali/default.nix
index fdda4930645..f196ada3850 100644
--- a/pkgs/desktops/gnome-3/games/tali/default.nix
+++ b/pkgs/desktops/gnome-3/games/tali/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tali";
-  version = "3.32.0";
+  version = "3.32.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/tali/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0s5clkn0qm298mvphx1xdymg67w1p8vvgvypvs97k6lfjqijkx3v";
+    sha256 = "0na7sswfh63wj44aibcnqdsbb24yfngcwgi07lv8rky6rry0kqgz";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/misc/geary/default.nix b/pkgs/desktops/gnome-3/misc/geary/default.nix
index 54d45eedc3d..8babe77e412 100644
--- a/pkgs/desktops/gnome-3/misc/geary/default.nix
+++ b/pkgs/desktops/gnome-3/misc/geary/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geary";
-  version = "3.32.1";
+  version = "3.32.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "07y5ii5bn7fgdpr88307fwxiafm5fwdxmzwhi6h1y4z880nnzp7f";
+    sha256 = "0sg53zq81v28hdqiy5d048skwfgsa8ck0z7ywsagdh7iaqin68gq";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix b/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix
deleted file mode 100644
index b65e9c1021e..00000000000
--- a/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnome3 }:
-let
-  pname = "gnome-video-effects";
-  version = "0.4.3";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs";
-  };
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-      attrPath = "gnome3.${pname}";
-    };
-  };
-
-  meta = with stdenv.lib; {
-    description = "A collection of GStreamer effects to be used in different GNOME Modules";
-    homepage = https://wiki.gnome.org/Projects/GnomeVideoEffects;
-    platforms = platforms.linux;
-    maintainers = gnome3.maintainers;
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/desktops/lxqt/qterminal/default.nix b/pkgs/desktops/lxqt/qterminal/default.nix
index 748d33aa2ce..c1e4274ab7b 100644
--- a/pkgs/desktops/lxqt/qterminal/default.nix
+++ b/pkgs/desktops/lxqt/qterminal/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/lxqt/qterminal;
     license = licenses.gpl2;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = with maintainers; [ romildo globin ];
   };
 }
diff --git a/pkgs/desktops/xfce4-14/exo/default.nix b/pkgs/desktops/xfce4-14/exo/default.nix
index 933fa595aad..b0dcec78765 100644
--- a/pkgs/desktops/xfce4-14/exo/default.nix
+++ b/pkgs/desktops/xfce4-14/exo/default.nix
@@ -1,26 +1,18 @@
-{ mkXfceDerivation, docbook_xsl, libxslt, perlPackages, gtk3
+{ mkXfceDerivation, docbook_xsl, glib, libxslt, perlPackages, gtk3
 , libxfce4ui, libxfce4util }:
 
 mkXfceDerivation rec {
   category = "xfce";
   pname = "exo";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "0.12.8";
 
-  sha256 = "0s91fv4yzafmdi25c63yin15sa25cfcyarpvavr4q3mmmiamzpi0";
+  sha256 = "013am7q4pwfncf4hk2a3hv7yx2vxgzb5xm8qsi9mxkj29xdhrvs5";
 
-  nativeBuildInputs = [ libxslt perlPackages.URI ];
-  buildInputs = [ gtk3 libxfce4ui libxfce4util ];
+  nativeBuildInputs = [ libxslt perlPackages.URI docbook_xsl ];
+  buildInputs = [ gtk3 glib libxfce4ui libxfce4util ];
 
-  postPatch = ''
-    substituteInPlace exo-helper/Makefile.am \
-      --replace 'exo_helper_2_CFLAGS =' \
-                'exo_helper_2_CFLAGS = $(GIO_UNIX_CFLAGS)'
-
-    substituteInPlace docs/reference/Makefile.am \
-      --replace http://docbook.sourceforge.net/release/xsl/current \
-                ${docbook_xsl}/share/xml/docbook-xsl
-  '';
+  # Workaround https://bugzilla.xfce.org/show_bug.cgi?id=15825
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
   meta = {
     description = "Application library for Xfce";
diff --git a/pkgs/desktops/xfce4-14/garcon/default.nix b/pkgs/desktops/xfce4-14/garcon/default.nix
index a63ddeb52ea..d4e7e2ffc80 100644
--- a/pkgs/desktops/xfce4-14/garcon/default.nix
+++ b/pkgs/desktops/xfce4-14/garcon/default.nix
@@ -3,10 +3,9 @@
 mkXfceDerivation rec {
   category = "xfce";
   pname = "garcon";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "0.6.4";
 
-  sha256 = "0d2fir4vbfdmng9k70nf5zv3fjwgr6g0czrp458x6qswih2gv2ik";
+  sha256 = "0pamhp1wffiw638s66nws2mpzmwkhvhb6iwccfy8b0kyr57wipjv";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util ];
 }
diff --git a/pkgs/desktops/xfce4-14/gigolo/default.nix b/pkgs/desktops/xfce4-14/gigolo/default.nix
index 46b659b11d0..6939e8859ac 100644
--- a/pkgs/desktops/xfce4-14/gigolo/default.nix
+++ b/pkgs/desktops/xfce4-14/gigolo/default.nix
@@ -1,12 +1,12 @@
-{ mkXfceDerivation, exo, gtk3 }:
+{ mkXfceDerivation, exo, gtk3, gvfs, glib }:
 
 mkXfceDerivation rec {
   category = "apps";
   pname = "gigolo";
-  version = "0.4.91";
+  version = "0.5.0";
 
-  sha256 = "1r075hw1jxbpv7jxzyqgfmd2rsw1lykd7snnx736gm55v84k15i7";
+  sha256 = "1lqsxb0d5i8p9vbzx8s4p3rga7va5h1q146xgmsa41j5v40wrlw6";
 
   nativeBuildInputs = [ exo ];
-  buildInputs = [ gtk3 ];
+  buildInputs = [ gtk3 glib gvfs ];
 }
diff --git a/pkgs/desktops/xfce4-14/libxfce4ui/default.nix b/pkgs/desktops/xfce4-14/libxfce4ui/default.nix
index 77083fabbd3..2ea6d195d6f 100644
--- a/pkgs/desktops/xfce4-14/libxfce4ui/default.nix
+++ b/pkgs/desktops/xfce4-14/libxfce4ui/default.nix
@@ -1,17 +1,21 @@
 { lib, mkXfceDerivation, gobject-introspection, gtk2, gtk3, libICE, libSM
-, libstartup_notification ? null, libxfce4util, xfconf }:
+, libstartup_notification, libxfce4util, xfconf }:
 
 mkXfceDerivation rec {
   category = "xfce";
   pname = "libxfce4ui";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "4.14.1";
 
-  sha256 = "0kvqzf91ygxxkcy4drjminby4c3c42c54a3if8jwx0zmgbml7l8q";
+  sha256 = "0fnncf30s51qhgixn57z4d021pjjhzgsg2x69w4dy68vff2347qy";
 
-  buildInputs =  [ gobject-introspection gtk2 gtk3 libstartup_notification xfconf ];
+  nativeBuildInputs = [ gobject-introspection ];
+  buildInputs =  [ gtk2 gtk3 libstartup_notification xfconf ];
   propagatedBuildInputs = [ libxfce4util libICE libSM ];
 
+  configureFlags = [
+    "--with-vendor-info='NixOS'"
+  ];
+
   meta = with lib; {
     description = "Widgets library for Xfce";
     license = licenses.lgpl2Plus;
diff --git a/pkgs/desktops/xfce4-14/libxfce4util/default.nix b/pkgs/desktops/xfce4-14/libxfce4util/default.nix
index e6cafcac8bb..99fe59583aa 100644
--- a/pkgs/desktops/xfce4-14/libxfce4util/default.nix
+++ b/pkgs/desktops/xfce4-14/libxfce4util/default.nix
@@ -3,12 +3,11 @@
 mkXfceDerivation rec {
   category = "xfce";
   pname = "libxfce4util";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "4.14.0";
 
-  sha256 = "0s1fh798v86ifg46qn3zaykpwidn23vpqbkxq1fcbxpxb6rpxxwk";
+  sha256 = "0vq16bzmnykiikg4dhiaj0qbyj76nkdd54j6k6n568h3dc9ix6q4";
 
-  buildInputs = [ gobject-introspection ];
+  nativeBuildInputs = [ gobject-introspection ];
 
   meta = with lib; {
     description = "Extension library for Xfce";
diff --git a/pkgs/desktops/xfce4-14/mkXfceDerivation.nix b/pkgs/desktops/xfce4-14/mkXfceDerivation.nix
index da7179c4646..cf4b5eb3cdc 100644
--- a/pkgs/desktops/xfce4-14/mkXfceDerivation.nix
+++ b/pkgs/desktops/xfce4-14/mkXfceDerivation.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme }:
+{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme, wrapGAppsHook }:
 
 { category, pname, version, rev ? "${pname}-${version}", sha256, ... } @ args:
 
@@ -15,7 +15,7 @@ let
   template = rec {
     name = "${pname}-${version}";
 
-    nativeBuildInputs = [ pkgconfig xfce4-dev-tools ];
+    nativeBuildInputs = [ pkgconfig xfce4-dev-tools wrapGAppsHook ];
     buildInputs = [ hicolor-icon-theme ];
     configureFlags = [ "--enable-maintainer-mode" ];
 
diff --git a/pkgs/desktops/xfce4-14/mousepad/default.nix b/pkgs/desktops/xfce4-14/mousepad/default.nix
index b5fd3a19d06..ca80fd8bf53 100644
--- a/pkgs/desktops/xfce4-14/mousepad/default.nix
+++ b/pkgs/desktops/xfce4-14/mousepad/default.nix
@@ -1,12 +1,15 @@
-{ mkXfceDerivation, exo, wrapGAppsHook, dbus-glib, gtk3, gtksourceview3 }:
+{ mkXfceDerivation, exo, glib, gtk3, gtksourceview3, xfconf }:
 
 mkXfceDerivation rec {
   category = "apps";
   pname = "mousepad";
-  version = "0.4.1";
+  version = "0.4.2";
 
-  sha256 = "0pr1w9n0qq2raxhy78982i9g17x0ya02q7vdrn0wb2bpk74hlki5";
+  sha256 = "0a35vaq4l0d8vzw7hqpvbgkr3wj1sqr2zvj7bc5z4ikz2cppqj7p";
 
-  nativeBuildInputs = [ exo wrapGAppsHook ];
-  buildInputs = [ dbus-glib gtk3 gtksourceview3 ];
+  nativeBuildInputs = [ exo ];
+  buildInputs = [ glib gtk3 gtksourceview3 xfconf ];
+
+  # See https://github.com/NixOS/nixpkgs/issues/36468
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 }
diff --git a/pkgs/desktops/xfce4-14/orage/default.nix b/pkgs/desktops/xfce4-14/orage/default.nix
index 3c8395a4908..8c453aa96a2 100644
--- a/pkgs/desktops/xfce4-14/orage/default.nix
+++ b/pkgs/desktops/xfce4-14/orage/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchpatch, mkXfceDerivation, dbus-glib, gtk2, libical, libnotify, tzdata
-, popt, libxfce4ui ? null, xfce4-panel ? null, withPanelPlugin ? true }:
+, popt, libxfce4ui, xfce4-panel, withPanelPlugin ? true }:
 
 assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null;
 
diff --git a/pkgs/desktops/xfce4-14/parole/default.nix b/pkgs/desktops/xfce4-14/parole/default.nix
index f3a4561826e..578be8329b0 100644
--- a/pkgs/desktops/xfce4-14/parole/default.nix
+++ b/pkgs/desktops/xfce4-14/parole/default.nix
@@ -1,24 +1,22 @@
-{ mkXfceDerivation, makeWrapper, wrapGAppsHook, dbus, dbus-glib
-, gst-plugins-bad ? null, gst-plugins-base, gst-plugins-good
-, gst-plugins-ugly ? null, gtk3, libnotify, libxfce4ui, libxfce4util
-, taglib ? null, xfconf }:
+{ mkXfceDerivation, dbus, dbus-glib
+, gst-plugins-bad, gst-plugins-base, gst-plugins-good
+, gst-plugins-ugly, gtk3, libnotify, libxfce4ui, libxfce4util
+, taglib, xfconf }:
 
 # Doesn't seem to find H.264 codec even though built with gst-plugins-bad.
 
 mkXfceDerivation rec {
   category = "apps";
   pname = "parole";
-  version = "1.0.2";
+  version = "1.0.4";
 
-  sha256 = "11i20pvbrcf1jbn77skb1cg72jdmdd0jvmf5khfn91slqky8gcbl";
+  sha256 = "18j4bmny37crryh4pvxcjjvj99mln6ljq2vy69awxhvrjx9ljv13";
 
   postPatch = ''
     substituteInPlace src/plugins/mpris2/Makefile.am \
       --replace GST_BASE_CFLAGS GST_VIDEO_CFLAGS
   '';
 
-  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
-
   buildInputs = [
     dbus
     dbus-glib
diff --git a/pkgs/desktops/xfce4-14/ristretto/default.nix b/pkgs/desktops/xfce4-14/ristretto/default.nix
index b2da8139930..1c09d3a0c00 100644
--- a/pkgs/desktops/xfce4-14/ristretto/default.nix
+++ b/pkgs/desktops/xfce4-14/ristretto/default.nix
@@ -1,18 +1,13 @@
-{ mkXfceDerivation, automakeAddFlags, exo, dbus-glib, gtk2, libexif
+{ mkXfceDerivation, automakeAddFlags, exo, gtk3, glib, libexif
 , libxfce4ui, libxfce4util, xfconf }:
 
 mkXfceDerivation rec {
   category = "apps";
   pname = "ristretto";
-  version = "0.8.4";
+  version = "0.10.0";
 
-  postPatch = ''
-    automakeAddFlags src/Makefile.am ristretto_CFLAGS DBUS_GLIB_CFLAGS
-    automakeAddFlags src/Makefile.am ristretto_LDADD DBUS_GLIB_LIBS
-  '';
+  sha256 = "07h7wbq3xh2ac6q4kp2ai1incfn0zfxxngap7hzqx47a5xw2mrm8";
 
-  nativeBuildInputs = [ automakeAddFlags exo ];
-  buildInputs = [ dbus-glib gtk2 libexif libxfce4ui libxfce4util xfconf ];
-
-  sha256 = "0vnivwl0xwhzpflys9zwds6x9gqd3v069qn04afmakhi2m8qr6hf";
+  nativeBuildInputs = [ exo ];
+  buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ];
 }
diff --git a/pkgs/desktops/xfce4-14/thunar-volman/default.nix b/pkgs/desktops/xfce4-14/thunar-volman/default.nix
index db7324140c5..1fa714c7ff1 100644
--- a/pkgs/desktops/xfce4-14/thunar-volman/default.nix
+++ b/pkgs/desktops/xfce4-14/thunar-volman/default.nix
@@ -3,10 +3,9 @@
 mkXfceDerivation rec {
   category = "xfce";
   pname = "thunar-volman";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "0.9.5";
 
   buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ];
 
-  sha256 = "0jl863z6rxz50vqa31s58dfn429yn5x8scg492bvgl4cnmni6a30";
+  sha256 = "1qrlpn0q5g9psd41l6y80r3bvbg8jaic92m6r400zzwcvivf95z0";
 }
diff --git a/pkgs/desktops/xfce4-14/thunar/default.nix b/pkgs/desktops/xfce4-14/thunar/default.nix
index 27fe256490a..ed0be442023 100644
--- a/pkgs/desktops/xfce4-14/thunar/default.nix
+++ b/pkgs/desktops/xfce4-14/thunar/default.nix
@@ -1,21 +1,14 @@
-{ mkXfceDerivation, docbook_xsl, exo, gdk-pixbuf, gtk3, libgudev ? null
-, libnotify ? null, libX11, libxfce4ui, libxfce4util, libxslt, xfconf }:
+{ mkXfceDerivation, docbook_xsl, exo, gdk-pixbuf, gtk3, libgudev
+, libnotify, libX11, libxfce4ui, libxfce4util, libxslt, xfconf, gobject-introspection, gvfs }:
 
 mkXfceDerivation rec {
   category = "xfce";
   pname = "thunar";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "1.8.9";
 
-  sha256 = "0b17yf8ss8s8xyr65v4zrq15ayr5nskqpxy4wxah33n7lz09dh8r";
+  sha256 = "01w60csbs2nq1bhb8n1bnmjmx48fm0va3qbnq84z0h2dxpr80b1w";
 
-  postPatch = ''
-    substituteInPlace docs/Makefile.am \
-      --replace http://docbook.sourceforge.net/release/xsl/current \
-                ${docbook_xsl}/share/xml/docbook-xsl
-  '';
-
-  nativeBuildInputs = [ libxslt ];
+  nativeBuildInputs = [ libxslt docbook_xsl gobject-introspection ];
 
   buildInputs = [
     exo
@@ -27,5 +20,6 @@ mkXfceDerivation rec {
     libxfce4ui
     libxfce4util
     xfconf
+    gvfs
   ];
 }
diff --git a/pkgs/desktops/xfce4-14/tumbler/default.nix b/pkgs/desktops/xfce4-14/tumbler/default.nix
index 81cc0922ff3..81b00808336 100644
--- a/pkgs/desktops/xfce4-14/tumbler/default.nix
+++ b/pkgs/desktops/xfce4-14/tumbler/default.nix
@@ -1,15 +1,30 @@
-{ mkXfceDerivation, gdk-pixbuf ? null, ffmpegthumbnailer ? null, libgsf ? null
-, poppler ? null }:
+{ mkXfceDerivation
+, ffmpegthumbnailer
+, gdk-pixbuf
+, glib
+, freetype
+, libgsf
+, poppler
+, libjpeg
+, gst_all_1
+}:
 
 # TODO: add libopenraw
 
 mkXfceDerivation rec {
   category = "xfce";
   pname = "tumbler";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "0.2.7";
 
-  sha256 = "1k579g8dmcfpw1vakspv6k2qkr1y1axyr8cbd0fqjhqdj4pis81i";
+  sha256 = "14ql3fcxyz81qr9s0vcwh6j2ks5fl8jf9scwnkilv5jy0ii9l0ry";
 
-  buildInputs = [ gdk-pixbuf ffmpegthumbnailer libgsf poppler ];
+  buildInputs = [
+    ffmpegthumbnailer
+    freetype
+    gdk-pixbuf
+    glib
+    gst_all_1.gst-plugins-base
+    libgsf
+    poppler # technically the glib binding
+  ];
 }
diff --git a/pkgs/desktops/xfce4-14/xfburn/default.nix b/pkgs/desktops/xfce4-14/xfburn/default.nix
index b8a61f6cf90..97d08636656 100644
--- a/pkgs/desktops/xfce4-14/xfburn/default.nix
+++ b/pkgs/desktops/xfce4-14/xfburn/default.nix
@@ -5,14 +5,8 @@ mkXfceDerivation rec {
   pname = "xfburn";
   version = "0.5.5";
 
-  postPatch = ''
-    substituteInPlace docs/Makefile.am \
-      --replace http://docbook.sourceforge.net/release/xsl/current \
-                ${docbook_xsl}/share/xml/docbook-xsl
-  '';
-
   sha256 = "1lmv48vqrlap1a2ha72g16vqly18zvcwj8y3f3f00l10pmn52bkp";
 
-  nativeBuildInputs = [ libxslt ];
+  nativeBuildInputs = [ libxslt docbook_xsl ];
   buildInputs = [ exo gtk2 libburn libisofs libxfce4ui ];
 }
diff --git a/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix b/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix
index 22a6b6fedd2..312e64cdbbe 100644
--- a/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix
+++ b/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix
@@ -3,10 +3,9 @@
 mkXfceDerivation rec {
   category = "xfce";
   pname = "xfce4-appfinder";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "4.14.0";
 
-  sha256 = "0vr5lx4fv0kldqvqfnsjp6ss7ciz0b2yjq4fhmrhk8czkf8p7va8";
+  sha256 = "04h7jxfm3wkxnxfy8149dckay7i160vvk4p9lnq6xny22r4x20h8";
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ];
diff --git a/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix b/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix
index 49133b0ba2d..b18f3fd45d6 100644
--- a/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix
+++ b/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix
@@ -4,10 +4,9 @@
 mkXfceDerivation rec {
   category = "xfce";
   pname = "xfce4-dev-tools";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "4.14.0";
 
-  sha256 = "11g5byxjihgkn0wi7gp8627d04wr59k117lpv53vdbsvv2qgksmg";
+  sha256 = "10hcj88784faqrk08xb538355cla26vdk9ckx158hqdqv38sb42f";
 
   nativeBuildInputs = [ autoreconfHook ];
 
diff --git a/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix b/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix
index 98ed6882a02..a99c3ecb984 100644
--- a/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix
+++ b/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix
@@ -1,4 +1,4 @@
-{ mkXfceDerivation, dbus-glib, exo, gtk3, libnotify, libxfce4ui, libxfce4util
+{ mkXfceDerivation, glib, exo, gtk3, libnotify, libxfce4ui, libxfce4util
 , xfce4-panel, xfconf }:
 
 mkXfceDerivation rec {
@@ -8,5 +8,5 @@ mkXfceDerivation rec {
 
   sha256 = "1lmm9h3ych8dz9jpjkxg91f9ln14xs527nxjxsryks00kmqk4kai";
 
-  buildInputs = [ dbus-glib exo gtk3 libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];
+  buildInputs = [ exo gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];
 }
diff --git a/pkgs/desktops/xfce4-14/xfce4-panel/default.nix b/pkgs/desktops/xfce4-14/xfce4-panel/default.nix
index 4f1de32abdf..27acb3bee58 100644
--- a/pkgs/desktops/xfce4-14/xfce4-panel/default.nix
+++ b/pkgs/desktops/xfce4-14/xfce4-panel/default.nix
@@ -1,15 +1,14 @@
-{ mkXfceDerivation, makeWrapper, tzdata, exo, garcon, gtk2, gtk3, gettext, glib-networking, libxfce4ui, libxfce4util, libwnck3, xfconf }:
+{ mkXfceDerivation, tzdata, exo, garcon, gtk2, gtk3, glib, gettext, glib-networking, libxfce4ui, libxfce4util, libwnck3, xfconf, gobject-introspection }:
 
 mkXfceDerivation rec {
   category = "xfce";
   pname = "xfce4-panel";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "4.14.0";
 
-  sha256 = "1p0bkbxjh14kgny2lpcjg2q8pm55l8i7qsr5bsvdppw3ab46kz34";
+  sha256 = "1v3f2xjz9gwa8maqqvv9w2dh1cgy03v89a9ny7nrv0cjsxwwrr15";
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ exo garcon gtk2 gtk3 libxfce4ui libxfce4util libwnck3 xfconf ];
+  nativeBuildInputs = [ gobject-introspection ];
+  buildInputs = [ exo garcon gtk2 gtk3 glib glib-networking libxfce4ui libxfce4util libwnck3 xfconf ];
 
   patches = [ ../../xfce/core/xfce4-panel-datadir.patch ];
   patchFlags = "-p1";
@@ -19,18 +18,11 @@ mkXfceDerivation rec {
       substituteInPlace $f --replace gettext ${gettext}/bin/gettext
     done
     substituteInPlace plugins/clock/clock.c \
-       --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" \
-       --replace "if (!g_file_test (filename, G_FILE_TEST_IS_SYMLINK))" ""
+       --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
   '';
 
   configureFlags = [ "--enable-gtk3" ];
 
-  postInstall = ''
-    wrapProgram "$out/bin/xfce4-panel" \
-      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
-      --prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules"
-  '';
-
   meta =  {
     description = "Xfce's panel";
   };
diff --git a/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix b/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix
index a855f2c977e..115668334c3 100644
--- a/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix
+++ b/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix
@@ -4,10 +4,9 @@
 mkXfceDerivation rec {
   category = "xfce";
   pname = "xfce4-power-manager";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "1.6.5";
 
-  sha256 = "1x1ssji4v9qp64si38paz15bgsgs1w3hkx080qznnmcxqlg7zpj9";
+  sha256 = "0zazm2cgkz5xj7rvy9gbh4kaay2anfcmawg4gj38pnq3a8zcwwd5";
 
   nativeBuildInputs = [ automakeAddFlags exo ];
   buildInputs = [ gtk3 libnotify libxfce4ui libxfce4util upower xfconf ];
diff --git a/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix
index 95af146903b..0f74a78e8f2 100644
--- a/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix
+++ b/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix
@@ -1,4 +1,4 @@
-{ mkXfceDerivation, exo, gtk3, libsoup, libxfce4ui, libxfce4util, xfce4-panel, wrapGAppsHook, glib-networking }:
+{ mkXfceDerivation, exo, gtk3, libsoup, libxfce4ui, libxfce4util, xfce4-panel, glib-networking }:
 
 mkXfceDerivation rec {
   category = "apps";
@@ -7,6 +7,5 @@ mkXfceDerivation rec {
 
   sha256 = "1h14sywvk9l06p3z1cpb79911j8w2wqbk03ldknjkia2rfymjk06";
 
-  nativeBuildInputs = [ wrapGAppsHook ]; # fix "No GSettings schemas are installed on the system"
   buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ];
 }
diff --git a/pkgs/desktops/xfce4-14/xfce4-session/default.nix b/pkgs/desktops/xfce4-14/xfce4-session/default.nix
index a39a70b09a8..070f40b52d5 100644
--- a/pkgs/desktops/xfce4-14/xfce4-session/default.nix
+++ b/pkgs/desktops/xfce4-14/xfce4-session/default.nix
@@ -1,26 +1,18 @@
-{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, dbus-glib, dbus, iceauth, gtk3, libwnck3, xorg }:
+{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg }:
 
 mkXfceDerivation rec {
   category = "xfce";
   pname = "xfce4-session";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "4.14.0";
 
-  sha256 = "1asfy11rp6zmn70a3w5dqssxpxywhpm9ns7zyiaz6pnpcq075dr0";
+  sha256 = "0v0xzkdr5rgv6219c1dy96cghgw8bqnb313jccxihfgddf363104";
 
-  buildInputs = [ exo dbus-glib dbus gtk3 libxfce4ui libxfce4util libwnck3 xfconf polkit iceauth ];
+  buildInputs = [ exo gtk3 glib libxfce4ui libxfce4util libwnck3 xfconf polkit iceauth ];
 
-  configureFlags = [ "--with-xsession-prefix=$(out)" ];
+  configureFlags = [ "--with-xsession-prefix=${placeholder ''out''}" ];
 
-  NIX_CFLAGS_COMPILE = [ "-I${dbus-glib.dev}/include/dbus-1.0"
-                         "-I${dbus.dev}/include/dbus-1.0"
-                         "-I${dbus.lib}/lib/dbus-1.0/include"
-                       ];
-
-  postPatch = ''
-    substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0
-    substituteInPlace scripts/xflock4 --replace PATH=/bin:/usr/bin "PATH=\$PATH:$out/bin:${xorg.xset}/bin"
-  '';
+  # See https://github.com/NixOS/nixpkgs/issues/36468
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
   meta =  {
     description = "Session manager for Xfce";
diff --git a/pkgs/desktops/xfce4-14/xfce4-settings/default.nix b/pkgs/desktops/xfce4-14/xfce4-settings/default.nix
index a939f5e213c..21aaef5fd08 100644
--- a/pkgs/desktops/xfce4-14/xfce4-settings/default.nix
+++ b/pkgs/desktops/xfce4-14/xfce4-settings/default.nix
@@ -1,35 +1,32 @@
-{ mkXfceDerivation, automakeAddFlags, exo, garcon, gtk3
-, libnotify ? null, libxfce4ui, libxfce4util, libxklavier ? null
-, upower ? null, xfconf, xf86inputlibinput ? null }:
+{ mkXfceDerivation, automakeAddFlags, exo, garcon, gtk3, glib
+, libnotify, libxfce4ui, libxfce4util, libxklavier
+, upower, xfconf, xf86inputlibinput }:
 
 mkXfceDerivation rec {
   category = "xfce";
   pname = "xfce4-settings";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "4.14.0";
 
-  sha256 = "0agi5flbzbc9q29yh7wbk3giif74finf4shq3q7v2h91w5kvyc9j";
+  sha256 = "13gmxd4sfgd6wky7s03bar58w9vl4i6jv2wncd6iajww791y5akn";
 
   postPatch = ''
-    automakeAddFlags xfce4-settings-editor/Makefile.am xfce4_settings_editor_CFLAGS DBUS_GLIB_CFLAGS
     for f in $(find . -name \*.c); do
       substituteInPlace $f --replace \"libinput-properties.h\" '<xorg/libinput-properties.h>'
     done
   '';
 
-  nativeBuildInputs = [ automakeAddFlags ];
-
   buildInputs = [
     exo
     garcon
+    glib
     gtk3
     libnotify
     libxfce4ui
     libxfce4util
     libxklavier
     upower
-    xfconf
     xf86inputlibinput
+    xfconf
   ];
 
   configureFlags = [
diff --git a/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix b/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix
index 6bc88ee7661..e62332343ba 100644
--- a/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix
+++ b/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix
@@ -1,14 +1,13 @@
-{ mkXfceDerivation, gtk3, libxfce4ui, wrapGAppsHook, vte }:
+{ mkXfceDerivation, gtk3, libxfce4ui, vte, xfconf }:
 
 mkXfceDerivation rec {
   category = "apps";
   pname = "xfce4-terminal";
-  version = "0.8.7.4";
+  version = "0.8.8";
 
-  sha256 = "1s1dq560icg602jjb2ja58x7hxg4ikp3jrrf74v3qgi0ir950k2y";
+  sha256 = "0sg9vwyvhh7pjp83biv7gvf42423a7ly4dc7q2gn28kp6bds2qcp";
 
-  buildInputs = [ gtk3 libxfce4ui vte ];
-  nativeBuildInputs = [ wrapGAppsHook ];
+  buildInputs = [ gtk3 libxfce4ui vte xfconf ];
 
   meta = {
     description = "A modern terminal emulator";
diff --git a/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix b/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix
index 626451c70d6..b1405910021 100644
--- a/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix
+++ b/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkXfceDerivation, gtk3, libnotify ? null, libpulseaudio, keybinder3, xfconf }:
+{ lib, mkXfceDerivation, gtk3, libnotify, libpulseaudio, keybinder3, xfconf }:
 
 mkXfceDerivation rec {
   category = "apps";
diff --git a/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix
index 41cd491a7dc..f943f2ab333 100644
--- a/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix
+++ b/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix
@@ -1,15 +1,15 @@
-{ mkXfceDerivation, dbus-glib, gtk3, cmake, exo, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
+{ mkXfceDerivation, gtk3, glib, cmake, exo, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
 
 mkXfceDerivation rec {
   category = "panel-plugins";
   pname = "xfce4-whiskermenu-plugin";
-  version = "2.3.2";
+  version = "2.3.3";
   rev = "v${version}";
-  sha256 = "0ha6c259d7a0wzpf87ynyzpj3y178iwhpcb87m9zxm66i513qmbs";
+  sha256 = "0agh0a5srsy6vi6r50ak9rb42r7vcnfv6nfvg4qbqi77yc44yqdb";
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ dbus-glib exo garcon gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
+  buildInputs = [ exo garcon gtk3 glib libxfce4ui libxfce4util xfce4-panel xfconf ];
 
   postInstall = ''
     substituteInPlace $out/bin/xfce4-popup-whiskermenu \
diff --git a/pkgs/desktops/xfce4-14/xfconf/default.nix b/pkgs/desktops/xfce4-14/xfconf/default.nix
index 8a37aefab41..8e56e0f8b37 100644
--- a/pkgs/desktops/xfce4-14/xfconf/default.nix
+++ b/pkgs/desktops/xfce4-14/xfconf/default.nix
@@ -3,10 +3,9 @@
 mkXfceDerivation rec {
   category = "xfce";
   pname = "xfconf";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "4.14.1";
 
-  sha256 = "056r2dkkw8hahqin1p5k8rz0r9r0z8piniy855nd1ns0mx2sh47k";
+  sha256 = "1mbqc1463xgn7gafbh2fyshshdxin33iwk96y4nw2gl48nhx4sgs";
 
   buildInputs = [ libxfce4util ];
 }
diff --git a/pkgs/desktops/xfce4-14/xfdesktop/default.nix b/pkgs/desktops/xfce4-14/xfdesktop/default.nix
index 6b99b1b6a35..c4b7d738b32 100644
--- a/pkgs/desktops/xfce4-14/xfdesktop/default.nix
+++ b/pkgs/desktops/xfce4-14/xfdesktop/default.nix
@@ -1,14 +1,11 @@
-{ mkXfceDerivation, exo, wrapGAppsHook, gtk3, libxfce4ui, libxfce4util, libwnck3, xfconf }:
+{ mkXfceDerivation, exo, gtk3, libxfce4ui, libxfce4util, libwnck3, xfconf, libnotify, garcon, thunar }:
 
 mkXfceDerivation rec {
   category = "xfce";
   pname = "xfdesktop";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "4.14.1";
 
-  sha256 = "14sfcxbwxhhwn9nmiap46nz6idvw5hwr8wyjqrhq4h79x78g18k4";
-
-  nativeBuildInputs = [ wrapGAppsHook ]; # fix "No GSettings schemas are installed on the system"
+  sha256 = "006w4xwmpwp34q2qkkixr3xz0vb0kny79pw64yj4304wsb5jr14g";
 
   buildInputs = [
     exo
@@ -17,6 +14,9 @@ mkXfceDerivation rec {
     libxfce4util
     libwnck3
     xfconf
+    libnotify
+    garcon
+    thunar
   ];
 
   meta = {
diff --git a/pkgs/desktops/xfce4-14/xfwm4/default.nix b/pkgs/desktops/xfce4-14/xfwm4/default.nix
index 34b5bdae45a..b84487c09ae 100644
--- a/pkgs/desktops/xfce4-14/xfwm4/default.nix
+++ b/pkgs/desktops/xfce4-14/xfwm4/default.nix
@@ -5,10 +5,9 @@
 mkXfceDerivation rec {
   category = "xfce";
   pname = "xfwm4";
-  version = "4.14pre2";
-  rev = "xfce-4.14pre2";
+  version = "4.14.0";
 
-  sha256 = "00nysv5qrv5n4xzyqv4jnsmgljwr2wyynis1gpdbm2kvl5ndxrrd";
+  sha256 = "1z5aqij2d8n9wnha88b0qzkvss54jvqs8w1w5m3mzjl4c9mn9n8m";
 
   nativeBuildInputs = [ exo librsvg ];
 
diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
index a166954dc21..305e0f202bf 100644
--- a/pkgs/development/compilers/icedtea-web/default.nix
+++ b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cargo, rustc, autoreconfHook, jdk, glib, xulrunner, zip, pkgconfig, npapi_sdk, bash, bc }:
 
 stdenv.mkDerivation rec {
-  pname = "icedtea-web";
+  pname = "adoptopenjdk-icedtea-web";
 
   version = "1.8.3";
 
   src = fetchFromGitHub {
     owner = "AdoptOpenJDK";
     repo = "IcedTea-Web";
-    rev = "${pname}-${version}";
+    rev = "icedtea-web-${version}";
     sha256 = "0bm5k11i2vgb54ch1bawsmjbwnqnp04saadwm2f2mggmmdc6b1qq";
   };
 
diff --git a/pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch b/pkgs/development/compilers/adoptopenjdk-icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch
index 85cad6cf467..85cad6cf467 100644
--- a/pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch
+++ b/pkgs/development/compilers/adoptopenjdk-icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch
diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
index 20506508b9c..940eb851fe6 100644
--- a/pkgs/development/compilers/compcert/default.nix
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''
     substituteInPlace ./configure \
+      --replace '|8.9.0' '|8.9.0|8.9.1' \
       --replace '{toolprefix}gcc' '{toolprefix}cc'
   '';
 
diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix
index 809fc6a4cf1..2a90902df1e 100644
--- a/pkgs/development/compilers/edk2/default.nix
+++ b/pkgs/development/compilers/edk2/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, fetchpatch, libuuid, python2, iasl }:
+{ stdenv, fetchgit, fetchpatch, libuuid, python3, iasl, bc }:
 
 let
-  pythonEnv = python2.withPackages(ps: [ps.tkinter]);
+  pythonEnv = python3.withPackages (ps: [ps.tkinter]);
 
 targetArch = if stdenv.isi686 then
   "IA32"
@@ -13,80 +13,67 @@ else
   throw "Unsupported architecture";
 
 edk2 = stdenv.mkDerivation {
-  name = "edk2-2017-12-05";
-
-  src = fetchFromGitHub {
-    owner = "tianocore";
-    repo = "edk2";
-    rev = "f71a70e7a4c93a6143d7bad8ab0220a947679697";
-    sha256 = "0k48xfwxcgcim1bhkggc19hilvsxsf5axvvcpmld0ng1fcfg0cr6";
+  pname = "edk2";
+  version = "201905";
+
+  # submodules
+  src = fetchgit {
+    url = "https://github.com/tianocore/edk2";
+    rev = "edk2-stable${edk2.version}";
+    sha256 = "0fk40h4nj4qg8shg0yd1zj4iyspslms5fx95ysi04akv90k5sqkn";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "short-circuit-the-transfer-of-an-empty-S3_CONTEXT.patch";
-      url = "https://github.com/tianocore/edk2/commit/9e2a8e928995c3b1bb664b73fd59785055c6b5f6.diff";
-      sha256 = "0x24npijhgpjpsn3n74wayf8qcbaj97vi4z2iyf4almavqq8qaz4";
-    })
-  ];
-
   buildInputs = [ libuuid pythonEnv ];
 
-  makeFlags = "-C BaseTools";
+  makeFlags = [ "-C BaseTools" ];
 
   hardeningDisable = [ "format" "fortify" ];
 
   installPhase = ''
     mkdir -vp $out
     mv -v BaseTools $out
-    mv -v EdkCompatibilityPkg $out
     mv -v edksetup.sh $out
   '';
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Intel EFI development kit";
     homepage = https://sourceforge.net/projects/edk2/;
-    license = stdenv.lib.licenses.bsd2;
-    branch = "UDK2017";
-    platforms = ["x86_64-linux" "i686-linux" "aarch64-linux"];
+    license = licenses.bsd2;
+    platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
   };
 
   passthru = {
-    setup = projectDscPath: attrs: {
-      buildInputs = [ pythonEnv ] ++
-        stdenv.lib.optionals (attrs ? buildInputs) attrs.buildInputs;
+    mkDerivation = projectDscPath: attrs: stdenv.mkDerivation ({
+      inherit (edk2) src;
 
-      configurePhase = ''
-        mkdir -v Conf
+      buildInputs = [ bc pythonEnv ] ++ attrs.buildInputs or [];
 
-        cp ${edk2}/BaseTools/Conf/target.template Conf/target.txt
-        sed -i Conf/target.txt \
-          -e 's|Nt32Pkg/Nt32Pkg.dsc|${projectDscPath}|' \
-          -e 's|MYTOOLS|GCC49|' \
-          -e 's|IA32|${targetArch}|' \
-          -e 's|DEBUG|RELEASE|'\
-
-        cp ${edk2}/BaseTools/Conf/tools_def.template Conf/tools_def.txt
-        sed -i Conf/tools_def.txt \
-          -e 's|DEFINE GCC48_IA32_PREFIX       = /usr/bin/|DEFINE GCC48_IA32_PREFIX       = ""|' \
-          -e 's|DEFINE GCC48_X64_PREFIX        = /usr/bin/|DEFINE GCC48_X64_PREFIX        = ""|' \
-          -e 's|DEFINE UNIX_IASL_BIN           = /usr/bin/iasl|DEFINE UNIX_IASL_BIN           = ${iasl}/bin/iasl|'
+      prePatch = ''
+        rm -rf BaseTools
+        ln -sv ${edk2}/BaseTools BaseTools
+      '';
 
+      configurePhase = ''
+        runHook preConfigure
         export WORKSPACE="$PWD"
-        export EFI_SOURCE="$PWD/EdkCompatibilityPkg"
-        ln -sv ${edk2}/BaseTools BaseTools
-        ln -sv ${edk2}/EdkCompatibilityPkg EdkCompatibilityPkg
         . ${edk2}/edksetup.sh BaseTools
+        runHook postConfigure
       '';
 
-      buildPhase = "
-        build
-      ";
+      buildPhase = ''
+        runHook preBuild
+        build -a ${targetArch} -b RELEASE -t GCC5 -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags
+        runHook postBuild
+      '';
 
-      installPhase = "mv -v Build/*/* $out";
-    } // (removeAttrs attrs [ "buildInputs" ] );
+      installPhase = ''
+        runHook preInstall
+        mv -v Build/*/* $out
+        runHook postInstall
+      '';
+    } // removeAttrs attrs [ "buildInputs" ]);
   };
 };
 
diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix
index 98cc2804f60..44d784133f5 100644
--- a/pkgs/development/compilers/fasm/bin.nix
+++ b/pkgs/development/compilers/fasm/bin.nix
@@ -3,11 +3,11 @@
 stdenvNoCC.mkDerivation rec {
   name = "fasm-bin-${version}";
 
-  version = "1.73.15";
+  version = "1.73.16";
 
   src = fetchurl {
     url = "https://flatassembler.net/fasm-${version}.tgz";
-    sha256 = "0yc30y4hkr226629347gcrzi153f10hcp5q7bm3q6ir3gx35xa39";
+    sha256 = "1jaqm7w458ny37fsw3fln17kw31rcsk8kyadci45qcbw6jspmn7k";
   };
 
   installPhase = ''
diff --git a/pkgs/development/compilers/flux/default.nix b/pkgs/development/compilers/flux/default.nix
new file mode 100644
index 00000000000..c599c9f8baf
--- /dev/null
+++ b/pkgs/development/compilers/flux/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "flux";
+  version = "2013-09-20";
+
+  src = fetchFromGitHub {
+    owner = "deniskropp";
+    repo = pname;
+    rev = "e45758aa9384b9740ff021ea952399fd113eb0e9";
+    sha256 = "11f3ypg0sdq5kj69zgz6kih1yrzgm48r16spyvzwvlswng147410";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  meta = with lib; {
+    description = "An interface description language used by DirectFB";
+    homepage = "https://github.com/deniskropp/flux";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index 0d75de7557b..506cfee7f49 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -37,7 +37,7 @@ assert langGo -> langCC;
 with stdenv.lib;
 with builtins;
 
-let version = "9.1.0";
+let version = "9.2.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -131,7 +131,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
-    sha256 = "1817nc2bqdc251k0lpc51cimna7v68xjrnvqzvc50q3ax4s6i9kr";
+    sha256 = "01mj3yk7z49i49168hg2cg7qs4bsccrrnv7pjmbdlf8j2a7z0vpa";
   };
 
   inherit patches;
diff --git a/pkgs/development/compilers/graalvm/enterprise-edition.nix b/pkgs/development/compilers/graalvm/enterprise-edition.nix
new file mode 100644
index 00000000000..73023a7668e
--- /dev/null
+++ b/pkgs/development/compilers/graalvm/enterprise-edition.nix
@@ -0,0 +1,133 @@
+{ stdenv, requireFile, perl, unzip, glibc, zlib, gdk-pixbuf, xorg, glib, fontconfig, freetype, cairo, pango, gtk3, gtk2, ffmpeg, libGL, atk, alsaLib, libav_0_8, setJavaClassPath }:
+
+let
+  graalvm8-ee = stdenv.mkDerivation rec {
+    pname = "graalvm8-ee";
+    version = "19.1.1";
+    srcs = [
+      (requireFile {
+         name   = "graalvm-ee-linux-amd64-${version}.tar.gz";
+         sha256 = "1ayg4chiw08jbrivmsylh6275sn0ygzc0iaic28fk7hhw5dc6r2f";
+         url    = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
+      })
+      (requireFile {
+         name   = "native-image-installable-svm-svmee-linux-amd64-${version}.jar";
+         sha256 = "1mvc4id193gl482fnjcgh4dz29ifqwigqq68ib0i1p3ks1nnj717";
+         url    = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
+      })
+      (requireFile {
+         name   = "python-installable-svm-svmee-linux-amd64-${version}.jar";
+         sha256 = "0q7sggqk5myad053dsfw2i1n8v4wspahg1ac7zr3y3srqvdb0xfp";
+         url    = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
+      })
+      (requireFile {
+         name   = "ruby-installable-svm-svmee-linux-amd64-${version}.jar";
+         sha256 = "1xax1bg155d74jhv7h0qb7vbc95jy4wm4bvbpvr76ivzn7qaml6j";
+         url    = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
+      })
+    ];
+    nativeBuildInputs = [ unzip perl ];
+    unpackPhase = ''
+      unpack_jar() {
+        jar=$1
+        unzip $jar -d $out
+        perl -ne 'use File::Path qw(make_path);
+                  use File::Basename qw(dirname);
+                  if (/^(.+) = (.+)$/) {
+                    make_path dirname("$ENV{out}/$1");
+                    system "ln -s $2 $ENV{out}/$1";
+                  }' $out/META-INF/symlinks
+        perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) {
+                    my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4  eq 'x' ? 0100 : 0) +
+                               ($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7  eq 'x' ? 0010 : 0) +
+                               ($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0);
+                    chmod $mode, "$ENV{out}/$1";
+                  }' $out/META-INF/permissions
+        rm -rf $out/META-INF
+      }
+
+      mkdir -p $out
+      arr=($srcs)
+      tar xf ''${arr[0]} -C $out --strip-components=1
+      unpack_jar ''${arr[1]}
+      unpack_jar ''${arr[2]}
+      unpack_jar ''${arr[3]}
+    '';
+
+    installPhase = ''
+      # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
+      substituteInPlace $out/jre/lib/security/java.security \
+        --replace file:/dev/random    file:/dev/./urandom \
+        --replace NativePRNGBlocking  SHA1PRNG
+
+      # provide libraries needed for static compilation
+      for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
+        ln -s $f $out/jre/lib/svm/clibraries/linux-amd64/$(basename $f)
+      done
+    '';
+
+    dontStrip = true;
+
+    preFixup = ''
+      # Set JAVA_HOME automatically.
+      mkdir -p $out/nix-support
+      cat <<EOF > $out/nix-support/setup-hook
+      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+      EOF
+    '';
+
+    postFixup = ''
+      rpath="$out/jre/lib/amd64/jli:$out/jre/lib/amd64/server:$out/jre/lib/amd64:${
+        stdenv.lib.strings.makeLibraryPath [ glibc xorg.libXxf86vm xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXrender
+                                             glib zlib alsaLib fontconfig freetype pango gtk3 gtk2 cairo gdk-pixbuf atk ffmpeg libGL ]}"
+
+      for f in $(find $out -type f -perm -0100); do
+        patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f" || true
+        patchelf --set-rpath   "$rpath"                                    "$f" || true
+      done
+
+      for f in $(find $out -type f -perm -0100); do
+        if ldd "$f" | fgrep 'not found'; then echo "in file $f"; fi
+      done
+    '';
+
+    propagatedBuildInputs = [ setJavaClassPath zlib ]; # $out/bin/native-image needs zlib to build native executables
+    
+    doInstallCheck = true;
+    installCheckPhase = ''
+      echo ${stdenv.lib.escapeShellArg ''
+               public class HelloWorld {
+                 public static void main(String[] args) {
+                   System.out.println("Hello World");
+                 }
+               }
+             ''} > HelloWorld.java
+      $out/bin/javac HelloWorld.java
+
+      # run on JVM with Graal Compiler
+      $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld
+      $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
+
+      # Ahead-Of-Time compilation
+      $out/bin/native-image --no-server HelloWorld
+      ./helloworld
+      ./helloworld | fgrep 'Hello World'
+
+      # Ahead-Of-Time compilation with --static
+      $out/bin/native-image --no-server --static HelloWorld
+      ./helloworld
+      ./helloworld | fgrep 'Hello World'
+    '';
+
+    passthru.home = graalvm8-ee;
+
+    meta = with stdenv.lib; {
+      homepage = https://www.graalvm.org/;
+      description = "High-Performance Polyglot VM";
+      license = licenses.unfree;
+      maintainers = with maintainers; [ volth hlolli ];
+      platforms = [ "x86_64-linux" ];
+    };
+  };
+in
+  graalvm8-ee
diff --git a/pkgs/development/compilers/julia/1.0.nix b/pkgs/development/compilers/julia/1.0.nix
index a679eda3306..3cd9daee141 100644
--- a/pkgs/development/compilers/julia/1.0.nix
+++ b/pkgs/development/compilers/julia/1.0.nix
@@ -1,8 +1,8 @@
 import ./shared.nix {
   majorVersion = "1";
   minorVersion = "0";
-  maintenanceVersion = "3";
-  src_sha256 = "0666chsc19wx02k5m1yilf6wbc9bw27ay8p1d00jkh8m0jkrpf7l";
+  maintenanceVersion = "4";
+  src_sha256 = "1dfx68wbrrzpbh74rla7i2g3r5z6wa1pxq3ahyfm5m27vfyjbkhg";
 
   libuvVersion = "ed3700c849289ed01fe04273a7bf865340b2bd7e";
   libuvSha256 = "137w666zsjw1p0ma3lf94d75hr1q45sgkfmbizkyji2qm57cnxjs";
diff --git a/pkgs/development/compilers/julia/1.1.nix b/pkgs/development/compilers/julia/1.1.nix
index a868f949d27..5be34b4c4b4 100644
--- a/pkgs/development/compilers/julia/1.1.nix
+++ b/pkgs/development/compilers/julia/1.1.nix
@@ -1,8 +1,8 @@
 import ./shared.nix {
   majorVersion = "1";
   minorVersion = "1";
-  maintenanceVersion = "0";
-  src_sha256 = "08fyck4qcdv9nnrdqh1wb7lb8pkkikh67xx5lc872sjl9w3p0sak";
+  maintenanceVersion = "1";
+  src_sha256 = "1yqjd0n42xf9hzxpvc9vysyjj98p42by216jkdqakdy7dkjcmnhq";
 
   libuvVersion = "2348256acf5759a544e5ca7935f638d2bc091d60";
   libuvSha256 = "1363f4vqayfcv5zqg07qmzjff56yhad74k16c22ian45lram8mv8";
diff --git a/pkgs/development/compilers/mosml/default.nix b/pkgs/development/compilers/mosml/default.nix
index bc79a64fd77..19324593a30 100644
--- a/pkgs/development/compilers/mosml/default.nix
+++ b/pkgs/development/compilers/mosml/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gmp perl ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "CC=cc" ];
 
   src = fetchurl {
     url = "https://github.com/kfl/mosml/archive/ver-${version}.tar.gz";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://mosml.org/;
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ vaibhavsagar ];
   };
 }
diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix
index d32d3fa67f1..c1e01ef7782 100644
--- a/pkgs/development/compilers/nextpnr/default.nix
+++ b/pkgs/development/compilers/nextpnr/default.nix
@@ -2,58 +2,44 @@
 , boost, python3, eigen
 , icestorm, trellis
 
-# TODO(thoughtpolice) Currently the GUI build seems broken at runtime on my
-# laptop (and over a remote X server on my server...), so mark it broken for
-# now, with intent to fix later.
-, enableGui ? false
-, qtbase, wrapQtAppsHook
+, enableGui ? true
+, wrapQtAppsHook
+, qtbase
 }:
 
 let
   boostPython = boost.override { python = python3; enablePython = true; };
-
-  # This is a massive hack. For now, Trellis doesn't really support
-  # installation through an already-built package; you have to build it once to
-  # get the tools, then reuse the build directory to build nextpnr -- the
-  # 'install' phase doesn't install everything it needs.  This will be fixed in
-  # the future but for now we can do this horrific thing.
-  trellisRoot = trellis.overrideAttrs (_: {
-    installPhase = ''
-      mkdir -p $out
-      cp *.so ..
-      cd ../../.. && cp -R trellis database $out/
-    '';
-  });
 in
-stdenv.mkDerivation rec {
+with stdenv; mkDerivation rec {
   pname = "nextpnr";
-  version = "2019.08.10";
+  version = "2019.08.21";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "nextpnr";
-    rev    = "3f26cf50767143e48d29ae691b2a0052c359eb15";
-    sha256 = "1gv84svw56ass9idbzh17h3yxkk9ydr40ijf9w72gf72rbixszdr";
+    rev    = "c192ba261d77ad7f0a744fb90b01e4a5b63938c4";
+    sha256 = "0g2ar1z89b31qw5vgqj2rrcv9rzncs94184dgcsrz19p866654mf";
   };
 
   nativeBuildInputs
      = [ cmake ]
-    ++ (stdenv.lib.optional enableGui wrapQtAppsHook);
+    ++ (lib.optional enableGui wrapQtAppsHook);
   buildInputs
      = [ boostPython python3 eigen ]
-    ++ (stdenv.lib.optional enableGui qtbase);
+    ++ (lib.optional enableGui qtbase);
 
   enableParallelBuilding = true;
   cmakeFlags =
     [ "-DARCH=generic;ice40;ecp5"
       "-DICEBOX_ROOT=${icestorm}/share/icebox"
-      "-DTRELLIS_ROOT=${trellisRoot}/trellis"
+      "-DTRELLIS_ROOT=${trellis}/share/trellis"
+      "-DPYTRELLIS_LIBDIR=${trellis}/lib/trellis"
       "-DUSE_OPENMP=ON"
       # warning: high RAM usage
       "-DSERIALIZE_CHIPDB=OFF"
       # use PyPy for icestorm if enabled
       "-DPYTHON_EXECUTABLE=${icestorm.pythonInterp}"
-    ] ++ (stdenv.lib.optional (!enableGui) "-DBUILD_GUI=OFF");
+    ] ++ (lib.optional (!enableGui) "-DBUILD_GUI=OFF");
 
   # Fix the version number. This is a bit stupid (and fragile) in practice
   # but works ok. We should probably make this overrideable upstream.
@@ -62,13 +48,18 @@ stdenv.mkDerivation rec {
       --replace 'git log -1 --format=%h' 'echo ${substring 0 11 src.rev}'
   '';
 
-  meta = with stdenv.lib; {
+
+  postFixup = lib.optionalString enableGui ''
+    wrapQtApp $out/bin/nextpnr-generic
+    wrapQtApp $out/bin/nextpnr-ice40
+    wrapQtApp $out/bin/nextpnr-ecp5
+  '';
+
+  meta = with lib; {
     description = "Place and route tool for FPGAs";
     homepage    = https://github.com/yosyshq/nextpnr;
     license     = licenses.isc;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ thoughtpolice ];
-
-    broken = enableGui;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ thoughtpolice emily ];
   };
 }
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index fb04239dbd4..a39cd785cf7 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -59,12 +59,14 @@
         pkgsBuildHost = pkgsBuildBuild // { targetPackages.stdenv = llvmPackages_5.stdenv; };
         pkgsBuildTarget = pkgsBuildTarget // { targetPackages.stdenv = llvmPackages_5.stdenv; };
       });
+      rustfmt = self.callPackage ./rustfmt.nix { inherit Security; };
       cargo = self.callPackage ./cargo.nix {
         # Use boot package set to break cycle
         rustPlatform = bootRustPlatform;
         inherit CoreFoundation Security;
       };
       clippy = self.callPackage ./clippy.nix { inherit Security; };
+      rls = self.callPackage ./rls { inherit CoreFoundation Security; };
     });
   };
 }
diff --git a/pkgs/development/tools/rust/rls/default.nix b/pkgs/development/compilers/rust/rls/default.nix
index 454c5da7143..470611242e0 100644
--- a/pkgs/development/tools/rust/rls/default.nix
+++ b/pkgs/development/compilers/rust/rls/default.nix
@@ -4,17 +4,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rls";
-  # with rust 1.x you can only build rls version 1.x.y
-  version = "1.36.0";
-
-  src = fetchFromGitHub {
-    owner = "rust-lang";
-    repo = pname;
-    rev = version;
-    sha256 = "1mclv0admxv48pndyqghxc4nf1amhbd700cgrzjshf9jrnffxmrn";
-  };
+  inherit (rustPlatform.rust.rustc) src version;
+
+  # changes hash of vendor directory otherwise
+  dontUpdateAutotoolsGnuConfigScripts = true;
 
-  cargoSha256 = "1yli9540510xmzqnzfi3p6rh23bjqsviflqw95a0fawf2rnj8sin";
+  cargoVendorDir = "vendor";
+  preBuild = ''
+    pushd src/tools/rls
+    # client tests are flaky
+    rm tests/client.rs
+  '';
 
   # a nightly compiler is required unless we use this cheat code.
   RUSTC_BOOTSTRAP=1;
@@ -27,10 +27,8 @@ rustPlatform.buildRustPackage rec {
     ++ (stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security ]);
 
   doCheck = true;
-  preCheck = ''
-    # client tests are flaky
-    rm tests/client.rs
-  '';
+
+  preInstall = "popd";
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/pkgs/development/tools/rust/rustfmt/default.nix b/pkgs/development/compilers/rust/rustfmt.nix
index b98ab0dc74d..537bdaf445c 100644
--- a/pkgs/development/tools/rust/rustfmt/default.nix
+++ b/pkgs/development/compilers/rust/rustfmt.nix
@@ -1,19 +1,18 @@
-{ stdenv, fetchFromGitHub, rustPlatform, darwin }:
+{ stdenv, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   name = "rustfmt-${version}";
-  version = "1.2.2";
+  inherit (rustPlatform.rust.rustc) version src;
 
-  src = fetchFromGitHub {
-    owner = "rust-lang";
-    repo = "rustfmt";
-    rev = "v${version}";
-    sha256 = "1k9p6sp8q87flx9vzg46880ir7likvbydai3g6q76278h86rn0v8";
-  };
+  # the rust source tarball already has all the dependencies vendored, no need to fetch them again
+  cargoVendorDir = "vendor";
+  preBuild = "pushd src/tools/rustfmt";
+  preInstall = "popd";
 
-  cargoSha256 = "08x6vy5v2vgrk3gsw3qcvv52a7hifsgcsnsg1phlk1ikaff21y4z";
+  # changes hash of vendor directory otherwise
+  dontUpdateAutotoolsGnuConfigScripts = true;
 
-  buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
   # As of 1.0.0 and rustc 1.30 rustfmt requires a nightly compiler
   RUSTC_BOOTSTRAP = 1;
@@ -28,7 +27,7 @@ rustPlatform.buildRustPackage rec {
     description = "A tool for formatting Rust code according to style guidelines";
     homepage = https://github.com/rust-lang-nursery/rustfmt;
     license = with licenses; [ mit asl20 ];
-    maintainers = [ maintainers.globin ];
+    maintainers = with maintainers; [ globin basvandijk ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix
index 94d0a4327d9..f21b2ae3cb8 100644
--- a/pkgs/development/compilers/swift/default.nix
+++ b/pkgs/development/compilers/swift/default.nix
@@ -33,7 +33,7 @@
 }:
 
 let
-  v_base = "5.0.1";
+  v_base = "5.0.2";
   version = "${v_base}-RELEASE";
   version_friendly = "${v_base}";
 
@@ -51,7 +51,7 @@ let
     # For more inforation, see: https://github.com/apple/swift/pull/3594#issuecomment-234169759
     clang = fetch {
       repo = "swift-clang";
-      sha256 = "1ap26425zhn2sdw3m9snyrqhi4phv2fgblyv9wp8xppjlnjkax9k";
+      sha256 = "046p7f4044ls8hhgklsz32md5jvxkaaim1d75n0fmnwap6di3n1q";
     };
     llvm = fetch {
       repo = "swift-llvm";
@@ -83,16 +83,16 @@ let
     };
     foundation = fetch {
       repo = "swift-corelibs-foundation";
-      sha256 = "11w0iapccrk13hjbrwylq8g71znrncnc3mrm345gvnjfgz08ffaq";
+      sha256 = "1wys4xh7f6c7yjf210x41n2krmyi2qj1wpxbv0p48d230va1azj1";
     };
     libdispatch = fetch {
       repo = "swift-corelibs-libdispatch";
-      sha256 = "1mgzsq3nfzbkssfkswzvvjgsbv2fx36i1r83d4nzw3di8spxmg32";
+      sha256 = "0chnb0d4xjyn9wnc8bgimd5ji5igfyq891flgnqpfwr4y26496c1";
       fetchSubmodules = true;
     };
     swift = fetch {
       repo = "swift";
-      sha256 = "02bv47pd0k0xy4k7q6c3flwxwkm2palnzvpr4w3nmvqk0flrbsq6";
+      sha256 = "0fsq1y8dz4ssn90akvzj36cqyblalb09bjzy4ikqn67mb5x99wpb";
     };
   };
 
@@ -248,9 +248,6 @@ stdenv.mkDerivation rec {
     PREFIX=''${out/#\/}
     substituteInPlace swift-corelibs-xctest/build_script.py \
       --replace usr "$PREFIX"
-    substituteInPlace swiftpm/Utilities/bootstrap \
-      --replace \"usr\" \"$PREFIX\" \
-      --replace usr/lib "$PREFIX/lib"
   '';
 
   buildPhase = builder;
diff --git a/pkgs/development/compilers/vlang/default.nix b/pkgs/development/compilers/vlang/default.nix
index cbccca34b41..ad01fb4be29 100644
--- a/pkgs/development/compilers/vlang/default.nix
+++ b/pkgs/development/compilers/vlang/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, glfw, freetype, curl }:
+{ stdenv, fetchFromGitHub, glfw, freetype, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "vlang";
-  version = "0.1.16";
+  version = "0.1.18";
 
   src = fetchFromGitHub {
     owner = "vlang";
     repo = "v";
     rev = "${version}";
-    sha256 = "08zgwy9ac3wa5ixy8rdw6izpn1n1c3ydb9rl8z8graw0bgv719ma";
+    sha256 = "0js92v2r1h4vaaha3z1spgi7qynlmr9vls41gxp284w4yhnjzv15";
   };
 
   # V compiler source translated to C for bootstrap.
@@ -16,18 +16,17 @@ stdenv.mkDerivation rec {
     owner = "vlang";
     repo = "vc";
     rev = "${version}";
-    sha256 = "0k6c7v3r3cirypsqbaq10qlgg41v19rsnc1ygam4il2p8rsmfwz3";
+    sha256 = "0qx1drs1hr94w7vaaq5w8mkq7j1d3biffnmxkyz63yv8573k03bj";
   };
 
   enableParallelBuilding = true;
-  buildInputs = [ glfw freetype curl ];
+  buildInputs = [ glfw freetype openssl ];
 
   buildPhase = ''
     runHook preBuild
-    cc -std=gnu11 -w -o v $vc/v.c -lm
+    cc -std=gnu11 $CFLAGS -w -o v $vc/v.c -lm $LDFLAGS
     ./v -prod -o v compiler
-    # -fPIC -pie required for examples/hot_code_reloading
-    make CFLAGS+="-fPIC -pie" thirdparty
+    make thirdparty
     runHook postBuild
   '';
 
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index aaa8628efbe..467d4e3b49e 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -8,14 +8,14 @@ with builtins;
 
 stdenv.mkDerivation rec {
   pname = "yosys";
-  version = "2019.08.13";
+  version = "2019.08.21";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "yosyshq";
       repo   = "yosys";
-      rev    = "19d6b8846f55b4c7be705619f753bec86deadac8";
-      sha256 = "185sbkxajx3k9j03n0cxq2qvzwfwdbcxp19h8vnk7ghd5y9gp602";
+      rev    = "fe1b2337fd7950e1d563be5b8ccbaa81688261e4";
+      sha256 = "0z7sngc2z081yyhzh8c2kchg48sp2333hn1wa94q5vsgnyzlqrdw";
       name   = "yosys";
     })
 
@@ -40,10 +40,14 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''
     substituteInPlace ../yosys-abc/Makefile \
-      --replace 'CC   := gcc' ""
+      --replace 'CC   := gcc' "" \
+      --replace 'CXX  := g++' ""
     substituteInPlace ./Makefile \
       --replace 'CXX = clang' "" \
-      --replace 'ABCMKARGS = CC="$(CXX)"' 'ABCMKARGS =' \
+      --replace 'LD = clang++' 'LD = $(CXX)' \
+      --replace 'CXX = gcc' "" \
+      --replace 'LD = gcc' 'LD = $(CXX)' \
+      --replace 'ABCMKARGS = CC="$(CXX)" CXX="$(CXX)"' 'ABCMKARGS =' \
       --replace 'echo UNKNOWN' 'echo ${substring 0 10 (elemAt srcs 0).rev}'
   '';
 
@@ -71,7 +75,7 @@ stdenv.mkDerivation rec {
     '';
     homepage    = http://www.clifford.at/yosys/;
     license     = stdenv.lib.licenses.isc;
-    maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice ];
-    platforms   = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice emily ];
+    platforms   = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index c9c81824620..d920baa0daf 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -72,7 +72,7 @@ self: super: {
       name = "git-annex-${super.git-annex.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + super.git-annex.version;
-      sha256 = "1pz12l0awshdq5xyac5awjd902sy9l65z6ihya4pzapik4gqfdcd";
+      sha256 = "1795sad0jr2da2pn28nbqsvpld6zw8gf9yscywixkbabf7ls66fn";
     };
   }).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -149,11 +149,16 @@ self: super: {
     else super.halive;
 
   # Hakyll's tests are broken on Darwin (3 failures); and they require util-linux
-  hakyll = if pkgs.stdenv.isDarwin
+  hakyll = appendPatch
+    (if pkgs.stdenv.isDarwin
     then dontCheck (overrideCabal super.hakyll (drv: {
       testToolDepends = [];
     }))
-    else super.hakyll;
+    else super.hakyll)
+    (pkgs.fetchpatch {
+      url = https://github.com/jaspervdj/hakyll/commit/25a4460b75b3c9f3ce339b3311b084d92994f5f1.patch;
+      sha256 = "sha256-F59WHt52LOKGsGoaD3LAIZFEMe9s9WHfGxQgSh9Q8uQ=";
+    });
 
   double-conversion = if !pkgs.stdenv.isDarwin
     then super.double-conversion
@@ -710,15 +715,9 @@ self: super: {
     '';
   });
 
-  # A simple MonadFail patch would do too, but not doing the tests is easier
-  megaparsec_6_5_0 = dontCheck super.megaparsec_6_5_0;
-
   # The standard libraries are compiled separately
   idris = generateOptparseApplicativeCompletion "idris" (
-    doJailbreak (dontCheck (super.idris.override {
-      # Needed for versions <= 1.3.1 https://github.com/idris-lang/Idris-dev/pull/4610
-      megaparsec = self.megaparsec_6_5_0;
-    }))
+    doJailbreak (dontCheck super.idris)
   );
 
   # https://github.com/bos/math-functions/issues/25
@@ -1286,4 +1285,7 @@ self: super: {
   # QuickCheck >=2.3 && <2.13, hspec >=2.1 && <2.7
   graphviz = dontCheck super.graphviz;
 
+  # https://github.com/elliottt/hsopenid/issues/15
+  openid = markBroken super.openid;
+
 } // 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 dc3071e5fab..417fc0b3a44 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -41,30 +41,9 @@ self: super: {
   unix = null;
   xhtml = null;
 
-  # Use the current git version of cabal-install.
-  cabal-install = overrideCabal (super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal-git; })) (drv: {
-    src = pkgs.fetchFromGitHub {
-      owner = "haskell";
-      repo = "cabal";
-      rev = "e98f6c26fa301b49921c2df67934bf9b0a4f3386";
-      sha256 = "15nrkvckq2rw31z7grgbsg5f0gxfc09afsrqdfi4n471k630xd2i";
-    };
-    version = "20190510-git";
-    editedCabalFile = null;
-    postUnpack = "sourceRoot+=/cabal-install";
-    jailbreak = true;
-  });
-  Cabal-git = overrideCabal super.Cabal_2_4_1_0 (drv: {
-    src = pkgs.fetchFromGitHub {
-      owner = "haskell";
-      repo = "cabal";
-      rev = "e98f6c26fa301b49921c2df67934bf9b0a4f3386";
-      sha256 = "15nrkvckq2rw31z7grgbsg5f0gxfc09afsrqdfi4n471k630xd2i";
-    };
-    version = "20190510-git";
-    editedCabalFile = null;
-    postUnpack = "sourceRoot+=/Cabal";
-  });
+  # Use the cabal-install 3.0.0.0 beta release.
+  cabal-install = self.cabal-install-3;
+  Cabal_3_0_0_0 = null;    # Our compiler has this already.
 
   # Ignore overly restrictive upper version bounds.
   async = doJailbreak super.async;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index b317e313c20..b279652a5d5 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.1
+  # LTS Haskell 14.2
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -143,7 +143,7 @@ default-package-overrides:
   - avwx ==0.3.0.2
   - aws-cloudfront-signed-cookies ==0.2.0.1
   - aws-lambda-haskell-runtime ==2.0.1
-  - backprop ==0.2.6.2
+  - backprop ==0.2.6.3
   - bank-holidays-england ==0.2.0.1
   - barbies ==1.1.3.0
   - barrier ==0.1.1
@@ -224,7 +224,7 @@ default-package-overrides:
   - boolean-like ==0.1.1.0
   - boolean-normal-forms ==0.0.1
   - boolsimplifier ==0.1.8
-  - boots ==0.0.3
+  - boots ==0.0.100
   - bordacount ==0.1.0.0
   - boring ==0.1.2
   - both ==0.1.1.0
@@ -309,7 +309,7 @@ default-package-overrides:
   - chimera ==0.2.0.0
   - choice ==0.2.2
   - chronologique ==0.3.1.1
-  - chronos ==1.0.6
+  - chronos ==1.0.7
   - chronos-bench ==0.2.0.2
   - chunked-data ==0.3.1
   - cipher-aes ==0.2.11
@@ -601,7 +601,7 @@ default-package-overrides:
   - ENIG ==0.0.1.0
   - entropy ==0.4.1.4
   - enummapset ==0.6.0.2
-  - enumset ==0.0.4.1
+  - enumset ==0.0.5
   - enum-subset-generate ==0.1.0.0
   - enum-text ==0.5.1.0
   - enum-text-rio ==1.2.0.0
@@ -646,7 +646,7 @@ default-package-overrides:
   - failable ==1.2.2.0
   - fakedata ==0.2.2
   - farmhash ==0.1.0.5
-  - fast-builder ==0.1.0.1
+  - fast-builder ==0.1.1.0
   - fast-digits ==0.2.1.0
   - fast-logger ==2.4.16
   - fast-math ==1.0.2
@@ -793,7 +793,7 @@ default-package-overrides:
   - gi-gtk-hs ==0.3.8.0
   - gi-gtksource ==3.0.22
   - gi-javascriptcore ==4.0.21
-  - ginger ==0.9.0.0
+  - ginger ==0.9.1.0
   - gingersnap ==0.3.1.0
   - gi-pango ==1.0.22
   - githash ==0.1.3.1
@@ -918,14 +918,14 @@ default-package-overrides:
   - hlibgit2 ==0.18.0.16
   - hlibsass ==0.1.8.0
   - hmatrix ==0.20.0.0
-  - hmatrix-backprop ==0.1.2.5
+  - hmatrix-backprop ==0.1.3.0
   - hmatrix-gsl ==0.19.0.1
   - hmatrix-gsl-stats ==0.4.1.8
   - hmatrix-morpheus ==0.1.1.2
-  - hmatrix-vector-sized ==0.1.1.3
+  - hmatrix-vector-sized ==0.1.2.0
   - hmm-lapack ==0.4
   - hmpfr ==0.4.4
-  - hoauth2 ==1.8.8
+  - hoauth2 ==1.8.9
   - Hoed ==0.5.1
   - hOpenPGP ==2.8
   - hopenpgp-tools ==0.21.3
@@ -1039,7 +1039,7 @@ default-package-overrides:
   - hw-hedgehog ==0.1.0.3
   - hw-hspec-hedgehog ==0.1.0.7
   - hw-int ==0.0.0.3
-  - hw-ip ==2.3.1.2
+  - hw-ip ==2.3.4.1
   - hw-json ==1.0.0.2
   - hw-json-simd ==0.1.0.2
   - hw-mquery ==0.2.0.1
@@ -1214,7 +1214,7 @@ default-package-overrides:
   - lens-regex-pcre ==0.3.1.0
   - lens-simple ==0.1.0.9
   - lens-typelevel ==0.1.1.0
-  - lenz ==0.3.0.0
+  - lenz ==0.3.1.0
   - leveldb-haskell ==0.6.5
   - libffi ==0.1
   - libgit ==0.3.1
@@ -1371,7 +1371,7 @@ default-package-overrides:
   - monoid-extras ==0.5
   - monoid-subclasses ==0.4.6.1
   - monoid-transformer ==0.0.4
-  - mono-traversable ==1.0.11.0
+  - mono-traversable ==1.0.12.0
   - mono-traversable-instances ==0.1.0.0
   - mono-traversable-keys ==0.1.0
   - more-containers ==0.2.1.2
@@ -1742,7 +1742,7 @@ default-package-overrides:
   - reflection ==2.1.4
   - RefSerialize ==0.4.0
   - regex ==1.0.2.0
-  - regex-applicative ==0.3.3
+  - regex-applicative ==0.3.3.1
   - regex-applicative-text ==0.1.0.1
   - regex-base ==0.93.2
   - regex-compat ==0.95.1
@@ -1808,9 +1808,9 @@ default-package-overrides:
   - safe-json ==0.1.0
   - safe-money ==0.9
   - SafeSemaphore ==0.10.1
-  - salak ==0.3.3.1
-  - salak-toml ==0.3.3
-  - salak-yaml ==0.3.3
+  - salak ==0.3.4.1
+  - salak-toml ==0.3.4.1
+  - salak-yaml ==0.3.4.1
   - saltine ==0.1.0.2
   - salve ==1.0.6
   - sample-frame ==0.0.3
@@ -2126,7 +2126,7 @@ default-package-overrides:
   - th-expand-syns ==0.4.4.0
   - th-extras ==0.0.0.4
   - th-lift ==0.8.0.1
-  - th-lift-instances ==0.1.13
+  - th-lift-instances ==0.1.14
   - th-nowq ==0.1.0.3
   - th-orphans ==0.13.7
   - th-printf ==0.6.0
@@ -2320,7 +2320,7 @@ default-package-overrides:
   - wai-cors ==0.2.7
   - wai-enforce-https ==0.0.1
   - wai-eventsource ==3.0.0
-  - wai-extra ==3.0.27
+  - wai-extra ==3.0.28
   - wai-handler-launch ==3.0.2.4
   - wai-logger ==2.3.5
   - wai-middleware-auth ==0.1.2.1
@@ -2428,7 +2428,7 @@ default-package-overrides:
   - yesod-auth-hashdb ==1.7.1.1
   - yesod-auth-oauth2 ==0.6.1.1
   - yesod-bin ==1.6.0.3
-  - yesod-core ==1.6.14
+  - yesod-core ==1.6.15
   - yesod-csp ==0.2.5.0
   - yesod-eventsource ==1.6.0
   - yesod-fb ==0.5.0
@@ -2442,7 +2442,7 @@ default-package-overrides:
   - yesod-recaptcha2 ==0.3.0
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.0.1
-  - yesod-test ==1.6.6.1
+  - yesod-test ==1.6.6.2
   - yesod-text-markdown ==0.1.10
   - yesod-websockets ==0.3.0.2
   - yes-precure5-command ==5.5.3
@@ -2503,7 +2503,6 @@ extra-packages:
   - inline-c-cpp < 0.2                  # required on GHC 8.0.x
   - lens-labels == 0.1.*                # required for proto-lens-descriptors
   - mainland-pretty == 0.6.2.*          # required for tensorflow-opgen-0.1.0.0
-  - megaparsec < 7.0                    # required for idris <= 1.3.1: https://github.com/idris-lang/Idris-dev/pull/4610
   - mtl < 2.2                           # newer versions require transformers > 0.4.x, which we cannot provide in GHC 7.8.x
   - mtl-prelude < 2                     # required for to build postgrest on mtl 2.1.x platforms
   - network == 2.6.3.1                  # newer versions don't compile with GHC 7.4.x and below
@@ -4833,7 +4832,6 @@ broken-packages:
   - fmark
   - FModExRaw
   - fn-extra
-  - focuslist
   - foldl-incremental
   - foldl-statistics
   - folds-common
@@ -5362,7 +5360,6 @@ broken-packages:
   - hakismet
   - hakka
   - hako
-  - hakyll
   - hakyll-agda
   - hakyll-blaze-templates
   - hakyll-contrib
@@ -6368,7 +6365,6 @@ broken-packages:
   - identifiers
   - idiii
   - idna2008
-  - idris
   - IDynamic
   - ieee-utils
   - iexcloud
@@ -9465,7 +9461,6 @@ broken-packages:
   - terminal-punch
   - terminal-text
   - termination-combinators
-  - termonad
   - termplot
   - terntup
   - terrahs
@@ -9615,7 +9610,6 @@ broken-packages:
   - tokyotyrant-haskell
   - tomato-rubato-openal
   - toml
-  - tomland
   - tomlcheck
   - too-many-cells
   - toodles
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index e5bd0e26408..29483b56a7d 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -531,10 +531,6 @@ self: super: builtins.intersectAttrs super {
     librarySystemDepends = drv.librarySystemDepends or [] ++ [ pkgs.cyrus_sasl.dev ];
   }));
 
-  # Doctests hang only when compiling with nix.
-  # https://github.com/cdepillabout/termonad/issues/15
-  termonad = dontCheck super.termonad;
-
   # Expects z3 to be on path so we replace it with a hard
   sbv = overrideCabal super.sbv (drv: {
     postPatch = ''
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 740c49aac92..68925186925 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -9486,6 +9486,8 @@ self: {
        pname = "HaXml";
        version = "1.25.5";
        sha256 = "0d8jbiv53r3ndg76r3937idqdg34nhmb99vj087i73hjnv21mifb";
+       revision = "1";
+       editedCabalFile = "1xnni9hdvi87incm1pcx0b7jv410maww99acdfkx1cwhlb6k91ag";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -10741,6 +10743,20 @@ self: {
        broken = true;
      }) {};
 
+  "I1M" = callPackage
+    ({ mkDerivation, array, base, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "I1M";
+       version = "0.0.2";
+       sha256 = "0f9pl46m05izxhychf7j8pd9rfx8bqw13735xvq602iyszng8pa4";
+       libraryHaskellDepends = [ array base QuickCheck ];
+       testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
+       description = "Code for the Haskell course taught at the University of Seville";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
   "IDynamic" = callPackage
     ({ mkDerivation, base, containers, directory }:
      mkDerivation {
@@ -12682,8 +12698,8 @@ self: {
      }:
      mkDerivation {
        pname = "Map";
-       version = "0.0.1.1";
-       sha256 = "0m7654arnnm19assm0fvjm3m6jrq6pn54f9pqvcn09h6vawsbyza";
+       version = "0.0.2.0";
+       sha256 = "1imnnd5plp3dqpfrpviwgabd0c47fxfxvh10gyxvssmslxi1k27p";
        libraryHaskellDepends = [
          base containers either-both filtrable util
        ];
@@ -15258,8 +15274,8 @@ self: {
      }:
      mkDerivation {
        pname = "Persistence";
-       version = "2.0.1";
-       sha256 = "1qv35q7y7sl142dxdaf7647g62xr76b4blij0yn9x5694qm9r80v";
+       version = "2.0.3";
+       sha256 = "19zzggnzdfdvvp0svixpdrnxpjn5h4wgpi01vkjydczq4630aiaa";
        libraryHaskellDepends = [
          base containers maximal-cliques parallel vector
        ];
@@ -16271,6 +16287,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "RabbitMQ" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, clock, containers
+     , HsOpenSSL, io-streams, monad-control, network, network-uri
+     , openssl-streams, split, stm, text, vector
+     }:
+     mkDerivation {
+       pname = "RabbitMQ";
+       version = "0.1.0.0";
+       sha256 = "14rxwsxxqhj91alcnvvp6949ig0ifnls9x2mgnd1jmknqz7pwvrs";
+       libraryHaskellDepends = [
+         array base binary bytestring clock containers HsOpenSSL io-streams
+         monad-control network network-uri openssl-streams split stm text
+         vector
+       ];
+       description = "AMQP 0-9-1 client library for RabbitMQ servers";
+       license = "BSD-3-Clause AND GPL-3.0-or-later";
+     }) {};
+
   "Raincat" = callPackage
     ({ mkDerivation, base, containers, extensible-exceptions, GLUT, mtl
      , OpenGL, random, sdl2, sdl2-image, sdl2-mixer, time
@@ -16658,6 +16692,24 @@ self: {
        broken = true;
      }) {};
 
+  "S3" = callPackage
+    ({ mkDerivation, base, base-encoding, bytestring, cryptohash-md5
+     , cryptohash-sha1, cryptohash-sha256, deepseq, hashable
+     , http-io-streams, io-streams, Prelude, text, text-short, time, X
+     }:
+     mkDerivation {
+       pname = "S3";
+       version = "0.1.0.0";
+       sha256 = "0z59h36qnb1vvshqik3f1ai3a3frnmzzxdcmkbbh3x6flnih7r0a";
+       libraryHaskellDepends = [
+         base base-encoding bytestring cryptohash-md5 cryptohash-sha1
+         cryptohash-sha256 deepseq hashable http-io-streams io-streams
+         Prelude text text-short time X
+       ];
+       description = "Library for accessing S3 compatible storage services";
+       license = stdenv.lib.licenses.gpl3Plus;
+     }) {};
+
   "SBench" = callPackage
     ({ mkDerivation, base, bytestring, cassava, criterion, deepseq
      , directory, filepath, gnuplot, hp2any-core, parsec, process
@@ -24292,6 +24344,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "alarmclock_0_7_0_2" = callPackage
+    ({ mkDerivation, async, base, clock, hspec, stm, time
+     , unbounded-delays
+     }:
+     mkDerivation {
+       pname = "alarmclock";
+       version = "0.7.0.2";
+       sha256 = "0sp9h8vy8i4pvyadnb1ibpxpfxjikdr9ds3y9y8321cmkprlbs87";
+       libraryHaskellDepends = [
+         async base clock stm time unbounded-delays
+       ];
+       testHaskellDepends = [
+         async base clock hspec stm time unbounded-delays
+       ];
+       description = "Wake up and perform an action at a certain time";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "alea" = callPackage
     ({ mkDerivation, base, optparse-applicative, random, text }:
      mkDerivation {
@@ -34810,29 +34881,6 @@ self: {
      }:
      mkDerivation {
        pname = "backprop";
-       version = "0.2.6.2";
-       sha256 = "10w3fb25jw7s3bal6hd0a7g5hzbdd4b3whzxkm9b3g0y36i713dm";
-       libraryHaskellDepends = [
-         base containers deepseq microlens primitive reflection transformers
-         vector vinyl
-       ];
-       benchmarkHaskellDepends = [
-         base criterion deepseq directory hmatrix microlens microlens-th
-         mwc-random time vector
-       ];
-       description = "Heterogeneous automatic differentation";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "backprop_0_2_6_3" = callPackage
-    ({ mkDerivation, base, containers, criterion, deepseq, directory
-     , hmatrix, microlens, microlens-th, mwc-random, primitive
-     , reflection, time, transformers, vector, vinyl
-     }:
-     mkDerivation {
-       pname = "backprop";
        version = "0.2.6.3";
        sha256 = "0zk3k20c100iwqcvg1xw2vdysn01w4h9jypz08xs849n1a3bp7di";
        libraryHaskellDepends = [
@@ -35179,6 +35227,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bank-holidays-england_0_2_0_2" = callPackage
+    ({ mkDerivation, base, containers, hspec, QuickCheck, time }:
+     mkDerivation {
+       pname = "bank-holidays-england";
+       version = "0.2.0.2";
+       sha256 = "1r82plqk1danqby90snmp4zjzdkwryvhbzj1c67b0h0k9w42v781";
+       libraryHaskellDepends = [ base containers time ];
+       testHaskellDepends = [ base containers hspec QuickCheck time ];
+       description = "Calculation of bank holidays in England and Wales";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "banwords" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, data-default, HUnit
      , test-framework, test-framework-hunit, text, vector
@@ -37951,8 +38012,8 @@ self: {
        pname = "binding-core";
        version = "0.2.2";
        sha256 = "0qr7nr9cksy2cx2h8g2d485797hvv67197c654va0xwadkj5iviz";
-       revision = "1";
-       editedCabalFile = "1ijm34wxyxpx38yw42kl5yrb8i3gv1z7dvxhb98jz6pqxgqcvshs";
+       revision = "2";
+       editedCabalFile = "1cl8k9d0kkhxhdska3mk2c7w4xnyz7z0pd8xyynls0jx0qya0irl";
        libraryHaskellDepends = [ base stm ];
        testHaskellDepends = [ base HTF HUnit QuickCheck random ];
        description = "Data Binding";
@@ -37965,8 +38026,8 @@ self: {
        pname = "binding-gtk";
        version = "0.2.1";
        sha256 = "0l68n13w1khfqkc791l9mcnk3cb0565a9ysfn7b3hh5cjx8zi7vr";
-       revision = "1";
-       editedCabalFile = "1dcccb26m1ih3mbkhf72rmz9ywva7llxjvg9s6fpssjxpms5fhwy";
+       revision = "2";
+       editedCabalFile = "1rcipk9zk7w0q0x9sxsdy53bak9izj0bix6jykzhsxywidcriwcy";
        libraryHaskellDepends = [ base binding-core gtk mtl ];
        testHaskellDepends = [ base binding-core directory gtk ];
        description = "Data Binding in Gtk2Hs";
@@ -37981,8 +38042,8 @@ self: {
        pname = "binding-wx";
        version = "0.2.1";
        sha256 = "07nbb6a0fmyhmx2dakkw4msxnv273hfcw3swdk3aczpfqlxd1r4i";
-       revision = "1";
-       editedCabalFile = "1cpgwbzix794by0mvh3lrqv1pakh7i56hap3xhs7z2xccqc461q3";
+       revision = "2";
+       editedCabalFile = "18jckk1pf0bds9s3bw6bklp3nam4bxxs5nlkswar297byfpzghk1";
        libraryHaskellDepends = [ base binding-core stm wx wxcore ];
        testHaskellDepends = [ base binding-core directory wx ];
        description = "Data Binding in WxHaskell";
@@ -39154,8 +39215,8 @@ self: {
      }:
      mkDerivation {
        pname = "bisc";
-       version = "0.2.2.0";
-       sha256 = "0ypkz75pzrqy12kfpkhai0xmz80bjkjz9m5ydrmzlbcwjwvzlvjz";
+       version = "0.2.3.0";
+       sha256 = "0x03smkfx0qnsxznlp1591gi938f15w057hywfp9497mhvkr7mxg";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -41528,32 +41589,23 @@ self: {
      }) {};
 
   "boots" = callPackage
-    ({ mkDerivation, base, data-default, exceptions, fast-logger, hspec
-     , microlens, monad-logger, mtl, salak, salak-yaml, text
-     , unliftio-core
-     }:
+    ({ mkDerivation, base, exceptions, hspec, mtl }:
      mkDerivation {
        pname = "boots";
-       version = "0.0.3";
-       sha256 = "1glf3hq3vqa3rd115ym7jy5jmwx8mzqbidj875274safg8n552rm";
-       libraryHaskellDepends = [
-         base data-default exceptions fast-logger microlens monad-logger mtl
-         salak salak-yaml text unliftio-core
-       ];
-       testHaskellDepends = [
-         base data-default exceptions fast-logger hspec microlens
-         monad-logger mtl salak salak-yaml text unliftio-core
-       ];
-       description = "Boot application by plugins";
+       version = "0.0.100";
+       sha256 = "0q685h5z561lgjg2kqnkls35wpys9kx4zhghqqq3dyvl2i4dwmcz";
+       libraryHaskellDepends = [ base exceptions mtl ];
+       testHaskellDepends = [ base exceptions hspec mtl ];
+       description = "IoC Monad in Haskell";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "boots_0_1" = callPackage
+  "boots_0_1_1" = callPackage
     ({ mkDerivation, base, exceptions, hspec, mtl }:
      mkDerivation {
        pname = "boots";
-       version = "0.1";
-       sha256 = "0d9mg56alrh6fhv5r5lh33pykfqaw45yz38gky1k6idnyy7w5aik";
+       version = "0.1.1";
+       sha256 = "1z9h8i1r0jccqn0230nzn97yqzrlsapc84dnwhczzvdbaryykhbz";
        libraryHaskellDepends = [ base exceptions mtl ];
        testHaskellDepends = [ base exceptions hspec mtl ];
        description = "IoC Monad in Haskell";
@@ -41568,8 +41620,8 @@ self: {
      }:
      mkDerivation {
        pname = "boots-app";
-       version = "0.1.0.5";
-       sha256 = "0dx2nlbf86nbqfrxaacjskammx84bg4nrp5v075h76b9mky00i5l";
+       version = "0.1.1";
+       sha256 = "1v8qbap22mpasjpmi9bd0n14q4vz80ksmlmk67yw840f2ly8sn0d";
        libraryHaskellDepends = [
          base boots data-default exceptions fast-logger menshen microlens
          monad-logger mtl salak salak-yaml splitmix text unliftio-core vault
@@ -43677,18 +43729,30 @@ self: {
      }) {};
 
   "byteslice" = callPackage
-    ({ mkDerivation, base, primitive, primitive-addr }:
+    ({ mkDerivation, base, primitive, primitive-addr, run-st }:
      mkDerivation {
        pname = "byteslice";
-       version = "0.1.1.0";
-       sha256 = "08abffrd6psiab220d8081lcs7ba7fvr7waqzykdk8i5dcm9iyvb";
-       libraryHaskellDepends = [ base primitive primitive-addr ];
+       version = "0.1.2.0";
+       sha256 = "0bivb6gn3kfzi2rxvrf3klsgzj6p864vcxr2hnrdkr16qp1x8ysv";
+       libraryHaskellDepends = [ base primitive primitive-addr run-st ];
        description = "Slicing managed and unmanaged memory";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {};
 
+  "bytesmith" = callPackage
+    ({ mkDerivation, base, byteslice, primitive }:
+     mkDerivation {
+       pname = "bytesmith";
+       version = "0.1.0.0";
+       sha256 = "1jj2shy510r83r8nahf6lwjhwp73kbmla6mly4fzjza81syrwrm4";
+       libraryHaskellDepends = [ base byteslice primitive ];
+       testHaskellDepends = [ base byteslice primitive ];
+       description = "Nonresumable byte parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "bytestring_0_10_10_0" = callPackage
     ({ mkDerivation, base, byteorder, deepseq, directory, dlist
      , ghc-prim, HUnit, integer-gmp, mtl, QuickCheck, random
@@ -44770,12 +44834,13 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-fmt";
-       version = "0.1";
-       sha256 = "0rk2gmidsikbzvh0jkrzwn2pbri8z5fhxfvlsh7wivlcqrz4jsf3";
+       version = "0.1.1";
+       sha256 = "07hx1s7l5zmh7vs2zmmm56msz2m7wnzn919mvnpypvrsswmmnnd9";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring Cabal containers filepath mtl parsec pretty
+         base bytestring Cabal containers directory filepath mtl parsec
+         pretty
        ];
        executableHaskellDepends = [
          base bytestring directory filepath optparse-applicative
@@ -44785,7 +44850,7 @@ self: {
        ];
        doHaddock = false;
        description = "Format .cabal files";
-       license = stdenv.lib.licenses.gpl3Plus;
+       license = "GPL-3.0-or-later AND BSD-3-Clause";
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {};
@@ -49694,35 +49759,6 @@ self: {
      }:
      mkDerivation {
        pname = "chronos";
-       version = "1.0.6";
-       sha256 = "07z79acmr8768m31knr9r90x0f8xabdkvvyd7y0bv7061562fvdz";
-       revision = "1";
-       editedCabalFile = "156f61rp421x1hisdiq1m7nbaaq4hczfv66v9g94blv3a48rjwzz";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring clock hashable primitive
-         semigroups text torsor vector
-       ];
-       testHaskellDepends = [
-         attoparsec base bytestring doctest HUnit QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2 text torsor
-       ];
-       benchmarkHaskellDepends = [
-         attoparsec base bytestring criterion deepseq old-locale QuickCheck
-         text thyme time vector
-       ];
-       description = "A performant time library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "chronos_1_0_7" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, clock
-     , criterion, deepseq, doctest, hashable, HUnit, old-locale
-     , primitive, QuickCheck, semigroups, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, text, thyme
-     , time, torsor, vector
-     }:
-     mkDerivation {
-       pname = "chronos";
        version = "1.0.7";
        sha256 = "0yqk43ax20sk3rpxd5s857ivbgigvd5qdq4axawzmqr2na6jlikx";
        libraryHaskellDepends = [
@@ -49739,7 +49775,6 @@ self: {
        ];
        description = "A performant time library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "chronos-bench" = callPackage
@@ -50983,8 +51018,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.24.0.15";
-       sha256 = "1b9cjx4i196rdj1p4w243rk6pxk8h2fnwda9jadzj61nxz5sc3xv";
+       version = "0.25.0";
+       sha256 = "1jgxchshpkpbgpkn31iymswb08wjjfmvqglv5brs0zw4ialirrh9";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
@@ -51007,17 +51042,22 @@ self: {
      }) {inherit (pkgs) openssl;};
 
   "clckwrks-cli" = callPackage
-    ({ mkDerivation, acid-state, base, clckwrks, haskeline, mtl
-     , network, parsec
+    ({ mkDerivation, acid-state, base, clckwrks, containers, filepath
+     , haskeline, mtl, network, parsec
      }:
      mkDerivation {
        pname = "clckwrks-cli";
-       version = "0.2.17.3";
-       sha256 = "1akbfin1avsdd3r4f65p034divl8i24g4h627frcdypkc25j8qgf";
-       isLibrary = false;
+       version = "0.3.0";
+       sha256 = "0ardhl27n3al945s88dmygnw42ki5sn23s59rkhbs4pdyp9yawhs";
+       isLibrary = true;
        isExecutable = true;
+       libraryHaskellDepends = [
+         acid-state base clckwrks containers filepath haskeline mtl network
+         parsec
+       ];
        executableHaskellDepends = [
-         acid-state base clckwrks haskeline mtl network parsec
+         acid-state base clckwrks containers filepath haskeline mtl network
+         parsec
        ];
        description = "a command-line interface for adminstrating some aspects of clckwrks";
        license = stdenv.lib.licenses.bsd3;
@@ -51162,8 +51202,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-page";
-       version = "0.4.3.16";
-       sha256 = "15m1bhiyw5rzfx1y6yhra2d0zkiaffy9rvp408pb4ccfdxg4bi2s";
+       version = "0.4.3.18";
+       sha256 = "0fgz0rxzkbavzqci4kcav1pljkhdy1mgmf3mldbxp8f88pr5lm42";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          acid-state aeson attoparsec base clckwrks containers directory
@@ -56027,6 +56067,24 @@ self: {
        broken = true;
      }) {};
 
+  "conferer" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, hspec
+     , text
+     }:
+     mkDerivation {
+       pname = "conferer";
+       version = "0.1.0.0";
+       sha256 = "0y62yj2cm7q9qwxl3jfdq16rza2mrjg60lchx4s0gbwiw959a83n";
+       libraryHaskellDepends = [
+         base bytestring containers directory text
+       ];
+       testHaskellDepends = [
+         base bytestring containers directory hspec text
+       ];
+       description = "Configuration management library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "confetti" = callPackage
     ({ mkDerivation, base, cmdargs, directory, filepath, MissingH
      , tasty, tasty-hunit, tasty-smallcheck, text, time, unix, yaml
@@ -60983,6 +61041,27 @@ self: {
        broken = true;
      }) {};
 
+  "cuckoo" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, cryptonite, doctest
+     , hashable, memory, primitive, QuickCheck, random, stopwatch
+     , vector
+     }:
+     mkDerivation {
+       pname = "cuckoo";
+       version = "0.2.0.1";
+       sha256 = "1q070hzrsm0f1lfxnsk4jmmb9pay98522k2lqncvzg09fm2a687j";
+       libraryHaskellDepends = [ base memory primitive random vector ];
+       testHaskellDepends = [
+         base bytestring cryptonite doctest hashable memory stopwatch
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion memory QuickCheck stopwatch
+       ];
+       doHaddock = false;
+       description = "Haskell Implementation of Cuckoo Filters";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cuckoo-filter" = callPackage
     ({ mkDerivation, aeson, array, base, bytestring, cereal, containers
      , criterion, hashable, QuickCheck, random, tasty, tasty-hunit
@@ -70402,12 +70481,14 @@ self: {
      }) {};
 
   "ditto" = callPackage
-    ({ mkDerivation, base, containers, mtl, semigroups, text }:
+    ({ mkDerivation, base, containers, mtl, semigroups, text, torsor }:
      mkDerivation {
        pname = "ditto";
-       version = "0.3.1";
-       sha256 = "1y3s0q0c0lsj6hsszazbd0yjb10nagvg96nw3x154kz55mn2bdym";
-       libraryHaskellDepends = [ base containers mtl semigroups text ];
+       version = "0.4";
+       sha256 = "0qnkv0r5dm73qlrsgwxwzm7f9gbknwcy1dzbjs6vlcmx8hyqh2gp";
+       libraryHaskellDepends = [
+         base containers mtl semigroups text torsor
+       ];
        description = "ditto is a type-safe HTML form generation and validation library";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -70416,8 +70497,8 @@ self: {
     ({ mkDerivation, base, ditto, lucid, path-pieces, text }:
      mkDerivation {
        pname = "ditto-lucid";
-       version = "0.3.2";
-       sha256 = "1asp25vi3m6rbk1wllqb1gzjrgifndhcpr2blx1j132ql6h5qqpj";
+       version = "0.4";
+       sha256 = "1if543wf7div8ww90ifdh75i2w99lhbfh8pfnzmd1yaw2j1m35ff";
        libraryHaskellDepends = [ base ditto lucid path-pieces text ];
        description = "Add support for using lucid with Ditto";
        license = stdenv.lib.licenses.bsd3;
@@ -74238,8 +74319,8 @@ self: {
      }:
      mkDerivation {
        pname = "egison";
-       version = "3.9.0";
-       sha256 = "1law6pwgqvp6nniwwbbsdm6fjq2fp30ywjfla2qqgwdabcqbd2vq";
+       version = "3.9.1";
+       sha256 = "1q4hyvr52zv2p827cvkmi4rl1d1dvrdg9bly6wykbhdv6ycbihn5";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -76254,20 +76335,6 @@ self: {
      }:
      mkDerivation {
        pname = "enumset";
-       version = "0.0.4.1";
-       sha256 = "0m6ha4m9hvmzkgnwani3z3vgcllzgv6n578g56x4sb9bgxgi37az";
-       libraryHaskellDepends = [
-         base data-accessor semigroups storable-record
-       ];
-       description = "Sets of enumeration values represented by machine words";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "enumset_0_0_5" = callPackage
-    ({ mkDerivation, base, data-accessor, semigroups, storable-record
-     }:
-     mkDerivation {
-       pname = "enumset";
        version = "0.0.5";
        sha256 = "0d9lnl7mmcwydfhb4iazh6gcdbxvdh7b3gar3c9l1k5xmc4r8qii";
        libraryHaskellDepends = [
@@ -76275,7 +76342,6 @@ self: {
        ];
        description = "Sets of enumeration values represented by machine words";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "env-locale" = callPackage
@@ -77258,6 +77324,74 @@ self: {
        broken = true;
      }) {};
 
+  "essence-of-live-coding" = callPackage
+    ({ mkDerivation, base, foreign-store, QuickCheck, syb
+     , test-framework, test-framework-quickcheck2, transformers
+     , vector-sized
+     }:
+     mkDerivation {
+       pname = "essence-of-live-coding";
+       version = "0.1.0.1";
+       sha256 = "0804zqbl2w8cvj4n9y2qx9wdmigmw56fxdzkqrw6x2szl2qvsfjz";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base foreign-store syb transformers vector-sized
+       ];
+       executableHaskellDepends = [ base transformers ];
+       testHaskellDepends = [
+         base QuickCheck syb test-framework test-framework-quickcheck2
+       ];
+       description = "General purpose live coding framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "essence-of-live-coding-gloss" = callPackage
+    ({ mkDerivation, base, essence-of-live-coding, foreign-store, gloss
+     , syb, transformers
+     }:
+     mkDerivation {
+       pname = "essence-of-live-coding-gloss";
+       version = "0.1.0.1";
+       sha256 = "0716mwww68x8v2r6fz6ah8m26w5h98kgd662rirh56nmwr219zk5";
+       libraryHaskellDepends = [
+         base essence-of-live-coding foreign-store gloss syb transformers
+       ];
+       description = "General purpose live coding framework - Gloss backend";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "essence-of-live-coding-pulse" = callPackage
+    ({ mkDerivation, base, essence-of-live-coding, foreign-store
+     , pulse-simple, transformers
+     }:
+     mkDerivation {
+       pname = "essence-of-live-coding-pulse";
+       version = "0.1.0.1";
+       sha256 = "18f6wrq5ar14yb44yl6m8xfi9c721yywl4gzwcrx65n6wn3h16va";
+       libraryHaskellDepends = [
+         base essence-of-live-coding foreign-store pulse-simple transformers
+       ];
+       description = "General purpose live coding framework - pulse backend";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "essence-of-live-coding-quickcheck" = callPackage
+    ({ mkDerivation, base, boltzmann-samplers, essence-of-live-coding
+     , QuickCheck, syb, transformers
+     }:
+     mkDerivation {
+       pname = "essence-of-live-coding-quickcheck";
+       version = "0.1.0.1";
+       sha256 = "0wkffsy3jxz85lxlbppi477wkzlx2zvxmjc70rgf8bjw8s631a22";
+       libraryHaskellDepends = [
+         base boltzmann-samplers essence-of-live-coding QuickCheck syb
+         transformers
+       ];
+       description = "General purpose live coding framework - QuickCheck integration";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "estimator" = callPackage
     ({ mkDerivation, ad, base, distributive, lens, linear, reflection
      }:
@@ -79148,8 +79282,8 @@ self: {
     ({ mkDerivation, base, leancheck, template-haskell }:
      mkDerivation {
        pname = "express";
-       version = "0.1.1";
-       sha256 = "0zx5wdrw506lb3himzbyr7bgw4l12fmn9rbl0w95njrgm67h6667";
+       version = "0.1.2";
+       sha256 = "0i6dh1kpadhh4faanmkszdq1bbsdyl2ngbyrwv7pb8kb3wqc4y6y";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base leancheck ];
        benchmarkHaskellDepends = [ base leancheck ];
@@ -79471,6 +79605,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "extra_1_6_18" = callPackage
+    ({ mkDerivation, base, clock, directory, filepath, process
+     , QuickCheck, semigroups, time, unix
+     }:
+     mkDerivation {
+       pname = "extra";
+       version = "1.6.18";
+       sha256 = "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy";
+       libraryHaskellDepends = [
+         base clock directory filepath process semigroups time unix
+       ];
+       testHaskellDepends = [ base directory filepath QuickCheck unix ];
+       description = "Extra functions I use";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "extract-dependencies" = callPackage
     ({ mkDerivation, async, base, Cabal, containers
      , package-description-remote
@@ -80080,26 +80231,6 @@ self: {
      }:
      mkDerivation {
        pname = "fast-builder";
-       version = "0.1.0.1";
-       sha256 = "0ykl1s29kma3bxvv1jfi7q8yv9vmbn1lsrfyn7axgi51j4g06x32";
-       libraryHaskellDepends = [ base bytestring ghc-prim ];
-       testHaskellDepends = [ base bytestring process QuickCheck stm ];
-       benchmarkHaskellDepends = [
-         aeson base bytestring containers criterion deepseq ghc-prim
-         scientific template-haskell text true-name unordered-containers
-         vector
-       ];
-       description = "Fast ByteString Builder";
-       license = stdenv.lib.licenses.publicDomain;
-     }) {};
-
-  "fast-builder_0_1_1_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, criterion
-     , deepseq, ghc-prim, process, QuickCheck, scientific, stm
-     , template-haskell, text, true-name, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "fast-builder";
        version = "0.1.1.0";
        sha256 = "024n5q1zsmd1va662sjdnc42w4qj6pmqg64fsfcn0jx5zvmg62d9";
        libraryHaskellDepends = [ base bytestring ghc-prim ];
@@ -80111,7 +80242,6 @@ self: {
        ];
        description = "Fast ByteString Builder";
        license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fast-combinatorics" = callPackage
@@ -84265,8 +84395,6 @@ self: {
        ];
        description = "Lists with a focused element";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "fold-debounce" = callPackage
@@ -87582,8 +87710,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.11.2";
-       sha256 = "0bjbz5zan20bpid2i6kbjwk589gkdwfvfawlg27j13p8a82srpdf";
+       version = "0.12.1";
+       sha256 = "00f95mhw6z5hz5jg6mnpgklkm548gp6nr3c49qhr661n8xl1fpyr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -89793,9 +89921,7 @@ self: {
          typed-uuid uuid
        ];
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {genvalidity-typed-uuid = null; typed-uuid = null;};
+     }) {};
 
   "genvalidity-path" = callPackage
     ({ mkDerivation, base, criterion, genvalidity, genvalidity-hspec
@@ -89884,6 +90010,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity-typed-uuid" = callPackage
+    ({ mkDerivation, base, genvalidity, genvalidity-hspec
+     , genvalidity-hspec-aeson, genvalidity-uuid, hspec, QuickCheck
+     , typed-uuid
+     }:
+     mkDerivation {
+       pname = "genvalidity-typed-uuid";
+       version = "0.0.0.0";
+       sha256 = "17lxwdb94lqprbymqsrm8xkgmgxaff6a3cczb1mzid9c91s1ym88";
+       libraryHaskellDepends = [
+         base genvalidity genvalidity-uuid QuickCheck typed-uuid
+       ];
+       testHaskellDepends = [
+         base genvalidity genvalidity-hspec genvalidity-hspec-aeson
+         genvalidity-uuid hspec QuickCheck typed-uuid
+       ];
+       description = "Generators for Phantom-Typed version of UUID";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "genvalidity-unordered-containers" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hashable
      , hspec, QuickCheck, unordered-containers, validity
@@ -91017,6 +91163,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghc-paths_0_1_0_12" = callPackage
+    ({ mkDerivation, base, Cabal, directory }:
+     mkDerivation {
+       pname = "ghc-paths";
+       version = "0.1.0.12";
+       sha256 = "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf";
+       setupHaskellDepends = [ base Cabal directory ];
+       libraryHaskellDepends = [ base ];
+       description = "Knowledge of GHC's installation directories";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-pkg-autofix" = callPackage
     ({ mkDerivation, base, Cabal, cmdargs, filepath, parsec, process
      , split
@@ -93021,8 +93180,8 @@ self: {
      }:
      mkDerivation {
        pname = "ginger";
-       version = "0.9.0.0";
-       sha256 = "14racx3vadxypk8h5cwj2qhg5fpc2pma6gmwlmr2ga6yswpgkl29";
+       version = "0.9.1.0";
+       sha256 = "0qlsqbkxwyc4hi8228l0mgiylnc0q9i02i46043m1390mdmp34qz";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -93242,8 +93401,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "7.20190730";
-       sha256 = "16mya2dm7q9ggdmwyszri85qnnxf0l71xnn8khnxl5fqrh2zvsjg";
+       version = "7.20190819";
+       sha256 = "1fvyxx47qx7yr8xfan398jlixbawblpz5h69kqsw1z7kh6plnycy";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-f-networkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -93295,9 +93454,9 @@ self: {
     ({ mkDerivation, base, brick, microlens, process, vector, vty }:
      mkDerivation {
        pname = "git-brunch";
-       version = "1.0.2.0";
-       sha256 = "1rjihw0fgd3np5gny9sv5nmk1cra7jhw39m8igp8izcish3yqggl";
-       isLibrary = true;
+       version = "1.0.4.0";
+       sha256 = "1ss2axjwjx7pqx9dq7mxhbnn43k1g1zj7n54f2xq7zwq2ngd5x8f";
+       isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
          base brick microlens process vector vty
@@ -93306,6 +93465,8 @@ self: {
          base brick microlens process vector vty
        ];
        testHaskellDepends = [ base brick microlens process vector vty ];
+       doHaddock = false;
+       description = "git checkout command-line tool";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -93472,6 +93633,22 @@ self: {
        broken = true;
      }) {};
 
+  "git-lfs" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, http-client, http-types, network-uri, text
+     }:
+     mkDerivation {
+       pname = "git-lfs";
+       version = "1.0.0";
+       sha256 = "0ryxi43sng5nwb9brdirvvxcs2j6bmg1x9vdx9fq5r4dch62b1zy";
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive containers http-client
+         http-types network-uri text
+       ];
+       description = "git-lfs protocol";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
   "git-mediate" = callPackage
     ({ mkDerivation, ansi-terminal, base, base-compat, Diff, directory
      , filepath, mtl, optparse-applicative, process, unix-compat
@@ -93960,8 +94137,8 @@ self: {
      }:
      mkDerivation {
        pname = "githud";
-       version = "3.0.1";
-       sha256 = "12ilxa52yib3ck80mr7djy59pzszb2l73npmpygcdwpcy46jq4p8";
+       version = "3.1.0";
+       sha256 = "0shdb3a73w0n0p9pl0j7gmsqjwvniah3l251cgn27sp1cm33li8r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -93973,7 +94150,7 @@ self: {
          base daemons mtl parsec tasty tasty-hunit tasty-quickcheck
          tasty-smallcheck
        ];
-       description = "More efficient replacement to the great git-radar";
+       description = "Heads up, and you see your GIT context";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -95671,8 +95848,8 @@ self: {
      }:
      mkDerivation {
        pname = "gogol";
-       version = "0.4.0";
-       sha256 = "1w6bxhgdsilv6z1q0m2qidv1in10i9p5biz733v2nqg2pflj8qgh";
+       version = "0.5.0";
+       sha256 = "1aah3db2ws07q4z2pka4gmsagpwlimv19xq0p6y0bznq86yy7i1q";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive conduit conduit-extra
          cryptonite directory exceptions filepath gogol-core http-client
@@ -95689,8 +95866,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-abusiveexperiencereport";
-       version = "0.4.0";
-       sha256 = "0jlpybzl1p6jifrj3cdc5wndjg1ds15liz844wl3vmx45p5bj2mq";
+       version = "0.5.0";
+       sha256 = "1c701rajjybggf04rvmj39mn5ryq27kvz79jacxhk9ia1g48lfbb";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Abusive Experience Report SDK";
        license = "unknown";
@@ -95701,20 +95878,32 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-acceleratedmobilepageurl";
-       version = "0.4.0";
-       sha256 = "0bd34zw60bzx4h2iczz02ynn7vm2pma3b1x419nafr70jlil11bc";
+       version = "0.5.0";
+       sha256 = "0mr77fifnjl9r1jvmdzr7nvbxrh18n1c7m5yahlg4gsph9jzxg6i";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Accelerated Mobile Pages (AMP) URL SDK";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gogol-accessapproval" = callPackage
+    ({ mkDerivation, base, gogol-core }:
+     mkDerivation {
+       pname = "gogol-accessapproval";
+       version = "0.5.0";
+       sha256 = "062377i1nrhynsqyg53fkczhj9ljxa1ms062zykyxq4inv7d9r2a";
+       libraryHaskellDepends = [ base gogol-core ];
+       description = "Google Access Approval SDK";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gogol-accesscontextmanager" = callPackage
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-accesscontextmanager";
-       version = "0.4.0";
-       sha256 = "1rq8q9av1vj0v7y7av6y92isyf0rrr0v5dqihx2ryhsxcn9bly4m";
+       version = "0.5.0";
+       sha256 = "0nglp371pxal59p33bb50r1vck6mc662z2yrqsq326w77dc24k6z";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Access Context Manager SDK";
        license = "unknown";
@@ -95725,8 +95914,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-adexchange-buyer";
-       version = "0.4.0";
-       sha256 = "056896r5iq343bam9qzd41x1iaqa0p31x20w6zspn3v9r8i1x76b";
+       version = "0.5.0";
+       sha256 = "0a2v15z4x0a6dbc789s1j78qcsfqypdf65ydw0gxzgajl136ni7x";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Ad Exchange Buyer SDK";
        license = "unknown";
@@ -95737,8 +95926,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-adexchange-seller";
-       version = "0.4.0";
-       sha256 = "17pvmi371xx06qav5c4fsq5il9a54478jwjfk7wh1snifxwsg3dn";
+       version = "0.5.0";
+       sha256 = "02y7sz24flvm6fayfjjvdrywsqy0qw3wrqkfg4jcwa1093j2x3g9";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Ad Exchange Seller SDK";
        license = "unknown";
@@ -95749,8 +95938,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-adexchangebuyer2";
-       version = "0.4.0";
-       sha256 = "0bsxix42viyg74yvw03bhn19c9rcav1hby63fjlcg9zvs9pqx9a2";
+       version = "0.5.0";
+       sha256 = "0sy40qp8z47d364dml5fafdy34xwlaa8lwn86n076i0xr0a2c3sc";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Ad Exchange Buyer API II SDK";
        license = "unknown";
@@ -95761,8 +95950,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-adexperiencereport";
-       version = "0.4.0";
-       sha256 = "0n9gg9rgwyj7x115dpp73gqsz61qjkph8iwlf51ak0dflvhpcirc";
+       version = "0.5.0";
+       sha256 = "1sk083dkiwzr39w7bgqv3klvnx0jb8xqz1v3x0val3dzhfhd0rg0";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Ad Experience Report SDK";
        license = "unknown";
@@ -95773,8 +95962,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-admin-datatransfer";
-       version = "0.4.0";
-       sha256 = "0i0zrz1wgwdqxisq47icaa9rz1vawgkwk80pg8lzraaf82scxsd2";
+       version = "0.5.0";
+       sha256 = "149h3kg68xqanpzyqxbjxq1nskigv1310fq17inkl3bqm7mk0d3s";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Admin Data Transfer SDK";
        license = "unknown";
@@ -95785,8 +95974,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-admin-directory";
-       version = "0.4.0";
-       sha256 = "0nikrrv152xnr4b8542vlmnqazq8cvq89mi004nzd8pfl0a7nz5m";
+       version = "0.5.0";
+       sha256 = "0kinbhz4j11nd6s5w4jg13dpbq6hgf6acnqi6hvmn4m4yjm6qs5i";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Admin Directory SDK";
        license = "unknown";
@@ -95809,8 +95998,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-admin-reports";
-       version = "0.4.0";
-       sha256 = "0ncx9knx8lnkbg0zcc5ak1ywgk1nqdqvplri247wxxlyn582xx2b";
+       version = "0.5.0";
+       sha256 = "17m4924mqr0wiq07n3ada8jqc2kbwn2apzmbkpcsf6ns8qpw4r4k";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Admin Reports SDK";
        license = "unknown";
@@ -95821,8 +96010,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-adsense";
-       version = "0.4.0";
-       sha256 = "0ahw3mapm93krj2lkzvcxqg3n7v912drfqb40afjl9p572hppl0w";
+       version = "0.5.0";
+       sha256 = "07v6sgp6dqvgcmni4579c6iyxqbbn24lyp64zfdv88s4wjhjbdjj";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google AdSense Management SDK";
        license = "unknown";
@@ -95833,8 +96022,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-adsense-host";
-       version = "0.4.0";
-       sha256 = "03pm68sksb2r51a7962bjypaf0ycbjsqwdyzl338v2l03jwp4d3w";
+       version = "0.5.0";
+       sha256 = "1s9dsrz6svnm8jjl13w3v72gyyg2xc5sxg6piw087c8j1sqfx131";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google AdSense Host SDK";
        license = "unknown";
@@ -95857,8 +96046,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-alertcenter";
-       version = "0.4.0";
-       sha256 = "0sb4r4xbcfmrygz92xy1b0qps32mvw4kxlgixzmx5lhabhmh19rg";
+       version = "0.5.0";
+       sha256 = "0d114xkvdjzfgl63gyc1a56jfdacbr5chdz80199jp85zp04h3wi";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google G Suite Alert Center SDK";
        license = "unknown";
@@ -95869,8 +96058,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-analytics";
-       version = "0.4.0";
-       sha256 = "0vbz4ydkkglradhmrs1s3ldz8isz65lvfw84imhrmfrnbj8mvwsr";
+       version = "0.5.0";
+       sha256 = "1bfm1z13hvijln3f92n4i8042dd56z6wian6scnbfcndnsfwsrc9";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Analytics SDK";
        license = "unknown";
@@ -95881,8 +96070,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-analyticsreporting";
-       version = "0.4.0";
-       sha256 = "0wcnvdf02l3s81f53v33f6vy3ksnpcyhdls4jf6939x2pz7frrld";
+       version = "0.5.0";
+       sha256 = "0ih63njgb3612myqfc1impas9jc5gx5hlmhvjzw0bp6rn7dv5qvm";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Analytics Reporting SDK";
        license = "unknown";
@@ -95893,8 +96082,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-android-enterprise";
-       version = "0.4.0";
-       sha256 = "0pq3krv5gncwpiblrkqsabrkqldjl1gardkf279qqc8z7qw74wn8";
+       version = "0.5.0";
+       sha256 = "0qxvqv3i21k9g0mgy67073xb2yd8m357c2806v18inh7cikhndgy";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play EMM SDK";
        license = "unknown";
@@ -95905,8 +96094,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-android-publisher";
-       version = "0.4.0";
-       sha256 = "0f9s1zss2i5xq67mv7wgvgbbba0fybqmnyr4vxjg28c2y5kvvggv";
+       version = "0.5.0";
+       sha256 = "05dz12615l74y4iqasgn84vi79i1m7wv11gz5sfbmmmddizjdxy4";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Developer SDK";
        license = "unknown";
@@ -95917,8 +96106,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-androiddeviceprovisioning";
-       version = "0.4.0";
-       sha256 = "0zynvy8720b26sp884da98cfnx9g7rcwgrj6n27lqmpw3lqmfh4r";
+       version = "0.5.0";
+       sha256 = "1yc88s0h6v8ipw26a90ds0wdmsg78zpp3pqrybip9fh8grzbplv5";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Android Device Provisioning Partner SDK";
        license = "unknown";
@@ -95929,8 +96118,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-androidmanagement";
-       version = "0.4.0";
-       sha256 = "16xarhr93vpxawd7mg59zc53bl7xh63hpqjz869vhnf481vn4pmq";
+       version = "0.5.0";
+       sha256 = "0j68bbdyb3qnjylkb7fyv162pxfjx6802cnb63kryl7wbzcvf02s";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Android Management SDK";
        license = "unknown";
@@ -95941,8 +96130,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-appengine";
-       version = "0.4.0";
-       sha256 = "14pf281j7q05dlz8i08m8082qixx1d5fjyi3zm19blsghx7hsn6a";
+       version = "0.5.0";
+       sha256 = "1p4cxp4f417m0llw58zslaabfswp5s9b9xlxfn3qrl3mdghs8lvk";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google App Engine Admin SDK";
        license = "unknown";
@@ -95953,8 +96142,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-apps-activity";
-       version = "0.4.0";
-       sha256 = "1iv4q10h5n8mbkjgw2v7j9d9y4zvl0srpkw1kwd98h1chgg7hyhi";
+       version = "0.5.0";
+       sha256 = "0frs0976h57gckraxhipbsd1ps39ddw5bcsxrya9mczyh31aqn4w";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Drive Activity SDK";
        license = "unknown";
@@ -95965,8 +96154,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-apps-calendar";
-       version = "0.4.0";
-       sha256 = "1dbxva37p8ww835y4sg1v01f12kr049ralsfqs3hkv516lsh7kxr";
+       version = "0.5.0";
+       sha256 = "1q68zbqk7pkh7clvlyjlkdy7i3zwrh8rl7ksyxd9x8wvla91qc34";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Calendar SDK";
        license = "unknown";
@@ -95977,8 +96166,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-apps-licensing";
-       version = "0.4.0";
-       sha256 = "1sbbr7ihl415zx7axjwlvbfp646gr3fbb90n27wxh8pl4h2hlzkf";
+       version = "0.5.0";
+       sha256 = "1x86ssslmksdlfmf8rasavpn9dg5kpk416zf001mb896lh6r5dlq";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Enterprise License Manager SDK";
        license = "unknown";
@@ -95989,8 +96178,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-apps-reseller";
-       version = "0.4.0";
-       sha256 = "038qfmfpw3wi5v9x9wgbpv2agbjab8z5q0idwzfih8xjckfxd520";
+       version = "0.5.0";
+       sha256 = "0zxjp7apiqd12bcj6fwwrlx8j466pavfgmv35d2alvmb83n1h8gw";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Enterprise Apps Reseller SDK";
        license = "unknown";
@@ -96001,8 +96190,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-apps-tasks";
-       version = "0.4.0";
-       sha256 = "1nfzl9hqsh2dwgxhwwx5w6yr6vvcbx0j72iprb42bp6hsv5lh5nx";
+       version = "0.5.0";
+       sha256 = "0cb61wqjq8za2d44i0h561hzp2nmyynr2fy24mbhj2gb0zcd14bc";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Tasks SDK";
        license = "unknown";
@@ -96013,8 +96202,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-appstate";
-       version = "0.4.0";
-       sha256 = "1z6k2kx20jgankjb1ynyhr0s9q8n2wln5ng8w0bd2gnflxnh26l7";
+       version = "0.5.0";
+       sha256 = "1gx52lnrp6mdsf168x0viwkj8pr49a0npf98a402ij3gndsn28aq";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google App State SDK";
        license = "unknown";
@@ -96037,8 +96226,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-bigquery";
-       version = "0.4.0";
-       sha256 = "1c1gr2pwy9a0chysfi6v1imy15f5k689ys5lfnrgnl65ff0hqifq";
+       version = "0.5.0";
+       sha256 = "1z3rdh9qrabycxnxrzay6ddw5l97qws48hn78g5pkbn73z1dh22z";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google BigQuery SDK";
        license = "unknown";
@@ -96049,8 +96238,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-bigquerydatatransfer";
-       version = "0.4.0";
-       sha256 = "0gccvjc81c3kz88iy4kd7ihp57z5p2a83ma23c1rishfl2cr3p00";
+       version = "0.5.0";
+       sha256 = "13pbbhk4ryg7vpkhkdvkjhc4sjnizdpjll4x9inb0zm8k1ki21ws";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google BigQuery Data Transfer SDK";
        license = "unknown";
@@ -96061,8 +96250,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-bigtableadmin";
-       version = "0.4.0";
-       sha256 = "10hcaalxhx2ds2drjqry27kk416q87hcd020nvfzsnj4hl0msl5q";
+       version = "0.5.0";
+       sha256 = "0nxrcyf3spmhchmmjbszpv935lcwb979zfil9iwdigymq5wvfzgx";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Bigtable Admin SDK";
        license = "unknown";
@@ -96073,8 +96262,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-billing";
-       version = "0.4.0";
-       sha256 = "0ilfy5bn1wk95wg4496ap9szl9lp6sh1sdr9ngg6vral05jjf7ck";
+       version = "0.5.0";
+       sha256 = "1zx7k5qhasvjz1568znasix6xrkxhsfhcsqwv6r1zd5a3pnzvaxm";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Billing SDK";
        license = "unknown";
@@ -96085,8 +96274,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-binaryauthorization";
-       version = "0.4.0";
-       sha256 = "182ghkavwbi6y759235wrifwywyq2r7vc45xpgk979kcgk5jnjlk";
+       version = "0.5.0";
+       sha256 = "19gbql17mrxn4xgdbl96f245fckaj5gwwggn5f7xa59ahzbgfgay";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Binary Authorization SDK";
        license = "unknown";
@@ -96097,8 +96286,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-blogger";
-       version = "0.4.0";
-       sha256 = "16yv9rld0q2hi553k72c9z6854r7n8h3yx2hf8fam3zmkcr1qad4";
+       version = "0.5.0";
+       sha256 = "027g8vj7msdzmkb7sjbd9s0p3zpxyal1l0daxbw1bhwr9lrd8j94";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Blogger SDK";
        license = "unknown";
@@ -96109,8 +96298,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-books";
-       version = "0.4.0";
-       sha256 = "1zkz32mwarmfcjbqzjm3lpmdibfhgpra68cad2rh68bm2jkj71yf";
+       version = "0.5.0";
+       sha256 = "07rd2592hqvbx1lkz9hgrqjfy91a6g5vhy6d88yqzzyl1mkwq405";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Books SDK";
        license = "unknown";
@@ -96121,8 +96310,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-chat";
-       version = "0.4.0";
-       sha256 = "12af5z86s3xxhn8ci4aqls3h2q52msmnh5ygd0igmdq0vn0278ij";
+       version = "0.5.0";
+       sha256 = "0dxwfml51xh3a04ghhr41dbaayq1c36klaiwams3rq95ak7mnq6i";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Hangouts Chat SDK";
        license = "unknown";
@@ -96133,8 +96322,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-civicinfo";
-       version = "0.4.0";
-       sha256 = "1cvb0wbmv7a78d3bannd2n3ymny90dbnn68d979qgd8nz45r0k5z";
+       version = "0.5.0";
+       sha256 = "04kv6rnaiq1bxn46ir1l5w6w5qysb6f85ly3c9jksf0m5607gxxr";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Civic Information SDK";
        license = "unknown";
@@ -96145,8 +96334,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-classroom";
-       version = "0.4.0";
-       sha256 = "0fyq54ddh2a8l0ai29x1dz4kcisx671mcg74p3c103iynfqnlyzr";
+       version = "0.5.0";
+       sha256 = "0hh6kbknnz7drd6ba1irr9wk5vhf51pgiskydgcav3f251j31sx4";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Classroom SDK";
        license = "unknown";
@@ -96157,8 +96346,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-cloudasset";
-       version = "0.4.0";
-       sha256 = "0ki8r45p59hdakhdpz4sxxkfgnm908limvsd8z8afrnw5jg2h9ac";
+       version = "0.5.0";
+       sha256 = "0368lmz0nsffs9pj1v4ab5yx5xhfh1g27c9l3fs49aihdrvij3yk";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Asset SDK";
        license = "unknown";
@@ -96169,8 +96358,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-clouderrorreporting";
-       version = "0.4.0";
-       sha256 = "1ixc67805bv4klz1sxgjg83zydar1712n4zdpps6wnccl8rh0f3p";
+       version = "0.5.0";
+       sha256 = "1hsgrpc9cbazn5a1g6lsg5azd8bgl45b95djwy13bc6vi9xwsr28";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Error Reporting SDK";
        license = "unknown";
@@ -96181,8 +96370,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-cloudfunctions";
-       version = "0.4.0";
-       sha256 = "1fz3yxhaffgn8414ak95qkliwwkd8k7kxv7kyx2sdahhk6f7gckw";
+       version = "0.5.0";
+       sha256 = "1pv7h53zyqlp7wbw48hxxp3x9n515v0jdkjnpxqbszfhza28jsy9";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Functions SDK";
        license = "unknown";
@@ -96193,8 +96382,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-cloudidentity";
-       version = "0.4.0";
-       sha256 = "1zfyc73xbdzwcmzn9pd8y118bwwgw02igd5knjwsvlv7jdjrsghh";
+       version = "0.5.0";
+       sha256 = "1z4ncvzggpn52r75bl7y9mk19vdpsimxfflggvzz1lgy941ciyil";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Identity SDK";
        license = "unknown";
@@ -96205,8 +96394,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-cloudiot";
-       version = "0.4.0";
-       sha256 = "0h30a94vj2g58y87l6k8amzxpxr71q94jli48pq81ddas78486i3";
+       version = "0.5.0";
+       sha256 = "07zw4p2pi9gb90fzfg899xqbv50iwxc7rsb705wbpiyj80ynd85b";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud IoT SDK";
        license = "unknown";
@@ -96217,8 +96406,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-cloudkms";
-       version = "0.4.0";
-       sha256 = "14rhdja6wwrcdhh67avbi395n870rmyrnzfx7cqyfvvngpp4321v";
+       version = "0.5.0";
+       sha256 = "0wpjmxrp1gl663sqcfgalrgjqw90wcahjlsg9bm6ay9y7g8mic0m";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Key Management Service (KMS) SDK";
        license = "unknown";
@@ -96237,12 +96426,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gogol-cloudprivatecatalog" = callPackage
+    ({ mkDerivation, base, gogol-core }:
+     mkDerivation {
+       pname = "gogol-cloudprivatecatalog";
+       version = "0.5.0";
+       sha256 = "0y0z6wmsr2qsgj6wh4y37ph68fayk5szzk02xv0ncggrn5pbpm07";
+       libraryHaskellDepends = [ base gogol-core ];
+       description = "Google Cloud Private Catalog SDK";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gogol-cloudprivatecatalogproducer" = callPackage
+    ({ mkDerivation, base, gogol-core }:
+     mkDerivation {
+       pname = "gogol-cloudprivatecatalogproducer";
+       version = "0.5.0";
+       sha256 = "1zq8pb3jm6gpp116q4x8i69jihgwnbyafdrnw5jxyl3ynr6bwll0";
+       libraryHaskellDepends = [ base gogol-core ];
+       description = "Google Cloud Private Catalog Producer SDK";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gogol-cloudprofiler" = callPackage
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-cloudprofiler";
-       version = "0.4.0";
-       sha256 = "188c11fn4cqf32d6jp0dfql4cg4fwn85hlw59q54i2yvpkxmw666";
+       version = "0.5.0";
+       sha256 = "022d1ix4a4n3kk108jl1yl2x13q57ahg4c9gvbxlvm7g3skz2rda";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Profiler SDK";
        license = "unknown";
@@ -96253,8 +96466,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-cloudscheduler";
-       version = "0.4.0";
-       sha256 = "13yx14k78vmfdslhj5wcd8kqnh77dy0svc1d2hhbb6qazs523liq";
+       version = "0.5.0";
+       sha256 = "1vb3xwnn59b3fzybp09lxpysij37q8rxg3392gnf09mqg57vlcpw";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Scheduler SDK";
        license = "unknown";
@@ -96265,8 +96478,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-cloudsearch";
-       version = "0.4.0";
-       sha256 = "01ra2xwqp33v1izmsx08xwxnif3qmgz51hsgmib1l409p425bzy0";
+       version = "0.5.0";
+       sha256 = "05nwvrdilz79hdlbzl853h3aj4gqcwql251slmzgg3s92haz0ygx";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Search SDK";
        license = "unknown";
@@ -96277,8 +96490,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-cloudshell";
-       version = "0.4.0";
-       sha256 = "0j1f9b050vifnsdp8hby3sry77wfvx7856z92xal2adgv23qcrv1";
+       version = "0.5.0";
+       sha256 = "08hngcd8v08j7gp7pfyx6jm10p1g5w80ljq511f0jg5i5s6pkpr9";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Shell SDK";
        license = "unknown";
@@ -96289,8 +96502,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-cloudtasks";
-       version = "0.4.0";
-       sha256 = "02dg92n6q6j5fzvm018dsa09n1ks1dx1bh6sjl74d8wqksnzsnfr";
+       version = "0.5.0";
+       sha256 = "1rgm3m1nsvfc96vipsqjaci6h21j8lxk0qb9jxs7qmifyhlycr5a";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Tasks SDK";
        license = "unknown";
@@ -96301,20 +96514,32 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-cloudtrace";
-       version = "0.4.0";
-       sha256 = "0jgpx5aln442m1zgwp44c2hlwygjkvzlxyb9lh8jb1m4yvigwmrd";
+       version = "0.5.0";
+       sha256 = "12yh4ks9mwfk48qqgkp38vv7xrrlqlnx1d41x851xwb7hw61288r";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Trace SDK";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gogol-commentanalyzer" = callPackage
+    ({ mkDerivation, base, gogol-core }:
+     mkDerivation {
+       pname = "gogol-commentanalyzer";
+       version = "0.5.0";
+       sha256 = "1psy2vd6xj2rlnacay6srp0lcy4bvfnkpqjg5yvl41qx74w11dc9";
+       libraryHaskellDepends = [ base gogol-core ];
+       description = "Google Perspective Comment Analyzer SDK";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gogol-composer" = callPackage
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-composer";
-       version = "0.4.0";
-       sha256 = "0r28qibn9sin49gfnzqwkxd86lp4jczq3s10ry3j84rnjn6rnwf6";
+       version = "0.5.0";
+       sha256 = "1hzdnrchczaha310sr5ndk7bwykvv6qy70hh2jcw6s5fg6kjmpi5";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Composer SDK";
        license = "unknown";
@@ -96325,8 +96550,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-compute";
-       version = "0.4.0";
-       sha256 = "16cfb8z1aycc9zgdasfp1xxihdnb92wh0kg5gw7xkfbqxvh1gbfy";
+       version = "0.5.0";
+       sha256 = "1z0l373qb3swnli6987r5s6l1kkrrh4m3hc8mghchviz16hpwm30";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Compute Engine SDK";
        license = "unknown";
@@ -96337,8 +96562,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-consumersurveys";
-       version = "0.4.0";
-       sha256 = "0ssk3b4iq6977ivs3zki6i4bnvwcyr9sf6pay3yi17g9r4g3fxqc";
+       version = "0.5.0";
+       sha256 = "13az55a4hdpgrsfa4s4x2l40yjlfl01ypba3p1z36ckv70yqvmax";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Consumer Surveys SDK";
        license = "unknown";
@@ -96349,8 +96574,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-container";
-       version = "0.4.0";
-       sha256 = "1jx33ziy5lmdaxiipdd6hb3qzhy1zflc3jmzhjax9lsvla8j2krx";
+       version = "0.5.0";
+       sha256 = "06pjabcch02pknn8rqq2kl4zyb331v89iq3l6i279i5prqp8jkh2";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Kubernetes Engine SDK";
        license = "unknown";
@@ -96361,8 +96586,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-containeranalysis";
-       version = "0.4.0";
-       sha256 = "0hqkm4xjbw927pazvcawa87kfyzk7x97k3ic85q8a8zy2gc30vsg";
+       version = "0.5.0";
+       sha256 = "059nkdz6zb9ffi5731dfrppk2cv5mcvh84x8b30yhfp63vs083dp";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Container Analysis SDK";
        license = "unknown";
@@ -96373,8 +96598,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-containerbuilder";
-       version = "0.4.0";
-       sha256 = "18ggnqngj564mbm3zm5ip8kpc1diwgvxbr51qz60jcymwlgrzk50";
+       version = "0.5.0";
+       sha256 = "04jrblg8z1sji9xg6qbypxkbwzidx76hwy2c9kdgchjj298xifcc";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Build SDK";
        license = "unknown";
@@ -96390,8 +96615,8 @@ self: {
      }:
      mkDerivation {
        pname = "gogol-core";
-       version = "0.4.0";
-       sha256 = "1bfmdhlf5l612mwln1may5l2vqlps2k8hhxsbkx8h4n1gblriic2";
+       version = "0.5.0";
+       sha256 = "0xvlrx4hzhwp3slinh8apnxlgxmispjjnmwsfbpi4p9n451ilx93";
        libraryHaskellDepends = [
          aeson attoparsec base bifunctors bytestring case-insensitive
          conduit dlist exceptions hashable http-api-data http-client
@@ -96408,8 +96633,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-customsearch";
-       version = "0.4.0";
-       sha256 = "1iq951qmm264w1lkq958fw90fcvzjsq4skz73kim4xvgiwr4q7kj";
+       version = "0.5.0";
+       sha256 = "1rfc932v4pwffry7864in7q9g68xzqz2sharzwfn8ql04la88fg7";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google CustomSearch SDK";
        license = "unknown";
@@ -96420,20 +96645,32 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-dataflow";
-       version = "0.4.0";
-       sha256 = "0k2dlr938ilqbj56z5p75fs6yl8q6qbkfld7rbay1pnx9ss6yf67";
+       version = "0.5.0";
+       sha256 = "0k27idpz6n8gilpm5cb1yz6x6x89qlnpqg7jzpp4ipld1h4m6xp1";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Dataflow SDK";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gogol-datafusion" = callPackage
+    ({ mkDerivation, base, gogol-core }:
+     mkDerivation {
+       pname = "gogol-datafusion";
+       version = "0.5.0";
+       sha256 = "0g90fa6mdicv4fyv999vild0accvsd4kr7mj9b008b5f4x286wpn";
+       libraryHaskellDepends = [ base gogol-core ];
+       description = "Google Cloud Data Fusion SDK";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gogol-dataproc" = callPackage
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-dataproc";
-       version = "0.4.0";
-       sha256 = "0h3y503chr8srqjnk1hgvn4naayp09yvp0gf9np8da9mdxwk98c6";
+       version = "0.5.0";
+       sha256 = "0v1h6621v0aj415c8d11rfgri40vh3d1h3wl5i40nnz81qa11d5j";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Dataproc SDK";
        license = "unknown";
@@ -96444,8 +96681,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-datastore";
-       version = "0.4.0";
-       sha256 = "018qjg7vwspd86fdzxsag732d1x81yag6h8bw5arq38cq50ak3fx";
+       version = "0.5.0";
+       sha256 = "17raqp9la38r2jbx5438hxi12blkckzfdgmfvnw05isdwnz1azjl";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Datastore SDK";
        license = "unknown";
@@ -96456,8 +96693,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-debugger";
-       version = "0.4.0";
-       sha256 = "1q3nsda0w6zkl0j49l1ry6mr030b65mzf6hylny1gxxdy2mypq3l";
+       version = "0.5.0";
+       sha256 = "0a29kcihp90s6zvc8f9733rylsnf6098vkvqx7nsrg78x7qcz48p";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Debugger SDK";
        license = "unknown";
@@ -96468,8 +96705,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-deploymentmanager";
-       version = "0.4.0";
-       sha256 = "123m18nqjfgdmgrbl6b6kwppnq16bd7i3gn7mjdlrk6dm6wh84j0";
+       version = "0.5.0";
+       sha256 = "0l52j1vlnhm5dnz9jfld2rixs511l567gw7dbd2ylnx77632fvsw";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Deployment Manager SDK";
        license = "unknown";
@@ -96480,8 +96717,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-dfareporting";
-       version = "0.4.0";
-       sha256 = "0jsv73zmdkm1lz0kk41yqayy07cfz4c2xn7q3vlg85ksv7jnn5ha";
+       version = "0.5.0";
+       sha256 = "0s7s5cm7kdigx1212abzyv69p4gzpx4dkxvycip60p27chsiv47p";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google DCM/DFA Reporting And Trafficking SDK";
        license = "unknown";
@@ -96492,8 +96729,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-dialogflow";
-       version = "0.4.0";
-       sha256 = "1qma0gilizalyrwafw7rvpqmyc5vcsg4pds6f089qhxm42jwcmlk";
+       version = "0.5.0";
+       sha256 = "02q9qj713gz75gzdvqlladddniyk0waf2gbfqnh7dyirn8l67k6a";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Dialogflow SDK";
        license = "unknown";
@@ -96504,8 +96741,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-digitalassetlinks";
-       version = "0.4.0";
-       sha256 = "1lvgk9ba0l5i39zvswqbmwhhpsq0bijis6gp6n9wq30bgzf9a8vq";
+       version = "0.5.0";
+       sha256 = "04mfan610hzi9ar7rpmdwn4hw2m4v4n5hfz00si648vx6grn3835";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Digital Asset Links SDK";
        license = "unknown";
@@ -96516,10 +96753,10 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-discovery";
-       version = "0.4.0";
-       sha256 = "1nvhmh95k1z9q4s1lfv078dlv33lm1qkwq5hkd0nysqaibfgql5x";
+       version = "0.5.0";
+       sha256 = "14igx8cs86v88vfvdw3fr090yk3f5dnpiggai1w2xnshbvg3gfdd";
        libraryHaskellDepends = [ base gogol-core ];
-       description = "Google APIs Discovery Service SDK";
+       description = "Google API Discovery Service SDK";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -96528,8 +96765,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-dlp";
-       version = "0.4.0";
-       sha256 = "1hbd1bld98k7am5gr0569vsdzgd9w95nx3z40lhbr23f6fybv3w7";
+       version = "0.5.0";
+       sha256 = "0wd5l1bjiaw5cp78ppz81ab3cb9dpgjw5iy3hz9cg0y6y8x6smm5";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Data Loss Prevention (DLP) SDK";
        license = "unknown";
@@ -96540,20 +96777,32 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-dns";
-       version = "0.4.0";
-       sha256 = "1y0n41pq031kcphpxvr4fzrvdgy4imfmkb5frazgb3acx874pqwc";
+       version = "0.5.0";
+       sha256 = "0wzlbpkaqd94dkgbg5nqss9kbyx2lqk0jbd97l9jmka1pmm0c30a";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud DNS SDK";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gogol-docs" = callPackage
+    ({ mkDerivation, base, gogol-core }:
+     mkDerivation {
+       pname = "gogol-docs";
+       version = "0.5.0";
+       sha256 = "1ig79q8iwfmyrjy7jb27fcdd05zjgpi0aikw597gkjj9vga5jzms";
+       libraryHaskellDepends = [ base gogol-core ];
+       description = "Google Docs SDK";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gogol-doubleclick-bids" = callPackage
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-doubleclick-bids";
-       version = "0.4.0";
-       sha256 = "1f1x12gcab5lz1yig3p7b9fxdwr1mj4c5r7w1c97awg4wa4qyv61";
+       version = "0.5.0";
+       sha256 = "1jk725c2viyvbi4i12zlvwnz855jnpjjfc9qp5rbbfkkyf8904n3";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google DoubleClick Bid Manager SDK";
        license = "unknown";
@@ -96564,8 +96813,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-doubleclick-search";
-       version = "0.4.0";
-       sha256 = "0mzwg6njbdvn0y3qqnal919gsj5fi8fcdsn6f438dfg481g93igk";
+       version = "0.5.0";
+       sha256 = "1kd0x3xb365r30gaz74wksny20dp96ynr9xvds2z4jnmabhlc1fx";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google DoubleClick Search SDK";
        license = "unknown";
@@ -96576,8 +96825,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-drive";
-       version = "0.4.0";
-       sha256 = "1k2ndnqrnc1y5ymic1g6jpigg2vg3k6y1j3mm413zh5p7lvx4ngy";
+       version = "0.5.0";
+       sha256 = "0qbdchfni89h0l28db37dl5ysjlzckby59ng7026xhjkk5c8iyrl";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Drive SDK";
        license = "unknown";
@@ -96588,20 +96837,32 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-driveactivity";
-       version = "0.4.0";
-       sha256 = "0d4mbp7jryma7lr63cy819986q3plc4cgqfn217gydq7ajdzpqds";
+       version = "0.5.0";
+       sha256 = "1n2frzhrz1rfbxm6lcxyd13q99wwlyp7c6n4pjy87skvd332xqsg";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Drive Activity SDK";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gogol-factchecktools" = callPackage
+    ({ mkDerivation, base, gogol-core }:
+     mkDerivation {
+       pname = "gogol-factchecktools";
+       version = "0.5.0";
+       sha256 = "1bga1plk1v57v6lpyk292ia0fzxks6lj0jq9d5gqz7k22yaqwzl5";
+       libraryHaskellDepends = [ base gogol-core ];
+       description = "Google Fact Check Tools SDK";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gogol-file" = callPackage
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-file";
-       version = "0.4.0";
-       sha256 = "161xmzxsjynnfd51df7q553bmdzgmyvddd2dn84b3hc82n3xj4km";
+       version = "0.5.0";
+       sha256 = "1k0mc2vavnfpxx6h878iib3a15bp2h2mx7wq9pa3527syh5d424p";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Filestore SDK";
        license = "unknown";
@@ -96612,8 +96873,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-firebase-dynamiclinks";
-       version = "0.4.0";
-       sha256 = "0qckmvkrgwa79c0zg1dlr0ihz666yfg2kilanjir0yylax2w87lb";
+       version = "0.5.0";
+       sha256 = "1hbknisl0358iznc45hhjixhdb3kh2b5chxiyq028ayl5w1p4rvn";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Firebase Dynamic Links SDK";
        license = "unknown";
@@ -96624,8 +96885,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-firebase-rules";
-       version = "0.4.0";
-       sha256 = "0j8wd8vwbpiwkhijrlh9d4c004sqy0m99qxz9sv23nakmnmq04d0";
+       version = "0.5.0";
+       sha256 = "06779qj9vjhvzw0d60ddxlzmij7sjjv67npav670xkgs3q71b655";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Firebase Rules SDK";
        license = "unknown";
@@ -96636,8 +96897,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-firebasehosting";
-       version = "0.4.0";
-       sha256 = "1g05b90fpyl2wqi3w0w6zp4qmzc82j4qvlja0ra5vnid129l5ll2";
+       version = "0.5.0";
+       sha256 = "0h2k4ymqn0r5vpgqb1pzcydmcwx2s0x4yim5j47b963qqwrwb7yc";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Firebase Hosting SDK";
        license = "unknown";
@@ -96648,8 +96909,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-firebaseremoteconfig";
-       version = "0.4.0";
-       sha256 = "0x6k93d8gdff2byjwk47z84rmdbsr676nml1638mvq6vwx1d4zv1";
+       version = "0.5.0";
+       sha256 = "1qpv689lrizcv308303ajzjvkh9z4hs256ibnmlk0835xzwcw1qc";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Firebase Remote Config SDK";
        license = "unknown";
@@ -96660,8 +96921,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-firestore";
-       version = "0.4.0";
-       sha256 = "07x7ksyx91wisah8lmmq3p4cln1wx1wzbyc2cwb5wp0n78r83hdh";
+       version = "0.5.0";
+       sha256 = "13y9g4h21mis26x663pv9lhi9i3r4s6x4pcnnwsk20a0s83k8x2k";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Firestore SDK";
        license = "unknown";
@@ -96672,8 +96933,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-fitness";
-       version = "0.4.0";
-       sha256 = "0170r4pph2pfsp4phfq8sjj63cz6sn5nwlqsv8810zli4ghzrcsa";
+       version = "0.5.0";
+       sha256 = "0pbz6kjkrwcb1mz83gfmyf1mcdp6lsbdp450h79083xlpbwz0kwx";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Fitness SDK";
        license = "unknown";
@@ -96684,8 +96945,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-fonts";
-       version = "0.4.0";
-       sha256 = "11cjwnil31sskinfzfgqcq1p5d8c7gzackba5ap5kydvs9l7k6hf";
+       version = "0.5.0";
+       sha256 = "0cgkdgvs65znknf1dpdr2jxn3wan705i89bwfzfwavwykacsjqbk";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Fonts Developer SDK";
        license = "unknown";
@@ -96708,8 +96969,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-fusiontables";
-       version = "0.4.0";
-       sha256 = "0rb3h779wy1rw1hh0y1sdvz8wg31dbsa0980wbj12jlna13qaw82";
+       version = "0.5.0";
+       sha256 = "1bi9cjm7xn5dq74a7r5y95snbfjwljmfjl5pxfh2cjshpjgdpd67";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Fusion Tables SDK";
        license = "unknown";
@@ -96720,8 +96981,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-games";
-       version = "0.4.0";
-       sha256 = "0asy79mx2aixh9fylzczr0d8wghzgkhf1xvssmc65w41gdw9w2gg";
+       version = "0.5.0";
+       sha256 = "0kdqw6l1fr37amhd830lyqrh87znbbbs2lxh7cbqr831gwj4qnpk";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Game Services SDK";
        license = "unknown";
@@ -96732,8 +96993,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-games-configuration";
-       version = "0.4.0";
-       sha256 = "08g29wc9x872mq2179r9sq8sy7b8mbl4q2ak0z9wcknckn6ziq0c";
+       version = "0.5.0";
+       sha256 = "0j2psg58f6ilvnvdq88vmq1b462dpfssij1pa6y5xmm62gvvv6i5";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Game Services Publishing SDK";
        license = "unknown";
@@ -96744,8 +97005,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-games-management";
-       version = "0.4.0";
-       sha256 = "1j43bfb0b4xmbjhzh732mncwqlz0j0vfx032kscfy4sx9hbb2kva";
+       version = "0.5.0";
+       sha256 = "0bnkv9vic8rly2ga4k73s8cnhvird3kv5nmy17560pw4q40a5d9n";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Game Services Management SDK";
        license = "unknown";
@@ -96756,8 +97017,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-genomics";
-       version = "0.4.0";
-       sha256 = "1n0iqmfryqzslhq14h7sg2fxis8wbl0lkxbmcb6v51yi3cbp3ckv";
+       version = "0.5.0";
+       sha256 = "0cygvkm388g0scmy51b2dmkj6kzpcdwpxd0w98dfmwhgvln3xgl2";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Genomics SDK";
        license = "unknown";
@@ -96768,8 +97029,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-gmail";
-       version = "0.4.0";
-       sha256 = "0fwayrrd510jm1qvsnqckar3hhvq7s2sbpzqxkj4hpgh221rmi7f";
+       version = "0.5.0";
+       sha256 = "053l0k1h2wmwgqzywswhhmwh2275n6psiy8bk684dkzvdj1msbkz";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Gmail SDK";
        license = "unknown";
@@ -96780,8 +97041,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-groups-migration";
-       version = "0.4.0";
-       sha256 = "1d3r5qkcj9370ykg54lcfh0qmj5fs0al6k8zdjpqybr1rpfb2pnn";
+       version = "0.5.0";
+       sha256 = "1sbmnq1ivy8dcgngfprd7g5g08fvzgwhr5hrixg4gmw95hwplafi";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Groups Migration SDK";
        license = "unknown";
@@ -96792,20 +97053,32 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-groups-settings";
-       version = "0.4.0";
-       sha256 = "0z7ljg2k99n0rmgy85sp1wqvmybl48y2cv91p5b2kz9jrn3bvg60";
+       version = "0.5.0";
+       sha256 = "0l1bwgwic8q252idfv8d6jamfqfghwxq4jkaan3dwwlgjc2b6b3a";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Groups Settings SDK";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gogol-healthcare" = callPackage
+    ({ mkDerivation, base, gogol-core }:
+     mkDerivation {
+       pname = "gogol-healthcare";
+       version = "0.5.0";
+       sha256 = "1ny184rhkjs571ibnwznxhc8zxqc2bag7z0lj922v53js4bvbrld";
+       libraryHaskellDepends = [ base gogol-core ];
+       description = "Google Cloud Healthcare SDK";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gogol-iam" = callPackage
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-iam";
-       version = "0.4.0";
-       sha256 = "04r8igvai15rh61pskg6pa4zgrl5ik0v4xk3kqqp8z9i927h1k1d";
+       version = "0.5.0";
+       sha256 = "1hxzg3v9b8va2s76q3jizz84vfjnjrckv5ysy9193dv6yk68h48p";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Identity and Access Management (IAM) SDK";
        license = "unknown";
@@ -96816,8 +97089,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-iamcredentials";
-       version = "0.4.0";
-       sha256 = "0a5mx6fxp6k675bhysdpr2lg2i02y7x8a9w06gqqy77wa7p7a1jj";
+       version = "0.5.0";
+       sha256 = "021x1rgmws8r2mj1ji6wpj8lspn70m1pzal6zmj3j8cbgmvbzgra";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google IAM Service Account Credentials SDK";
        license = "unknown";
@@ -96828,8 +97101,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-iap";
-       version = "0.4.0";
-       sha256 = "0ri312mp793ki23bp5kdlhpww2xj56p3zh5j865jvbsphm0jccvz";
+       version = "0.5.0";
+       sha256 = "04cph84f8h7qcg8jmz442qciq81ra2yw3jrffy8apyhy78x8zxlc";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Identity-Aware Proxy SDK";
        license = "unknown";
@@ -96840,8 +97113,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-identity-toolkit";
-       version = "0.4.0";
-       sha256 = "0sw4ddfbd9x3h2w76y7r3l1rjmqdw1zv1haacsi21ipv1ic5jgf3";
+       version = "0.5.0";
+       sha256 = "12yqcxcqvmlcrjla1qx6j78dk5qnfa8mia4nv1rr9y728w0k2ski";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Identity Toolkit SDK";
        license = "unknown";
@@ -96852,8 +97125,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-indexing";
-       version = "0.4.0";
-       sha256 = "0l3g0lyldf6m83jzrpk3h0jvz6h6w9jah2ink9p7d9pszjvnwwq5";
+       version = "0.5.0";
+       sha256 = "1vyxrl7abwkz1mc08id08ncm9f1qgpkwc9mriyx3hlr9cvdj2fb0";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Indexing SDK";
        license = "unknown";
@@ -96864,8 +97137,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-jobs";
-       version = "0.4.0";
-       sha256 = "0d0mr7fmikxkwxws77cnsf2mvs2g6lsa993bbxlzn2qpal9h9qrs";
+       version = "0.5.0";
+       sha256 = "1azggfjas13dqhl9kzqpr8bvks1gbjg1q7ia64ssxdj19mx1d5ii";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Talent Solution SDK";
        license = "unknown";
@@ -96876,8 +97149,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-kgsearch";
-       version = "0.4.0";
-       sha256 = "080391qg2vzw8ana00azdwjdrkwx0k7a1n0l341dgmdqcj0w02rh";
+       version = "0.5.0";
+       sha256 = "0ynll6mm551x0jbx6bar5p97hy29g6nfq9mshlapmv82n9i2qqk4";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Knowledge Graph Search SDK";
        license = "unknown";
@@ -96888,8 +97161,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-language";
-       version = "0.4.0";
-       sha256 = "0j0z2x4h3db2gr1pham390xx66rili6yi68slr9hydfj5brm9129";
+       version = "0.5.0";
+       sha256 = "0hw181ha949q97yyg35yvwwshign43wxb2xkg482g4fq86b2iy3h";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Natural Language SDK";
        license = "unknown";
@@ -96912,8 +97185,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-libraryagent";
-       version = "0.4.0";
-       sha256 = "0b90mvy1wj6dv6403wvm5qh0qdzfdf3ck9h8cd0bvf95iraknxly";
+       version = "0.5.0";
+       sha256 = "1jk46i3a9z5i1451gyjzmqahcjg3r1w03y2x64dfpc309zwivaar";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Library Agent SDK";
        license = "unknown";
@@ -96924,8 +97197,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-logging";
-       version = "0.4.0";
-       sha256 = "1ln3m7n0lksjd8sbdy3dvnrixq0gv86jh643chnpdif24yradkqp";
+       version = "0.5.0";
+       sha256 = "0795dsyq28w3kgw3f96w99ax6v24lbahmr0mvyql1cx4z2slqp82";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Logging SDK";
        license = "unknown";
@@ -96936,8 +97209,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-manufacturers";
-       version = "0.4.0";
-       sha256 = "0qar60zzbnpnpy1154ccynwn2k0sdkmrvxvlscjswsqhgdpbrziw";
+       version = "0.5.0";
+       sha256 = "1l7dpp39yszay5aykiq81qi1f7l3fyz2s8zskyl37lvb46mv9ywr";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Manufacturer Center SDK";
        license = "unknown";
@@ -96972,8 +97245,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-mirror";
-       version = "0.4.0";
-       sha256 = "1vfwziz3jyhz7k96hdrrlvndxnnvqysl9bg0ipcss2h2aiha5yd0";
+       version = "0.5.0";
+       sha256 = "1nb7wydv7z5ip7jnj1928kfk57sk67ng3dhz9hq136lajl0lqy4r";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Mirror SDK";
        license = "unknown";
@@ -96984,8 +97257,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-ml";
-       version = "0.4.0";
-       sha256 = "198hid538lxwav21r0pxkb57rlb6wzzgyjfylc20m02p72790858";
+       version = "0.5.0";
+       sha256 = "01n7jhi8p0db7dhbjm7ll3r6yqw0cfi6l48r1ms0kcrscdfij93v";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Machine Learning Engine SDK";
        license = "unknown";
@@ -96996,8 +97269,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-monitoring";
-       version = "0.4.0";
-       sha256 = "0k0fxnym1xg0jvvssys76xvdx39jicd6cd507qg47izww0vzv618";
+       version = "0.5.0";
+       sha256 = "1754cssjhcfxn6g71vvq7jspgbwqn2a1821lhhn2ybhq8ngiay8i";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Monitoring SDK";
        license = "unknown";
@@ -97008,8 +97281,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-oauth2";
-       version = "0.4.0";
-       sha256 = "07vjw6xwbrvihwhsy7v28gw9ww71skvscc0h21lgdibhksza2mzb";
+       version = "0.5.0";
+       sha256 = "0pnwmm0vn0hcdnww13b65ii5wapy8638svkf3srh2ap161ijf443";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google OAuth2 SDK";
        license = "unknown";
@@ -97020,8 +97293,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-oslogin";
-       version = "0.4.0";
-       sha256 = "0k8g6lmclzhccdz5zyb4pnzv71d9cn429gi6px1jrls3w0ai8jih";
+       version = "0.5.0";
+       sha256 = "02gzg06qlli84wvq6cr1xch8qxk70r5kgs5hqaqfqsr7rg79vfvd";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud OS Login SDK";
        license = "unknown";
@@ -97032,8 +97305,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-pagespeed";
-       version = "0.4.0";
-       sha256 = "0jgkvkpk1lw7jcjc04n8p4dw7m1by4jzi6i0c3r72sjiflmvxds3";
+       version = "0.5.0";
+       sha256 = "116diwib3xi34znhl9b2hx3y4m3nqyqfkry0zh2aqknrxx3mpyl7";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google PageSpeed Insights SDK";
        license = "unknown";
@@ -97044,8 +97317,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-partners";
-       version = "0.4.0";
-       sha256 = "1035fn0ifypfv69ks9z1c960g28vkwkcfix1d01cmkmzn4a0m0wa";
+       version = "0.5.0";
+       sha256 = "12wfzjf3hvwba4ccnymxrqwk2hzi1zcw5h53iqk33yscx6s30jzm";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Partners SDK";
        license = "unknown";
@@ -97056,8 +97329,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-people";
-       version = "0.4.0";
-       sha256 = "1x5vz0i722fj6ps7ggmjb2xnxbbyrln2s3940w575gb79c0lfji3";
+       version = "0.5.0";
+       sha256 = "01msa1r6p96kgz9isnnqy6ndsrh579c25m9sw43azsij8l1dd43j";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google People SDK";
        license = "unknown";
@@ -97080,8 +97353,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-play-moviespartner";
-       version = "0.4.0";
-       sha256 = "0wrhx81pph7yw0a613k66l1p9h21y9vadi3ax8ah5ciy1vxnymh8";
+       version = "0.5.0";
+       sha256 = "0cjkikknkk4la3nlw8mn1r0xdq871sd9wakyvsznm9wjqrzysn97";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Movies Partner SDK";
        license = "unknown";
@@ -97092,8 +97365,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-playcustomapp";
-       version = "0.4.0";
-       sha256 = "1hb0498mm8fxl93bwjr633yi371kib27nrd7ba3nylrnv21bxp8k";
+       version = "0.5.0";
+       sha256 = "0dfiwncjngfaj5i3sf38q3qkrlggvpiw9d08xpwr5rbcbi9qp43i";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Custom App Publishing SDK";
        license = "unknown";
@@ -97104,8 +97377,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-plus";
-       version = "0.4.0";
-       sha256 = "0n546pnmvsfjp32xy2xcqlns1f06ipx0ll0kiblsalrq16gd2bcr";
+       version = "0.5.0";
+       sha256 = "00njgd754pzyss5n3ilnaqr1qd1f4rfz1q9m4x1a3g73fja1yzgh";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google + SDK";
        license = "unknown";
@@ -97116,8 +97389,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-plus-domains";
-       version = "0.4.0";
-       sha256 = "07nz7chwi9mls8i3h949p1ip7bfd39n61f1928x1ffik3kzrybpv";
+       version = "0.5.0";
+       sha256 = "1p3qdj0vjz01yrkdjxsikriy755028v4yhw1d27ypriqh7k5widk";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google + Domains SDK";
        license = "unknown";
@@ -97128,8 +97401,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-poly";
-       version = "0.4.0";
-       sha256 = "1ixidwaczgsys7pnj4pf67j61pa250nhvb9ip0fb9lb93l0ykijd";
+       version = "0.5.0";
+       sha256 = "1da600ahg4x5k8vsw37cr5wrqrz8sq3mhir874fk5xpf2kdqdmkp";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Poly SDK";
        license = "unknown";
@@ -97140,8 +97413,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-prediction";
-       version = "0.4.0";
-       sha256 = "06miyjhxvyp05nvdni56h4ldhs0ca3sl3n4nrx8fc6s2dam83q8b";
+       version = "0.5.0";
+       sha256 = "17dkm1wi5im1an1izcca2v432c2d86i74h6wlcyy92g7a86ajc2f";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Prediction SDK";
        license = "unknown";
@@ -97152,8 +97425,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-proximitybeacon";
-       version = "0.4.0";
-       sha256 = "17gmd37mrg86afbx3rn4y4c48k8mi81dwrc4697rbhripviqf4fm";
+       version = "0.5.0";
+       sha256 = "1n49i32isjx3iljj035yc4y1lv3d01mpf15ab4ji49x01a0qfs5a";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Proximity Beacon SDK";
        license = "unknown";
@@ -97164,8 +97437,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-pubsub";
-       version = "0.4.0";
-       sha256 = "0cjdmfzhxk3rb55q2aza8vs0p1p51j1i5ypnafwcnhvx90910074";
+       version = "0.5.0";
+       sha256 = "1pfw3pz8yr7slbyhp9rf32brqck2l2a60lx3ysz4pjjmfc72rahz";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Pub/Sub SDK";
        license = "unknown";
@@ -97176,8 +97449,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-qpxexpress";
-       version = "0.4.0";
-       sha256 = "02p4jncgfcr8jbwldjyc2zn7p6nwbjccw8la1dy9dy2c863pvjrj";
+       version = "0.5.0";
+       sha256 = "1xqlqv680w1rr3sqzq5k8kk1xcxagh8zk5g6rqs83xjr1j5lfmsr";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google QPX Express SDK";
        license = "unknown";
@@ -97188,8 +97461,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-redis";
-       version = "0.4.0";
-       sha256 = "1jka9qfnhsrg3i7d7adcigwimffp3w3fm65dvz905d5sk0fkja0j";
+       version = "0.5.0";
+       sha256 = "0x774h1pryr12s6ndcgdvbwqx1nw2sc8yln147hjf4mg3fva6gkc";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Memorystore for Redis SDK";
        license = "unknown";
@@ -97200,8 +97473,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-remotebuildexecution";
-       version = "0.4.0";
-       sha256 = "1p2llw3l79313hp3lmd2gvbfhxgyzw6g4yw08psi0zb3iqz5gqaj";
+       version = "0.5.0";
+       sha256 = "037biha22xv1ayb3zxx5dc7a86sbmr5zwmg1m24f3bbsgjfnn5ms";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Remote Build Execution SDK";
        license = "unknown";
@@ -97212,8 +97485,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-replicapool";
-       version = "0.4.0";
-       sha256 = "1xdspcwbcfd48gf80i6dwnhllnbm4rh8c1wfk31gs52y5w3haxgd";
+       version = "0.5.0";
+       sha256 = "173ywr9vc69jf5s5vncwjby75mgfbfxw3m42jyi7dcyrxc4jbg68";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Replica Pool SDK";
        license = "unknown";
@@ -97224,8 +97497,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-replicapool-updater";
-       version = "0.4.0";
-       sha256 = "0xw7js7b1w633z56bq7lz4kw7m2gz7c4my3gc868s4xv4a4hzsga";
+       version = "0.5.0";
+       sha256 = "1wi8x5zj61daln96dqlhq8ki57kl2k6jjz4sm1lbqffcgq66743d";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Compute Engine Instance Group Updater SDK";
        license = "unknown";
@@ -97236,8 +97509,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-resourcemanager";
-       version = "0.4.0";
-       sha256 = "04kvnzf20km94dx6znx3zravqi3khl3kws6y9rxwjivhiyim11dp";
+       version = "0.5.0";
+       sha256 = "1sd8zaigvpbq591nwsjyxf9jf9hxc00mjhwfc0i6mahbgax73764";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Resource Manager SDK";
        license = "unknown";
@@ -97256,12 +97529,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gogol-run" = callPackage
+    ({ mkDerivation, base, gogol-core }:
+     mkDerivation {
+       pname = "gogol-run";
+       version = "0.5.0";
+       sha256 = "0219vjrlpq16akzwsbk8kfh7p8gc8kkczcvg5a3l6lssxjp87lfg";
+       libraryHaskellDepends = [ base gogol-core ];
+       description = "Google Cloud Run SDK";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gogol-runtimeconfig" = callPackage
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-runtimeconfig";
-       version = "0.4.0";
-       sha256 = "16nykcs4iknqnyj3p1wdqvdb5sbmg0mqf1qvm291q3vsf9hsapjb";
+       version = "0.5.0";
+       sha256 = "057qlad1mipdyif8n6wmhwinknnf0qgb65wbw0484b2yzcdj3zd1";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Runtime Configuration SDK";
        license = "unknown";
@@ -97272,8 +97557,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-safebrowsing";
-       version = "0.4.0";
-       sha256 = "1lw498y5dbb2yq9zigsw9cq5rkhzvvix94m4ir9d4ifa29xi9fmp";
+       version = "0.5.0";
+       sha256 = "0690xz81mz8gn0qgkg11y5sx57kjmvd4lryqw8rblrh7ixypn8wb";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Safe Browsing SDK";
        license = "unknown";
@@ -97284,8 +97569,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-script";
-       version = "0.4.0";
-       sha256 = "08w8xln6wcvcp911vmfaixzgwfmg4jxazprkyrr8mwg4l45nr15s";
+       version = "0.5.0";
+       sha256 = "1ckjj9i8fqd3igz7bnjmri5pgj3risqarcivrr3nmd1d045rx1zx";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Apps Script SDK";
        license = "unknown";
@@ -97296,20 +97581,32 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-searchconsole";
-       version = "0.4.0";
-       sha256 = "1m49h2kcs2xkxk5hy3kvyi2s3wfylkdwkfh8ckkv0nfcjxz0nxvx";
+       version = "0.5.0";
+       sha256 = "0k971p9c4yhscnxxfhxlb5wnkzjxd2k9q8qnxlbnvp7ch7z1yv00";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Search Console URL Testing Tools SDK";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gogol-securitycenter" = callPackage
+    ({ mkDerivation, base, gogol-core }:
+     mkDerivation {
+       pname = "gogol-securitycenter";
+       version = "0.5.0";
+       sha256 = "1axvvz60vdvjpd9bd0516fhbqnk8cjb3x52sgf42fq00dhwxy3mj";
+       libraryHaskellDepends = [ base gogol-core ];
+       description = "Google Cloud Security Command Center SDK";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gogol-servicebroker" = callPackage
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-servicebroker";
-       version = "0.4.0";
-       sha256 = "15cd8hscgddwzafjcl5zj47qbv5pfs5x44h3h39315xyabps3l01";
+       version = "0.5.0";
+       sha256 = "13726hq8c3g7gqwz2zrzx0k6vywv5ggd6bl90kkw09118zvyc13a";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service Broker SDK";
        license = "unknown";
@@ -97320,8 +97617,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-serviceconsumermanagement";
-       version = "0.4.0";
-       sha256 = "0mql8dlw07dmqrs98yb7wpgpz2dsa4y6npp9brakxpglnhqnncgi";
+       version = "0.5.0";
+       sha256 = "1pln47lpr1wb9w84z8lmskbn49456k9h4awi67mdfg10jzh4n46j";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service Consumer Management SDK";
        license = "unknown";
@@ -97332,8 +97629,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-servicecontrol";
-       version = "0.4.0";
-       sha256 = "08xy568njzlpgs7crrxizv0nv2j9jrm3f28mv2zc3pvpi6hvf6in";
+       version = "0.5.0";
+       sha256 = "01vfjg16x6vpabvb1q2ipnv04j7r7fxxvcbjgq08phq0fnnk8sd1";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service Control SDK";
        license = "unknown";
@@ -97344,8 +97641,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-servicemanagement";
-       version = "0.4.0";
-       sha256 = "1z9km7g6550kpwb9g0x43960xra2p0zaqc5kiy0pxzg84spwx300";
+       version = "0.5.0";
+       sha256 = "0bzcv7z5n2ykkydq4wc5ka11cc82y17x4rb26k3hbsak62qx67j2";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service Management SDK";
        license = "unknown";
@@ -97356,8 +97653,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-servicenetworking";
-       version = "0.4.0";
-       sha256 = "15f09ixf7lw0knb3vclj27fp8y7x818rhpkdvs2a22crsk7wai31";
+       version = "0.5.0";
+       sha256 = "1aja2maxgjhxgqf6agngbx37w02ifb1b5ypnqdwwpi1615qxvrsh";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service Networking SDK";
        license = "unknown";
@@ -97368,8 +97665,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-serviceusage";
-       version = "0.4.0";
-       sha256 = "1dc56jlz9qyq3x2acpgb55hjdxdgq73bgik9yc57h0cr237g46pp";
+       version = "0.5.0";
+       sha256 = "0zvnd7pl5q73kzdx2x19zrw0rk334l8xlqawlbl5p1zimvvsbpkl";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service Usage SDK";
        license = "unknown";
@@ -97380,8 +97677,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-serviceuser";
-       version = "0.4.0";
-       sha256 = "04akaaw9in2s1q4mf6w7isg3p8ck5mg904lanmidbsz01x70mflq";
+       version = "0.5.0";
+       sha256 = "1xfgp5nm23c8hjzkjamk4qc6qs5j4q3z5pxrlsbnir7lqv73jnwf";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service User SDK";
        license = "unknown";
@@ -97392,8 +97689,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-sheets";
-       version = "0.4.0";
-       sha256 = "12v7lrp6b0jiv7rcicxw7p9b7jr768wamhddvglib98ravcjr5n3";
+       version = "0.5.0";
+       sha256 = "0wl00f6p5qylbffhm3jw0123aqfc3acls91150nj3ncfl55q0g28";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Sheets SDK";
        license = "unknown";
@@ -97404,8 +97701,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-shopping-content";
-       version = "0.4.0";
-       sha256 = "1pkh3f7yjh9g1crqkxpxl6fac4ca9rlnf6d4v2nhmjrjr8spwrmr";
+       version = "0.5.0";
+       sha256 = "0b7i6vc5cw1sigvkpn8k1q8k06alx36h7fw520swhyk2p3v5shmh";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Content API for Shopping SDK";
        license = "unknown";
@@ -97416,8 +97713,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-siteverification";
-       version = "0.4.0";
-       sha256 = "1z4f8lmw5pgzj5h6pdayrgs83yhxbslkhp2c69ykl4n85qzsrdvk";
+       version = "0.5.0";
+       sha256 = "0lapqji0cwf0gqp4855wqg8h1xd61bncya5b7b25lnqlld7gnp9w";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Site Verification SDK";
        license = "unknown";
@@ -97428,8 +97725,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-slides";
-       version = "0.4.0";
-       sha256 = "0br96z0lvdqbbd4jr9qjisjx83a8w76hrqs68pxiyrpkdkq5vd81";
+       version = "0.5.0";
+       sha256 = "0b76hx0bllbpb25d59pqlz0clcv34pkw8rpd7g7g1916sqrsd7dx";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Slides SDK";
        license = "unknown";
@@ -97440,8 +97737,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-sourcerepo";
-       version = "0.4.0";
-       sha256 = "1r57m08ggz8j9r6wya7wkhvnb8answ7mkvm9vsw7sp6vh6bfqn30";
+       version = "0.5.0";
+       sha256 = "0j3hcc9fq2aksx1nrvrb0g6xwv86a4n8l2vfgyyzji3gknbqx9ff";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Source Repositories SDK";
        license = "unknown";
@@ -97452,8 +97749,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-spanner";
-       version = "0.4.0";
-       sha256 = "1zk0078ig63rmqdxm02bw4x8a4a0dmlqw8f3cmay0w85991m0kkz";
+       version = "0.5.0";
+       sha256 = "0z9aycaqp3rb798mcrmrni9jfa8r9j2gjgmlxjx9icg9wh4bs5h4";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Spanner SDK";
        license = "unknown";
@@ -97464,8 +97761,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-spectrum";
-       version = "0.4.0";
-       sha256 = "1x8z4h7g7a60pkdb4j7j85i0wvn4vpi3zjm2g0m91gzghgwankx0";
+       version = "0.5.0";
+       sha256 = "12h0rgnldgjf6qkvjbjsjcbw9vn3wlbs02baybyf70hmp58n8f0k";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Spectrum Database SDK";
        license = "unknown";
@@ -97476,10 +97773,10 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-speech";
-       version = "0.4.0";
-       sha256 = "1syq64vrdbvyi3ch4ppz2aczf37nc0whns00hv8rg7v2w6mwa3kf";
+       version = "0.5.0";
+       sha256 = "1snmajsca1fdq1c98f1pqvghlwgff6vsmz47wvwsjjjqz15nx9j1";
        libraryHaskellDepends = [ base gogol-core ];
-       description = "Google Cloud Speech SDK";
+       description = "Google Cloud Speech-to-Text SDK";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -97488,8 +97785,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-sqladmin";
-       version = "0.4.0";
-       sha256 = "1vqwylh42bi1rz8fykrpkdfsy06d901mnz5k8bikbq3fv5hc853m";
+       version = "0.5.0";
+       sha256 = "0yyamr3mgwg1gxy1w258gg6gvzcymmqmknkabgxp2p5kkqsyqgv1";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud SQL Admin SDK";
        license = "unknown";
@@ -97500,8 +97797,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-storage";
-       version = "0.4.0";
-       sha256 = "1cn41jzrwxyxwmb96wgb42pbslhh3rnydnyc6yvi37n6ngp49gab";
+       version = "0.5.0";
+       sha256 = "0jsmgb311iinbmj12chbch3z0d56k9vqqvhjzfcilx05m1pm9xan";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Storage JSON SDK";
        license = "unknown";
@@ -97512,8 +97809,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-storage-transfer";
-       version = "0.4.0";
-       sha256 = "0vdqqlv0c45k0xp1plxj8jzrb5xbkj258v7q50zi1jijv0rqnj2i";
+       version = "0.5.0";
+       sha256 = "1zlfszkh59p4pca2n2scxa02ln4va6k5vjz41186350lfxqwba4r";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Storage Transfer SDK";
        license = "unknown";
@@ -97524,8 +97821,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-streetviewpublish";
-       version = "0.4.0";
-       sha256 = "0gyxs1kawqvbz851hd587zw999vbggv0z4hc5glc3saskl41nvpf";
+       version = "0.5.0";
+       sha256 = "07w3s049sglcvh8s94kbhj8l3irscji9s14bl493p7bwj1n3dbsb";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Street View Publish SDK";
        license = "unknown";
@@ -97536,8 +97833,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-surveys";
-       version = "0.4.0";
-       sha256 = "1x15hdm3p7zfqadb5xnms0d6cp1gg1kk0xc81zls4hg6ryzpw43k";
+       version = "0.5.0";
+       sha256 = "0p9qkqxddgv8m24h2g58hiwhcpwndxl9r9gifjgpbh4mlcsx42q1";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Surveys SDK";
        license = "unknown";
@@ -97548,8 +97845,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-tagmanager";
-       version = "0.4.0";
-       sha256 = "0faihzsl4i4h7ns618c1dsih9a9xplvpixmnivpxyq4z18c7mzip";
+       version = "0.5.0";
+       sha256 = "116wc01i63q519bbqdi7ln12cvbfdsf6jdfbxrmz7zrzj4zw27l5";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Tag Manager SDK";
        license = "unknown";
@@ -97572,8 +97869,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-testing";
-       version = "0.4.0";
-       sha256 = "1qfv2qi7l2dqv7bqj1ajbmpi77a4gcr2hywjyk2s3ixyv8m97j8g";
+       version = "0.5.0";
+       sha256 = "1fawwvbcy51ri9szfiknkrqvhapdhfw2qpbvdf10mjn5jpiqmj39";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Testing SDK";
        license = "unknown";
@@ -97584,8 +97881,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-texttospeech";
-       version = "0.4.0";
-       sha256 = "18jxvrfr90jza5k75bmnf8g2z06z5m7c14hjshi39vf8x45sh8bv";
+       version = "0.5.0";
+       sha256 = "0na9qf1307lg9bf23pd20wic530hy8hdqy95g65gdjz9g2969flk";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Text-to-Speech SDK";
        license = "unknown";
@@ -97596,8 +97893,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-toolresults";
-       version = "0.4.0";
-       sha256 = "1kh3vyzgg21sy4pl9gxx06g2pvyd4n6b6m0slq0wi160zhwnbm3b";
+       version = "0.5.0";
+       sha256 = "1m84mv6nbbf142ss1dgk91qhciy9wlfshf3hybb364wxqf4bkq93";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Tool Results SDK";
        license = "unknown";
@@ -97608,8 +97905,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-tpu";
-       version = "0.4.0";
-       sha256 = "0wf8arqp75rzs862s9b6jg9s2g39kmrw60mgx1n5fn13vj88i931";
+       version = "0.5.0";
+       sha256 = "1w6qcqz13sgk05i49nkx6pkxgsyc8pxy0rjyqlbribiwy30isxv3";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud TPU SDK";
        license = "unknown";
@@ -97620,8 +97917,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-tracing";
-       version = "0.4.0";
-       sha256 = "10k5fr7m8m60z5bd87y54j68kq09ybh95mnaw5fzy44xr3w7jbwy";
+       version = "0.5.0";
+       sha256 = "12f84mhfyckic7kq92xyry4xfipic50znzm4q37vphjfsv9m9r4i";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Tracing SDK";
        license = "unknown";
@@ -97632,8 +97929,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-translate";
-       version = "0.4.0";
-       sha256 = "0vkls4digsig95d54fzc6s222h9zvyqrivnyksyir6d897awfagn";
+       version = "0.5.0";
+       sha256 = "1ida8wkwp0fqvzsnbd99c842b6a3bcg5nw84aicffn95vwbl9rma";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Translation SDK";
        license = "unknown";
@@ -97644,8 +97941,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-urlshortener";
-       version = "0.4.0";
-       sha256 = "05in4ydrjd9xjijb1mvzyn1z2caijg1jyby3lmd11i8bmwdjllq3";
+       version = "0.5.0";
+       sha256 = "0a5fxcrmwjncxz6l9mhgj44i8lk8rnbgqacvkdmmhylc0yh3al2l";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google URL Shortener SDK";
        license = "unknown";
@@ -97668,8 +97965,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-vault";
-       version = "0.4.0";
-       sha256 = "16jrgigvhcl05fykxfh6qa4zdbibdf9rhig2i367h121k28l56lw";
+       version = "0.5.0";
+       sha256 = "1dzk79y10396qq6l3y7zs9jm5rga02yxvdhp8dm7af9lb3izmjnc";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google G Suite Vault SDK";
        license = "unknown";
@@ -97680,8 +97977,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-videointelligence";
-       version = "0.4.0";
-       sha256 = "0xpayfcxcaq3lgbnr1q5yl8nx635kly6y1cdc18dq9a7y79fhxzb";
+       version = "0.5.0";
+       sha256 = "16jczzbvk4ww8li0yyk6clx4l2b28g48pxsckic9sdsqy5xj709c";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Video Intelligence SDK";
        license = "unknown";
@@ -97692,8 +97989,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-vision";
-       version = "0.4.0";
-       sha256 = "0w5jini2yhm33pa38mkqkw2lpxjrxal9q6h1dh6kmr2lh489lcb0";
+       version = "0.5.0";
+       sha256 = "1h71p2a35lwj3p8zw6mvzxas9yyw5diss0lyg2w2nqsx8cynh7rb";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Vision SDK";
        license = "unknown";
@@ -97704,8 +98001,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-webmaster-tools";
-       version = "0.4.0";
-       sha256 = "1ahjxr2m4x3bn5hjk7sygkpwnh7cy75cw7jap3p8qr9akqc5pb48";
+       version = "0.5.0";
+       sha256 = "029kbgzsbqyd8mbflkca8djmavmphddcldkjf8ds5jkp1qpqnnha";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Search Console SDK";
        license = "unknown";
@@ -97716,8 +98013,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-websecurityscanner";
-       version = "0.4.0";
-       sha256 = "1z6dk8a538ljkba82k9x8jlvwb9qxhc1wfm5h9fgyhwa671fhj3y";
+       version = "0.5.0";
+       sha256 = "1mcr0cs8pnlbwwsmlwjmkclvcwdwzhg2zqw9bqljw3iism43m9dq";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Web Security Scanner SDK";
        license = "unknown";
@@ -97728,8 +98025,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-youtube";
-       version = "0.4.0";
-       sha256 = "1vi8mmiagfq4i34q7hcw85mz02l7pjd9ri8g5vk62b8n1kki46lf";
+       version = "0.5.0";
+       sha256 = "0gamhcnhvxkybsnikwrlmin0fkf1h3fcflk4vg1zcm1sg7sk9xlj";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google YouTube Data SDK";
        license = "unknown";
@@ -97740,8 +98037,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-youtube-analytics";
-       version = "0.4.0";
-       sha256 = "1hq2g199i8wpr7br21ijsryk2dgv5rr7zryv5xsrql04mqiwq9d0";
+       version = "0.5.0";
+       sha256 = "0fnrmabcw5kfl8s5nam6wl8qr6ri693wk6wlhvynj1skc54v6l4s";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google YouTube Analytics SDK";
        license = "unknown";
@@ -97752,8 +98049,8 @@ self: {
     ({ mkDerivation, base, gogol-core }:
      mkDerivation {
        pname = "gogol-youtube-reporting";
-       version = "0.4.0";
-       sha256 = "060bha9j7fsyhbq94md5c26dg2xqfzsfkw0jmqv3shsbjd1k4993";
+       version = "0.5.0";
+       sha256 = "0cb88q2g67cx9zndf40a0c62cw7r32g1ps12a2ks0gz863bq53vn";
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google YouTube Reporting SDK";
        license = "unknown";
@@ -103388,8 +103685,6 @@ self: {
        testToolDepends = [ utillinux ];
        description = "A static website compiler library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) utillinux;};
 
   "hakyll-R" = callPackage
@@ -104664,8 +104959,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-authenticate";
-       version = "2.3.4.16";
-       sha256 = "1m94q0bkhy88x0bm6jqbmiqx6fw05lcnd1iswzicj1cxbwiwfwbb";
+       version = "2.4.0";
+       sha256 = "1q4k8x6mwh9g7y5njcjd1xyn79yjnjv01nk4xa5q9yspmsa4685m";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson authenticate base base64-bytestring boomerang
@@ -114823,8 +115118,8 @@ self: {
      }:
      mkDerivation {
        pname = "hierarchical-clustering";
-       version = "0.4.6";
-       sha256 = "1cfcrnxqczqzqgpyipsw9dwfw1j75zd11vpd12i533f3p44pzwbm";
+       version = "0.4.7";
+       sha256 = "15fiqvhcd0i5l1w4s5liggfbdknasdpvyxd54qrjjdp41qb4d3qk";
        libraryHaskellDepends = [ array base containers ];
        testHaskellDepends = [ base hspec HUnit QuickCheck ];
        description = "Fast algorithms for single, average/UPGMA and complete linkage clustering";
@@ -114878,8 +115173,8 @@ self: {
      }:
      mkDerivation {
        pname = "hierarchical-spectral-clustering";
-       version = "0.4.1.2";
-       sha256 = "1yx366z7fnmxdb424b2n8bgfwcbhm85bha020p481wbq74nqfc6d";
+       version = "0.4.1.3";
+       sha256 = "1vhndwkny2sjh7c7m8qym6iasqacsaim0rkihdq3x58mdm2848n7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -116458,6 +116753,8 @@ self: {
        pname = "hledger-api";
        version = "1.14";
        sha256 = "18zpclm3nh2zq6cqa10vm232ndg22r8s4h3ffmn2m4fg05172ymd";
+       revision = "1";
+       editedCabalFile = "05jlbpp4p45q8bd3152l0fm4xz9yvz07ip2cd0kplzvwnmy8sfrg";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -117049,8 +117346,8 @@ self: {
      }:
      mkDerivation {
        pname = "hmatrix-backprop";
-       version = "0.1.2.5";
-       sha256 = "1m6imvvcg8cjlqlcj2qhk5k0g88w853mw9r2mky54rmxfd86xfsf";
+       version = "0.1.3.0";
+       sha256 = "1nknwamc51f3d1syy1wi8fkvlx40riwi7x94yh34y0fzgddgjl2k";
        libraryHaskellDepends = [
          backprop base ghc-typelits-knownnat ghc-typelits-natnormalise
          hmatrix hmatrix-vector-sized microlens vector vector-sized vinyl
@@ -117348,8 +117645,8 @@ self: {
      }:
      mkDerivation {
        pname = "hmatrix-vector-sized";
-       version = "0.1.1.3";
-       sha256 = "1p4222rq9xm8admm3811hgb32q1nin9y35bm4c121yhz6c0ic5cg";
+       version = "0.1.2.0";
+       sha256 = "0n9pylrxz0pkdlha1rqi2xabfjxpiya9kcyx6qlcqal1q57wh2bc";
        libraryHaskellDepends = [ base hmatrix vector vector-sized ];
        testHaskellDepends = [
          base ghc-typelits-knownnat hedgehog hmatrix vector vector-sized
@@ -117898,25 +118195,6 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "1.8.8";
-       sha256 = "0ji9887m11k3dh7n36g0m9q1gy4d4729ygvapdzqfa3vi501ndwa";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring exceptions http-conduit http-types microlens
-         text unordered-containers uri-bytestring uri-bytestring-aeson
-       ];
-       description = "Haskell OAuth2 authentication client";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hoauth2_1_8_9" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, exceptions, http-conduit
-     , http-types, microlens, text, unordered-containers, uri-bytestring
-     , uri-bytestring-aeson
-     }:
-     mkDerivation {
-       pname = "hoauth2";
        version = "1.8.9";
        sha256 = "03yggs3if14saxiz5m02p17crl7askh8qjky6h1jqpxric49alv7";
        isLibrary = true;
@@ -117927,7 +118205,6 @@ self: {
        ];
        description = "Haskell OAuth2 authentication client";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hob" = callPackage
@@ -119872,13 +120149,16 @@ self: {
      }:
      mkDerivation {
        pname = "hpdft";
-       version = "0.1.0.4";
-       sha256 = "1rxr2qfs6cvk0hyvvq7w0jsq8vjf8b84ay5jzfhqyk8qk73ppfji";
+       version = "0.1.0.5";
+       sha256 = "1wcbkxcfwnmfbwfa3dqlqgf825b00x0fvmp4fp3jfxs6s5dyi6lh";
+       isLibrary = true;
+       isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          attoparsec base binary bytestring containers directory file-embed
          parsec text utf8-string zlib
        ];
+       executableHaskellDepends = [ base bytestring utf8-string ];
        description = "A tool for looking through PDF file using Haskell";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -122758,6 +123038,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hsinspect" = callPackage
+    ({ mkDerivation, base, directory, ghc, ghc-boot, ghc-paths, time }:
+     mkDerivation {
+       pname = "hsinspect";
+       version = "0.0.1";
+       sha256 = "13z7dk42cnwdxfqnadis56m2wy0s5kyzw2dv55dnspd77hd5v28k";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base directory ghc ghc-boot time ];
+       executableHaskellDepends = [
+         base directory ghc ghc-boot ghc-paths time
+       ];
+       description = "Inspect Haskell source files";
+       license = stdenv.lib.licenses.gpl3Plus;
+     }) {};
+
   "hsinstall" = callPackage
     ({ mkDerivation, base, Cabal, directory, filepath, heredoc, process
      , safe-exceptions
@@ -122967,6 +123263,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {inherit (pkgs) lua5_3;};
 
+  "hslua_1_0_3_2" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
+     , exceptions, fail, lua5_3, mtl, QuickCheck, quickcheck-instances
+     , tasty, tasty-hunit, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "hslua";
+       version = "1.0.3.2";
+       sha256 = "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j";
+       configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ];
+       libraryHaskellDepends = [
+         base bytestring containers exceptions fail mtl text
+       ];
+       librarySystemDepends = [ lua5_3 ];
+       testHaskellDepends = [
+         base bytestring containers exceptions fail mtl QuickCheck
+         quickcheck-instances tasty tasty-hunit tasty-quickcheck text
+       ];
+       benchmarkHaskellDepends = [ base bytestring criterion deepseq ];
+       description = "Bindings to Lua, an embeddable scripting language";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) lua5_3;};
+
   "hslua-aeson" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hashable, hslua, hspec
      , HUnit, ieee754, QuickCheck, quickcheck-instances, scientific
@@ -127890,35 +128210,6 @@ self: {
      }:
      mkDerivation {
        pname = "hw-ip";
-       version = "2.3.1.2";
-       sha256 = "1j22dl3739ysg7p88aks19azyzs883drz5lc593m99w057j33wga";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         appar base containers generic-lens hw-bits iproute text
-       ];
-       executableHaskellDepends = [
-         appar base binary bytestring generic-lens lens optparse-applicative
-         text
-       ];
-       testHaskellDepends = [
-         appar base generic-lens hedgehog hspec hw-bits hw-hspec-hedgehog
-         text
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Library for manipulating IP addresses and CIDR blocks";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "hw-ip_2_3_4_1" = callPackage
-    ({ mkDerivation, appar, base, binary, bytestring, containers
-     , generic-lens, hedgehog, hspec, hspec-discover, hw-bits
-     , hw-hspec-hedgehog, iproute, lens, optparse-applicative, text
-     }:
-     mkDerivation {
-       pname = "hw-ip";
        version = "2.3.4.1";
        sha256 = "023wv7dvpyw2nnlrdqhp3nqrbbh9af074fz12y8510br2gfdyamd";
        isLibrary = true;
@@ -130503,8 +130794,6 @@ self: {
        ];
        description = "Functional Programming Language with Dependent Types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) gmp;};
 
   "ieee" = callPackage
@@ -131845,12 +132134,16 @@ self: {
      }) {};
 
   "incremental" = callPackage
-    ({ mkDerivation, base, containers, deepseq, semigroups }:
+    ({ mkDerivation, aeson, base, containers, deepseq, extensible
+     , semigroups, text
+     }:
      mkDerivation {
        pname = "incremental";
-       version = "0";
-       sha256 = "01fvc963gln6svash9cf9v2wbfnssh4j5r49l6y23zmnmqnzxs8x";
-       libraryHaskellDepends = [ base containers deepseq semigroups ];
+       version = "0.1";
+       sha256 = "03yax3xkp1mlipi1vn97ljz05c6fxflpvz9myqvlxcj658p9f3kh";
+       libraryHaskellDepends = [
+         aeson base containers deepseq extensible semigroups text
+       ];
        testHaskellDepends = [ base ];
        description = "incremental update library";
        license = stdenv.lib.licenses.bsd3;
@@ -144752,8 +145045,8 @@ self: {
      }:
      mkDerivation {
        pname = "lenz";
-       version = "0.3.0.0";
-       sha256 = "17a3d91az0qv138q7x8wbka797z9pfxl3mbyydcr7i7p87dk48k3";
+       version = "0.3.1.0";
+       sha256 = "1c87m35wvsk9dyfp9d8ar6qb4gz534xmg1rf8xahsjkryn9vjqfn";
        libraryHaskellDepends = [
          base base-unicode-symbols hs-functors transformers
        ];
@@ -145393,6 +145686,18 @@ self: {
        broken = true;
      }) {};
 
+  "libmodbus" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, modbus, vector }:
+     mkDerivation {
+       pname = "libmodbus";
+       version = "1.1.0";
+       sha256 = "0fhx0cda803sad7489dp09lrxhwwsbldssjq4jkaprnqjvhj32al";
+       libraryHaskellDepends = [ base bytestring data-default vector ];
+       librarySystemDepends = [ modbus ];
+       description = "Haskell bindings to the C modbus library";
+       license = stdenv.lib.licenses.bsd2;
+     }) {modbus = null;};
+
   "libmolude" = callPackage
     ({ mkDerivation, aeson, base, base-unicode-symbols, binary
      , bytestring, concurrent-machines, containers
@@ -146828,6 +147133,25 @@ self: {
        broken = true;
      }) {};
 
+  "lingo" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, hspec, raw-strings-qq, text, yaml
+     }:
+     mkDerivation {
+       pname = "lingo";
+       version = "0.1.0.1";
+       sha256 = "1yany2pi06yvkmgz808gji6yk9v0wbl5vnaijhb8vqd152zmmzb4";
+       setupHaskellDepends = [
+         base bytestring Cabal containers directory filepath text yaml
+       ];
+       libraryHaskellDepends = [
+         base bytestring containers filepath raw-strings-qq text yaml
+       ];
+       testHaskellDepends = [ base hspec ];
+       description = "File extension based programming language detection";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "linguistic-ordinals" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -146951,6 +147275,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "linnet" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-conversion
+     , case-insensitive, either, exceptions, hspec, http-types
+     , io-streams, mtl, QuickCheck, quickcheck-classes
+     , quickcheck-instances, text, transformers, uri-encode, utf8-string
+     , wai, warp
+     }:
+     mkDerivation {
+       pname = "linnet";
+       version = "0.1.0.0";
+       sha256 = "0ikrw7xm490rs46l7555mirkly3h5565kadwfrdjbqgrqv1cjx7k";
+       libraryHaskellDepends = [
+         base bytestring bytestring-conversion case-insensitive either
+         exceptions http-types io-streams mtl text transformers uri-encode
+         utf8-string wai warp
+       ];
+       testHaskellDepends = [
+         base bytestring bytestring-conversion case-insensitive either
+         exceptions hspec http-types io-streams mtl QuickCheck
+         quickcheck-classes quickcheck-instances text transformers
+         uri-encode utf8-string wai warp
+       ];
+       description = "Lightweight library for building HTTP API";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "linode" = callPackage
     ({ mkDerivation, aeson, async, base, binary, bytestring, containers
      , errors, lens, process, retry, safe, tasty, tasty-hunit
@@ -149002,21 +149352,27 @@ self: {
      }) {};
 
   "log4hs" = callPackage
-    ({ mkDerivation, aeson, base, containers, data-default, directory
-     , filepath, hspec, hspec-core, process, QuickCheck
-     , template-haskell, text, time
+    ({ mkDerivation, aeson, aeson-qq, base, containers, criterion
+     , data-default, directory, filepath, generic-lens, hspec
+     , hspec-core, lens, process, QuickCheck, template-haskell, text
+     , time
      }:
      mkDerivation {
        pname = "log4hs";
-       version = "0.0.5.0";
-       sha256 = "1i1m2jmqjqkwbygwlwjk49lgfr42cvcwb0zg4xj1h74syqi6871y";
+       version = "0.0.7.0";
+       sha256 = "0f05sqjrfg3wkr1avdwljfllfs40bakyims9xd5kn9fv48fzvran";
        libraryHaskellDepends = [
-         aeson base containers data-default directory filepath
-         template-haskell text time
+         aeson base containers data-default directory filepath generic-lens
+         lens template-haskell text time
        ];
        testHaskellDepends = [
-         aeson base containers data-default directory filepath hspec
-         hspec-core process QuickCheck template-haskell text time
+         aeson aeson-qq base containers data-default directory filepath
+         generic-lens hspec hspec-core lens process QuickCheck
+         template-haskell text time
+       ];
+       benchmarkHaskellDepends = [
+         aeson aeson-qq base containers criterion data-default directory
+         filepath generic-lens lens template-haskell text time
        ];
        description = "A python logging style log library";
        license = stdenv.lib.licenses.bsd3;
@@ -152636,17 +152992,12 @@ self: {
      }) {};
 
   "markov-realization" = callPackage
-    ({ mkDerivation, base, comonad, configuration-tools, contravariant
-     , discrimination, generic-deriving, HTF, matrix, MonadRandom
-     }:
+    ({ mkDerivation, base, comonad, HTF, MonadRandom }:
      mkDerivation {
        pname = "markov-realization";
-       version = "0.3.0";
-       sha256 = "0sgfz89cxv899f0p0v9fh1xprzqjk9rgm1r1zvkrg2x5fhh9hcca";
-       libraryHaskellDepends = [
-         base comonad configuration-tools contravariant discrimination
-         generic-deriving matrix MonadRandom
-       ];
+       version = "0.3.2";
+       sha256 = "08zsqpsklffp26ccrqf3kja2x5p8njn9vpy24ysha01f4j9y7has";
+       libraryHaskellDepends = [ base comonad MonadRandom ];
        testHaskellDepends = [ base HTF ];
        description = "Realizations of Markov chains";
        license = stdenv.lib.licenses.bsd3;
@@ -154280,33 +154631,6 @@ self: {
        broken = true;
      }) {};
 
-  "megaparsec_6_5_0" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , criterion, deepseq, hspec, hspec-discover, hspec-expectations
-     , mtl, parser-combinators, QuickCheck, scientific, text
-     , transformers, weigh
-     }:
-     mkDerivation {
-       pname = "megaparsec";
-       version = "6.5.0";
-       sha256 = "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy";
-       revision = "4";
-       editedCabalFile = "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive containers deepseq mtl
-         parser-combinators scientific text transformers
-       ];
-       testHaskellDepends = [
-         base bytestring containers hspec hspec-expectations mtl QuickCheck
-         scientific text transformers
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [ base criterion deepseq text weigh ];
-       description = "Monadic parser combinators";
-       license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "megaparsec" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , criterion, deepseq, mtl, parser-combinators, scientific, text
@@ -159385,29 +159709,6 @@ self: {
      }:
      mkDerivation {
        pname = "mono-traversable";
-       version = "1.0.11.0";
-       sha256 = "1lipj4ld99cb3sc9i8va9w7cfki89h436dysyr5ifcb1l0kxg861";
-       libraryHaskellDepends = [
-         base bytestring containers hashable split text transformers
-         unordered-containers vector vector-algorithms
-       ];
-       testHaskellDepends = [
-         base bytestring containers foldl hspec HUnit QuickCheck semigroups
-         text transformers unordered-containers vector
-       ];
-       benchmarkHaskellDepends = [ base gauge mwc-random vector ];
-       description = "Type classes for mapping, folding, and traversing monomorphic containers";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "mono-traversable_1_0_12_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, foldl, gauge
-     , hashable, hspec, HUnit, mwc-random, QuickCheck, semigroups, split
-     , text, transformers, unordered-containers, vector
-     , vector-algorithms
-     }:
-     mkDerivation {
-       pname = "mono-traversable";
        version = "1.0.12.0";
        sha256 = "1h586myaayxg73lc1fx18axlq2bw761fypyy7mii1h0h75d8fyry";
        libraryHaskellDepends = [
@@ -159421,7 +159722,6 @@ self: {
        benchmarkHaskellDepends = [ base gauge mwc-random vector ];
        description = "Type classes for mapping, folding, and traversing monomorphic containers";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mono-traversable-instances" = callPackage
@@ -167763,6 +168063,42 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "now-haskell" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, aws-lambda-runtime, base
+     , base64-bytestring, bytestring, Cabal, case-insensitive
+     , containers, deepseq, directory, exceptions, filepath
+     , fused-effects, ghc-lib-parser, hspec, http-api-data, http-client
+     , http-client-tls, http-media, http-types, iso8601-time, katip
+     , memory, microlens, mtl, network, QuickCheck, random
+     , safe-exceptions, semigroups, stack, text, time, transformers
+     , unordered-containers, vector, wai, yaml
+     }:
+     mkDerivation {
+       pname = "now-haskell";
+       version = "0.1.0.0";
+       sha256 = "1246jc17bcsm5jmpcbn9w5l5mnq2vvkya1q7jrw7ip5wwi6vaw7m";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring case-insensitive containers
+         deepseq exceptions http-api-data http-client http-client-tls
+         http-media http-types iso8601-time katip memory microlens mtl
+         network random safe-exceptions text time transformers
+         unordered-containers vector wai
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty base bytestring Cabal containers directory
+         filepath fused-effects ghc-lib-parser stack text yaml
+       ];
+       testHaskellDepends = [
+         aeson aws-lambda-runtime base bytestring containers hspec
+         iso8601-time mtl QuickCheck semigroups text time transformers
+         unordered-containers vector
+       ];
+       description = "Zeit Now haskell-side integration and introspection tools";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "nowdoc" = callPackage
     ({ mkDerivation, base, bytestring, template-haskell }:
      mkDerivation {
@@ -176924,21 +177260,27 @@ self: {
      }) {};
 
   "persistent-mongoDB" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bson, bytestring, cereal
-     , conduit, containers, http-api-data, mongoDB, network, path-pieces
-     , persistent, resource-pool, resourcet, text, time, transformers
-     , unliftio-core
+    ({ mkDerivation, aeson, base, blaze-html, bson, bytestring, cereal
+     , conduit, containers, hspec, http-api-data, HUnit, mongoDB
+     , network, path-pieces, persistent, persistent-qq
+     , persistent-template, persistent-test, process, QuickCheck
+     , resource-pool, resourcet, template-haskell, text, time
+     , transformers, unliftio-core
      }:
      mkDerivation {
        pname = "persistent-mongoDB";
-       version = "2.8.0";
-       sha256 = "12hp7cqdz672r5rhad6xvjpxhrs8v1swiz0d9n7xbn41g11a247l";
-       revision = "1";
-       editedCabalFile = "06iqf7frc5h7qvxhnxi2zirgspsmafp2ls0jw3ppzb01q0y6mgi4";
+       version = "2.9.0";
+       sha256 = "1xahxmr1rwi2sj809zfqs50kss7ii6df9k52rqr2zxp8q2ipkrx9";
        libraryHaskellDepends = [
-         aeson attoparsec base bson bytestring cereal conduit containers
-         http-api-data mongoDB network path-pieces persistent resource-pool
-         resourcet text time transformers unliftio-core
+         aeson base bson bytestring cereal conduit http-api-data mongoDB
+         network path-pieces persistent resource-pool resourcet text time
+         transformers unliftio-core
+       ];
+       testHaskellDepends = [
+         base blaze-html bytestring containers hspec HUnit mongoDB
+         persistent persistent-qq persistent-template persistent-test
+         process QuickCheck template-haskell text time transformers
+         unliftio-core
        ];
        description = "Backend for the persistent library using mongoDB";
        license = stdenv.lib.licenses.mit;
@@ -177312,7 +177654,7 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {inherit (pkgs) sqlite;};
 
-  "persistent-sqlite_2_10_4" = callPackage
+  "persistent-sqlite_2_10_5" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, containers
      , exceptions, fast-logger, hspec, HUnit, microlens-th, monad-logger
      , persistent, persistent-template, persistent-test, QuickCheck
@@ -177322,8 +177664,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-sqlite";
-       version = "2.10.4";
-       sha256 = "0x4b327h2gqhccy7yw5sa8mn8xfc4zb5kqwx98nr9yk7f1s0fr79";
+       version = "2.10.5";
+       sha256 = "1sghp7ffi383bzlgm83g0l5bzjbs67m6lxn3fsz74y0yy9ix33ha";
        configureFlags = [ "-fsystemlib" ];
        isLibrary = true;
        isExecutable = true;
@@ -179580,8 +179922,8 @@ self: {
     ({ mkDerivation, base, foldl, pipes }:
      mkDerivation {
        pname = "pipes-ordered-zip";
-       version = "1.0.0.1";
-       sha256 = "18qm08h5mq8pyn7cx1dabvmj63mhykm4cqsxhqsb7qf1kv70nqc8";
+       version = "1.0.1";
+       sha256 = "10ywi5ykp398mghc3mvcy2alz1lp6kah0yxmn5pz1l6nbsv7wyk5";
        libraryHaskellDepends = [ base pipes ];
        testHaskellDepends = [ base foldl pipes ];
        description = "merge two ordered Producers into a new Producer";
@@ -181468,6 +181810,18 @@ self: {
        license = "LGPL";
      }) {};
 
+  "polyparse_1_13" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "polyparse";
+       version = "1.13";
+       sha256 = "0yvhg718dlksiw3v27m2d8m1sn4r4f5s0p56zq3lynhy1sc74k0w";
+       libraryHaskellDepends = [ base bytestring text ];
+       description = "A variety of alternative parser combinator libraries";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "polysemy" = callPackage
     ({ mkDerivation, async, base, containers, criterion, doctest
      , first-class-families, free, freer-simple, hspec, hspec-discover
@@ -182722,6 +183076,21 @@ self: {
        broken = true;
      }) {};
 
+  "postgresql-simple-interpolate" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, mtl, parsec
+     , postgresql-simple, template-haskell
+     }:
+     mkDerivation {
+       pname = "postgresql-simple-interpolate";
+       version = "0.1";
+       sha256 = "0nq4j1lbylklsz3fhc4y7rh6c4lfzzfyha65g6i22mbpx51vdf30";
+       libraryHaskellDepends = [
+         base haskell-src-meta mtl parsec postgresql-simple template-haskell
+       ];
+       description = "Interpolated SQL queries via quasiquotation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "postgresql-simple-migration" = callPackage
     ({ mkDerivation, base, base64-bytestring, bytestring, cryptohash
      , directory, hspec, postgresql-simple, text, time
@@ -184244,20 +184613,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pretty-simple_3_0_0_0" = callPackage
-    ({ mkDerivation, ansi-terminal, base, criterion, doctest, Glob, mtl
-     , text, transformers
+  "pretty-simple_3_1_0_0" = callPackage
+    ({ mkDerivation, ansi-terminal, base, Cabal, cabal-doctest
+     , containers, criterion, doctest, Glob, mtl, QuickCheck
+     , template-haskell, text, transformers
      }:
      mkDerivation {
        pname = "pretty-simple";
-       version = "3.0.0.0";
-       sha256 = "0cv21iq6xk73dlmkm9ax22qv93sgqj72gzl1zxxn2870vhf102ab";
+       version = "3.1.0.0";
+       sha256 = "0p3p5i2rjwv19hzgqyarv7x6g6hvam159y50irvs0dd5wwphd2pa";
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         ansi-terminal base mtl text transformers
+         ansi-terminal base containers mtl text transformers
+       ];
+       testHaskellDepends = [
+         base doctest Glob QuickCheck template-haskell
        ];
-       testHaskellDepends = [ base doctest Glob ];
        benchmarkHaskellDepends = [ base criterion text ];
        description = "pretty printer for data types with a 'Show' instance";
        license = stdenv.lib.licenses.bsd3;
@@ -187692,8 +188065,8 @@ self: {
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.13.2";
-       sha256 = "0g4g2xsn3r5xxqndlyg1yxnsdgj27l5zll9q6wly119mkcllvvql";
+       version = "0.13.3";
+       sha256 = "05cz0ilxawrcn4hm6mbd0qpkbfp0g8mcqvcscl4ghagjljgimaqv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -189697,8 +190070,8 @@ self: {
      }:
      mkDerivation {
        pname = "quickspec";
-       version = "2.1.1";
-       sha256 = "185sivnl9zwkzrsqknlpkm3mkl5irk6nawbwgm67x1y08d2wvmc4";
+       version = "2.1.2";
+       sha256 = "0igqwa195qgps5vla2a4f83rq4vdq739i94kbzzmbnniylx9wgdw";
        libraryHaskellDepends = [
          base constraints containers data-lens-light dlist QuickCheck
          quickcheck-instances random spoon template-haskell transformers
@@ -193999,18 +194372,19 @@ self: {
      }) {};
 
   "regex-applicative" = callPackage
-    ({ mkDerivation, base, containers, smallcheck, tasty, tasty-hunit
-     , tasty-smallcheck, transformers
+    ({ mkDerivation, base, containers, criterion, smallcheck, tasty
+     , tasty-hunit, tasty-smallcheck, transformers
      }:
      mkDerivation {
        pname = "regex-applicative";
-       version = "0.3.3";
-       sha256 = "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6";
+       version = "0.3.3.1";
+       sha256 = "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg";
        libraryHaskellDepends = [ base containers transformers ];
        testHaskellDepends = [
          base containers smallcheck tasty tasty-hunit tasty-smallcheck
          transformers
        ];
+       benchmarkHaskellDepends = [ base criterion ];
        description = "Regex-based parsing with applicative interface";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -197435,14 +197809,15 @@ self: {
      }:
      mkDerivation {
        pname = "rib";
-       version = "0.2.0.0";
-       sha256 = "0fn6hwg1lns92qy7c531rqrdryaildkr25isvdflnydczvy9wx3r";
+       version = "0.3.0.0";
+       sha256 = "1dw86xrz310vrapgln48r46z0ss35jm85c0r95pqvnq4smbwiw18";
        libraryHaskellDepends = [
          aeson async base binary bytestring clay cmdargs containers
          data-default fsnotify http-types lens lens-aeson lucid mtl pandoc
          pandoc-include-code pandoc-types safe shake skylighting text time
          wai wai-app-static wai-extra warp
        ];
+       description = "Static site generator using Shake";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -200438,63 +200813,76 @@ self: {
      }) {};
 
   "salak" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, containers
-     , data-default, directory, exceptions, filepath, hashable, heaps
-     , hspec, menshen, mtl, QuickCheck, random, scientific, text, time
-     , unliftio-core, unordered-containers
+    ({ mkDerivation, base, bytestring, containers, criterion
+     , data-default, directory, dlist, exceptions, filepath, hashable
+     , heaps, hspec, hspec-discover, megaparsec, menshen, mtl
+     , QuickCheck, random, scientific, text, time, unliftio-core
+     , unordered-containers
      }:
      mkDerivation {
        pname = "salak";
-       version = "0.3.3.1";
-       sha256 = "0gv7qjiwnr67s38g68y2aqjljihrlggmnz2jz79865bi2v34isd2";
+       version = "0.3.4.1";
+       sha256 = "178vjvyqvs2m6671wckw8yb5s5xy0nvdivxvyxqq9w8ckdnnk1q0";
        libraryHaskellDepends = [
-         attoparsec base bytestring containers data-default directory
-         exceptions filepath hashable heaps menshen mtl scientific text time
+         base bytestring containers data-default directory dlist exceptions
+         filepath hashable heaps megaparsec menshen mtl scientific text time
          unliftio-core unordered-containers
        ];
        testHaskellDepends = [
-         attoparsec base bytestring containers data-default directory
-         exceptions filepath hashable heaps hspec menshen mtl QuickCheck
+         base bytestring containers data-default directory dlist exceptions
+         filepath hashable heaps hspec megaparsec menshen mtl QuickCheck
          random scientific text time unliftio-core unordered-containers
        ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion data-default directory dlist
+         exceptions filepath hashable heaps megaparsec menshen mtl
+         scientific text time unliftio-core unordered-containers
+       ];
        description = "Configuration (re)Loader and Parser";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "salak_0_3_3_2" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, containers
+  "salak_0_3_5_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion
      , data-default, directory, dlist, exceptions, filepath, hashable
-     , heaps, hspec, hspec-discover, menshen, mtl, QuickCheck, random
-     , scientific, text, time, unliftio-core, unordered-containers
+     , heaps, hspec, hspec-discover, megaparsec, menshen, mtl
+     , QuickCheck, random, scientific, text, time, unliftio-core
+     , unordered-containers
      }:
      mkDerivation {
        pname = "salak";
-       version = "0.3.3.2";
-       sha256 = "16v93lnfaqh7pbvpd26gf20wq6nwi42gf9jhv9978qswynck98xd";
+       version = "0.3.5.1";
+       sha256 = "0g41h9a89cp24cm99q1lgiyz794szf85hinybbjz75s33a3lykgv";
        libraryHaskellDepends = [
-         attoparsec base bytestring containers data-default directory dlist
-         exceptions filepath hashable heaps menshen mtl scientific text time
+         base bytestring containers data-default directory dlist exceptions
+         filepath hashable heaps megaparsec menshen mtl scientific text time
          unliftio-core unordered-containers
        ];
        testHaskellDepends = [
-         attoparsec base bytestring containers data-default directory dlist
-         exceptions filepath hashable heaps hspec menshen mtl QuickCheck
+         base bytestring containers data-default directory dlist exceptions
+         filepath hashable heaps hspec megaparsec menshen mtl QuickCheck
          random scientific text time unliftio-core unordered-containers
        ];
        testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion data-default directory dlist
+         exceptions filepath hashable heaps megaparsec menshen mtl
+         scientific text time unliftio-core unordered-containers
+       ];
        description = "Configuration (re)Loader and Parser";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "salak-toml" = callPackage
-    ({ mkDerivation, base, exceptions, hspec, mtl, QuickCheck, salak
-     , text, time, tomland, unordered-containers
+    ({ mkDerivation, base, criterion, exceptions, hspec, mtl
+     , QuickCheck, salak, text, time, tomland, unordered-containers
      }:
      mkDerivation {
        pname = "salak-toml";
-       version = "0.3.3";
-       sha256 = "0961xwj928map27az5qlp86wxg5jj6kq9cxqhbmcyl7m1cic91dy";
+       version = "0.3.4.1";
+       sha256 = "1gsgl6wzrzhpgbz1paig9xbxknm9g5z3g3cq47i198qzxnmqad7c";
        libraryHaskellDepends = [
          base salak text time tomland unordered-containers
        ];
@@ -200502,20 +200890,23 @@ self: {
          base exceptions hspec mtl QuickCheck salak text time tomland
          unordered-containers
        ];
+       benchmarkHaskellDepends = [
+         base criterion salak text time tomland unordered-containers
+       ];
        description = "Configuration Loader for toml";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {};
 
-  "salak-toml_0_3_3_2" = callPackage
-    ({ mkDerivation, base, exceptions, hspec, mtl, QuickCheck, salak
-     , text, time, tomland, unordered-containers
+  "salak-toml_0_3_5_1" = callPackage
+    ({ mkDerivation, base, criterion, exceptions, hspec, mtl
+     , QuickCheck, salak, text, time, tomland, unordered-containers
      }:
      mkDerivation {
        pname = "salak-toml";
-       version = "0.3.3.2";
-       sha256 = "11134ikw2y7h7cn0c23q454z5g6y85ij8qnzqhqm6jpiyhdp7d6z";
+       version = "0.3.5.1";
+       sha256 = "1clgsr1aqz2zfnsazhql6m125161yxbfp6q0lc4dllbvdhjygmrf";
        libraryHaskellDepends = [
          base salak text time tomland unordered-containers
        ];
@@ -200523,6 +200914,9 @@ self: {
          base exceptions hspec mtl QuickCheck salak text time tomland
          unordered-containers
        ];
+       benchmarkHaskellDepends = [
+         base criterion salak text time tomland unordered-containers
+       ];
        description = "Configuration Loader for toml";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -200530,33 +200924,39 @@ self: {
      }) {};
 
   "salak-yaml" = callPackage
-    ({ mkDerivation, base, conduit, exceptions, hspec, libyaml, mtl
-     , QuickCheck, salak, text
+    ({ mkDerivation, base, conduit, criterion, exceptions, hspec
+     , libyaml, mtl, QuickCheck, salak, text
      }:
      mkDerivation {
        pname = "salak-yaml";
-       version = "0.3.3";
-       sha256 = "038pfna1jijw6vf8b89ql4f4987s60lpj90nlny66wxkj4b2nbrq";
+       version = "0.3.4.1";
+       sha256 = "083ba1pdv6pnlzc9ijh9pzvxn056yjhy46283jf49m4sbma105w4";
        libraryHaskellDepends = [ base conduit libyaml salak text ];
        testHaskellDepends = [
          base conduit exceptions hspec libyaml mtl QuickCheck salak text
        ];
+       benchmarkHaskellDepends = [
+         base conduit criterion libyaml salak text
+       ];
        description = "Configuration Loader for yaml";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "salak-yaml_0_3_3_2" = callPackage
-    ({ mkDerivation, base, conduit, exceptions, hspec, libyaml, mtl
-     , QuickCheck, salak, text
+  "salak-yaml_0_3_5_1" = callPackage
+    ({ mkDerivation, base, conduit, criterion, exceptions, hspec
+     , libyaml, mtl, QuickCheck, salak, text
      }:
      mkDerivation {
        pname = "salak-yaml";
-       version = "0.3.3.2";
-       sha256 = "1k4n97wayia13q247283m25fqarjdw5jj3k8fcv18kkkpsq4fv97";
+       version = "0.3.5.1";
+       sha256 = "1qzpbv2g7ds3dbcfi90ncjrk66vm1kxdkkdx1i49jq9g2xcai9n6";
        libraryHaskellDepends = [ base conduit libyaml salak text ];
        testHaskellDepends = [
          base conduit exceptions hspec libyaml mtl QuickCheck salak text
        ];
+       benchmarkHaskellDepends = [
+         base conduit criterion libyaml salak text
+       ];
        description = "Configuration Loader for yaml";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -201715,6 +202115,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "scheduler_1_4_2" = callPackage
+    ({ mkDerivation, async, atomic-primops, base, Cabal, cabal-doctest
+     , criterion, deepseq, doctest, exceptions, fib, genvalidity-hspec
+     , hspec, monad-par, mwc-random, parallel, primitive, QuickCheck
+     , streamly, template-haskell, unliftio, unliftio-core, vector
+     }:
+     mkDerivation {
+       pname = "scheduler";
+       version = "1.4.2";
+       sha256 = "0px7k4lq758s8303fx690pzzigqi26m45wxpapj9pgl4kar45jzc";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         atomic-primops base deepseq exceptions primitive unliftio-core
+       ];
+       testHaskellDepends = [
+         base deepseq doctest genvalidity-hspec hspec mwc-random QuickCheck
+         template-haskell unliftio vector
+       ];
+       benchmarkHaskellDepends = [
+         async base criterion deepseq fib monad-par parallel streamly
+         unliftio
+       ];
+       description = "Work stealing scheduler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "schedyield" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -202250,8 +202677,8 @@ self: {
     ({ mkDerivation, base, ditto, ditto-lucid, lucid, scotty, text }:
      mkDerivation {
        pname = "scotty-form";
-       version = "0.1.0.0";
-       sha256 = "0ks11rav9x52lq27mr12qlygg6yl9wl87fqa28jbz084fwn97w44";
+       version = "0.2.0.0";
+       sha256 = "048vfcvi2wmpmg0ldm4fjkszsx498m22fsg0p8xdanbfbfzrzwwa";
        libraryHaskellDepends = [
          base ditto ditto-lucid lucid scotty text
        ];
@@ -203075,8 +203502,8 @@ self: {
     ({ mkDerivation, base, containers, doctest, hspec }:
      mkDerivation {
        pname = "search-algorithms";
-       version = "0.3.0";
-       sha256 = "046v424bvfnvf3hw38k9isdn9f05l4jk8k1fb2p3zn5zgb4h77aa";
+       version = "0.3.1";
+       sha256 = "1803pmk78l29nlgh68y7hndhlmlsabddf78hsva1bq87yhzz1rlv";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base containers doctest hspec ];
        description = "Common graph search algorithms";
@@ -203961,8 +204388,8 @@ self: {
      }:
      mkDerivation {
        pname = "sensu-run";
-       version = "0.7.0.2";
-       sha256 = "08ymh5ckn6nwcyds683mgz42ik12q12wqknwb6m6c0dsbm901b57";
+       version = "0.7.0.3";
+       sha256 = "1afn67bxmxch2gpjar89dkagchp3h0rqbv8jkglgfzjc137047dc";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -204219,20 +204646,23 @@ self: {
      }) {};
 
   "sequence-formats" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, containers
-     , data-memocombinators, errors, exceptions, foldl, hslogger
-     , lens-family, MissingH, pipes, pipes-attoparsec, pipes-bytestring
-     , pipes-safe, pipes-text, split, text, transformers, turtle, vector
+    ({ mkDerivation, attoparsec, base, bytestring, containers, errors
+     , exceptions, foldl, lens-family, pipes, pipes-attoparsec
+     , pipes-bytestring, pipes-safe, tasty, tasty-hunit, transformers
+     , vector
      }:
      mkDerivation {
        pname = "sequence-formats";
-       version = "1.1.4.1";
-       sha256 = "1zh2n1ksyvqzk2w35nsyj3sxdf7ni2iqv2ksrk8xs64n0j25c7ac";
+       version = "1.3.2";
+       sha256 = "0ghmhn9cmgxwn9nix309q300ma23snkvhmhg4vsl5gnx6bhg7caj";
        libraryHaskellDepends = [
-         attoparsec base bytestring containers data-memocombinators errors
-         exceptions foldl hslogger lens-family MissingH pipes
-         pipes-attoparsec pipes-bytestring pipes-safe pipes-text split text
-         transformers turtle vector
+         attoparsec base bytestring containers errors exceptions foldl
+         lens-family pipes pipes-attoparsec pipes-bytestring pipes-safe
+         transformers vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers foldl pipes pipes-safe tasty tasty-hunit
+         transformers vector
        ];
        description = "A package with basic parsing utilities for several Bioinformatic data formats";
        license = stdenv.lib.licenses.gpl3;
@@ -205474,8 +205904,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-github-webhook";
-       version = "0.4.1.0";
-       sha256 = "0v6gd7swhl58x3sqbb5cmn5ac6x1p5mg7jqbwk9ny9bzggz9pglb";
+       version = "0.4.2.0";
+       sha256 = "1z80h42zp781p49bskw5ilb49dnhs7y4j2g0v4xdyrrabj2m885g";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cryptonite github
          github-webhooks http-types memory servant servant-server
@@ -206882,8 +207312,8 @@ self: {
      }:
      mkDerivation {
        pname = "serverless-haskell";
-       version = "0.8.8";
-       sha256 = "14qjlji11xa2v72bskv1cqk3x0z4gjl77mx1vqi183sd4798xhci";
+       version = "0.8.10";
+       sha256 = "1gvswqkdk5awnvjqzvhbrvdmsyj73kiph872fvplmmdyvq8hb8gy";
        libraryHaskellDepends = [
          aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
          amazonka-s3 base bytestring case-insensitive http-types iproute
@@ -207576,6 +208006,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "sexpr-parser_0_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, hspec, megaparsec
+     , process
+     }:
+     mkDerivation {
+       pname = "sexpr-parser";
+       version = "0.2.0.0";
+       sha256 = "0cgfmnv72n5li15k8dq4w2rvfx0ahbyb7h2g51a5i4x9w70dyllg";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base data-default megaparsec ];
+       executableHaskellDepends = [ base bytestring megaparsec process ];
+       testHaskellDepends = [ base data-default hspec megaparsec ];
+       description = "Simple s-expression parser";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sext" = callPackage
     ({ mkDerivation, base, bytestring, tasty, tasty-hunit
      , template-haskell, text, vector
@@ -208774,8 +209222,8 @@ self: {
      }:
      mkDerivation {
        pname = "shh";
-       version = "0.7.0.2";
-       sha256 = "0b9q4pg1gvnw18gxba8cd7b9crj8d822vivsvgagcjmhm6a8y3pk";
+       version = "0.7.0.4";
+       sha256 = "10gnkk0645aznkry063kl5m68n7ip88m8cf97lwffj1y86iazk5b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -211504,6 +211952,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sliceofpy" = callPackage
+    ({ mkDerivation, base, bytestring, containers, lens, process, split
+     , tasty, tasty-hspec, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "sliceofpy";
+       version = "1.0.0";
+       sha256 = "0jc6abvgyrljyvzxw3v3nhxzqw3fjh2r51xag2v2xg3zb9qx8fra";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring lens process split template-haskell text
+       ];
+       executableHaskellDepends = [
+         base bytestring lens process split template-haskell text
+       ];
+       testHaskellDepends = [
+         base bytestring containers lens process split tasty tasty-hspec
+         template-haskell text
+       ];
+       description = "Python-ish slicing traversals for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "slick" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, containers, lens
      , lens-aeson, mustache, pandoc, shake, text, time
@@ -215011,18 +215483,22 @@ self: {
      }) {};
 
   "sparse-tensor" = callPackage
-    ({ mkDerivation, ad, base, bytestring, cereal, containers, deepseq
-     , eigen, ghc-typelits-knownnat, ghc-typelits-natnormalise, parallel
-     , singletons, tf-random, zlib
+    ({ mkDerivation, ad, base, bytestring, Cabal, cereal, containers
+     , deepseq, ghc-typelits-knownnat, ghc-typelits-natnormalise
+     , hmatrix, parallel, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, tf-random, zlib
      }:
      mkDerivation {
        pname = "sparse-tensor";
-       version = "0.1.0.0";
-       sha256 = "039i9d3w3xxkxvkqs59d82qm0yp0w23w7lrcfdmnb6bgc228mjvl";
+       version = "0.2.1";
+       sha256 = "10950cp07m1p011n3a14bka2rpfrmn20k0kjb1cvca7dnxn2iv2f";
+       setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
-         ad base bytestring cereal containers deepseq eigen
-         ghc-typelits-knownnat ghc-typelits-natnormalise parallel singletons
-         tf-random zlib
+         ad base bytestring cereal containers deepseq ghc-typelits-knownnat
+         ghc-typelits-natnormalise hmatrix parallel tf-random zlib
+       ];
+       testHaskellDepends = [
+         base hmatrix QuickCheck tasty tasty-hunit tasty-quickcheck
        ];
        description = "typesafe tensor algebra library";
        license = stdenv.lib.licenses.mit;
@@ -215268,8 +215744,8 @@ self: {
      }:
      mkDerivation {
        pname = "spectral-clustering";
-       version = "0.3.1.1";
-       sha256 = "02fmg0bkhvsfh6k6p8bfpfc08isnn5p5h55kdnkm1d6jmixdkrzy";
+       version = "0.3.1.3";
+       sha256 = "0izf0lvk989y4d04240hbnsr5lc5lbl9200c5km0p72lv1v07mgf";
        libraryHaskellDepends = [
          base clustering containers hmatrix hmatrix-svdlibc mwc-random safe
          sparse-linear-algebra statistics vector
@@ -215687,8 +216163,8 @@ self: {
        pname = "split";
        version = "0.2.3.3";
        sha256 = "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x";
-       revision = "1";
-       editedCabalFile = "0vz2ylx81nfq2981msig080j7n41xf2lrxzf3hj1x3g3cllb3izi";
+       revision = "2";
+       editedCabalFile = "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Combinator library for splitting lists";
@@ -224766,8 +225242,8 @@ self: {
      }:
      mkDerivation {
        pname = "tagsoup-navigate";
-       version = "0.1.0.1";
-       sha256 = "01xzw375wdcj58s6mrwgzf9ccv8bbc50p4kcnv76cxbm38p1v94j";
+       version = "0.1.0.2";
+       sha256 = "16n0s9vpwrnbknm9yfsh3qv2j3k1h579fwfqjbr1kzjn40729348";
        libraryHaskellDepends = [
          base deriving-compat lens mmorph mtl semigroupoids semigroups
          tagsoup tagsoup-selection transformers
@@ -227401,8 +227877,6 @@ self: {
        ];
        description = "Terminal emulator configurable in Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) gtk3; libpcre2 = null; vte_291 = pkgs.vte;};
 
   "termplot" = callPackage
@@ -229563,25 +230037,6 @@ self: {
      }:
      mkDerivation {
        pname = "th-lift-instances";
-       version = "0.1.13";
-       sha256 = "0zmhz593lfgi194ps8cv592j0wyc37mdn9pf2pchmr7h8bkmbksf";
-       libraryHaskellDepends = [
-         base bytestring containers template-haskell text th-lift
-         transformers vector
-       ];
-       testHaskellDepends = [
-         base bytestring containers QuickCheck template-haskell text vector
-       ];
-       description = "Lift instances for template-haskell for common data types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "th-lift-instances_0_1_14" = callPackage
-    ({ mkDerivation, base, bytestring, containers, QuickCheck
-     , template-haskell, text, th-lift, transformers, vector
-     }:
-     mkDerivation {
-       pname = "th-lift-instances";
        version = "0.1.14";
        sha256 = "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78";
        libraryHaskellDepends = [
@@ -229593,7 +230048,6 @@ self: {
        ];
        description = "Lift instances for template-haskell for common data types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "th-nowq" = callPackage
@@ -230635,16 +231089,16 @@ self: {
   "tidal" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, clock, colour
      , containers, criterion, deepseq, hosc, microspec, mwc-random
-     , network, parsec, text, transformers, vector, weigh
+     , network, parsec, primitive, text, transformers, vector, weigh
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.3.0";
-       sha256 = "0zd9z0nc600b1zw0c1bpl5b3ik1dcspv5kd72p3if70g81x56d8l";
+       version = "1.4.0";
+       sha256 = "0zh1d5apjsayqjwl019qcd4b7v2f2w14amq3rysdwqx8cz7z5045";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
-         mwc-random network parsec text transformers vector
+         mwc-random network parsec primitive text transformers vector
        ];
        testHaskellDepends = [ base containers microspec parsec ];
        benchmarkHaskellDepends = [ base criterion weigh ];
@@ -232259,12 +232713,20 @@ self: {
      }) {};
 
   "to" = callPackage
-    ({ mkDerivation, base, bytestring, text, utf8-string }:
+    ({ mkDerivation, base, bytestring, containers, gauge, hashable
+     , text, unordered-containers, utf8-string, vector
+     }:
      mkDerivation {
        pname = "to";
-       version = "1.0.0";
-       sha256 = "0lkmxyn3g2blrq9nc1ih46f5qghnida2mdpsx6ixksy12cnxswja";
-       libraryHaskellDepends = [ base bytestring text utf8-string ];
+       version = "1.2.0";
+       sha256 = "13y4vxfm76929c4nj6rp06y81nm30m3v52r927k41nbb0fdx8z7y";
+       libraryHaskellDepends = [
+         base bytestring containers hashable text unordered-containers
+         utf8-string vector
+       ];
+       benchmarkHaskellDepends = [
+         base containers gauge text unordered-containers
+       ];
        description = "Simple, safe, boring type conversions";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -232637,8 +233099,6 @@ self: {
        ];
        description = "Bidirectional TOML serialization";
        license = stdenv.lib.licenses.mpl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "tomlcheck" = callPackage
@@ -234079,8 +234539,8 @@ self: {
      }:
      mkDerivation {
        pname = "trasa-form";
-       version = "0.3.2.0";
-       sha256 = "0q59wkg7k66iq8n6b73226z23sgy8pfvylac9qvlaiib6dllq1g8";
+       version = "0.4";
+       sha256 = "0d3fkwvjjwvjzaw5n9n4j4mrrrf8zwrg1882gyqjg0bglsd27xzx";
        libraryHaskellDepends = [
          base bytestring cookie ditto ditto-lucid http-api-data http-types
          lucid mtl quantification text trasa trasa-server
@@ -237168,6 +237628,22 @@ self: {
        broken = true;
      }) {};
 
+  "typed-uuid" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, deepseq, hashable
+     , http-api-data, random, text, uuid, validity, validity-uuid
+     }:
+     mkDerivation {
+       pname = "typed-uuid";
+       version = "0.0.0.0";
+       sha256 = "1v862wfmd03ssch7p5hr5cmzc38gzmxvw22swdfs2blfxv13cdc8";
+       libraryHaskellDepends = [
+         aeson base binary bytestring deepseq hashable http-api-data random
+         text uuid validity validity-uuid
+       ];
+       description = "Phantom-Typed version of UUID";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "typed-wire" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , filepath, gitrev, HTF, http-types, mtl, optparse-applicative
@@ -238741,6 +239217,17 @@ self: {
        broken = true;
      }) {};
 
+  "unipatterns" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unipatterns";
+       version = "0.0.0.0";
+       sha256 = "07jl3an9y4gbpmsq2gcbp3xwyvrnvkjcxcpq1702cc320c8zq542";
+       libraryHaskellDepends = [ base ];
+       description = "Helpers which allow safe partial pattern matching in lambdas";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "uniplate" = callPackage
     ({ mkDerivation, base, containers, hashable, syb
      , unordered-containers
@@ -241435,12 +241922,12 @@ self: {
      }) {};
 
   "valid" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, util }:
      mkDerivation {
        pname = "valid";
-       version = "0.1.0.0";
-       sha256 = "10nrr48ki8vxckbz1q24nn2x8vwflj4ndgvlj99ishyypb1ijx37";
-       libraryHaskellDepends = [ base ];
+       version = "0.1.1.0";
+       sha256 = "1c029mb3szixs9rr5i7ri2nm0ya5gv5r6bv8hzsyw90ys5nbgcz5";
+       libraryHaskellDepends = [ base util ];
        description = "Type isomorphic to `Either` with `Applicative` instance which combines errors";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -242809,8 +243296,8 @@ self: {
      }:
      mkDerivation {
        pname = "verifiable-expressions";
-       version = "0.5.0";
-       sha256 = "04bm6m9aflf2zcbwbgga6sl3ydxmp295pgwp9wfbvnzyc2bggrg5";
+       version = "0.6.0";
+       sha256 = "1drb5zkpm5zn765fkp2p7jq69q50f9577rz9bs76cp0gvccan8my";
        libraryHaskellDepends = [
          base containers lens mtl sbv transformers union vinyl
        ];
@@ -244267,35 +244754,6 @@ self: {
      }:
      mkDerivation {
        pname = "wai-extra";
-       version = "3.0.27";
-       sha256 = "1p8x61xjbwjif10iibc3b2gxh3dd3rymrfvinrdn0h9wn7qsyh2x";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal base base64-bytestring bytestring
-         case-insensitive containers cookie data-default-class deepseq
-         directory fast-logger http-types http2 iproute network old-locale
-         resourcet streaming-commons text time transformers unix unix-compat
-         vault void wai wai-logger word8 zlib
-       ];
-       testHaskellDepends = [
-         base bytestring case-insensitive cookie fast-logger hspec
-         http-types http2 HUnit resourcet text time transformers wai zlib
-       ];
-       description = "Provides some basic WAI handlers and middleware";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "wai-extra_3_0_28" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring
-     , bytestring, case-insensitive, containers, cookie
-     , data-default-class, deepseq, directory, fast-logger, hspec
-     , http-types, http2, HUnit, iproute, network, old-locale, resourcet
-     , streaming-commons, text, time, transformers, unix, unix-compat
-     , vault, void, wai, wai-logger, word8, zlib
-     }:
-     mkDerivation {
-       pname = "wai-extra";
        version = "3.0.28";
        sha256 = "0iky7k4kirngvk1p2nz19zgzffb5hppfaxdjan80v06ikc8w1wm7";
        isLibrary = true;
@@ -244313,7 +244771,6 @@ self: {
        ];
        description = "Provides some basic WAI handlers and middleware";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-frontend-monadcgi" = callPackage
@@ -251492,8 +251949,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.29.5";
-       sha256 = "0k5hjpr1vanj6hxf5mn3j5rfjrmiz4x29kcvi55d8qpzsan3iz0m";
+       version = "0.30";
+       sha256 = "1msyl3gy8cybdkx24k6ykcxjf95b5zid8b6vdwqmsamw1yrb3sgr";
        configureFlags = [
          "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus"
          "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris"
@@ -252584,6 +253041,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "yaml_0_11_1_1" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
+     , conduit, containers, directory, filepath, hspec, HUnit, libyaml
+     , mockery, mtl, raw-strings-qq, resourcet, scientific
+     , template-haskell, temporary, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "yaml";
+       version = "0.11.1.1";
+       sha256 = "0zshpjggz3agzvqwirywpz79q4wq43vsz0pw1iq4dhf4ajjrmzrp";
+       configureFlags = [ "-fsystem-libyaml" ];
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring conduit containers directory
+         filepath libyaml mtl resourcet scientific template-haskell text
+         transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base base-compat bytestring conduit containers
+         directory filepath hspec HUnit libyaml mockery mtl raw-strings-qq
+         resourcet scientific template-haskell temporary text transformers
+         unordered-containers vector
+       ];
+       description = "Support for parsing and rendering YAML documents";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yaml-combinators" = callPackage
     ({ mkDerivation, aeson, base, bytestring, doctest, generics-sop
      , scientific, tasty, tasty-hunit, text, transformers
@@ -254015,8 +254502,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.14";
-       sha256 = "1p7rm95fb3d27khzq6c10mvqffj8jwiirgfy53hvi3x27w9hqg6s";
+       version = "1.6.15";
+       sha256 = "0rzmx9cx2lzlmhjrbczdpzv6divwr0n6h3330rsdh15kn8wjkfr8";
        libraryHaskellDepends = [
          aeson auto-update base blaze-html blaze-markup bytestring
          case-insensitive cereal clientsession conduit conduit-extra
@@ -254380,6 +254867,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-form-multi" = callPackage
+    ({ mkDerivation, base, containers, network-uri, shakespeare, text
+     , transformers, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-form-multi";
+       version = "1.6.0";
+       sha256 = "162pyvyv5kv5bicl8ikvffnsyjqc8z0n758ycgnvwly0bvskrl37";
+       libraryHaskellDepends = [
+         base containers network-uri shakespeare text transformers
+         yesod-core yesod-form
+       ];
+       description = "Multi-input form handling for Yesod Web Framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "yesod-form-richtext" = callPackage
     ({ mkDerivation, base, blaze-builder, blaze-html, shakespeare, text
      , xss-sanitize, yesod-core, yesod-form
@@ -255291,8 +255794,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-test";
-       version = "1.6.6.1";
-       sha256 = "1mr0ad6z6s9rnxnv5ayg8xr93xfx9gxm8zym0866339w7p292wqd";
+       version = "1.6.6.2";
+       sha256 = "1c5q11f2wscapl6a16v1r5livjiy8i2iz5zvlcsx89ikrqgvfc58";
        libraryHaskellDepends = [
          attoparsec base blaze-builder blaze-html bytestring
          case-insensitive conduit containers cookie hspec-core html-conduit
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
index b7b057f2dc2..1793299bf6c 100644
--- a/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -12,4 +12,44 @@ self: super: {
 
   # https://github.com/channable/vaultenv/issues/1
   vaultenv = self.callPackage ../tools/haskell/vaultenv { };
+
+  cabal-install-3 = (self.callPackage
+    ({ mkDerivation, array, async, base, base16-bytestring, binary
+     , bytestring, Cabal, containers, cryptohash-sha256, deepseq
+     , directory, echo, edit-distance, filepath, hackage-security
+     , hashable, HTTP, mtl, network, network-uri, parsec, pretty
+     , process, random, resolv, stdenv, stm, tar, text, time, unix, zlib
+     , fetchFromGitHub
+     }:
+     mkDerivation {
+       pname = "cabal-install";
+       version = "3.0.0.0";
+       src = fetchFromGitHub {
+         owner = "haskell";
+         repo = "cabal";
+         rev = "b0e52fa173573705e861b129d9675e59de891e46";
+         sha256 = "1fbph6crsn9ji8ps1k8dsxvgqn38rp4ffvv6nia1y7rbrdv90ass";
+       };
+       postUnpack = "sourceRoot+=/cabal-install";
+       isLibrary = false;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal filepath process ];
+       executableHaskellDepends = [
+         array async base base16-bytestring binary bytestring Cabal
+         containers cryptohash-sha256 deepseq directory echo edit-distance
+         filepath hackage-security hashable HTTP mtl network network-uri
+         parsec pretty process random resolv stm tar text time unix zlib
+       ];
+       doCheck = false;
+       postInstall = ''
+         mkdir $out/etc
+         mv bash-completion $out/etc/bash_completion.d
+       '';
+       homepage = "http://www.haskell.org/cabal/";
+       description = "The command-line interface for Cabal and Hackage";
+       license = stdenv.lib.licenses.bsd3;
+     }) {}).overrideScope (self: super: {
+       Cabal = self.Cabal_3_0_0_0;
+     });
+
 }
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index 6b1a71c8020..b5a7c2b467e 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure";
-  version = "1.10.1.466";
+  version = "1.10.1.469";
 
   src = fetchurl {
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "1rh4isdac7l8k8p45cqim8lfccjzxw7z173xqnpgk3z307jj4n90";
+    sha256 = "0hpb6rixmgllss69vl9zlpb41svm4mx4xmfbq1q7y12jsxckzgpq";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix
index 793fa0a1b4d..bdd13841896 100644
--- a/pkgs/development/interpreters/groovy/default.nix
+++ b/pkgs/development/interpreters/groovy/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "groovy";
-  version = "2.5.7";
+  version = "2.5.8";
 
   src = fetchurl {
     url = "http://dl.bintray.com/groovy/maven/apache-groovy-binary-${version}.zip";
-    sha256 = "1q69xg7p790dfk09wyijpx8y85n8g9lfd0fikl6qr73k9zz5v41x";
+    sha256 = "0hl7m9fpmrn9ppxbb3pm68048xpzig7q6hqyg121gvcziywi9ys9";
   };
 
   buildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix
index 219b8e2758a..197127d8b6d 100644
--- a/pkgs/development/interpreters/janet/default.nix
+++ b/pkgs/development/interpreters/janet/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "janet";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ncyg594fixvvkgk0k89b40v9hy36lcr2gniks3ac6cyqy2iixx5";
+    sha256 = "1m34j4h8gh5d773hbw55gs1gimli7ccqpwddn4dd59hzhpihwgqz";
   };
 
   nativeBuildInputs = [ meson ninja ];
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index e20cb3d7e55..6c4a9f20fa3 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" "";
 jruby = stdenv.mkDerivation rec {
   pname = "jruby";
 
-  version = "9.2.7.0";
+  version = "9.2.8.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
-    sha256 = "0j0k1vapxr9gx18sqjf0kqfgw22f55907jjbznxc0580x5f1lz6s";
+    sha256 = "1fy717xy8csc89dnz3a8j96arq1s1vs8nakkkpcaqm1z1648didp";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/lua-5/interpreter.nix b/pkgs/development/interpreters/lua-5/interpreter.nix
index 26db917c900..fb0021cb709 100644
--- a/pkgs/development/interpreters/lua-5/interpreter.nix
+++ b/pkgs/development/interpreters/lua-5/interpreter.nix
@@ -40,14 +40,17 @@ self = stdenv.mkDerivation rec {
     "PLAT=macosx"
   ] else [
     "PLAT=linux"
-  ])
+  ]) ++ (if stdenv.buildPlatform != stdenv.hostPlatform then [
+    "CC=${stdenv.hostPlatform.config}-gcc"
+    "RANLIB=${stdenv.hostPlatform.config}-ranlib"
+  ] else [])
   ;
 
   configurePhase = ''
     runHook preConfigure
 
     makeFlagsArray+=(CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" )
-    makeFlagsArray+=(${stdenv.lib.optionalString stdenv.isDarwin "CC=\"$CC\""})
+    makeFlagsArray+=(${stdenv.lib.optionalString stdenv.isDarwin "CC=\"$CC\""}${stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " 'AR=${stdenv.hostPlatform.config}-ar rcu'"})
 
     installFlagsArray=( TO_BIN="lua luac" INSTALL_DATA='cp -d' \
       TO_LIB="${if stdenv.isDarwin then "liblua.${version}.dylib" else "liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}"}" )
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index 17a56665c5a..f65b4628e8c 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -17,7 +17,7 @@ let
   , withSystemd ? config.php.systemd or stdenv.isLinux
   , imapSupport ? config.php.imap or (!stdenv.isDarwin)
   , ldapSupport ? config.php.ldap or true
-  , mhashSupport ? config.php.mhash or true
+  , mhashSupport ? config.php.mhash or false
   , mysqlndSupport ? config.php.mysqlnd or true
   , mysqliSupport ? config.php.mysqli or true
   , pdo_mysqlSupport ? config.php.pdo_mysql or true
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 2f398d8dccb..7561fdad785 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -21,6 +21,12 @@
 , sha256
 , passthruFun
 , bash
+, stripConfig ? false
+, stripIdlelib ? false
+, stripTests ? false
+, stripTkinter ? false
+, rebuildBytecode ? true
+, stripBytecode ? false
 }:
 
 assert x11Support -> tcl != null
@@ -134,6 +140,7 @@ in with passthru; stdenv.mkDerivation {
     "--without-ensurepip"
     "--with-system-expat"
     "--with-system-ffi"
+  ] ++ optionals (openssl != null) [
     "--with-openssl=${openssl.dev}"
   ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "ac_cv_buggy_getaddrinfo=no"
@@ -221,8 +228,20 @@ in with passthru; stdenv.mkDerivation {
     find $out/lib/python*/config-* -type f -print -exec nuke-refs -e $out '{}' +
     find $out/lib -name '_sysconfigdata*.py*' -print -exec nuke-refs -e $out '{}' +
 
+    '' + optionalString stripConfig ''
+    rm -R $out/bin/python*-config $out/lib/python*/config-*
+    '' + optionalString stripIdlelib ''
+    # Strip IDLE (and turtledemo, which uses it)
+    rm -R $out/bin/idle* $out/lib/python*/{idlelib,turtledemo}
+    '' + optionalString stripTkinter ''
+    rm -R $out/lib/python*/tkinter
+    '' + optionalString stripTests ''
+    # Strip tests
+    rm -R $out/lib/python*/test $out/lib/python*/**/test{,s}
+    '' + ''
     # Include a sitecustomize.py file
     cp ${../sitecustomize.py} $out/${sitePackages}/sitecustomize.py
+    '' + optionalString rebuildBytecode ''
 
     # Determinism: rebuild all bytecode
     # We exclude lib2to3 because that's Python 2 code which fails
@@ -232,6 +251,8 @@ in with passthru; stdenv.mkDerivation {
     find $out -name "*.py" | ${pythonForBuildInterpreter}     -m compileall -q -f -x "lib2to3" -i -
     find $out -name "*.py" | ${pythonForBuildInterpreter} -O  -m compileall -q -f -x "lib2to3" -i -
     find $out -name "*.py" | ${pythonForBuildInterpreter} -OO -m compileall -q -f -x "lib2to3" -i -
+    '' + optionalString stripBytecode ''
+    find $out -type d -name __pycache__ -print0 | xargs -0 -I {} rm -rf "{}"
   '';
 
   preFixup = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
@@ -241,9 +262,9 @@ in with passthru; stdenv.mkDerivation {
 
   # Enforce that we don't have references to the OpenSSL -dev package, which we
   # explicitly specify in our configure flags above.
-  disallowedReferences = [
-    openssl.dev
-  ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+  disallowedReferences =
+    stdenv.lib.optionals (openssl != null) [ openssl.dev ]
+    ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     # Ensure we don't have references to build-time packages.
     # These typically end up in shebangs.
     pythonForBuild buildPackages.bash
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index c8856ea2aa3..bab7a047b15 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -111,6 +111,38 @@ in {
     inherit passthruFun;
   };
 
+  # Minimal versions of Python (built without optional dependencies)
+  python3Minimal = (callPackage ./cpython {
+    self = python3Minimal;
+    sourceVersion = {
+      major = "3";
+      minor = "7";
+      patch = "4";
+      suffix = "";
+    };
+    sha256 = "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv";
+    inherit (darwin) CF configd;
+    inherit passthruFun;
+
+    # strip down that python version as much as possible
+    openssl = null;
+    readline = null;
+    ncurses = null;
+    gdbm = null;
+    sqlite = null;
+    stripConfig = true;
+    stripIdlelib = true;
+    stripTests = true;
+    stripTkinter = true;
+    rebuildBytecode = false;
+    stripBytecode = true;
+  }).overrideAttrs(old: {
+    pname = "python3-minimal";
+    meta = old.meta // {
+      maintainers = [];
+    };
+  });
+
   pypy27 = callPackage ./pypy {
     self = pypy27;
     sourceVersion = {
diff --git a/pkgs/development/interpreters/python/pypy/default.nix b/pkgs/development/interpreters/python/pypy/default.nix
index 7ec476b1ea4..3e86ddef4ed 100644
--- a/pkgs/development/interpreters/python/pypy/default.nix
+++ b/pkgs/development/interpreters/python/pypy/default.nix
@@ -1,6 +1,6 @@
 { stdenv, substituteAll, fetchurl
 , zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
-, sqlite, openssl, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11
+, sqlite, openssl_1_0_2, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11
 , self, gdbm, db, lzma
 , python-setup-hook
 # For the Python package set
@@ -40,7 +40,7 @@ in with passthru; stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db
+    bzip2 openssl_1_0_2 pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db
   ]  ++ optionals isPy3k [
     lzma
   ] ++ optionals (stdenv ? cc && stdenv.cc.libc != null) [
diff --git a/pkgs/development/libraries/aacskeys/default.nix b/pkgs/development/libraries/aacskeys/default.nix
deleted file mode 100644
index 9e28bfd4fe2..00000000000
--- a/pkgs/development/libraries/aacskeys/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{stdenv, fetchurl, openssl, jdk, premake3}:
-
-# Info on how to use / obtain aacs keys:
-# http://vlc-bluray.whoknowsmy.name/
-# https://wiki.archlinux.org/index.php/BluRay
-
-
-let baseName = "aacskeys";
-    version  = "0.4.0e";
-in
-
-stdenv.mkDerivation {
-  name = "${baseName}-${version}";
-
-  patchPhase = ''
-    substituteInPlace "premake.lua" \
-      --replace "/usr/lib/jvm/java-6-sun/include" "${jdk}/include"
-  '';
-
-  src = fetchurl {
-    url = "http://deb-multimedia.org/pool/main/a/${baseName}/${baseName}_${version}.orig.tar.gz";
-    sha256 = "0d3zvwixpkixfkkc16wj37h2xbcq5hsqqhqngzqr6pslmqr67vnr";
-  };
-
-  buildInputs = [openssl jdk premake3];
-
-  installPhase = ''
-    mkdir -p $out/{bin,lib,share/${baseName}}
-
-    # Install lib
-    install -Dm444 lib/linux/libaacskeys.so $out/lib
-
-    # Install program
-    install -Dm555 bin/linux/aacskeys $out/bin
-
-    # Install resources
-    install -Dm444 HostKeyCertificate.txt $out/share/${baseName}
-    install -Dm444 ProcessingDeviceKeysSimple.txt $out/share/${baseName}
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://forum.doom9.org/showthread.php?t=123311;
-    description = "A library and program to retrieve decryption keys for HD discs";
-    platforms = platforms.linux;
-    license = licenses.publicDomain;
-  };
-}
diff --git a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
index 3ab4ed3e962..e2d64841985 100644
--- a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
@@ -1,14 +1,14 @@
 { stdenv, agda, fetchFromGitHub }:
 
 agda.mkDerivation (self: rec {
-  version = "1.4.0";
+  version = "1.5.0";
   name = "agda-iowa-stdlib-${version}";
 
   src = fetchFromGitHub {
     owner = "cedille";
     repo  = "ial";
     rev = "v${version}";
-    sha256 = "1gwxpybxwdj5ipbb3gapm7r5hfl3g6sj9kp13954pdmx8d5b0gma";
+    sha256 = "0dlis6v6nzbscf713cmwlx8h9n2gxghci8y21qak3hp18gkxdp0g";
   };
 
   sourceDirectories = [ "./." ];
diff --git a/pkgs/development/libraries/agda/agda-prelude/default.nix b/pkgs/development/libraries/agda/agda-prelude/default.nix
index e3dcf765dfd..a57ee6e08ba 100644
--- a/pkgs/development/libraries/agda/agda-prelude/default.nix
+++ b/pkgs/development/libraries/agda/agda-prelude/default.nix
@@ -1,13 +1,13 @@
 { stdenv, agda, fetchgit }:
 
 agda.mkDerivation (self: rec {
-  version = "0dca24a81d417db2ae8fc871eccb7776f7eae952";
+  version = "eacc961c2c312b7443109a7872f99d55557df317";
   name = "agda-prelude-${version}";
 
   src = fetchgit {
     url = "https://github.com/UlfNorell/agda-prelude.git";
     rev = version;
-    sha256 = "0gwfgvj96i1mx5v01bi46h567d1q1fbgvzv6z8zv91l2jhybwff5";
+    sha256 = "0iql67hb1q0fn8dwkcx07brkdkxqfqrsbwjy71ndir0k7qzw7qv2";
   };
 
   topSourceDirectories = [ "src" ];
diff --git a/pkgs/development/libraries/agda/agda-stdlib/default.nix b/pkgs/development/libraries/agda/agda-stdlib/default.nix
index b6208eeeb51..4d071251ee8 100644
--- a/pkgs/development/libraries/agda/agda-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-stdlib/default.nix
@@ -1,14 +1,14 @@
 { stdenv, agda, fetchFromGitHub, ghcWithPackages }:
 
 agda.mkDerivation (self: rec {
-  version = "1.0.1";
+  version = "1.1";
   name = "agda-stdlib-${version}";
 
   src = fetchFromGitHub {
     repo = "agda-stdlib";
     owner = "agda";
     rev = "v${version}";
-    sha256 = "0ia7mgxs5g9849r26yrx07lrx65vhlrxqqh5b6d69gfi1pykb4j2";
+    sha256 = "190bxsy92ffmvwpmyyg3lxs91vyss2z25rqz1w79gkj56484cy64";
   };
 
   nativeBuildInputs = [ (ghcWithPackages (self : [ self.filemanip ])) ];
diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix
index 00465a617f4..a805949bf11 100644
--- a/pkgs/development/libraries/at-spi2-atk/default.nix
+++ b/pkgs/development/libraries/at-spi2-atk/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     description = "D-Bus bridge for Assistive Technology Service Provider Interface (AT-SPI) and Accessibility Toolkit (ATK)";
     homepage = https://gitlab.gnome.org/GNOME/at-spi2-atk;
     license = licenses.lgpl2Plus; # NOTE: 2018-06-06: Please check the license when upstream sorts-out licensing: https://gitlab.gnome.org/GNOME/at-spi2-atk/issues/2
-    maintainers = with maintainers; [ jtojnar gnome3.maintainers ];
+    maintainers = gnome3.maintainers;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index 4e9a29b45b7..7adc84f4786 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     description = "Assistive Technology Service Provider Interface protocol definitions and daemon for D-Bus";
     homepage = https://gitlab.gnome.org/GNOME/at-spi2-core;
     license = licenses.lgpl2Plus; # NOTE: 2018-06-06: Please check the license when upstream sorts-out licensing: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/2
-    maintainers = with maintainers; [ jtojnar gnome3.maintainers ];
+    maintainers = gnome3.maintainers;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index 76010dacc5e..ee451818831 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
     homepage    = http://avahi.org;
     license     = licenses.lgpl2Plus;
     platforms   = platforms.unix;
-    maintainers = with maintainers; [ lovek323 ];
+    maintainers = with maintainers; [ lovek323 globin ];
 
     longDescription = ''
       Avahi is a system which facilitates service discovery on a local
diff --git a/pkgs/development/libraries/directfb/default.nix b/pkgs/development/libraries/directfb/default.nix
index 3d831efbcb7..f7545bb03d5 100644
--- a/pkgs/development/libraries/directfb/default.nix
+++ b/pkgs/development/libraries/directfb/default.nix
@@ -1,31 +1,29 @@
-{ stdenv, fetchurl, pkgconfig, perl, zlib, libjpeg, freetype, libpng, giflib
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, perl, pkgconfig, flux, zlib
+, libjpeg, freetype, libpng, giflib
 , enableX11 ? true, xorg
 , enableSDL ? true, SDL }:
 
-let s = 
-rec {
-   version = "1.7.7";
-   name="directfb-${version}";
-   sha256 = "18r7h0pwbyyk8z3pgdv77nmma8lvr1si9gl1ghxgxf1ivhwcd1dp";
-   url="http://directfb.org/downloads/Core/DirectFB-1.7/DirectFB-${version}.tar.gz";
-}
-; in
-stdenv.mkDerivation {
-  inherit (s) name;
-  src = fetchurl {
-    inherit (s) url sha256;
+stdenv.mkDerivation rec {
+  pname = "directfb";
+  version = "1.7.7";
+
+  src = fetchFromGitHub {
+    owner = "deniskropp";
+    repo = "DirectFB";
+    rev = "DIRECTFB_${lib.replaceStrings ["."] ["_"] version}";
+    sha256 = "0bs3yzb7hy3mgydrj8ycg7pllrd2b6j0gxj596inyr7ihssr3i0y";
   };
 
-  nativeBuildInputs = [ perl pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook perl pkgconfig flux ];
 
   buildInputs = [ zlib libjpeg freetype giflib libpng ]
-    ++ stdenv.lib.optional enableSDL SDL
-    ++ stdenv.lib.optionals enableX11 (with xorg; [
+    ++ lib.optional enableSDL SDL
+    ++ lib.optionals enableX11 (with xorg; [
       xorgproto libX11 libXext
       libXrender
     ]);
 
-  NIX_LDFLAGS="-lgcc_s";
+  NIX_LDFLAGS = "-lgcc_s";
 
   configureFlags = [
     "--enable-sdl"
@@ -35,14 +33,11 @@ stdenv.mkDerivation {
     "--enable-fbdev"
     "--enable-mmx"
     "--enable-sse"
-    #"--enable-sysfs" # not recognized
     "--with-software"
     "--with-smooth-scaling"
-    ] ++ stdenv.lib.optionals enableX11 [
-      "--enable-x11"
-    ];
+  ] ++ lib.optional enableX11 "--enable-x11";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Graphics and input library designed with embedded systems in mind";
     longDescription = ''
       DirectFB is a thin library that provides hardware graphics acceleration,
@@ -54,7 +49,7 @@ stdenv.mkDerivation {
       power to embedded systems and sets a new standard for graphics under
       Linux.
     '';
-    homepage = http://directfb.org/;
+    homepage = "https://github.com/deniskropp/DirectFB";
     license = licenses.lgpl21;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/libraries/directfb/default.upstream b/pkgs/development/libraries/directfb/default.upstream
deleted file mode 100644
index ef4ed8e490d..00000000000
--- a/pkgs/development/libraries/directfb/default.upstream
+++ /dev/null
@@ -1,3 +0,0 @@
-url 'http://directfb.org/index.php?path=Main%2FDownloads'
-version_link 'DirectFB-[0-9]'
-minimize_overwrite
diff --git a/pkgs/development/libraries/exosip/default.nix b/pkgs/development/libraries/exosip/default.nix
index 8e9b2a641cf..4968c38bfd3 100644
--- a/pkgs/development/libraries/exosip/default.nix
+++ b/pkgs/development/libraries/exosip/default.nix
@@ -1,20 +1,27 @@
-{stdenv, fetchurl, libosip, openssl, pkgconfig }:
+{ stdenv, fetchurl, libosip, openssl, pkgconfig, fetchpatch }:
 
 stdenv.mkDerivation rec {
  pname = "libexosip2";
  version = "4.1.0";
- 
+
  src = fetchurl {
     url = "mirror://savannah/exosip/libeXosip2-${version}.tar.gz";
     sha256 = "17cna8kpc8nk1si419vgr6r42k2lda0rdk50vlxrw8rzg0xp2xrw";
   };
- 
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libosip openssl ];
-      
+
+  patches = [
+    (fetchpatch {
+      url = "https://sources.debian.net/data/main/libe/libexosip2/4.1.0-2.1/debian/patches/openssl110.patch";
+      sha256 = "01q2dax7pwh197mn18r22y38mrsky85mvs9vbkn9fpcilrdayal6";
+    })
+  ];
+
   meta = with stdenv.lib; {
     license = licenses.gpl2Plus;
     description = "Library that hides the complexity of using the SIP protocol";
-    platforms =platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 00131688f09..3b1aeeebaab 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -52,6 +52,7 @@
 , bzip2 ? null
 , celt ? null # CELT decoder
 #, crystalhd ? null # Broadcom CrystalHD hardware acceleration
+, dav1d ? null # AV1 decoder (focused on speed and correctness)
 #, decklinkExtlib ? false, blackmagic-design-desktop-video ? null # Blackmagic Design DeckLink I/O support
 , fdkaacExtlib ? false, fdk_aac ? null # Fraunhofer FDK AAC de/encoder
 #, flite ? null # Flite (voice synthesis) support
@@ -97,7 +98,7 @@
 , libXv ? null # Xlib support
 , libXext ? null # Xlib support
 , lzma ? null # xz-utils
-, nvenc ? !stdenv.isDarwin, nv-codec-headers ? null # NVIDIA NVENC support
+, nvenc ? !stdenv.isDarwin && !stdenv.isAarch64, nv-codec-headers ? null # NVIDIA NVENC support
 , openal ? null # OpenAL 1.1 capture support
 #, opencl ? null # OpenCL code
 , opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
@@ -163,6 +164,9 @@
  *   libvpx(stable 1.3.0) openal openjpeg pulseaudio rtmpdump samba vid-stab
  *   wavpack x265 xavs
  *
+ * Need fixes to support AArch64:
+ *   libmfx(intel-media-sdk) nvenc
+ *
  * Not supported:
  *   stagefright-h264(android only)
  *
@@ -175,7 +179,7 @@
  */
 
 let
-  inherit (stdenv) isCygwin isDarwin isFreeBSD isLinux;
+  inherit (stdenv) isCygwin isDarwin isFreeBSD isLinux isAarch64;
   inherit (stdenv.lib) optional optionals optionalString enableFeature;
 in
 
@@ -234,17 +238,14 @@ assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
   pname = "ffmpeg-full";
-  version = "4.1.4";
+  version = "4.2";
 
   src = fetchurl {
     url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
-    sha256 = "1qd7a10gs12ifcp31gramcgqjl77swskjfp7cijibgyg5yl4kw7i";
+    sha256 = "1mgcxm7sqkajx35px05szsmn9mawwm03cfpmk3br7bcp3a1i0gq2";
   };
-  patches = [(fetchpatch { # remove on update
-    name = "fix-hardcoded-tables.diff";
-    url = "http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/c8232e50074f";
-    sha256 = "0jlksks4fjajby8fjk7rfp414gxfdgd6q9khq26i52xvf4kg2dw6";
-  })];
+
+  patches = [ ./prefer-libdav1d-over-libaom.patch ];
 
   prePatch = ''
     patchShebangs .
@@ -327,6 +328,7 @@ stdenv.mkDerivation rec {
     (enableFeature (bzip2 != null) "bzlib")
     (enableFeature (celt != null) "libcelt")
     #(enableFeature crystalhd "crystalhd")
+    (enableFeature (dav1d != null) "libdav1d")
     #(enableFeature decklinkExtlib "decklink")
     (enableFeature (fdkaacExtlib && gplLicensing) "libfdk-aac")
     #(enableFeature (flite != null) "libflite")
@@ -351,7 +353,7 @@ stdenv.mkDerivation rec {
     (enableFeature (if isLinux then libdc1394 != null && libraw1394 != null else false) "libdc1394")
     (enableFeature (libiconv != null) "iconv")
     #(enableFeature (if isLinux then libiec61883 != null && libavc1394 != null && libraw1394 != null else false) "libiec61883")
-    (enableFeature (if isLinux then libmfx != null else false) "libmfx")
+    (enableFeature (if isLinux && !isAarch64 then libmfx != null else false) "libmfx")
     (enableFeature (libmodplug != null) "libmodplug")
     (enableFeature (libmysofa != null) "libmysofa")
     #(enableFeature (libnut != null) "libnut")
@@ -414,7 +416,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
 
   buildInputs = [
-    bzip2 celt fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
+    bzip2 celt dav1d fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
     libjack2 ladspaH lame libaom libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa
     libogg libopus libssh libtheora libvdpau libvorbis libvpx libwebp libX11
     libxcb libXv libXext lzma openal openjpeg libpulseaudio rtmpdump opencore-amr
@@ -424,7 +426,7 @@ stdenv.mkDerivation rec {
     ++ optionals nonfreeLicensing [ fdk_aac openssl ]
     ++ optional ((isLinux || isFreeBSD) && libva != null) libva
     ++ optionals isLinux [ alsaLib libraw1394 libv4l ]
-    ++ optional (isLinux && libmfx != null) libmfx
+    ++ optional (isLinux && !isAarch64 && libmfx != null) libmfx
     ++ optional nvenc nv-codec-headers
     ++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation
                                    MediaToolbox VideoDecodeAcceleration
diff --git a/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch b/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch
new file mode 100644
index 00000000000..789bfc2674f
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch
@@ -0,0 +1,19 @@
+diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
+index d2f9a39ce5..2342399a8e 100644
+--- a/libavcodec/allcodecs.c
++++ b/libavcodec/allcodecs.c
+@@ -679,13 +679,13 @@ extern AVCodec ff_pcm_mulaw_at_encoder;
+ extern AVCodec ff_pcm_mulaw_at_decoder;
+ extern AVCodec ff_qdmc_at_decoder;
+ extern AVCodec ff_qdm2_at_decoder;
++extern AVCodec ff_libdav1d_decoder;
+ extern AVCodec ff_libaom_av1_decoder;
+ extern AVCodec ff_libaom_av1_encoder;
+ extern AVCodec ff_libaribb24_decoder;
+ extern AVCodec ff_libcelt_decoder;
+ extern AVCodec ff_libcodec2_encoder;
+ extern AVCodec ff_libcodec2_decoder;
+-extern AVCodec ff_libdav1d_decoder;
+ extern AVCodec ff_libdavs2_decoder;
+ extern AVCodec ff_libfdk_aac_encoder;
+ extern AVCodec ff_libfdk_aac_decoder;
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 6a51154c459..b072df506a9 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "folly";
-  version = "2019.07.22.00";
+  version = "2019.08.05.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "1vh5jrqz0lp6rc5fr6vk3yqss5vaycdsyap12mcr0cniv419fdxa";
+    sha256 = "03arl9hg06rzbyaf3fzyk7q8d5mfbzfwmhqnfnvqcgzlqdj0gaa5";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/gfbgraph/default.nix b/pkgs/development/libraries/gfbgraph/default.nix
index 1bdcb7d8b28..235cd195071 100644
--- a/pkgs/development/libraries/gfbgraph/default.nix
+++ b/pkgs/development/libraries/gfbgraph/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, librest
+{ stdenv, fetchurl, pkgconfig, glib, librest, gnome-online-accounts
 , gnome3, libsoup, json-glib, gobject-introspection }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig gobject-introspection ];
-  buildInputs = [ glib gnome3.gnome-online-accounts ];
+  buildInputs = [ glib gnome-online-accounts ];
   propagatedBuildInputs = [ libsoup json-glib librest ];
 
   configureFlags = [ "--enable-introspection" ];
diff --git a/pkgs/development/libraries/globalplatform/default.nix b/pkgs/development/libraries/globalplatform/default.nix
index 28d32765e30..b3cf36107af 100644
--- a/pkgs/development/libraries/globalplatform/default.nix
+++ b/pkgs/development/libraries/globalplatform/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, zlib, openssl, pcsclite }:
+{ stdenv, fetchurl, pkgconfig, zlib, openssl_1_0_2, pcsclite }:
 
 stdenv.mkDerivation rec {
   pname = "globalplatform";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ zlib openssl pcsclite ];
+  buildInputs = [ zlib openssl_1_0_2 pcsclite ];
 
   meta = with stdenv.lib; {
     homepage = https://sourceforge.net/p/globalplatform/wiki/Home/;
diff --git a/pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix b/pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix
index b4900bb953d..e01deea1175 100644
--- a/pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix
+++ b/pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, globalplatform, openssl, pcsclite }:
+{ stdenv, fetchurl, pkgconfig, globalplatform, openssl_1_0_2, pcsclite }:
 
 stdenv.mkDerivation rec {
   pname = "gppcscconnectionplugin";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ globalplatform openssl pcsclite ];
+  buildInputs = [ globalplatform openssl_1_0_2 pcsclite ];
 
   meta = with stdenv.lib; {
     homepage = https://sourceforge.net/p/globalplatform/wiki/Home/;
diff --git a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix b/pkgs/development/libraries/gnome-online-accounts/default.nix
index 9ae4a572d93..9ae4a572d93 100644
--- a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
+++ b/pkgs/development/libraries/gnome-online-accounts/default.nix
diff --git a/pkgs/development/libraries/gnome-video-effects/default.nix b/pkgs/development/libraries/gnome-video-effects/default.nix
new file mode 100644
index 00000000000..03799c1ef7c
--- /dev/null
+++ b/pkgs/development/libraries/gnome-video-effects/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, fetchurl
+, pkgconfig
+, meson
+, ninja
+, gettext
+, gnome3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-video-effects";
+  version = "0.5.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1j6h98whgkcxrh30bwvnxvyqxrxchgpdgqhl0j71xz7x72dqxijd";
+  };
+
+  patches = [
+    # Fix effectsdir in .pc file
+    # https://gitlab.gnome.org/GNOME/gnome-video-effects/commit/955404195ada606819974dd63c48956f25611e14
+    ./fix-pc-file.patch
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gettext
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "A collection of GStreamer effects to be used in different GNOME Modules";
+    homepage = https://wiki.gnome.org/Projects/GnomeVideoEffects;
+    platforms = platforms.linux;
+    maintainers = gnome3.maintainers;
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/libraries/gnome-video-effects/fix-pc-file.patch b/pkgs/development/libraries/gnome-video-effects/fix-pc-file.patch
new file mode 100644
index 00000000000..62b29e7d025
--- /dev/null
+++ b/pkgs/development/libraries/gnome-video-effects/fix-pc-file.patch
@@ -0,0 +1,11 @@
+--- a/meson.build
++++ b/meson.build
+@@ -17,7 +17,7 @@
+ # Can't use pkgconfig helper https://github.com/mesonbuild/meson/issues/2253
+ conf = configuration_data()
+ conf.set('prefix', prefix)
+-conf.set('datarootdir', pkgdatadir)
++conf.set('datarootdir', datadir)
+ conf.set('VERSION', meson.project_version())
+ 
+ pkg = configure_file(configuration: conf,
diff --git a/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch b/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
index d6a441e1577..51bc206659d 100644
--- a/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
+++ b/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
@@ -1,34 +1,31 @@
-From c550bf4a41e9f86351b0a65ea3d6c9ab616e27c0 Mon Sep 17 00:00:00 2001
+From 2bf6614a6d7516e194e39eb691c05b486860153c Mon Sep 17 00:00:00 2001
 From: worldofpeace <worldofpeace@protonmail.ch>
 Date: Thu, 16 May 2019 21:15:15 -0400
 Subject: [PATCH] meson: add options for tests installation dirs
 
 ---
- meson_options.txt     |  6 ++++++
- src/tests/meson.build | 19 ++++++++++++++-----
+ meson_options.txt |  6 ++++++
+ tests/meson.build | 19 ++++++++++++++-----
  2 files changed, 20 insertions(+), 5 deletions(-)
 
 diff --git a/meson_options.txt b/meson_options.txt
-index c938805..c1e9e95 100644
+index 578bdae..6f5fa23 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -19,6 +19,12 @@ option('arm_neon', type: 'boolean',
- option('tests', type: 'boolean',
+@@ -22,3 +22,9 @@ option('tests', type: 'boolean',
+ option('installed_tests', type: 'boolean',
         value: true,
-        description: 'Build the test suite (requires GObject)')
+        description: 'Install tests')
 +option('installed_test_datadir', type: 'string',
 +       value: '',
 +       description: 'Installation directory for data files in tests')
 +option('installed_test_bindir', type: 'string',
 +       value: '',
 +       description: 'Installation directory for binary files in tests')
- option('benchmarks', type: 'boolean',
-        value: true,
-        description: 'Build the benchmarks suite (requires GObject)')
-diff --git a/src/tests/meson.build b/src/tests/meson.build
-index 62129c6..0186400 100644
---- a/src/tests/meson.build
-+++ b/src/tests/meson.build
+diff --git a/tests/meson.build b/tests/meson.build
+index 1f9bd0e..0253ac3 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
 @@ -22,8 +22,17 @@ unit_tests = [
  python = python3.find_python()
  gen_installed_test = join_paths(meson.current_source_dir(), 'gen-installed-test.py')
@@ -47,33 +44,33 @@ index 62129c6..0186400 100644
 +    test_bindir = join_paths(get_option('prefix'), get_option('libexecdir'), test_suffix)
 +endif
  
- foreach unit: unit_tests
-   wrapper = '@0@.test'.format(unit)
-@@ -32,13 +41,13 @@ foreach unit: unit_tests
-                        command: [
-                          python,
-                          gen_installed_test,
--                         '--testdir=@0@'.format(installed_test_bindir),
-+                         '--testdir=@0@'.format(test_bindir),
-                          '--testname=@0@'.format(unit),
-                          '--outdir=@OUTDIR@',
-                          '--outfile=@0@'.format(wrapper),
-                        ],
-                        install: true,
--                       install_dir: installed_test_datadir)
-+                       install_dir: test_datadir)
- 
-   exe = executable(unit, unit + '.c',
-                    dependencies: graphene_dep,
-@@ -50,7 +59,7 @@ foreach unit: unit_tests
-                      '-DGLIB_DISABLE_DEPRECATION_WARNINGS',
-                    ],
-                    install: true,
--                   install_dir: installed_test_bindir)
-+                   install_dir: test_bindir)
+ # Make tests conditional on having mutest-1 installed system-wide, or
+ # available as a subproject
+@@ -42,13 +51,13 @@ if mutest_dep.found()
+       command: [
+         python,
+         gen_installed_test,
+-        '--testdir=@0@'.format(installed_test_bindir),
++        '--testdir=@0@'.format(test_bindir),
+         '--testname=@0@'.format(unit),
+         '--outdir=@OUTDIR@',
+         '--outfile=@0@'.format(wrapper),
+       ],
+       install: get_option('installed_tests'),
+-      install_dir: installed_test_datadir,
++      install_dir: test_datadir,
+     )
  
-   test(unit, exe, args: [ '--tap', '-k' ])
- endforeach
+     test(unit,
+@@ -57,7 +66,7 @@ if mutest_dep.found()
+         include_directories: graphene_inc,
+         c_args: common_cflags,
+         install: get_option('installed_tests'),
+-        install_dir: installed_test_bindir,
++        install_dir: test_bindir,
+       ),
+       env: ['MUTEST_OUTPUT=tap'],
+       protocol: 'tap',
 -- 
-2.21.0
+2.22.0
 
diff --git a/pkgs/development/libraries/graphene/default.nix b/pkgs/development/libraries/graphene/default.nix
index 253fce4ea0d..7c61b222486 100644
--- a/pkgs/development/libraries/graphene/default.nix
+++ b/pkgs/development/libraries/graphene/default.nix
@@ -4,6 +4,7 @@
 , meson
 , ninja
 , python3
+, mutest
 , glib
 , gtk-doc
 , docbook_xsl
@@ -13,7 +14,7 @@
 
 stdenv.mkDerivation rec {
   pname = "graphene";
-  version = "1.8.6";
+  version = "1.9.6";
 
   outputs = [ "out" "devdoc" "installedTests" ];
 
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "ebassi";
     repo = pname;
     rev = version;
-    sha256 = "1hdbdzcz86jrvsq5h954ph9q62m8jr2a5s5acklxhdkfqn5bkbv8";
+    sha256 = "0hb7s6g00l7zlf4hlfda55krn0pls9ajz0hcqrh8m656zr18ddwa";
   };
 
   patches = [
@@ -41,17 +42,21 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkgconfig
+    gobject-introspection
     python3
   ];
 
   buildInputs = [
+    glib
     gobject-introspection
   ];
 
   checkInputs = [
-    glib
+    mutest
   ];
 
+  doCheck = true;
+
   meta = with stdenv.lib; {
     description = "A thin layer of graphic data types";
     homepage = "https://ebassi.github.com/graphene";
diff --git a/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix b/pkgs/development/libraries/grilo-plugins/default.nix
index 118a910a168..118a910a168 100644
--- a/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix
+++ b/pkgs/development/libraries/grilo-plugins/default.nix
diff --git a/pkgs/desktops/gnome-3/core/grilo/default.nix b/pkgs/development/libraries/grilo/default.nix
index 33293f0b3cb..b2a7f0bd5ae 100644
--- a/pkgs/desktops/gnome-3/core/grilo/default.nix
+++ b/pkgs/development/libraries/grilo/default.nix
@@ -48,7 +48,6 @@ in stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
-      attrPath = "gnome3.${pname}";
       versionPolicy = "none";
     };
   };
diff --git a/pkgs/desktops/gnome-3/core/grilo/setup-hook.sh b/pkgs/development/libraries/grilo/setup-hook.sh
index 9337c520a20..9337c520a20 100644
--- a/pkgs/desktops/gnome-3/core/grilo/setup-hook.sh
+++ b/pkgs/development/libraries/grilo/setup-hook.sh
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index af8fbcb9a54..d45aba1cb37 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
 
 stdenv.mkDerivation rec {
-  version = "1.22.0";
+  version = "1.23.0"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too
   pname = "grpc";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    sha256 = "10wf9sakkxpcvc09n1h91x6slwwhxblghs4zn95klyc4m6py1gfg";
+    sha256 = "14svfy7lvz8lf6b7zg1fbypj2n46n9gq0ldgnv85jm0ikv72cgv6";
   };
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags ];
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)";
     license = licenses.asl20;
-    maintainers = [ maintainers.lnl7 ];
+    maintainers = [ maintainers.lnl7 maintainers.marsam ];
     homepage = https://grpc.io/;
   };
 }
diff --git a/pkgs/development/libraries/gthree/default.nix b/pkgs/development/libraries/gthree/default.nix
new file mode 100644
index 00000000000..6588b8ab440
--- /dev/null
+++ b/pkgs/development/libraries/gthree/default.nix
@@ -0,0 +1,72 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, ninja
+, meson
+, pkgconfig
+, gobject-introspection
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+, glib
+, gtk3
+, graphene
+, epoxy
+, json-glib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gthree";
+  version = "unstable-2019-08-21";
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  src = fetchFromGitHub {
+    owner = "alexlarsson";
+    repo = "gthree";
+    rev = "dac46b0f35e29319c004c7e17b5f345ef4c04cb8";
+    sha256 = "16ixis2g04000zffm44s7ir64vn3byz9a793g2s76aasqybl86i2";
+  };
+
+  patches = [
+    # correctly declare json-glib in .pc file
+    # https://github.com/alexlarsson/gthree/pull/61
+    (fetchpatch {
+      url = https://github.com/alexlarsson/gthree/commit/784b1f20e0b6eb15f113a51f74c2cba871249861.patch;
+      sha256 = "07vxafaxris5a98w751aw04nlw0l45np1lba08xd16wdzmkadz0x";
+    })
+  ];
+
+  nativeBuildInputs = [
+    ninja
+    meson
+    pkgconfig
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_43
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    epoxy
+  ];
+
+  propagatedBuildInputs = [
+    glib
+    gtk3
+    graphene
+    json-glib
+  ];
+
+  mesonFlags = [
+    "-Dgtk_doc=${if stdenv.isDarwin then "false" else "true"}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "GObject/GTK port of three.js";
+    homepage = https://github.com/alexlarsson/gthree;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix
index a459bd82755..3577e7a8196 100644
--- a/pkgs/development/libraries/itk/default.nix
+++ b/pkgs/development/libraries/itk/default.nix
@@ -1,11 +1,14 @@
-{ stdenv, fetchurl, cmake, libX11, libuuid, xz, vtk, darwin }:
+{ stdenv, fetchFromGitHub, cmake, libX11, libuuid, xz, vtk, darwin }:
 
 stdenv.mkDerivation rec {
-  name = "itk-5.0.0";
+  pname = "itk";
+  version = "5.0.1";
 
-  src = fetchurl {
-    url = mirror://sourceforge/itk/InsightToolkit-5.0.0.tar.xz;
-    sha256 = "0bs63mk4q8jmx38f031jy5w5n9yy5ng9x8ijwinvjyvas8cichqi";
+  src = fetchFromGitHub {
+    owner = "InsightSoftwareConsortium";
+    repo = "ITK";
+    rev = "v${version}";
+    sha256 = "0dcjsn5frjnrphfgw8alnd2ahrvicpx2a2ngb5ixaa9anaicz9z1";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index bf6efb9ef21..f91612caca1 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.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
-    sha256 = "0n6vcbc43hdaxg5inl2b43bsksdkj3k0qxis6gkkclipivp8pz0p";
+    sha256 = "0m2dm1gzwj0kwyl031bif89h3n4znml3m5n97hywlbra58ni8km1";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/libdeflate/default.nix b/pkgs/development/libraries/libdeflate/default.nix
index 85aad4844ba..b06a0a9450a 100644
--- a/pkgs/development/libraries/libdeflate/default.nix
+++ b/pkgs/development/libraries/libdeflate/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdeflate";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "ebiggers";
     repo = "libdeflate";
     rev = "v${version}";
-    sha256 = "0kmp38s7vahvbgzzhs5v0bfyjgas1in7jn69gpyh70kl08279ly0";
+    sha256 = "019xsz5dnbpxiz29j3zqsxyi4ksjkkygi6a2zyc8fxbm8lvaa9ar";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index a8384de5552..9b6c1d505c1 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libfilezilla";
-  version = "0.18.0";
+  version = "0.18.1";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0g4zbyvnxs4db3l5pqazyk42ahvwdqfz2222dbkl8zygblxncyjp";
+    sha256 = "15vzi95ibp6a9n4jjfs78z4b1iym8x1yv849gjipxzx64y5awyyb";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libftdi/default.nix b/pkgs/development/libraries/libftdi/default.nix
index 74b87a46ef0..08ec1d84a3f 100644
--- a/pkgs/development/libraries/libftdi/default.nix
+++ b/pkgs/development/libraries/libftdi/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl, libusb}:
 
-stdenv.mkDerivation rec {
+with stdenv; mkDerivation rec {
   name = "libftdi-0.20";
 
   src = fetchurl {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   # Hack to avoid TMPDIR in RPATHs.
   preFixup = ''rm -rf "$(pwd)" '';
-  configureFlags = [ "--with-async-mode" ];
+  configureFlags = lib.optional (!isDarwin) [ "--with-async-mode" ];
 
   # allow async mode. from ubuntu. see:
   #   https://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/libftdi/trusty/view/head:/debian/patches/04_async_mode.diff
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A library to talk to FTDI chips using libusb";
     homepage = https://www.intra2net.com/en/developer/libftdi/;
-    license = stdenv.lib.licenses.lgpl21;
-    platforms = stdenv.lib.platforms.linux;
+    license = lib.licenses.lgpl21;
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libgdata/default.nix b/pkgs/development/libraries/libgdata/default.nix
index 48cfa098c9f..f61283aec4a 100644
--- a/pkgs/development/libraries/libgdata/default.nix
+++ b/pkgs/development/libraries/libgdata/default.nix
@@ -10,6 +10,7 @@
 , glib
 , json-glib
 , gcr
+, gnome-online-accounts
 , gobject-introspection
 , liboauth
 , gnome3
@@ -70,7 +71,7 @@ stdenv.mkDerivation rec {
   ];
 
   propagatedBuildInputs = [
-    gnome3.gnome-online-accounts
+    gnome-online-accounts
     json-glib
   ];
 
diff --git a/pkgs/development/libraries/libgpiod/default.nix b/pkgs/development/libraries/libgpiod/default.nix
index 5eac024f831..23f46ad2a0c 100644
--- a/pkgs/development/libraries/libgpiod/default.nix
+++ b/pkgs/development/libraries/libgpiod/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgpiod";
-  version = "1.4";
+  version = "1.4.1";
 
   src = fetchurl {
     url = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-${version}.tar.gz";
-    sha256 = "17qc2qbrnmaimxx9i3l30831hy890hp9s5a48iapni1dlr1z27p2";
+    sha256 = "0x8ar31b0cp47dgmamxf6a54ixwrjgvs81zra8l9ws4szrzgrnbw";
   };
 
   buildInputs = [ kmod ];
diff --git a/pkgs/development/libraries/libivykis/default.nix b/pkgs/development/libraries/libivykis/default.nix
index 8d81597351c..bd1432b8a21 100644
--- a/pkgs/development/libraries/libivykis/default.nix
+++ b/pkgs/development/libraries/libivykis/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       notification facilities
     '';
     license = licenses.zlib;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = [];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libmodbus/default.nix b/pkgs/development/libraries/libmodbus/default.nix
index 182d642bc08..e18de4127a4 100644
--- a/pkgs/development/libraries/libmodbus/default.nix
+++ b/pkgs/development/libraries/libmodbus/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libmodbus-3.1.4";
+  name = "libmodbus-3.1.6";
 
   src = fetchurl {
     url = "http://libmodbus.org/releases/${name}.tar.gz";
-    sha256 = "0drnil8bzd4n4qb0wv3ilm9zvypxvwmzd65w96d6kfm7x6q65j68";
+    sha256 = "05kwz0n5gn9m33cflzv87lz3zp502yp8fpfzbx70knvfl6agmnfp";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libndctl/default.nix b/pkgs/development/libraries/libndctl/default.nix
index 6019d79b00d..bfff0c84522 100644
--- a/pkgs/development/libraries/libndctl/default.nix
+++ b/pkgs/development/libraries/libndctl/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libndctl";
-  version = "65";
+  version = "66";
 
   src = fetchFromGitHub {
     owner  = "pmem";
     repo   = "ndctl";
     rev    = "v${version}";
-    sha256 = "0d8hzfvyxs2q8kgkwgdizlml41kin4mhx3vpdsjk34pfi7mqy69y";
+    sha256 = "1pq1ss6b1lnyfnvdfhpi0x70jjrnm567fcyvkgvhmp2ndzsn393f";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index b971c8924f3..a040956f553 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -1,44 +1,32 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gobject-introspection, gtk-doc, docbook_xsl
-, glib, libsoup, libxml2, libxslt, check, curl, perl, hwdata, osinfo-db, vala ? null
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gettext, gobject-introspection, gtk-doc, docbook_xsl
+, glib, libsoup, libxml2, libxslt, check, curl, perl, hwdata, osinfo-db, substituteAll
+, vala ? null
 }:
 
 stdenv.mkDerivation rec {
   pname = "libosinfo";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "12b0xj9fz9q91d1pz9xm6aqap5k1ip0m9m3qvqmwjy1lk1kjasdz";
+    sha256 = "1iwh35mahch1ls3sgq7wz8kamxrxisrff5ciqzyh2qxlrqf5qf1w";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
 
   nativeBuildInputs = [
-    pkgconfig vala intltool gobject-introspection gtk-doc docbook_xsl
+    pkgconfig vala gettext gobject-introspection gtk-doc docbook_xsl
   ];
   buildInputs = [ glib libsoup libxml2 libxslt ];
   checkInputs = [ check curl perl ];
 
   patches = [
-    ./osinfo-db-data-dir.patch
-    # https://nvd.nist.gov/vuln/detail/CVE-2019-13313
-    (fetchpatch {
-      url = "https://gitlab.com/libosinfo/libosinfo/commit/3654abee6ead9f11f8bb9ba8fc71efd6fa4dabbc.patch";
-      name = "CVE-2019-13313-1.patch";
-      sha256 = "1lybywfj6b41zfjk33ap90bab5l84lf5y3kif7vd2b6wq5r91rcn";
-    })
-    (fetchpatch {
-      url = "https://gitlab.com/libosinfo/libosinfo/commit/08fb8316b4ac42fe74c1fa5ca0ac593222cdf81a.patch";
-      name = "CVE-2019-13313-2.patch";
-      sha256 = "1f6rhkrgy3j8nmidk97wnz6p35zs1dsd63d3np76q7qs7ra74w9z";
+    (substituteAll {
+      src = ./osinfo-db-data-dir.patch;
+      osinfo_db_data_dir = "${osinfo-db}/share";
     })
   ];
 
-  postPatch = ''
-    patchShebangs .
-    substituteInPlace osinfo/osinfo_loader.c --subst-var-by OSINFO_DB_DATA_DIR "${osinfo-db}/share"
-  '';
-
   configureFlags = [
     "--with-usb-ids-path=${hwdata}/share/hwdata/usb.ids"
     "--with-pci-ids-path=${hwdata}/share/hwdata/pci.ids"
diff --git a/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch b/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch
index 8d202a92d09..2197eca23d9 100644
--- a/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch
+++ b/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch
@@ -5,7 +5,7 @@
          path = g_getenv("OSINFO_SYSTEM_DIR");
          if (!path)
 -            path = DATA_DIR "/osinfo";
-+            path = "@OSINFO_DB_DATA_DIR@/osinfo";
++            path = "@osinfo_db_data_dir@/osinfo";
  
          file = g_file_new_for_path(path);
      }
diff --git a/pkgs/development/libraries/libosmium/default.nix b/pkgs/development/libraries/libosmium/default.nix
index 37b3e8c93d9..eeb8fec5f93 100644
--- a/pkgs/development/libraries/libosmium/default.nix
+++ b/pkgs/development/libraries/libosmium/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libosmium";
-  version = "2.15.1";
+  version = "2.15.2";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "libosmium";
     rev = "v${version}";
-    sha256 = "1v1m068lcjngxnwirpi0vqjhqnxn9gqvafjp3sy14vzmgl2sw2kr";
+    sha256 = "1fh8wl4grs1c0g9whx90kd4jva3k9b6zbb1cl3isay489gwndgss";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
index 1ff0b2f646f..468bcfb0a18 100644
--- a/pkgs/development/libraries/librealsense/default.nix
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "librealsense";
-  version = "2.23.0";
+  version = "2.25.0";
 
   src = fetchFromGitHub {
     owner = "IntelRealSense";
     repo = "librealsense";
     rev = "v${version}";
-    sha256 = "055fvfmkfi71bk7yxa527awq5qrq4dni5xhlaldhak2vlis8glwk";
+    sha256 = "029qps0bbck0m2xj0mb5g3pgkk7a1zq8wcilfkvpx72sn7039xvw";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index 63f6c904330..71b8d2bb20e 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -13,7 +13,15 @@ let
 
     nativeBuildInputs = [ cmake ];
 
-    cmakeFlags = [ "-DENABLE_NC=ON" "-DBUILD_SHARED_LIBS=ON" ];
+    cmakeFlags = [
+      "-DENABLE_NC=ON"
+      "-DBUILD_SHARED_LIBS=ON"
+      # Ensure that the output libraries do not require an executable stack.
+      # Without this define, assembly files in libcrypto do not include a
+      # .note.GNU-stack section, and if that section is missing from any object,
+      # the linker will make the stack executable.
+      "-DCMAKE_C_FLAGS=-DHAVE_GNU_STACK"
+    ];
 
     # The autoconf build is broken as of 2.9.1, resulting in the following error:
     # libressl-2.9.1/tls/.libs/libtls.a', needed by 'handshake_table'.
@@ -41,7 +49,7 @@ let
       homepage    = "https://www.libressl.org";
       license = with licenses; [ publicDomain bsdOriginal bsd0 bsd3 gpl3 isc openssl ];
       platforms   = platforms.all;
-      maintainers = with maintainers; [ thoughtpolice fpletz globin ];
+      maintainers = with maintainers; [ thoughtpolice fpletz ];
     };
   };
 
@@ -56,4 +64,9 @@ in {
     version = "2.9.2";
     sha256 = "1m6mz515dcbrbnyz8hrpdfjzdmj1c15vbgnqxdxb89g3z9kq3iy4";
   };
+
+  libressl_3_0 = generic {
+    version = "3.0.0";
+    sha256 = "0xiwri6xcnl3wb5nbc4aw8pv32s3hp13r9v465yr8wykaw211n81";
+  };
 }
diff --git a/pkgs/development/libraries/liburing/default.nix b/pkgs/development/libraries/liburing/default.nix
index 5eeb50468de..855c6ce280e 100644
--- a/pkgs/development/libraries/liburing/default.nix
+++ b/pkgs/development/libraries/liburing/default.nix
@@ -1,16 +1,57 @@
 { stdenv, fetchgit
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
   pname = "liburing";
-  version = "1.0.0pre156_${builtins.substring 0 7 src.rev}";
+  version = "0.1";
 
   src = fetchgit {
     url    = "http://git.kernel.dk/liburing";
-    rev    = "c31c7ec4bcd7bb0d7b28897d730431c02b9d4ea1";
-    sha256 = "17d6s03fyajcrijca9d2d6llbf8cl8dyalpxnl39az3452p04s11";
+    rev    = "refs/tags/liburing-${version}";
+    sha256 = "038iqsbm9bdmlwvmb899bc6g1rw5dalr990azynbvgn8qs5adysh";
   };
 
+  patches = [
+
+    # This patch re-introduces support for aarch64-linux, by adding the
+    # necessary memory barrier primitives for it to work.
+    #
+    # Already upstream: remove when moving to the next version
+    (fetchpatch {
+      url    = "http://git.kernel.dk/cgit/liburing/patch/?id=0520db454c29f1d96cda6cf6cedeb93df65301e8";
+      sha256 = "1i8133sb1imzxpplmhlhnaxkffgplhj40vanivc6clbibvhgwpq6";
+    })
+
+    # This patch shuffles the name of the io_uring memory barrier primitives.
+    # They were using extremely common names by accident, which caused
+    # namespace conflicts with many other projects using the same names. Note:
+    # this does not change the user-visible API of liburing (liburing is
+    # designed exactly to hide the necessary memory barriers when using the
+    # io_uring syscall directly). It only changes the names of some internals.
+    # The only reason this caused problems at all is because memory barrier
+    # primitives are written as preprocessor defines, in a common header file,
+    # which get included unilaterally.
+    #
+    # Already upstream: remove when moving to the next version
+    (fetchpatch {
+      url    = "http://git.kernel.dk/cgit/liburing/patch/?id=552c6a08d04c74d20eeaa86f535bfd553b352370";
+      sha256 = "123d6jdqfy7b8aq9f6ax767n48hhbx6pln3nlrp623595i8zz3wf";
+    })
+
+    # Finally, this patch fixes the aarch64-linux support introduced by the
+    # first patch, but which was _broken_ by the second patch, in a horrid
+    # twist of fate: it neglected to change the names of the aarch64 barriers
+    # appropriately.
+    #
+    # Already upstream: remove when moving to the next version
+    (fetchpatch {
+      url    = "http://git.kernel.dk/cgit/liburing/patch/?id=6e9dd0c8c50b5988a0c77532c9c2bd6afd4790d2";
+      sha256 = "11mqa1bp2pdfqh08gpcd98kg7lh3rrng41b4l1wvhxdbvg5rfw9c";
+    })
+
+  ];
+
   separateDebugInfo = true;
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index 74c3d24560c..9dd89133f4b 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, pkgconfig, libvirt, glib, libxml2, intltool, libtool, yajl
 , nettle, libgcrypt, pythonPackages, gobject-introspection, libcap_ng, numactl
-, xen, libapparmor, vala
+, libapparmor, vala
+, xenSupport ? false, xen ? null
 }:
 
 let
@@ -19,7 +20,7 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     libvirt glib libxml2 intltool libtool yajl nettle libgcrypt
     python pygobject2 gobject-introspection libcap_ng numactl libapparmor
-  ] ++ stdenv.lib.optionals stdenv.isx86_64 [
+  ] ++ stdenv.lib.optionals xenSupport [
     xen
   ];
 
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index d5f4ae0ce02..cf3730cbe17 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -156,6 +156,6 @@ in stdenv.mkDerivation rec {
     '';
     license = licenses.lgpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz globin ];
   };
 }
diff --git a/pkgs/development/libraries/libvisio/default.nix b/pkgs/development/libraries/libvisio/default.nix
index a272d355c84..b807691671f 100644
--- a/pkgs/development/libraries/libvisio/default.nix
+++ b/pkgs/development/libraries/libvisio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libvisio";
-  version = "0.1.6";
+  version = "0.1.7";
 
   outputs = [ "out" "bin" "dev" "doc" ];
 
   src = fetchurl {
     url = "https://dev-www.libreoffice.org/src/libvisio/${pname}-${version}.tar.xz";
-    sha256 = "1yahpfl13qk6178irv8jn5ppxdn7isafqisyqsdw0lqxcz9h447y";
+    sha256 = "0k7adcbbf27l7n453cca1m6s9yj6qvb5j6bsg2db09ybf3w8vbwg";
   };
 
   nativeBuildInputs = [ pkgconfig cppunit doxygen ];
diff --git a/pkgs/development/libraries/libwebsockets/default.nix b/pkgs/development/libraries/libwebsockets/default.nix
index 6bec6166246..a297bf61f78 100644
--- a/pkgs/development/libraries/libwebsockets/default.nix
+++ b/pkgs/development/libraries/libwebsockets/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libwebsockets";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "warmcat";
     repo = "libwebsockets";
     rev = "v${version}";
-    sha256 = "1w1wz6snf3cmcpa3f4dci2nz9za2f5rrylxl109id7bcb36xhbdl";
+    sha256 = "0ac5755h3w1pl6cznqbvg63dwkqy544fqlhvqyp7s11hgs7jx6l8";
   };
 
   buildInputs = [ cmake openssl zlib libuv ];
diff --git a/pkgs/development/libraries/libxmlb/default.nix b/pkgs/development/libraries/libxmlb/default.nix
index 209a7328d12..4800a6c405c 100644
--- a/pkgs/development/libraries/libxmlb/default.nix
+++ b/pkgs/development/libraries/libxmlb/default.nix
@@ -1,25 +1,65 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, libuuid, gobject-introspection, gtk-doc, shared-mime-info, python3, docbook_xsl, docbook_xml_dtd_43 }:
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, docbook_xml_dtd_43
+, docbook_xsl
+, glib
+, gobject-introspection
+, gtk-doc
+, libuuid
+, meson
+, ninja
+, pkgconfig
+, python3
+, shared-mime-info
+, nixosTests
+}:
 
 stdenv.mkDerivation rec {
   pname = "libxmlb";
-  version = "0.1.10";
+  version = "0.1.11";
 
-  outputs = [ "out" "lib" "dev" "devdoc" ];
+  outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ];
 
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "libxmlb";
     rev = version;
-    sha256 = "1ismh3bdwd0l1fjlhwycam89faxjmpb0wxqlbv58m0z6cxykp6rd";
+    sha256 = "1503v76w7543snqyjxykiqa5va62zb0ccn3jlw0gpdx8973v80mr";
   };
 
-  nativeBuildInputs = [ meson ninja python3 pkgconfig gobject-introspection gtk-doc shared-mime-info docbook_xsl docbook_xml_dtd_43 ];
+  patches = [
+    # Fix installed tests
+    # https://github.com/hughsie/libxmlb/pull/2
+    (fetchpatch {
+      url = "https://github.com/hughsie/libxmlb/commit/78850c8b0f644f729fa21e2bf9ebed0d9d6010f3.diff";
+      sha256 = "0zw7c6vy8hscln7za7ijqd9svirach3zdskvbzyxxcsm3xcwxpjm";
+    })
 
-  buildInputs = [ glib libuuid ];
+    ./installed-tests-path.patch
+  ];
+
+  nativeBuildInputs = [
+    docbook_xml_dtd_43
+    docbook_xsl
+    gobject-introspection
+    gtk-doc
+    meson
+    ninja
+    pkgconfig
+    (python3.withPackages (pkgs: with pkgs; [ setuptools ]))
+    shared-mime-info
+  ];
+
+  buildInputs = [
+    glib
+    libuuid
+  ];
 
   mesonFlags = [
     "--libexecdir=${placeholder "out"}/libexec"
     "-Dgtkdoc=true"
+    "-Dinstalled_test_prefix=${placeholder "installedTests"}"
   ];
 
   preCheck = ''
@@ -28,6 +68,12 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  passthru = {
+    tests = {
+      installed-tests = nixosTests.libxmlb;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A library to help create and query binary XML blobs";
     homepage = https://github.com/hughsie/libxmlb;
diff --git a/pkgs/development/libraries/libxmlb/installed-tests-path.patch b/pkgs/development/libraries/libxmlb/installed-tests-path.patch
new file mode 100644
index 00000000000..ab36d9efad8
--- /dev/null
+++ b/pkgs/development/libraries/libxmlb/installed-tests-path.patch
@@ -0,0 +1,24 @@
+diff --git a/meson.build b/meson.build
+index b064cb8..1a470cf 100644
+--- a/meson.build
++++ b/meson.build
+@@ -103,8 +103,8 @@
+ 
+ libexecdir = join_paths(prefix, get_option('libexecdir'))
+ datadir = join_paths(prefix, get_option('datadir'))
+-installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name())
+-installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name())
++installed_test_bindir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name())
++installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name())
+ 
+ gio = dependency('gio-2.0', version : '>= 2.45.8')
+ uuid = dependency('uuid')
+diff --git a/meson_options.txt b/meson_options.txt
+index 27e8cb6..74548ae 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -2,3 +2,4 @@
+ option('introspection', type : 'boolean', value : true, description : 'generate GObject Introspection data')
+ option('tests', type : 'boolean', value : true, description : 'enable tests')
+ option('stemmer', type : 'boolean', value : false, description : 'enable stemmer support')
++option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
diff --git a/pkgs/development/libraries/libzapojit/default.nix b/pkgs/development/libraries/libzapojit/default.nix
index 2ad017dc90b..215535fb8f1 100644
--- a/pkgs/development/libraries/libzapojit/default.nix
+++ b/pkgs/development/libraries/libzapojit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, intltool, json-glib, librest, libsoup, gnome3, gobject-introspection }:
+{ stdenv, fetchurl, pkgconfig, glib, intltool, json-glib, librest, libsoup, gnome3, gnome-online-accounts, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   pname = "libzapojit";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig intltool gobject-introspection ];
-  propagatedBuildInputs = [ glib json-glib librest libsoup gnome3.gnome-online-accounts ]; # zapojit-0.0.pc
+  propagatedBuildInputs = [ glib json-glib librest libsoup gnome-online-accounts ]; # zapojit-0.0.pc
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/pkgs/development/libraries/live555/default.nix b/pkgs/development/libraries/live555/default.nix
index a5eec1805e1..57dcb3ee6a6 100644
--- a/pkgs/development/libraries/live555/default.nix
+++ b/pkgs/development/libraries/live555/default.nix
@@ -3,14 +3,14 @@
 # Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
 stdenv.mkDerivation rec {
   pname = "live555";
-  version = "2019.06.28";
+  version = "2019.08.16";
 
   src = fetchurl { # the upstream doesn't provide a stable URL
     urls = [
       "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz"
       "https://download.videolan.org/contrib/live555/live.${version}.tar.gz"
     ];
-    sha256 = "0pn5zhid9z8dsmwkhp2lvy84j5ahjskq1a8srdhd06hvh2w8dh2r";
+    sha256 = "1y77dc5qxd731w96x707iibavmkfayy5s557d7lasg742h36lcqv";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/mdds/default.nix b/pkgs/development/libraries/mdds/default.nix
index 16502ca4e61..cdc3dfa5ca0 100644
--- a/pkgs/development/libraries/mdds/default.nix
+++ b/pkgs/development/libraries/mdds/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mdds";
-  version = "1.4.3";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "https://kohei.us/files/${pname}/src/${pname}-${version}.tar.bz2";
-    sha256 = "10cw6irdm6d15nxnys2v5akp8yz52qijpcjvw0frwq7nz5d3vki5";
+    sha256 = "03b8i43pw4m767mm0cnbi77x7qhpkzpi9b1f6dpp4cmyszmnsk8l";
   };
 
   postInstall = ''
diff --git a/pkgs/development/libraries/mutest/default.nix b/pkgs/development/libraries/mutest/default.nix
new file mode 100644
index 00000000000..b247706067e
--- /dev/null
+++ b/pkgs/development/libraries/mutest/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mutest";
+  version = "unstable-2019-10-12";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "ebassi";
+    repo = "mutest";
+    rev = "822b5ddf07f957135ba39889d81e513d525b9b8e";
+    sha256 = "0a5fjdq9p0q5bibqngbbpd9lga0gzrv8yj5wgdfb8ylxzg0jph2p";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://ebassi.github.io/mutest/mutest.md.html;
+    description = "A BDD testing framework for C, inspired by Mocha";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jtojnar worldofpeace ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/odpic/default.nix b/pkgs/development/libraries/odpic/default.nix
index 34af3b0b9e0..f3e8742bb20 100644
--- a/pkgs/development/libraries/odpic/default.nix
+++ b/pkgs/development/libraries/odpic/default.nix
@@ -1,12 +1,19 @@
-{ stdenv, fetchurl, fixDarwinDylibNames, oracle-instantclient, libaio }:
+{ stdenv, fetchFromGitHub, fixDarwinDylibNames, oracle-instantclient, libaio }:
+
+let
+  version = "3.2.1";
+  libPath = stdenv.lib.makeLibraryPath [ oracle-instantclient.lib ];
+
+in stdenv.mkDerivation {
+  inherit version;
 
-stdenv.mkDerivation rec {
   pname = "odpic";
-  version = "3.1.0";
 
-  src = fetchurl {
-    url = "https://github.com/oracle/odpi/archive/v${version}.tar.gz";
-    sha256 = "0m6g7lbvfir4amf2cnap9wz9fmqrihqpihd84igrd7fp076894c0";
+  src = fetchFromGitHub {
+    owner = "oracle";
+    repo = "odpi";
+    rev = "v${version}";
+    sha256 = "1f9gznc7h73cgx32p55rkhzla6l7l9dg53ilwh6zdgdqlp7n018i";
   };
 
   nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin [ fixDarwinDylibNames ];
@@ -14,15 +21,12 @@ stdenv.mkDerivation rec {
   buildInputs = [ oracle-instantclient ]
     ++ stdenv.lib.optionals stdenv.isLinux [ libaio ];
 
-  libPath = stdenv.lib.makeLibraryPath
-    [ oracle-instantclient ];
-
   dontPatchELF = true;
   makeFlags = [ "PREFIX=$(out)" "CC=cc" "LD=cc"];
 
   postFixup = ''
     ${stdenv.lib.optionalString (stdenv.isLinux) ''
-      patchelf --set-rpath "${libPath}" $out/lib/libodpic${stdenv.hostPlatform.extensions.sharedLibrary}
+      patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $out/lib/libodpic${stdenv.hostPlatform.extensions.sharedLibrary})" $out/lib/libodpic${stdenv.hostPlatform.extensions.sharedLibrary}
     ''}
     ${stdenv.lib.optionalString (stdenv.isDarwin) ''
       install_name_tool -add_rpath "${libPath}" $out/lib/libodpic${stdenv.hostPlatform.extensions.sharedLibrary}
diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix
index 8582580579d..8a1e1d37c1d 100644
--- a/pkgs/development/libraries/oniguruma/default.nix
+++ b/pkgs/development/libraries/oniguruma/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "onig";
-  version = "6.9.2";
+  version = "6.9.3";
 
   src = fetchFromGitHub {
     owner = "kkos";
     repo = "oniguruma";
     rev = "v${version}";
-    sha256 = "15asc9v6ylal8fwzlnrh673mp62wngxvv9jx7h86vhljjdap6yfc";
+    sha256 = "0wzmqpjmxpryk83acbyhl9gwgm43ixbwraga2g5li9kx88mv4k0n";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix
index ab24dcb1944..5732ce9e1ca 100644
--- a/pkgs/development/libraries/opencv/4.x.nix
+++ b/pkgs/development/libraries/opencv/4.x.nix
@@ -1,5 +1,5 @@
 { lib, stdenv
-, fetchurl, fetchFromGitHub
+, fetchurl, fetchFromGitHub, fetchpatch
 , cmake, pkgconfig, unzip, zlib, pcre, hdf5
 , glog, boost, gflags, protobuf
 , config
@@ -160,6 +160,14 @@ stdenv.mkDerivation rec {
     cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/source/opencv_contrib"
   '';
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/opencv/opencv/commit/5691d998ead1d9b0542bcfced36c2dceb3a59023.patch";
+      name = "CVE-2019-14493.patch";
+      sha256 = "14qva9f5z10apz5q0skdyiclr9sgkhab4fzksy1w3b6j6hg4wm7m";
+    })
+  ];
+
   # This prevents cmake from using libraries in impure paths (which
   # causes build failure on non NixOS)
   # Also, work around https://github.com/NixOS/nixpkgs/issues/26304 with
diff --git a/pkgs/development/libraries/opendkim/default.nix b/pkgs/development/libraries/opendkim/default.nix
index fd8dadb5398..66496af12f9 100644
--- a/pkgs/development/libraries/opendkim/default.nix
+++ b/pkgs/development/libraries/opendkim/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libbsd, openssl, libmilter
-, perl, makeWrapper }:
+, autoreconfHook, perl, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "opendkim";
@@ -16,10 +16,12 @@ stdenv.mkDerivation rec {
     "ac_cv_func_realloc_0_nonnull=yes"
   ];
 
-  nativeBuildInputs = [ pkgconfig makeWrapper ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ];
 
   buildInputs = [ libbsd openssl libmilter perl ];
 
+  patches = [ ./openssl-1.1.patch ];
+
   postInstall = ''
     wrapProgram $out/sbin/opendkim-genkey \
       --prefix PATH : ${openssl.bin}/bin
diff --git a/pkgs/development/libraries/opendkim/openssl-1.1.patch b/pkgs/development/libraries/opendkim/openssl-1.1.patch
new file mode 100644
index 00000000000..c36559cf16c
--- /dev/null
+++ b/pkgs/development/libraries/opendkim/openssl-1.1.patch
@@ -0,0 +1,81 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -864,26 +864,28 @@
+ 	AC_SEARCH_LIBS([ERR_peek_error], [crypto], ,
+ 	               AC_MSG_ERROR([libcrypto not found]))
+ 
+-	AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
+-		[
+-			if test x"$enable_shared" = x"yes"
+-			then
+-				AC_MSG_ERROR([Cannot build shared opendkim
+-				              against static openssl libraries.
+-				              Configure with --disable-shared
+-				              to get this working or obtain a
+-				              shared libssl library for
+-				              opendkim to use.])
+-			fi
+-
+-			# avoid caching issue - last result of SSL_library_init
+-			# shouldn't be cached for this next check
+-			unset ac_cv_search_SSL_library_init
+-			LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl"
+-			AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
+-			               AC_MSG_ERROR([libssl not found]), [-ldl])
+-		]
+-	)
++
++	AC_LINK_IFELSE(
++		       [AC_LANG_PROGRAM([[#include <openssl/ssl.h>]],
++					[[SSL_library_init();]])],
++					[od_have_ossl="yes";],
++					[od_have_ossl="no";])
++	if test x"$od_have_ossl" = x"no"
++	then
++		if test x"$enable_shared" = x"yes"
++		then
++			AC_MSG_ERROR([Cannot build shared opendkim
++			              against static openssl libraries.
++			              Configure with --disable-shared
++			              to get this working or obtain a
++			              shared libssl library for
++			              opendkim to use.])
++		fi
++
++		LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl"
++		AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
++		               AC_MSG_ERROR([libssl not found]), [-ldl])
++	fi
+ 
+ 	AC_CHECK_DECL([SHA256_DIGEST_LENGTH],
+                       AC_DEFINE([HAVE_SHA256], 1,
+--- a/opendkim/opendkim-crypto.c
++++ b/opendkim/opendkim-crypto.c
+@@ -222,7 +222,11 @@
+ 	{
+ 		assert(pthread_setspecific(id_key, ptr) == 0);
+ 
++#if OPENSSL_VERSION_NUMBER >= 0x10100000
++		OPENSSL_thread_stop();
++#else
+ 		ERR_remove_state(0);
++#endif
+ 
+ 		free(ptr);
+ 
+@@ -392,11 +396,15 @@
+ {
+ 	if (crypto_init_done)
+ 	{
++#if OPENSSL_VERSION_NUMBER >= 0x10100000
++		OPENSSL_thread_stop();
++#else
+ 		CRYPTO_cleanup_all_ex_data();
+ 		CONF_modules_free();
+ 		EVP_cleanup();
+ 		ERR_free_strings();
+ 		ERR_remove_state(0);
++#endif
+ 
+ 		if (nmutexes > 0)
+ 		{
diff --git a/pkgs/development/libraries/opensaml-cpp/default.nix b/pkgs/development/libraries/opensaml-cpp/default.nix
index 1c753008022..0edf6dfa728 100644
--- a/pkgs/development/libraries/opensaml-cpp/default.nix
+++ b/pkgs/development/libraries/opensaml-cpp/default.nix
@@ -1,17 +1,21 @@
-{ stdenv, fetchgit, autoreconfHook, boost, openssl, log4shib, xercesc, xml-security-c, xml-tooling-c, zlib }:
+{ stdenv, fetchgit, autoreconfHook, pkgconfig
+, boost, openssl, log4shib, xercesc, xml-security-c, xml-tooling-c, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "opensaml-cpp";
-  version = "2.6.1";
+  version = "3.0.1";
 
   src = fetchgit {
     url = "https://git.shibboleth.net/git/cpp-opensaml.git";
     rev = version;
-    sha256 = "0wjb6jyvh4hwpy1pvhh63i821746nqijysrd4vasbirkf4h6z7nx";
+    sha256 = "0ms3sqmwqkrqb92d7jy2hqwnz5yd7cbrz73n321jik0jilrwl5w8";
   };
 
-  buildInputs = [ boost openssl log4shib xercesc xml-security-c xml-tooling-c zlib ];
-  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [
+    boost openssl log4shib xercesc xml-security-c xml-tooling-c zlib
+  ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   configureFlags = [ "--with-xmltooling=${xml-tooling-c}" ];
 
diff --git a/pkgs/development/libraries/openxr-loader/default.nix b/pkgs/development/libraries/openxr-loader/default.nix
new file mode 100644
index 00000000000..d1a20552ff7
--- /dev/null
+++ b/pkgs/development/libraries/openxr-loader/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, cmake, python3, libX11, libXxf86vm, libXrandr }:
+
+stdenv.mkDerivation rec {
+  pname = "openxr-loader";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "OpenXR-SDK-Source";
+    rev = "release-${version}";
+    sha256 = "1sif2w2vm793j6493364i6pp6s6yqi7fwa6iky5abzmzda51cg5q";
+  };
+
+  nativeBuildInputs = [ cmake python3 ];
+  buildInputs = [ libX11 libXxf86vm libXrandr ];
+  enableParallelBuilding = true;
+
+  cmakeFlags = [ "-DBUILD_TESTS=OFF" ];
+
+  outputs = [ "out" "dev" "layers" ];
+
+  postInstall = ''
+    mkdir -p "$layers/share"
+    mv "$out/share/openxr" "$layers/share"
+    # Use absolute paths in manifests so no LD_LIBRARY_PATH shenanigans are necessary
+    for file in "$layers/share/openxr/1/api_layers/explicit.d/"*; do
+        substituteInPlace "$file" --replace '"library_path": "lib' "\"library_path\": \"$layers/lib/lib"
+    done
+    mkdir -p "$layers/lib"
+    mv "$out/lib/libXrApiLayer"* "$layers/lib"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Khronos OpenXR loader";
+    homepage    = https://www.khronos.org/openxr;
+    platforms   = platforms.linux;
+    license     = licenses.asl20;
+    maintainers = [ maintainers.ralith ];
+  };
+}
diff --git a/pkgs/development/libraries/oracle-instantclient/default.nix b/pkgs/development/libraries/oracle-instantclient/default.nix
index 2e90d867b5a..06b9e360d1a 100644
--- a/pkgs/development/libraries/oracle-instantclient/default.nix
+++ b/pkgs/development/libraries/oracle-instantclient/default.nix
@@ -1,71 +1,126 @@
-{ stdenv, requireFile, autoPatchelfHook, fixDarwinDylibNames, unzip, libaio, makeWrapper, odbcSupport ? false, unixODBC }:
+{ stdenv
+, fetchurl
+, requireFile
+, autoPatchelfHook
+, fixDarwinDylibNames
+, unzip
+, libaio
+, makeWrapper
+, odbcSupport ? true
+, unixODBC
+}:
 
 assert odbcSupport -> unixODBC != null;
 
 let
   inherit (stdenv.lib) optional optionals optionalString;
 
-  baseVersion = "12.2";
-  version = "${baseVersion}.0.1.0";
+  throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
 
-  requireSource = component: arch: version: rel: hash: (requireFile rec {
-    name = "instantclient-${component}-${arch}-${version}" + (optionalString (rel != "") "-${rel}") + ".zip";
-    url = "http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html";
-    sha256 = hash;
-  });
+  # assemble list of components
+  components = [ "basic" "sdk" "sqlplus" ] ++ optional odbcSupport "odbc";
 
-  throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
+  # determine the version number, there might be different ones per architecture
+  version = {
+    "x86_64-linux" = "19.3.0.0.0";
+    "x86_64-darwin" = "18.1.0.0.0";
+  }."${stdenv.hostPlatform.system}" or throwSystem;
+
+  # hashes per component and architecture
+  hashes = {
+    "x86_64-linux" = {
+      "basic"   = "1yk4ng3a9ka1mzgfph9br6rwclagbgfvmg6kja11nl5dapxdzaxy";
+      "sdk"     = "115v1gqr0czy7dcf2idwxhc6ja5b0nind0mf1rn8iawgrw560l99";
+      "sqlplus" = "0zj5h84ypv4n4678kfix6jih9yakb277l9hc0819iddc0a5slbi5";
+      "odbc"    = "1g1z6pdn76dp440fh49pm8ijfgjazx4cvxdi665fsr62h62xkvch";
+    };
+    "x86_64-darwin" = {
+      "basic"   = "fac3cdaaee7526f6c50ff167edb4ba7ab68efb763de24f65f63fb48cc1ba44c0";
+      "sdk"     = "98e6d797f1ce11e59b042b232f62380cec29ec7d5387b88a9e074b741c13e63a";
+      "sqlplus" = "02e66dc52398fced75e7efcb6b4372afcf617f7d88344fb7f0f4bb2bed371f3b";
+      "odbc"    = "5d0cdd7f9dd2e27affbc9b36ef9fc48e329713ecd36905fdd089366e365ae8a2";
+    };
+  }."${stdenv.hostPlatform.system}" or throwSystem;
 
+  # rels per component and architecture, optional
+  rels = {
+    "x86_64-darwin" = {
+      "sdk" = "2";
+    };
+  }."${stdenv.hostPlatform.system}" or {};
+
+  # convert platform to oracle architecture names
   arch = {
     "x86_64-linux" = "linux.x64";
     "x86_64-darwin" = "macos.x64";
   }."${stdenv.hostPlatform.system}" or throwSystem;
 
-  srcs = {
-    "x86_64-linux" = [
-      (requireSource "basic" arch version "" "5015e3c9fba84e009f7519893f798a1622c37d1ae2c55104ff502c52a0fe5194")
-      (requireSource "sdk" arch version "" "7f404c3573c062ce487a51ac4cfe650c878d7edf8e73b364ec852645ed1098cb")
-      (requireSource "sqlplus" arch version "" "d49b2bd97376591ca07e7a836278933c3f251875c215044feac73ba9f451dfc2") ]
-      ++ optional odbcSupport (requireSource "odbc" arch version "2" "365a4ae32c7062d9fbc3fb41add748e7881f774484a175a4b41a2c294ce9095d");
-    "x86_64-darwin" = [
-      (requireSource "basic" arch version "2" "3ed3102e5a24f0da638694191edb34933309fb472eb1df21ad5c86eedac3ebb9")
-      (requireSource "sdk" arch version "2" "e0befca9c4e71ebc9f444957ffa70f01aeeec5976ea27c40406471b04c34848b")
-      (requireSource "sqlplus" arch version "2" "d147cbb5b2a954fdcb4b642df4f0bd1153fd56e0f56e7fa301601b4f7e2abe0e") ]
-      ++ optional odbcSupport (requireSource "odbc" arch version "2" "1805c1ab6c8c5e8df7bdcc35d7f2b94c329ecf4dff9bde55d5f9b159ecd8b64e");
-  }."${stdenv.hostPlatform.system}" or throwSystem;
+  # calculate the filename of a single zip file
+  srcFilename = component: arch: version: rel:
+    "instantclient-${component}-${arch}-${version}" +
+    (optionalString (rel != "") "-${rel}") +
+    (optionalString (arch == "linux.x64") "dbru") + # ¯\_(ツ)_/¯
+    ".zip";
+
+  # fetcher for the clickthrough artifacts (requiring manual download)
+  fetchClickThrough =  srcFilename: hash: (requireFile {
+    name = srcFilename;
+    url = "https://www.oracle.com/database/technologies/instant-client/downloads.html";
+    sha256 = hash;
+  });
+
+  # fetcher for the non clickthrough artifacts
+  fetchSimple = srcFilename: hash: fetchurl {
+    url = "https://download.oracle.com/otn_software/linux/instantclient/193000/${srcFilename}";
+    sha256 = hash;
+  };
+
+  # pick the appropriate fetcher depending on the platform
+  fetcher = if stdenv.hostPlatform.system == "x86_64-linux" then fetchSimple else fetchClickThrough;
+
+  # assemble srcs
+  srcs = map (component:
+    (fetcher (srcFilename component arch version rels."${component}" or "") hashes."${component}" or ""))
+  components;
 
-  extLib = stdenv.hostPlatform.extensions.sharedLibrary;
-in stdenv.mkDerivation rec {
-  inherit version srcs;
   pname = "oracle-instantclient";
+  extLib = stdenv.hostPlatform.extensions.sharedLibrary;
+in stdenv.mkDerivation {
+  inherit pname version srcs;
 
   buildInputs = [ stdenv.cc.cc.lib ]
-    ++ optionals (stdenv.isLinux) [ libaio ]
+    ++ optional stdenv.isLinux libaio
     ++ optional odbcSupport unixODBC;
 
   nativeBuildInputs = [ makeWrapper unzip ]
     ++ optional stdenv.isLinux autoPatchelfHook
     ++ optional stdenv.isDarwin fixDarwinDylibNames;
 
+  outputs = [ "out" "dev" "lib"];
+
   unpackCmd = "unzip $curSrc";
 
   installPhase = ''
-    mkdir -p "$out/"{bin,include,lib,"share/java","share/${pname}-${version}/demo/"}
-    install -Dm755 {sqlplus,adrci,genezi} $out/bin
-    ${optionalString stdenv.isDarwin ''
-      for exe in "$out/bin/"* ; do
-        install_name_tool -add_rpath "$out/lib" "$exe"
-      done
-    ''}
-    ln -sfn $out/bin/sqlplus $out/bin/sqlplus64
-    install -Dm644 *${extLib}* $out/lib
+    mkdir -p "$out/"{bin,include,lib,"share/java","share/${pname}-${version}/demo/"} $lib/lib
+    install -Dm755 {adrci,genezi,uidrvci,sqlplus} $out/bin
+
+    # cp to preserve symlinks
+    cp -P *${extLib}* $lib/lib
+
     install -Dm644 *.jar $out/share/java
     install -Dm644 sdk/include/* $out/include
     install -Dm644 sdk/demo/* $out/share/${pname}-${version}/demo
 
-    # PECL::oci8 will not build without this
-    # this symlink only exists in dist zipfiles for some platforms
-    ln -sfn $out/lib/libclntsh${extLib}.12.1 $out/lib/libclntsh${extLib}
+    # provide alias
+    ln -sfn $out/bin/sqlplus $out/bin/sqlplus64
+  '';
+
+  postFixup = optionalString stdenv.isDarwin ''
+    for exe in "$out/bin/"* ; do
+      if [ ! -L "$exe" ]; then
+        install_name_tool -add_rpath "$lib/lib" "$exe"
+      fi
+    done
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/protozero/default.nix b/pkgs/development/libraries/protozero/default.nix
index 8704356a537..0bbfab62fcd 100644
--- a/pkgs/development/libraries/protozero/default.nix
+++ b/pkgs/development/libraries/protozero/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "protozero";
-  version = "1.6.7";
+  version = "1.6.8";
 
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = "protozero";
     rev = "v${version}";
-    sha256 = "1ryvn3iwxiaih3mvyy45nbwxnhzfc8vby0xh9m6d6fpakhcpf6s3";
+    sha256 = "1hfijpfylf1c71wa3mk70gjc88b6k1q7cxb87cwqdflw5q2x8ma6";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/ptlib/default.nix b/pkgs/development/libraries/ptlib/default.nix
index d1dcc5fdb97..e7abedf3121 100644
--- a/pkgs/development/libraries/ptlib/default.nix
+++ b/pkgs/development/libraries/ptlib/default.nix
@@ -25,6 +25,11 @@ stdenv.mkDerivation rec {
     (fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/no-sslv3;
       sha256 = "172s1dnnrl54p9sf1nl7s475sm78rpw3p8jxi0pdx6izzl8hcdr0";
     })
+    (fetchpatch {
+      name = "openssl-1.1.patch";
+      url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/openssl-1.1.0.patch?h=packages/ptlib&id=1dfa9f55e7e030d261228fca27dda82979ca7f30";
+      sha256 = "11hdgyyibycg0wf5ls0wk9hksa4jd434i86xqiccbyg17n4l6lc1";
+    })
     ./ptlib-2.10.11-glibc-2.26.patch
   ];
 
diff --git a/pkgs/development/libraries/qca2/default.nix b/pkgs/development/libraries/qca2/default.nix
index 33505f9b07f..19b11a60e7b 100644
--- a/pkgs/development/libraries/qca2/default.nix
+++ b/pkgs/development/libraries/qca2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, qt, darwin }:
+{ stdenv, fetchurl, openssl_1_0_2, cmake, pkgconfig, qt, darwin }:
 
 stdenv.mkDerivation rec {
   pname = "qca";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ qt ]
+  buildInputs = [ openssl_1_0_2 qt ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index f833d130fbb..8c1c76db8f4 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -83,13 +83,14 @@ stdenv.mkDerivation rec {
           + "21b342d71c19e6d68b649947f913410fe6129ea4/debian/patches/kubuntu_39_fix_medium_font.diff";
         sha256 = "0bli44chn03c2y70w1n8l7ss4ya0b40jqqav8yxrykayi01yf95j";
       })
-      # Patch is no longer available from here, so vendoring it for now.
+      # Patches are no longer available from here, so vendoring it for now.
       #(fetchpatch {
       #  name = "qt4-gcc6.patch";
       #  url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qt4-gcc6.patch?h=packages/qt4&id=ca773a144f5abb244ac4f2749eeee9333cac001f";
       #  sha256 = "07lrva7bjh6i40p7b3ml26a2jlznri8bh7y7iyx5zmvb1gfxmj34";
       #})
       ./qt4-gcc6.patch
+      ./qt4-openssl-1.1.patch
     ]
     ++ lib.optional gtkStyle (substituteAll ({
         src = ./dlopen-gtkstyle.diff;
diff --git a/pkgs/development/libraries/qt-4.x/4.8/qt4-openssl-1.1.patch b/pkgs/development/libraries/qt-4.x/4.8/qt4-openssl-1.1.patch
new file mode 100644
index 00000000000..1931ceb0c74
--- /dev/null
+++ b/pkgs/development/libraries/qt-4.x/4.8/qt4-openssl-1.1.patch
@@ -0,0 +1,398 @@
+--- a/src/network/ssl/qsslcertificate.cpp
++++ b/src/network/ssl/qsslcertificate.cpp
+@@ -259,10 +259,10 @@
+ QByteArray QSslCertificate::version() const
+ {
+     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
+-    if (d->versionString.isEmpty() && d->x509)
++    if (d->versionString.isEmpty() && d->x509) {
+         d->versionString =
+-            QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
+-
++	    QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1);
++    }
+     return d->versionString;
+ }
+ 
+@@ -276,7 +276,7 @@
+ {
+     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
+     if (d->serialNumberString.isEmpty() && d->x509) {
+-        ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
++        ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
+         // if we cannot convert to a long, just output the hexadecimal number
+         if (serialNumber->length > 4) {
+             QByteArray hexString;
+@@ -489,24 +489,33 @@
+     QSslKey key;
+ 
+     key.d->type = QSsl::PublicKey;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+     X509_PUBKEY *xkey = d->x509->cert_info->key;
++#else
++    X509_PUBKEY *xkey = q_X509_get_X509_PUBKEY(d->x509);
++#endif
+     EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
+     Q_ASSERT(pkey);
+ 
+-    if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
++    int key_id;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++    key_id = q_EVP_PKEY_type(pkey->type);
++#else
++    key_id = q_EVP_PKEY_base_id(pkey);
++#endif
++    if (key_id == EVP_PKEY_RSA) {
+         key.d->rsa = q_EVP_PKEY_get1_RSA(pkey);
+         key.d->algorithm = QSsl::Rsa;
+         key.d->isNull = false;
+-    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
++    } else if (key_id == EVP_PKEY_DSA) {
+         key.d->dsa = q_EVP_PKEY_get1_DSA(pkey);
+         key.d->algorithm = QSsl::Dsa;
+         key.d->isNull = false;
+-    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
++    } else if (key_id == EVP_PKEY_DH) {
+         // DH unsupported
+     } else {
+         // error?
+     }
+-
+     q_EVP_PKEY_free(pkey);
+     return key;
+ }
+--- a/src/network/ssl/qsslkey.cpp
++++ b/src/network/ssl/qsslkey.cpp
+@@ -321,8 +321,19 @@
+ {
+     if (d->isNull)
+         return -1;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+     return (d->algorithm == QSsl::Rsa)
+            ? q_BN_num_bits(d->rsa->n) : q_BN_num_bits(d->dsa->p);
++#else
++    if (d->algorithm == QSsl::Rsa) {
++        return q_RSA_bits(d->rsa);
++    }else{
++        BIGNUM *p = NULL;
++        q_DSA_get0_pqg(d->dsa, &p, NULL, NULL);
++	return q_BN_num_bits(p);
++    }
++#endif
++
+ }
+ 
+ /*!
+--- a/src/network/ssl/qsslsocket_openssl.cpp
++++ b/src/network/ssl/qsslsocket_openssl.cpp
+@@ -93,6 +93,7 @@
+ bool QSslSocketPrivate::s_loadedCiphersAndCerts = false;
+ bool QSslSocketPrivate::s_loadRootCertsOnDemand = false;
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ /* \internal
+ 
+     From OpenSSL's thread(3) manual page:
+@@ -174,6 +175,8 @@
+ }
+ } // extern "C"
+ 
++#endif //OPENSSL_VERSION_NUMBER >= 0x10100000L
++
+ QSslSocketBackendPrivate::QSslSocketBackendPrivate()
+     : ssl(0),
+       ctx(0),
+@@ -222,9 +225,12 @@
+             ciph.d->encryptionMethod = descriptionList.at(4).mid(4);
+         ciph.d->exportable = (descriptionList.size() > 6 && descriptionList.at(6) == QLatin1String("export"));
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+         ciph.d->bits = cipher->strength_bits;
+         ciph.d->supportedBits = cipher->alg_bits;
+-
++#else
++	ciph.d->bits = q_SSL_CIPHER_get_bits(cipher, &ciph.d->supportedBits);
++#endif
+     }
+     return ciph;
+ }
+@@ -367,7 +373,7 @@
+         //
+         // See also: QSslContext::fromConfiguration()
+         if (caCertificate.expiryDate() >= QDateTime::currentDateTime()) {
+-            q_X509_STORE_add_cert(ctx->cert_store, (X509 *)caCertificate.handle());
++	  q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(ctx), (X509 *)caCertificate.handle());
+         }
+     }
+ 
+@@ -504,8 +510,10 @@
+ */
+ void QSslSocketPrivate::deinitialize()
+ {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+     q_CRYPTO_set_id_callback(0);
+     q_CRYPTO_set_locking_callback(0);
++#endif
+ }
+ 
+ /*!
+@@ -526,13 +534,17 @@
+         return false;
+ 
+     // Check if the library itself needs to be initialized.
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+     QMutexLocker locker(openssl_locks()->initLock());
++#endif
+     if (!s_libraryLoaded) {
+         s_libraryLoaded = true;
+ 
+         // Initialize OpenSSL.
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+         q_CRYPTO_set_id_callback(id_function);
+         q_CRYPTO_set_locking_callback(locking_function);
++#endif
+         if (q_SSL_library_init() != 1)
+             return false;
+         q_SSL_load_error_strings();
+@@ -571,7 +583,9 @@
+ 
+ void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
+ {
+-    QMutexLocker locker(openssl_locks()->initLock());
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++  QMutexLocker locker(openssl_locks()->initLock());
++#endif
+     if (s_loadedCiphersAndCerts)
+         return;
+     s_loadedCiphersAndCerts = true;
+@@ -663,13 +677,18 @@
+     STACK_OF(SSL_CIPHER) *supportedCiphers = q_SSL_get_ciphers(mySsl);
+     for (int i = 0; i < q_sk_SSL_CIPHER_num(supportedCiphers); ++i) {
+         if (SSL_CIPHER *cipher = q_sk_SSL_CIPHER_value(supportedCiphers, i)) {
+-            if (cipher->valid) {
++
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++	  if (cipher->valid) {
++#endif
+                 QSslCipher ciph = QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(cipher);
+                 if (!ciph.isNull()) {
+                     if (!ciph.name().toLower().startsWith(QLatin1String("adh")))
+                         ciphers << ciph;
+                 }
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+             }
++#endif
+         }
+     }
+ 
+--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
++++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+@@ -290,6 +290,22 @@
+ DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
+ DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return)
+ DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
++DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *ctx, ctx, return 0, return)
++
++DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *x, x, return 0, return)
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++DEFINEFUNC(int, EVP_PKEY_id, const EVP_PKEY *pkey, pkey, return 0, return)
++DEFINEFUNC(int, EVP_PKEY_base_id, const EVP_PKEY *pkey, pkey, return 0, return)
++DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *cipher, cipher, int *alg_bits, alg_bits, return 0, return)
++DEFINEFUNC2(long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, long options, options, return 0, return)
++DEFINEFUNC(long, X509_get_version, X509 *x, x, return 0, return)
++DEFINEFUNC(X509_PUBKEY *, X509_get_X509_PUBKEY, X509 *x, x, return 0, return)
++DEFINEFUNC(int, RSA_bits,  const RSA *rsa, rsa, return 0, return)
++DEFINEFUNC(int, DSA_security_bits, const DSA *dsa, dsa, return 0, return)
++DEFINEFUNC(ASN1_TIME *, X509_get_notAfter, X509 *x, x, return 0, return)
++DEFINEFUNC(ASN1_TIME *, X509_get_notBefore, X509 *x, x, return 0, return)
++DEFINEFUNC4(void, DSA_get0_pqg, const DSA *d, d, BIGNUM **p, p, BIGNUM **q, q, BIGNUM **g, g, return, return)
++#endif
+ 
+ #ifdef Q_OS_SYMBIAN
+ #define RESOLVEFUNC(func, ordinal, lib) \
+@@ -801,6 +817,7 @@
+     RESOLVEFUNC(SSL_CTX_use_PrivateKey)
+     RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey)
+     RESOLVEFUNC(SSL_CTX_use_PrivateKey_file)
++    RESOLVEFUNC(SSL_CTX_get_cert_store)
+     RESOLVEFUNC(SSL_accept)
+     RESOLVEFUNC(SSL_clear)
+     RESOLVEFUNC(SSL_connect)
+@@ -823,6 +840,23 @@
+     RESOLVEFUNC(SSL_set_connect_state)
+     RESOLVEFUNC(SSL_shutdown)
+     RESOLVEFUNC(SSL_write)
++
++    RESOLVEFUNC(X509_get_serialNumber)
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++    RESOLVEFUNC(SSL_CTX_ctrl)
++    RESOLVEFUNC(EVP_PKEY_id)
++    RESOLVEFUNC(EVP_PKEY_base_id)
++    RESOLVEFUNC(SSL_CIPHER_get_bits)
++    RESOLVEFUNC(SSL_CTX_set_options)
++    RESOLVEFUNC(X509_get_version)
++    RESOLVEFUNC(X509_get_X509_PUBKEY)
++    RESOLVEFUNC(RSA_bits)
++    RESOLVEFUNC(DSA_security_bits)
++    RESOLVEFUNC(DSA_get0_pqg)
++    RESOLVEFUNC(X509_get_notAfter)
++    RESOLVEFUNC(X509_get_notBefore)
++#endif
++
+ #ifndef OPENSSL_NO_SSL2
+     RESOLVEFUNC(SSLv2_client_method)
+ #endif
+--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
++++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
+@@ -399,7 +399,25 @@
+ 		PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\
+ 			bp,(char *)x,enc,kstr,klen,cb,u)
+ #endif
++
++X509_STORE * q_SSL_CTX_get_cert_store(const SSL_CTX *ctx);
++ASN1_INTEGER * q_X509_get_serialNumber(X509 *x);
++
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ #define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
++#define q_X509_get_version(x) X509_get_version(x)
++#else
++int q_EVP_PKEY_id(const EVP_PKEY *pkey);
++int q_EVP_PKEY_base_id(const EVP_PKEY *pkey);
++int q_SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *alg_bits);
++long q_SSL_CTX_set_options(SSL_CTX *ctx, long options);
++long q_X509_get_version(X509 *x);
++X509_PUBKEY * q_X509_get_X509_PUBKEY(X509 *x);
++int q_RSA_bits(const RSA *rsa);
++int q_DSA_security_bits(const DSA *dsa);
++void q_DSA_get0_pqg(const DSA *d, BIGNUM **p, BIGNUM **q, BIGNUM **g);
++#endif
++
+ #define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
+ #define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i)
+ #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st))
+@@ -410,8 +428,15 @@
+ #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
+ #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
+         q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
++
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ #define q_X509_get_notAfter(x) X509_get_notAfter(x)
+ #define q_X509_get_notBefore(x) X509_get_notBefore(x)
++#else
++ASN1_TIME *q_X509_get_notAfter(X509 *x);
++ASN1_TIME *q_X509_get_notBefore(X509 *x);
++#endif
++
+ #define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
+ 					(char *)(rsa))
+ #define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
+--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp.omv~	2017-03-15 02:27:18.143322736 +0100
++++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp	2017-03-15 02:29:56.215819741 +0100
+@@ -696,7 +696,7 @@
+         unsigned char *data = 0;
+         int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e));
+         info[QString::fromUtf8(obj)] = QString::fromUtf8((char*)data, size);
+-        q_CRYPTO_free(data);
++        q_OPENSSL_free(data);
+     }
+     return info;
+ }
+--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp.0131~	2017-03-15 02:22:37.053244125 +0100
++++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp	2017-03-15 02:22:37.055244057 +0100
+@@ -328,7 +328,7 @@
+     if (d->algorithm == QSsl::Rsa) {
+         return q_RSA_bits(d->rsa);
+     }else{
+-        BIGNUM *p = NULL;
++        const BIGNUM *p = NULL;
+         q_DSA_get0_pqg(d->dsa, &p, NULL, NULL);
+ 	return q_BN_num_bits(p);
+     }
+--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp.0131~	2017-03-15 02:22:37.054244091 +0100
++++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp	2017-03-15 02:29:41.155236836 +0100
+@@ -111,16 +111,16 @@
+ DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return);
+ DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
+ DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
+-DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
++DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
+ DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return)
+ DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return)
+-DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
++DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
+ DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
+ DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
+ DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
+ DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
+-DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
++DEFINEFUNC(void, OPENSSL_free, void *a, a, return, DUMMYARG)
+ DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
+ #if  OPENSSL_VERSION_NUMBER < 0x00908000L
+ DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, unsigned char **b, b, long c, c, return 0, return)
+@@ -300,7 +300,7 @@
+ DEFINEFUNC(int, DSA_security_bits, const DSA *dsa, dsa, return 0, return)
+ DEFINEFUNC(ASN1_TIME *, X509_get_notAfter, X509 *x, x, return 0, return)
+ DEFINEFUNC(ASN1_TIME *, X509_get_notBefore, X509 *x, x, return 0, return)
+-DEFINEFUNC4(void, DSA_get0_pqg, const DSA *d, d, BIGNUM **p, p, BIGNUM **q, q, BIGNUM **g, g, return, return)
++DEFINEFUNC4(void, DSA_get0_pqg, const DSA *d, d, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, return)
+ #endif
+ 
+ #ifdef Q_OS_SYMBIAN
+--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h.0131~	2017-03-15 02:22:37.054244091 +0100
++++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h	2017-03-15 02:29:50.192986268 +0100
+@@ -59,6 +59,9 @@
+ QT_BEGIN_NAMESPACE
+ 
+ #define DUMMYARG
++#ifndef OPENSSL_NO_SSL2
++#define OPENSSL_NO_SSL2 1
++#endif
+ 
+ #if !defined QT_LINKED_OPENSSL
+ // **************** Shared declarations ******************
+@@ -207,16 +210,16 @@
+ int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
+ long q_BIO_ctrl(BIO *a, int b, long c, void *d);
+ int q_BIO_free(BIO *a);
+-BIO *q_BIO_new(BIO_METHOD *a);
++BIO *q_BIO_new(const BIO_METHOD *a);
+ BIO *q_BIO_new_mem_buf(void *a, int b);
+ int q_BIO_read(BIO *a, void *b, int c);
+-BIO_METHOD *q_BIO_s_mem();
++const BIO_METHOD *q_BIO_s_mem();
+ int q_BIO_write(BIO *a, const void *b, int c);
+ int q_BN_num_bits(const BIGNUM *a);
+ int q_CRYPTO_num_locks();
+ void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int));
+ void q_CRYPTO_set_id_callback(unsigned long (*a)());
+-void q_CRYPTO_free(void *a);
++void q_OPENSSL_free(void *a);
+ void q_DSA_free(DSA *a);
+ #if OPENSSL_VERSION_NUMBER >= 0x00908000L
+ // 0.9.8 broke SC and BC by changing this function's signature.
+@@ -326,7 +329,6 @@
+ void q_SSL_set_connect_state(SSL *a);
+ int q_SSL_shutdown(SSL *a);
+ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-const SSL_METHOD *q_SSLv2_client_method();
+ const SSL_METHOD *q_SSLv3_client_method();
+ const SSL_METHOD *q_SSLv23_client_method();
+ const SSL_METHOD *q_TLSv1_client_method();
+@@ -335,7 +337,6 @@
+ const SSL_METHOD *q_SSLv23_server_method();
+ const SSL_METHOD *q_TLSv1_server_method();
+ #else
+-SSL_METHOD *q_SSLv2_client_method();
+ SSL_METHOD *q_SSLv3_client_method();
+ SSL_METHOD *q_SSLv23_client_method();
+ SSL_METHOD *q_TLSv1_client_method();
+@@ -415,7 +416,7 @@
+ X509_PUBKEY * q_X509_get_X509_PUBKEY(X509 *x);
+ int q_RSA_bits(const RSA *rsa);
+ int q_DSA_security_bits(const DSA *dsa);
+-void q_DSA_get0_pqg(const DSA *d, BIGNUM **p, BIGNUM **q, BIGNUM **g);
++void q_DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
+ #endif
+ 
+ #define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix
deleted file mode 100644
index d45b014b765..00000000000
--- a/pkgs/development/libraries/qt-5/5.6/default.nix
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
-
-# New packages
-
-READ THIS FIRST
-
-This module is for official packages in Qt 5. All available packages are listed
-in `./srcs.nix`, although a few are not yet packaged in Nixpkgs (see below).
-
-IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.
-
-Many of the packages released upstream are not yet built in Nixpkgs due to lack
-of demand. To add a Nixpkgs build for an upstream package, copy one of the
-existing packages here and modify it as necessary.
-
-# Updates
-
-1. Update the URL in `./fetch.sh`.
-2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-5/$VERSION/`
-   from the top of the Nixpkgs tree.
-3. Check that the new packages build correctly.
-4. Commit the changes and open a pull request.
-
-*/
-
-{
-  newScope,
-  stdenv, fetchurl, fetchpatch, makeSetupHook, makeWrapper,
-  bison, cups ? null, harfbuzz, libGL, perl,
-  gstreamer, gst-plugins-base,
-
-  # options
-  developerBuild ? false,
-  decryptSslTraffic ? false,
-  debug ? false,
-}:
-
-with stdenv.lib;
-
-let
-
-  qtCompatVersion = srcs.qtbase.version;
-
-  mirror = "http://download.qt.io";
-  srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
-
-  patches = {
-    qtbase = [
-      ./qtbase.patch
-      ./qtbase-fixguicmake.patch
-      (fetchpatch {
-        name = "CVE-2018-15518.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=28a6e642af2ccb454dd019f551c2908753f76f08";
-        sha256 = "0nyssg7d0br7qgzp481f1w8b4p1bj2ggv9iyfrm1mng5v9fypdd7";
-      })
-      (fetchpatch {
-        name = "CVE-2018-19873.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=c9b9f663d7243988bcb5fee9180ea9cb3a321a86";
-        sha256 = "1q01cafy92c1j8cgrv4sk133mi3d48x8kbg3glbnnbijpc4k6di5";
-      })
-      (fetchpatch {
-        name = "CVE-2018-19870.patch";
-        url = "http://code.qt.io/cgit/qt/qtbase.git/patch/?id=ac0a910756f91726e03c0e6a89d213bdb4f48fec";
-        sha256 = "00qb9yqwvwnp202am3lqirkjxln1cj8v4wvmlyqya6hna176lj2l";
-      })
-    ];
-    qtdeclarative = [ ./qtdeclarative.patch ];
-    qtscript = [ ./qtscript.patch ];
-    qtserialport = [ ./qtserialport.patch ];
-    qttools = [ ./qttools.patch ];
-    qtwebengine = [ ./qtwebengine-seccomp.patch ];
-    qtwebkit = [ ./qtwebkit.patch ];
-    qtvirtualkeyboard = [
-      (fetchpatch {
-        name = "CVE-2018-19865-A.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=c02115db1de1f3aba81e109043766d600f886522";
-        sha256 = "0ncnyl8f3ypi1kcb9z2i8j33snix111h28njrx8rb49ny01ap8x2";
-      })
-      (fetchpatch {
-        name = "CVE-2018-19865-B.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=01fc537adc74d5e102c8cc93384cdf5cb08b4442";
-        sha256 = "19z8kxqf2lpjqr8189ingrpadch4niviw3p5v93zgx24v7950q27";
-      })
-      (fetchpatch {
-        name = "CVE-2018-19865-C.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=993a21ba03534b172d5354405cc9d50a2a822e24";
-        sha256 = "1bipqxr9bvy8z402pv9kj2w1yzcsj1v03l09pg5jyg1xh6jbgiky";
-      })
-    ];
-    qtimageformats = [
-      (fetchpatch {
-        name = "CVE-2018-19871.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtimageformats.git;a=patch;h=9299ab07df61c56b70e047f1fe5f06b6ff541aa3";
-        sha256 = "0fd3mxdlc0s405j02bc0g72fvdfvpi31a837xfwf40m5j4jbyndr";
-      })
-    ];
-    qtsvg = [
-      (fetchpatch {
-        name = "CVE-2018-19869.patch";
-        url = "http://code.qt.io/cgit/qt/qtsvg.git/patch/?id=c5f1dd14098d1cc2cb52448fb44f53966d331443";
-        sha256 = "1kgyfsxw2f0qv5fx9y7wysjsvqikam0qc7wzhklf0406zz6rhxbl";
-      })
-    ];
-  };
-
-  qtModule =
-    import ../qtModule.nix
-    {
-      inherit perl;
-      inherit (stdenv) lib;
-      # Use a variant of mkDerivation that does not include wrapQtApplications
-      # to avoid cyclic dependencies between Qt modules.
-      mkDerivation =
-        import ../mkDerivation.nix
-        { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; }
-        stdenv.mkDerivation;
-    }
-    { inherit self srcs patches; };
-
-  addPackages = self: with self;
-    let
-      callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
-    in {
-
-      mkDerivationWith =
-        import ../mkDerivation.nix
-        { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; };
-
-      mkDerivation = mkDerivationWith stdenv.mkDerivation;
-
-      qtbase = callPackage ../modules/qtbase.nix {
-        inherit bison cups harfbuzz libGL;
-        inherit (srcs.qtbase) src version;
-        patches = patches.qtbase;
-        inherit developerBuild decryptSslTraffic;
-      };
-
-      /* qt3d = not packaged */
-      /* qtactiveqt = not packaged */
-      /* qtandroidextras = not packaged */
-      /* qtcanvas3d = not packaged */
-      qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
-      qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
-      qtdoc = callPackage ../modules/qtdoc.nix {};
-      qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
-      qtimageformats = callPackage ../modules/qtimageformats.nix {};
-      qtlocation = callPackage ../modules/qtlocation.nix {};
-      /* qtmacextras = not packaged */
-      qtmultimedia = callPackage ../modules/qtmultimedia.nix {
-        inherit gstreamer gst-plugins-base;
-      };
-      qtquick1 = null;
-      qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
-      qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
-      qtscript = callPackage ../modules/qtscript.nix {};
-      qtsensors = callPackage ../modules/qtsensors.nix {};
-      qtserialport = callPackage ../modules/qtserialport.nix {};
-      qtsvg = callPackage ../modules/qtsvg.nix {};
-      qttools = callPackage ../modules/qttools.nix {};
-      qttranslations = callPackage ../modules/qttranslations.nix {};
-      qtwayland = callPackage ../modules/qtwayland.nix {};
-      qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
-      qtwebengine = callPackage ../modules/qtwebengine.nix {};
-      qtwebkit = callPackage ../modules/qtwebkit.nix {};
-      qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
-      /* qtwinextras = not packaged */
-      qtx11extras = callPackage ../modules/qtx11extras.nix {};
-      qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
-      qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {};
-
-      env = callPackage ../qt-env.nix {};
-      full = env "qt-full-${qtbase.version}" [
-        qtconnectivity qtdeclarative qtdoc qtgraphicaleffects qtimageformats
-        qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtscript
-        qtsensors qtserialport qtsvg qttools qttranslations qtwayland
-        qtwebchannel qtwebengine qtwebkit qtwebsockets qtx11extras qtxmlpatterns
-      ];
-
-      qmake = makeSetupHook {
-        deps = [ self.qtbase.dev ];
-        substitutions = { inherit (stdenv) isDarwin; };
-      } ../hooks/qmake-hook.sh;
-
-      wrapQtAppsHook = makeSetupHook {
-        deps =
-          [ self.qtbase.dev makeWrapper ]
-          ++ optional stdenv.isLinux self.qtwayland.dev;
-      } ../hooks/wrap-qt-apps-hook.sh;
-    };
-
-   self = makeScope newScope addPackages;
-
-in self
diff --git a/pkgs/development/libraries/qt-5/5.6/fetch.sh b/pkgs/development/libraries/qt-5/5.6/fetch.sh
deleted file mode 100644
index bb9eb66a01d..00000000000
--- a/pkgs/development/libraries/qt-5/5.6/fetch.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/ \
-            http://download.qt.io/community_releases/5.6/5.6.3/ )
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase-fixguicmake.patch b/pkgs/development/libraries/qt-5/5.6/qtbase-fixguicmake.patch
deleted file mode 100644
index 8b46d432812..00000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase-fixguicmake.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 0bbc871..3673634 100644
---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -286,7 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+        set(imported_location \"${PLUGIN_LOCATION}\")
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-index 5baf0fd..3583745 100644
---- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -2,10 +2,10 @@
- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
- 
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase.patch b/pkgs/development/libraries/qt-5/5.6/qtbase.patch
deleted file mode 100644
index d8322cbc199..00000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase.patch
+++ /dev/null
@@ -1,795 +0,0 @@
-diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
-index 11fb52a0b1..614fdbb046 100644
---- a/mkspecs/features/create_cmake.prf
-+++ b/mkspecs/features/create_cmake.prf
-@@ -21,7 +21,7 @@ load(cmake_functions)
- # at cmake time whether package has been found via a symlink, and correct
- # that to an absolute path. This is only done for installations to
- # the /usr or / prefix.
--CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS])
-+CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/)
- contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR
- 
- CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
-@@ -47,47 +47,22 @@ split_incpath {
-         $$cmake_extra_source_includes.output
- }
- 
--CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
--    CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/
--    CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/
-+CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
- 
- !exists($$first(QT.$${MODULE}_private.includes)): CMAKE_NO_PRIVATE_INCLUDES = true
- 
--CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
--    CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
--    CMAKE_LIB_DIR_IS_ABSOLUTE = True
--} else {
--    CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS])
--    # We need to go up another two levels because the CMake files are
--    # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
--    CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../"
--}
-+CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_LIB_DIR_IS_ABSOLUTE = True
- 
--CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_BIN_DIR, "^\\.\\./.*") {
--    CMAKE_BIN_DIR = $$[QT_HOST_BINS]/
--    CMAKE_BIN_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
-+CMAKE_BIN_DIR_IS_ABSOLUTE = True
- 
--CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") {
--    CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/
--    CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
-+CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
- 
--win32:!wince:!static:!staticlib {
--    CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX])
--    contains(CMAKE_DLL_DIR, "^\\.\\./.*") {
--        CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/
--        CMAKE_DLL_DIR_IS_ABSOLUTE = True
--    }
--} else {
--    CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
--    CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
--}
-+CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_DLL_DIR_IS_ABSOLUTE = True
- 
- static|staticlib:CMAKE_STATIC_TYPE = true
- 
-@@ -167,7 +142,7 @@ contains(CONFIG, plugin) {
-       cmake_target_file
- 
-     cmake_qt5_plugin_file.files = $$cmake_target_file.output
--    cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
-+    cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
-     INSTALLS += cmake_qt5_plugin_file
- 
-     return()
-@@ -314,7 +289,7 @@ exists($$cmake_macros_file.input) {
-     cmake_qt5_module_files.files += $$cmake_macros_file.output
- }
- 
--cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
-+cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
- 
- # We are generating cmake files. Most developers of Qt are not aware of cmake,
- # so we require automatic tests to be available. The only module which should
-diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index d2358cae4b..61d8cc0471 100644
---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
- endif()
- !!ENDIF
- 
--!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
--!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ELSE
--get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
--# Use original install prefix when loaded through a
--# cross-prefix symbolic link such as /lib -> /usr/lib.
--get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
--get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
--if(_realCurr STREQUAL _realOrig)
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
--else()
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--endif()
--unset(_realOrig)
--unset(_realCurr)
--unset(_IMPORT_PREFIX)
--!!ENDIF
--!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--!!ELSE
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ENDIF
--
- !!IF !equals(TEMPLATE, aux)
- # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
- set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)")
-@@ -58,11 +34,7 @@ endmacro()
- macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
-     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
--!!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
--!!ENDIF
-     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-     set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-         \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-@@ -75,11 +47,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
-     )
- 
- !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ELSE
-     set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ENDIF
-     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
-     if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
-         set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-@@ -95,24 +63,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- !!IF !no_module_headers
- !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
-     set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-+      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
-+      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-     )
- !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
--    )
--!!ELSE
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
--!!ENDIF
--!!ELSE
--!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
--!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-+        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
-+        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
-     )
- !!ELSE
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-@@ -128,7 +85,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
- !!ENDIF
- !!ENDIF
--!!ENDIF
- !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
-     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
- !!ENDIF
-@@ -254,25 +210,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_DEBUG_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
--!!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
--!!ENDIF
-       AND EXISTS
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
-@@ -291,25 +235,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_RELEASE_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
--!!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
--!!ENDIF
-       AND EXISTS
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
-@@ -328,11 +260,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
--        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ELSE
-         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ENDIF
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
-index 47ebe78400..25aa2b93e7 100644
---- a/mkspecs/features/qml_module.prf
-+++ b/mkspecs/features/qml_module.prf
-@@ -17,10 +17,7 @@ fq_qml_files = $$_PRO_FILE_PWD_/qmldir
- 
- for(qmlf, QML_FILES): fq_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_)
- 
--qml1_target: \
--    instbase = $$[QT_INSTALL_IMPORTS]
--else: \
--    instbase = $$[QT_INSTALL_QML]
-+instbase = $$NIX_OUTPUT_QML
- 
- # Install rules
- qmldir.base = $$_PRO_FILE_PWD_
-diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
-index ebec1db8da..62ace84a6c 100644
---- a/mkspecs/features/qml_plugin.prf
-+++ b/mkspecs/features/qml_plugin.prf
-@@ -46,13 +46,8 @@ exists($$QMLTYPEFILE): QML_FILES += $$QMLTYPEFILE
- 
- load(qt_build_paths)
- 
--qml1_target {
--    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
--    instbase = $$[QT_INSTALL_IMPORTS]
--} else {
--    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
--    instbase = $$[QT_INSTALL_QML]
--}
-+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
-+instbase = $$NIX_OUTPUT_QML
- 
- target.path = $$instbase/$$TARGETPATH
- INSTALLS += target
-diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
-index 46aca50cc2..4f4e634724 100644
---- a/mkspecs/features/qt_app.prf
-+++ b/mkspecs/features/qt_app.prf
-@@ -29,7 +29,7 @@ host_build:force_bootstrap {
-     target.path = $$[QT_HOST_BINS]
- } else {
-     !build_pass:contains(QT_CONFIG, debug_and_release): CONFIG += release
--    target.path = $$[QT_INSTALL_BINS]
-+    target.path = $$NIX_OUTPUT_BIN/bin
-     CONFIG += relative_qt_rpath  # Qt's tools and apps should be relocatable
- }
- INSTALLS += target
-diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
-index 1848f00e90..2af93675c5 100644
---- a/mkspecs/features/qt_build_paths.prf
-+++ b/mkspecs/features/qt_build_paths.prf
-@@ -23,6 +23,6 @@ exists($$MODULE_BASE_INDIR/.git): \
- !force_independent {
-     # If the module is not built independently, everything ends up in qtbase.
-     # This is the case in non-prefix builds, except for selected modules.
--    MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX]
--    MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX]
-+    MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT
-+    MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
- }
-diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
-index 08b3f3e5af..5ffeafd9d8 100644
---- a/mkspecs/features/qt_common.prf
-+++ b/mkspecs/features/qt_common.prf
-@@ -30,8 +30,8 @@ contains(TEMPLATE, .*lib) {
-         qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
-         qt_libdir = $$[QT_HOST_LIBS]
-     } else {
--        qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
--        qt_libdir = $$[QT_INSTALL_LIBS]
-+        qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib
-+        qt_libdir = $$NIX_OUTPUT_OUT/lib
-     }
-     contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
-         lib_replace.match = "[^ ']*$$rplbase/lib"
-diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
-index 183d0c9502..17982b04ec 100644
---- a/mkspecs/features/qt_docs.prf
-+++ b/mkspecs/features/qt_docs.prf
-@@ -41,7 +41,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
- 
- QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
- !build_online_docs: \
--    QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
-+    QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC)
- PREP_DOC_INDEXES =
- DOC_INDEXES =
- !isEmpty(QTREPOS) {
-@@ -60,8 +60,8 @@ DOC_INDEXES =
-         DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
- } else {
-     prepare_docs: \
--        PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
--    DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
-+        PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
-+    DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
- }
- doc_command = $$QDOC $$QMAKE_DOCS
- prepare_docs {
-@@ -75,12 +75,12 @@ prepare_docs {
-     qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch)
- 
-     inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR
--    inst_html_docs.path = $$[QT_INSTALL_DOCS]
-+    inst_html_docs.path = $$NIX_OUTPUT_DOC
-     inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build
-     INSTALLS += inst_html_docs
- 
-     inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
--    inst_qch_docs.path = $$[QT_INSTALL_DOCS]
-+    inst_qch_docs.path = $$NIX_OUTPUT_DOC
-     inst_qch_docs.CONFIG += no_check_exist no_default_install no_build
-     INSTALLS += inst_qch_docs
- 
-diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
-index 4c68cfd72f..f422f18266 100644
---- a/mkspecs/features/qt_example_installs.prf
-+++ b/mkspecs/features/qt_example_installs.prf
-@@ -70,7 +70,7 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples)
-         $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
-         $$DBUS_ADAPTORS $$DBUS_INTERFACES
-     addInstallFiles(sources.files, $$sourcefiles)
--    sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
-+    sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase
-     INSTALLS += sources
- 
-     check_examples {
-diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
-index 4a1d265a8b..d346424b5b 100644
---- a/mkspecs/features/qt_functions.prf
-+++ b/mkspecs/features/qt_functions.prf
-@@ -70,7 +70,7 @@ defineTest(qtHaveModule) {
- defineTest(qtPrepareTool) {
-     cmd = $$eval(QT_TOOL.$${2}.binary)
-     isEmpty(cmd) {
--        cmd = $$[QT_HOST_BINS]/$$2
-+        cmd = $$system("command -v $$2")
-         exists($${cmd}.pl) {
-             cmd = perl -w $$system_path($${cmd}.pl)
-         } else: contains(QMAKE_HOST.os, Windows) {
-diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf
-index 3a5dbb6274..24f321bd82 100644
---- a/mkspecs/features/qt_installs.prf
-+++ b/mkspecs/features/qt_installs.prf
-@@ -12,16 +12,10 @@
- #library
- !qt_no_install_library {
-     win32 {
--       host_build: \
--           dlltarget.path = $$[QT_HOST_BINS]
--       else: \
--           dlltarget.path = $$[QT_INSTALL_BINS]
-+        dlltarget.path = $$NIX_OUTPUT_BIN/bin
-        INSTALLS += dlltarget
-     }
--    host_build: \
--        target.path = $$[QT_HOST_LIBS]
--    else: \
--        target.path = $$[QT_INSTALL_LIBS]
-+    target.path = $$NIX_OUTPUT_OUT/lib
-     !static: target.CONFIG = no_dll
-     INSTALLS += target
- }
-@@ -29,33 +23,33 @@
- #headers
- qt_install_headers {
-     class_headers.files = $$SYNCQT.HEADER_CLASSES
--    class_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    class_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += class_headers
- 
-     targ_headers.files = $$SYNCQT.HEADER_FILES
--    targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += targ_headers
- 
-     private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES
--    private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
-+    private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
-     INSTALLS += private_headers
- 
-     qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES
--    qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
-+    qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
-     INSTALLS += qpa_headers
- }
- 
- #module
- qt_install_module {
-     !isEmpty(MODULE_PRI) {
--        pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
-+        pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
-         pritarget.files = $$MODULE_PRI
-         INSTALLS += pritarget
-     } else: isEmpty(MODULE_PRIVATE_PRI) {
-         warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
-     }
-     !isEmpty(MODULE_PRIVATE_PRI) {
--        privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
-+        privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
-         privpritarget.files = $$MODULE_PRIVATE_PRI
-         INSTALLS += privpritarget
-     }
-diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf
-index 3cf6c7349c..83e68025a5 100644
---- a/mkspecs/features/qt_plugin.prf
-+++ b/mkspecs/features/qt_plugin.prf
-@@ -82,7 +82,7 @@ CONFIG(static, static|shared)|prefix_build {
-     }
- }
- 
--target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
-+target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
- INSTALLS += target
- 
- TARGET = $$qt5LibraryTarget($$TARGET)
-diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
-index 91a4eb619a..08b533e69c 100644
---- a/src/corelib/Qt5CoreConfigExtras.cmake.in
-+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
-     add_executable(Qt5::qmake IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
-     add_executable(Qt5::moc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
-     add_executable(Qt5::rcc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain)
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ENDIF
-@@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ENDIF
-diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-index c357237d0e..6f0c75de3c 100644
---- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-+++ b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-index 706304cf34..546420f6ad 100644
---- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-+++ b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
-index bd3c12ce97..a796775970 100644
---- a/src/corelib/kernel/qcoreapplication.cpp
-+++ b/src/corelib/kernel/qcoreapplication.cpp
-@@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPaths()
-         QStringList *app_libpaths = new QStringList;
-         coreappdata()->app_libpaths.reset(app_libpaths);
- 
-+        // Add library paths derived from PATH
-+        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+        const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
-+        for (const QString &path: paths) {
-+            if (!path.isEmpty()) {
-+                app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
-+            }
-+        }
-+
-         const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
-         if (!libPathEnv.isEmpty()) {
-             QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
-diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp
-index c13c9a5223..6936851511 100644
---- a/src/corelib/tools/qtimezoneprivate_tz.cpp
-+++ b/src/corelib/tools/qtimezoneprivate_tz.cpp
-@@ -64,7 +64,11 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash;
- // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
- static QTzTimeZoneHash loadTzTimeZones()
- {
--    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-+    // Try TZDIR first, in case we're running on NixOS.
-+    QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
-+    // Fallback to traditional paths in case we are not on NixOS.
-+    if (!QFile::exists(path))
-+        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-     if (!QFile::exists(path))
-         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
- 
-@@ -636,12 +640,16 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId)
-         if (!tzif.open(QIODevice::ReadOnly))
-             return;
-     } else {
--        // Open named tz, try modern path first, if fails try legacy path
--        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+        // Try TZDIR first, in case we're running on NixOS
-+        tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
-         if (!tzif.open(QIODevice::ReadOnly)) {
--            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
--            if (!tzif.open(QIODevice::ReadOnly))
--                return;
-+            // Open named tz, try modern path first, if fails try legacy path
-+            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+            if (!tzif.open(QIODevice::ReadOnly)) {
-+                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+                if (!tzif.open(QIODevice::ReadOnly))
-+                    return;
-+            }
-         }
-     }
- 
-diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
-index 1d947159e2..b36865fc48 100644
---- a/src/dbus/Qt5DBusConfigExtras.cmake.in
-+++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
-@@ -2,11 +2,7 @@
- if (NOT TARGET Qt5::qdbuscpp2xml)
-     add_executable(Qt5::qdbuscpp2xml IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-     _qt5_DBus_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qdbuscpp2xml PROPERTIES
-@@ -17,11 +13,7 @@ endif()
- if (NOT TARGET Qt5::qdbusxml2cpp)
-     add_executable(Qt5::qdbusxml2cpp IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-     _qt5_DBus_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qdbusxml2cpp PROPERTIES
-diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
-index 07869efd7d..fb4183bada 100644
---- a/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ b/src/gui/Qt5GuiConfigExtras.cmake.in
-@@ -2,7 +2,7 @@
- !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
- 
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ELSE
- set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ENDIF
-@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_properties TargetName Configuration LIB_LOCATIO
-     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-+    set(imported_implib \"$$NIX_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ELSE
-     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ENDIF
-diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp
-index 584f0b0f0e..24d80063f2 100644
---- a/src/network/kernel/qdnslookup_unix.cpp
-+++ b/src/network/kernel/qdnslookup_unix.cpp
-@@ -83,7 +83,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
-         if (!lib.load())
-             return false;
-     }
-diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
-index dabf1913cc..53bb867e07 100644
---- a/src/network/kernel/qhostinfo_unix.cpp
-+++ b/src/network/kernel/qhostinfo_unix.cpp
-@@ -94,7 +94,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
-         if (!lib.load())
-             return false;
-     }
-diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
-index 68caaeb6dc..fef4a81474 100644
---- a/src/network/ssl/qsslcontext_openssl.cpp
-+++ b/src/network/ssl/qsslcontext_openssl.cpp
-@@ -340,7 +340,7 @@ init_context:
- 
-     const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-     if (!qcurves.isEmpty()) {
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         // Set the curves to be used
-         if (q_SSLeay() >= 0x10002000L) {
-             // SSL_CTX_ctrl wants a non-const pointer as last argument,
-@@ -354,7 +354,7 @@ init_context:
-                 return sslContext;
-             }
-         } else
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         {
-             // specific curves requested, but not possible to set -> error
-             sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
-diff --git a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-index 338c7ca3be..dd52114bac 100644
---- a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-+++ b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-@@ -251,12 +251,9 @@ void TableGenerator::initPossibleLocations()
-     // the QTCOMPOSE environment variable
-     if (qEnvironmentVariableIsSet("QTCOMPOSE"))
-         m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));
--    m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale"));
-+    m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE));
- }
- 
- QString TableGenerator::findComposeFile()
-diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-index c2b7a562a9..4fa5f6d6a5 100644
---- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-@@ -570,7 +570,14 @@ void (*QGLXContext::getProcAddress(const QByteArray &procName)) ()
- #ifndef QT_NO_LIBRARY
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
-+                // Check system library paths first
-                 QLibrary lib(QLatin1String("GL"));
-+#ifdef NIXPKGS_MESA_GL
-+                if (!lib.load()) {
-+                    // Fallback to Mesa driver
-+                    lib.setFileName(QLatin1String(NIXPKGS_MESA_GL));
-+                }
-+#endif // NIXPKGS_MESA_GL
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
- #endif
-             }
-diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
-index 4646ced954..ff3111f393 100644
---- a/src/plugins/platforms/xcb/qxcbcursor.cpp
-+++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
-@@ -303,10 +303,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
- #if defined(XCB_USE_XLIB) && !defined(QT_NO_LIBRARY)
-     static bool function_ptrs_not_initialized = true;
-     if (function_ptrs_not_initialized) {
--        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
-+        QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
-         bool xcursorFound = xcursorLib.load();
-         if (!xcursorFound) { // try without the version number
--            xcursorLib.setFileName(QLatin1String("Xcursor"));
-+            xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
-             xcursorFound = xcursorLib.load();
-         }
-         if (xcursorFound) {
-diff --git a/src/testlib/qtestassert.h b/src/testlib/qtestassert.h
-index ca3e02ca06..28dd73d772 100644
---- a/src/testlib/qtestassert.h
-+++ b/src/testlib/qtestassert.h
-@@ -38,10 +38,13 @@
- 
- QT_BEGIN_NAMESPACE
- 
--
--#define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (0)
--
--#define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (0)
-+#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
-+#define QTEST_ASSERT(cond) do { } while ((false) && (cond))
-+#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond))
-+#else
-+#define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false)
-+#define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false)
-+#endif
- 
- QT_END_NAMESPACE
- 
-diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-index 99d87e2e46..a4eab2aa72 100644
---- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
diff --git a/pkgs/development/libraries/qt-5/5.6/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.6/qtdeclarative.patch
deleted file mode 100644
index dbddaa2a1d6..00000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtdeclarative.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
-index dfdf2edbe..7ee96049d 100644
---- a/src/qml/qml/qqmlimport.cpp
-+++ b/src/qml/qml/qqmlimport.cpp
-@@ -1568,6 +1568,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
-     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
-     addImportPath(installImportsPath);
- 
-+    // Add import paths derived from PATH
-+    const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+    const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX);
-+    for (const QString &path: paths) {
-+        if (!path.isEmpty()) {
-+            addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir));
-+        }
-+    }
-+
-     // env import paths
-     if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) {
-         const QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
diff --git a/pkgs/development/libraries/qt-5/5.6/qtscript.patch b/pkgs/development/libraries/qt-5/5.6/qtscript.patch
deleted file mode 100644
index 5508dec1280..00000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtscript.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-index 1f6d25e..087c3fb 100644
---- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-@@ -81,7 +81,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GCond GCond;
- #endif
- 
diff --git a/pkgs/development/libraries/qt-5/5.6/qtserialport.patch b/pkgs/development/libraries/qt-5/5.6/qtserialport.patch
deleted file mode 100644
index b2cffbe4f39..00000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtserialport.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
-index 6f2cabd..cd3c0ed 100644
---- a/src/serialport/qtudev_p.h
-+++ b/src/serialport/qtudev_p.h
-@@ -105,9 +105,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
- inline bool resolveSymbols(QLibrary *udevLibrary)
- {
-     if (!udevLibrary->isLoaded()) {
-+#ifdef NIXPKGS_LIBUDEV
-+        udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
-+#else
-         udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
-+#endif
-         if (!udevLibrary->load()) {
-+#ifdef NIXPKGS_LIBUDEV
-+            udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
-+#else
-             udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
-+#endif
-             if (!udevLibrary->load()) {
-                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
-                 return false;
diff --git a/pkgs/development/libraries/qt-5/5.6/qttools.patch b/pkgs/development/libraries/qt-5/5.6/qttools.patch
deleted file mode 100644
index dcb15e0e55a..00000000000
--- a/pkgs/development/libraries/qt-5/5.6/qttools.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-index 5a5bd5ce..1c6727d4 100644
---- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-+++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-@@ -2,14 +2,13 @@
- if (NOT TARGET Qt5::qcollectiongenerator)
-     add_executable(Qt5::qcollectiongenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qcollectiongenerator PROPERTIES
-         IMPORTED_LOCATION ${imported_location}
-     )
--endif()
-+endif()
-\ No newline at end of file
-diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-index 4318b16f..d60db4ff 100644
---- a/src/linguist/Qt5LinguistToolsConfig.cmake.in
-+++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-@@ -44,11 +44,7 @@ endmacro()
- if (NOT TARGET Qt5::lrelease)
-     add_executable(Qt5::lrelease IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lrelease PROPERTIES
-@@ -59,11 +55,7 @@ endif()
- if (NOT TARGET Qt5::lupdate)
-     add_executable(Qt5::lupdate IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lupdate PROPERTIES
-@@ -74,11 +66,7 @@ endif()
- if (NOT TARGET Qt5::lconvert)
-     add_executable(Qt5::lconvert IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebengine-seccomp.patch b/pkgs/development/libraries/qt-5/5.6/qtwebengine-seccomp.patch
deleted file mode 100644
index bf6af805982..00000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebengine-seccomp.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Backported to Qt 5.6 for epoll_pwait fix on newer glibc
-Part of upstream Chromium's 4e8083b4ab953ba298aedfc4e79d464be15e4012
-Review URL: https://codereview.chromium.org/1613883002
----
-diff --git a/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-index 10278dc5fc9b..b30b3e6acef6 100644
---- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-@@ -414,6 +414,7 @@ bool SyscallSets::IsAllowedEpoll(int sysno) {
-     case __NR_epoll_create:
-     case __NR_epoll_wait:
- #endif
-+    case __NR_epoll_pwait:
-     case __NR_epoll_create1:
-     case __NR_epoll_ctl:
-       return true;
-@@ -421,7 +422,6 @@ bool SyscallSets::IsAllowedEpoll(int sysno) {
- #if defined(__x86_64__)
-     case __NR_epoll_ctl_old:
- #endif
--    case __NR_epoll_pwait:
- #if defined(__x86_64__)
-     case __NR_epoll_wait_old:
- #endif
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit.patch
deleted file mode 100644
index da1658554e4..00000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-diff --git a/Source/JavaScriptCore/API/JSStringRef.cpp b/Source/JavaScriptCore/API/JSStringRef.cpp
-index 812f3d413..77a3fd0f4 100644
---- a/Source/JavaScriptCore/API/JSStringRef.cpp
-+++ b/Source/JavaScriptCore/API/JSStringRef.cpp
-@@ -37,7 +37,7 @@ using namespace WTF::Unicode;
- JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
- {
-     initializeThreading();
--    return OpaqueJSString::create(chars, numChars).leakRef();
-+    return OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef();
- }
- 
- JSStringRef JSStringCreateWithUTF8CString(const char* string)
-@@ -62,7 +62,7 @@ JSStringRef JSStringCreateWithUTF8CString(const char* string)
- JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
- {
-     initializeThreading();
--    return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
-+    return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
- }
- 
- JSStringRef JSStringRetain(JSStringRef string)
-@@ -83,7 +83,7 @@ size_t JSStringGetLength(JSStringRef string)
- 
- const JSChar* JSStringGetCharactersPtr(JSStringRef string)
- {
--    return string->characters();
-+    return reinterpret_cast<const JSChar*>(string->characters());
- }
- 
- size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
-diff --git a/Source/JavaScriptCore/runtime/DateConversion.cpp b/Source/JavaScriptCore/runtime/DateConversion.cpp
-index 0b57f012d..05e27338b 100644
---- a/Source/JavaScriptCore/runtime/DateConversion.cpp
-+++ b/Source/JavaScriptCore/runtime/DateConversion.cpp
-@@ -107,7 +107,8 @@ String formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool as
- #if OS(WINDOWS)
-             TIME_ZONE_INFORMATION timeZoneInformation;
-             GetTimeZoneInformation(&timeZoneInformation);
--            const WCHAR* timeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName;
-+            const WCHAR* winTimeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName;
-+            String timeZoneName(reinterpret_cast<const UChar*>(winTimeZoneName));
- #else
-             struct tm gtm = t;
-             char timeZoneName[70];
-diff --git a/Source/WTF/WTF.pri b/Source/WTF/WTF.pri
-index 1f4866d66..bb61e4ba3 100644
---- a/Source/WTF/WTF.pri
-+++ b/Source/WTF/WTF.pri
-@@ -12,7 +12,7 @@ mac {
-     # Mac OS does ship libicu but not the associated header files.
-     # Therefore WebKit provides adequate header files.
-     INCLUDEPATH = $${ROOT_WEBKIT_DIR}/Source/WTF/icu $$INCLUDEPATH
--    LIBS += -licucore
-+    LIBS += /usr/lib/libicucore.dylib
- } else:!use?(wchar_unicode): {
-     win32 {
-         CONFIG(static, static|shared) {
-diff --git a/Source/WTF/wtf/TypeTraits.h b/Source/WTF/wtf/TypeTraits.h
-index 9df2c95cf..f5d6121fd 100644
---- a/Source/WTF/wtf/TypeTraits.h
-+++ b/Source/WTF/wtf/TypeTraits.h
-@@ -72,6 +72,9 @@ namespace WTF {
-     template<> struct IsInteger<unsigned long>      { static const bool value = true; };
-     template<> struct IsInteger<long long>          { static const bool value = true; };
-     template<> struct IsInteger<unsigned long long> { static const bool value = true; };
-+#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
-+    template<> struct IsInteger<char16_t>           { static const bool value = true; };
-+#endif
- #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
-     template<> struct IsInteger<wchar_t>            { static const bool value = true; };
- #endif
-diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-index a923d49aa..46772a4bb 100644
---- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-@@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* module = 0)
-         }
-     }
- 
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
-diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-index de06a2fea..86fe39ef1 100644
---- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-@@ -697,7 +697,11 @@ static Display *getPluginDisplay()
-     // support gdk based plugins (like flash) that use a different X connection.
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
-diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-index 8de65216b..38f5c05e5 100644
---- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-+++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-@@ -53,7 +53,11 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
- 
- static bool initializeGtk()
- {
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (!gtkLibrary.load())
-         return false;
-     typedef void* (*gtk_init_ptr)(void*, void*);
-diff --git a/Source/WebKit2/Shared/API/c/WKString.cpp b/Source/WebKit2/Shared/API/c/WKString.cpp
-index cbac67dd8..23400a64e 100644
---- a/Source/WebKit2/Shared/API/c/WKString.cpp
-+++ b/Source/WebKit2/Shared/API/c/WKString.cpp
-@@ -55,7 +55,7 @@ size_t WKStringGetLength(WKStringRef stringRef)
- size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength)
- {
-     COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar);
--    return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), bufferLength));
-+    return (toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), bufferLength));
- }
- 
- size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef)
-diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-index d734ff684..0f6ff63d1 100644
---- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-@@ -64,7 +64,11 @@ static Display* getPluginDisplay()
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
diff --git a/pkgs/development/libraries/qt-5/5.6/srcs.nix b/pkgs/development/libraries/qt-5/5.6/srcs.nix
deleted file mode 100644
index 87d35a43d86..00000000000
--- a/pkgs/development/libraries/qt-5/5.6/srcs.nix
+++ /dev/null
@@ -1,309 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
-{ fetchurl, mirror }:
-
-{
-  qt3d = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qt3d-opensource-src-5.6.3.tar.xz";
-      sha256 = "1zkzc3wh2i89nacb55mbgl09zhrjbrxg9ir626bsvz15x4q5ml0h";
-      name = "qt3d-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtactiveqt = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtactiveqt-opensource-src-5.6.3.tar.xz";
-      sha256 = "00qscqjpkv5ssrjdwwcjp9q1rqgp8lsdjjksjpyyg4v6knd74s0i";
-      name = "qtactiveqt-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtandroidextras = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtandroidextras-opensource-src-5.6.3.tar.xz";
-      sha256 = "1v19p1pqcdicylj3hd2lbm5swqddydlv9aqmws3qwsc2vwh15d4n";
-      name = "qtandroidextras-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtbase = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtbase-opensource-src-5.6.3.tar.xz";
-      sha256 = "18ad7cxln61276cm8h8hzm0y6svw6b5m5nbm1niif9pwlqlqbx7y";
-      name = "qtbase-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtcanvas3d = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtcanvas3d-opensource-src-5.6.3.tar.xz";
-      sha256 = "1zsn3xbsqapivfg80cldjlh7z07nf88958a7g6dm7figkwahx7p9";
-      name = "qtcanvas3d-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtcharts = {
-    version = "2.1.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtcharts-opensource-src-2.1.3.tar.xz";
-      sha256 = "0bvxmqx7094mq1svrv1i1jp6vl87r2mp7k9n3gqpixjmqaqsjdpn";
-      name = "qtcharts-opensource-src-2.1.3.tar.xz";
-    };
-  };
-  qtconnectivity = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtconnectivity-opensource-src-5.6.3.tar.xz";
-      sha256 = "1pnc0zmps5iw5yhn2w0wl8cnyxhcy88d3rnaiv62ljpsccynwh7s";
-      name = "qtconnectivity-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtdatavis3d = {
-    version = "1.2.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtdatavis3d-opensource-src-1.2.3.tar.xz";
-      sha256 = "0rqhr6s3fic91r6r1g2ws57j6ixvkh4zhcwh7savs1risx374vya";
-      name = "qtdatavis3d-opensource-src-1.2.3.tar.xz";
-    };
-  };
-  qtdeclarative = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtdeclarative-opensource-src-5.6.3.tar.xz";
-      sha256 = "1z4ih5jbydnk5dz0arhvwc54fjw7fynqx3rhm6f8lsyis19w0gzn";
-      name = "qtdeclarative-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtdeclarative-render2d = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtdeclarative-render2d-opensource-src-5.6.3.tar.xz";
-      sha256 = "0r2qn8l3wh73cj75rq34zmc6rgl7v11c31pjdcsybad76nw5wb2p";
-      name = "qtdeclarative-render2d-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtdoc = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtdoc-opensource-src-5.6.3.tar.xz";
-      sha256 = "11zhlry8hlql1q3pm4mf7qyky9i2irxqdrr9nr5m93wjyfsjbh7f";
-      name = "qtdoc-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtenginio = {
-    version = "1.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtenginio-opensource-src-1.6.3.tar.xz";
-      sha256 = "04ir5pa8wpkc7cq08s0b69a0vhkr7479ixn3m2vww4jm6l5hc1yr";
-      name = "qtenginio-opensource-src-1.6.3.tar.xz";
-    };
-  };
-  qtgraphicaleffects = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtgraphicaleffects-opensource-src-5.6.3.tar.xz";
-      sha256 = "1vcrm4jfmxjlw23dnwf45mzq2z5s4fz6j2znknr25ca5bqnmjhn7";
-      name = "qtgraphicaleffects-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtimageformats = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtimageformats-opensource-src-5.6.3.tar.xz";
-      sha256 = "1hs8b258xsbc4xb4844mas9ka54f5cfhhszblawwjxn9j0ydmr7g";
-      name = "qtimageformats-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtlocation = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtlocation-opensource-src-5.6.3.tar.xz";
-      sha256 = "0rhlmyi5kkhl1bimaj1fmp36v7x5r79j3flgx9dv27rkric1ra5p";
-      name = "qtlocation-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtmacextras = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtmacextras-opensource-src-5.6.3.tar.xz";
-      sha256 = "10v2a058yv6k76gg9dgpy4fc0xd652dknzsw5432gm8d9391382i";
-      name = "qtmacextras-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtmultimedia = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtmultimedia-opensource-src-5.6.3.tar.xz";
-      sha256 = "0ihvbv0ldravbrx6406ps0z8y6521iz6h58n5ws44xq3m2g06dmf";
-      name = "qtmultimedia-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtpurchasing = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtpurchasing-opensource-src-5.6.3.tar.xz";
-      sha256 = "0lf269jzd6y4x5bxjwgz9dpw7hxmc6sp39qpxwlswd505cf0wgd7";
-      name = "qtpurchasing-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtquickcontrols = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols-opensource-src-5.6.3.tar.xz";
-      sha256 = "13nvn0d2i4lf4igc1xqf7m98n4j66az1bi02zzv5m18vyb40zfri";
-      name = "qtquickcontrols-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtquickcontrols2 = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols2-opensource-src-5.6.3.tar.xz";
-      sha256 = "1jw1zykrx8aa9p781hc74h9za7lnnm4ifpdyqa4ahbdy193phl7c";
-      name = "qtquickcontrols2-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtscript = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtscript-opensource-src-5.6.3.tar.xz";
-      sha256 = "12dkf2s1l9y9cwdyayg2mpnwvx14kq93pymp3iy3fw1s1vfj11zh";
-      name = "qtscript-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtsensors = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtsensors-opensource-src-5.6.3.tar.xz";
-      sha256 = "0ws96fmk5zz9szrw9x1dwa6gnv9rpv1q0h9ax9z5m1kiapfd80km";
-      name = "qtsensors-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtserialbus = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtserialbus-opensource-src-5.6.3.tar.xz";
-      sha256 = "17lskz4r549hc02riv0a3jdjbyaq4y4a94xd3jhy454lhzirpj3i";
-      name = "qtserialbus-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtserialport = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtserialport-opensource-src-5.6.3.tar.xz";
-      sha256 = "06mfkd88rcn4p8pfzsyqbfg956vwwcql0khchjgx3bh34zp1yb88";
-      name = "qtserialport-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtsvg = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtsvg-opensource-src-5.6.3.tar.xz";
-      sha256 = "1v6wz8fcgsh4lfv68bhavms0l1z3mcn8vggakc3m8rdl2wsih3qh";
-      name = "qtsvg-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qttools = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qttools-opensource-src-5.6.3.tar.xz";
-      sha256 = "09krlrgcglylsv7xx4r681v7zmyy6nr8j18482skrmsqh21vlqqs";
-      name = "qttools-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qttranslations = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qttranslations-opensource-src-5.6.3.tar.xz";
-      sha256 = "1avcfymi9bxk02i1rqh89c6hnvf4bg9qry94z29g1r62c80lxvbd";
-      name = "qttranslations-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtvirtualkeyboard = {
-    version = "2.0";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtvirtualkeyboard-opensource-src-2.0.tar.xz";
-      sha256 = "1v0saqz76h9gnb13b8mri4jq93i7f1gr7hj81zj3vz433s2klm0x";
-      name = "qtvirtualkeyboard-opensource-src-2.0.tar.xz";
-    };
-  };
-  qtwayland = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwayland-opensource-src-5.6.3.tar.xz";
-      sha256 = "18ys14fzjybx02aj85vyqzsp89ypv2c6vfpklxzslwyvn9w54iss";
-      name = "qtwayland-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtwebchannel = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwebchannel-opensource-src-5.6.3.tar.xz";
-      sha256 = "04q7wmdnv4pskah2s5nnrzbsb207fvkj333m69wkqrc64anb1ccf";
-      name = "qtwebchannel-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtwebengine = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwebengine-opensource-src-5.6.3.tar.xz";
-      sha256 = "19xpvnjwrjpj6wx7sy1cs1r1ibnh5hqfk9w9rnqf5h7n77xnk780";
-      name = "qtwebengine-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtwebkit = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/community_releases/5.6/5.6.3/qtwebkit-opensource-src-5.6.3.tar.xz";
-      sha256 = "15iqgaw3jznfq1mdg1mmr7pn8w3qhw964h5m36vg3ywqayr6p309";
-      name = "qtwebkit-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtwebkit-examples = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/community_releases/5.6/5.6.3/qtwebkit-examples-opensource-src-5.6.3.tar.xz";
-      sha256 = "17hnls8j4wz0kyzzq7m3105lqz71zsxr0hya7i23pl4qc8affv1d";
-      name = "qtwebkit-examples-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtwebsockets = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwebsockets-opensource-src-5.6.3.tar.xz";
-      sha256 = "1sr8q0wqw4xwcdl6nvnv04pcjxb0fbs4ywrkcghdz2bcc52r0hx2";
-      name = "qtwebsockets-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtwebview = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwebview-opensource-src-5.6.3.tar.xz";
-      sha256 = "076q9g2ca41v8lyhn7354rs8w2ca0wp2hsxc76zprzghi5p4b2kn";
-      name = "qtwebview-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtwinextras = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwinextras-opensource-src-5.6.3.tar.xz";
-      sha256 = "0nmhvd1g18w12q6i8s87aq7rwikcn1m8m9m0a02l3p22xvimkxzf";
-      name = "qtwinextras-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtx11extras = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtx11extras-opensource-src-5.6.3.tar.xz";
-      sha256 = "0zv70z5z48wlg0q2zd7nbp7i0wimdcalns6yg0mjp7v2w2b8wyhy";
-      name = "qtx11extras-opensource-src-5.6.3.tar.xz";
-    };
-  };
-  qtxmlpatterns = {
-    version = "5.6.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtxmlpatterns-opensource-src-5.6.3.tar.xz";
-      sha256 = "1xjimf88j2s5jrqgr9ki82zmis8r979rrzq4k6dxw43k1ngzyqd4";
-      name = "qtxmlpatterns-opensource-src-5.6.3.tar.xz";
-    };
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix
index 52c763263b5..b27c5d3eb58 100644
--- a/pkgs/development/libraries/qt-5/5.9/default.nix
+++ b/pkgs/development/libraries/qt-5/5.9/default.nix
@@ -36,7 +36,11 @@ let
   srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
 
   patches = {
-    qtbase = [ ./qtbase.patch ./qtbase-fixguicmake.patch ];
+    qtbase = [
+      ./qtbase.patch
+      ./qtbase-fixguicmake.patch
+      ./qtbase-openssl_1_1.patch
+    ];
     qtdeclarative = [ ./qtdeclarative.patch ];
     qtscript = [ ./qtscript.patch ];
     qtserialport = [ ./qtserialport.patch ];
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch b/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch
new file mode 100644
index 00000000000..d5f4d7527cb
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch
@@ -0,0 +1,3985 @@
+commit 2d88fc0ce4ac76924a65ffd797183de9422ba672
+Author: Andreas Rammhold <andreas@rammhold.de>
+Date:   Wed Mar 6 00:18:51 2019 +0100
+
+    openssl1.1 compat
+
+diff --git a/config.tests/openssl/openssl.cpp b/config.tests/openssl/openssl.cpp
+index 6c8a9e8f19..d33b62389c 100644
+--- a/config.tests/openssl/openssl.cpp
++++ b/config.tests/openssl/openssl.cpp
+@@ -39,8 +39,8 @@
+ 
+ #include <openssl/opensslv.h>
+ 
+-#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL || OPENSSL_VERSION_NUMBER-0 >= 0x10100000L
+-#  error "OpenSSL >= 0.9.7, and < 1.1.0 is required"
++#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL
++#  error "OpenSSL >= 0.9.7 is required"
+ #endif
+ 
+ #include <openssl/ssl.h>
+diff --git a/config.tests/openssl11/openssl.cpp b/config.tests/openssl11/openssl.cpp
+new file mode 100644
+index 0000000000..c20cc59deb
+--- /dev/null
++++ b/config.tests/openssl11/openssl.cpp
+@@ -0,0 +1,48 @@
++/****************************************************************************
++**
++** Copyright (C) 2017 The Qt Company Ltd.
++** Contact: https://www.qt.io/licensing/
++**
++** This file is part of the config.tests of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see https://www.qt.io/terms-conditions. For further
++** information use the contact form at https://www.qt.io/contact-us.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 3 as published by the Free Software
++** Foundation and appearing in the file LICENSE.LGPL3 included in the
++** packaging of this file. Please review the following information to
++** ensure the GNU Lesser General Public License version 3 requirements
++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 2.0 or (at your option) the GNU General
++** Public license version 3 or any later version approved by the KDE Free
++** Qt Foundation. The licenses are as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
++** included in the packaging of this file. Please review the following
++** information to ensure the GNU General Public License requirements will
++** be met: https://www.gnu.org/licenses/gpl-2.0.html and
++** https://www.gnu.org/licenses/gpl-3.0.html.
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++#include <openssl/opensslv.h>
++
++#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L
++#  error "OpenSSL >= 1.1 is required"
++#endif
++
++int main()
++{
++}
+diff --git a/config.tests/openssl11/openssl11.pro b/config.tests/openssl11/openssl11.pro
+new file mode 100644
+index 0000000000..a023aee4aa
+--- /dev/null
++++ b/config.tests/openssl11/openssl11.pro
+@@ -0,0 +1,2 @@
++SOURCES = openssl.cpp
++CONFIG -= x11 qt
+diff --git a/src/network/configure.json b/src/network/configure.json
+index 2cf90ed94b..a021c0734b 100644
+--- a/src/network/configure.json
++++ b/src/network/configure.json
+@@ -77,6 +77,17 @@
+                 },
+                 { "libs": "-lssl -lcrypto", "condition": "!config.win32" }
+             ]
++        },
++        "openssl11": {
++            "label": "OpenSSL v. 1.1 support",
++            "type": "compile",
++            "test": "openssl11",
++	    "sources": [
++		{
++                    "comment": "placeholder for OPENSSL_PATH",
++                    "libs": ""
++                }
++	    ]
+         }
+     },
+ 
+@@ -182,7 +193,7 @@
+             "enable": "input.openssl == 'yes' || input.openssl == 'linked' || input.openssl == 'runtime'",
+             "disable": "input.openssl == 'no' || input.ssl == 'no'",
+             "autoDetect": "!config.winrt",
+-            "condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers)",
++            "condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers || feature.opensslv11)",
+             "output": [
+                 "privateFeature",
+                 { "type": "publicQtConfig", "condition": "!features.openssl-linked" },
+@@ -193,7 +204,7 @@
+             "label": "  Qt directly linked to OpenSSL",
+             "enable": "input.openssl == 'linked'",
+             "disable": "input.openssl != 'linked'",
+-            "condition": "!features.securetransport && libs.openssl",
++            "condition": "!features.securetransport && (libs.openssl || feature.opensslv11)",
+             "output": [
+                 "privateFeature",
+                 { "type": "define", "name": "QT_LINKED_OPENSSL" }
+@@ -213,6 +224,11 @@
+             "condition": "config.winrt || features.securetransport || features.openssl",
+             "output": [ "publicFeature", "feature" ]
+         },
++        "opensslv11": {
++            "label": "OpenSSL v. 1.1",
++            "condition": "libs.openssl11",
++            "output": ["publicFeature", "feature"]
++        },
+         "sctp": {
+             "label": "SCTP",
+             "autoDetect": false,
+diff --git a/src/network/ssl/qsslcertificate_openssl.cpp b/src/network/ssl/qsslcertificate_openssl.cpp
+index 28b7eda54a..71e514a025 100644
+--- a/src/network/ssl/qsslcertificate_openssl.cpp
++++ b/src/network/ssl/qsslcertificate_openssl.cpp
+@@ -1,6 +1,7 @@
+ /****************************************************************************
+ **
+-** Copyright (C) 2016 The Qt Company Ltd.
++** Copyright (C) 2017 The Qt Company Ltd.
++** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the QtNetwork module of the Qt Toolkit.
+@@ -64,12 +65,14 @@ bool QSslCertificate::operator==(const QSslCertificate &other) const
+ uint qHash(const QSslCertificate &key, uint seed) Q_DECL_NOTHROW
+ {
+     if (X509 * const x509 = key.d->x509) {
+-        (void)q_X509_cmp(x509, x509); // populate x509->sha1_hash
+-                                      // (if someone knows a better way...)
+-        return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed);
+-    } else {
+-        return seed;
++        const EVP_MD *sha1 = q_EVP_sha1();
++        unsigned int len = 0;
++        unsigned char md[EVP_MAX_MD_SIZE];
++        q_X509_digest(x509, sha1, md, &len);
++        return qHashBits(md, len, seed);
+     }
++
++    return seed;
+ }
+ 
+ bool QSslCertificate::isNull() const
+@@ -89,8 +92,7 @@ QByteArray QSslCertificate::version() const
+ {
+     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
+     if (d->versionString.isEmpty() && d->x509)
+-        d->versionString =
+-            QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
++        d->versionString = QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1);
+ 
+     return d->versionString;
+ }
+@@ -99,7 +101,7 @@ QByteArray QSslCertificate::serialNumber() const
+ {
+     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
+     if (d->serialNumberString.isEmpty() && d->x509) {
+-        ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
++        ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
+         QByteArray hexString;
+         hexString.reserve(serialNumber->length * 3);
+         for (int a = 0; a < serialNumber->length; ++a) {
+@@ -199,14 +201,15 @@ QMultiMap<QSsl::AlternativeNameEntryType, QString> QSslCertificate::subjectAlter
+                 continue;
+             }
+ 
+-            const char *altNameStr = reinterpret_cast<const char *>(q_ASN1_STRING_data(genName->d.ia5));
++            const char *altNameStr = reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(genName->d.ia5));
+             const QString altName = QString::fromLatin1(altNameStr, len);
+             if (genName->type == GEN_DNS)
+                 result.insert(QSsl::DnsEntry, altName);
+             else if (genName->type == GEN_EMAIL)
+                 result.insert(QSsl::EmailEntry, altName);
+         }
+-        q_sk_pop_free((STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_sk_free));
++
++        q_OPENSSL_sk_pop_free((OPENSSL_STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_OPENSSL_sk_free));
+     }
+ 
+     return result;
+@@ -235,25 +238,26 @@ QSslKey QSslCertificate::publicKey() const
+     QSslKey key;
+ 
+     key.d->type = QSsl::PublicKey;
+-    X509_PUBKEY *xkey = d->x509->cert_info->key;
+-    EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
++
++    EVP_PKEY *pkey = q_X509_get_pubkey(d->x509);
+     Q_ASSERT(pkey);
++    const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey));
+ 
+-    if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
++    if (keyType == EVP_PKEY_RSA) {
+         key.d->rsa = q_EVP_PKEY_get1_RSA(pkey);
+         key.d->algorithm = QSsl::Rsa;
+         key.d->isNull = false;
+-    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
++    } else if (keyType == EVP_PKEY_DSA) {
+         key.d->dsa = q_EVP_PKEY_get1_DSA(pkey);
+         key.d->algorithm = QSsl::Dsa;
+         key.d->isNull = false;
+ #ifndef OPENSSL_NO_EC
+-    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) {
++    } else if (keyType == EVP_PKEY_EC) {
+         key.d->ec = q_EVP_PKEY_get1_EC_KEY(pkey);
+         key.d->algorithm = QSsl::Ec;
+         key.d->isNull = false;
+ #endif
+-    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
++    } else if (keyType == EVP_PKEY_DH) {
+         // DH unsupported
+     } else {
+         // error?
+@@ -275,7 +279,7 @@ static QVariant x509UnknownExtensionToValue(X509_EXTENSION *ext)
+     X509V3_EXT_METHOD *meth = const_cast<X509V3_EXT_METHOD *>(q_X509V3_EXT_get(ext));
+     if (!meth) {
+         ASN1_OCTET_STRING *value = q_X509_EXTENSION_get_data(ext);
+-        QByteArray result( reinterpret_cast<const char *>(q_ASN1_STRING_data(value)),
++        QByteArray result( reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(value)),
+                            q_ASN1_STRING_length(value));
+         return result;
+     }
+@@ -371,7 +375,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext)
+                         continue;
+                     }
+ 
+-                    const char *uriStr = reinterpret_cast<const char *>(q_ASN1_STRING_data(name->d.uniformResourceIdentifier));
++                    const char *uriStr = reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(name->d.uniformResourceIdentifier));
+                     const QString uri = QString::fromUtf8(uriStr, len);
+ 
+                     result[QString::fromUtf8(QSslCertificatePrivate::asn1ObjectName(ad->method))] = uri;
+@@ -380,11 +384,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext)
+                 }
+             }
+ 
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-            q_sk_pop_free((_STACK*)info, reinterpret_cast<void(*)(void*)>(q_sk_free));
+-#else
+-            q_sk_pop_free((STACK*)info, reinterpret_cast<void(*)(void*)>(q_sk_free));
+-#endif
++            q_OPENSSL_sk_pop_free((OPENSSL_STACK*)info, reinterpret_cast<void(*)(void *)>(q_OPENSSL_sk_free));
+             return result;
+         }
+         break;
+@@ -607,7 +607,11 @@ static QMap<QByteArray, QString> _q_mapFromX509Name(X509_NAME *name)
+         unsigned char *data = 0;
+         int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e));
+         info.insertMulti(name, QString::fromUtf8((char*)data, size));
++#if QT_CONFIG(opensslv11)
++        q_CRYPTO_free(data, 0, 0);
++#else
+         q_CRYPTO_free(data);
++#endif
+     }
+ 
+     return info;
+@@ -619,8 +623,9 @@ QSslCertificate QSslCertificatePrivate::QSslCertificate_from_X509(X509 *x509)
+     if (!x509 || !QSslSocket::supportsSsl())
+         return certificate;
+ 
+-    ASN1_TIME *nbef = q_X509_get_notBefore(x509);
+-    ASN1_TIME *naft = q_X509_get_notAfter(x509);
++    ASN1_TIME *nbef = q_X509_getm_notBefore(x509);
++    ASN1_TIME *naft = q_X509_getm_notAfter(x509);
++
+     certificate.d->notValidBefore = q_getTimeFromASN1(nbef);
+     certificate.d->notValidAfter = q_getTimeFromASN1(naft);
+     certificate.d->null = false;
+diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
+index c92d8fc3f8..cef503710c 100644
+--- a/src/network/ssl/qsslcontext_openssl.cpp
++++ b/src/network/ssl/qsslcontext_openssl.cpp
+@@ -1,6 +1,6 @@
+ /****************************************************************************
+ **
+-** Copyright (C) 2016 The Qt Company Ltd.
++** Copyright (C) 2017 The Qt Company Ltd.
+ ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
+ ** Copyright (C) 2014 Governikus GmbH & Co. KG.
+ ** Contact: https://www.qt.io/licensing/
+@@ -41,22 +41,14 @@
+ 
+ 
+ #include <QtNetwork/qsslsocket.h>
+-#include <QtNetwork/qssldiffiehellmanparameters.h>
+-#include <QtCore/qmutex.h>
+ 
+ #include "private/qssl_p.h"
+ #include "private/qsslcontext_openssl_p.h"
+-#include "private/qsslsocket_p.h"
+ #include "private/qsslsocket_openssl_p.h"
+ #include "private/qsslsocket_openssl_symbols_p.h"
+-#include "private/qssldiffiehellmanparameters_p.h"
+ 
+ QT_BEGIN_NAMESPACE
+ 
+-// defined in qsslsocket_openssl.cpp:
+-extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
+-extern QString getErrorsFromOpenSsl();
+-
+ QSslContext::QSslContext()
+     : ctx(0),
+     pkey(0),
+@@ -78,301 +70,6 @@ QSslContext::~QSslContext()
+         q_SSL_SESSION_free(session);
+ }
+ 
+-static inline QString msgErrorSettingEllipticCurves(const QString &why)
+-{
+-    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
+-}
+-
+-// static
+-void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
+-{
+-    sslContext->sslConfiguration = configuration;
+-    sslContext->errorCode = QSslError::NoError;
+-
+-    bool client = (mode == QSslSocket::SslClientMode);
+-
+-    bool reinitialized = false;
+-    bool unsupportedProtocol = false;
+-init_context:
+-    switch (sslContext->sslConfiguration.protocol()) {
+-    case QSsl::SslV2:
+-#ifndef OPENSSL_NO_SSL2
+-        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method());
+-#else
+-        // SSL 2 not supported by the system, but chosen deliberately -> error
+-        sslContext->ctx = 0;
+-        unsupportedProtocol = true;
+-#endif
+-        break;
+-    case QSsl::SslV3:
+-#ifndef OPENSSL_NO_SSL3_METHOD
+-        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
+-#else
+-        // SSL 3 not supported by the system, but chosen deliberately -> error
+-        sslContext->ctx = 0;
+-        unsupportedProtocol = true;
+-#endif
+-        break;
+-    case QSsl::SecureProtocols:
+-        // SSLv2 and SSLv3 will be disabled by SSL options
+-        // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32.
+-    case QSsl::TlsV1SslV3:
+-        // SSLv2 will will be disabled by SSL options
+-    case QSsl::AnyProtocol:
+-    default:
+-        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
+-        break;
+-    case QSsl::TlsV1_0:
+-        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method());
+-        break;
+-    case QSsl::TlsV1_1:
+-#if OPENSSL_VERSION_NUMBER >= 0x10001000L
+-        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method());
+-#else
+-        // TLS 1.1 not supported by the system, but chosen deliberately -> error
+-        sslContext->ctx = 0;
+-        unsupportedProtocol = true;
+-#endif
+-        break;
+-    case QSsl::TlsV1_2:
+-#if OPENSSL_VERSION_NUMBER >= 0x10001000L
+-        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method());
+-#else
+-        // TLS 1.2 not supported by the system, but chosen deliberately -> error
+-        sslContext->ctx = 0;
+-        unsupportedProtocol = true;
+-#endif
+-        break;
+-    case QSsl::TlsV1_0OrLater:
+-        // Specific protocols will be specified via SSL options.
+-        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
+-        break;
+-    case QSsl::TlsV1_1OrLater:
+-    case QSsl::TlsV1_2OrLater:
+-#if OPENSSL_VERSION_NUMBER >= 0x10001000L
+-        // Specific protocols will be specified via SSL options.
+-        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
+-#else
+-        // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error
+-        sslContext->ctx = 0;
+-        unsupportedProtocol = true;
+-#endif
+-        break;
+-    }
+-
+-    if (!sslContext->ctx) {
+-        // After stopping Flash 10 the SSL library looses its ciphers. Try re-adding them
+-        // by re-initializing the library.
+-        if (!reinitialized) {
+-            reinitialized = true;
+-            if (q_SSL_library_init() == 1)
+-                goto init_context;
+-        }
+-
+-        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
+-            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
+-        );
+-        sslContext->errorCode = QSslError::UnspecifiedError;
+-        return;
+-    }
+-
+-    // Enable bug workarounds.
+-    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
+-    q_SSL_CTX_set_options(sslContext->ctx, options);
+-
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-    // Tell OpenSSL to release memory early
+-    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
+-    if (q_SSLeay() >= 0x10000000L)
+-        q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
+-#endif
+-
+-    // Initialize ciphers
+-    QByteArray cipherString;
+-    bool first = true;
+-    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
+-    if (ciphers.isEmpty())
+-        ciphers = QSslSocketPrivate::defaultCiphers();
+-    for (const QSslCipher &cipher : qAsConst(ciphers)) {
+-        if (first)
+-            first = false;
+-        else
+-            cipherString.append(':');
+-        cipherString.append(cipher.name().toLatin1());
+-    }
+-
+-    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
+-        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
+-        sslContext->errorCode = QSslError::UnspecifiedError;
+-        return;
+-    }
+-
+-    const QDateTime now = QDateTime::currentDateTimeUtc();
+-
+-    // Add all our CAs to this store.
+-    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
+-    for (const QSslCertificate &caCertificate : caCertificates) {
+-        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
+-        //
+-        // If several CA certificates matching the name, key identifier, and
+-        // serial number condition are available, only the first one will be
+-        // examined. This may lead to unexpected results if the same CA
+-        // certificate is available with different expiration dates. If a
+-        // ``certificate expired'' verification error occurs, no other
+-        // certificate will be searched. Make sure to not have expired
+-        // certificates mixed with valid ones.
+-        //
+-        // See also: QSslSocketBackendPrivate::verify()
+-        if (caCertificate.expiryDate() >= now) {
+-            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
+-        }
+-    }
+-
+-    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
+-        // tell OpenSSL the directories where to look up the root certs on demand
+-        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
+-        for (const QByteArray &unixDir : unixDirs)
+-            q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData());
+-    }
+-
+-    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
+-        // Require a private key as well.
+-        if (sslContext->sslConfiguration.privateKey().isNull()) {
+-            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
+-            sslContext->errorCode = QSslError::UnspecifiedError;
+-            return;
+-        }
+-
+-        // Load certificate
+-        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
+-            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
+-            sslContext->errorCode = QSslError::UnspecifiedError;
+-            return;
+-        }
+-
+-        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
+-            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
+-        } else {
+-            // Load private key
+-            sslContext->pkey = q_EVP_PKEY_new();
+-            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
+-            // this lead to a memory leak. Now we use the *_set1_* functions which do not
+-            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
+-            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
+-                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
+-            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
+-                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
+-#ifndef OPENSSL_NO_EC
+-            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
+-                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
+-#endif
+-        }
+-
+-        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
+-            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
+-            sslContext->errorCode = QSslError::UnspecifiedError;
+-            return;
+-        }
+-        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
+-            sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey
+-
+-        // Check if the certificate matches the private key.
+-        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
+-            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
+-            sslContext->errorCode = QSslError::UnspecifiedError;
+-            return;
+-        }
+-
+-        // If we have any intermediate certificates then we need to add them to our chain
+-        bool first = true;
+-        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
+-            if (first) {
+-                first = false;
+-                continue;
+-            }
+-            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
+-                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
+-        }
+-    }
+-
+-    // Initialize peer verification.
+-    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
+-        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0);
+-    } else {
+-        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
+-    }
+-
+-    // Set verification depth.
+-    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
+-        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
+-
+-    // set persisted session if the user set it
+-    if (!configuration.sessionTicket().isEmpty())
+-        sslContext->setSessionASN1(configuration.sessionTicket());
+-
+-    // Set temp DH params
+-    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
+-
+-    if (!dhparams.isValid()) {
+-        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
+-        sslContext->errorCode = QSslError::UnspecifiedError;
+-        return;
+-    }
+-
+-    if (!dhparams.isEmpty()) {
+-        const QByteArray &params = dhparams.d->derData;
+-        const char *ptr = params.constData();
+-        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
+-        if (dh == NULL)
+-            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
+-        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
+-        q_DH_free(dh);
+-    }
+-
+-#ifndef OPENSSL_NO_EC
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
+-    if (q_SSLeay() >= 0x10002000L) {
+-        q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL);
+-    } else
+-#endif
+-    {
+-        // Set temp ECDH params
+-        EC_KEY *ecdh = 0;
+-        ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
+-        q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh);
+-        q_EC_KEY_free(ecdh);
+-    }
+-#endif // OPENSSL_NO_EC
+-
+-#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
+-    if (!client)
+-        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
+-#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
+-
+-    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
+-    if (!qcurves.isEmpty()) {
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
+-        // Set the curves to be used
+-        if (q_SSLeay() >= 0x10002000L) {
+-            // SSL_CTX_ctrl wants a non-const pointer as last argument,
+-            // but let's avoid a copy into a temporary array
+-            if (!q_SSL_CTX_ctrl(sslContext->ctx,
+-                                SSL_CTRL_SET_CURVES,
+-                                qcurves.size(),
+-                                const_cast<int *>(reinterpret_cast<const int *>(qcurves.data())))) {
+-                sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
+-                sslContext->errorCode = QSslError::UnspecifiedError;
+-            }
+-        } else
+-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
+-        {
+-            // specific curves requested, but not possible to set -> error
+-            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
+-            sslContext->errorCode = QSslError::UnspecifiedError;
+-        }
+-    }
+-}
+-
+ QSslContext* QSslContext::fromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
+ {
+     QSslContext *sslContext = new QSslContext();
+@@ -463,7 +160,7 @@ SSL* QSslContext::createSsl()
+         m_npnContext.len = m_supportedNPNVersions.count();
+         m_npnContext.status = QSslConfiguration::NextProtocolNegotiationNone;
+ #if OPENSSL_VERSION_NUMBER >= 0x10002000L
+-        if (q_SSLeay() >= 0x10002000L) {
++        if (QSslSocket::sslLibraryVersionNumber() >= 0x10002000L) {
+             // Callback's type has a parameter 'const unsigned char ** out'
+             // since it was introduced in 1.0.2. Internally, OpenSSL's own code
+             // (tests/examples) cast it to unsigned char * (since it's 'out').
+@@ -508,7 +205,7 @@ bool QSslContext::cacheSession(SSL* ssl)
+             unsigned char *data = reinterpret_cast<unsigned char *>(m_sessionASN1.data());
+             if (!q_i2d_SSL_SESSION(session, &data))
+                 qCWarning(lcSsl, "could not store persistent version of SSL session");
+-            m_sessionTicketLifeTimeHint = session->tlsext_tick_lifetime_hint;
++            m_sessionTicketLifeTimeHint = q_SSL_SESSION_get_ticket_lifetime_hint(session);
+         }
+     }
+ 
+diff --git a/src/network/ssl/qsslcontext_openssl11.cpp b/src/network/ssl/qsslcontext_openssl11.cpp
+new file mode 100644
+index 0000000000..787b6ae3f5
+--- /dev/null
++++ b/src/network/ssl/qsslcontext_openssl11.cpp
+@@ -0,0 +1,277 @@
++/****************************************************************************
++**
++** Copyright (C) 2017 The Qt Company Ltd.
++** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
++** Copyright (C) 2014 Governikus GmbH & Co. KG.
++** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
++** Contact: https://www.qt.io/licensing/
++**
++** This file is part of the QtNetwork module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see https://www.qt.io/terms-conditions. For further
++** information use the contact form at https://www.qt.io/contact-us.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 3 as published by the Free Software
++** Foundation and appearing in the file LICENSE.LGPL3 included in the
++** packaging of this file. Please review the following information to
++** ensure the GNU Lesser General Public License version 3 requirements
++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 2.0 or (at your option) the GNU General
++** Public license version 3 or any later version approved by the KDE Free
++** Qt Foundation. The licenses are as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
++** included in the packaging of this file. Please review the following
++** information to ensure the GNU General Public License requirements will
++** be met: https://www.gnu.org/licenses/gpl-2.0.html and
++** https://www.gnu.org/licenses/gpl-3.0.html.
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++
++#include <QtNetwork/qsslsocket.h>
++#include <QtNetwork/qssldiffiehellmanparameters.h>
++
++#include "private/qssl_p.h"
++#include "private/qsslcontext_openssl_p.h"
++#include "private/qsslsocket_p.h"
++#include "private/qsslsocket_openssl_p.h"
++#include "private/qsslsocket_openssl_symbols_p.h"
++#include "private/qssldiffiehellmanparameters_p.h"
++
++#include <vector>
++
++QT_BEGIN_NAMESPACE
++
++// defined in qsslsocket_openssl.cpp:
++extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
++extern QString getErrorsFromOpenSsl();
++
++static inline QString msgErrorSettingEllipticCurves(const QString &why)
++{
++    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
++}
++
++// static
++void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
++{
++    sslContext->sslConfiguration = configuration;
++    sslContext->errorCode = QSslError::NoError;
++
++    bool client = (mode == QSslSocket::SslClientMode);
++
++    bool reinitialized = false;
++    bool unsupportedProtocol = false;
++init_context:
++    if (sslContext->sslConfiguration.protocol() == QSsl::SslV2) {
++        // SSL 2 is no longer supported, but chosen deliberately -> error
++        sslContext->ctx = nullptr;
++        unsupportedProtocol = true;
++    } else {
++        // The ssl options will actually control the supported methods
++        sslContext->ctx = q_SSL_CTX_new(client ? q_TLS_client_method() : q_TLS_server_method());
++    }
++
++    if (!sslContext->ctx) {
++        // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them
++        // by re-initializing the library.
++        if (!reinitialized) {
++            reinitialized = true;
++            if (q_OPENSSL_init_ssl(0, nullptr) == 1)
++                goto init_context;
++        }
++
++        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
++            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
++        );
++        sslContext->errorCode = QSslError::UnspecifiedError;
++        return;
++    }
++
++    // Enable bug workarounds.
++    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
++    q_SSL_CTX_set_options(sslContext->ctx, options);
++
++    // Tell OpenSSL to release memory early
++    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
++    q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
++
++    // Initialize ciphers
++    QByteArray cipherString;
++    bool first = true;
++    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
++    if (ciphers.isEmpty())
++        ciphers = QSslSocketPrivate::defaultCiphers();
++    for (const QSslCipher &cipher : qAsConst(ciphers)) {
++        if (first)
++            first = false;
++        else
++            cipherString.append(':');
++        cipherString.append(cipher.name().toLatin1());
++    }
++
++    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
++        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++        sslContext->errorCode = QSslError::UnspecifiedError;
++        return;
++    }
++
++    const QDateTime now = QDateTime::currentDateTimeUtc();
++
++    // Add all our CAs to this store.
++    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
++    for (const QSslCertificate &caCertificate : caCertificates) {
++        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
++        //
++        // If several CA certificates matching the name, key identifier, and
++        // serial number condition are available, only the first one will be
++        // examined. This may lead to unexpected results if the same CA
++        // certificate is available with different expiration dates. If a
++        // ``certificate expired'' verification error occurs, no other
++        // certificate will be searched. Make sure to not have expired
++        // certificates mixed with valid ones.
++        //
++        // See also: QSslSocketBackendPrivate::verify()
++        if (caCertificate.expiryDate() >= now) {
++            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
++        }
++    }
++
++    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
++        // tell OpenSSL the directories where to look up the root certs on demand
++        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
++        for (const QByteArray &unixDir : unixDirs)
++            q_SSL_CTX_load_verify_locations(sslContext->ctx, nullptr, unixDir.constData());
++    }
++
++    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
++        // Require a private key as well.
++        if (sslContext->sslConfiguration.privateKey().isNull()) {
++            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++            sslContext->errorCode = QSslError::UnspecifiedError;
++            return;
++        }
++
++        // Load certificate
++        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
++            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++            sslContext->errorCode = QSslError::UnspecifiedError;
++            return;
++        }
++
++        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
++            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
++        } else {
++            // Load private key
++            sslContext->pkey = q_EVP_PKEY_new();
++            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
++            // this lead to a memory leak. Now we use the *_set1_* functions which do not
++            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
++            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
++                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
++            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
++                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
++#ifndef OPENSSL_NO_EC
++            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
++                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
++#endif
++        }
++
++        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
++            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++            sslContext->errorCode = QSslError::UnspecifiedError;
++            return;
++        }
++        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
++            sslContext->pkey = nullptr; // Don't free the private key, it belongs to QSslKey
++
++        // Check if the certificate matches the private key.
++        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
++            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++            sslContext->errorCode = QSslError::UnspecifiedError;
++            return;
++        }
++
++        // If we have any intermediate certificates then we need to add them to our chain
++        bool first = true;
++        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
++            if (first) {
++                first = false;
++                continue;
++            }
++            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
++                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
++        }
++    }
++
++    // Initialize peer verification.
++    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
++        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, nullptr);
++    } else {
++        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
++    }
++
++    // Set verification depth.
++    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
++        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
++
++    // set persisted session if the user set it
++    if (!configuration.sessionTicket().isEmpty())
++        sslContext->setSessionASN1(configuration.sessionTicket());
++
++    // Set temp DH params
++    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
++
++    if (!dhparams.isValid()) {
++        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
++        sslContext->errorCode = QSslError::UnspecifiedError;
++        return;
++    }
++
++    if (!dhparams.isEmpty()) {
++        const QByteArray &params = dhparams.d->derData;
++        const char *ptr = params.constData();
++        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
++        if (dh == NULL)
++            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
++        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
++        q_DH_free(dh);
++    }
++
++#ifndef OPENSSL_NO_PSK
++    if (!client)
++        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
++#endif // !OPENSSL_NO_PSK
++
++    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
++    if (!qcurves.isEmpty()) {
++#ifdef OPENSSL_NO_EC
++        sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version with disabled elliptic curves"));
++        sslContext->errorCode = QSslError::UnspecifiedError;
++#else
++        // Set the curves to be used.
++        std::vector<int> curves;
++        curves.reserve(qcurves.size());
++        for (const auto &sslCurve : qcurves)
++            curves.push_back(sslCurve.id);
++        if (!q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_CURVES, long(curves.size()), &curves[0])) {
++            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++            sslContext->errorCode = QSslError::UnspecifiedError;
++        }
++#endif
++    }
++}
++
++QT_END_NAMESPACE
+diff --git a/src/network/ssl/qsslcontext_opensslpre11.cpp b/src/network/ssl/qsslcontext_opensslpre11.cpp
+new file mode 100644
+index 0000000000..9c01c2f2dc
+--- /dev/null
++++ b/src/network/ssl/qsslcontext_opensslpre11.cpp
+@@ -0,0 +1,354 @@
++/****************************************************************************
++**
++** Copyright (C) 2017 The Qt Company Ltd.
++** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
++** Copyright (C) 2014 Governikus GmbH & Co. KG.
++** Contact: https://www.qt.io/licensing/
++**
++** This file is part of the QtNetwork module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see https://www.qt.io/terms-conditions. For further
++** information use the contact form at https://www.qt.io/contact-us.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 3 as published by the Free Software
++** Foundation and appearing in the file LICENSE.LGPL3 included in the
++** packaging of this file. Please review the following information to
++** ensure the GNU Lesser General Public License version 3 requirements
++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 2.0 or (at your option) the GNU General
++** Public license version 3 or any later version approved by the KDE Free
++** Qt Foundation. The licenses are as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
++** included in the packaging of this file. Please review the following
++** information to ensure the GNU General Public License requirements will
++** be met: https://www.gnu.org/licenses/gpl-2.0.html and
++** https://www.gnu.org/licenses/gpl-3.0.html.
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++
++#include <QtNetwork/qsslsocket.h>
++#include <QtNetwork/qssldiffiehellmanparameters.h>
++
++#include "private/qssl_p.h"
++#include "private/qsslcontext_openssl_p.h"
++#include "private/qsslsocket_p.h"
++#include "private/qsslsocket_openssl_p.h"
++#include "private/qsslsocket_openssl_symbols_p.h"
++#include "private/qssldiffiehellmanparameters_p.h"
++
++QT_BEGIN_NAMESPACE
++
++// defined in qsslsocket_openssl.cpp:
++extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
++extern QString getErrorsFromOpenSsl();
++
++static inline QString msgErrorSettingEllipticCurves(const QString &why)
++{
++    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
++}
++
++// static
++void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
++{
++    sslContext->sslConfiguration = configuration;
++    sslContext->errorCode = QSslError::NoError;
++
++    bool client = (mode == QSslSocket::SslClientMode);
++
++    bool reinitialized = false;
++    bool unsupportedProtocol = false;
++init_context:
++    switch (sslContext->sslConfiguration.protocol()) {
++    case QSsl::SslV2:
++#ifndef OPENSSL_NO_SSL2
++        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method());
++#else
++        // SSL 2 not supported by the system, but chosen deliberately -> error
++        sslContext->ctx = 0;
++        unsupportedProtocol = true;
++#endif
++        break;
++    case QSsl::SslV3:
++#ifndef OPENSSL_NO_SSL3_METHOD
++        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
++#else
++        // SSL 3 not supported by the system, but chosen deliberately -> error
++        sslContext->ctx = 0;
++        unsupportedProtocol = true;
++#endif
++        break;
++    case QSsl::SecureProtocols:
++        // SSLv2 and SSLv3 will be disabled by SSL options
++        // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32.
++    case QSsl::TlsV1SslV3:
++        // SSLv2 will will be disabled by SSL options
++    case QSsl::AnyProtocol:
++    default:
++        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
++        break;
++    case QSsl::TlsV1_0:
++        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method());
++        break;
++    case QSsl::TlsV1_1:
++#if OPENSSL_VERSION_NUMBER >= 0x10001000L
++        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method());
++#else
++        // TLS 1.1 not supported by the system, but chosen deliberately -> error
++        sslContext->ctx = 0;
++        unsupportedProtocol = true;
++#endif
++        break;
++    case QSsl::TlsV1_2:
++#if OPENSSL_VERSION_NUMBER >= 0x10001000L
++        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method());
++#else
++        // TLS 1.2 not supported by the system, but chosen deliberately -> error
++        sslContext->ctx = 0;
++        unsupportedProtocol = true;
++#endif
++        break;
++    case QSsl::TlsV1_0OrLater:
++        // Specific protocols will be specified via SSL options.
++        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
++        break;
++    case QSsl::TlsV1_1OrLater:
++    case QSsl::TlsV1_2OrLater:
++#if OPENSSL_VERSION_NUMBER >= 0x10001000L
++        // Specific protocols will be specified via SSL options.
++        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
++#else
++        // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error
++        sslContext->ctx = 0;
++        unsupportedProtocol = true;
++#endif
++        break;
++    }
++
++    if (!sslContext->ctx) {
++        // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them
++        // by re-initializing the library.
++        if (!reinitialized) {
++            reinitialized = true;
++            if (q_SSL_library_init() == 1)
++                goto init_context;
++        }
++
++        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
++            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
++        );
++        sslContext->errorCode = QSslError::UnspecifiedError;
++        return;
++    }
++
++    // Enable bug workarounds.
++    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
++    q_SSL_CTX_set_options(sslContext->ctx, options);
++
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++    // Tell OpenSSL to release memory early
++    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
++    if (q_SSLeay() >= 0x10000000L)
++        q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
++#endif
++
++    // Initialize ciphers
++    QByteArray cipherString;
++    bool first = true;
++    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
++    if (ciphers.isEmpty())
++        ciphers = QSslSocketPrivate::defaultCiphers();
++    for (const QSslCipher &cipher : qAsConst(ciphers)) {
++        if (first)
++            first = false;
++        else
++            cipherString.append(':');
++        cipherString.append(cipher.name().toLatin1());
++    }
++
++    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
++        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++        sslContext->errorCode = QSslError::UnspecifiedError;
++        return;
++    }
++
++    const QDateTime now = QDateTime::currentDateTimeUtc();
++
++    // Add all our CAs to this store.
++    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
++    for (const QSslCertificate &caCertificate : caCertificates) {
++        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
++        //
++        // If several CA certificates matching the name, key identifier, and
++        // serial number condition are available, only the first one will be
++        // examined. This may lead to unexpected results if the same CA
++        // certificate is available with different expiration dates. If a
++        // ``certificate expired'' verification error occurs, no other
++        // certificate will be searched. Make sure to not have expired
++        // certificates mixed with valid ones.
++        //
++        // See also: QSslSocketBackendPrivate::verify()
++        if (caCertificate.expiryDate() >= now) {
++            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
++        }
++    }
++
++    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
++        // tell OpenSSL the directories where to look up the root certs on demand
++        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
++        for (const QByteArray &unixDir : unixDirs)
++            q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData());
++    }
++
++    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
++        // Require a private key as well.
++        if (sslContext->sslConfiguration.privateKey().isNull()) {
++            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++            sslContext->errorCode = QSslError::UnspecifiedError;
++            return;
++        }
++
++        // Load certificate
++        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
++            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++            sslContext->errorCode = QSslError::UnspecifiedError;
++            return;
++        }
++
++        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
++            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
++        } else {
++            // Load private key
++            sslContext->pkey = q_EVP_PKEY_new();
++            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
++            // this lead to a memory leak. Now we use the *_set1_* functions which do not
++            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
++            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
++                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
++            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
++                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
++#ifndef OPENSSL_NO_EC
++            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
++                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
++#endif
++        }
++
++        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
++            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++            sslContext->errorCode = QSslError::UnspecifiedError;
++            return;
++        }
++        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
++            sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey
++
++        // Check if the certificate matches the private key.
++        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
++            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++            sslContext->errorCode = QSslError::UnspecifiedError;
++            return;
++        }
++
++        // If we have any intermediate certificates then we need to add them to our chain
++        bool first = true;
++        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
++            if (first) {
++                first = false;
++                continue;
++            }
++            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
++                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
++        }
++    }
++
++    // Initialize peer verification.
++    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
++        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0);
++    } else {
++        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
++    }
++
++    // Set verification depth.
++    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
++        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
++
++    // set persisted session if the user set it
++    if (!configuration.sessionTicket().isEmpty())
++        sslContext->setSessionASN1(configuration.sessionTicket());
++
++    // Set temp DH params
++    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
++
++    if (!dhparams.isValid()) {
++        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
++        sslContext->errorCode = QSslError::UnspecifiedError;
++        return;
++    }
++
++    if (!dhparams.isEmpty()) {
++        const QByteArray &params = dhparams.d->derData;
++        const char *ptr = params.constData();
++        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
++        if (dh == NULL)
++            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
++        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
++        q_DH_free(dh);
++    }
++
++#ifndef OPENSSL_NO_EC
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++    if (q_SSLeay() >= 0x10002000L) {
++        q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL);
++    } else
++#endif
++    {
++        // Set temp ECDH params
++        EC_KEY *ecdh = 0;
++        ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
++        q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh);
++        q_EC_KEY_free(ecdh);
++    }
++#endif // OPENSSL_NO_EC
++
++#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
++    if (!client)
++        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
++#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
++
++    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
++    if (!qcurves.isEmpty()) {
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
++        // Set the curves to be used
++        if (q_SSLeay() >= 0x10002000L) {
++            // SSL_CTX_ctrl wants a non-const pointer as last argument,
++            // but let's avoid a copy into a temporary array
++            if (!q_SSL_CTX_ctrl(sslContext->ctx,
++                                SSL_CTRL_SET_CURVES,
++                                qcurves.size(),
++                                const_cast<int *>(reinterpret_cast<const int *>(qcurves.data())))) {
++                sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
++                sslContext->errorCode = QSslError::UnspecifiedError;
++            }
++        } else
++#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
++        {
++            // specific curves requested, but not possible to set -> error
++            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
++            sslContext->errorCode = QSslError::UnspecifiedError;
++        }
++    }
++}
++
++QT_END_NAMESPACE
+diff --git a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
+index 90687b05c5..5ebad822f1 100644
+--- a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
++++ b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
+@@ -1,6 +1,7 @@
+ /****************************************************************************
+ **
+ ** Copyright (C) 2015 Mikkel Krautz <mikkel@krautz.dk>
++** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the QtNetwork module of the Qt Toolkit.
+@@ -50,8 +51,8 @@
+ #include <QtCore/qdebug.h>
+ #endif
+ 
+-// For q_BN_is_word.
+ #include <openssl/bn.h>
++#include <openssl/dh.h>
+ 
+ QT_BEGIN_NAMESPACE
+ 
+@@ -62,13 +63,6 @@ static bool isSafeDH(DH *dh)
+ 
+     QSslSocketPrivate::ensureInitialized();
+ 
+-    // Mark p < 1024 bits as unsafe.
+-    if (q_BN_num_bits(dh->p) < 1024) {
+-        return false;
+-    }
+-
+-    if (q_DH_check(dh, &status) != 1)
+-        return false;
+ 
+     // From https://wiki.openssl.org/index.php/Diffie-Hellman_parameters:
+     //
+@@ -81,11 +75,39 @@ static bool isSafeDH(DH *dh)
+     //     Without the test, the IETF parameters would
+     //     fail validation. For details, see Diffie-Hellman
+     //     Parameter Check (when g = 2, must p mod 24 == 11?).
++#if QT_CONFIG(opensslv11)
++    // Mark p < 1024 bits as unsafe.
++    if (q_DH_bits(dh) < 1024)
++        return false;
++
++    if (q_DH_check(dh, &status) != 1)
++        return false;
++
++    const BIGNUM *p = nullptr;
++    const BIGNUM *q = nullptr;
++    const BIGNUM *g = nullptr;
++    q_DH_get0_pqg(dh, &p, &q, &g);
++
++    if (q_BN_is_word(const_cast<BIGNUM *>(g), DH_GENERATOR_2)) {
++        long residue = q_BN_mod_word(p, 24);
++        if (residue == 11 || residue == 23)
++            status &= ~DH_NOT_SUITABLE_GENERATOR;
++    }
++
++#else
++    // Mark p < 1024 bits as unsafe.
++    if (q_BN_num_bits(dh->p) < 1024)
++        return false;
++
++    if (q_DH_check(dh, &status) != 1)
++        return false;
++
+     if (q_BN_is_word(dh->g, DH_GENERATOR_2)) {
+         long residue = q_BN_mod_word(dh->p, 24);
+         if (residue == 11 || residue == 23)
+             status &= ~DH_NOT_SUITABLE_GENERATOR;
+     }
++#endif
+ 
+     bad |= DH_CHECK_P_NOT_PRIME;
+     bad |= DH_CHECK_P_NOT_SAFE_PRIME;
+diff --git a/src/network/ssl/qsslellipticcurve.h b/src/network/ssl/qsslellipticcurve.h
+index 231566063e..57dda19bad 100644
+--- a/src/network/ssl/qsslellipticcurve.h
++++ b/src/network/ssl/qsslellipticcurve.h
+@@ -80,6 +80,7 @@ private:
+     friend Q_DECL_CONSTEXPR bool operator==(QSslEllipticCurve lhs, QSslEllipticCurve rhs) Q_DECL_NOTHROW;
+     friend Q_DECL_CONSTEXPR uint qHash(QSslEllipticCurve curve, uint seed) Q_DECL_NOTHROW;
+ 
++    friend class QSslContext;
+     friend class QSslSocketPrivate;
+     friend class QSslSocketBackendPrivate;
+ };
+diff --git a/src/network/ssl/qsslellipticcurve_openssl.cpp b/src/network/ssl/qsslellipticcurve_openssl.cpp
+index e18197b703..8cd14837f0 100644
+--- a/src/network/ssl/qsslellipticcurve_openssl.cpp
++++ b/src/network/ssl/qsslellipticcurve_openssl.cpp
+@@ -1,6 +1,7 @@
+ /****************************************************************************
+ **
+ ** Copyright (C) 2014 Governikus GmbH & Co. KG.
++** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the QtNetwork module of the Qt Toolkit.
+@@ -78,17 +79,18 @@ QSslEllipticCurve QSslEllipticCurve::fromShortName(const QString &name)
+     QSslEllipticCurve result;
+ 
+ #ifndef OPENSSL_NO_EC
+-    const QByteArray curveNameLatin1 = name.toLatin1();
+ 
++    const QByteArray curveNameLatin1 = name.toLatin1();
+     int nid = q_OBJ_sn2nid(curveNameLatin1.data());
+ 
+ #if OPENSSL_VERSION_NUMBER >= 0x10002000L
+-    if (nid == 0 && q_SSLeay() >= 0x10002000L)
++    if (nid == 0 && QSslSocket::sslLibraryVersionNumber() >= 0x10002000L)
+         nid = q_EC_curve_nist2nid(curveNameLatin1.data());
+ #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
+ 
+     result.id = nid;
+-#endif
++
++#endif // !OPENSSL_NO_EC
+ 
+     return result;
+ }
+diff --git a/src/network/ssl/qsslkey_openssl.cpp b/src/network/ssl/qsslkey_openssl.cpp
+index 26119023d1..2b03af9441 100644
+--- a/src/network/ssl/qsslkey_openssl.cpp
++++ b/src/network/ssl/qsslkey_openssl.cpp
+@@ -1,6 +1,7 @@
+ /****************************************************************************
+ **
+-** Copyright (C) 2016 The Qt Company Ltd.
++** Copyright (C) 2017 The Qt Company Ltd.
++** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the QtNetwork module of the Qt Toolkit.
+@@ -87,33 +88,32 @@ bool QSslKeyPrivate::fromEVP_PKEY(EVP_PKEY *pkey)
+     if (pkey == nullptr)
+         return false;
+ 
+-    if (pkey->type == EVP_PKEY_RSA) {
++#if QT_CONFIG(opensslv11)
++    const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey));
++#else
++    const int keyType = pkey->type;
++#endif
++    if (keyType == EVP_PKEY_RSA) {
+         isNull = false;
+         algorithm = QSsl::Rsa;
+         type = QSsl::PrivateKey;
+ 
+-        rsa = q_RSA_new();
+-        memcpy(rsa, q_EVP_PKEY_get1_RSA(pkey), sizeof(RSA));
+-
++        rsa = q_EVP_PKEY_get1_RSA(pkey);
+         return true;
+-    }
+-    else if (pkey->type == EVP_PKEY_DSA) {
++    } else if (keyType == EVP_PKEY_DSA) {
+         isNull = false;
+         algorithm = QSsl::Dsa;
+         type = QSsl::PrivateKey;
+ 
+-        dsa = q_DSA_new();
+-        memcpy(dsa, q_EVP_PKEY_get1_DSA(pkey), sizeof(DSA));
+-
++        dsa = q_EVP_PKEY_get1_DSA(pkey);
+         return true;
+     }
+ #ifndef OPENSSL_NO_EC
+-    else if (pkey->type == EVP_PKEY_EC) {
++    else if (keyType == EVP_PKEY_EC) {
+         isNull = false;
+         algorithm = QSsl::Ec;
+         type = QSsl::PrivateKey;
+-        ec = q_EC_KEY_dup(q_EVP_PKEY_get1_EC_KEY(pkey));
+-
++        ec = q_EVP_PKEY_get1_EC_KEY(pkey);
+         return true;
+     }
+ #endif
+@@ -181,8 +181,8 @@ int QSslKeyPrivate::length() const
+         return -1;
+ 
+     switch (algorithm) {
+-        case QSsl::Rsa: return q_BN_num_bits(rsa->n);
+-        case QSsl::Dsa: return q_BN_num_bits(dsa->p);
++        case QSsl::Rsa: return q_RSA_bits(rsa);
++        case QSsl::Dsa: return q_DSA_bits(dsa);
+ #ifndef OPENSSL_NO_EC
+         case QSsl::Ec: return q_EC_GROUP_get_degree(q_EC_KEY_get0_group(ec));
+ #endif
+@@ -276,7 +276,13 @@ Qt::HANDLE QSslKeyPrivate::handle() const
+ 
+ static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data, const QByteArray &key, const QByteArray &iv, int enc)
+ {
+-    EVP_CIPHER_CTX ctx;
++#if QT_CONFIG(opensslv11)
++    EVP_CIPHER_CTX *ctx = q_EVP_CIPHER_CTX_new();
++#else
++    EVP_CIPHER_CTX evpCipherContext;
++    EVP_CIPHER_CTX *ctx = &evpCipherContext;
++#endif
++
+     const EVP_CIPHER* type = 0;
+     int i = 0, len = 0;
+ 
+@@ -294,21 +300,44 @@ static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data,
+ 
+     QByteArray output;
+     output.resize(data.size() + EVP_MAX_BLOCK_LENGTH);
+-    q_EVP_CIPHER_CTX_init(&ctx);
+-    q_EVP_CipherInit(&ctx, type, NULL, NULL, enc);
+-    q_EVP_CIPHER_CTX_set_key_length(&ctx, key.size());
++
++#if QT_CONFIG(opensslv11)
++    q_EVP_CIPHER_CTX_reset(ctx);
++#else
++    q_EVP_CIPHER_CTX_init(ctx);
++#endif
++
++    q_EVP_CipherInit(ctx, type, NULL, NULL, enc);
++    q_EVP_CIPHER_CTX_set_key_length(ctx, key.size());
+     if (cipher == QSslKeyPrivate::Rc2Cbc)
+-        q_EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL);
+-    q_EVP_CipherInit(&ctx, NULL,
++        q_EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL);
++
++#if QT_CONFIG(opensslv11)
++    // EVP_CipherInit in 1.1 resets the context thus making the calls above useless.
++    // We call EVP_CipherInit_ex instead.
++    q_EVP_CipherInit_ex(ctx, nullptr, nullptr,
++                        reinterpret_cast<const unsigned char *>(key.constData()),
++                        reinterpret_cast<const unsigned char *>(iv.constData()),
++                        enc);
++#else
++    q_EVP_CipherInit(ctx, NULL,
+         reinterpret_cast<const unsigned char *>(key.constData()),
+         reinterpret_cast<const unsigned char *>(iv.constData()), enc);
+-    q_EVP_CipherUpdate(&ctx,
++#endif // opensslv11
++
++    q_EVP_CipherUpdate(ctx,
+         reinterpret_cast<unsigned char *>(output.data()), &len,
+         reinterpret_cast<const unsigned char *>(data.constData()), data.size());
+-    q_EVP_CipherFinal(&ctx,
++    q_EVP_CipherFinal(ctx,
+         reinterpret_cast<unsigned char *>(output.data()) + len, &i);
+     len += i;
+-    q_EVP_CIPHER_CTX_cleanup(&ctx);
++
++#if QT_CONFIG(opensslv11)
++    q_EVP_CIPHER_CTX_reset(ctx);
++    q_EVP_CIPHER_CTX_free(ctx);
++#else
++    q_EVP_CIPHER_CTX_cleanup(ctx);
++#endif
+ 
+     return output.left(len);
+ }
+diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
+index f5b493897e..45cea490fc 100644
+--- a/src/network/ssl/qsslsocket_openssl.cpp
++++ b/src/network/ssl/qsslsocket_openssl.cpp
+@@ -1,6 +1,6 @@
+ /****************************************************************************
+ **
+-** Copyright (C) 2016 The Qt Company Ltd.
++** Copyright (C) 2017 The Qt Company Ltd.
+ ** Copyright (C) 2014 Governikus GmbH & Co. KG
+ ** Contact: https://www.qt.io/licensing/
+ **
+@@ -97,70 +97,6 @@ bool QSslSocketPrivate::s_loadRootCertsOnDemand = false;
+ int QSslSocketBackendPrivate::s_indexForSSLExtraData = -1;
+ #endif
+ 
+-/* \internal
+-
+-    From OpenSSL's thread(3) manual page:
+-
+-    OpenSSL can safely be used in multi-threaded applications provided that at
+-    least two callback functions are set.
+-
+-    locking_function(int mode, int n, const char *file, int line) is needed to
+-    perform locking on shared data structures.  (Note that OpenSSL uses a
+-    number of global data structures that will be implicitly shared
+-    whenever multiple threads use OpenSSL.)  Multi-threaded
+-    applications will crash at random if it is not set.  ...
+-    ...
+-    id_function(void) is a function that returns a thread ID. It is not
+-    needed on Windows nor on platforms where getpid() returns a different
+-    ID for each thread (most notably Linux)
+-*/
+-class QOpenSslLocks
+-{
+-public:
+-    inline QOpenSslLocks()
+-        : initLocker(QMutex::Recursive),
+-          locksLocker(QMutex::Recursive)
+-    {
+-        QMutexLocker locker(&locksLocker);
+-        int numLocks = q_CRYPTO_num_locks();
+-        locks = new QMutex *[numLocks];
+-        memset(locks, 0, numLocks * sizeof(QMutex *));
+-    }
+-    inline ~QOpenSslLocks()
+-    {
+-        QMutexLocker locker(&locksLocker);
+-        for (int i = 0; i < q_CRYPTO_num_locks(); ++i)
+-            delete locks[i];
+-        delete [] locks;
+-
+-        QSslSocketPrivate::deinitialize();
+-    }
+-    inline QMutex *lock(int num)
+-    {
+-        QMutexLocker locker(&locksLocker);
+-        QMutex *tmp = locks[num];
+-        if (!tmp)
+-            tmp = locks[num] = new QMutex(QMutex::Recursive);
+-        return tmp;
+-    }
+-
+-    QMutex *globalLock()
+-    {
+-        return &locksLocker;
+-    }
+-
+-    QMutex *initLock()
+-    {
+-        return &initLocker;
+-    }
+-
+-private:
+-    QMutex initLocker;
+-    QMutex locksLocker;
+-    QMutex **locks;
+-};
+-Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks)
+-
+ QString QSslSocketBackendPrivate::getErrorsFromOpenSsl()
+ {
+     QString errorString;
+@@ -175,20 +111,6 @@ QString QSslSocketBackendPrivate::getErrorsFromOpenSsl()
+ }
+ 
+ extern "C" {
+-static void locking_function(int mode, int lockNumber, const char *, int)
+-{
+-    QMutex *mutex = openssl_locks()->lock(lockNumber);
+-
+-    // Lock or unlock it
+-    if (mode & CRYPTO_LOCK)
+-        mutex->lock();
+-    else
+-        mutex->unlock();
+-}
+-static unsigned long id_function()
+-{
+-    return (quintptr)QThread::currentThreadId();
+-}
+ 
+ #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
+ static unsigned int q_ssl_psk_client_callback(SSL *ssl,
+@@ -227,7 +149,7 @@ QSslSocketBackendPrivate::~QSslSocketBackendPrivate()
+     destroySslContext();
+ }
+ 
+-QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher)
++QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher)
+ {
+     QSslCipher ciph;
+ 
+@@ -283,6 +205,7 @@ struct QSslErrorList
+     QMutex mutex;
+     QVector<QSslErrorEntry> errors;
+ };
++
+ Q_GLOBAL_STATIC(QSslErrorList, _q_sslErrorList)
+ 
+ int q_X509Callback(int ok, X509_STORE_CTX *ctx)
+@@ -312,7 +235,7 @@ int q_X509Callback(int ok, X509_STORE_CTX *ctx)
+         }
+ #endif
+     }
+-    // Always return OK to allow verification to continue. We're handle the
++    // Always return OK to allow verification to continue. We handle the
+     // errors gracefully after collecting all errors, after verification has
+     // completed.
+     return 1;
+@@ -397,7 +320,7 @@ bool QSslSocketBackendPrivate::initSslContext()
+     if (configuration.protocol != QSsl::SslV2 &&
+         configuration.protocol != QSsl::SslV3 &&
+         configuration.protocol != QSsl::UnknownProtocol &&
+-        mode == QSslSocket::SslClientMode && q_SSLeay() >= 0x00090806fL) {
++        mode == QSslSocket::SslClientMode && QSslSocket::sslLibraryVersionNumber() >= 0x00090806fL) {
+         // Set server hostname on TLS extension. RFC4366 section 3.1 requires it in ACE format.
+         QString tlsHostName = verificationPeerName.isEmpty() ? q->peerName() : verificationPeerName;
+         if (tlsHostName.isEmpty())
+@@ -438,13 +361,13 @@ bool QSslSocketBackendPrivate::initSslContext()
+ 
+ #if OPENSSL_VERSION_NUMBER >= 0x10001000L
+     // Save a pointer to this object into the SSL structure.
+-    if (q_SSLeay() >= 0x10001000L)
++    if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L)
+         q_SSL_set_ex_data(ssl, s_indexForSSLExtraData, this);
+ #endif
+ 
+ #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
+     // Set the client callback for PSK
+-    if (q_SSLeay() >= 0x10001000L) {
++    if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L) {
+         if (mode == QSslSocket::SslClientMode)
+             q_SSL_set_psk_client_callback(ssl, &q_ssl_psk_client_callback);
+         else if (mode == QSslSocket::SslServerMode)
+@@ -464,16 +387,6 @@ void QSslSocketBackendPrivate::destroySslContext()
+     sslContextPointer.clear();
+ }
+ 
+-/*!
+-    \internal
+-*/
+-void QSslSocketPrivate::deinitialize()
+-{
+-    q_CRYPTO_set_id_callback(0);
+-    q_CRYPTO_set_locking_callback(0);
+-    q_ERR_free_strings();
+-}
+-
+ /*!
+     \internal
+ 
+@@ -486,91 +399,6 @@ bool QSslSocketPrivate::supportsSsl()
+     return ensureLibraryLoaded();
+ }
+ 
+-bool QSslSocketPrivate::ensureLibraryLoaded()
+-{
+-    if (!q_resolveOpenSslSymbols())
+-        return false;
+-
+-    // Check if the library itself needs to be initialized.
+-    QMutexLocker locker(openssl_locks()->initLock());
+-
+-    if (!s_libraryLoaded) {
+-        s_libraryLoaded = true;
+-
+-        // Initialize OpenSSL.
+-        q_CRYPTO_set_id_callback(id_function);
+-        q_CRYPTO_set_locking_callback(locking_function);
+-        if (q_SSL_library_init() != 1)
+-            return false;
+-        q_SSL_load_error_strings();
+-        q_OpenSSL_add_all_algorithms();
+-
+-#if OPENSSL_VERSION_NUMBER >= 0x10001000L
+-        if (q_SSLeay() >= 0x10001000L)
+-            QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL);
+-#endif
+-
+-        // Initialize OpenSSL's random seed.
+-        if (!q_RAND_status()) {
+-            qWarning("Random number generator not seeded, disabling SSL support");
+-            return false;
+-        }
+-    }
+-    return true;
+-}
+-
+-void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
+-{
+-    QMutexLocker locker(openssl_locks()->initLock());
+-    if (s_loadedCiphersAndCerts)
+-        return;
+-    s_loadedCiphersAndCerts = true;
+-
+-    resetDefaultCiphers();
+-    resetDefaultEllipticCurves();
+-
+-#if QT_CONFIG(library)
+-    //load symbols needed to receive certificates from system store
+-#if defined(Q_OS_WIN)
+-    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
+-    if (hLib) {
+-        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
+-        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
+-        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
+-        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
+-            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
+-    } else {
+-        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
+-    }
+-#elif defined(Q_OS_QNX)
+-    s_loadRootCertsOnDemand = true;
+-#elif defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
+-    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
+-    QList<QByteArray> dirs = unixRootCertDirectories();
+-    QStringList symLinkFilter;
+-    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
+-    for (int a = 0; a < dirs.count(); ++a) {
+-        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
+-        if (iterator.hasNext()) {
+-            s_loadRootCertsOnDemand = true;
+-            break;
+-        }
+-    }
+-#endif
+-#endif // QT_CONFIG(library)
+-    // if on-demand loading was not enabled, load the certs now
+-    if (!s_loadRootCertsOnDemand)
+-        setDefaultCaCertificates(systemCaCertificates());
+-#ifdef Q_OS_WIN
+-    //Enabled for fetching additional root certs from windows update on windows 6+
+-    //This flag is set false by setDefaultCaCertificates() indicating the app uses
+-    //its own cert bundle rather than the system one.
+-    //Same logic that disables the unix on demand cert loading.
+-    //Unlike unix, we do preload the certificates from the cert store.
+-    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
+-        s_loadRootCertsOnDemand = true;
+-#endif
+-}
+ 
+ /*!
+     \internal
+@@ -587,26 +415,6 @@ void QSslSocketPrivate::ensureInitialized()
+     ensureCiphersAndCertsLoaded();
+ }
+ 
+-long QSslSocketPrivate::sslLibraryVersionNumber()
+-{
+-    if (!supportsSsl())
+-        return 0;
+-
+-    return q_SSLeay();
+-}
+-
+-QString QSslSocketPrivate::sslLibraryVersionString()
+-{
+-    if (!supportsSsl())
+-        return QString();
+-
+-    const char *versionString = q_SSLeay_version(SSLEAY_VERSION);
+-    if (!versionString)
+-        return QString();
+-
+-    return QString::fromLatin1(versionString);
+-}
+-
+ long QSslSocketPrivate::sslLibraryBuildVersionNumber()
+ {
+     return OPENSSL_VERSION_NUMBER;
+@@ -628,7 +436,11 @@ QString QSslSocketPrivate::sslLibraryBuildVersionString()
+ */
+ void QSslSocketPrivate::resetDefaultCiphers()
+ {
++#if QT_CONFIG(opensslv11)
++    SSL_CTX *myCtx = q_SSL_CTX_new(q_TLS_client_method());
++#else
+     SSL_CTX *myCtx = q_SSL_CTX_new(q_SSLv23_client_method());
++#endif
+     SSL *mySsl = q_SSL_new(myCtx);
+ 
+     QList<QSslCipher> ciphers;
+@@ -664,7 +476,7 @@ void QSslSocketPrivate::resetDefaultEllipticCurves()
+     QVector<QSslEllipticCurve> curves;
+ 
+ #ifndef OPENSSL_NO_EC
+-    const size_t curveCount = q_EC_get_builtin_curves(NULL, 0);
++    const size_t curveCount = q_EC_get_builtin_curves(nullptr, 0);
+ 
+     QVarLengthArray<EC_builtin_curve> builtinCurves(static_cast<int>(curveCount));
+ 
+@@ -698,13 +510,14 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
+     if (ptrCertOpenSystemStoreW && ptrCertFindCertificateInStore && ptrCertCloseStore) {
+         HCERTSTORE hSystemStore;
+         hSystemStore = ptrCertOpenSystemStoreW(0, L"ROOT");
+-        if(hSystemStore) {
+-            PCCERT_CONTEXT pc = NULL;
+-            while(1) {
+-                pc = ptrCertFindCertificateInStore( hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, NULL, pc);
+-                if(!pc)
++        if (hSystemStore) {
++            PCCERT_CONTEXT pc = nullptr;
++            while (1) {
++                pc = ptrCertFindCertificateInStore(hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, nullptr, pc);
++                if (!pc)
+                     break;
+-                QByteArray der((const char *)(pc->pbCertEncoded), static_cast<int>(pc->cbCertEncoded));
++                QByteArray der(reinterpret_cast<const char *>(pc->pbCertEncoded),
++                               static_cast<int>(pc->cbCertEncoded));
+                 QSslCertificate cert(der, QSsl::Der);
+                 systemCerts.append(cert);
+             }
+@@ -1504,14 +1317,8 @@ QSslCipher QSslSocketBackendPrivate::sessionCipher() const
+ {
+     if (!ssl)
+         return QSslCipher();
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-    // FIXME This is fairly evil, but needed to keep source level compatibility
+-    // with the OpenSSL 0.9.x implementation at maximum -- some other functions
+-    // don't take a const SSL_CIPHER* when they should
+-    SSL_CIPHER *sessionCipher = const_cast<SSL_CIPHER *>(q_SSL_get_current_cipher(ssl));
+-#else
+-    SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl);
+-#endif
++
++    const SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl);
+     return sessionCipher ? QSslCipher_from_SSL_CIPHER(sessionCipher) : QSslCipher();
+ }
+ 
+@@ -1537,112 +1344,6 @@ QSsl::SslProtocol QSslSocketBackendPrivate::sessionProtocol() const
+     return QSsl::UnknownProtocol;
+ }
+ 
+-void QSslSocketBackendPrivate::continueHandshake()
+-{
+-    Q_Q(QSslSocket);
+-    // if we have a max read buffer size, reset the plain socket's to match
+-    if (readBufferMaxSize)
+-        plainSocket->setReadBufferSize(readBufferMaxSize);
+-
+-    if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL))
+-        configuration.peerSessionShared = true;
+-
+-#ifdef QT_DECRYPT_SSL_TRAFFIC
+-    if (ssl->session && ssl->s3) {
+-        const char *mk = reinterpret_cast<const char *>(ssl->session->master_key);
+-        QByteArray masterKey(mk, ssl->session->master_key_length);
+-        const char *random = reinterpret_cast<const char *>(ssl->s3->client_random);
+-        QByteArray clientRandom(random, SSL3_RANDOM_SIZE);
+-
+-        // different format, needed for e.g. older Wireshark versions:
+-//        const char *sid = reinterpret_cast<const char *>(ssl->session->session_id);
+-//        QByteArray sessionID(sid, ssl->session->session_id_length);
+-//        QByteArray debugLineRSA("RSA Session-ID:");
+-//        debugLineRSA.append(sessionID.toHex().toUpper());
+-//        debugLineRSA.append(" Master-Key:");
+-//        debugLineRSA.append(masterKey.toHex().toUpper());
+-//        debugLineRSA.append("\n");
+-
+-        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
+-        debugLineClientRandom.append(clientRandom.toHex().toUpper());
+-        debugLineClientRandom.append(" ");
+-        debugLineClientRandom.append(masterKey.toHex().toUpper());
+-        debugLineClientRandom.append("\n");
+-
+-        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
+-        QFile file(sslKeyFile);
+-        if (!file.open(QIODevice::Append))
+-            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
+-        if (!file.write(debugLineClientRandom))
+-            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
+-        file.close();
+-    } else {
+-        qCWarning(lcSsl, "could not decrypt SSL traffic");
+-    }
+-#endif
+-
+-    // Cache this SSL session inside the QSslContext
+-    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
+-        if (!sslContextPointer->cacheSession(ssl)) {
+-            sslContextPointer.clear(); // we could not cache the session
+-        } else {
+-            // Cache the session for permanent usage as well
+-            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
+-                if (!sslContextPointer->sessionASN1().isEmpty())
+-                    configuration.sslSession = sslContextPointer->sessionASN1();
+-                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
+-            }
+-        }
+-    }
+-
+-#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
+-
+-    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
+-    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
+-        // we could not agree -> be conservative and use HTTP/1.1
+-        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
+-    } else {
+-        const unsigned char *proto = 0;
+-        unsigned int proto_len = 0;
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
+-        if (q_SSLeay() >= 0x10002000L) {
+-            q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
+-            if (proto_len && mode == QSslSocket::SslClientMode) {
+-                // Client does not have a callback that sets it ...
+-                configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
+-            }
+-        }
+-
+-        if (!proto_len) { // Test if NPN was more lucky ...
+-#else
+-        {
+-#endif
+-            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
+-        }
+-
+-        if (proto_len)
+-            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
+-        else
+-            configuration.nextNegotiatedProtocol.clear();
+-    }
+-#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ...
+-
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
+-    if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) {
+-        EVP_PKEY *key;
+-        if (q_SSL_get_server_tmp_key(ssl, &key))
+-            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
+-    }
+-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ...
+-
+-    connectionEncrypted = true;
+-    emit q->encrypted();
+-    if (autoStartHandshake && pendingClose) {
+-        pendingClose = false;
+-        q->disconnectFromHost();
+-    }
+-}
+-
+ QList<QSslCertificate> QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509)
+ {
+     ensureInitialized();
+@@ -1696,12 +1397,12 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
+     QMutexLocker sslErrorListMutexLocker(&_q_sslErrorList()->mutex);
+ 
+     // Register a custom callback to get all verification errors.
+-    X509_STORE_set_verify_cb_func(certStore, q_X509Callback);
++    q_X509_STORE_set_verify_cb(certStore, q_X509Callback);
+ 
+     // Build the chain of intermediate certificates
+     STACK_OF(X509) *intermediates = 0;
+     if (certificateChain.length() > 1) {
+-        intermediates = (STACK_OF(X509) *) q_sk_new_null();
++        intermediates = (STACK_OF(X509) *) q_OPENSSL_sk_new_null();
+ 
+         if (!intermediates) {
+             q_X509_STORE_free(certStore);
+@@ -1715,11 +1416,8 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
+                 first = false;
+                 continue;
+             }
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-            q_sk_push( (_STACK *)intermediates, reinterpret_cast<X509 *>(cert.handle()));
+-#else
+-            q_sk_push( (STACK *)intermediates, reinterpret_cast<char *>(cert.handle()));
+-#endif
++
++            q_OPENSSL_sk_push((OPENSSL_STACK *)intermediates, reinterpret_cast<X509 *>(cert.handle()));
+         }
+     }
+ 
+@@ -1743,11 +1441,7 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
+     (void) q_X509_verify_cert(storeContext);
+ 
+     q_X509_STORE_CTX_free(storeContext);
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-    q_sk_free( (_STACK *) intermediates);
+-#else
+-    q_sk_free( (STACK *) intermediates);
+-#endif
++    q_OPENSSL_sk_free((OPENSSL_STACK *)intermediates);
+ 
+     // Now process the errors
+     const auto errorList = std::move(_q_sslErrorList()->errors);
+@@ -1821,7 +1515,8 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device,
+     // Convert to Qt types
+     if (!key->d->fromEVP_PKEY(pkey)) {
+         qCWarning(lcSsl, "Unable to convert private key");
+-        q_sk_pop_free(reinterpret_cast<STACK *>(ca), reinterpret_cast<void(*)(void*)>(q_sk_free));
++        q_OPENSSL_sk_pop_free(reinterpret_cast<OPENSSL_STACK *>(ca),
++                              reinterpret_cast<void (*)(void *)>(q_OPENSSL_sk_free));
+         q_X509_free(x509);
+         q_EVP_PKEY_free(pkey);
+         q_PKCS12_free(p12);
+@@ -1836,7 +1531,11 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device,
+         *caCertificates = QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(ca);
+ 
+     // Clean up
+-    q_sk_pop_free(reinterpret_cast<STACK *>(ca), reinterpret_cast<void(*)(void*)>(q_sk_free));
++    // TODO: verify ASAP, in the past we had sk_pop_free with q_OPENSSL_sk_free
++    // which seems to be blatantly wrong and even crashes with 1.1.
++    q_OPENSSL_sk_pop_free(reinterpret_cast<OPENSSL_STACK *>(ca),
++                          reinterpret_cast<void (*)(void *)>(q_X509_free));
++
+     q_X509_free(x509);
+     q_EVP_PKEY_free(pkey);
+     q_PKCS12_free(p12);
+diff --git a/src/network/ssl/qsslsocket_openssl11.cpp b/src/network/ssl/qsslsocket_openssl11.cpp
+new file mode 100644
+index 0000000000..b6d18943a5
+--- /dev/null
++++ b/src/network/ssl/qsslsocket_openssl11.cpp
+@@ -0,0 +1,285 @@
++/****************************************************************************
++**
++** Copyright (C) 2017 The Qt Company Ltd.
++** Copyright (C) 2014 Governikus GmbH & Co. KG
++** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
++** Contact: https://www.qt.io/licensing/
++**
++** This file is part of the QtNetwork module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see https://www.qt.io/terms-conditions. For further
++** information use the contact form at https://www.qt.io/contact-us.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 3 as published by the Free Software
++** Foundation and appearing in the file LICENSE.LGPL3 included in the
++** packaging of this file. Please review the following information to
++** ensure the GNU Lesser General Public License version 3 requirements
++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 2.0 or (at your option) the GNU General
++** Public license version 3 or any later version approved by the KDE Free
++** Qt Foundation. The licenses are as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
++** included in the packaging of this file. Please review the following
++** information to ensure the GNU General Public License requirements will
++** be met: https://www.gnu.org/licenses/gpl-2.0.html and
++** https://www.gnu.org/licenses/gpl-3.0.html.
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++/****************************************************************************
++**
++** In addition, as a special exception, the copyright holders listed above give
++** permission to link the code of its release of Qt with the OpenSSL project's
++** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
++** same license as the original version), and distribute the linked executables.
++**
++** You must comply with the GNU General Public License version 2 in all
++** respects for all of the code used other than the "OpenSSL" code.  If you
++** modify this file, you may extend this exception to your version of the file,
++** but you are not obligated to do so.  If you do not wish to do so, delete
++** this exception statement from your version of this file.
++**
++****************************************************************************/
++
++//#define QT_DECRYPT_SSL_TRAFFIC
++
++#include "qssl_p.h"
++#include "qsslsocket_openssl_p.h"
++#include "qsslsocket_openssl_symbols_p.h"
++#include "qsslsocket.h"
++#include "qsslkey.h"
++
++#include <QtCore/qdebug.h>
++#include <QtCore/qdir.h>
++#include <QtCore/qdiriterator.h>
++#include <QtCore/qfile.h>
++#include <QtCore/qmutex.h>
++#include <QtCore/qlibrary.h>
++
++QT_BEGIN_NAMESPACE
++
++Q_GLOBAL_STATIC_WITH_ARGS(QMutex, qt_opensslInitMutex, (QMutex::Recursive))
++
++/*!
++    \internal
++*/
++void QSslSocketPrivate::deinitialize()
++{
++    // This function exists only for compatibility with the pre-11 code,
++    // where deinitialize() actually does some cleanup. To be discarded
++    // once we retire < 1.1.
++}
++
++bool QSslSocketPrivate::ensureLibraryLoaded()
++{
++    if (!q_resolveOpenSslSymbols())
++        return false;
++
++    const QMutexLocker locker(qt_opensslInitMutex);
++
++    if (!s_libraryLoaded) {
++        s_libraryLoaded = true;
++
++        // Initialize OpenSSL.
++        if (q_OPENSSL_init_ssl(0, nullptr) != 1)
++            return false;
++        q_SSL_load_error_strings();
++        q_OpenSSL_add_all_algorithms();
++
++        QSslSocketBackendPrivate::s_indexForSSLExtraData
++            = q_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, 0L, nullptr, nullptr,
++                                        nullptr, nullptr);
++
++        // Initialize OpenSSL's random seed.
++        if (!q_RAND_status()) {
++            qWarning("Random number generator not seeded, disabling SSL support");
++            return false;
++        }
++    }
++    return true;
++}
++
++void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
++{
++    const QMutexLocker locker(qt_opensslInitMutex);
++
++    if (s_loadedCiphersAndCerts)
++        return;
++    s_loadedCiphersAndCerts = true;
++
++    resetDefaultCiphers();
++    resetDefaultEllipticCurves();
++
++#if QT_CONFIG(library)
++    //load symbols needed to receive certificates from system store
++#if defined(Q_OS_WIN)
++    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
++    if (hLib) {
++        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
++        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
++        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
++        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
++            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
++    } else {
++        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
++    }
++#elif defined(Q_OS_QNX)
++    s_loadRootCertsOnDemand = true;
++#elif defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN)
++    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
++    QList<QByteArray> dirs = unixRootCertDirectories();
++    QStringList symLinkFilter;
++    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
++    for (int a = 0; a < dirs.count(); ++a) {
++        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
++        if (iterator.hasNext()) {
++            s_loadRootCertsOnDemand = true;
++            break;
++        }
++    }
++#endif
++#endif // QT_CONFIG(library)
++    // if on-demand loading was not enabled, load the certs now
++    if (!s_loadRootCertsOnDemand)
++        setDefaultCaCertificates(systemCaCertificates());
++#ifdef Q_OS_WIN
++    //Enabled for fetching additional root certs from windows update on windows 6+
++    //This flag is set false by setDefaultCaCertificates() indicating the app uses
++    //its own cert bundle rather than the system one.
++    //Same logic that disables the unix on demand cert loading.
++    //Unlike unix, we do preload the certificates from the cert store.
++    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
++        s_loadRootCertsOnDemand = true;
++#endif
++}
++
++long QSslSocketPrivate::sslLibraryVersionNumber()
++{
++    if (!supportsSsl())
++        return 0;
++
++    return q_OpenSSL_version_num();
++}
++
++QString QSslSocketPrivate::sslLibraryVersionString()
++{
++    if (!supportsSsl())
++        return QString();
++
++    const char *versionString = q_OpenSSL_version(OPENSSL_VERSION);
++    if (!versionString)
++        return QString();
++
++    return QString::fromLatin1(versionString);
++}
++
++void QSslSocketBackendPrivate::continueHandshake()
++{
++    Q_Q(QSslSocket);
++    // if we have a max read buffer size, reset the plain socket's to match
++    if (readBufferMaxSize)
++        plainSocket->setReadBufferSize(readBufferMaxSize);
++
++    if (q_SSL_session_reused(ssl))
++        configuration.peerSessionShared = true;
++
++#ifdef QT_DECRYPT_SSL_TRAFFIC
++    if (q_SSL_get_session(ssl)) {
++        size_t master_key_len = q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl), 0, 0);
++        size_t client_random_len = q_SSL_get_client_random(ssl, 0, 0);
++        QByteArray masterKey(int(master_key_len), 0); // Will not overflow
++        QByteArray clientRandom(int(client_random_len), 0); // Will not overflow
++
++        q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl),
++                                     reinterpret_cast<unsigned char*>(masterKey.data()),
++                                     masterKey.size());
++        q_SSL_get_client_random(ssl, reinterpret_cast<unsigned char *>(clientRandom.data()),
++                                clientRandom.size());
++
++        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
++        debugLineClientRandom.append(clientRandom.toHex().toUpper());
++        debugLineClientRandom.append(" ");
++        debugLineClientRandom.append(masterKey.toHex().toUpper());
++        debugLineClientRandom.append("\n");
++
++        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
++        QFile file(sslKeyFile);
++        if (!file.open(QIODevice::Append))
++            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
++        if (!file.write(debugLineClientRandom))
++            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
++        file.close();
++    } else {
++        qCWarning(lcSsl, "could not decrypt SSL traffic");
++    }
++#endif
++
++    // Cache this SSL session inside the QSslContext
++    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
++        if (!sslContextPointer->cacheSession(ssl)) {
++            sslContextPointer.clear(); // we could not cache the session
++        } else {
++            // Cache the session for permanent usage as well
++            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
++                if (!sslContextPointer->sessionASN1().isEmpty())
++                    configuration.sslSession = sslContextPointer->sessionASN1();
++                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
++            }
++        }
++    }
++
++#if !defined(OPENSSL_NO_NEXTPROTONEG)
++
++    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
++    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
++        // we could not agree -> be conservative and use HTTP/1.1
++        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
++    } else {
++        const unsigned char *proto = 0;
++        unsigned int proto_len = 0;
++
++        q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
++        if (proto_len && mode == QSslSocket::SslClientMode) {
++            // Client does not have a callback that sets it ...
++            configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
++        }
++
++        if (!proto_len) { // Test if NPN was more lucky ...
++            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
++        }
++
++        if (proto_len)
++            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
++        else
++            configuration.nextNegotiatedProtocol.clear();
++    }
++#endif // !defined(OPENSSL_NO_NEXTPROTONEG)
++
++    if (mode == QSslSocket::SslClientMode) {
++        EVP_PKEY *key;
++        if (q_SSL_get_server_tmp_key(ssl, &key))
++            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
++    }
++
++    connectionEncrypted = true;
++    emit q->encrypted();
++    if (autoStartHandshake && pendingClose) {
++        pendingClose = false;
++        q->disconnectFromHost();
++    }
++}
++
++QT_END_NAMESPACE
+diff --git a/src/network/ssl/qsslsocket_openssl11_symbols_p.h b/src/network/ssl/qsslsocket_openssl11_symbols_p.h
+new file mode 100644
+index 0000000000..2980b3d23e
+--- /dev/null
++++ b/src/network/ssl/qsslsocket_openssl11_symbols_p.h
+@@ -0,0 +1,132 @@
++/****************************************************************************
++**
++** Copyright (C) 2017 The Qt Company Ltd.
++** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
++** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
++** Contact: https://www.qt.io/licensing/
++**
++** This file is part of the QtNetwork module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see https://www.qt.io/terms-conditions. For further
++** information use the contact form at https://www.qt.io/contact-us.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 3 as published by the Free Software
++** Foundation and appearing in the file LICENSE.LGPL3 included in the
++** packaging of this file. Please review the following information to
++** ensure the GNU Lesser General Public License version 3 requirements
++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 2.0 or (at your option) the GNU General
++** Public license version 3 or any later version approved by the KDE Free
++** Qt Foundation. The licenses are as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
++** included in the packaging of this file. Please review the following
++** information to ensure the GNU General Public License requirements will
++** be met: https://www.gnu.org/licenses/gpl-2.0.html and
++** https://www.gnu.org/licenses/gpl-3.0.html.
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++/****************************************************************************
++**
++** In addition, as a special exception, the copyright holders listed above give
++** permission to link the code of its release of Qt with the OpenSSL project's
++** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
++** same license as the original version), and distribute the linked executables.
++**
++** You must comply with the GNU General Public License version 2 in all
++** respects for all of the code used other than the "OpenSSL" code.  If you
++** modify this file, you may extend this exception to your version of the file,
++** but you are not obligated to do so.  If you do not wish to do so, delete
++** this exception statement from your version of this file.
++**
++****************************************************************************/
++
++#ifndef QSSLSOCKET_OPENSSL11_SYMBOLS_P_H
++#define QSSLSOCKET_OPENSSL11_SYMBOLS_P_H
++
++//
++//  W A R N I N G
++//  -------------
++//
++// This file is not part of the Qt API. It exists purely as an
++// implementation detail. This header file may change from version to
++// version without notice, or even be removed.
++//
++// We mean it.
++//
++
++// Note: this file does not have QT_BEGIN_NAMESPACE/QT_END_NAMESPACE, it's done
++// in qsslsocket_openssl_symbols_p.h.
++
++#ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H
++#error "You are not supposed to use this header file, include qsslsocket_openssl_symbols_p.h instead"
++#endif
++
++const unsigned char * q_ASN1_STRING_get0_data(const ASN1_STRING *x);
++
++Q_AUTOTEST_EXPORT BIO *q_BIO_new(const BIO_METHOD *a);
++Q_AUTOTEST_EXPORT const BIO_METHOD *q_BIO_s_mem();
++
++int q_DSA_bits(DSA *a);
++int q_EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c);
++int q_EVP_PKEY_base_id(EVP_PKEY *a);
++int q_RSA_bits(RSA *a);
++int q_OPENSSL_sk_num(OPENSSL_STACK *a);
++void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
++OPENSSL_STACK *q_OPENSSL_sk_new_null();
++void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
++void q_OPENSSL_sk_free(OPENSSL_STACK *a);
++void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
++int q_SSL_session_reused(SSL *a);
++unsigned long q_SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op);
++int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
++size_t q_SSL_get_client_random(SSL *a, unsigned char *out, size_t outlen);
++size_t q_SSL_SESSION_get_master_key(const SSL_SESSION *session, unsigned char *out, size_t outlen);
++int q_CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
++const SSL_METHOD *q_TLS_method();
++const SSL_METHOD *q_TLS_client_method();
++const SSL_METHOD *q_TLS_server_method();
++ASN1_TIME *q_X509_getm_notBefore(X509 *a);
++ASN1_TIME *q_X509_getm_notAfter(X509 *a);
++
++long q_X509_get_version(X509 *a);
++EVP_PKEY *q_X509_get_pubkey(X509 *a);
++void q_X509_STORE_set_verify_cb(X509_STORE *ctx, X509_STORE_CTX_verify_cb verify_cb);
++STACK_OF(X509) *q_X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx);
++void q_DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
++int q_DH_bits(DH *dh);
++
++# define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \
++                                                       | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL)
++
++#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_OPENSSL_sk_num)(st)
++#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_OPENSSL_sk_value)(st, i)
++
++#define q_OPENSSL_add_all_algorithms_conf()  q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
++                                                                   | OPENSSL_INIT_ADD_ALL_DIGESTS \
++                                                                   | OPENSSL_INIT_LOAD_CONFIG, NULL)
++#define  q_OPENSSL_add_all_algorithms_noconf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
++                                                                    | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
++
++int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
++void q_CRYPTO_free(void *str, const char *file, int line);
++
++long q_OpenSSL_version_num();
++const char *q_OpenSSL_version(int type);
++
++unsigned long q_SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *session);
++
++#endif
+diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h
+index b2adb3e547..7f9e884045 100644
+--- a/src/network/ssl/qsslsocket_openssl_p.h
++++ b/src/network/ssl/qsslsocket_openssl_p.h
+@@ -1,6 +1,6 @@
+ /****************************************************************************
+ **
+-** Copyright (C) 2016 The Qt Company Ltd.
++** Copyright (C) 2017 The Qt Company Ltd.
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the QtNetwork module of the Qt Toolkit.
+@@ -98,8 +98,8 @@
+ #include <openssl/crypto.h>
+ #include <openssl/tls1.h>
+ 
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-typedef _STACK STACK;
++#if QT_CONFIG(opensslv11)
++#include <openssl/dh.h>
+ #endif
+ 
+ QT_BEGIN_NAMESPACE
+@@ -151,7 +151,7 @@ public:
+ #endif
+ 
+     Q_AUTOTEST_EXPORT static long setupOpenSslOptions(QSsl::SslProtocol protocol, QSsl::SslOptions sslOptions);
+-    static QSslCipher QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher);
++    static QSslCipher QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher);
+     static QList<QSslCertificate> STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509);
+     static QList<QSslError> verify(const QList<QSslCertificate> &certificateChain, const QString &hostName);
+     static QString getErrorsFromOpenSsl();
+diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+index c344a94427..0ef8bf6b5e 100644
+--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
++++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+@@ -1,7 +1,8 @@
+ /****************************************************************************
+ **
+-** Copyright (C) 2016 The Qt Company Ltd.
++** Copyright (C) 2017 The Qt Company Ltd.
+ ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
++** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the QtNetwork module of the Qt Toolkit.
+@@ -136,49 +137,195 @@ void qsslSocketCannotResolveSymbolWarning(const char *functionName)
+ 
+ #endif // QT_LINKED_OPENSSL
+ 
++#if QT_CONFIG(opensslv11)
++
++// Below are the functions first introduced in version 1.1:
++
++DEFINEFUNC(const unsigned char *, ASN1_STRING_get0_data, const ASN1_STRING *a, a, return 0, return)
++DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return)
++DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return)
++DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
++DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
++DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return)
++DEFINEFUNC(int, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX *c, c, return 0, return)
++DEFINEFUNC(int, EVP_PKEY_base_id, EVP_PKEY *a, a, return NID_undef, return)
++DEFINEFUNC(int, RSA_bits, RSA *a, a, return 0, return)
++DEFINEFUNC(int, DSA_bits, DSA *a, a, return 0, return)
++DEFINEFUNC(int, OPENSSL_sk_num, OPENSSL_STACK *a, a, return -1, return)
++DEFINEFUNC2(void, OPENSSL_sk_pop_free, OPENSSL_STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
++DEFINEFUNC(OPENSSL_STACK *, OPENSSL_sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC2(void, OPENSSL_sk_push, OPENSSL_STACK *a, a, void *b, b, return, DUMMYARG)
++DEFINEFUNC(void, OPENSSL_sk_free, OPENSSL_STACK *a, a, return, DUMMYARG)
++DEFINEFUNC2(void *, OPENSSL_sk_value, OPENSSL_STACK *a, a, int b, b, return 0, return)
++DEFINEFUNC(int, SSL_session_reused, SSL *a, a, return 0, return)
++DEFINEFUNC2(unsigned long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, unsigned long op, op, return 0, return)
++DEFINEFUNC3(size_t, SSL_get_client_random, SSL *a, a, unsigned char *out, out, size_t outlen, outlen, return 0, return)
++DEFINEFUNC3(size_t, SSL_SESSION_get_master_key, const SSL_SESSION *ses, ses, unsigned char *out, out, size_t outlen, outlen, return 0, return)
++DEFINEFUNC6(int, CRYPTO_get_ex_new_index, int class_index, class_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
++
++DEFINEFUNC(const SSL_METHOD *, TLS_method, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(const SSL_METHOD *, TLS_server_method, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, X509 *a, a, return 0, return)
++DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, X509 *a, a, return 0, return)
++DEFINEFUNC(long, X509_get_version, X509 *a, a, return -1, return)
++DEFINEFUNC(EVP_PKEY *, X509_get_pubkey, X509 *a, a, return 0, return)
++DEFINEFUNC2(void, X509_STORE_set_verify_cb, X509_STORE *a, a, X509_STORE_CTX_verify_cb verify_cb, verify_cb, return, DUMMYARG)
++DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return 0, return)
++DEFINEFUNC3(void, CRYPTO_free, void *str, str, const char *file, file, int line, line, return, DUMMYARG)
++DEFINEFUNC(long, OpenSSL_version_num, void, DUMMYARG, return 0, return)
++DEFINEFUNC(const char *, OpenSSL_version, int a, a, return 0, return)
++DEFINEFUNC(unsigned long, SSL_SESSION_get_ticket_lifetime_hint, const SSL_SESSION *session, session, return 0, return)
++DEFINEFUNC4(void, DH_get0_pqg, const DH *dh, dh, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, DUMMYARG)
++DEFINEFUNC(int, DH_bits, DH *dh, dh, return 0, return)
++
++#else // QT_CONFIG(opensslv11)
++
++// Functions below are either deprecated or removed in OpenSSL >= 1.1:
++
++DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return)
++
+ #ifdef SSLEAY_MACROS
+ DEFINEFUNC3(void *, ASN1_dup, i2d_of_void *a, a, d2i_of_void *b, b, char *c, c, return 0, return)
+ #endif
++DEFINEFUNC2(BIO *, BIO_new_file, const char *filename, filename, const char *mode, mode, return 0, return)
++DEFINEFUNC(void, ERR_clear_error, DUMMYARG, DUMMYARG, return, DUMMYARG)
++DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
++DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
++DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
++DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
++DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
++DEFINEFUNC(unsigned long, ERR_peek_last_error, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG)
++DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
++DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
++
++#ifdef SSLEAY_MACROS
++DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
++DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
++#endif // SSLEAY_MACROS
++
++DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
++DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
++
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG)
++DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG)
++DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return)
++#else
++DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG)
++DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
++DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
++#endif // OPENSSL_VERSION_NUMBER >= 0x10000000L
++
++DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
++DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
++
++#if OPENSSL_VERSION_NUMBER >= 0x10001000L
++DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
++#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L
++
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++#ifndef OPENSSL_NO_SSL2
++DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
++#ifndef OPENSSL_NO_SSL3_METHOD
++DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
++DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#if OPENSSL_VERSION_NUMBER >= 0x10001000L
++DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
++#ifndef OPENSSL_NO_SSL2
++DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
++#ifndef OPENSSL_NO_SSL3_METHOD
++DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
++DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
++#if OPENSSL_VERSION_NUMBER >= 0x10001000L
++DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
++#else
++#ifndef OPENSSL_NO_SSL2
++DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
++#ifndef OPENSSL_NO_SSL3_METHOD
++DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
++DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#ifndef OPENSSL_NO_SSL2
++DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
++#ifndef OPENSSL_NO_SSL3_METHOD
++DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
++DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
++
++DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
++
++#ifdef SSLEAY_MACROS
++DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
++DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return)
++#ifndef OPENSSL_NO_EC
++DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return)
++#endif
++DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
++DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
++#ifndef OPENSSL_NO_EC
++DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return)
++#endif
++#endif
++DEFINEFUNC(char *, CONF_get1_default_config_file, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
++DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
++DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
++DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return)
++
++#endif // QT_CONFIG(opensslv11)
++
+ DEFINEFUNC(long, ASN1_INTEGER_get, ASN1_INTEGER *a, a, return 0, return)
+-DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return)
+ DEFINEFUNC(int, ASN1_STRING_length, ASN1_STRING *a, a, return 0, return)
+-DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return);
++DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return)
+ DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
+ DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
+-DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
+ DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return)
+ DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return)
+-DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
++
+ DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
+ DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+-DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return)
+-#endif
+ DEFINEFUNC2(BN_ULONG, BN_mod_word, const BIGNUM *a, a, BN_ULONG w, w, return static_cast<BN_ULONG>(-1), return)
+ #ifndef OPENSSL_NO_EC
+ DEFINEFUNC(const EC_GROUP*, EC_KEY_get0_group, const EC_KEY* k, k, return 0, return)
+ DEFINEFUNC(int, EC_GROUP_get_degree, const EC_GROUP* g, g, return 0, return)
+ #endif
+-DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
+-DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
+-DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
+-DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
+ DEFINEFUNC(DSA *, DSA_new, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
+ DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, const unsigned char **b, b, long c, c, return 0, return)
+ DEFINEFUNC2(char *, ERR_error_string, unsigned long a, a, char *b, b, return 0, return)
+ DEFINEFUNC(unsigned long, ERR_get_error, DUMMYARG, DUMMYARG, return 0, return)
+-DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG)
+-DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
+-DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
+-DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return);
++DEFINEFUNC(EVP_CIPHER_CTX *, EVP_CIPHER_CTX_new, void, DUMMYARG, return 0, return)
++DEFINEFUNC(void, EVP_CIPHER_CTX_free, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
++DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return)
+ DEFINEFUNC2(int, EVP_CIPHER_CTX_set_key_length, EVP_CIPHER_CTX *ctx, ctx, int keylen, keylen, return 0, return)
+-DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return);
+-DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return);
+-DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return);
++DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return)
++DEFINEFUNC6(int, EVP_CipherInit_ex, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *cipher, cipher, ENGINE *impl, impl, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return)
++DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return)
++DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return)
+ DEFINEFUNC(const EVP_CIPHER *, EVP_des_cbc, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC(const EVP_CIPHER *, EVP_des_ede3_cbc, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC(const EVP_CIPHER *, EVP_rc2_cbc, DUMMYARG, DUMMYARG, return 0, return)
++DEFINEFUNC(const EVP_MD *, EVP_sha1, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC3(int, EVP_PKEY_assign, EVP_PKEY *a, a, int b, b, char *c, c, return -1, return)
+ DEFINEFUNC2(int, EVP_PKEY_set1_RSA, EVP_PKEY *a, a, RSA *b, b, return -1, return)
+ DEFINEFUNC2(int, EVP_PKEY_set1_DSA, EVP_PKEY *a, a, DSA *b, b, return -1, return)
+@@ -202,10 +349,8 @@ DEFINEFUNC3(int, i2t_ASN1_OBJECT, char *a, a, int b, b, ASN1_OBJECT *c, c, retur
+ DEFINEFUNC4(int, OBJ_obj2txt, char *a, a, int b, b, ASN1_OBJECT *c, c, int d, d, return -1, return)
+ 
+ DEFINEFUNC(int, OBJ_obj2nid, const ASN1_OBJECT *a, a, return NID_undef, return)
+-#ifdef SSLEAY_MACROS
+-DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
+-DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
+-#else
++
++#ifndef SSLEAY_MACROS
+ DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PrivateKey, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
+ DEFINEFUNC4(DSA *, PEM_read_bio_DSAPrivateKey, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
+ DEFINEFUNC4(RSA *, PEM_read_bio_RSAPrivateKey, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
+@@ -218,7 +363,7 @@ DEFINEFUNC7(int, PEM_write_bio_RSAPrivateKey, BIO *a, a, RSA *b, b, const EVP_CI
+ #ifndef OPENSSL_NO_EC
+ DEFINEFUNC7(int, PEM_write_bio_ECPrivateKey, BIO *a, a, EC_KEY *b, b, const EVP_CIPHER *c, c, unsigned char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return)
+ #endif
+-#endif
++#endif // !SSLEAY_MACROS
+ DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PUBKEY, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
+ DEFINEFUNC4(DSA *, PEM_read_bio_DSA_PUBKEY, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
+ DEFINEFUNC4(RSA *, PEM_read_bio_RSA_PUBKEY, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
+@@ -234,23 +379,10 @@ DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG)
+ DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return)
+ DEFINEFUNC(RSA *, RSA_new, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
+-DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
+-DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
+-DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG)
+-DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG)
+-DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return)
+-#else
+-DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
+-DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG)
+-DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
+-DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
+-#endif
+ DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
+ DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
+-DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
+-DEFINEFUNC2(int, SSL_CIPHER_get_bits, SSL_CIPHER *a, a, int *b, b, return 0, return)
++DEFINEFUNC3(char *, SSL_CIPHER_description, const SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
++DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *a, a, int *b, b, return 0, return)
+ DEFINEFUNC(int, SSL_connect, SSL *a, a, return -1, return)
+ DEFINEFUNC(int, SSL_CTX_check_private_key, const SSL_CTX *a, a, return -1, return)
+ DEFINEFUNC4(long, SSL_CTX_ctrl, SSL_CTX *a, a, int b, b, long c, c, void *d, d, return -1, return)
+@@ -287,8 +419,6 @@ DEFINEFUNC(long, SSL_get_verify_result, const SSL *a, a, return -1, return)
+ #else
+ DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return)
+ #endif
+-DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
+-DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
+ DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return)
+ DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void *parg, parg, return -1, return)
+ DEFINEFUNC3(int, SSL_read, SSL *a, a, void *b, b, int c, c, return -1, return)
+@@ -301,7 +431,6 @@ DEFINEFUNC(void, SSL_SESSION_free, SSL_SESSION *ses, ses, return, DUMMYARG)
+ DEFINEFUNC(SSL_SESSION*, SSL_get1_session, SSL *ssl, ssl, return 0, return)
+ DEFINEFUNC(SSL_SESSION*, SSL_get_session, const SSL *ssl, ssl, return 0, return)
+ #if OPENSSL_VERSION_NUMBER >= 0x10001000L
+-DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
+ DEFINEFUNC3(int, SSL_set_ex_data, SSL *ssl, ssl, int idx, idx, void *arg, arg, return 0, return)
+ DEFINEFUNC2(void *, SSL_get_ex_data, const SSL *ssl, ssl, int idx, idx, return NULL, return)
+ #endif
+@@ -310,51 +439,9 @@ DEFINEFUNC2(void, SSL_set_psk_client_callback, SSL* ssl, ssl, q_psk_client_callb
+ DEFINEFUNC2(void, SSL_set_psk_server_callback, SSL* ssl, ssl, q_psk_server_callback_t callback, callback, return, DUMMYARG)
+ DEFINEFUNC2(int, SSL_CTX_use_psk_identity_hint, SSL_CTX* ctx, ctx, const char *hint, hint, return 0, return)
+ #endif
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-#ifndef OPENSSL_NO_SSL2
+-DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
+-#endif
+-#ifndef OPENSSL_NO_SSL3_METHOD
+-DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
+-#endif
+-DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
+-DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
+-#if OPENSSL_VERSION_NUMBER >= 0x10001000L
+-DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return)
+-DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return)
+-#endif
+-#ifndef OPENSSL_NO_SSL2
+-DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
+-#endif
+-#ifndef OPENSSL_NO_SSL3_METHOD
+-DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
+-#endif
+-DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
+-DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
+-#if OPENSSL_VERSION_NUMBER >= 0x10001000L
+-DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return)
+-DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return)
+-#endif
+-#else
+-#ifndef OPENSSL_NO_SSL2
+-DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
+-#endif
+-#ifndef OPENSSL_NO_SSL3_METHOD
+-DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
+-#endif
+-DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
+-DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
+-#ifndef OPENSSL_NO_SSL2
+-DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
+-#endif
+-#ifndef OPENSSL_NO_SSL3_METHOD
+-DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
+-#endif
+-DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
+-DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
+-#endif
+ DEFINEFUNC3(int, SSL_write, SSL *a, a, const void *b, b, int c, c, return -1, return)
+ DEFINEFUNC2(int, X509_cmp, X509 *a, a, X509 *b, b, return -1, return)
++DEFINEFUNC4(int, X509_digest, const X509 *x509, x509, const EVP_MD *type, type, unsigned char *md, md, unsigned int *len, len, return -1, return)
+ #ifndef SSLEAY_MACROS
+ DEFINEFUNC(X509 *, X509_dup, X509 *a, a, return 0, return)
+ #endif
+@@ -378,6 +465,7 @@ DEFINEFUNC2(int, ASN1_STRING_print, BIO *a, a, ASN1_STRING *b, b, return 0, retu
+ DEFINEFUNC2(int, X509_check_issued, X509 *a, a, X509 *b, b, return -1, return)
+ DEFINEFUNC(X509_NAME *, X509_get_issuer_name, X509 *a, a, return 0, return)
+ DEFINEFUNC(X509_NAME *, X509_get_subject_name, X509 *a, a, return 0, return)
++DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *a, a, return 0, return)
+ DEFINEFUNC(int, X509_verify_cert, X509_STORE_CTX *a, a, return -1, return)
+ DEFINEFUNC(int, X509_NAME_entry_count, X509_NAME *a, a, return 0, return)
+ DEFINEFUNC2(X509_NAME_ENTRY *, X509_NAME_get_entry, X509_NAME *a, a, int b, b, return 0, return)
+@@ -393,25 +481,8 @@ DEFINEFUNC2(int, X509_STORE_CTX_set_purpose, X509_STORE_CTX *a, a, int b, b, ret
+ DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return)
+ DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return)
+ DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return)
+-DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
+ DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return)
+-#ifdef SSLEAY_MACROS
+-DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
+-DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return)
+-#ifndef OPENSSL_NO_EC
+-DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return)
+-#endif
+-DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
+-DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
+-#ifndef OPENSSL_NO_EC
+-DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return)
+-#endif
+-#endif
+-DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
+-DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
+ DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return)
+-DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
+-DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return)
+ DEFINEFUNC2(int, i2d_SSL_SESSION, SSL_SESSION *in, in, unsigned char **pp, pp, return 0, return)
+ DEFINEFUNC3(SSL_SESSION *, d2i_SSL_SESSION, SSL_SESSION **a, a, const unsigned char **pp, pp, long length, length, return 0, return)
+ #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
+@@ -694,8 +765,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
+ #ifndef Q_OS_DARWIN
+     // second attempt: find the development files libssl.so and libcrypto.so
+     //
+-    // disabled on OS X/iOS:
+-    //  OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
++    // disabled on macOS/iOS:
++    //  macOS's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
+     //    attempt, _after_ <bundle>/Contents/Frameworks has been searched.
+     //  iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place.
+     libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
+@@ -754,7 +825,11 @@ bool q_resolveOpenSslSymbols()
+     static bool symbolsResolved = false;
+     static bool triedToResolveSymbols = false;
+ #ifndef QT_NO_THREAD
++#if QT_CONFIG(opensslv11)
++    QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_OPENSSL_init_ssl));
++#else
+     QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_SSL_library_init));
++#endif
+ #endif
+     if (symbolsResolved)
+         return true;
+@@ -771,11 +846,145 @@ bool q_resolveOpenSslSymbols()
+         // failed to load them
+         return false;
+ 
++#if QT_CONFIG(opensslv11)
++
++    RESOLVEFUNC(OPENSSL_init_ssl)
++    RESOLVEFUNC(OPENSSL_init_crypto)
++    RESOLVEFUNC(ASN1_STRING_get0_data)
++    RESOLVEFUNC(EVP_CIPHER_CTX_reset)
++    RESOLVEFUNC(EVP_PKEY_base_id)
++    RESOLVEFUNC(RSA_bits)
++    RESOLVEFUNC(OPENSSL_sk_new_null)
++    RESOLVEFUNC(OPENSSL_sk_push)
++    RESOLVEFUNC(OPENSSL_sk_free)
++    RESOLVEFUNC(OPENSSL_sk_num)
++    RESOLVEFUNC(OPENSSL_sk_pop_free)
++    RESOLVEFUNC(OPENSSL_sk_value)
++    RESOLVEFUNC(DH_get0_pqg)
++    RESOLVEFUNC(SSL_CTX_set_options)
++    RESOLVEFUNC(SSL_get_client_random)
++    RESOLVEFUNC(SSL_SESSION_get_master_key)
++    RESOLVEFUNC(SSL_session_reused)
++    RESOLVEFUNC(SSL_get_session)
++    RESOLVEFUNC(CRYPTO_get_ex_new_index)
++    RESOLVEFUNC(TLS_method)
++    RESOLVEFUNC(TLS_client_method)
++    RESOLVEFUNC(TLS_server_method)
++    RESOLVEFUNC(X509_STORE_CTX_get0_chain)
++    RESOLVEFUNC(X509_getm_notBefore)
++    RESOLVEFUNC(X509_getm_notAfter)
++    RESOLVEFUNC(X509_get_version)
++    RESOLVEFUNC(X509_get_pubkey)
++    RESOLVEFUNC(X509_STORE_set_verify_cb)
++    RESOLVEFUNC(CRYPTO_free)
++    RESOLVEFUNC(OpenSSL_version_num)
++    RESOLVEFUNC(OpenSSL_version)
++    if (!_q_OpenSSL_version) {
++        // Apparently, we were built with OpenSSL 1.1 enabled but are now using
++        // a wrong library.
++        delete libs.first;
++        delete libs.second;
++        qCWarning(lcSsl, "Incompatible version of OpenSSL");
++        return false;
++    }
++
++    RESOLVEFUNC(SSL_SESSION_get_ticket_lifetime_hint)
++    RESOLVEFUNC(DH_bits)
++    RESOLVEFUNC(DSA_bits)
++
++#else // !opensslv11
++
++    RESOLVEFUNC(ASN1_STRING_data)
++
+ #ifdef SSLEAY_MACROS
+     RESOLVEFUNC(ASN1_dup)
++#endif // SSLEAY_MACROS
++    RESOLVEFUNC(BIO_new_file)
++    RESOLVEFUNC(ERR_clear_error)
++    RESOLVEFUNC(CRYPTO_free)
++    RESOLVEFUNC(CRYPTO_num_locks)
++    RESOLVEFUNC(CRYPTO_set_id_callback)
++    RESOLVEFUNC(CRYPTO_set_locking_callback)
++    RESOLVEFUNC(ERR_peek_last_error)
++    RESOLVEFUNC(ERR_free_strings)
++    RESOLVEFUNC(EVP_CIPHER_CTX_cleanup)
++    RESOLVEFUNC(EVP_CIPHER_CTX_init)
++
++#ifdef SSLEAY_MACROS // ### verify
++    RESOLVEFUNC(PEM_ASN1_read_bio)
++#endif // SSLEAY_MACROS
++
++    RESOLVEFUNC(sk_new_null)
++    RESOLVEFUNC(sk_push)
++    RESOLVEFUNC(sk_free)
++    RESOLVEFUNC(sk_num)
++    RESOLVEFUNC(sk_pop_free)
++    RESOLVEFUNC(sk_value)
++    RESOLVEFUNC(SSL_library_init)
++    RESOLVEFUNC(SSL_load_error_strings)
++#if OPENSSL_VERSION_NUMBER >= 0x10001000L
++    RESOLVEFUNC(SSL_get_ex_new_index)
++#endif
++#ifndef OPENSSL_NO_SSL2
++    RESOLVEFUNC(SSLv2_client_method)
+ #endif
++#ifndef OPENSSL_NO_SSL3_METHOD
++    RESOLVEFUNC(SSLv3_client_method)
++#endif
++    RESOLVEFUNC(SSLv23_client_method)
++    RESOLVEFUNC(TLSv1_client_method)
++#if OPENSSL_VERSION_NUMBER >= 0x10001000L
++    RESOLVEFUNC(TLSv1_1_client_method)
++    RESOLVEFUNC(TLSv1_2_client_method)
++#endif
++#ifndef OPENSSL_NO_SSL2
++    RESOLVEFUNC(SSLv2_server_method)
++#endif
++#ifndef OPENSSL_NO_SSL3_METHOD
++    RESOLVEFUNC(SSLv3_server_method)
++#endif
++    RESOLVEFUNC(SSLv23_server_method)
++    RESOLVEFUNC(TLSv1_server_method)
++#if OPENSSL_VERSION_NUMBER >= 0x10001000L
++    RESOLVEFUNC(TLSv1_1_server_method)
++    RESOLVEFUNC(TLSv1_2_server_method)
++#endif
++    RESOLVEFUNC(X509_STORE_CTX_get_chain)
++#ifdef SSLEAY_MACROS
++    RESOLVEFUNC(i2d_DSAPrivateKey)
++    RESOLVEFUNC(i2d_RSAPrivateKey)
++    RESOLVEFUNC(d2i_DSAPrivateKey)
++    RESOLVEFUNC(d2i_RSAPrivateKey)
++#endif
++    RESOLVEFUNC(CONF_get1_default_config_file)
++    RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
++    RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
++    RESOLVEFUNC(SSLeay)
++
++    if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) {
++        // OpenSSL 1.1 has deprecated and removed SSLeay. We consider a failure to
++        // resolve this symbol as a failure to resolve symbols.
++        // The right operand of '||' above is ... a bit of paranoia.
++        delete libs.first;
++        delete libs.second;
++        qCWarning(lcSsl, "Incompatible version of OpenSSL");
++        return false;
++    }
++
++
++    RESOLVEFUNC(SSLeay_version)
++
++#ifndef OPENSSL_NO_EC
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++    if (q_SSLeay() >= 0x10002000L)
++        RESOLVEFUNC(EC_curve_nist2nid)
++#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
++#endif // OPENSSL_NO_EC
++
++
++#endif // !opensslv11
++
+     RESOLVEFUNC(ASN1_INTEGER_get)
+-    RESOLVEFUNC(ASN1_STRING_data)
+     RESOLVEFUNC(ASN1_STRING_length)
+     RESOLVEFUNC(ASN1_STRING_to_UTF8)
+     RESOLVEFUNC(BIO_ctrl)
+@@ -794,25 +1003,22 @@ bool q_resolveOpenSslSymbols()
+     RESOLVEFUNC(BN_is_word)
+ #endif
+     RESOLVEFUNC(BN_mod_word)
+-    RESOLVEFUNC(CRYPTO_free)
+-    RESOLVEFUNC(CRYPTO_num_locks)
+-    RESOLVEFUNC(CRYPTO_set_id_callback)
+-    RESOLVEFUNC(CRYPTO_set_locking_callback)
+     RESOLVEFUNC(DSA_new)
+     RESOLVEFUNC(DSA_free)
+     RESOLVEFUNC(ERR_error_string)
+     RESOLVEFUNC(ERR_get_error)
+-    RESOLVEFUNC(ERR_free_strings)
+-    RESOLVEFUNC(EVP_CIPHER_CTX_cleanup)
+-    RESOLVEFUNC(EVP_CIPHER_CTX_init)
++    RESOLVEFUNC(EVP_CIPHER_CTX_new)
++    RESOLVEFUNC(EVP_CIPHER_CTX_free)
+     RESOLVEFUNC(EVP_CIPHER_CTX_ctrl)
+     RESOLVEFUNC(EVP_CIPHER_CTX_set_key_length)
+     RESOLVEFUNC(EVP_CipherInit)
++    RESOLVEFUNC(EVP_CipherInit_ex)
+     RESOLVEFUNC(EVP_CipherUpdate)
+     RESOLVEFUNC(EVP_CipherFinal)
+     RESOLVEFUNC(EVP_des_cbc)
+     RESOLVEFUNC(EVP_des_ede3_cbc)
+     RESOLVEFUNC(EVP_rc2_cbc)
++    RESOLVEFUNC(EVP_sha1)
+     RESOLVEFUNC(EVP_PKEY_assign)
+     RESOLVEFUNC(EVP_PKEY_set1_RSA)
+     RESOLVEFUNC(EVP_PKEY_set1_DSA)
+@@ -834,9 +1040,8 @@ bool q_resolveOpenSslSymbols()
+     RESOLVEFUNC(i2t_ASN1_OBJECT)
+     RESOLVEFUNC(OBJ_obj2txt)
+     RESOLVEFUNC(OBJ_obj2nid)
+-#ifdef SSLEAY_MACROS // ### verify
+-    RESOLVEFUNC(PEM_ASN1_read_bio)
+-#else
++
++#ifndef SSLEAY_MACROS
+     RESOLVEFUNC(PEM_read_bio_PrivateKey)
+     RESOLVEFUNC(PEM_read_bio_DSAPrivateKey)
+     RESOLVEFUNC(PEM_read_bio_RSAPrivateKey)
+@@ -849,7 +1054,8 @@ bool q_resolveOpenSslSymbols()
+ #ifndef OPENSSL_NO_EC
+     RESOLVEFUNC(PEM_write_bio_ECPrivateKey)
+ #endif
+-#endif
++#endif // !SSLEAY_MACROS
++
+     RESOLVEFUNC(PEM_read_bio_PUBKEY)
+     RESOLVEFUNC(PEM_read_bio_DSA_PUBKEY)
+     RESOLVEFUNC(PEM_read_bio_RSA_PUBKEY)
+@@ -865,12 +1071,6 @@ bool q_resolveOpenSslSymbols()
+     RESOLVEFUNC(RAND_status)
+     RESOLVEFUNC(RSA_new)
+     RESOLVEFUNC(RSA_free)
+-    RESOLVEFUNC(sk_new_null)
+-    RESOLVEFUNC(sk_push)
+-    RESOLVEFUNC(sk_free)
+-    RESOLVEFUNC(sk_num)
+-    RESOLVEFUNC(sk_pop_free)
+-    RESOLVEFUNC(sk_value)
+     RESOLVEFUNC(SSL_CIPHER_description)
+     RESOLVEFUNC(SSL_CIPHER_get_bits)
+     RESOLVEFUNC(SSL_CTX_check_private_key)
+@@ -898,8 +1098,6 @@ bool q_resolveOpenSslSymbols()
+     RESOLVEFUNC(SSL_get_peer_cert_chain)
+     RESOLVEFUNC(SSL_get_peer_certificate)
+     RESOLVEFUNC(SSL_get_verify_result)
+-    RESOLVEFUNC(SSL_library_init)
+-    RESOLVEFUNC(SSL_load_error_strings)
+     RESOLVEFUNC(SSL_new)
+     RESOLVEFUNC(SSL_ctrl)
+     RESOLVEFUNC(SSL_read)
+@@ -912,7 +1110,6 @@ bool q_resolveOpenSslSymbols()
+     RESOLVEFUNC(SSL_get1_session)
+     RESOLVEFUNC(SSL_get_session)
+ #if OPENSSL_VERSION_NUMBER >= 0x10001000L
+-    RESOLVEFUNC(SSL_get_ex_new_index)
+     RESOLVEFUNC(SSL_set_ex_data)
+     RESOLVEFUNC(SSL_get_ex_data)
+ #endif
+@@ -922,30 +1119,6 @@ bool q_resolveOpenSslSymbols()
+     RESOLVEFUNC(SSL_CTX_use_psk_identity_hint)
+ #endif
+     RESOLVEFUNC(SSL_write)
+-#ifndef OPENSSL_NO_SSL2
+-    RESOLVEFUNC(SSLv2_client_method)
+-#endif
+-#ifndef OPENSSL_NO_SSL3_METHOD
+-    RESOLVEFUNC(SSLv3_client_method)
+-#endif
+-    RESOLVEFUNC(SSLv23_client_method)
+-    RESOLVEFUNC(TLSv1_client_method)
+-#if OPENSSL_VERSION_NUMBER >= 0x10001000L
+-    RESOLVEFUNC(TLSv1_1_client_method)
+-    RESOLVEFUNC(TLSv1_2_client_method)
+-#endif
+-#ifndef OPENSSL_NO_SSL2
+-    RESOLVEFUNC(SSLv2_server_method)
+-#endif
+-#ifndef OPENSSL_NO_SSL3_METHOD
+-    RESOLVEFUNC(SSLv3_server_method)
+-#endif
+-    RESOLVEFUNC(SSLv23_server_method)
+-    RESOLVEFUNC(TLSv1_server_method)
+-#if OPENSSL_VERSION_NUMBER >= 0x10001000L
+-    RESOLVEFUNC(TLSv1_1_server_method)
+-    RESOLVEFUNC(TLSv1_2_server_method)
+-#endif
+     RESOLVEFUNC(X509_NAME_entry_count)
+     RESOLVEFUNC(X509_NAME_get_entry)
+     RESOLVEFUNC(X509_NAME_ENTRY_get_data)
+@@ -961,12 +1134,12 @@ bool q_resolveOpenSslSymbols()
+     RESOLVEFUNC(X509_STORE_CTX_get_error)
+     RESOLVEFUNC(X509_STORE_CTX_get_error_depth)
+     RESOLVEFUNC(X509_STORE_CTX_get_current_cert)
+-    RESOLVEFUNC(X509_STORE_CTX_get_chain)
+     RESOLVEFUNC(X509_cmp)
+ #ifndef SSLEAY_MACROS
+     RESOLVEFUNC(X509_dup)
+ #endif
+     RESOLVEFUNC(X509_print)
++    RESOLVEFUNC(X509_digest)
+     RESOLVEFUNC(X509_EXTENSION_get_object)
+     RESOLVEFUNC(X509_free)
+     RESOLVEFUNC(X509_get_ext)
+@@ -982,20 +1155,11 @@ bool q_resolveOpenSslSymbols()
+     RESOLVEFUNC(X509_check_issued)
+     RESOLVEFUNC(X509_get_issuer_name)
+     RESOLVEFUNC(X509_get_subject_name)
++    RESOLVEFUNC(X509_get_serialNumber)
+     RESOLVEFUNC(X509_verify_cert)
+     RESOLVEFUNC(d2i_X509)
+     RESOLVEFUNC(i2d_X509)
+-#ifdef SSLEAY_MACROS
+-    RESOLVEFUNC(i2d_DSAPrivateKey)
+-    RESOLVEFUNC(i2d_RSAPrivateKey)
+-    RESOLVEFUNC(d2i_DSAPrivateKey)
+-    RESOLVEFUNC(d2i_RSAPrivateKey)
+-#endif
+-    RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
+-    RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
+     RESOLVEFUNC(SSL_CTX_load_verify_locations)
+-    RESOLVEFUNC(SSLeay)
+-    RESOLVEFUNC(SSLeay_version)
+     RESOLVEFUNC(i2d_SSL_SESSION)
+     RESOLVEFUNC(d2i_SSL_SESSION)
+ #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
+@@ -1019,27 +1183,14 @@ bool q_resolveOpenSslSymbols()
+     RESOLVEFUNC(EC_KEY_new_by_curve_name)
+     RESOLVEFUNC(EC_KEY_free)
+     RESOLVEFUNC(EC_get_builtin_curves)
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
+-    if (q_SSLeay() >= 0x10002000L)
+-        RESOLVEFUNC(EC_curve_nist2nid)
+-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
+ #endif // OPENSSL_NO_EC
+     RESOLVEFUNC(PKCS12_parse)
+     RESOLVEFUNC(d2i_PKCS12_bio)
+     RESOLVEFUNC(PKCS12_free)
+ 
++    symbolsResolved = true;
+     delete libs.first;
+     delete libs.second;
+-    if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) {
+-        // OpenSSL 1.1 deprecated and removed SSLeay. We consider a failure to
+-        // resolve this symbol as a failure to resolve symbols.
+-        // The right operand of '||' above ... a bit of paranoia.
+-        qCWarning(lcSsl, "Incompatible version of OpenSSL");
+-        return false;
+-    }
+-
+-    symbolsResolved = true;
+-
+     return true;
+ }
+ #endif // QT_CONFIG(library)
+diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
+index b35a895d38..796bf2d4f5 100644
+--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
++++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
+@@ -1,6 +1,6 @@
+ /****************************************************************************
+ **
+-** Copyright (C) 2016 The Qt Company Ltd.
++** Copyright (C) 2017 The Qt Company Ltd.
+ ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
+ ** Contact: https://www.qt.io/licensing/
+ **
+@@ -56,6 +56,7 @@
+ #ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H
+ #define QSSLSOCKET_OPENSSL_SYMBOLS_P_H
+ 
++
+ //
+ //  W A R N I N G
+ //  -------------
+@@ -215,17 +216,20 @@ QT_BEGIN_NAMESPACE
+ 
+ #endif // !defined QT_LINKED_OPENSSL
+ 
++#if QT_CONFIG(opensslv11)
++#include "qsslsocket_openssl11_symbols_p.h"
++#else
++#include "qsslsocket_opensslpre11_symbols_p.h"
++#endif // QT_CONFIG
++
+ bool q_resolveOpenSslSymbols();
+ long q_ASN1_INTEGER_get(ASN1_INTEGER *a);
+-unsigned char * q_ASN1_STRING_data(ASN1_STRING *a);
+ int q_ASN1_STRING_length(ASN1_STRING *a);
+ int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
+ long q_BIO_ctrl(BIO *a, int b, long c, void *d);
+ Q_AUTOTEST_EXPORT int q_BIO_free(BIO *a);
+-Q_AUTOTEST_EXPORT BIO *q_BIO_new(BIO_METHOD *a);
+ BIO *q_BIO_new_mem_buf(void *a, int b);
+ int q_BIO_read(BIO *a, void *b, int c);
+-Q_AUTOTEST_EXPORT BIO_METHOD *q_BIO_s_mem();
+ Q_AUTOTEST_EXPORT int q_BIO_write(BIO *a, const void *b, int c);
+ int q_BN_num_bits(const BIGNUM *a);
+ #if OPENSSL_VERSION_NUMBER >= 0x10100000L
+@@ -247,26 +251,23 @@ BN_ULONG q_BN_mod_word(const BIGNUM *a, BN_ULONG w);
+ const EC_GROUP* q_EC_KEY_get0_group(const EC_KEY* k);
+ int q_EC_GROUP_get_degree(const EC_GROUP* g);
+ #endif
+-int q_CRYPTO_num_locks();
+-void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int));
+-void q_CRYPTO_set_id_callback(unsigned long (*a)());
+-void q_CRYPTO_free(void *a);
+ DSA *q_DSA_new();
+ void q_DSA_free(DSA *a);
+ X509 *q_d2i_X509(X509 **a, const unsigned char **b, long c);
+ char *q_ERR_error_string(unsigned long a, char *b);
+ unsigned long q_ERR_get_error();
+-void q_ERR_free_strings();
+-void q_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a);
+-void q_EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a);
++EVP_CIPHER_CTX *q_EVP_CIPHER_CTX_new();
++void q_EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a);
+ int q_EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);
+ int q_EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);
+ int q_EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, const unsigned char *key, const unsigned char *iv, int enc);
++int q_EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const unsigned char *key, const unsigned char *iv, int enc);
+ int q_EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl);
+ int q_EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
+ const EVP_CIPHER *q_EVP_des_cbc();
+ const EVP_CIPHER *q_EVP_des_ede3_cbc();
+ const EVP_CIPHER *q_EVP_rc2_cbc();
++const EVP_MD *q_EVP_sha1();
+ int q_EVP_PKEY_assign(EVP_PKEY *a, int b, char *c);
+ Q_AUTOTEST_EXPORT int q_EVP_PKEY_set1_RSA(EVP_PKEY *a, RSA *b);
+ int q_EVP_PKEY_set1_DSA(EVP_PKEY *a, DSA *b);
+@@ -310,7 +311,7 @@ int q_PEM_write_bio_RSAPrivateKey(BIO *a, RSA *b, const EVP_CIPHER *c, unsigned
+ int q_PEM_write_bio_ECPrivateKey(BIO *a, EC_KEY *b, const EVP_CIPHER *c, unsigned char *d,
+                                   int e, pem_password_cb *f, void *g);
+ #endif
+-#endif
++#endif // SSLEAY_MACROS
+ Q_AUTOTEST_EXPORT EVP_PKEY *q_PEM_read_bio_PUBKEY(BIO *a, EVP_PKEY **b, pem_password_cb *c, void *d);
+ DSA *q_PEM_read_bio_DSA_PUBKEY(BIO *a, DSA **b, pem_password_cb *c, void *d);
+ RSA *q_PEM_read_bio_RSA_PUBKEY(BIO *a, RSA **b, pem_password_cb *c, void *d);
+@@ -326,23 +327,10 @@ void q_RAND_seed(const void *a, int b);
+ int q_RAND_status();
+ RSA *q_RSA_new();
+ void q_RSA_free(RSA *a);
+-int q_sk_num(STACK *a);
+-void q_sk_pop_free(STACK *a, void (*b)(void *));
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-_STACK *q_sk_new_null();
+-void q_sk_push(_STACK *st, void *data);
+-void q_sk_free(_STACK *a);
+-void * q_sk_value(STACK *a, int b);
+-#else
+-STACK *q_sk_new_null();
+-void q_sk_push(STACK *st, char *data);
+-void q_sk_free(STACK *a);
+-char * q_sk_value(STACK *a, int b);
+-#endif
+ int q_SSL_accept(SSL *a);
+ int q_SSL_clear(SSL *a);
+-char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c);
+-int q_SSL_CIPHER_get_bits(SSL_CIPHER *a, int *b);
++char *q_SSL_CIPHER_description(const SSL_CIPHER *a, char *b, int c);
++int q_SSL_CIPHER_get_bits(const SSL_CIPHER *a, int *b);
+ int q_SSL_connect(SSL *a);
+ int q_SSL_CTX_check_private_key(const SSL_CTX *a);
+ long q_SSL_CTX_ctrl(SSL_CTX *a, int b, long c, void *d);
+@@ -374,8 +362,6 @@ int q_SSL_get_error(SSL *a, int b);
+ STACK_OF(X509) *q_SSL_get_peer_cert_chain(SSL *a);
+ X509 *q_SSL_get_peer_certificate(SSL *a);
+ long q_SSL_get_verify_result(const SSL *a);
+-int q_SSL_library_init();
+-void q_SSL_load_error_strings();
+ SSL *q_SSL_new(SSL_CTX *a);
+ long q_SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg);
+ int q_SSL_read(SSL *a, void *b, int c);
+@@ -388,7 +374,6 @@ void q_SSL_SESSION_free(SSL_SESSION *ses);
+ SSL_SESSION *q_SSL_get1_session(SSL *ssl);
+ SSL_SESSION *q_SSL_get_session(const SSL *ssl);
+ #if OPENSSL_VERSION_NUMBER >= 0x10001000L
+-int q_SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
+ int q_SSL_set_ex_data(SSL *ssl, int idx, void *arg);
+ void *q_SSL_get_ex_data(const SSL *ssl, int idx);
+ #endif
+@@ -399,49 +384,6 @@ typedef unsigned int (*q_psk_server_callback_t)(SSL *ssl, const char *identity,
+ void q_SSL_set_psk_server_callback(SSL *ssl, q_psk_server_callback_t callback);
+ int q_SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint);
+ #endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-#ifndef OPENSSL_NO_SSL2
+-const SSL_METHOD *q_SSLv2_client_method();
+-#endif
+-#ifndef OPENSSL_NO_SSL3_METHOD
+-const SSL_METHOD *q_SSLv3_client_method();
+-#endif
+-const SSL_METHOD *q_SSLv23_client_method();
+-const SSL_METHOD *q_TLSv1_client_method();
+-const SSL_METHOD *q_TLSv1_1_client_method();
+-const SSL_METHOD *q_TLSv1_2_client_method();
+-#ifndef OPENSSL_NO_SSL2
+-const SSL_METHOD *q_SSLv2_server_method();
+-#endif
+-#ifndef OPENSSL_NO_SSL3_METHOD
+-const SSL_METHOD *q_SSLv3_server_method();
+-#endif
+-const SSL_METHOD *q_SSLv23_server_method();
+-const SSL_METHOD *q_TLSv1_server_method();
+-const SSL_METHOD *q_TLSv1_1_server_method();
+-const SSL_METHOD *q_TLSv1_2_server_method();
+-#else
+-#ifndef OPENSSL_NO_SSL2
+-SSL_METHOD *q_SSLv2_client_method();
+-#endif
+-#ifndef OPENSSL_NO_SSL3_METHOD
+-SSL_METHOD *q_SSLv3_client_method();
+-#endif
+-SSL_METHOD *q_SSLv23_client_method();
+-SSL_METHOD *q_TLSv1_client_method();
+-SSL_METHOD *q_TLSv1_1_client_method();
+-SSL_METHOD *q_TLSv1_2_client_method();
+-#ifndef OPENSSL_NO_SSL2
+-SSL_METHOD *q_SSLv2_server_method();
+-#endif
+-#ifndef OPENSSL_NO_SSL3_METHOD
+-SSL_METHOD *q_SSLv3_server_method();
+-#endif
+-SSL_METHOD *q_SSLv23_server_method();
+-SSL_METHOD *q_TLSv1_server_method();
+-SSL_METHOD *q_TLSv1_1_server_method();
+-SSL_METHOD *q_TLSv1_2_server_method();
+-#endif
+ int q_SSL_write(SSL *a, const void *b, int c);
+ int q_X509_cmp(X509 *a, X509 *b);
+ #ifdef SSLEAY_MACROS
+@@ -452,6 +394,7 @@ void *q_ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x);
+ X509 *q_X509_dup(X509 *a);
+ #endif
+ void q_X509_print(BIO *a, X509*b);
++int q_X509_digest(const X509 *x509, const EVP_MD *type, unsigned char *md, unsigned int *len);
+ ASN1_OBJECT *q_X509_EXTENSION_get_object(X509_EXTENSION *a);
+ void q_X509_free(X509 *a);
+ X509_EXTENSION *q_X509_get_ext(X509 *a, int b);
+@@ -471,6 +414,7 @@ int q_ASN1_STRING_print(BIO *a, ASN1_STRING *b);
+ int q_X509_check_issued(X509 *a, X509 *b);
+ X509_NAME *q_X509_get_issuer_name(X509 *a);
+ X509_NAME *q_X509_get_subject_name(X509 *a);
++ASN1_INTEGER *q_X509_get_serialNumber(X509 *a);
+ int q_X509_verify_cert(X509_STORE_CTX *ctx);
+ int q_X509_NAME_entry_count(X509_NAME *a);
+ X509_NAME_ENTRY *q_X509_NAME_get_entry(X509_NAME *a,int b);
+@@ -488,7 +432,6 @@ int q_X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose);
+ int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
+ int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
+ X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);
+-STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
+ 
+ // Diffie-Hellman support
+ DH *q_DH_new();
+@@ -522,34 +465,9 @@ int q_PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
+ PKCS12 *q_d2i_PKCS12_bio(BIO *bio, PKCS12 **pkcs12);
+ void q_PKCS12_free(PKCS12 *pkcs12);
+ 
+-
+ #define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp)
+ #define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL)
+-#ifdef SSLEAY_MACROS
+-int     q_i2d_DSAPrivateKey(const DSA *a, unsigned char **pp);
+-int     q_i2d_RSAPrivateKey(const RSA *a, unsigned char **pp);
+-RSA *q_d2i_RSAPrivateKey(RSA **a, unsigned char **pp, long length);
+-DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length);
+-#define q_PEM_read_bio_RSAPrivateKey(bp, x, cb, u) \
+-        (RSA *)q_PEM_ASN1_read_bio( \
+-        (void *(*)(void**, const unsigned char**, long int))q_d2i_RSAPrivateKey, PEM_STRING_RSA, bp, (void **)x, cb, u)
+-#define q_PEM_read_bio_DSAPrivateKey(bp, x, cb, u) \
+-        (DSA *)q_PEM_ASN1_read_bio( \
+-        (void *(*)(void**, const unsigned char**, long int))q_d2i_DSAPrivateKey, PEM_STRING_DSA, bp, (void **)x, cb, u)
+-#define q_PEM_write_bio_RSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \
+-        PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_RSAPrivateKey,PEM_STRING_RSA,\
+-                           bp,(char *)x,enc,kstr,klen,cb,u)
+-#define q_PEM_write_bio_DSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \
+-        PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\
+-                           bp,(char *)x,enc,kstr,klen,cb,u)
+-#define q_PEM_read_bio_DHparams(bp, dh, cb, u) \
+-        (DH *)q_PEM_ASN1_read_bio( \
+-        (void *(*)(void**, const unsigned char**, long int))q_d2i_DHparams, PEM_STRING_DHPARAMS, bp, (void **)x, cb, u)
+-#endif
+-#define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
+ #define q_SSL_CTX_set_mode(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL)
+-#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
+-#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i)
+ #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st))
+ #define q_sk_GENERAL_NAME_value(st, i) q_SKM_sk_value(GENERAL_NAME, (st), (i))
+ #define q_sk_X509_num(st) q_SKM_sk_num(X509, (st))
+@@ -558,18 +476,12 @@ DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length);
+ #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
+ #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
+         q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
+-#define q_X509_get_notAfter(x) X509_get_notAfter(x)
+-#define q_X509_get_notBefore(x) X509_get_notBefore(x)
+ #define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
+                                         (char *)(rsa))
+ #define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
+                                         (char *)(dsa))
+ #define q_OpenSSL_add_all_algorithms() q_OPENSSL_add_all_algorithms_conf()
+-void q_OPENSSL_add_all_algorithms_noconf();
+-void q_OPENSSL_add_all_algorithms_conf();
+ int q_SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);
+-long q_SSLeay();
+-const char *q_SSLeay_version(int type);
+ int q_i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp);
+ SSL_SESSION *q_d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length);
+ 
+diff --git a/src/network/ssl/qsslsocket_opensslpre11.cpp b/src/network/ssl/qsslsocket_opensslpre11.cpp
+new file mode 100644
+index 0000000000..e51888c5f2
+--- /dev/null
++++ b/src/network/ssl/qsslsocket_opensslpre11.cpp
+@@ -0,0 +1,424 @@
++/****************************************************************************
++**
++** Copyright (C) 2017 The Qt Company Ltd.
++** Copyright (C) 2014 Governikus GmbH & Co. KG
++** Contact: https://www.qt.io/licensing/
++**
++** This file is part of the QtNetwork module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see https://www.qt.io/terms-conditions. For further
++** information use the contact form at https://www.qt.io/contact-us.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 3 as published by the Free Software
++** Foundation and appearing in the file LICENSE.LGPL3 included in the
++** packaging of this file. Please review the following information to
++** ensure the GNU Lesser General Public License version 3 requirements
++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 2.0 or (at your option) the GNU General
++** Public license version 3 or any later version approved by the KDE Free
++** Qt Foundation. The licenses are as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
++** included in the packaging of this file. Please review the following
++** information to ensure the GNU General Public License requirements will
++** be met: https://www.gnu.org/licenses/gpl-2.0.html and
++** https://www.gnu.org/licenses/gpl-3.0.html.
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++/****************************************************************************
++**
++** In addition, as a special exception, the copyright holders listed above give
++** permission to link the code of its release of Qt with the OpenSSL project's
++** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
++** same license as the original version), and distribute the linked executables.
++**
++** You must comply with the GNU General Public License version 2 in all
++** respects for all of the code used other than the "OpenSSL" code.  If you
++** modify this file, you may extend this exception to your version of the file,
++** but you are not obligated to do so.  If you do not wish to do so, delete
++** this exception statement from your version of this file.
++**
++****************************************************************************/
++
++//#define QT_DECRYPT_SSL_TRAFFIC
++
++#include "qssl_p.h"
++#include "qsslsocket_openssl_p.h"
++#include "qsslsocket_openssl_symbols_p.h"
++#include "qsslsocket.h"
++#include "qsslkey.h"
++
++#include <QtCore/qdebug.h>
++#include <QtCore/qdir.h>
++#include <QtCore/qdiriterator.h>
++#include <QtCore/qthread.h>
++#include <QtCore/qfile.h>
++#include <QtCore/qmutex.h>
++#include <QtCore/qlibrary.h>
++
++QT_BEGIN_NAMESPACE
++
++/* \internal
++
++    From OpenSSL's thread(3) manual page:
++
++    OpenSSL can safely be used in multi-threaded applications provided that at
++    least two callback functions are set.
++
++    locking_function(int mode, int n, const char *file, int line) is needed to
++    perform locking on shared data structures.  (Note that OpenSSL uses a
++    number of global data structures that will be implicitly shared
++    whenever multiple threads use OpenSSL.)  Multi-threaded
++    applications will crash at random if it is not set.  ...
++    ...
++    id_function(void) is a function that returns a thread ID. It is not
++    needed on Windows nor on platforms where getpid() returns a different
++    ID for each thread (most notably Linux)
++*/
++
++class QOpenSslLocks
++{
++public:
++    QOpenSslLocks()
++        : initLocker(QMutex::Recursive),
++          locksLocker(QMutex::Recursive)
++    {
++        QMutexLocker locker(&locksLocker);
++        int numLocks = q_CRYPTO_num_locks();
++        locks = new QMutex *[numLocks];
++        memset(locks, 0, numLocks * sizeof(QMutex *));
++    }
++    ~QOpenSslLocks()
++    {
++        QMutexLocker locker(&locksLocker);
++        for (int i = 0; i < q_CRYPTO_num_locks(); ++i)
++            delete locks[i];
++        delete [] locks;
++
++        QSslSocketPrivate::deinitialize();
++    }
++    QMutex *lock(int num)
++    {
++        QMutexLocker locker(&locksLocker);
++        QMutex *tmp = locks[num];
++        if (!tmp)
++            tmp = locks[num] = new QMutex(QMutex::Recursive);
++        return tmp;
++    }
++
++    QMutex *globalLock()
++    {
++        return &locksLocker;
++    }
++
++    QMutex *initLock()
++    {
++        return &initLocker;
++    }
++
++private:
++    QMutex initLocker;
++    QMutex locksLocker;
++    QMutex **locks;
++};
++
++Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks)
++
++extern "C" {
++static void locking_function(int mode, int lockNumber, const char *, int)
++{
++    QMutex *mutex = openssl_locks()->lock(lockNumber);
++
++    // Lock or unlock it
++    if (mode & CRYPTO_LOCK)
++        mutex->lock();
++    else
++        mutex->unlock();
++}
++static unsigned long id_function()
++{
++    return (quintptr)QThread::currentThreadId();
++}
++
++} // extern "C"
++
++static void q_OpenSSL_add_all_algorithms_safe()
++{
++#ifdef Q_OS_WIN
++    // Prior to version 1.0.1m an attempt to call OpenSSL_add_all_algorithms on
++    // Windows could result in 'exit' call from OPENSSL_config (QTBUG-43843).
++    // We can predict this and avoid OPENSSL_add_all_algorithms call.
++    // From OpenSSL docs:
++    // "An application does not need to add algorithms to use them explicitly,
++    // for example by EVP_sha1(). It just needs to add them if it (or any of
++    // the functions it calls) needs to lookup algorithms.
++    // The cipher and digest lookup functions are used in many parts of the
++    // library. If the table is not initialized several functions will
++    // misbehave and complain they cannot find algorithms. This includes the
++    // PEM, PKCS#12, SSL and S/MIME libraries. This is a common query in
++    // the OpenSSL mailing lists."
++    //
++    // Anyway, as a result, we chose not to call this function if it would exit.
++
++    if (q_SSLeay() < 0x100010DFL)
++    {
++        // Now, before we try to call it, check if an attempt to open config file
++        // will result in exit:
++        if (char *confFileName = q_CONF_get1_default_config_file()) {
++            BIO *confFile = q_BIO_new_file(confFileName, "r");
++            const auto lastError = q_ERR_peek_last_error();
++            q_CRYPTO_free(confFileName);
++            if (confFile) {
++                q_BIO_free(confFile);
++            } else {
++                q_ERR_clear_error();
++                if (ERR_GET_REASON(lastError) == ERR_R_SYS_LIB) {
++                    qCWarning(lcSsl, "failed to open openssl.conf file");
++                    return;
++                }
++            }
++        }
++    }
++#endif // Q_OS_WIN
++
++    q_OpenSSL_add_all_algorithms();
++}
++
++
++/*!
++    \internal
++*/
++void QSslSocketPrivate::deinitialize()
++{
++    q_CRYPTO_set_id_callback(0);
++    q_CRYPTO_set_locking_callback(0);
++    q_ERR_free_strings();
++}
++
++
++bool QSslSocketPrivate::ensureLibraryLoaded()
++{
++    if (!q_resolveOpenSslSymbols())
++        return false;
++
++    // Check if the library itself needs to be initialized.
++    QMutexLocker locker(openssl_locks()->initLock());
++
++    if (!s_libraryLoaded) {
++        s_libraryLoaded = true;
++
++        // Initialize OpenSSL.
++        q_CRYPTO_set_id_callback(id_function);
++        q_CRYPTO_set_locking_callback(locking_function);
++        if (q_SSL_library_init() != 1)
++            return false;
++        q_SSL_load_error_strings();
++        q_OpenSSL_add_all_algorithms_safe();
++
++#if OPENSSL_VERSION_NUMBER >= 0x10001000L
++        if (q_SSLeay() >= 0x10001000L)
++            QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL);
++#endif
++
++        // Initialize OpenSSL's random seed.
++        if (!q_RAND_status()) {
++            qWarning("Random number generator not seeded, disabling SSL support");
++            return false;
++        }
++    }
++    return true;
++}
++
++void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
++{
++    QMutexLocker locker(openssl_locks()->initLock());
++    if (s_loadedCiphersAndCerts)
++        return;
++    s_loadedCiphersAndCerts = true;
++
++    resetDefaultCiphers();
++    resetDefaultEllipticCurves();
++
++#if QT_CONFIG(library)
++    //load symbols needed to receive certificates from system store
++#if defined(Q_OS_WIN)
++    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
++    if (hLib) {
++        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
++        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
++        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
++        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
++            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
++    } else {
++        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
++    }
++#elif defined(Q_OS_QNX)
++    s_loadRootCertsOnDemand = true;
++#elif defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
++    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
++    QList<QByteArray> dirs = unixRootCertDirectories();
++    QStringList symLinkFilter;
++    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
++    for (int a = 0; a < dirs.count(); ++a) {
++        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
++        if (iterator.hasNext()) {
++            s_loadRootCertsOnDemand = true;
++            break;
++        }
++    }
++#endif
++#endif // QT_CONFIG(library)
++    // if on-demand loading was not enabled, load the certs now
++    if (!s_loadRootCertsOnDemand)
++        setDefaultCaCertificates(systemCaCertificates());
++#ifdef Q_OS_WIN
++    //Enabled for fetching additional root certs from windows update on windows 6+
++    //This flag is set false by setDefaultCaCertificates() indicating the app uses
++    //its own cert bundle rather than the system one.
++    //Same logic that disables the unix on demand cert loading.
++    //Unlike unix, we do preload the certificates from the cert store.
++    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
++        s_loadRootCertsOnDemand = true;
++#endif
++}
++
++long QSslSocketPrivate::sslLibraryVersionNumber()
++{
++    if (!supportsSsl())
++        return 0;
++
++    return q_SSLeay();
++}
++
++QString QSslSocketPrivate::sslLibraryVersionString()
++{
++    if (!supportsSsl())
++        return QString();
++
++    const char *versionString = q_SSLeay_version(SSLEAY_VERSION);
++    if (!versionString)
++        return QString();
++
++    return QString::fromLatin1(versionString);
++}
++
++void QSslSocketBackendPrivate::continueHandshake()
++{
++    Q_Q(QSslSocket);
++    // if we have a max read buffer size, reset the plain socket's to match
++    if (readBufferMaxSize)
++        plainSocket->setReadBufferSize(readBufferMaxSize);
++
++    if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL))
++        configuration.peerSessionShared = true;
++
++#ifdef QT_DECRYPT_SSL_TRAFFIC
++    if (ssl->session && ssl->s3) {
++        const char *mk = reinterpret_cast<const char *>(ssl->session->master_key);
++        QByteArray masterKey(mk, ssl->session->master_key_length);
++        const char *random = reinterpret_cast<const char *>(ssl->s3->client_random);
++        QByteArray clientRandom(random, SSL3_RANDOM_SIZE);
++
++        // different format, needed for e.g. older Wireshark versions:
++//        const char *sid = reinterpret_cast<const char *>(ssl->session->session_id);
++//        QByteArray sessionID(sid, ssl->session->session_id_length);
++//        QByteArray debugLineRSA("RSA Session-ID:");
++//        debugLineRSA.append(sessionID.toHex().toUpper());
++//        debugLineRSA.append(" Master-Key:");
++//        debugLineRSA.append(masterKey.toHex().toUpper());
++//        debugLineRSA.append("\n");
++
++        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
++        debugLineClientRandom.append(clientRandom.toHex().toUpper());
++        debugLineClientRandom.append(" ");
++        debugLineClientRandom.append(masterKey.toHex().toUpper());
++        debugLineClientRandom.append("\n");
++
++        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
++        QFile file(sslKeyFile);
++        if (!file.open(QIODevice::Append))
++            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
++        if (!file.write(debugLineClientRandom))
++            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
++        file.close();
++    } else {
++        qCWarning(lcSsl, "could not decrypt SSL traffic");
++    }
++#endif
++
++    // Cache this SSL session inside the QSslContext
++    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
++        if (!sslContextPointer->cacheSession(ssl)) {
++            sslContextPointer.clear(); // we could not cache the session
++        } else {
++            // Cache the session for permanent usage as well
++            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
++                if (!sslContextPointer->sessionASN1().isEmpty())
++                    configuration.sslSession = sslContextPointer->sessionASN1();
++                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
++            }
++        }
++    }
++
++#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
++
++    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
++    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
++        // we could not agree -> be conservative and use HTTP/1.1
++        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
++    } else {
++        const unsigned char *proto = 0;
++        unsigned int proto_len = 0;
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++        if (q_SSLeay() >= 0x10002000L) {
++            q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
++            if (proto_len && mode == QSslSocket::SslClientMode) {
++                // Client does not have a callback that sets it ...
++                configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
++            }
++        }
++
++        if (!proto_len) { // Test if NPN was more lucky ...
++#else
++        {
++#endif
++            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
++        }
++
++        if (proto_len)
++            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
++        else
++            configuration.nextNegotiatedProtocol.clear();
++    }
++#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ...
++
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++    if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) {
++        EVP_PKEY *key;
++        if (q_SSL_get_server_tmp_key(ssl, &key))
++            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
++    }
++#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ...
++
++    connectionEncrypted = true;
++    emit q->encrypted();
++    if (autoStartHandshake && pendingClose) {
++        pendingClose = false;
++        q->disconnectFromHost();
++    }
++}
++
++QT_END_NAMESPACE
+diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri
+index d2b0c2d60d..2783effaf1 100644
+--- a/src/network/ssl/ssl.pri
++++ b/src/network/ssl/ssl.pri
+@@ -60,13 +60,25 @@ qtConfig(ssl) {
+         HEADERS += ssl/qsslcontext_openssl_p.h \
+                    ssl/qsslsocket_openssl_p.h \
+                    ssl/qsslsocket_openssl_symbols_p.h
+-        SOURCES += ssl/qsslcertificate_openssl.cpp \
+-                   ssl/qsslcontext_openssl.cpp \
++        SOURCES += ssl/qsslsocket_openssl_symbols.cpp \
+                    ssl/qssldiffiehellmanparameters_openssl.cpp \
++                   ssl/qsslcertificate_openssl.cpp \
+                    ssl/qsslellipticcurve_openssl.cpp \
+                    ssl/qsslkey_openssl.cpp \
+                    ssl/qsslsocket_openssl.cpp \
+-                   ssl/qsslsocket_openssl_symbols.cpp
++                   ssl/qsslcontext_openssl.cpp
++
++        qtConfig(opensslv11) {
++            HEADERS += ssl/qsslsocket_openssl11_symbols_p.h
++            SOURCES += ssl/qsslsocket_openssl11.cpp \
++                       ssl/qsslcontext_openssl11.cpp
++
++            QMAKE_CXXFLAGS += -DOPENSSL_API_COMPAT=0x10100000L
++        } else {
++            HEADERS += ssl/qsslsocket_opensslpre11_symbols_p.h
++            SOURCES += ssl/qsslsocket_opensslpre11.cpp \
++                       ssl/qsslcontext_opensslpre11.cpp
++        }
+ 
+         darwin:SOURCES += ssl/qsslsocket_mac_shared.cpp
+ 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase.patch b/pkgs/development/libraries/qt-5/5.9/qtbase.patch
index 086ddf4fe3e..f87c508a380 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtbase.patch
+++ b/pkgs/development/libraries/qt-5/5.9/qtbase.patch
@@ -994,28 +994,6 @@ index 9a24938284..74962b4ae2 100644
          if (!lib.load())
              return false;
      }
-diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
-index c92d8fc3f8..6008063bcf 100644
---- a/src/network/ssl/qsslcontext_openssl.cpp
-+++ b/src/network/ssl/qsslcontext_openssl.cpp
-@@ -351,7 +351,7 @@ init_context:
- 
-     const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-     if (!qcurves.isEmpty()) {
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         // Set the curves to be used
-         if (q_SSLeay() >= 0x10002000L) {
-             // SSL_CTX_ctrl wants a non-const pointer as last argument,
-@@ -364,7 +364,7 @@ init_context:
-                 sslContext->errorCode = QSslError::UnspecifiedError;
-             }
-         } else
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         {
-             // specific curves requested, but not possible to set -> error
-             sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
 diff --git a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
 index b5a0a5bbeb..6c20305f4d 100644
 --- a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index 07fd048d653..357c81fa4f6 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -20,8 +20,6 @@
 
 with stdenv.lib;
 
-let qt56 = qtCompatVersion == "5.6"; in
-
 qtModule {
   name = "qtwebengine";
   qtInputs = [ qtdeclarative qtquickcontrols qtlocation qtwebchannel ];
@@ -48,9 +46,9 @@ qtModule {
     # Patch Chromium build files
     + optionalString (lib.versionOlder qtCompatVersion "5.12") ''
       substituteInPlace ./src/3rdparty/chromium/build/common.gypi --replace /bin/echo ${coreutils}/bin/echo
-      substituteInPlace ./src/3rdparty/chromium/v8/${if qt56 then "build" else "gypfiles"}/toolchain.gypi \
+      substituteInPlace ./src/3rdparty/chromium/v8/gypfiles/toolchain.gypi \
         --replace /bin/echo ${coreutils}/bin/echo
-      substituteInPlace ./src/3rdparty/chromium/v8/${if qt56 then "build" else "gypfiles"}/standalone.gypi \
+      substituteInPlace ./src/3rdparty/chromium/v8/gypfiles/standalone.gypi \
         --replace /bin/echo ${coreutils}/bin/echo
     ''
     # Patch library paths in Qt sources
@@ -219,7 +217,6 @@ EOF
     description = "A web engine based on the Chromium web browser";
     maintainers = with maintainers; [ matthewbauer ];
     platforms = platforms.unix;
-    broken = qt56; # 2018-09-13, no successful build since 2018-04-25
   };
 
 }
diff --git a/pkgs/development/libraries/qtstyleplugins/default.nix b/pkgs/development/libraries/qtstyleplugins/default.nix
index b94cdd22f7f..dd50e6ec039 100644
--- a/pkgs/development/libraries/qtstyleplugins/default.nix
+++ b/pkgs/development/libraries/qtstyleplugins/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, qmake, pkgconfig, gtk2 }:
+{ stdenv, mkDerivation, fetchFromGitHub, qmake, pkgconfig, gtk2 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   name = "qtstyleplugins-2017-03-11";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/science/math/sympow/default.nix b/pkgs/development/libraries/science/math/sympow/default.nix
index 15dd898c455..e67f61599b5 100644
--- a/pkgs/development/libraries/science/math/sympow/default.nix
+++ b/pkgs/development/libraries/science/math/sympow/default.nix
@@ -9,7 +9,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.023.4";
+  version = "2.023.5";
   pname = "sympow";
 
   src = fetchFromGitLab {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner = "forks";
     repo = "sympow";
     rev = "v${version}";
-    sha256 = "0j2qdw9csbr081h8arhlx1z7ibgi5am4ndmvyc8y4hccfa8n4w1y";
+    sha256 = "1c5a2pizgqsf3pjkf7rfj20022ym4ixhrddp8ivs2nbzxwz6qvv9";
   };
 
   postUnpack = ''
diff --git a/pkgs/development/libraries/shibboleth-sp/default.nix b/pkgs/development/libraries/shibboleth-sp/default.nix
index da417c35a6c..77b9714066d 100644
--- a/pkgs/development/libraries/shibboleth-sp/default.nix
+++ b/pkgs/development/libraries/shibboleth-sp/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "shibboleth-sp";
-  version = "2.6.1";
+  version = "3.0.4.1";
 
   src = fetchgit {
     url = "https://git.shibboleth.net/git/cpp-sp.git";
     rev = version;
-    sha256 = "01q13p7gc0janjfml6zs46na8qnval8hc833fk2wrnmi4w9xw4fd";
+    sha256 = "1qb4dbz5gk10b9w1rf6f4vv7c2wb3a8bfzif6yiaq96ilqad7gdr";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix
index e35be7eda42..1cf40c92db6 100644
--- a/pkgs/development/libraries/simpleitk/default.nix
+++ b/pkgs/development/libraries/simpleitk/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, cmake, git, swig, lua, itk }:
+{ stdenv, fetchFromGitHub, cmake, git, swig, lua, itk, tcl, tk }:
 
 stdenv.mkDerivation rec {
-  pname    = "simpleitk";
-  version = "1.2.0";
+  pname = "simpleitk";
+  version = "1.2.2";
 
-  src = fetchurl {
-    url    = "https://sourceforge.net/projects/${pname}/files/SimpleITK/${version}/Source/SimpleITK-${version}.tar.gz";
-    sha256 = "10lxsr0144li6bmfgs646cvczczqkgmvvs3ndds66q8lg9zwbnky";
+  src = fetchFromGitHub {
+    owner = "SimpleITK";
+    repo = "SimpleITK";
+    rev = "v${version}";
+    sha256 = "1cgq9cxxplv6bkm2zfvcc0lgyh5zw1hbry30k1429n9737wnadaw";
   };
 
   nativeBuildInputs = [ cmake git swig ];
@@ -20,7 +22,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.simpleitk.org;
     description = "Simplified interface to ITK";
     maintainers = with maintainers; [ bcdarwin ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix b/pkgs/development/libraries/tracker-miners/default.nix
index eaa3ab3c089..9f31e70ad53 100644
--- a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
+++ b/pkgs/development/libraries/tracker-miners/default.nix
@@ -109,7 +109,7 @@ stdenv.mkDerivation rec {
   patches = [
     (substituteAll {
       src = ./fix-paths.patch;
-      inherit (gnome3) tracker;
+      inherit tracker;
     })
     # https://bugzilla.gnome.org/show_bug.cgi?id=795576
     (fetchurl {
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch b/pkgs/development/libraries/tracker-miners/fix-paths.patch
index 724c51cb56f..724c51cb56f 100644
--- a/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch
+++ b/pkgs/development/libraries/tracker-miners/fix-paths.patch
diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix
index 397184f798a..397184f798a 100644
--- a/pkgs/desktops/gnome-3/core/tracker/default.nix
+++ b/pkgs/development/libraries/tracker/default.nix
diff --git a/pkgs/desktops/gnome-3/core/tracker/fix-paths.patch b/pkgs/development/libraries/tracker/fix-paths.patch
index f5c13c3fcda..f5c13c3fcda 100644
--- a/pkgs/desktops/gnome-3/core/tracker/fix-paths.patch
+++ b/pkgs/development/libraries/tracker/fix-paths.patch
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index 347efb4d3bd..e257088c41f 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -1,30 +1,48 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, gobject-introspection
-, pkgconfig, glib, systemd, libgudev, vala }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig
+, gobject-introspection, glib, systemd, libgudev, vala
+, usbutils, which, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "umockdev";
-  version = "0.12.1";
+  version = "0.13.1";
 
   outputs = [ "bin" "out" "dev" "doc" ];
 
-  src = fetchFromGitHub {
-    owner  = "martinpitt";
-    repo   = "umockdev";
-    rev    = version;
-    sha256 = "0wnmz4jh04mvqzjnqvxrah969gg4x4v8d6ip61zc7jpbwnqb2fpg";
+  src = fetchurl {
+    url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz";
+    sha256 = "197a169imiirgm73d9fn9234cx56agyw9d2f47h7f1d8s2d51lla";
   };
 
+  patches = [
+    ./fix-test-paths.patch
+    # https://github.com/NixOS/nixpkgs/commit/9960a2be9b32a6d868046c5bfa188b9a0dd66682#commitcomment-34734461
+    ./disable-failed-test.patch
+    # https://github.com/martinpitt/umockdev/pull/93
+    (fetchpatch {
+      url = "https://github.com/abbradar/umockdev/commit/ce22f893bf50de0b32760238a3e2cfb194db89e9.patch";
+      sha256 = "01q3qhs30x8hl23iigimsa2ikbiw8y8y0bpmh02mh1my87shpwnx";
+    })
+  ];
+
   # autoreconfHook complains if we try to build the documentation
   postPatch = ''
     echo 'EXTRA_DIST =' > docs/gtk-doc.make
   '';
 
+  preCheck = ''
+    patchShebangs tests/test-static-code
+  '';
+
   buildInputs = [ glib systemd libgudev ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig vala gobject-introspection ];
+  nativeBuildInputs = [ pkgconfig vala gobject-introspection ];
+
+  checkInputs = [ python3 which usbutils ];
 
   enableParallelBuilding = true;
 
+  doCheck = true;
+
   meta = with stdenv.lib; {
     description = "Mock hardware devices for creating unit tests";
     license = licenses.lgpl2;
diff --git a/pkgs/development/libraries/umockdev/disable-failed-test.patch b/pkgs/development/libraries/umockdev/disable-failed-test.patch
new file mode 100644
index 00000000000..69e74dd38b8
--- /dev/null
+++ b/pkgs/development/libraries/umockdev/disable-failed-test.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/test-umockdev-vala.vala b/tests/test-umockdev-vala.vala
+index 8b104b2..d9889b8 100644
+--- a/tests/test-umockdev-vala.vala
++++ b/tests/test-umockdev-vala.vala
+@@ -668,7 +668,7 @@ main (string[] args)
+ 
+   /* tests for mocking ioctls */
+   Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_static", t_usbfs_ioctl_static);
+-  Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_tree", t_usbfs_ioctl_tree);
++  /* Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_tree", t_usbfs_ioctl_tree); */
+   Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_tree_with_default_device", t_usbfs_ioctl_tree_with_default_device);
+   Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_tree_override_default_device", t_usbfs_ioctl_tree_override_default_device);
+   Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_tree_xz", t_usbfs_ioctl_tree_xz);
diff --git a/pkgs/development/libraries/umockdev/fix-test-paths.patch b/pkgs/development/libraries/umockdev/fix-test-paths.patch
new file mode 100644
index 00000000000..53015d66268
--- /dev/null
+++ b/pkgs/development/libraries/umockdev/fix-test-paths.patch
@@ -0,0 +1,12 @@
+diff -ru3 umockdev-0.13.1/tests/test-umockdev.c umockdev-0.13.1-new/tests/test-umockdev.c
+--- umockdev-0.13.1/tests/test-umockdev.c	2019-08-18 20:39:39.708262517 +0300
++++ umockdev-0.13.1-new/tests/test-umockdev.c	2019-08-18 21:04:27.688761503 +0300
+@@ -1084,7 +1084,7 @@
+ 
+     /* sys/ in other dir should not be trapped */
+     errno = 0;
+-    dirfd = open("/run", O_RDONLY | O_DIRECTORY);
++    dirfd = open("/tmp", O_RDONLY | O_DIRECTORY);
+     g_assert_cmpint(openat(dirfd, "sys", O_RDONLY), <, 0);
+     g_assert_cmpint(errno, ==, ENOENT);
+     g_assert_cmpint(openat64(dirfd, "sys", O_RDONLY), <, 0);
diff --git a/pkgs/development/libraries/wcslib/default.nix b/pkgs/development/libraries/wcslib/default.nix
index fbf0162eab3..b0c8c1edd66 100644
--- a/pkgs/development/libraries/wcslib/default.nix
+++ b/pkgs/development/libraries/wcslib/default.nix
@@ -1,14 +1,14 @@
 { fetchurl,  stdenv, flex }:
 
 stdenv.mkDerivation rec {
-  version = "6.3";
+  version = "6.4";
   pname = "wcslib";
 
   buildInputs = [ flex ];
 
   src = fetchurl {
     url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${pname}-${version}.tar.bz2";
-    sha256 ="1si272bms58yv1zmymx9ypx1ycka8bfqy8wk03rvl6nmciyz0dsc";
+    sha256 ="003h23m6d5wcs29v2vbnl63f3z35k5x70lpsqlz5c9bp1bvizh8k";
   };
 
   prePatch = ''
diff --git a/pkgs/development/libraries/wxSVG/default.nix b/pkgs/development/libraries/wxSVG/default.nix
index bd893892d98..bdc8f8c3435 100644
--- a/pkgs/development/libraries/wxSVG/default.nix
+++ b/pkgs/development/libraries/wxSVG/default.nix
@@ -7,11 +7,11 @@ stdenv.mkDerivation rec {
 
   pname = "wxSVG";
   srcName = "wxsvg-${version}";
-  version = "1.5.19";
+  version = "1.5.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/wxsvg/wxsvg/${version}/${srcName}.tar.bz2";
-    sha256 = "17hgaqxf2y44j1d9z11p107sk7n7m1f9nkaz7z6450pan4zphy1z";
+    sha256 = "17j5j61l5mv7x0ncsm1kv3k5mmjqyxfpddjn7j84wdgrj62xldhm";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/xml-security-c/cxx11.patch b/pkgs/development/libraries/xml-security-c/cxx11.patch
deleted file mode 100644
index bc87d4c1411..00000000000
--- a/pkgs/development/libraries/xml-security-c/cxx11.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xml-security-c-1.6.1/xsec/tools/checksig/InteropResolver.cpp.orig	2016-02-02 23:57:26.204655144 +0000
-+++ xml-security-c-1.6.1/xsec/tools/checksig/InteropResolver.cpp	2016-02-02 23:57:35.796692305 +0000
-@@ -645,7 +645,7 @@
- 
- 	}
- 
--	return false;
-+	return NULL;
- 
- }
- 
diff --git a/pkgs/development/libraries/xml-security-c/default.nix b/pkgs/development/libraries/xml-security-c/default.nix
index 5d9e5c29f3c..e6ececf8513 100644
--- a/pkgs/development/libraries/xml-security-c/default.nix
+++ b/pkgs/development/libraries/xml-security-c/default.nix
@@ -2,20 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xml-security-c";
-  version = "1.7.3";
+  version = "2.0.2";
 
   src = fetchurl {
     url = "https://www.apache.org/dist/santuario/c-library/${pname}-${version}.tar.gz";
-    sha256 = "e5226e7319d44f6fd9147a13fb853f5c711b9e75bf60ec273a0ef8a190592583";
+    sha256 = "1prh5sxzipkqglpsh53iblbr7rxi54wbijxdjiahzjmrijqa40y3";
   };
 
-  patches = [ ./cxx11.patch ];
-
-  postPatch = ''
-    mkdir -p xsec/yes/lib
-    sed -i -e 's/-O2 -DNDEBUG/-DNDEBUG/g' configure
-  '';
-
   configureFlags = [
     "--with-openssl"
     "--with-xerces"
diff --git a/pkgs/development/libraries/xml-tooling-c/default.nix b/pkgs/development/libraries/xml-tooling-c/default.nix
index a1d9b60418c..d5e1eb08fa4 100644
--- a/pkgs/development/libraries/xml-tooling-c/default.nix
+++ b/pkgs/development/libraries/xml-tooling-c/default.nix
@@ -1,17 +1,19 @@
-{ stdenv, fetchgit, autoreconfHook, boost, curl, openssl, log4shib, xercesc, xml-security-c }:
+{ stdenv, fetchgit, autoreconfHook, pkgconfig
+, boost, curl, openssl, log4shib, xercesc, xml-security-c
+}:
 
 stdenv.mkDerivation rec {
   pname = "xml-tooling-c";
-  version = "1.6.3";
+  version = "3.0.4";
 
   src = fetchgit {
     url = "https://git.shibboleth.net/git/cpp-xmltooling.git";
     rev = version;
-    sha256 = "09z2pp3yy3kqx22vwgxyi3s0vlpdv9camw8dpi3q8piff6zxak3q";
+    sha256 = "0frj4w70l06nva6dvdcivgm1ax69rqbjdzzbgp0sxhiqhddslbas";
   };
 
   buildInputs = [ boost curl openssl log4shib xercesc xml-security-c ];
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/xxHash/default.nix b/pkgs/development/libraries/xxHash/default.nix
index 39e9fc49382..51165f47a21 100644
--- a/pkgs/development/libraries/xxHash/default.nix
+++ b/pkgs/development/libraries/xxHash/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xxHash";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "Cyan4973";
     repo = "xxHash";
     rev = "v${version}";
-    sha256 = "19iyr7x0s7in9kp9wrj4iimdx58nv6jndz9x5ndnl07gd90y7jxb";
+    sha256 = "0hh1ypwk86m3b0x4433k95f94b48kvl7s79dml0f3g0cv8jdvkgw";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index dce179cd640..348f5ef7529 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -10,6 +10,26 @@ self: super:
 with self;
 {
 
+alt-getopt = buildLuarocksPackage {
+  pname = "alt-getopt";
+  version = "0.8.0-1";
+
+  src = fetchurl {
+    url    = https://luarocks.org/alt-getopt-0.8.0-1.src.rock;
+    sha256 = "1mi97dqb97sf47vb6wrk12yf1yxcaz0asr9gbgwyngr5n1adh5i3";
+  };
+  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
+  propagatedBuildInputs = [ lua ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/cheusov/lua-alt-getopt";
+    description = "Process application arguments the same way as getopt_long";
+    maintainers = with maintainers; [ arobyn ];
+    license = {
+      fullName = "MIT/X11";
+    };
+  };
+};
 ansicolors = buildLuarocksPackage {
   pname = "ansicolors";
   version = "1.0.2-3";
@@ -1190,6 +1210,26 @@ mpack = buildLuarocksPackage {
     };
   };
 };
+moonscript = buildLuarocksPackage {
+  pname = "moonscript";
+  version = "0.5.0-1";
+
+  src = fetchurl {
+    url    = https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/moonscript-0.5.0-1.src.rock;
+    sha256 = "09vv3ayzg94bjnzv5fw50r683ma0x3lb7sym297145zig9aqb9q9";
+  };
+  disabled = (luaOlder "5.1");
+  propagatedBuildInputs = [ lua lpeg alt-getopt luafilesystem ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://moonscript.org";
+    description = "A programmer friendly language that compiles to Lua";
+    maintainers = with maintainers; [ arobyn ];
+    license = {
+      fullName = "MIT";
+    };
+  };
+};
 nvim-client = buildLuarocksPackage {
   pname = "nvim-client";
   version = "0.2.0-1";
diff --git a/pkgs/development/misc/google-clasp/README.md b/pkgs/development/misc/google-clasp/README.md
new file mode 100644
index 00000000000..9adf2255380
--- /dev/null
+++ b/pkgs/development/misc/google-clasp/README.md
@@ -0,0 +1,6 @@
+## How to update
+
+1. bump version of `@google/clasp` in [node-packages.json](./node-packages.json)
+2. run [generate.sh](./generate.sh)
+3. set the same version in [default.nix](./default.nix)
+4. build and test it
diff --git a/pkgs/development/misc/google-clasp/default.nix b/pkgs/development/misc/google-clasp/default.nix
new file mode 100644
index 00000000000..105104ebd72
--- /dev/null
+++ b/pkgs/development/misc/google-clasp/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, pkgs }:
+let
+  version = "2.2.1";
+in
+(import ./google-clasp.nix {
+  inherit pkgs;
+  inherit (stdenv.hostPlatform) system;
+})."@google/clasp-${version}".override rec {
+  preRebuild = ''
+    patch -p1 <<<"${builtins.readFile ./dotf.patch}"
+  '';
+  meta = {
+    description = "Command Line tool for Google Apps Script Projects";
+    homepage = https://developers.google.com/apps-script/guides/clasp;
+    license = stdenv.lib.licenses.asl20;
+    maintainers = [ stdenv.lib.maintainers.michojel ];
+    priority = 100;
+  };
+}
diff --git a/pkgs/development/misc/google-clasp/dotf.patch b/pkgs/development/misc/google-clasp/dotf.patch
new file mode 100644
index 00000000000..0d59cae6125
--- /dev/null
+++ b/pkgs/development/misc/google-clasp/dotf.patch
@@ -0,0 +1,13 @@
+Index: nodejs/tmp/xcindf87mmqyp0x5blima5q2m9fw3dx3-node__at_google_slash_clasp-2.2.1/lib/node_modules/@google/clasp/src/dotfile.js
+===================================================================
+--- clasp.orig/src/dotfile.js
++++ clasp/src/dotfile.js
+@@ -94,7 +94,7 @@ exports.DOTFILE = {
+         return dotf(projectPath ? path_1.default.dirname(projectPath) : exports.DOT.PROJECT.DIR, exports.DOT.PROJECT.NAME);
+     },
+     // Stores {ClaspCredentials}
+-    RC: dotf(exports.DOT.RC.DIR, exports.DOT.RC.NAME),
++    RC: dotf.default(exports.DOT.RC.DIR, exports.DOT.RC.NAME),
+     // Stores {ClaspCredentials}
+     RC_LOCAL: function () {
+         var localPath = find_up_1.default.sync(exports.DOT.PROJECT.PATH);
diff --git a/pkgs/development/misc/google-clasp/generate.sh b/pkgs/development/misc/google-clasp/generate.sh
new file mode 100755
index 00000000000..4e04231e2b8
--- /dev/null
+++ b/pkgs/development/misc/google-clasp/generate.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+set -eu -o pipefail
+
+exec node2nix --nodejs-10 \
+    -i node-packages.json -o node-packages.nix \
+    -c google-clasp.nix \
+     --no-copy-node-env -e ../../../development/node-packages/node-env.nix
diff --git a/pkgs/development/misc/google-clasp/google-clasp.nix b/pkgs/development/misc/google-clasp/google-clasp.nix
new file mode 100644
index 00000000000..c32132d7ac6
--- /dev/null
+++ b/pkgs/development/misc/google-clasp/google-clasp.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.6.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
+
+let
+  nodeEnv = import ../../node-packages/node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+  };
+in
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/pkgs/development/misc/google-clasp/node-packages.json b/pkgs/development/misc/google-clasp/node-packages.json
new file mode 100644
index 00000000000..b868571d051
--- /dev/null
+++ b/pkgs/development/misc/google-clasp/node-packages.json
@@ -0,0 +1,3 @@
+[
+  {"@google/clasp": "2.2.1"}
+]
diff --git a/pkgs/development/misc/google-clasp/node-packages.nix b/pkgs/development/misc/google-clasp/node-packages.nix
new file mode 100644
index 00000000000..6c51318c9eb
--- /dev/null
+++ b/pkgs/development/misc/google-clasp/node-packages.nix
@@ -0,0 +1,2101 @@
+# This file has been generated by node2nix 1.6.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "@nodelib/fs.scandir-2.1.1" = {
+      name = "_at_nodelib_slash_fs.scandir";
+      packageName = "@nodelib/fs.scandir";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.1.tgz";
+        sha512 = "NT/skIZjgotDSiXs0WqYhgcuBKhUMgfekCmCGtkUAiLqZdOnrdjmZr9wRl3ll64J9NF79uZ4fk16Dx0yMc/Xbg==";
+      };
+    };
+    "@nodelib/fs.stat-2.0.1" = {
+      name = "_at_nodelib_slash_fs.stat";
+      packageName = "@nodelib/fs.stat";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.1.tgz";
+        sha512 = "+RqhBlLn6YRBGOIoVYthsG0J9dfpO79eJyN7BYBkZJtfqrBwf2KK+rD/M/yjZR6WBmIhAgOV7S60eCgaSWtbFw==";
+      };
+    };
+    "@nodelib/fs.walk-1.2.2" = {
+      name = "_at_nodelib_slash_fs.walk";
+      packageName = "@nodelib/fs.walk";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.2.tgz";
+        sha512 = "J/DR3+W12uCzAJkw7niXDcqcKBg6+5G5Q/ZpThpGNzAUz70eOR6RV4XnnSN01qHZiVl0eavoxJsBypQoKsV2QQ==";
+      };
+    };
+    "@sindresorhus/is-0.14.0" = {
+      name = "_at_sindresorhus_slash_is";
+      packageName = "@sindresorhus/is";
+      version = "0.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz";
+        sha512 = "9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==";
+      };
+    };
+    "@szmarczak/http-timer-1.1.2" = {
+      name = "_at_szmarczak_slash_http-timer";
+      packageName = "@szmarczak/http-timer";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
+        sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
+      };
+    };
+    "@types/events-3.0.0" = {
+      name = "_at_types_slash_events";
+      packageName = "@types/events";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz";
+        sha512 = "EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==";
+      };
+    };
+    "@types/glob-7.1.1" = {
+      name = "_at_types_slash_glob";
+      packageName = "@types/glob";
+      version = "7.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz";
+        sha512 = "1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==";
+      };
+    };
+    "@types/minimatch-3.0.3" = {
+      name = "_at_types_slash_minimatch";
+      packageName = "@types/minimatch";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz";
+        sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
+      };
+    };
+    "@types/node-12.7.2" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "12.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-12.7.2.tgz";
+        sha512 = "dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg==";
+      };
+    };
+    "abort-controller-3.0.0" = {
+      name = "abort-controller";
+      packageName = "abort-controller";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz";
+        sha512 = "h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==";
+      };
+    };
+    "agent-base-4.3.0" = {
+      name = "agent-base";
+      packageName = "agent-base";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz";
+        sha512 = "salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==";
+      };
+    };
+    "aggregate-error-3.0.0" = {
+      name = "aggregate-error";
+      packageName = "aggregate-error";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.0.tgz";
+        sha512 = "yKD9kEoJIR+2IFqhMwayIBgheLYbB3PS2OBhWae1L/ODTd/JF/30cW0bc9TqzRL3k4U41Dieu3BF4I29p8xesA==";
+      };
+    };
+    "ansi-escapes-3.2.0" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
+        sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==";
+      };
+    };
+    "ansi-escapes-4.2.1" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz";
+        sha512 = "Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==";
+      };
+    };
+    "ansi-regex-4.1.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
+        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
+      };
+    };
+    "ansi-styles-3.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
+      };
+    };
+    "array-differ-3.0.0" = {
+      name = "array-differ";
+      packageName = "array-differ";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz";
+        sha512 = "THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==";
+      };
+    };
+    "array-union-2.1.0" = {
+      name = "array-union";
+      packageName = "array-union";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz";
+        sha512 = "HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==";
+      };
+    };
+    "arrify-2.0.1" = {
+      name = "arrify";
+      packageName = "arrify";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz";
+        sha512 = "3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==";
+      };
+    };
+    "balanced-match-1.0.0" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    };
+    "base64-js-1.3.1" = {
+      name = "base64-js";
+      packageName = "base64-js";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz";
+        sha512 = "mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==";
+      };
+    };
+    "bignumber.js-7.2.1" = {
+      name = "bignumber.js";
+      packageName = "bignumber.js";
+      version = "7.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz";
+        sha512 = "S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==";
+      };
+    };
+    "brace-expansion-1.1.11" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
+      };
+    };
+    "braces-3.0.2" = {
+      name = "braces";
+      packageName = "braces";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz";
+        sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
+      };
+    };
+    "buffer-equal-constant-time-1.0.1" = {
+      name = "buffer-equal-constant-time";
+      packageName = "buffer-equal-constant-time";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz";
+        sha1 = "f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819";
+      };
+    };
+    "cacheable-request-6.1.0" = {
+      name = "cacheable-request";
+      packageName = "cacheable-request";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz";
+        sha512 = "Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==";
+      };
+    };
+    "chalk-2.4.2" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
+        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
+      };
+    };
+    "chardet-0.7.0" = {
+      name = "chardet";
+      packageName = "chardet";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz";
+        sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==";
+      };
+    };
+    "clean-stack-2.2.0" = {
+      name = "clean-stack";
+      packageName = "clean-stack";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz";
+        sha512 = "4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==";
+      };
+    };
+    "cli-cursor-3.1.0" = {
+      name = "cli-cursor";
+      packageName = "cli-cursor";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz";
+        sha512 = "I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==";
+      };
+    };
+    "cli-spinner-0.2.10" = {
+      name = "cli-spinner";
+      packageName = "cli-spinner";
+      version = "0.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-spinner/-/cli-spinner-0.2.10.tgz";
+        sha512 = "U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q==";
+      };
+    };
+    "cli-width-2.2.0" = {
+      name = "cli-width";
+      packageName = "cli-width";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz";
+        sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
+      };
+    };
+    "clone-response-1.0.2" = {
+      name = "clone-response";
+      packageName = "clone-response";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz";
+        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
+      };
+    };
+    "color-convert-1.9.3" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "1.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
+        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
+      };
+    };
+    "color-name-1.1.3" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    };
+    "commander-2.20.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.20.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz";
+        sha512 = "7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==";
+      };
+    };
+    "concat-map-0.0.1" = {
+      name = "concat-map";
+      packageName = "concat-map";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    };
+    "debug-3.2.6" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
+        sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==";
+      };
+    };
+    "decompress-response-3.3.0" = {
+      name = "decompress-response";
+      packageName = "decompress-response";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz";
+        sha1 = "80a4dd323748384bfa248083622aedec982adff3";
+      };
+    };
+    "defer-to-connect-1.0.2" = {
+      name = "defer-to-connect";
+      packageName = "defer-to-connect";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz";
+        sha512 = "k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==";
+      };
+    };
+    "define-properties-1.1.3" = {
+      name = "define-properties";
+      packageName = "define-properties";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
+        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
+      };
+    };
+    "del-5.0.0" = {
+      name = "del";
+      packageName = "del";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/del/-/del-5.0.0.tgz";
+        sha512 = "TfU3nUY0WDIhN18eq+pgpbLY9AfL5RfiE9czKaTSolc6aK7qASXfDErvYgjV1UqCR4sNXDoxO0/idPmhDUt2Sg==";
+      };
+    };
+    "dir-glob-3.0.1" = {
+      name = "dir-glob";
+      packageName = "dir-glob";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz";
+        sha512 = "WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==";
+      };
+    };
+    "dns-packet-5.2.1" = {
+      name = "dns-packet";
+      packageName = "dns-packet";
+      version = "5.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-5.2.1.tgz";
+        sha512 = "JHj2yJeKOqlxzeuYpN1d56GfhzivAxavNwHj9co3qptECel27B1rLY5PifJAvubsInX5pGLDjAHuCfCUc2Zv/w==";
+      };
+    };
+    "dns-socket-4.2.0" = {
+      name = "dns-socket";
+      packageName = "dns-socket";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-socket/-/dns-socket-4.2.0.tgz";
+        sha512 = "4XuD3z28jht3jvHbiom6fAipgG5LkjYeDLrX5OH8cbl0AtzTyUUAxGckcW8T7z0pLfBBV5qOiuC4wUEohk6FrQ==";
+      };
+    };
+    "dotf-1.4.0" = {
+      name = "dotf";
+      packageName = "dotf";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dotf/-/dotf-1.4.0.tgz";
+        sha512 = "9qGysIs00RzHk4px5KyUCBgiz1z3UNl60rFa1i1a9ROoC6Tk3enraAmrwgYZxCgcnZBjMQdGuu1bvxKnciNp7w==";
+      };
+    };
+    "duplexer3-0.1.4" = {
+      name = "duplexer3";
+      packageName = "duplexer3";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz";
+        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
+      };
+    };
+    "ecdsa-sig-formatter-1.0.11" = {
+      name = "ecdsa-sig-formatter";
+      packageName = "ecdsa-sig-formatter";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz";
+        sha512 = "nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==";
+      };
+    };
+    "ellipsize-0.1.0" = {
+      name = "ellipsize";
+      packageName = "ellipsize";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ellipsize/-/ellipsize-0.1.0.tgz";
+        sha1 = "9d43682d44b91ad16ebd84268ac103170a6553f8";
+      };
+    };
+    "emoji-regex-8.0.0" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz";
+        sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==";
+      };
+    };
+    "end-of-stream-1.4.1" = {
+      name = "end-of-stream";
+      packageName = "end-of-stream";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz";
+        sha512 = "1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==";
+      };
+    };
+    "es-abstract-1.13.0" = {
+      name = "es-abstract";
+      packageName = "es-abstract";
+      version = "1.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz";
+        sha512 = "vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==";
+      };
+    };
+    "es-to-primitive-1.2.0" = {
+      name = "es-to-primitive";
+      packageName = "es-to-primitive";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
+        sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==";
+      };
+    };
+    "es6-promise-4.2.8" = {
+      name = "es6-promise";
+      packageName = "es6-promise";
+      version = "4.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz";
+        sha512 = "HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==";
+      };
+    };
+    "es6-promisify-5.0.0" = {
+      name = "es6-promisify";
+      packageName = "es6-promisify";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz";
+        sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
+      };
+    };
+    "escape-string-regexp-1.0.5" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    };
+    "event-target-shim-5.0.1" = {
+      name = "event-target-shim";
+      packageName = "event-target-shim";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz";
+        sha512 = "i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==";
+      };
+    };
+    "exec-sh-0.2.2" = {
+      name = "exec-sh";
+      packageName = "exec-sh";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz";
+        sha512 = "FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==";
+      };
+    };
+    "extend-3.0.2" = {
+      name = "extend";
+      packageName = "extend";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
+        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
+      };
+    };
+    "external-editor-3.1.0" = {
+      name = "external-editor";
+      packageName = "external-editor";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz";
+        sha512 = "hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==";
+      };
+    };
+    "fast-glob-3.0.4" = {
+      name = "fast-glob";
+      packageName = "fast-glob";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.0.4.tgz";
+        sha512 = "wkIbV6qg37xTJwqSsdnIphL1e+LaGz4AIQqr00mIubMaEhv1/HEmJ0uuCGZRNRUkZZmOB5mJKO0ZUTVq+SxMQg==";
+      };
+    };
+    "fast-text-encoding-1.0.0" = {
+      name = "fast-text-encoding";
+      packageName = "fast-text-encoding";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.0.tgz";
+        sha512 = "R9bHCvweUxxwkDwhjav5vxpFvdPGlVngtqmx4pIZfSUhM/Q4NiIUHB456BAf+Q1Nwu3HEZYONtu+Rya+af4jiQ==";
+      };
+    };
+    "fastq-1.6.0" = {
+      name = "fastq";
+      packageName = "fastq";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz";
+        sha512 = "jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==";
+      };
+    };
+    "figures-2.0.0" = {
+      name = "figures";
+      packageName = "figures";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz";
+        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
+      };
+    };
+    "figures-3.0.0" = {
+      name = "figures";
+      packageName = "figures";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz";
+        sha512 = "HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==";
+      };
+    };
+    "fill-range-7.0.1" = {
+      name = "fill-range";
+      packageName = "fill-range";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz";
+        sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
+      };
+    };
+    "find-up-4.1.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz";
+        sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==";
+      };
+    };
+    "fs-extra-8.1.0" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "8.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz";
+        sha512 = "yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==";
+      };
+    };
+    "fs.realpath-1.0.0" = {
+      name = "fs.realpath";
+      packageName = "fs.realpath";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    };
+    "function-bind-1.1.1" = {
+      name = "function-bind";
+      packageName = "function-bind";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
+      };
+    };
+    "fuzzy-0.1.3" = {
+      name = "fuzzy";
+      packageName = "fuzzy";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz";
+        sha1 = "4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8";
+      };
+    };
+    "gaxios-2.0.1" = {
+      name = "gaxios";
+      packageName = "gaxios";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gaxios/-/gaxios-2.0.1.tgz";
+        sha512 = "c1NXovTxkgRJTIgB2FrFmOFg4YIV6N/bAa4f/FZ4jIw13Ql9ya/82x69CswvotJhbV3DiGnlTZwoq2NVXk2Irg==";
+      };
+    };
+    "gcp-metadata-2.0.1" = {
+      name = "gcp-metadata";
+      packageName = "gcp-metadata";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-2.0.1.tgz";
+        sha512 = "nrbLj5O1MurvpLC/doFwzdTfKnmYGDYXlY/v7eQ4tJNVIvQXbOK672J9UFbradbtmuTkyHzjpzD8HD0Djz0LWw==";
+      };
+    };
+    "get-stream-4.1.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz";
+        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
+      };
+    };
+    "get-stream-5.1.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz";
+        sha512 = "EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==";
+      };
+    };
+    "glob-7.1.4" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
+        sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
+      };
+    };
+    "glob-parent-5.0.0" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz";
+        sha512 = "Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==";
+      };
+    };
+    "globby-10.0.1" = {
+      name = "globby";
+      packageName = "globby";
+      version = "10.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz";
+        sha512 = "sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==";
+      };
+    };
+    "google-auth-library-4.2.6" = {
+      name = "google-auth-library";
+      packageName = "google-auth-library";
+      version = "4.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-4.2.6.tgz";
+        sha512 = "oJ6tCA9rbsYeIVY+mcLPFHa2hatz3XO6idYIrlI/KhhlMxZrO3tKyU8O2Pxu5KnSBBP7Wj4HtbM1LLKngNFaFw==";
+      };
+    };
+    "google-p12-pem-2.0.1" = {
+      name = "google-p12-pem";
+      packageName = "google-p12-pem";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.1.tgz";
+        sha512 = "6h6x+eBX3k+IDSe/c8dVYmn8Mzr1mUcmKC9MdUSwaBkFAXlqBEnwFWmSFgGC+tcqtsLn73BDP/vUNWEehf1Rww==";
+      };
+    };
+    "googleapis-40.0.1" = {
+      name = "googleapis";
+      packageName = "googleapis";
+      version = "40.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/googleapis/-/googleapis-40.0.1.tgz";
+        sha512 = "B6qZVCautOOspEhru9GZ814I+ztkGWyA4ZEUfaXwXHBruX/HAWqedbsuUEx1w3nCECywK/FLTNUdcbH9zpaMaw==";
+      };
+    };
+    "googleapis-common-2.0.4" = {
+      name = "googleapis-common";
+      packageName = "googleapis-common";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/googleapis-common/-/googleapis-common-2.0.4.tgz";
+        sha512 = "8RRkxr24v1jIKCC1onFWA8RGnwFV55m3Qpil9DLX1yLc9e5qvOJsRoDOhhD2e7jFRONYEhT/BzT8vJZANqSr9w==";
+      };
+    };
+    "got-9.6.0" = {
+      name = "got";
+      packageName = "got";
+      version = "9.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/got/-/got-9.6.0.tgz";
+        sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
+      };
+    };
+    "graceful-fs-4.2.2" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz";
+        sha512 = "IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==";
+      };
+    };
+    "gtoken-3.0.2" = {
+      name = "gtoken";
+      packageName = "gtoken";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gtoken/-/gtoken-3.0.2.tgz";
+        sha512 = "BOBi6Zz31JfxhSHRZBIDdbwIbOPyux10WxJHdx8wz/FMP1zyN1xFrsAWsgcLe5ww5v/OZu/MePUEZAjgJXSauA==";
+      };
+    };
+    "has-1.0.3" = {
+      name = "has";
+      packageName = "has";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
+      };
+    };
+    "has-flag-3.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+      };
+    };
+    "has-symbols-1.0.0" = {
+      name = "has-symbols";
+      packageName = "has-symbols";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz";
+        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+      };
+    };
+    "http-cache-semantics-4.0.3" = {
+      name = "http-cache-semantics";
+      packageName = "http-cache-semantics";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz";
+        sha512 = "TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==";
+      };
+    };
+    "https-proxy-agent-2.2.2" = {
+      name = "https-proxy-agent";
+      packageName = "https-proxy-agent";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz";
+        sha512 = "c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==";
+      };
+    };
+    "iconv-lite-0.4.24" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
+        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
+      };
+    };
+    "ignore-5.1.4" = {
+      name = "ignore";
+      packageName = "ignore";
+      version = "5.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz";
+        sha512 = "MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==";
+      };
+    };
+    "indent-string-3.2.0" = {
+      name = "indent-string";
+      packageName = "indent-string";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz";
+        sha1 = "4a5fd6d27cc332f37e5419a504dbb837105c9289";
+      };
+    };
+    "inflight-1.0.6" = {
+      name = "inflight";
+      packageName = "inflight";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    };
+    "inherits-2.0.3" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    };
+    "inherits-2.0.4" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
+      };
+    };
+    "inquirer-6.5.1" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "6.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-6.5.1.tgz";
+        sha512 = "uxNHBeQhRXIoHWTSNYUFhQVrHYFThIt6IVo2fFmSe8aBwdR3/w6b58hJpiL/fMukFkvGzjg+hSxFtwvVmKZmXw==";
+      };
+    };
+    "inquirer-autocomplete-prompt-1.0.1" = {
+      name = "inquirer-autocomplete-prompt";
+      packageName = "inquirer-autocomplete-prompt";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.0.1.tgz";
+        sha512 = "Y4V6ifAu9LNrNjcEtYq8YUKhrgmmufUn5fsDQqeWgHY8rEO6ZAQkNUiZtBm2kw2uUQlC9HdgrRCHDhTPPguH5A==";
+      };
+    };
+    "ip-1.1.5" = {
+      name = "ip";
+      packageName = "ip";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz";
+        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+      };
+    };
+    "ip-regex-4.1.0" = {
+      name = "ip-regex";
+      packageName = "ip-regex";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ip-regex/-/ip-regex-4.1.0.tgz";
+        sha512 = "pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA==";
+      };
+    };
+    "is-callable-1.1.4" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz";
+        sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==";
+      };
+    };
+    "is-date-object-1.0.1" = {
+      name = "is-date-object";
+      packageName = "is-date-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+      };
+    };
+    "is-extglob-2.1.1" = {
+      name = "is-extglob";
+      packageName = "is-extglob";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    };
+    "is-fullwidth-code-point-3.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
+        sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==";
+      };
+    };
+    "is-glob-4.0.1" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz";
+        sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==";
+      };
+    };
+    "is-ip-3.1.0" = {
+      name = "is-ip";
+      packageName = "is-ip";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz";
+        sha512 = "35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==";
+      };
+    };
+    "is-number-7.0.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz";
+        sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
+      };
+    };
+    "is-online-8.2.0" = {
+      name = "is-online";
+      packageName = "is-online";
+      version = "8.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-online/-/is-online-8.2.0.tgz";
+        sha512 = "dvTrzRlziHPdl+uazMK+9ypLlwOA3szkaGfAWqI/MKuUutgNxOFBl2gfu2BTkV8C7A2YcYHNlVcsxHzZik3wUQ==";
+      };
+    };
+    "is-path-cwd-2.2.0" = {
+      name = "is-path-cwd";
+      packageName = "is-path-cwd";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz";
+        sha512 = "w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==";
+      };
+    };
+    "is-path-in-cwd-2.1.0" = {
+      name = "is-path-in-cwd";
+      packageName = "is-path-in-cwd";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz";
+        sha512 = "rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==";
+      };
+    };
+    "is-path-inside-2.1.0" = {
+      name = "is-path-inside";
+      packageName = "is-path-inside";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz";
+        sha512 = "wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==";
+      };
+    };
+    "is-promise-2.1.0" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    };
+    "is-regex-1.0.4" = {
+      name = "is-regex";
+      packageName = "is-regex";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
+        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+      };
+    };
+    "is-symbol-1.0.2" = {
+      name = "is-symbol";
+      packageName = "is-symbol";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz";
+        sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==";
+      };
+    };
+    "is-wsl-1.1.0" = {
+      name = "is-wsl";
+      packageName = "is-wsl";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz";
+        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
+      };
+    };
+    "json-bigint-0.3.0" = {
+      name = "json-bigint";
+      packageName = "json-bigint";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.0.tgz";
+        sha1 = "0ccd912c4b8270d05f056fbd13814b53d3825b1e";
+      };
+    };
+    "json-buffer-3.0.0" = {
+      name = "json-buffer";
+      packageName = "json-buffer";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz";
+        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
+      };
+    };
+    "jsonfile-4.0.0" = {
+      name = "jsonfile";
+      packageName = "jsonfile";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+      };
+    };
+    "jsonfile-5.0.0" = {
+      name = "jsonfile";
+      packageName = "jsonfile";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-5.0.0.tgz";
+        sha512 = "NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==";
+      };
+    };
+    "jwa-1.4.1" = {
+      name = "jwa";
+      packageName = "jwa";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz";
+        sha512 = "qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==";
+      };
+    };
+    "jws-3.2.2" = {
+      name = "jws";
+      packageName = "jws";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz";
+        sha512 = "YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==";
+      };
+    };
+    "keyv-3.1.0" = {
+      name = "keyv";
+      packageName = "keyv";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz";
+        sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
+      };
+    };
+    "locate-path-5.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz";
+        sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==";
+      };
+    };
+    "lodash-4.17.15" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";
+        sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==";
+      };
+    };
+    "lowercase-keys-1.0.1" = {
+      name = "lowercase-keys";
+      packageName = "lowercase-keys";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
+        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
+      };
+    };
+    "lowercase-keys-2.0.0" = {
+      name = "lowercase-keys";
+      packageName = "lowercase-keys";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
+        sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
+      };
+    };
+    "lru-cache-5.1.1" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz";
+        sha512 = "KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==";
+      };
+    };
+    "merge-1.2.1" = {
+      name = "merge";
+      packageName = "merge";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz";
+        sha512 = "VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==";
+      };
+    };
+    "merge2-1.2.4" = {
+      name = "merge2";
+      packageName = "merge2";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge2/-/merge2-1.2.4.tgz";
+        sha512 = "FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A==";
+      };
+    };
+    "micromatch-4.0.2" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz";
+        sha512 = "y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==";
+      };
+    };
+    "mime-2.4.4" = {
+      name = "mime";
+      packageName = "mime";
+      version = "2.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz";
+        sha512 = "LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==";
+      };
+    };
+    "mimic-fn-2.1.0" = {
+      name = "mimic-fn";
+      packageName = "mimic-fn";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz";
+        sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
+      };
+    };
+    "mimic-response-1.0.1" = {
+      name = "mimic-response";
+      packageName = "mimic-response";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz";
+        sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==";
+      };
+    };
+    "minimatch-3.0.4" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+      };
+    };
+    "minimist-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    };
+    "minimist-1.2.0" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    };
+    "mkdirp-0.5.1" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    };
+    "ms-2.1.2" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
+        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
+      };
+    };
+    "multimatch-4.0.0" = {
+      name = "multimatch";
+      packageName = "multimatch";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz";
+        sha512 = "lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==";
+      };
+    };
+    "mute-stream-0.0.8" = {
+      name = "mute-stream";
+      packageName = "mute-stream";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz";
+        sha512 = "nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==";
+      };
+    };
+    "node-fetch-2.6.0" = {
+      name = "node-fetch";
+      packageName = "node-fetch";
+      version = "2.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz";
+        sha512 = "8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==";
+      };
+    };
+    "node-forge-0.8.5" = {
+      name = "node-forge";
+      packageName = "node-forge";
+      version = "0.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.8.5.tgz";
+        sha512 = "vFMQIWt+J/7FLNyKouZ9TazT74PRV3wgv9UT4cRjC8BffxFbKXkgIWR42URCPSnHm/QDz6BOlb2Q0U4+VQT67Q==";
+      };
+    };
+    "normalize-url-4.3.0" = {
+      name = "normalize-url";
+      packageName = "normalize-url";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.3.0.tgz";
+        sha512 = "0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==";
+      };
+    };
+    "object-keys-1.1.1" = {
+      name = "object-keys";
+      packageName = "object-keys";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
+        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
+      };
+    };
+    "once-1.4.0" = {
+      name = "once";
+      packageName = "once";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    };
+    "onetime-5.1.0" = {
+      name = "onetime";
+      packageName = "onetime";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz";
+        sha512 = "5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==";
+      };
+    };
+    "open-6.4.0" = {
+      name = "open";
+      packageName = "open";
+      version = "6.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/open/-/open-6.4.0.tgz";
+        sha512 = "IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==";
+      };
+    };
+    "os-tmpdir-1.0.2" = {
+      name = "os-tmpdir";
+      packageName = "os-tmpdir";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    };
+    "p-any-2.1.0" = {
+      name = "p-any";
+      packageName = "p-any";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-any/-/p-any-2.1.0.tgz";
+        sha512 = "JAERcaMBLYKMq+voYw36+x5Dgh47+/o7yuv2oQYuSSUml4YeqJEFznBrY2UeEkoSHqBua6hz518n/PsowTYLLg==";
+      };
+    };
+    "p-cancelable-1.1.0" = {
+      name = "p-cancelable";
+      packageName = "p-cancelable";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz";
+        sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
+      };
+    };
+    "p-cancelable-2.0.0" = {
+      name = "p-cancelable";
+      packageName = "p-cancelable";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz";
+        sha512 = "wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==";
+      };
+    };
+    "p-finally-1.0.0" = {
+      name = "p-finally";
+      packageName = "p-finally";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    };
+    "p-limit-2.2.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz";
+        sha512 = "pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==";
+      };
+    };
+    "p-locate-4.1.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz";
+        sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==";
+      };
+    };
+    "p-map-2.1.0" = {
+      name = "p-map";
+      packageName = "p-map";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz";
+        sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==";
+      };
+    };
+    "p-some-4.1.0" = {
+      name = "p-some";
+      packageName = "p-some";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-some/-/p-some-4.1.0.tgz";
+        sha512 = "MF/HIbq6GeBqTrTIl5OJubzkGU+qfFhAFi0gnTAK6rgEIJIknEiABHOTtQu4e6JiXjIwuMPMUFQzyHh5QjCl1g==";
+      };
+    };
+    "p-timeout-3.1.0" = {
+      name = "p-timeout";
+      packageName = "p-timeout";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-3.1.0.tgz";
+        sha512 = "C27DYI+tCroT8J8cTEyySGydl2B7FlxrGNF5/wmMbl1V+jeehUCzEE/BVgzRebdm2K3ZitKOKx8YbdFumDyYmw==";
+      };
+    };
+    "p-try-2.2.0" = {
+      name = "p-try";
+      packageName = "p-try";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
+        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
+      };
+    };
+    "path-0.12.7" = {
+      name = "path";
+      packageName = "path";
+      version = "0.12.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path/-/path-0.12.7.tgz";
+        sha1 = "d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f";
+      };
+    };
+    "path-exists-4.0.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz";
+        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
+      };
+    };
+    "path-is-absolute-1.0.1" = {
+      name = "path-is-absolute";
+      packageName = "path-is-absolute";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    };
+    "path-is-inside-1.0.2" = {
+      name = "path-is-inside";
+      packageName = "path-is-inside";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    };
+    "path-type-4.0.0" = {
+      name = "path-type";
+      packageName = "path-type";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz";
+        sha512 = "gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==";
+      };
+    };
+    "picomatch-2.0.7" = {
+      name = "picomatch";
+      packageName = "picomatch";
+      version = "2.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz";
+        sha512 = "oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==";
+      };
+    };
+    "pluralize-8.0.0" = {
+      name = "pluralize";
+      packageName = "pluralize";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz";
+        sha512 = "Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==";
+      };
+    };
+    "prepend-http-2.0.0" = {
+      name = "prepend-http";
+      packageName = "prepend-http";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz";
+        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
+      };
+    };
+    "process-0.11.10" = {
+      name = "process";
+      packageName = "process";
+      version = "0.11.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+      };
+    };
+    "public-ip-3.2.0" = {
+      name = "public-ip";
+      packageName = "public-ip";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/public-ip/-/public-ip-3.2.0.tgz";
+        sha512 = "DBq4o955zhrhESG4z6GkLN9mtY9NT/JOjEV8pvnYy3bjVQOQF0J5lJNwWLbEWwNstyNFJlY7JxCPFq4bdXSabw==";
+      };
+    };
+    "pump-3.0.0" = {
+      name = "pump";
+      packageName = "pump";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
+        sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
+      };
+    };
+    "qs-6.8.0" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.8.0.tgz";
+        sha512 = "tPSkj8y92PfZVbinY1n84i1Qdx75lZjMQYx9WZhnkofyxzw2r7Ho39G3/aEvSUdebxpnnM4LZJCtvE/Aq3+s9w==";
+      };
+    };
+    "recursive-readdir-2.2.2" = {
+      name = "recursive-readdir";
+      packageName = "recursive-readdir";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz";
+        sha512 = "nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==";
+      };
+    };
+    "responselike-1.0.2" = {
+      name = "responselike";
+      packageName = "responselike";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz";
+        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
+      };
+    };
+    "restore-cursor-3.1.0" = {
+      name = "restore-cursor";
+      packageName = "restore-cursor";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz";
+        sha512 = "l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==";
+      };
+    };
+    "reusify-1.0.4" = {
+      name = "reusify";
+      packageName = "reusify";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz";
+        sha512 = "U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==";
+      };
+    };
+    "rimraf-2.7.1" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
+        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
+      };
+    };
+    "run-async-2.3.0" = {
+      name = "run-async";
+      packageName = "run-async";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz";
+        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
+      };
+    };
+    "run-parallel-1.1.9" = {
+      name = "run-parallel";
+      packageName = "run-parallel";
+      version = "1.1.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz";
+        sha512 = "DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==";
+      };
+    };
+    "rxjs-6.5.2" = {
+      name = "rxjs";
+      packageName = "rxjs";
+      version = "6.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz";
+        sha512 = "HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==";
+      };
+    };
+    "safe-buffer-5.2.0" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
+        sha512 = "fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==";
+      };
+    };
+    "safer-buffer-2.1.2" = {
+      name = "safer-buffer";
+      packageName = "safer-buffer";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
+      };
+    };
+    "signal-exit-3.0.2" = {
+      name = "signal-exit";
+      packageName = "signal-exit";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    };
+    "slash-3.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz";
+        sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
+      };
+    };
+    "split-lines-2.0.0" = {
+      name = "split-lines";
+      packageName = "split-lines";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split-lines/-/split-lines-2.0.0.tgz";
+        sha512 = "gaIdhbqxkB5/VflPXsJwZvEzh/kdwiRPF9iqpkxX4us+lzB8INedFwjCyo6vwuz5x2Ddlnav2zh270CEjCG8mA==";
+      };
+    };
+    "string-width-4.1.0" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz";
+        sha512 = "NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==";
+      };
+    };
+    "string.prototype.padend-3.0.0" = {
+      name = "string.prototype.padend";
+      packageName = "string.prototype.padend";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz";
+        sha1 = "f3aaef7c1719f170c5eab1c32bf780d96e21f2f0";
+      };
+    };
+    "strip-ansi-5.2.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
+        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
+      };
+    };
+    "strip-bom-4.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz";
+        sha512 = "3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==";
+      };
+    };
+    "supports-color-5.5.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
+        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
+      };
+    };
+    "through-2.3.8" = {
+      name = "through";
+      packageName = "through";
+      version = "2.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    };
+    "tmp-0.0.33" = {
+      name = "tmp";
+      packageName = "tmp";
+      version = "0.0.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz";
+        sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==";
+      };
+    };
+    "to-readable-stream-1.0.0" = {
+      name = "to-readable-stream";
+      packageName = "to-readable-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz";
+        sha512 = "Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==";
+      };
+    };
+    "to-regex-range-5.0.1" = {
+      name = "to-regex-range";
+      packageName = "to-regex-range";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz";
+        sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==";
+      };
+    };
+    "ts2gas-3.4.4" = {
+      name = "ts2gas";
+      packageName = "ts2gas";
+      version = "3.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts2gas/-/ts2gas-3.4.4.tgz";
+        sha512 = "u49TaxHUn+y88XqAJSyun488Yc7oqjZUCi/swOT1OP3qiHa/wJTeUH68842US+3OXxKk/As5SRmUHfChTcG3Ng==";
+      };
+    };
+    "tslib-1.10.0" = {
+      name = "tslib";
+      packageName = "tslib";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz";
+        sha512 = "qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==";
+      };
+    };
+    "type-fest-0.3.1" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz";
+        sha512 = "cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==";
+      };
+    };
+    "type-fest-0.5.2" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz";
+        sha512 = "DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==";
+      };
+    };
+    "typescript-3.5.3" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "3.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz";
+        sha512 = "ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==";
+      };
+    };
+    "universalify-0.1.2" = {
+      name = "universalify";
+      packageName = "universalify";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";
+        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
+      };
+    };
+    "url-parse-lax-3.0.0" = {
+      name = "url-parse-lax";
+      packageName = "url-parse-lax";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
+        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
+      };
+    };
+    "url-template-2.0.8" = {
+      name = "url-template";
+      packageName = "url-template";
+      version = "2.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz";
+        sha1 = "fc565a3cccbff7730c775f5641f9555791439f21";
+      };
+    };
+    "util-0.10.4" = {
+      name = "util";
+      packageName = "util";
+      version = "0.10.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util/-/util-0.10.4.tgz";
+        sha512 = "0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==";
+      };
+    };
+    "uuid-3.3.2" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz";
+        sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
+      };
+    };
+    "watch-1.0.2" = {
+      name = "watch";
+      packageName = "watch";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/watch/-/watch-1.0.2.tgz";
+        sha1 = "340a717bde765726fa0aa07d721e0147a551df0c";
+      };
+    };
+    "wrappy-1.0.2" = {
+      name = "wrappy";
+      packageName = "wrappy";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    };
+    "yallist-3.0.3" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz";
+        sha512 = "S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==";
+      };
+    };
+  };
+in
+{
+  "@google/clasp-2.2.1" = nodeEnv.buildNodePackage {
+    name = "_at_google_slash_clasp";
+    packageName = "@google/clasp";
+    version = "2.2.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@google/clasp/-/clasp-2.2.1.tgz";
+      sha512 = "dUdEBfwOuC1d95o1ntZ+4a60M65q2vwvHvgD22bPCx+OU0m+ZUBs5rZSloh/IGDjEVqFbDsHU6SLgM0x3MOhgA==";
+    };
+    dependencies = [
+      sources."@nodelib/fs.scandir-2.1.1"
+      sources."@nodelib/fs.stat-2.0.1"
+      sources."@nodelib/fs.walk-1.2.2"
+      sources."@sindresorhus/is-0.14.0"
+      sources."@szmarczak/http-timer-1.1.2"
+      sources."@types/events-3.0.0"
+      sources."@types/glob-7.1.1"
+      sources."@types/minimatch-3.0.3"
+      sources."@types/node-12.7.2"
+      sources."abort-controller-3.0.0"
+      sources."agent-base-4.3.0"
+      sources."aggregate-error-3.0.0"
+      sources."ansi-escapes-4.2.1"
+      sources."ansi-regex-4.1.0"
+      sources."ansi-styles-3.2.1"
+      sources."array-differ-3.0.0"
+      sources."array-union-2.1.0"
+      sources."arrify-2.0.1"
+      sources."balanced-match-1.0.0"
+      sources."base64-js-1.3.1"
+      sources."bignumber.js-7.2.1"
+      sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
+      sources."buffer-equal-constant-time-1.0.1"
+      (sources."cacheable-request-6.1.0" // {
+        dependencies = [
+          sources."get-stream-5.1.0"
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
+      sources."chalk-2.4.2"
+      sources."chardet-0.7.0"
+      sources."clean-stack-2.2.0"
+      sources."cli-cursor-3.1.0"
+      sources."cli-spinner-0.2.10"
+      sources."cli-width-2.2.0"
+      sources."clone-response-1.0.2"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."commander-2.20.0"
+      sources."concat-map-0.0.1"
+      sources."debug-3.2.6"
+      sources."decompress-response-3.3.0"
+      sources."defer-to-connect-1.0.2"
+      sources."define-properties-1.1.3"
+      sources."del-5.0.0"
+      sources."dir-glob-3.0.1"
+      sources."dns-packet-5.2.1"
+      sources."dns-socket-4.2.0"
+      sources."dotf-1.4.0"
+      sources."duplexer3-0.1.4"
+      sources."ecdsa-sig-formatter-1.0.11"
+      sources."ellipsize-0.1.0"
+      sources."emoji-regex-8.0.0"
+      sources."end-of-stream-1.4.1"
+      sources."es-abstract-1.13.0"
+      sources."es-to-primitive-1.2.0"
+      sources."es6-promise-4.2.8"
+      sources."es6-promisify-5.0.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."event-target-shim-5.0.1"
+      sources."exec-sh-0.2.2"
+      sources."extend-3.0.2"
+      sources."external-editor-3.1.0"
+      sources."fast-glob-3.0.4"
+      sources."fast-text-encoding-1.0.0"
+      sources."fastq-1.6.0"
+      sources."figures-3.0.0"
+      sources."fill-range-7.0.1"
+      sources."find-up-4.1.0"
+      (sources."fs-extra-8.1.0" // {
+        dependencies = [
+          sources."jsonfile-4.0.0"
+        ];
+      })
+      sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
+      sources."fuzzy-0.1.3"
+      sources."gaxios-2.0.1"
+      sources."gcp-metadata-2.0.1"
+      sources."get-stream-4.1.0"
+      sources."glob-7.1.4"
+      sources."glob-parent-5.0.0"
+      sources."globby-10.0.1"
+      sources."google-auth-library-4.2.6"
+      sources."google-p12-pem-2.0.1"
+      sources."googleapis-40.0.1"
+      sources."googleapis-common-2.0.4"
+      sources."got-9.6.0"
+      sources."graceful-fs-4.2.2"
+      sources."gtoken-3.0.2"
+      sources."has-1.0.3"
+      sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.0"
+      sources."http-cache-semantics-4.0.3"
+      sources."https-proxy-agent-2.2.2"
+      sources."iconv-lite-0.4.24"
+      sources."ignore-5.1.4"
+      sources."indent-string-3.2.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."inquirer-6.5.1"
+      (sources."inquirer-autocomplete-prompt-1.0.1" // {
+        dependencies = [
+          sources."ansi-escapes-3.2.0"
+          sources."figures-2.0.0"
+        ];
+      })
+      sources."ip-1.1.5"
+      sources."ip-regex-4.1.0"
+      sources."is-callable-1.1.4"
+      sources."is-date-object-1.0.1"
+      sources."is-extglob-2.1.1"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-glob-4.0.1"
+      sources."is-ip-3.1.0"
+      sources."is-number-7.0.0"
+      sources."is-online-8.2.0"
+      sources."is-path-cwd-2.2.0"
+      sources."is-path-in-cwd-2.1.0"
+      sources."is-path-inside-2.1.0"
+      sources."is-promise-2.1.0"
+      sources."is-regex-1.0.4"
+      sources."is-symbol-1.0.2"
+      sources."is-wsl-1.1.0"
+      sources."json-bigint-0.3.0"
+      sources."json-buffer-3.0.0"
+      sources."jsonfile-5.0.0"
+      sources."jwa-1.4.1"
+      sources."jws-3.2.2"
+      sources."keyv-3.1.0"
+      sources."locate-path-5.0.0"
+      sources."lodash-4.17.15"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-5.1.1"
+      sources."merge-1.2.1"
+      sources."merge2-1.2.4"
+      sources."micromatch-4.0.2"
+      sources."mime-2.4.4"
+      sources."mimic-fn-2.1.0"
+      sources."mimic-response-1.0.1"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.1.2"
+      sources."multimatch-4.0.0"
+      sources."mute-stream-0.0.8"
+      sources."node-fetch-2.6.0"
+      sources."node-forge-0.8.5"
+      sources."normalize-url-4.3.0"
+      sources."object-keys-1.1.1"
+      sources."once-1.4.0"
+      sources."onetime-5.1.0"
+      sources."open-6.4.0"
+      sources."os-tmpdir-1.0.2"
+      (sources."p-any-2.1.0" // {
+        dependencies = [
+          sources."p-cancelable-2.0.0"
+          sources."type-fest-0.3.1"
+        ];
+      })
+      sources."p-cancelable-1.1.0"
+      sources."p-finally-1.0.0"
+      sources."p-limit-2.2.0"
+      sources."p-locate-4.1.0"
+      sources."p-map-2.1.0"
+      (sources."p-some-4.1.0" // {
+        dependencies = [
+          sources."p-cancelable-2.0.0"
+        ];
+      })
+      sources."p-timeout-3.1.0"
+      sources."p-try-2.2.0"
+      sources."path-0.12.7"
+      sources."path-exists-4.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-is-inside-1.0.2"
+      sources."path-type-4.0.0"
+      sources."picomatch-2.0.7"
+      sources."pluralize-8.0.0"
+      sources."prepend-http-2.0.0"
+      sources."process-0.11.10"
+      sources."public-ip-3.2.0"
+      sources."pump-3.0.0"
+      sources."qs-6.8.0"
+      sources."recursive-readdir-2.2.2"
+      sources."responselike-1.0.2"
+      sources."restore-cursor-3.1.0"
+      sources."reusify-1.0.4"
+      sources."rimraf-2.7.1"
+      sources."run-async-2.3.0"
+      sources."run-parallel-1.1.9"
+      sources."rxjs-6.5.2"
+      sources."safe-buffer-5.2.0"
+      sources."safer-buffer-2.1.2"
+      sources."signal-exit-3.0.2"
+      sources."slash-3.0.0"
+      sources."split-lines-2.0.0"
+      sources."string-width-4.1.0"
+      sources."string.prototype.padend-3.0.0"
+      sources."strip-ansi-5.2.0"
+      sources."strip-bom-4.0.0"
+      sources."supports-color-5.5.0"
+      sources."through-2.3.8"
+      sources."tmp-0.0.33"
+      sources."to-readable-stream-1.0.0"
+      sources."to-regex-range-5.0.1"
+      sources."ts2gas-3.4.4"
+      sources."tslib-1.10.0"
+      sources."type-fest-0.5.2"
+      sources."typescript-3.5.3"
+      sources."universalify-0.1.2"
+      sources."url-parse-lax-3.0.0"
+      sources."url-template-2.0.8"
+      (sources."util-0.10.4" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
+      sources."uuid-3.3.2"
+      (sources."watch-1.0.2" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."wrappy-1.0.2"
+      sources."yallist-3.0.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Develop Apps Script Projects locally";
+      homepage = "https://github.com/google/clasp#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = true;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/mobile/androidenv/build-app.nix b/pkgs/development/mobile/androidenv/build-app.nix
index 62cdeb43032..6f4b32b486b 100644
--- a/pkgs/development/mobile/androidenv/build-app.nix
+++ b/pkgs/development/mobile/androidenv/build-app.nix
@@ -1,4 +1,4 @@
-{ composeAndroidPackages, stdenv, ant, jdk, gnumake, gawk }:
+{ composeAndroidPackages, stdenv, lib, ant, jdk, gnumake, gawk }:
 
 { name
 , release ? false, keyStore ? null, keyAlias ? null, keyStorePassword ? null, keyAliasPassword ? null
@@ -16,11 +16,11 @@ let
   extraArgs = removeAttrs args ([ "name" ] ++ builtins.attrNames androidSdkFormalArgs);
 in
 stdenv.mkDerivation ({
-  name = stdenv.lib.replaceChars [" "] [""] name; # Android APKs may contain white spaces in their names, but Nix store paths cannot
+  name = lib.replaceChars [" "] [""] name; # Android APKs may contain white spaces in their names, but Nix store paths cannot
   ANDROID_HOME = "${androidsdk}/libexec/android-sdk";
   buildInputs = [ jdk ant ];
   buildPhase = ''
-    ${stdenv.lib.optionalString release ''
+    ${lib.optionalString release ''
       # Provide key singing attributes
       ( echo "key.store=${keyStore}"
         echo "key.alias=${keyAlias}"
@@ -31,7 +31,7 @@ stdenv.mkDerivation ({
 
     export ANDROID_SDK_HOME=`pwd` # Key files cannot be stored in the user's home directory. This overrides it.
 
-    ${stdenv.lib.optionalString (args ? includeNDK && args.includeNDK) ''
+    ${lib.optionalString (args ? includeNDK && args.includeNDK) ''
       export GNUMAKE=${gnumake}/bin/make
       export NDK_HOST_AWK=${gawk}/bin/gawk
       ${androidsdk}/libexec/android-sdk/ndk-bundle/ndk-build
diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix
index e5802c12e81..6e6a349cccc 100644
--- a/pkgs/development/mobile/androidenv/compose-android-packages.nix
+++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix
@@ -21,7 +21,7 @@
 }:
 
 let
-  inherit (pkgs) stdenv fetchurl makeWrapper unzip;
+  inherit (pkgs) stdenv lib fetchurl makeWrapper unzip;
 
   # Determine the Android os identifier from Nix's system identifier
   os = if stdenv.system == "x86_64-linux" then "linux"
@@ -59,12 +59,12 @@ let
   };
 
   system-images-packages =
-    stdenv.lib.recursiveUpdate
+    lib.recursiveUpdate
       system-images-packages-android
-      (stdenv.lib.recursiveUpdate system-images-packages-android-tv
-        (stdenv.lib.recursiveUpdate system-images-packages-android-wear
-          (stdenv.lib.recursiveUpdate system-images-packages-android-wear-cn
-            (stdenv.lib.recursiveUpdate system-images-packages-google_apis system-images-packages-google_apis_playstore))));
+      (lib.recursiveUpdate system-images-packages-android-tv
+        (lib.recursiveUpdate system-images-packages-android-wear
+          (lib.recursiveUpdate system-images-packages-android-wear-cn
+            (lib.recursiveUpdate system-images-packages-google_apis system-images-packages-google_apis_playstore))));
 
   # Generated addons
   addons = import ./generated/addons.nix {
@@ -77,15 +77,13 @@ rec {
   };
 
   platform-tools = import ./platform-tools.nix {
-    inherit deployAndroidPackage os autoPatchelfHook pkgs;
-    inherit (stdenv) lib;
+    inherit deployAndroidPackage os autoPatchelfHook pkgs lib;
     package = packages.platform-tools."${platformToolsVersion}";
   };
 
   build-tools = map (version:
     import ./build-tools.nix {
-      inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs pkgs_i686;
-      inherit (stdenv) lib;
+      inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs pkgs_i686 lib;
       package = packages.build-tools."${version}";
     }
   ) buildToolsVersions;
@@ -96,8 +94,7 @@ rec {
   };
 
   emulator = import ./emulator.nix {
-    inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs pkgs_i686;
-    inherit (stdenv) lib;
+    inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs pkgs_i686 lib;
     package = packages.emulator."${emulatorVersion}"."${os}";
   };
 
@@ -115,12 +112,18 @@ rec {
     }
   ) platformVersions;
 
-  system-images = stdenv.lib.flatten (map (apiVersion:
+  system-images = lib.flatten (map (apiVersion:
     map (type:
       map (abiVersion:
         deployAndroidPackage {
           inherit os;
           package = system-images-packages.${apiVersion}.${type}.${abiVersion};
+          # Patch 'google_apis' system images so they're recognized by the sdk.
+          # Without this, `android list targets` shows 'Tag/ABIs : no ABIs' instead
+          # of 'Tag/ABIs : google_apis*/*' and the emulator fails with an ABI-related error.
+          patchInstructions = lib.optionalString (lib.hasPrefix "google_apis" type) ''
+            sed -i '/^Addon.Vendor/d' source.properties
+          '';
         }
       ) abiVersions
     ) systemImageTypes
@@ -128,23 +131,20 @@ rec {
 
   lldb = map (version:
     import ./lldb.nix {
-      inherit deployAndroidPackage os autoPatchelfHook pkgs;
-      inherit (stdenv) lib;
+      inherit deployAndroidPackage os autoPatchelfHook pkgs lib;
       package = packages.lldb."${version}";
     }
   ) lldbVersions;
 
   cmake = map (version:
     import ./cmake.nix {
-      inherit deployAndroidPackage os autoPatchelfHook pkgs;
-      inherit (stdenv) lib;
+      inherit deployAndroidPackage os autoPatchelfHook pkgs lib;
       package = packages.cmake."${version}";
     }
   ) cmakeVersions;
 
   ndk-bundle = import ./ndk-bundle {
-    inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs platform-tools;
-    inherit (stdenv) lib;
+    inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs lib platform-tools;
     package = packages.ndk-bundle."${ndkVersion}";
   };
 
@@ -164,24 +164,24 @@ rec {
 
   # Function that automatically links all plugins for which multiple versions can coexist
   linkPlugins = {name, plugins}:
-    stdenv.lib.optionalString (plugins != []) ''
+    lib.optionalString (plugins != []) ''
       mkdir -p ${name}
-      ${stdenv.lib.concatMapStrings (plugin: ''
+      ${lib.concatMapStrings (plugin: ''
         ln -s ${plugin}/libexec/android-sdk/${name}/* ${name}
       '') plugins}
     '';
 
   # Function that automatically links a plugin for which only one version exists
   linkPlugin = {name, plugin, check ? true}:
-    stdenv.lib.optionalString check ''
+    lib.optionalString check ''
       ln -s ${plugin}/libexec/android-sdk/* ${name}
     '';
 
   # Links all plugins related to a requested platform
   linkPlatformPlugins = {name, plugins, check}:
-    stdenv.lib.optionalString check ''
+    lib.optionalString check ''
       mkdir -p ${name}
-      ${stdenv.lib.concatMapStrings (plugin: ''
+      ${lib.concatMapStrings (plugin: ''
         ln -s ${plugin}/libexec/android-sdk/${name}/* ${name}
       '') plugins}
     ''; # */
@@ -194,8 +194,7 @@ rec {
     https://developer.android.com/studio/terms
     by setting nixpkgs config option 'android_sdk.accept_license = true;'
   '' else import ./tools.nix {
-    inherit deployAndroidPackage requireFile packages toolsVersion autoPatchelfHook makeWrapper os pkgs pkgs_i686;
-    inherit (stdenv) lib;
+    inherit deployAndroidPackage requireFile packages toolsVersion autoPatchelfHook makeWrapper os pkgs pkgs_i686 lib;
 
     postInstall = ''
       # Symlink all requested plugins
@@ -210,9 +209,9 @@ rec {
       ${linkPlugins { name = "cmake"; plugins = cmake; }}
       ${linkPlugin { name = "ndk-bundle"; plugin = ndk-bundle; check = includeNDK; }}
 
-      ${stdenv.lib.optionalString includeSystemImages ''
+      ${lib.optionalString includeSystemImages ''
         mkdir -p system-images
-        ${stdenv.lib.concatMapStrings (system-image: ''
+        ${lib.concatMapStrings (system-image: ''
           apiVersion=$(basename $(echo ${system-image}/libexec/android-sdk/system-images/*))
           type=$(basename $(echo ${system-image}/libexec/android-sdk/system-images/*/*))
           mkdir -p system-images/$apiVersion/$type
@@ -224,7 +223,7 @@ rec {
       ${linkPlatformPlugins { name = "add-ons"; plugins = google-apis; check = useGoogleTVAddOns; }}
 
       # Link extras
-      ${stdenv.lib.concatMapStrings (identifier:
+      ${lib.concatMapStrings (identifier:
         let
           path = addons.extras."${identifier}".path;
           addon = deployAndroidPackage {
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index b0516746071..14882bc2243 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -10,12 +10,12 @@ rec {
   };
 
   buildApp = import ./build-app.nix {
-    inherit (pkgs) stdenv jdk ant gnumake gawk;
+    inherit (pkgs) stdenv lib jdk ant gnumake gawk;
     inherit composeAndroidPackages;
   };
 
   emulateApp = import ./emulate-app.nix {
-    inherit (pkgs) stdenv;
+    inherit (pkgs) stdenv lib;
     inherit composeAndroidPackages;
   };
 
diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix
index 6c8f6d664d7..fa9a56fadba 100644
--- a/pkgs/development/mobile/androidenv/emulate-app.nix
+++ b/pkgs/development/mobile/androidenv/emulate-app.nix
@@ -1,24 +1,21 @@
-{ composeAndroidPackages, stdenv }:
+{ composeAndroidPackages, stdenv, lib }:
 { name, app ? null
-, platformVersion ? "16", abiVersion ? "armeabi-v7a", systemImageType ? "default", useGoogleAPIs ? false
+, platformVersion ? "16", abiVersion ? "armeabi-v7a", systemImageType ? "default"
 , enableGPU ? false, extraAVDFiles ? []
 , package ? null, activity ? null
-, avdHomeDir ? null
-}@args:
+, avdHomeDir ? null, sdkExtraArgs ? {}
+}:
 
 let
-  androidSdkArgNames = builtins.attrNames (builtins.functionArgs composeAndroidPackages);
-
-  # Extract the parameters meant for the Android SDK
-  androidParams = {
+  sdkArgs = {
     platformVersions = [ platformVersion ];
     includeEmulator = true;
     includeSystemImages = true;
     systemImageTypes = [ systemImageType ];
     abiVersions = [ abiVersion ];
-  };
+  } // sdkExtraArgs;
 
-  androidsdkComposition = (composeAndroidPackages androidParams).androidsdk;
+  sdk = (composeAndroidPackages sdkArgs).androidsdk;
 in
 stdenv.mkDerivation {
   inherit name;
@@ -44,7 +41,7 @@ stdenv.mkDerivation {
     ''}
 
     # We need to specify the location of the Android SDK root folder
-    export ANDROID_SDK_ROOT=${androidsdkComposition}/libexec/android-sdk
+    export ANDROID_SDK_ROOT=${sdk}/libexec/android-sdk
 
     # We have to look for a free TCP port
 
@@ -52,7 +49,7 @@ stdenv.mkDerivation {
 
     for i in $(seq 5554 2 5584)
     do
-        if [ -z "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb devices | grep emulator-$i)" ]
+        if [ -z "$(${sdk}/libexec/android-sdk/platform-tools/adb devices | grep emulator-$i)" ]
         then
             port=$i
             break
@@ -70,41 +67,41 @@ stdenv.mkDerivation {
     export ANDROID_SERIAL="emulator-$port"
 
     # Create a virtual android device for testing if it does not exists
-    ${androidsdkComposition}/libexec/android-sdk/tools/android list targets
+    ${sdk}/libexec/android-sdk/tools/android list targets
 
-    if [ "$(${androidsdkComposition}/libexec/android-sdk/tools/android list avd | grep 'Name: device')" = "" ]
+    if [ "$(${sdk}/libexec/android-sdk/tools/android list avd | grep 'Name: device')" = "" ]
     then
         # Create a virtual android device
-        yes "" | ${androidsdkComposition}/libexec/android-sdk/tools/android create avd -n device -t 1 --abi ${systemImageType}/${abiVersion} $NIX_ANDROID_AVD_FLAGS
+        yes "" | ${sdk}/libexec/android-sdk/tools/android create avd -n device -t 1 --abi ${systemImageType}/${abiVersion} $NIX_ANDROID_AVD_FLAGS
 
-        ${stdenv.lib.optionalString enableGPU ''
+        ${lib.optionalString enableGPU ''
           # Enable GPU acceleration
           echo "hw.gpu.enabled=yes" >> $ANDROID_SDK_HOME/.android/avd/device.avd/config.ini
         ''}
 
-        ${stdenv.lib.concatMapStrings (extraAVDFile: ''
+        ${lib.concatMapStrings (extraAVDFile: ''
           ln -sf ${extraAVDFile} $ANDROID_SDK_HOME/.android/avd/device.avd
         '') extraAVDFiles}
     fi
 
     # Launch the emulator
-    ${androidsdkComposition}/libexec/android-sdk/emulator/emulator -avd device -no-boot-anim -port $port $NIX_ANDROID_EMULATOR_FLAGS &
+    ${sdk}/libexec/android-sdk/emulator/emulator -avd device -no-boot-anim -port $port $NIX_ANDROID_EMULATOR_FLAGS &
 
     # Wait until the device has completely booted
     echo "Waiting until the emulator has booted the device and the package manager is ready..." >&2
 
-    ${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port wait-for-device
+    ${sdk}/libexec/android-sdk/platform-tools/adb -s emulator-$port wait-for-device
 
     echo "Device state has been reached" >&2
 
-    while [ -z "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell getprop dev.bootcomplete | grep 1)" ]
+    while [ -z "$(${sdk}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell getprop dev.bootcomplete | grep 1)" ]
     do
         sleep 5
     done
 
     echo "dev.bootcomplete property is 1" >&2
 
-    #while [ -z "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell getprop sys.boot_completed | grep 1)" ]
+    #while [ -z "$(${sdk}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell getprop sys.boot_completed | grep 1)" ]
     #do
         #sleep 5
     #done
@@ -113,10 +110,10 @@ stdenv.mkDerivation {
 
     echo "ready" >&2
 
-    ${stdenv.lib.optionalString (app != null) ''
+    ${lib.optionalString (app != null) ''
       # Install the App through the debugger, if it has not been installed yet
 
-      if [ -z "${package}" ] || [ "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ]
+      if [ -z "${package}" ] || [ "$(${sdk}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ]
       then
           if [ -d "${app}" ]
           then
@@ -125,12 +122,12 @@ stdenv.mkDerivation {
               appPath="${app}"
           fi
 
-          ${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port install "$appPath"
+          ${sdk}/libexec/android-sdk/platform-tools/adb -s emulator-$port install "$appPath"
       fi
 
       # Start the application
-      ${stdenv.lib.optionalString (package != null && activity != null) ''
-          ${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity}
+      ${lib.optionalString (package != null && activity != null) ''
+          ${sdk}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity}
       ''}
     ''}
     EOF
diff --git a/pkgs/development/mobile/xpwn/default.nix b/pkgs/development/mobile/xpwn/default.nix
index d62902e4f6e..9ec5977d594 100644
--- a/pkgs/development/mobile/xpwn/default.nix
+++ b/pkgs/development/mobile/xpwn/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }:
+{ stdenv, fetchFromGitHub, cmake, zlib, libpng, bzip2, libusb, openssl }:
 
-stdenv.mkDerivation {
-  name = "xpwn-0.5.8git";
+stdenv.mkDerivation rec {
+  pname = "xpwn";
+  version = "0.5.8git";
 
-  src = fetchgit {
-    url    = "git://github.com/dborca/xpwn.git";
-    rev    = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0";
-    sha256 = "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
+  src = fetchFromGitHub {
+    owner = "planetbeing";
+    repo = pname;
+    rev = "ac362d4ffe4d0489a26144a1483ebf3b431da899";
+    sha256 = "1qw9vbk463fpnvvvfgzxmn9add2p30k832s09mlycr7z1hrh3wyf";
   };
 
   preConfigure = ''
@@ -18,7 +20,9 @@ stdenv.mkDerivation {
     sed -i -e '/install/d' CMakeLists.txt
   '';
 
-  buildInputs = [ cmake zlib libpng bzip2 libusb openssl ];
+  strictDeps = true;
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ zlib libpng bzip2 libusb openssl ];
 
   meta = with stdenv.lib; {
     homepage    = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn";
diff --git a/pkgs/development/ocaml-modules/charInfo_width/default.nix b/pkgs/development/ocaml-modules/charInfo_width/default.nix
new file mode 100644
index 00000000000..7a78573412f
--- /dev/null
+++ b/pkgs/development/ocaml-modules/charInfo_width/default.nix
@@ -0,0 +1,19 @@
+{ lib, fetchzip, buildDunePackage, camomile, result }:
+
+buildDunePackage rec {
+  pname = "charInfo_width";
+  version = "1.1.0";
+  src = fetchzip {
+    url = "https://bitbucket.org/zandoye/charinfo_width/get/${version}.tar.bz2";
+    sha256 = "19mnq9a1yr16srqs8n6hddahr4f9d2gbpmld62pvlw1ps7nfrp9w";
+  };
+
+  propagatedBuildInputs = [ camomile result ];
+
+  meta = {
+    homepage = "https://bitbucket.org/zandoye/charinfo_width/";
+    description = "Determine column width for a character";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/cohttp/default.nix b/pkgs/development/ocaml-modules/cohttp/default.nix
index 3d293b1a1ac..22a4e6371a9 100644
--- a/pkgs/development/ocaml-modules/cohttp/default.nix
+++ b/pkgs/development/ocaml-modules/cohttp/default.nix
@@ -1,22 +1,22 @@
 { lib, fetchFromGitHub, buildDunePackage
 , ppx_fields_conv, ppx_sexp_conv
-, base64, fieldslib, jsonm, re, stringext, uri
+, base64, fieldslib, jsonm, re, stringext, uri-sexp
 }:
 
 buildDunePackage rec {
   pname = "cohttp";
-	version = "2.0.0";
+	version = "2.1.3";
 
 	src = fetchFromGitHub {
 		owner = "mirage";
 		repo = "ocaml-cohttp";
 		rev = "v${version}";
-		sha256 = "0nz9y7l5s9a2rq5sb1m5705h99wvf4dk3fhcgragwhy5nwwzcya8";
+		sha256 = "16k4ldmz6ljryhr139adlma130frb5wh13qswkrwc5gxx6d2wh8d";
 	};
 
 	buildInputs = [ jsonm ppx_fields_conv ppx_sexp_conv ];
 
-	propagatedBuildInputs = [ base64 fieldslib re stringext uri ];
+	propagatedBuildInputs = [ base64 fieldslib re stringext uri-sexp ];
 
 	meta = {
 		description = "HTTP(S) library for Lwt, Async and Mirage";
diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix
index dde86bf3e52..c7586ad23e4 100644
--- a/pkgs/development/ocaml-modules/javalib/default.nix
+++ b/pkgs/development/ocaml-modules/javalib/default.nix
@@ -1,24 +1,21 @@
-{ stdenv, fetchzip, which, ocaml, findlib, camlp4
-, camlzip, camomile, extlib
+{ stdenv, fetchzip, which, ocaml, findlib
+, camlzip, extlib
 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4"
-then throw "javalib not supported for ocaml ${ocaml.version}"
+if !stdenv.lib.versionAtLeast ocaml.version "4.04"
+then throw "javalib is not available for OCaml ${ocaml.version}"
 else
 
-let
-  pname = "javalib";
-in
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-${pname}-${version}";
-  version = "3.0";
+  name = "ocaml${ocaml.version}-javalib-${version}";
+  version = "3.1.1";
 
   src = fetchzip {
     url = "https://github.com/javalib-team/javalib/archive/v${version}.tar.gz";
-    sha256 = "02zgn1z1wj3rbg9xqmbagys91bnsy27iwrngkivzhlykyaw9vf6n";
+    sha256 = "1myrf7kw7pi04pmp0bi4747nj4h4vfxlla05sz2hp4w8k76iscld";
   };
 
-  buildInputs = [ which ocaml findlib camlp4 ];
+  buildInputs = [ which ocaml findlib ];
 
   patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
 
@@ -29,13 +26,13 @@ stdenv.mkDerivation rec {
   configureScript = "./configure.sh";
   dontAddPrefix = "true";
 
-  propagatedBuildInputs = [ camlzip camomile extlib ];
+  propagatedBuildInputs = [ camlzip extlib ];
 
   meta = with stdenv.lib; {
     description = "A library that parses Java .class files into OCaml data structures";
     homepage = https://javalib-team.github.io/javalib/;
     license = licenses.lgpl3;
     maintainers = [ maintainers.vbgl ];
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
index 24cfbcf5b7a..d45298972cc 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
@@ -1,41 +1,22 @@
-{ stdenv, ocaml, findlib, ocamlbuild, fetchzip
-, cppo, ppx_tools, ppx_derivers, result, ounit, ocaml-migrate-parsetree
+{ lib, fetchzip, buildDunePackage
+, cppo, ppxfind, ppx_tools, ppx_derivers, result, ounit, ocaml-migrate-parsetree
 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.02"
-then throw "ppx_deriving is not available for OCaml ${ocaml.version}"
-else
-
-let param =
-  if ocaml.version == "4.03.0"
-  then {
-    version = "4.1";
-    sha256 = "0cy9p8d8cbcxvqyyv8fz2z9ypi121zrgaamdlp4ld9f3jnwz7my9";
-    extraPropagatedBuildInputs = [];
-  } else {
-    version = "4.2.1";
-    sha256 = "1yhhjnncbbb7fsif7qplndh01s1xd72dqm8f3jkgx9y4ariqqvf9";
-    extraPropagatedBuildInputs = [ ocaml-migrate-parsetree ppx_derivers ];
-}; in
-
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-ppx_deriving-${version}";
-  inherit (param) version;
+buildDunePackage rec {
+  pname = "ppx_deriving";
+  version = "4.4";
 
   src = fetchzip {
     url = "https://github.com/ocaml-ppx/ppx_deriving/archive/v${version}.tar.gz";
-    inherit (param) sha256;
+    sha256 = "0b2gaxlh54pcz3b4891yd143nx852mwggcy0yhq8g85dl3iisxzq";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild cppo ounit ];
-  propagatedBuildInputs = param.extraPropagatedBuildInputs ++
-    [ ppx_tools result ];
-
-  createFindlibDestdir = true;
+  buildInputs = [ ppxfind cppo ounit ];
+  propagatedBuildInputs = [ ocaml-migrate-parsetree ppx_derivers ppx_tools result ];
 
-  installPhase = "OCAMLPATH=$OCAMLPATH:`ocamlfind printconf destdir` make install";
+  doCheck = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "deriving is a library simplifying type-driven code generation on OCaml >=4.02.";
     maintainers = [ maintainers.maurer ];
     license = licenses.mit;
diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix
index 2aa74d751db..a8fb4af2a6b 100644
--- a/pkgs/development/ocaml-modules/ppx_tools/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix
@@ -20,6 +20,9 @@ let param = {
   "4.07" = {
     version = "5.1+4.06.0";
     sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; };
+  "4.08" = {
+    version = "5.3+4.08.0";
+    sha256 = "0vdmhs3hpmh5iclx4lzgdpf362m4l35zprxs73r84z1yhr4jcr4m"; };
 }."${ocaml.meta.branch}";
 in
   stdenv.mkDerivation {
diff --git a/pkgs/development/ocaml-modules/ppxfind/default.nix b/pkgs/development/ocaml-modules/ppxfind/default.nix
index 7d8c14c5513..3b61a651263 100644
--- a/pkgs/development/ocaml-modules/ppxfind/default.nix
+++ b/pkgs/development/ocaml-modules/ppxfind/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildDunePackage, fetchurl, ocaml-migrate-parsetree }:
+{ lib, buildDunePackage, fetchurl, ocaml, ocaml-migrate-parsetree }:
 
-buildDunePackage rec {
+buildDunePackage (rec {
 	pname = "ppxfind";
 	version = "1.3";
 	src = fetchurl {
@@ -18,4 +18,8 @@ buildDunePackage rec {
 		license = lib.licenses.bsd3;
 		maintainers = [ lib.maintainers.vbgl ];
 	};
-}
+} // (
+if lib.versions.majorMinor ocaml.version == "4.04" then {
+  dontStrip = true;
+} else {}
+))
diff --git a/pkgs/development/ocaml-modules/ppxlib/default.nix b/pkgs/development/ocaml-modules/ppxlib/default.nix
index e50deafd6e2..644e1c98c48 100644
--- a/pkgs/development/ocaml-modules/ppxlib/default.nix
+++ b/pkgs/development/ocaml-modules/ppxlib/default.nix
@@ -4,13 +4,13 @@
 
 buildDunePackage rec {
   pname = "ppxlib";
-  version = "0.6.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "ocaml-ppx";
     repo = pname;
     rev = version;
-    sha256 = "0my9x7sxb329h0lzshppdaawiyfbaw6g5f41yiy7bhl071rnlvbv";
+    sha256 = "0vm0jajmg8135scbg0x60ivyy5gzv4abwnl7zls2mrw23ac6kml6";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ocaml-modules/sedlex/default.nix b/pkgs/development/ocaml-modules/sedlex/default.nix
index 4137abf1ac7..653f4532585 100644
--- a/pkgs/development/ocaml-modules/sedlex/default.nix
+++ b/pkgs/development/ocaml-modules/sedlex/default.nix
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-sedlex-${version}";
-  version = "1.99.4";
+  version = "1.99.5";
 
   src = fetchzip {
-    url = "https://github.com/alainfrisch/sedlex/archive/v${version}.tar.gz";
-    sha256 = "1b7nqxyfcz8i7m4b8zil2rn6ygh2czy26f9v64xnxn8r0hy9sh1m";
+    url = "https://github.com/ocaml-community/sedlex/archive/fb84e1766fc4b29e79ec40029ffee5cdb37b392f.tar.gz";
+    sha256 = "0phnqyn6mpv5byr1kkphl24y9q9fb2k3xg9yb457h5816q6ya72n";
   };
 
   buildInputs = [ ocaml findlib ppx_tools_versioned ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   meta = {
-    homepage = https://github.com/alainfrisch/sedlex;
+    homepage = https://github.com/ocaml-community/sedlex;
     description = "An OCaml lexer generator for Unicode";
     license = stdenv.lib.licenses.mit;
     inherit (ocaml.meta) platforms;
diff --git a/pkgs/development/ocaml-modules/uri/default.nix b/pkgs/development/ocaml-modules/uri/default.nix
index 011acf01839..e17e99cdc67 100644
--- a/pkgs/development/ocaml-modules/uri/default.nix
+++ b/pkgs/development/ocaml-modules/uri/default.nix
@@ -1,18 +1,18 @@
-{ lib, fetchurl, buildDunePackage, ppx_sexp_conv, ounit
-, re, sexplib0, stringext
+{ lib, fetchurl, buildDunePackage, ounit
+, re, stringext
 }:
 
 buildDunePackage rec {
   pname = "uri";
-  version = "2.2.0";
+  version = "3.0.0";
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
-    sha256 = "1q0xmc93l46dilxclkmai7w952bdi745rhvsx5vissaigcj9wbwi";
+    sha256 = "1yhrgm3hbn0hh4jdmcrvxinazgg8vrm0vn425sg8ggzblvxk9cwg";
   };
 
   buildInputs = [ ounit ];
-  propagatedBuildInputs = [ ppx_sexp_conv re sexplib0 stringext ];
+  propagatedBuildInputs = [ re stringext ];
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/uri/sexp.nix b/pkgs/development/ocaml-modules/uri/sexp.nix
new file mode 100644
index 00000000000..c6f979e5a3e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/uri/sexp.nix
@@ -0,0 +1,13 @@
+{ lib, ocaml, buildDunePackage, uri, ounit, ppx_sexp_conv, sexplib0 }:
+
+if !lib.versionAtLeast ocaml.version "4.04"
+then throw "uri-sexp is not available for OCaml ${ocaml.version}"
+else
+
+buildDunePackage {
+  pname = "uri-sexp";
+  inherit (uri) version src doCheck meta;
+
+  buildInputs = [ ounit ];
+  propagatedBuildInputs = [ ppx_sexp_conv sexplib0 uri ];
+}
diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix
index 15d79c43aa3..079e810bfdc 100644
--- a/pkgs/development/ocaml-modules/uuidm/default.nix
+++ b/pkgs/development/ocaml-modules/uuidm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.6";
+  version = "0.9.7";
   pname = "uuidm";
   src = fetchurl {
     url = "https://erratique.ch/software/uuidm/releases/uuidm-${version}.tbz";
-    sha256 = "0hz4fdx0x16k0pw9995vkz5d1hmzz6b16wck9li399rcbfnv5jlc";
+    sha256 = "1ivxb3hxn9bk62rmixx6px4fvn52s4yr1bpla7rgkcn8981v45r8";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
diff --git a/pkgs/development/perl-modules/DBD-Oracle/default.nix b/pkgs/development/perl-modules/DBD-Oracle/default.nix
index a7ec1e2d182..0658dd4248d 100644
--- a/pkgs/development/perl-modules/DBD-Oracle/default.nix
+++ b/pkgs/development/perl-modules/DBD-Oracle/default.nix
@@ -1,16 +1,20 @@
-{ fetchurl, buildPerlPackage, DBI, TestNoWarnings, oracle-instantclient }:
+{ stdenv, fetchurl, buildPerlPackage, DBI, TestNoWarnings, oracle-instantclient }:
 
 buildPerlPackage {
   pname = "DBD-Oracle";
-  version = "1.76";
+  version = "1.80";
 
   src = fetchurl {
     url = mirror://cpan/authors/id/Z/ZA/ZARQUON/DBD-Oracle-1.76.tar.gz;
-    sha256 = "b6db7f43c6252179274cfe99c1950b93e248f8f0fe35b07e50388c85d814d5f3";
+    sha256 = "1wym2kc8b31qa1zb0dgyy3w4iqlk1faw36gy9hkpj895qr1pznxn";
   };
 
-  ORACLE_HOME = "${oracle-instantclient}/lib";
+  ORACLE_HOME = "${oracle-instantclient.lib}/lib";
 
   buildInputs = [ TestNoWarnings oracle-instantclient ] ;
   propagatedBuildInputs = [ DBI ];
+
+  postBuild = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -add_rpath "${oracle-instantclient.lib}/lib" blib/arch/auto/DBD/Oracle/Oracle.bundle
+  '';
 }
diff --git a/pkgs/development/python-modules/Fabric/default.nix b/pkgs/development/python-modules/Fabric/default.nix
index ed89c26943f..b0c81a62e33 100644
--- a/pkgs/development/python-modules/Fabric/default.nix
+++ b/pkgs/development/python-modules/Fabric/default.nix
@@ -1,33 +1,29 @@
-{ pkgs
-, buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchPypi
+, cryptography
 , invoke
+, mock
 , paramiko
-, cryptography
 , pytest
-, mock
 , pytest-relaxed
 }:
 
 buildPythonPackage rec {
   pname = "fabric";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "93684ceaac92e0b78faae551297e29c48370cede12ff0f853cdebf67d4b87068";
+    sha256 = "19nzdibjfndzcwvby20p59igqwyzw7skrb45v2mxqsjma5yjv114";
   };
 
   propagatedBuildInputs = [ invoke paramiko cryptography ];
   checkInputs = [ pytest mock pytest-relaxed ];
 
-  # ignore subprocess main errors (1) due to hardcoded /bin/bash
   checkPhase = ''
-    rm tests/main.py
     pytest tests
   '';
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "Pythonic remote execution";
     homepage    = https://www.fabfile.org/;
     license     = licenses.bsd2;
diff --git a/pkgs/development/python-modules/Wand/default.nix b/pkgs/development/python-modules/Wand/default.nix
index 18c42dbc126..b1b71b39572 100644
--- a/pkgs/development/python-modules/Wand/default.nix
+++ b/pkgs/development/python-modules/Wand/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Wand";
-  version = "0.5.5";
+  version = "0.5.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1qjwqshcrfsa2a0j9bk0w01y857idzic1bj202p9cpar3xsjjw69";
+    sha256 = "126gpx6zj7fpx87v1qgicpfdahmmkqqmd2a8abllq0jlckrmjsyh";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/authres/default.nix b/pkgs/development/python-modules/authres/default.nix
index 8fe664f4231..d2a72461b17 100644
--- a/pkgs/development/python-modules/authres/default.nix
+++ b/pkgs/development/python-modules/authres/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "authres";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bxclx021zn4hhrpaw5fl61bhnf17yqjd0pvwxqfqwdkxdjpx37b";
+    sha256 = "1dr5zpqnb54h4f5ax8334l1dcp8j9083d7v4vdi1xqkwmnavklck";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/azure-cli-core/default.nix b/pkgs/development/python-modules/azure-cli-core/default.nix
index 3455053ff21..f535a243178 100644
--- a/pkgs/development/python-modules/azure-cli-core/default.nix
+++ b/pkgs/development/python-modules/azure-cli-core/default.nix
@@ -33,11 +33,11 @@
 
 buildPythonPackage rec {
   pname = "azure-cli-core";
-  version = "2.0.69";
+  version = "2.0.71";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "797c4fab2285aa2ac316daf692c1e8f6b14186c059805e8a57332b4d83d7bb23";
+    sha256 = "01pqdh16l2c9a6b1az9galmm1szvhg7fyf9shq872wanw1xx88dj";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-network/default.nix b/pkgs/development/python-modules/azure-mgmt-network/default.nix
index ad730774c5e..6384df020e0 100644
--- a/pkgs/development/python-modules/azure-mgmt-network/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.7.0";
+  version = "4.0.0";
   pname = "azure-mgmt-network";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "04z9f0nd2nh5miw81qahqrrz998l4yd328qcyx7bxg42a5f5v5jp";
+    sha256 = "0h2lnigmh2arq0ppwjk8h9rqxplj6s7h7qxwyv7wirk0ydx6cfd9";
   };
 
   postInstall = if isPy3k then "" else ''
diff --git a/pkgs/development/python-modules/azure-mgmt-storage/default.nix b/pkgs/development/python-modules/azure-mgmt-storage/default.nix
index 0f4c6b101e0..b8b39292e5f 100644
--- a/pkgs/development/python-modules/azure-mgmt-storage/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-storage/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.3.0";
+  version = "4.0.0";
   pname = "azure-mgmt-storage";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1kffay8hr8h3hf78wb1kisvffpwxsxy6lixbgh9dbv0p781sgyh6";
+    sha256 = "1kxd30s2axn3g4qx3v7q3d5l744a29xlfk3q06ra0rqm1p6prvgv";
   };
 
   postInstall = if isPy3k then "" else ''
diff --git a/pkgs/development/python-modules/boltztrap2/default.nix b/pkgs/development/python-modules/boltztrap2/default.nix
index 823b9ab8c6a..a86acbb23ac 100644
--- a/pkgs/development/python-modules/boltztrap2/default.nix
+++ b/pkgs/development/python-modules/boltztrap2/default.nix
@@ -14,16 +14,16 @@
 }:
 
 buildPythonPackage rec {
-  version = "19.1.1";
+  version = "19.7.3";
   pname = "BoltzTraP2";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "81e8a5ef8240c6a2205463fa7bc643b8033125237927f5492dab0b5d1aadb35a";
+    sha256 = "1hambr925ml2v2zcxnmnpi39395gl2928yac4p2kghk9xicymraw";
   };
 
-  buildInputs = [ cython cmake ];
+  nativeBuildInputs = [ cmake cython ];
   checkInputs = [ pytest ];
   propagatedBuildInputs = [ spglib numpy scipy matplotlib ase netcdf4 ];
 
diff --git a/pkgs/development/python-modules/braintree/default.nix b/pkgs/development/python-modules/braintree/default.nix
index 6a5e6f82b7c..5b565555314 100644
--- a/pkgs/development/python-modules/braintree/default.nix
+++ b/pkgs/development/python-modules/braintree/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "braintree";
-  version = "3.55.0";
+  version = "3.56.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0l3i0ayzykrsraqf87z4h39qm3kxyfwrm09n81gnkvsn2126izsd";
+    sha256 = "1d1xv7b4s68yfa3snnvcjldj0q7v1izpyvqkv2c1k0w73hl657b5";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 7459fc6f981..c19fc280c7f 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -3,7 +3,7 @@
   sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, treq,
   txrequests, pyjade, boto3, moto, mock, python-lz4, setuptoolsTrial,
   isort, pylint, flake8, buildbot-worker, buildbot-pkg, parameterized,
-  glibcLocales }:
+  git, glibcLocales }:
 
 let
   withPlugins = plugins: buildPythonPackage {
@@ -25,11 +25,11 @@ let
 
   package = buildPythonPackage rec {
     pname = "buildbot";
-    version = "2.3.1";
+    version = "2.4.0";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0qzr6my8zvaj0a1jwyaf254rdgm1xcyq8zp4b6fa5aqigfld4dfg";
+      sha256 = "141ad2g1j5y0n5cdnd18m55ss0gqjlz5ky85rb6qfn73dgw42vmz";
     };
 
     propagatedBuildInputs = [
@@ -37,7 +37,6 @@ let
       twisted
       jinja2
       zope_interface
-      future
       sqlalchemy
       sqlalchemy_migrate
       dateutil
@@ -65,6 +64,7 @@ let
       buildbot-worker
       buildbot-pkg
       parameterized
+      git
       glibcLocales
     ];
 
@@ -95,7 +95,7 @@ let
     meta = with lib; {
       homepage = http://buildbot.net/;
       description = "Buildbot is an open-source continuous integration framework for automating software build, test, and release processes";
-      maintainers = with maintainers; [ nand0p ryansydnor ];
+      maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
     };
   };
diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
index 8de1572b48c..dababe48e99 100644
--- a/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "buildbot-pkg";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bpqiih15b5kzx1r542m8j7ydbnmgzhdnkaxv0z7gjv21k78m5i5";
+    sha256 = "0na336jwibgbix8fr4jki1gqys44kkm0a8q32llcr2z08igs4mvy";
   };
 
   postPatch = ''
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = http://buildbot.net/;
     description = "Buildbot Packaging Helper";
-    maintainers = with maintainers; [ nand0p ryansydnor ];
+    maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
index e03524ea5ad..e31085a2498 100644
--- a/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -1,23 +1,21 @@
-{ lib, buildPythonPackage, fetchPypi, buildbot, buildbot-pkg }:
+{ lib, buildPythonPackage, fetchPypi, buildbot, buildbot-pkg, mock }:
 
 {
   www = buildPythonPackage rec {
-    pname = "buildbot_www";
+    pname = "buildbot-www";
     inherit (buildbot-pkg) version;
 
-    # NOTE: wheel is used due to buildbot circular dependency
-    format = "wheel";
-
     src = fetchPypi {
-      inherit pname version format;
-      python = "py3";
-      sha256 = "1ii01py78wkda9x4lqm0bxqmb4dhvbdmmz7sncm1lw7bhmhqh84w";
+      inherit pname version;
+      sha256 = "0g3m5z8yska245r1x9n85b4br8b63i4zca2qn3qspf62b1wzmxmd";
     };
 
+    buildInputs = [ buildbot buildbot-pkg mock ];
+
     meta = with lib; {
       homepage = http://buildbot.net/;
       description = "Buildbot UI";
-      maintainers = with maintainers; [ nand0p ryansydnor ];
+      maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
     };
   };
@@ -28,16 +26,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1y523hadw3398jwfpmi2f4g0s6dp9y191qzycrsbvbj147dp0qra";
+      sha256 = "0p7az9mb09c4bl0j37w28wflzygq9vy8rjbbnhlfbs6py6mjdagr";
     };
 
-    propagatedBuildInputs = [ buildbot-pkg ];
+    buildInputs = [ buildbot-pkg ];
     checkInputs = [ buildbot ];
 
     meta = with lib; {
       homepage = http://buildbot.net/;
       description = "Buildbot Console View Plugin";
-      maintainers = with maintainers; [ nand0p ryansydnor ];
+      maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
     };
   };
@@ -48,16 +46,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1prfr03igcmagydvxqhrh6k6wz16vk6fwgrm143jh3xmml6f16ll";
+      sha256 = "0ba0a7q7ii7sipvifxs9ldkcs4b975skndarmirbphc797993hj1";
     };
 
-    propagatedBuildInputs = [ buildbot-pkg ];
+    buildInputs = [ buildbot-pkg ];
     checkInputs = [ buildbot ];
 
     meta = with lib; {
       homepage = http://buildbot.net/;
       description = "Buildbot Waterfall View Plugin";
-      maintainers = with maintainers; [ nand0p ryansydnor ];
+      maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
     };
   };
@@ -68,16 +66,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1xkqiwxjppyns2s0239zzvbnr8b7vdakypj95mca89mmnyniflxj";
+      sha256 = "0dvchhjzmfbbrxqm8dlmwck22z99pgnflxk3cyn0wbb1qskhd9cv";
     };
 
-    propagatedBuildInputs = [ buildbot-pkg ];
+    buildInputs = [ buildbot-pkg ];
     checkInputs = [ buildbot ];
 
     meta = with lib; {
       homepage = http://buildbot.net/;
       description = "Buildbot Grid View Plugin";
-      maintainers = with maintainers; [ nand0p ];
+      maintainers = with maintainers; [ nand0p lopsided98 ];
       license = licenses.gpl2;
     };
   };
@@ -88,16 +86,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1jhvq61x0bzh03nd2ac11swdjn0ndnx3ac7x9v3m3v0pgr08rc28";
+      sha256 = "0w9p3y89rqsmqiacwj2avir42r0xjr2yri14v3ay6yar5391r8wa";
     };
 
-    propagatedBuildInputs = [ buildbot-pkg ];
+    buildInputs = [ buildbot-pkg ];
     checkInputs = [ buildbot ];
 
     meta = with lib; {
       homepage = http://buildbot.net/;
       description = "Buildbot WSGI dashboards Plugin";
-      maintainers = with maintainers; [ ];
+      maintainers = with maintainers; [ lopsided98 ];
       license = licenses.gpl2;
     };
   };
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index 0ca2570496a..8cfc56678c0 100644
--- a/pkgs/development/python-modules/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage (rec {
   pname = "buildbot-worker";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lvgqcayd4f32895g3cwrbnjw6p94nrggbq7wfz5mwbhpgg6hv52";
+    sha256 = "04dk1jg0yq0rcm7j7pn7l1pqqjhiyvwppnhc1b7106sx2cdj2yb2";
   };
 
   propagatedBuildInputs = [ twisted future ];
@@ -22,7 +22,7 @@ buildPythonPackage (rec {
   meta = with lib; {
     homepage = http://buildbot.net/;
     description = "Buildbot Worker Daemon";
-    maintainers = with maintainers; [ nand0p ryansydnor ];
+    maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
     license = licenses.gpl2;
   };
 })
diff --git a/pkgs/development/python-modules/carbon/default.nix b/pkgs/development/python-modules/carbon/default.nix
index 755f9211746..3b49289c2e4 100644
--- a/pkgs/development/python-modules/carbon/default.nix
+++ b/pkgs/development/python-modules/carbon/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     homepage = http://graphite.wikidot.com/;
     description = "Backend data caching and persistence daemon for Graphite";
-    maintainers = with maintainers; [ rickynils offline basvandijk ];
+    maintainers = with maintainers; [ offline basvandijk ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/python-modules/cheroot/default.nix b/pkgs/development/python-modules/cheroot/default.nix
index 96602c624a4..8c55c3ac8bb 100644
--- a/pkgs/development/python-modules/cheroot/default.nix
+++ b/pkgs/development/python-modules/cheroot/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchPypi, buildPythonPackage
+{ stdenv, fetchPypi, buildPythonPackage, pythonAtLeast
 , more-itertools, six, setuptools_scm, setuptools-scm-git-archive
 , pytest, pytestcov, portend, pytest-testmon, pytest-mock
 , backports_unittest-mock, pyopenssl, requests, trustme, requests-unixsocket
 , backports_functools_lru_cache }:
 
+let inherit (stdenv) lib; in
+
 buildPythonPackage rec {
   pname = "cheroot";
-  version = "6.5.5";
+  version = "6.5.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f6a85e005adb5bc5f3a92b998ff0e48795d4d98a0fbb7edde47a7513d4100601";
+    sha256 = "b824f9961eb447809badeb051820a05770354e2f9ae5c355eecc21f22633c217";
   };
 
+  patches = [ ./tests.patch ];
+
   nativeBuildInputs = [ setuptools_scm setuptools-scm-git-archive ];
 
   propagatedBuildInputs = [ more-itertools six backports_functools_lru_cache ];
@@ -20,14 +24,17 @@ buildPythonPackage rec {
   checkInputs = [ pytest pytestcov portend backports_unittest-mock pytest-mock pytest-testmon pyopenssl requests trustme requests-unixsocket ];
 
   # Disable doctest plugin because times out
+  # Disable xdist (-n arg) because it's incompatible with testmon
   # Deselect test_bind_addr_unix on darwin because times out
   # Deselect test_http_over_https_error on darwin because builtin cert fails
+  # Disable warnings-as-errors because of deprecation warnings from socks on python 3.7
   checkPhase = ''
-    substituteInPlace pytest.ini --replace "--doctest-modules" ""
-    pytest ${stdenv.lib.optionalString stdenv.isDarwin "--deselect=cheroot/test/test_ssl.py::test_http_over_https_error --deselect=cheroot/test/test_server.py::test_bind_addr_unix"}
+    substituteInPlace pytest.ini --replace "--doctest-modules" "" --replace "-n auto" ""
+    ${lib.optionalString (pythonAtLeast "3.7") "sed -i '/warnings/,+2d' pytest.ini"}
+    pytest ${lib.optionalString stdenv.isDarwin "--deselect=cheroot/test/test_ssl.py::test_http_over_https_error --deselect=cheroot/test/test_server.py::test_bind_addr_unix"}
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "High-performance, pure-Python HTTP";
     homepage = https://github.com/cherrypy/cheroot;
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/cheroot/tests.patch b/pkgs/development/python-modules/cheroot/tests.patch
new file mode 100644
index 00000000000..3de48a5a468
--- /dev/null
+++ b/pkgs/development/python-modules/cheroot/tests.patch
@@ -0,0 +1,45 @@
+diff --git a/cheroot/test/test_ssl.py b/cheroot/test/test_ssl.py
+index fe8a0a0..92a77c1 100644
+--- a/cheroot/test/test_ssl.py
++++ b/cheroot/test/test_ssl.py
+@@ -316,11 +316,9 @@ def test_tls_client_auth(
+         expected_ssl_errors = (
+             requests.exceptions.SSLError,
+             OpenSSL.SSL.Error,
+-        ) if PY34 else (
+-            requests.exceptions.SSLError,
++            requests.exceptions.ConnectionError,
+         )
+-        if IS_WINDOWS:
+-            expected_ssl_errors += requests.exceptions.ConnectionError,
++
+         with pytest.raises(expected_ssl_errors) as ssl_err:
+             make_https_request()
+ 
+@@ -335,7 +333,7 @@ def test_tls_client_auth(
+         except AttributeError:
+             if PY34:
+                 pytest.xfail('OpenSSL behaves wierdly under Python 3.4')
+-            elif six.PY3 and IS_WINDOWS:
++            elif six.PY3:
+                 err_text = str(ssl_err.value)
+             else:
+                 raise
+@@ -348,8 +346,7 @@ def test_tls_client_auth(
+             if IS_MACOS and IS_PYPY and adapter_type == 'pyopenssl':
+                 expected_substrings = ('tlsv1 alert unknown ca', )
+             if (
+-                    IS_WINDOWS
+-                    and tls_verify_mode in (
++                    tls_verify_mode in (
+                         ssl.CERT_REQUIRED,
+                         ssl.CERT_OPTIONAL,
+                     )
+@@ -361,6 +358,7 @@ def test_tls_client_auth(
+                     "SysCallError(10054, 'WSAECONNRESET')",
+                     "('Connection aborted.', "
+                     'OSError("(10054, \'WSAECONNRESET\')"))',
++                    'OSError("(104, \'ECONNRESET\')"))',
+                 )
+         assert any(e in err_text for e in expected_substrings)
+ 
diff --git a/pkgs/development/python-modules/cliapp/default.nix b/pkgs/development/python-modules/cliapp/default.nix
index a7ae70a4379..3aece4020e6 100644
--- a/pkgs/development/python-modules/cliapp/default.nix
+++ b/pkgs/development/python-modules/cliapp/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     homepage = http://liw.fi/cliapp/;
     description = "Python framework for Unix command line programs";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ rickynils ];
+    maintainers = [];
   };
 
 }
diff --git a/pkgs/development/python-modules/cmd2/default.nix b/pkgs/development/python-modules/cmd2/default.nix
index a71d048b47b..7d78abd075d 100644
--- a/pkgs/development/python-modules/cmd2/default.nix
+++ b/pkgs/development/python-modules/cmd2/default.nix
@@ -6,11 +6,11 @@
 }:
 buildPythonPackage rec {
   pname = "cmd2";
-  version = "0.9.15";
+  version = "0.9.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0k3y3czpabw173vhqg523l2r804jj08986wlz6vyh224zr0ngggw";
+    sha256 = "0ggvh38mc1kkrlqdicjz5a16j5v6f6z0nwmcvv8i3y5gaffkfy2b";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/pkgs/development/python-modules/crc16/default.nix b/pkgs/development/python-modules/crc16/default.nix
new file mode 100644
index 00000000000..01f5bb8a7e5
--- /dev/null
+++ b/pkgs/development/python-modules/crc16/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "crc16";
+  version = "0.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15nkx0pa4lskwin84flpk8fsw3jqg6wic6v3s83syjqg76h6my61";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://code.google.com/archive/p/pycrc16/";
+    description = "Python library for calculating CRC16";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix
index aaaad292df0..d0f3a7dc762 100644
--- a/pkgs/development/python-modules/cupy/default.nix
+++ b/pkgs/development/python-modules/cupy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "cupy";
-  version = "6.0.0";
+  version = "6.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "168xi92pfk80n2k47qc5zim7jai3kcmj3j157fynz9c8dfw4sbn4";
+    sha256 = "0d6liaavgqks772rqam53qha3yk6dfw24i0pj3izxvvawzhlp10z";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/cx_oracle/default.nix b/pkgs/development/python-modules/cx_oracle/default.nix
index 5708bf12d6b..77814ec1191 100644
--- a/pkgs/development/python-modules/cx_oracle/default.nix
+++ b/pkgs/development/python-modules/cx_oracle/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "cx_Oracle";
-  version = "7.1.3";
+  version = "7.2.2";
 
   buildInputs = [ odpic ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4f26b7418e2796112f8b36338a2f9a7c07dd08df53d857e3478bb53f61dd52e4";
+    sha256 = "1kp6fgyln0jkdbjm20h6rhybsmvqjj847frhsndyfvkf38m32ss0";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/python-modules/deprecation/default.nix b/pkgs/development/python-modules/deprecation/default.nix
index 600fe888751..e01433d90c5 100644
--- a/pkgs/development/python-modules/deprecation/default.nix
+++ b/pkgs/development/python-modules/deprecation/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "deprecation";
-  version = "2.0.6";
+  version = "2.0.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "68071e5ae7cd7e9da6c7dffd750922be4825c7c3a6780d29314076009cc39c35";
+    sha256 = "1vcjy6flqbzgjh4zhcs0sl83b946wxrlsx5miliz0ik1d9kjyff0";
   };
 
   propagatedBuildInputs = [ packaging ];
diff --git a/pkgs/development/python-modules/distributed/default.nix b/pkgs/development/python-modules/distributed/default.nix
index da082643e0f..4a892ddb705 100644
--- a/pkgs/development/python-modules/distributed/default.nix
+++ b/pkgs/development/python-modules/distributed/default.nix
@@ -28,12 +28,12 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "1.28.1";
+  version = "2.3.0";
 
   # get full repository need conftest.py to run tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12n487qn66jkgq4nd3vgyc9hfqw4i7zwr4dyybsqm4xmgs5kzn1v";
+    sha256 = "15lb6fz3739nkyxi1igzm5p2lk40digkc9fkzjqx1jpymfac9dwl";
   };
 
   checkInputs = [ pytest pytest-repeat pytest-faulthandler pytest-timeout mock joblib ];
diff --git a/pkgs/development/python-modules/django-webpack-loader/default.nix b/pkgs/development/python-modules/django-webpack-loader/default.nix
index 71ec20faed8..af3404b2f88 100644
--- a/pkgs/development/python-modules/django-webpack-loader/default.nix
+++ b/pkgs/development/python-modules/django-webpack-loader/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "django-webpack-loader";
-  version = "0.2.4";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bwpgmkh32d7a5dgppin9m0mnh8a33ccl5ksnpw5vjp4lal3xq73";
+    sha256 = "087mspmx74qbcknpbksl66rsyin0dc5aglhjmmpk999pl2wvdfk0";
   };
 
   # django.core.exceptions.ImproperlyConfigured (path issue with DJANGO_SETTINGS_MODULE?)
diff --git a/pkgs/development/python-modules/dominate/default.nix b/pkgs/development/python-modules/dominate/default.nix
index 94c67afe164..7288dee7763 100644
--- a/pkgs/development/python-modules/dominate/default.nix
+++ b/pkgs/development/python-modules/dominate/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "dominate";
-  version = "2.3.5";
+  version = "2.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lda2a4nxxh9wp727vhn31rl5v7y9fxkscdjawg7gzj50xf76xj0";
+    sha256 = "1775cz6lipb43hmjll77m2pxh72pikng74lpg30v9n1b66s78959";
   };
 
   doCheck = !isPy3k;
diff --git a/pkgs/development/python-modules/foxdot/default.nix b/pkgs/development/python-modules/foxdot/default.nix
new file mode 100644
index 00000000000..ed4f950e363
--- /dev/null
+++ b/pkgs/development/python-modules/foxdot/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, tkinter, supercollider }:
+
+buildPythonPackage rec {
+  pname = "FoxDot";
+  version = "0.8.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "147n2c9rwmrby8rr6xfxlh7mfm12lqk2a7v1gxlzhq1i2jj1j5h4";
+  };
+
+  propagatedBuildInputs = [ tkinter supercollider ];
+
+  # Requires a running SuperCollider instance
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Live coding music with SuperCollider";
+    homepage = https://foxdot.org/;
+    license = licenses.cc-by-sa-40;
+    maintainers = with maintainers; [ mrmebelman ];
+  };
+}
diff --git a/pkgs/development/python-modules/ftfy/default.nix b/pkgs/development/python-modules/ftfy/default.nix
index f6fa41e33f8..d7a9fd2a0b0 100644
--- a/pkgs/development/python-modules/ftfy/default.nix
+++ b/pkgs/development/python-modules/ftfy/default.nix
@@ -10,7 +10,7 @@
 buildPythonPackage rec {
   pname = "ftfy";
 
-  version = "5.5.1";
+  version = "5.6";
   # ftfy v5 only supports python3. Since at the moment the only
   # packages that use ftfy are spacy and textacy which both support
   # python 2 and 3, they have pinned ftfy to the v4 branch.
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ci6xrj4g01a97nymxpv9nj820nlmgzc4ybaz9k46i6bnxzpax7s";
+    sha256 = "1k4vr5rfa62yafwpmb4827n50pwb79if0vhg1y4yqbb0bv20jxbd";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/funcy/default.nix b/pkgs/development/python-modules/funcy/default.nix
index fd36c7590b5..0220fd1aeb9 100644
--- a/pkgs/development/python-modules/funcy/default.nix
+++ b/pkgs/development/python-modules/funcy/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "funcy";
-  version = "1.12";
+  version = "1.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0vdbh0ykmjsvq4vb3hrx5327q9ccl1jhbjca59lsr0v0ghwb0grz";
+    sha256 = "1hxii7g4fn301vr8wg53jc1jkvbjlbaz1fbpgpn4362xcwzk73wi";
   };
 
   # No tests
diff --git a/pkgs/development/python-modules/geojson/default.nix b/pkgs/development/python-modules/geojson/default.nix
index 91b8d455cde..a41cdada4be 100644
--- a/pkgs/development/python-modules/geojson/default.nix
+++ b/pkgs/development/python-modules/geojson/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "geojson";
-  version = "2.4.1";
+  version = "2.5.0";
 
   format = "wheel";
 
   src = fetchPypi {
     inherit pname version format;
-    sha256 = "12k4g993qqgrhq2mgy5k8rhm5a2s2hbn769rs5fwbc5lwv4bbgxj";
+    sha256 = "1filqm050ixy53kdv81bd4n80vjvfapnmzizy7jg8a6pilv17gfc";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/graphite-web/default.nix b/pkgs/development/python-modules/graphite-web/default.nix
index f49ebc3fb5d..ecdb76173fa 100644
--- a/pkgs/development/python-modules/graphite-web/default.nix
+++ b/pkgs/development/python-modules/graphite-web/default.nix
@@ -48,7 +48,7 @@ else buildPythonPackage rec {
   meta = with stdenv.lib; {
     homepage = http://graphite.wikidot.com/;
     description = "Enterprise scalable realtime graphing";
-    maintainers = with maintainers; [ rickynils offline basvandijk ];
+    maintainers = with maintainers; [ offline basvandijk ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix
index 9355db763dc..cb6e47a6002 100644
--- a/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "grpcio-tools";
-  version = "1.22.0";
+  version = "1.23.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b5c0fe51a155625c9d1132ab8deb56b3015e111a6961e48aeb9dd89bd7c670ab";
+    sha256 = "cbc35031ec2b29af36947d085a7fbbcd8b79b84d563adf6156103d82565f78db";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/python-modules/grpcio/default.nix b/pkgs/development/python-modules/grpcio/default.nix
index 5c85dd34357..65e9e3fb599 100644
--- a/pkgs/development/python-modules/grpcio/default.nix
+++ b/pkgs/development/python-modules/grpcio/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "grpcio";
-  version = "1.22.0";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "093w8mgvl8ylqlqnfz06ijkmlnkxcjszf9zg6k5ybjw7dwal0jhz";
+    sha256 = "18hf794frncqvq3n4j5n8kip0gp6ch4pf5b3n6809q0c1paf6rp5";
   };
 
   nativeBuildInputs = [ cython pkgconfig ]
diff --git a/pkgs/development/python-modules/gssapi/default.nix b/pkgs/development/python-modules/gssapi/default.nix
index c64013624a4..00c9b86c5eb 100644
--- a/pkgs/development/python-modules/gssapi/default.nix
+++ b/pkgs/development/python-modules/gssapi/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "gssapi";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "pythongssapi";
     repo = "python-${pname}";
     rev = "v${version}";
-    sha256 = "1chmxhjbs39paaxlfsdrr13v4zvv94ijvhxasdphxlxkqlycbm4a";
+    sha256 = "0n13vb3v50vr04vrnql2w00gri0gcf08i0pr0q2p4w8scbsw7kjk";
   };
 
   # It's used to locate headers
diff --git a/pkgs/development/python-modules/invoke/default.nix b/pkgs/development/python-modules/invoke/default.nix
index d2839d32b0a..a07dd9e727c 100644
--- a/pkgs/development/python-modules/invoke/default.nix
+++ b/pkgs/development/python-modules/invoke/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "invoke";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dr1a5qbb9z5hyns4zk086zm0iqbms33zv0s1296wx502y7jyjfw";
+    sha256 = "1nn7gad0rvy492acpyhkrp01zsk86acf34qhsvq4xmm6x39788n5";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/jenkins-job-builder/default.nix b/pkgs/development/python-modules/jenkins-job-builder/default.nix
index 714a5ce1014..e6c4086c386 100644
--- a/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/pkgs/development/python-modules/jenkins-job-builder/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "jenkins-job-builder";
-  version = "2.10.1";
+  version = "3.0.1";
   disabled = !isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0iynzxrjmdkrriw4pcf8as8afckvmq4jk457lxg52wh29l39wb30";
+    sha256 = "16x97pdr90x3xsc1xl66l7q77pgja5dzsk921by2h09k7dvxaqmh";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/jupyter_core/default.nix b/pkgs/development/python-modules/jupyter_core/default.nix
index f682e11bfed..112e680ea9a 100644
--- a/pkgs/development/python-modules/jupyter_core/default.nix
+++ b/pkgs/development/python-modules/jupyter_core/default.nix
@@ -30,6 +30,6 @@ buildPythonPackage rec {
     description = "Jupyter core package. A base package on which Jupyter projects rely";
     homepage = https://jupyter.org/;
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fridh globin ];
+    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/larch/default.nix b/pkgs/development/python-modules/larch/default.nix
index 74703ff5c9d..9942168607e 100644
--- a/pkgs/development/python-modules/larch/default.nix
+++ b/pkgs/development/python-modules/larch/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     homepage = http://liw.fi/larch/;
     description = "Python B-tree library";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ rickynils ];
+    maintainers = [];
   };
 
 }
diff --git a/pkgs/development/python-modules/lark-parser/default.nix b/pkgs/development/python-modules/lark-parser/default.nix
index 527c99a1589..590ca988023 100644
--- a/pkgs/development/python-modules/lark-parser/default.nix
+++ b/pkgs/development/python-modules/lark-parser/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "lark-parser";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "lark-parser";
     repo = "lark";
     rev = version;
-    sha256 = "05na4izlq34bmij8awmfn58liinmsh8qzh6948knk5ms5nsh50cp";
+    sha256 = "1d8dbn8wwqqvvjyhai813sqkx6366d8jkjq0gkyh51692pflmwrp";
   };
 
   # tests of Nearley support require js2py
diff --git a/pkgs/development/python-modules/libcloud/default.nix b/pkgs/development/python-modules/libcloud/default.nix
index e6a493f7b64..3853d796fcd 100644
--- a/pkgs/development/python-modules/libcloud/default.nix
+++ b/pkgs/development/python-modules/libcloud/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "apache-libcloud";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0daj3mkzw79v5zin2r1s2wkrz1hplfc16bwj4ss68i5qjq4l2p0j";
+    sha256 = "1dj8jh5ccjv7qbydf49cw17py7z3jjkaxk4jj2gx6mq2f4w304wg";
   };
 
   checkInputs = [ mock pytest pytestrunner requests-mock ];
diff --git a/pkgs/development/python-modules/libkeepass/default.nix b/pkgs/development/python-modules/libkeepass/default.nix
index b707b343056..09177f16bc6 100644
--- a/pkgs/development/python-modules/libkeepass/default.nix
+++ b/pkgs/development/python-modules/libkeepass/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "libkeepass";
-  version = "0.3.0";
+  version = "0.3.1.post1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3ed79ea786f7020b14b83c082612ed8fbcc6f8edf65e1697705837ab9e40e9d7";
+    sha256 = "0pwg7n9xqcjia1qmz6g48h5s31slh3mxmcqag73gq4zhl4xb6bai";
   };
 
   propagatedBuildInputs = [ lxml pycryptodome colorama ];
diff --git a/pkgs/development/python-modules/lmdb/default.nix b/pkgs/development/python-modules/lmdb/default.nix
index 8926a7383a7..4f090d73e60 100644
--- a/pkgs/development/python-modules/lmdb/default.nix
+++ b/pkgs/development/python-modules/lmdb/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "lmdb";
-  version = "0.96";
+  version = "0.97";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wpahad7wac34r1hxa1jhk0bsll39n7667cljyr5251kj12ksfgr";
+    sha256 = "0jw3n14x6qg5wps2w4qkqf4pyan949h1s2nbkrz2qh7xwnnp2g8p";
   };
 
   checkInputs = [ pytest cffi ];
diff --git a/pkgs/development/python-modules/mixpanel/default.nix b/pkgs/development/python-modules/mixpanel/default.nix
index 6a99913c6c8..e770eedbfc3 100644
--- a/pkgs/development/python-modules/mixpanel/default.nix
+++ b/pkgs/development/python-modules/mixpanel/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     sha256 = "0yq1bcsjzsz7yz4rp69izsdn47rvkld4wki2xmapp8gg2s9i8709";
   };
 
-  buildInputs = [ pytest mock ];
+  checkInputs = [ pytest mock ];
   propagatedBuildInputs = [ six ];
   checkPhase = "py.test tests.py";
 
diff --git a/pkgs/development/python-modules/moretools/default.nix b/pkgs/development/python-modules/moretools/default.nix
index bdfb9e2efca..6f11b01481b 100644
--- a/pkgs/development/python-modules/moretools/default.nix
+++ b/pkgs/development/python-modules/moretools/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "moretools";
-  version = "0.1.9";
+  version = "0.1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f531cc79b7cd0c4aab590d5d4d0291f7cf6f083398be1dd523224b3385b732f4";
+    sha256 = "1rvd9kl0163gm5kqwsb2m44x87sp72k5pirvcmhy2ffix4pzadqp";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/mox3/default.nix b/pkgs/development/python-modules/mox3/default.nix
index be6a4c7c8a5..8885401ae5f 100644
--- a/pkgs/development/python-modules/mox3/default.nix
+++ b/pkgs/development/python-modules/mox3/default.nix
@@ -20,16 +20,12 @@ buildPythonPackage rec {
     sha256 = "b13c0b8459d6fb0688f9a4e70feeec43fa2cca05b727fc01156789596e083bb1";
   };
 
-  patchPhase = ''
-    sed -i 's@python@${python.interpreter}@' .testr.conf
-  '';
-
   buildInputs = [ subunit testrepository testtools six ];
   propagatedBuildInputs = [ pbr fixtures ];
 
-  #  FAIL: mox3.tests.test_mox.RegexTest.testReprWithFlags
-  #  ValueError: cannot use LOCALE flag with a str pattern
-  doCheck = !isPy36;
+  # Disabling as several tests depdencies are missing:
+  # https://opendev.org/openstack/mox3/src/branch/master/test-requirements.txt
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Mock object framework for Python";
diff --git a/pkgs/development/python-modules/mps-youtube/default.nix b/pkgs/development/python-modules/mps-youtube/default.nix
index 4610b052ff8..39ad7c47215 100644
--- a/pkgs/development/python-modules/mps-youtube/default.nix
+++ b/pkgs/development/python-modules/mps-youtube/default.nix
@@ -1,20 +1,17 @@
-{ stdenv
-, buildPythonPackage
-, fetchFromGitHub
-, isPy3k
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
 , pafy
 }:
 
 buildPythonPackage rec {
   pname = "mps-youtube";
-  version = "0.2.7.1";
+  version = "0.2.8";
   disabled = (!isPy3k);
 
   src = fetchFromGitHub {
     owner = "mps-youtube";
     repo = "mps-youtube";
     rev = "v${version}";
-    sha256 = "16zn5gwb3568w95lr21b88zkqlay61p1541sa9c3x69zpi8v0pys";
+    sha256 = "1w1jhw9rg3dx7vp97cwrk5fymipkcy2wrbl1jaa38ivcjhqg596y";
   };
 
   propagatedBuildInputs = [ pafy ];
@@ -29,11 +26,10 @@ buildPythonPackage rec {
     export XDG_CONFIG_HOME=$(pwd)/check-phase
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Terminal based YouTube player and downloader";
     homepage = https://github.com/np1/mps-youtube;
     license = licenses.gpl3;
     maintainers = with maintainers; [ odi ];
   };
-
 }
diff --git a/pkgs/development/python-modules/mpv/default.nix b/pkgs/development/python-modules/mpv/default.nix
index cd9ca9451b8..f5ae020c71c 100644
--- a/pkgs/development/python-modules/mpv/default.nix
+++ b/pkgs/development/python-modules/mpv/default.nix
@@ -1,25 +1,33 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, pkgs
+{ stdenv, buildPythonPackage, fetchFromGitHub, python, isPy27
+, mpv
 }:
 
 buildPythonPackage rec {
   pname = "mpv";
-  version = "0.1";
+  version = "0.3.9";
+  disabled = isPy27;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0b9kd70mshdr713f3l1lbnz1q0vlg2y76h5d8liy1bzqm7hjcgfw";
+  src = fetchFromGitHub {
+    owner = "jaseg";
+    repo = "python-mpv";
+    rev = "v${version}";
+    sha256 = "112kr9wppcyy3shsb7v7kq0s1pdw6vw3v2fvqicm7qb2f49y2p4q";
   };
 
-  buildInputs = [ pkgs.mpv ];
-  patchPhase = "substituteInPlace mpv.py --replace libmpv.so ${pkgs.mpv}/lib/libmpv.so";
+  buildInputs = [ mpv ];
+
+  postPatch = ''
+    substituteInPlace mpv.py \
+      --replace "sofile = ctypes.util.find_library('mpv')" \
+                'sofile = "${mpv}/lib/libmpv${stdenv.targetPlatform.extensions.sharedLibrary}"'
+  '';
+
+  # tests impure, will error if it can't load libmpv.so
+  checkPhase = "${python.interpreter} -c 'import mpv'";
 
   meta = with stdenv.lib; {
     description = "A python interface to the mpv media player";
     homepage = "https://github.com/jaseg/python-mpv";
     license = licenses.agpl3;
   };
-
 }
diff --git a/pkgs/development/python-modules/mysqlclient/default.nix b/pkgs/development/python-modules/mysqlclient/default.nix
index c43c45df600..488f6f9a7bb 100644
--- a/pkgs/development/python-modules/mysqlclient/default.nix
+++ b/pkgs/development/python-modules/mysqlclient/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "mysqlclient";
-  version = "1.4.2.post1";
+  version = "1.4.4";
 
   nativeBuildInputs = [
     mysql.connector-c
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f257d250f2675d0ef99bd318906f3cfc05cef4a2f385ea695ff32a3f04b9f9a7";
+    sha256 = "1379hab7spjp9v5fypqgy0b8vr8vnalxahm9hcsxvj2xbb2pqwww";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/nameparser/default.nix b/pkgs/development/python-modules/nameparser/default.nix
index 91e6e5f0fd6..e8d2c209eb5 100644
--- a/pkgs/development/python-modules/nameparser/default.nix
+++ b/pkgs/development/python-modules/nameparser/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "nameparser";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c01ec7d0bc093420a45d8b5ea8261a84ba12bff0cabf47cb15b716c5ea8f3d23";
+    sha256 = "1kc2phcz22r7vim3hmq0vrp2zqxl6v49hq40jmp4p81pdvgh5c6b";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index 11552a7c342..69828b2b18f 100644
--- a/pkgs/development/python-modules/nbconvert/default.nix
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -48,6 +48,6 @@ buildPythonPackage rec {
     description = "Converting Jupyter Notebooks";
     homepage = https://jupyter.org/;
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh globin ];
+    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/nbmerge/default.nix b/pkgs/development/python-modules/nbmerge/default.nix
index c0485eef4d3..79900197133 100644
--- a/pkgs/development/python-modules/nbmerge/default.nix
+++ b/pkgs/development/python-modules/nbmerge/default.nix
@@ -29,6 +29,6 @@ buildPythonPackage rec {
     description = "A tool to merge/concatenate Jupyter (IPython) notebooks";
     inherit (src.meta) homepage;
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ globin ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/nltk/default.nix b/pkgs/development/python-modules/nltk/default.nix
index 6e9b5ce61cd..ef6d51cb19a 100644
--- a/pkgs/development/python-modules/nltk/default.nix
+++ b/pkgs/development/python-modules/nltk/default.nix
@@ -1,13 +1,13 @@
 { fetchPypi, buildPythonPackage, lib, six, singledispatch, isPy3k }:
 
 buildPythonPackage rec {
-  version = "3.4.4";
+  version = "3.4.5";
   pname = "nltk";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1dbwwhsbsp31bvvksq7kyrfs6s27lp8wgwqs4qf6hajkz2jj0k3n";
+    sha256 = "153x2clrnigs74jdgnn3qmljdjj4gprmvpdvh49i18ls4m8mbm5y";
   };
 
   propagatedBuildInputs = [ six ] ++ lib.optional (!isPy3k) singledispatch;
diff --git a/pkgs/development/python-modules/node-semver/default.nix b/pkgs/development/python-modules/node-semver/default.nix
index 34a81a66ec9..1c38918c147 100644
--- a/pkgs/development/python-modules/node-semver/default.nix
+++ b/pkgs/development/python-modules/node-semver/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchPypi, buildPythonPackage, pytest }:
 
 buildPythonPackage rec {
-  version = "0.6.1";
+  version = "0.7.0";
   pname = "node-semver";
 
   checkInputs = [ pytest ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dv6mjsm67l1razcgmq66riqmsb36wns17mnipqr610v0z0zf5j0";
+    sha256 = "1p7ink1wajkc31r05k1yn37gk377033a9vhin8v4j757d4ha1f91";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index 556fcfb31f5..431d4bb4d56 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -68,6 +68,6 @@ buildPythonPackage rec {
     description = "The Jupyter HTML notebook is a web-based notebook environment for interactive computing";
     homepage = https://jupyter.org/;
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh globin ];
+    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/openapi-spec-validator/default.nix b/pkgs/development/python-modules/openapi-spec-validator/default.nix
index d0ce48774c3..02664326685 100644
--- a/pkgs/development/python-modules/openapi-spec-validator/default.nix
+++ b/pkgs/development/python-modules/openapi-spec-validator/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "openapi-spec-validator";
-  version = "0.2.7";
+  version = "0.2.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1sz9ls6a7h056nc5q76w4xl43sr1h9in2f23qwkxazcazr3zpi3p";
+    sha256 = "1kav0jlgdpgwx4am09ja7cr8s1g8h8a7j8mcfy1cfjr8fficg2g4";
   };
 
   propagatedBuildInputs = [ jsonschema pyyaml six ]
diff --git a/pkgs/development/python-modules/parsel/default.nix b/pkgs/development/python-modules/parsel/default.nix
index 82d9107bfdd..daaf845cdf0 100644
--- a/pkgs/development/python-modules/parsel/default.nix
+++ b/pkgs/development/python-modules/parsel/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "parsel";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9ccd82b8a122345601f6f9209e972c0e8c3518a188fcff2d37cb4d7bc570b4b8";
+    sha256 = "08v76s6s4li7asnyz8a7gbp9vz522rv5apranyv76mb0lhmjd92d";
   };
 
   checkInputs = [ pytest pytestrunner ];
diff --git a/pkgs/development/python-modules/pdfkit/default.nix b/pkgs/development/python-modules/pdfkit/default.nix
index c797c57c40f..0d6edcbd3f4 100644
--- a/pkgs/development/python-modules/pdfkit/default.nix
+++ b/pkgs/development/python-modules/pdfkit/default.nix
@@ -5,12 +5,11 @@
 
 buildPythonPackage rec {
   pname = "pdfkit";
-  version = "0.5.0";
+  version = "0.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    sha256 = "1p1m6gp51ql3wzjs2iwds8sc3hg1i48yysii9inrky6qc3s6q5vf";
+    sha256 = "1lcc1njpjd2zadbljqsnkrvamschl6j099p4giz1jd6mg1ds67gg";
   };
 
   # tests are not distributed
diff --git a/pkgs/development/python-modules/peewee/default.nix b/pkgs/development/python-modules/peewee/default.nix
index bfc9f5a1f7c..afb805c0b7e 100644
--- a/pkgs/development/python-modules/peewee/default.nix
+++ b/pkgs/development/python-modules/peewee/default.nix
@@ -10,14 +10,14 @@
 buildPythonPackage rec {
 
   pname = "peewee";
-  version = "3.9.6";
+  version = "3.10.0";
 
   # pypi release does not provide tests
   src = fetchFromGitHub {
     owner = "coleifer";
     repo = pname;
     rev = version;
-    sha256 = "1pgmsd7v73d0gqxsa4wnm9s3lyffw46wvvkqn25xgh4v8z869fg2";
+    sha256 = "166h7vy3j0v4h2jnyiwpmpqgmn95381a5ra40ghghy0fqd9v49g8";
   };
 
 
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index b86706bef08..b9c4a62f0de 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.10.15";
+  version = "8.10.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "617b9127dc6fd29765ca122915d3b603131446a76a587deed0b92c8db53963fe";
+    sha256 = "1cfkyz991nbqsak3mdwybaxvzqbdcqivxnl84n8p4dyi5lk45v4b";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index 555f64bd42d..5cd6c106826 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "4.0.0";
+  version = "4.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0iw0j2jwlbzknpbdpaqrjjlbycbwqhavp1crblvihf03knn7nkxz";
+    sha256 = "166rscpr9xbs3pwd61mivhlm1gv3chkgpk2cy0fpb86axa7z4cwk";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/potr/default.nix b/pkgs/development/python-modules/potr/default.nix
index ba5ede1ad77..adcb7110467 100644
--- a/pkgs/development/python-modules/potr/default.nix
+++ b/pkgs/development/python-modules/potr/default.nix
@@ -15,6 +15,6 @@ buildPythonPackage rec {
     description = "A pure Python OTR implementation";
     homepage = "http://python-otr.pentabarf.de/";
     license = licenses.lgpl3Plus;
-    maintainers = with maintainers; [ globin ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pycangjie/default.nix b/pkgs/development/python-modules/pycangjie/default.nix
index 80b17034aa0..163477a2725 100644
--- a/pkgs/development/python-modules/pycangjie/default.nix
+++ b/pkgs/development/python-modules/pycangjie/default.nix
@@ -14,10 +14,8 @@ in buildPythonPackage rec {
     sha256 = "12yi09nyffmn4va7lzk4irw349qzlbxgsnb89dh15cnw0xmrin05";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    autoconf automake libtool libcangjie sqlite cython
-  ];
+  nativeBuildInputs = [ pkgconfig libtool autoconf automake cython ];
+  buildInputs = [ libcangjie sqlite ];
 
   preConfigure = ''
     find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';'
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index ef5996f32c7..ead5a24bbdb 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "PyChromecast";
-  version = "3.2.2";
+  version = "3.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17l7nlnpqjgnrw4hzs52lbzmdxa1vm3v51mm33l4c43c1md5m2ns";
+    sha256 = "1fhh3djb6chs23j46hwzm1rd6hypkl517vjmmg44rxnslkcl7dhb";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/pycurl/default.nix b/pkgs/development/python-modules/pycurl/default.nix
index 93ea1e6734b..066e849f0aa 100644
--- a/pkgs/development/python-modules/pycurl/default.nix
+++ b/pkgs/development/python-modules/pycurl/default.nix
@@ -38,7 +38,10 @@ buildPythonPackage rec {
   checkPhase = ''
     pytest tests -k "not test_ssl_in_static_libs \
                      and not test_keyfunction \
-                     and not test_keyfunction_bogus_return"
+                     and not test_keyfunction_bogus_return \
+                     and not test_libcurl_ssl_gnutls \
+                     and not test_libcurl_ssl_nss \
+                     and not test_libcurl_ssl_openssl"
   '';
 
   preConfigure = ''
diff --git a/pkgs/development/python-modules/pydot_ng/default.nix b/pkgs/development/python-modules/pydot_ng/default.nix
index ba754e9959b..d48ddaccd58 100644
--- a/pkgs/development/python-modules/pydot_ng/default.nix
+++ b/pkgs/development/python-modules/pydot_ng/default.nix
@@ -1,10 +1,9 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, graphviz
+, mock
 , pyparsing
 , pytest
 , unittest2
-, pkgs
 }:
 
 buildPythonPackage rec {
@@ -16,19 +15,22 @@ buildPythonPackage rec {
     sha256 = "8c8073b97aa7030c28118961e2c6c92f046e4cb57aeba7df87146f7baa6530c5";
   };
 
-  buildInputs = [ pytest unittest2 ];
-  propagatedBuildInputs = [ pkgs.graphviz pyparsing ];
+  propagatedBuildInputs = [ graphviz pyparsing ];
+
+  checkInputs = [
+    graphviz
+    mock
+    pytest
+  ] ++ lib.optionals isPy27 [ unittest2];
 
   checkPhase = ''
-    mkdir test/my_tests
-    py.test test
+    pytest
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "https://pypi.python.org/pypi/pydot-ng";
     description = "Python 3-compatible update of pydot, a Python interface to Graphviz's Dot";
     license = licenses.mit;
-    maintainers = [ maintainers.bcdarwin ];
+    maintainers = with maintainers; [ bcdarwin jonringer ];
   };
-
 }
diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix
index aae37e0282f..e303f3415d7 100644
--- a/pkgs/development/python-modules/pyglet/default.nix
+++ b/pkgs/development/python-modules/pyglet/default.nix
@@ -11,12 +11,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.4.1";
+  version = "1.4.2";
   pname = "pyglet";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "132p484g53b9p8g3q2bcnhzyg9x37hsm4rhpscl4llngjw5fbk22";
+    sha256 = "1dxxrl4nc7xh3aai1clgzvk48bvd35r7ksirsddz0mwhx7jmm8px";
   };
 
   # find_library doesn't reliably work with nix (https://github.com/NixOS/nixpkgs/issues/7307).
diff --git a/pkgs/development/python-modules/pykka/default.nix b/pkgs/development/python-modules/pykka/default.nix
index 4fe7816d4fd..c07f1b46cbe 100644
--- a/pkgs/development/python-modules/pykka/default.nix
+++ b/pkgs/development/python-modules/pykka/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     homepage = http://www.pykka.org;
     description = "A Python implementation of the actor model";
     license = licenses.asl20;
-    maintainers = with maintainers; [ rickynils ];
+    maintainers = [];
   };
 
 }
diff --git a/pkgs/development/python-modules/pynamodb/default.nix b/pkgs/development/python-modules/pynamodb/default.nix
index e7cd0872c76..1e567a9935c 100644
--- a/pkgs/development/python-modules/pynamodb/default.nix
+++ b/pkgs/development/python-modules/pynamodb/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pynamodb";
-  version = "3.4.1";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1cwgqvpqn59y3zq4wv35m1v4jrh3ih6zbyv30g5nxbw13vddxr92";
+    sha256 = "196pab5whswy3bgi2s842asjhyka2f9mw98m84bvqjmfw0m7x4y0";
   };
 
   propagatedBuildInputs = [ python-dateutil botocore ];
diff --git a/pkgs/development/python-modules/pyodbc/default.nix b/pkgs/development/python-modules/pyodbc/default.nix
index d78a5f55aad..8064d9b6d57 100644
--- a/pkgs/development/python-modules/pyodbc/default.nix
+++ b/pkgs/development/python-modules/pyodbc/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pyodbc";
-  version = "4.0.26";
+  version = "4.0.27";
   disabled = isPyPy;  # use pypypdbc instead
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1qrxnf7ji5hml7z4y669k4wmk3iz2pcsr05bnn1n912asash09z5";
+    sha256 = "1kd2i7hc1330cli72vawzby17c3039cqn1aba4i0zrjnpghjhmib";
   };
 
   buildInputs = [ unixODBC ];
diff --git a/pkgs/development/python-modules/pysocks/default.nix b/pkgs/development/python-modules/pysocks/default.nix
index 0f4b2b688cd..ae17ed35105 100644
--- a/pkgs/development/python-modules/pysocks/default.nix
+++ b/pkgs/development/python-modules/pysocks/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "pysocks";
-  version = "1.6.8";
+  version = "1.7.0";
 
   src = fetchPypi {
     pname = "PySocks";
     inherit version;
-    sha256 = "3fe52c55890a248676fd69dc9e3c4e811718b777834bcaab7a8125cf9deac672";
+    sha256 = "0z4p31bpqm893cf87qqgb30k7nwd8kqfjwwjm5cvxb6zbyj1w0yr";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/pyspotify/default.nix b/pkgs/development/python-modules/pyspotify/default.nix
index 39671041d8a..9316e85b260 100644
--- a/pkgs/development/python-modules/pyspotify/default.nix
+++ b/pkgs/development/python-modules/pyspotify/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     homepage    = http://pyspotify.mopidy.com;
     description = "A Python interface to Spotify’s online music streaming service";
     license     = licenses.unfree;
-    maintainers = with maintainers; [ lovek323 rickynils ];
+    maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
   };
 
diff --git a/pkgs/development/python-modules/pytesseract/default.nix b/pkgs/development/python-modules/pytesseract/default.nix
index 547e52edbd2..72be3227e6c 100644
--- a/pkgs/development/python-modules/pytesseract/default.nix
+++ b/pkgs/development/python-modules/pytesseract/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytesseract";
-  version = "0.2.7";
+  version = "0.2.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0vyv6wnch1l5kcxqzngakx948qz90q604bl5h93x54381lq3ndj6";
+    sha256 = "1mjr3pa4fycdsl7xk9s8fpn2vhpgx7mrdnn5h4lyyjhz86195ivg";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pytest-repeat/default.nix b/pkgs/development/python-modules/pytest-repeat/default.nix
index 0669c22f921..afd36155cf7 100644
--- a/pkgs/development/python-modules/pytest-repeat/default.nix
+++ b/pkgs/development/python-modules/pytest-repeat/default.nix
@@ -24,7 +24,8 @@ buildPythonPackage rec {
     })
   ];
 
-  buildInputs = [ setuptools_scm pytest ];
+  buildInputs = [ setuptools_scm ];
+  checkInputs = [ pytest ];
 
   checkPhase = ''
     py.test
diff --git a/pkgs/development/python-modules/python-unshare/default.nix b/pkgs/development/python-modules/python-unshare/default.nix
new file mode 100644
index 00000000000..e6425c30047
--- /dev/null
+++ b/pkgs/development/python-modules/python-unshare/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "python-unshare";
+  # pypi version doesn't support Python 3 and the package didn't update for a long time:
+  # https://github.com/TheTincho/python-unshare/pull/8
+  version = "unstable-2018-05-20";
+
+  src = fetchFromGitHub {
+    owner = "TheTincho";
+    repo = "python-unshare";
+    rev = "4e98c177bdeb24c5dcfcd66c457845a776bbb75c";
+    sha256 = "1h9biinhy5m7r2cj4abhvsg2hb6xjny3n2dxnj1336zpa082ys3h";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Python bindings for the Linux unshare() syscall";
+    homepage    = "https://github.com/thetincho/python-unshare";
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/rasterio/default.nix b/pkgs/development/python-modules/rasterio/default.nix
index 9762fd280e0..1a4fdff5812 100644
--- a/pkgs/development/python-modules/rasterio/default.nix
+++ b/pkgs/development/python-modules/rasterio/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "rasterio";
-  version = "1.0.24";
+  version = "1.0.25";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = "rasterio";
     rev = version;
-    sha256 = "0k5y4h0c4cjn1xl5fayh3a001kl42vvrhjyhp5r2fwn22z56a02p";
+    sha256 = "15m0ajcrxjdzahdkxa3mylk87l31zz48k99bvmmx96hcl31cf347";
   };
 
   checkInputs = [ boto3 pytest pytestcov packaging hypothesis ] ++ lib.optional (!isPy3k) mock;
diff --git a/pkgs/development/python-modules/rebulk/default.nix b/pkgs/development/python-modules/rebulk/default.nix
index d5305781ef5..7042b42f7ed 100644
--- a/pkgs/development/python-modules/rebulk/default.nix
+++ b/pkgs/development/python-modules/rebulk/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "rebulk";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "162rad86slg4gmzxy33pnyyzm4hhcszcpjpw1vk79f3gxzvy8j8x";
+    sha256 = "11164sy9vwphf7iw60n4hmns2q6anazrkhc15lwi6sb2qmkjc541";
   };
 
   # Some kind of trickery with imports that doesn't work.
diff --git a/pkgs/development/python-modules/shamir-mnemonic/default.nix b/pkgs/development/python-modules/shamir-mnemonic/default.nix
index 907f87dcd47..13a946aeafd 100644
--- a/pkgs/development/python-modules/shamir-mnemonic/default.nix
+++ b/pkgs/development/python-modules/shamir-mnemonic/default.nix
@@ -13,10 +13,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ click colorama ];
 
-  meta = {
+  meta = with lib; {
     description = "Reference implementation of SLIP-0039";
     homepage = "https://github.com/trezor/python-shamir-mnemonic";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ "1000101" ];
+    license = licenses.mit;
+    maintainers = [ maintainers."1000101" ];
   };
 }
diff --git a/pkgs/development/python-modules/sipsimple/default.nix b/pkgs/development/python-modules/sipsimple/default.nix
index bf76166d73b..7839a77f9f5 100644
--- a/pkgs/development/python-modules/sipsimple/default.nix
+++ b/pkgs/development/python-modules/sipsimple/default.nix
@@ -1,6 +1,6 @@
-{ stdenv
+{ lib
 , buildPythonPackage
-, fetchdarcs
+, fetchFromGitHub
 , isPy3k
 , pkgs
 , cython
@@ -14,13 +14,14 @@
 
 buildPythonPackage rec {
   pname = "sipsimple";
-  version = "3.1.1";
+  version = "3.4.2";
   disabled = isPy3k;
 
-  src = fetchdarcs {
-    url = http://devel.ag-projects.com/repositories/python-sipsimple;
+  src = fetchFromGitHub {
+    owner = "AGProjects";
+    repo = "python-sipsimple";
     rev = "release-${version}";
-    sha256 = "0jdilm11f5aahxrzrkxrfx9sgjgkbla1r0wayc5dzd2wmjrdjyrg";
+    sha256 = "094xf343d6zjhg9jwbm3dr74zq264cyqnn22byvm2m88lnagmhmr";
   };
 
   preConfigure = ''
@@ -32,7 +33,7 @@ buildPythonPackage rec {
   buildInputs = with pkgs; [ alsaLib ffmpeg libv4l sqlite libvpx ];
   propagatedBuildInputs = [ cython pkgs.openssl dnspython dateutil xcaplib msrplib lxml python-otr ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "SIP SIMPLE implementation for Python";
     homepage = http://sipsimpleclient.org/;
     license = licenses.gpl3;
diff --git a/pkgs/development/python-modules/spark_parser/default.nix b/pkgs/development/python-modules/spark_parser/default.nix
index badc99f5e37..b513a9f33c8 100644
--- a/pkgs/development/python-modules/spark_parser/default.nix
+++ b/pkgs/development/python-modules/spark_parser/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "spark_parser";
-  version = "1.8.7";
+  version = "1.8.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4c5e6064afbb3c114749016d585b0e4f9222d4ffa97a1854c9ab70b25783ef48";
+    sha256 = "0np2y4jcir4a4j18wws7yzkz2zj6nqhdhn41rpq8pyskg6wrgfx7";
   };
 
   buildInputs = [ nose ];
diff --git a/pkgs/development/python-modules/tblib/default.nix b/pkgs/development/python-modules/tblib/default.nix
index 37091da1b49..4b5ad014b97 100644
--- a/pkgs/development/python-modules/tblib/default.nix
+++ b/pkgs/development/python-modules/tblib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "tblib";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "436e4200e63d92316551179dc540906652878df4ff39b43db30fcf6400444fe7";
+    sha256 = "1k9vmw0kcbkij9lbz80imkwkhq24vgrqf1i95kv8y5aaarjda6mx";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index 43134fb746d..70488a0d9dc 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -267,9 +267,9 @@ let
 
       # cudaSupport causes fetch of ncclArchive, resulting in different hashes
       sha256 = if cudaSupport then
-        "1rbzvir569ch33bpvm47byx954vr80rjnzrbgs4rg3bqww73hr3k"
+        "19ll3f1i5qzd7ngz3m2jbxzgcrdjx5sv6kv2j5mcb8g3xsws8j5x"
       else
-        "1wnhma450zh72raiq7ddd9lyq3a056cjqiy6i7y4sidiy09ncvcg";
+        "0y9kw3k4yvrxwdy7zry7nip9mdiwyv35r6mx65g4w7qajiypfc7i";
     };
 
     buildAttrs = {
diff --git a/pkgs/development/python-modules/tracing/default.nix b/pkgs/development/python-modules/tracing/default.nix
index 843f26508ae..094c01eef78 100644
--- a/pkgs/development/python-modules/tracing/default.nix
+++ b/pkgs/development/python-modules/tracing/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     homepage = http://liw.fi/tracing/;
     description = "Python debug logging helper";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ rickynils ];
+    maintainers = [];
   };
 
 }
diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix
index 12e88153696..47aa23ca114 100644
--- a/pkgs/development/python-modules/trezor/default.nix
+++ b/pkgs/development/python-modules/trezor/default.nix
@@ -40,10 +40,10 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Python library for communicating with TREZOR Bitcoin Hardware Wallet";
     homepage = "https://github.com/trezor/trezor-firmware/tree/master/python";
-    license = lib.licenses.gpl3;
-    maintainers = with lib.maintainers; [ np prusnak mmahut "1000101" ];
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ np prusnak mmahut maintainers."1000101" ];
   };
 }
diff --git a/pkgs/development/python-modules/trollius/default.nix b/pkgs/development/python-modules/trollius/default.nix
index 4cd4776f0da..21a3c5d6d08 100644
--- a/pkgs/development/python-modules/trollius/default.nix
+++ b/pkgs/development/python-modules/trollius/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "trollius";
-  version = "2.2";
+  version = "2.2.post1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "093978388qvw5hyscbbj062dbdc2761xs9yzrq26mh63g689lnxk";
+    sha256 = "06s44k6pcq35vl5j4i2pgkpb848djal818qypcvx44gyn4azjrqn";
   };
 
   checkInputs = [ mock ] ++ lib.optional (!isPy3k) unittest2;
diff --git a/pkgs/development/python-modules/ttystatus/default.nix b/pkgs/development/python-modules/ttystatus/default.nix
index 042b4a19642..bce0ad8d7c0 100644
--- a/pkgs/development/python-modules/ttystatus/default.nix
+++ b/pkgs/development/python-modules/ttystatus/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     homepage = http://liw.fi/ttystatus/;
     description = "Progress and status updates on terminals for Python";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ rickynils ];
+    maintainers = [];
   };
 
 }
diff --git a/pkgs/development/python-modules/txamqp/default.nix b/pkgs/development/python-modules/txamqp/default.nix
index 2c3ee66663f..d59a0bb8b8a 100644
--- a/pkgs/development/python-modules/txamqp/default.nix
+++ b/pkgs/development/python-modules/txamqp/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     homepage = https://launchpad.net/txamqp;
     description = "Library for communicating with AMQP peers and brokers using Twisted";
     license = licenses.asl20;
-    maintainers = with maintainers; [ rickynils ];
+    maintainers = [];
   };
 
 }
diff --git a/pkgs/development/python-modules/uncertainties/default.nix b/pkgs/development/python-modules/uncertainties/default.nix
index 6e357f307e3..f2c02c8a6c6 100644
--- a/pkgs/development/python-modules/uncertainties/default.nix
+++ b/pkgs/development/python-modules/uncertainties/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "uncertainties";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18b184110cbe31303d25a7bc7f73d51b9cb4e15563cb9aa25ccfbd0ebe07d448";
+    sha256 = "07kahmr0vfmncf8y4x6ldjrghnd4gsf0fwykgjj5ijvqi9xc21xs";
   };
 
   buildInputs = [ nose numpy ];
diff --git a/pkgs/development/python-modules/uproot/default.nix b/pkgs/development/python-modules/uproot/default.nix
index 9387ba77801..f85c28b7f57 100644
--- a/pkgs/development/python-modules/uproot/default.nix
+++ b/pkgs/development/python-modules/uproot/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "uproot";
-  version = "3.7.0";
+  version = "3.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0glsl57ha0d4pn5q318dmzml7crml1h8yilbhxh768wcs2030s1g";
+    sha256 = "06s0lym5md59pj8w89acnwk0i0hh92az187h4gz22mb849h308pw";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/urwid/default.nix b/pkgs/development/python-modules/urwid/default.nix
index 365a65950f1..885595ef6d4 100644
--- a/pkgs/development/python-modules/urwid/default.nix
+++ b/pkgs/development/python-modules/urwid/default.nix
@@ -1,32 +1,14 @@
-{ stdenv, buildPythonPackage, fetchPypi, fetchpatch }:
+{ stdenv, buildPythonPackage, fetchPypi }:
 
-buildPythonPackage (rec {
+buildPythonPackage rec {
   pname = "urwid";
-  version = "1.3.1";
+  version = "2.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18cnd1wdjcas08x5qwa5ayw6jsfcn33w4d9f7q3s29fy6qzc1kng";
+    sha256 = "1g6cpicybvbananpjikmjk8npmjk4xvak1wjzji62wc600wkwkb4";
   };
 
-  patches = [
-   # fix tests
-   (fetchpatch {
-     url = "https://github.com/urwid/urwid/commit/4b0ed8b6030450e6d99909a7c683e9642e546387.patch";
-     sha256 = "0azpn0ylbg8mfpr0y27n4lnq0ph75a4d4m9wdv3napnhf1vh9ahx";
-   })
-   # fix tests
-   (fetchpatch {
-     url = "https://github.com/floppym/urwid/commit/f68f2cf089cfd5ec45863baf59a91d5aeb0cf5c3.patch";
-     sha256 = "1b3vz7mrwz2bqvdwvbyv2j835f9lzapgw0j2km4sam76bxmgfpgq";
-   })
-  ];
-
-  postPatch = ''
-    # Several tests keep failing on Hydra
-    rm urwid/tests/test_vterm.py
-  '';
-
   meta = with stdenv.lib; {
     description = "A full-featured console (xterm et al.) user interface library";
     homepage = http://excess.org/urwid;
@@ -34,4 +16,4 @@ buildPythonPackage (rec {
     license = licenses.lgpl21;
     maintainers = with maintainers; [ ];
   };
-})
+}
diff --git a/pkgs/development/python-modules/voluptuous-serialize/default.nix b/pkgs/development/python-modules/voluptuous-serialize/default.nix
index 29515f75c9e..4c550e073c3 100644
--- a/pkgs/development/python-modules/voluptuous-serialize/default.nix
+++ b/pkgs/development/python-modules/voluptuous-serialize/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec  {
   pname = "voluptuous-serialize";
-  version = "2.1.0";
+  version = "2.2.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d30fef4f1aba251414ec0b315df81a06da7bf35201dcfb1f6db5253d738a154f";
+    sha256 = "0ggiisrq7cbk307d09fdwfdcjb667jv90lx6gfwhxfpxgq66cccb";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/voluptuous/default.nix b/pkgs/development/python-modules/voluptuous/default.nix
index b45a46b3a83..70512edf400 100644
--- a/pkgs/development/python-modules/voluptuous/default.nix
+++ b/pkgs/development/python-modules/voluptuous/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "voluptuous";
-  version = "0.11.5";
+  version = "0.11.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef";
+    sha256 = "0mplkcpb5d8wjf8vk195fys4y6a3wbibiyf708imw33lphfk9g1a";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/w3lib/default.nix b/pkgs/development/python-modules/w3lib/default.nix
index b71bc7dc928..c0d2d744f09 100644
--- a/pkgs/development/python-modules/w3lib/default.nix
+++ b/pkgs/development/python-modules/w3lib/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "w3lib";
-  version = "1.20.0";
+  version = "1.21.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mqwlc1cr15jxr3gr8pqqh5gf0gppm2kcvdi8vid6y8wmq9bjkg5";
+    sha256 = "05a3fxi4f43n0dc87lizsy2h84dxvqjy0q6rhkyabdbhypz5864b";
   };
 
   buildInputs = [ six pytest ];
diff --git a/pkgs/development/python-modules/whisper/default.nix b/pkgs/development/python-modules/whisper/default.nix
index f9565d8e6a0..407bb88fa2a 100644
--- a/pkgs/development/python-modules/whisper/default.nix
+++ b/pkgs/development/python-modules/whisper/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     homepage = http://graphite.wikidot.com/;
     description = "Fixed size round-robin style database";
-    maintainers = with maintainers; [ rickynils offline basvandijk ];
+    maintainers = with maintainers; [ offline basvandijk ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/python-modules/ws4py/default.nix b/pkgs/development/python-modules/ws4py/default.nix
index 60f0f3cc969..141b499453e 100644
--- a/pkgs/development/python-modules/ws4py/default.nix
+++ b/pkgs/development/python-modules/ws4py/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     homepage = https://ws4py.readthedocs.org;
     description = "A WebSocket package for Python";
-    maintainers = with maintainers; [ rickynils ];
+    maintainers = [];
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/wsproto/0.14.nix b/pkgs/development/python-modules/wsproto/0.14.nix
new file mode 100644
index 00000000000..36aaf0ec8ce
--- /dev/null
+++ b/pkgs/development/python-modules/wsproto/0.14.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, h11, enum34, pytest }:
+
+buildPythonPackage rec {
+  pname = "wsproto";
+  version = "0.14.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "051s127qb5dladxa14n9nqajwq7xki1dz1was5r5v9df5a0jq8pd";
+  };
+
+  propagatedBuildInputs = [ h11 enum34 ];
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "Pure Python, pure state-machine WebSocket implementation";
+    homepage = https://github.com/python-hyper/wsproto/;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/wsproto/default.nix b/pkgs/development/python-modules/wsproto/default.nix
index 36aaf0ec8ce..dfbf9ceabdc 100644
--- a/pkgs/development/python-modules/wsproto/default.nix
+++ b/pkgs/development/python-modules/wsproto/default.nix
@@ -1,15 +1,20 @@
-{ lib, buildPythonPackage, fetchPypi, h11, enum34, pytest }:
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy36
+, dataclasses
+, h11
+, pytest
+}:
 
 buildPythonPackage rec {
   pname = "wsproto";
-  version = "0.14.1";
+  version = "0.15.0";
+  disabled = pythonOlder "3.6"; # python versions <3.6
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "051s127qb5dladxa14n9nqajwq7xki1dz1was5r5v9df5a0jq8pd";
+    sha256 = "17gsxlli4w8am1wwwl3k90hpdfa213ax40ycbbvb7hjx1v1rhiv1";
   };
 
-  propagatedBuildInputs = [ h11 enum34 ];
+  propagatedBuildInputs = [ h11 ] ++ lib.optional isPy36 dataclasses;
 
   checkInputs = [ pytest ];
 
diff --git a/pkgs/development/python-modules/wxPython/4.0.nix b/pkgs/development/python-modules/wxPython/4.0.nix
index c953fe9fe1e..9f6e9866cef 100644
--- a/pkgs/development/python-modules/wxPython/4.0.nix
+++ b/pkgs/development/python-modules/wxPython/4.0.nix
@@ -1,8 +1,11 @@
 { lib
+, stdenv
+, openglSupport ? true
+, libX11
+, pyopengl
 , buildPythonPackage
 , fetchPypi
 , pkgconfig
-, gtk3
 , libjpeg
 , libtiff
 , SDL
@@ -11,6 +14,16 @@
 , freeglut
 , xorg
 , which
+, cairo
+, requests
+, pango
+, pathlib2
+, python
+, doxygen
+, ncurses
+, libpng
+, gstreamer
+, wxGTK
 }:
 
 buildPythonPackage rec {
@@ -22,14 +35,43 @@ buildPythonPackage rec {
     sha256 = "35cc8ae9dd5246e2c9861bb796026bbcb9fb083e4d49650f776622171ecdab37";
   };
 
-  nativeBuildInputs = [
-    pkgconfig
-  ];
+  doCheck = false;
 
-  buildInputs = [
-    gtk3 libjpeg libtiff SDL gst-plugins-base libnotify freeglut xorg.libSM
-    which
-  ];
+  nativeBuildInputs = [ pkgconfig which doxygen wxGTK ];
+
+  buildInputs = [ libjpeg libtiff SDL
+      gst-plugins-base libnotify freeglut xorg.libSM ncurses
+      requests libpng gstreamer libX11
+      pathlib2
+      (wxGTK.gtk)
+  ]
+    ++ lib.optional openglSupport pyopengl;
+
+  hardeningDisable = [ "format" ];
+
+  DOXYGEN = "${doxygen}/bin/doxygen";
+
+  preConfigure = lib.optionalString (!stdenv.isDarwin) ''
+    substituteInPlace wx/lib/wxcairo/wx_pycairo.py \
+      --replace 'cairoLib = None' 'cairoLib = ctypes.CDLL("${cairo}/lib/libcairo.so")'
+    substituteInPlace wx/lib/wxcairo/wx_pycairo.py \
+      --replace '_dlls = dict()' '_dlls = {k: ctypes.CDLL(v) for k, v in [
+        ("gdk",        "${wxGTK.gtk}/lib/libgtk-x11-2.0.so"),
+        ("pangocairo", "${pango.out}/lib/libpangocairo-1.0.so"),
+        ("appsvc",     None)
+      ]}'
+  '';
+
+  buildPhase = ''
+    ${python.interpreter} build.py -v --use_syswx dox etg --nodoc sip build_py
+  '';
+
+  installPhase = ''
+    ${python.interpreter} setup.py install --skip-build --prefix=$out
+    wrapPythonPrograms
+  '';
+
+  passthru = { inherit wxGTK openglSupport; };
 
 
   meta = {
@@ -38,4 +80,4 @@ buildPythonPackage rec {
     license = lib.licenses.wxWindows;
   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/xdis/default.nix b/pkgs/development/python-modules/xdis/default.nix
index e5d06a3c694..5fc7f55d419 100644
--- a/pkgs/development/python-modules/xdis/default.nix
+++ b/pkgs/development/python-modules/xdis/default.nix
@@ -1,18 +1,18 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchFromGitHub
+, click
 , pytest
 , six
-, click
 }:
 
 buildPythonPackage rec {
   pname = "xdis";
-  version = "4.0.1";
+  version = "4.0.3";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1ifakxxawyxw4w4p58m4xdc0c955miqyaq3dfbl386ipw0f50kyz";
+  src = fetchFromGitHub {
+    owner = "rocky";
+    repo = "python-xdis";
+    rev = version;
+    sha256 = "1h4j8hincf49zyd0rvn4bh0ypj8836y8vz3d496ycb9gjzkr6044";
   };
 
   checkInputs = [ pytest ];
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     make check
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Python cross-version byte-code disassembler and marshal routines";
     homepage = https://github.com/rocky/python-xdis/;
     license = licenses.gpl2;
diff --git a/pkgs/development/python-modules/yamllint/default.nix b/pkgs/development/python-modules/yamllint/default.nix
index b22b9554fa6..5c738c11f84 100644
--- a/pkgs/development/python-modules/yamllint/default.nix
+++ b/pkgs/development/python-modules/yamllint/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "yamllint";
-  version = "1.16.0";
+  version = "1.17.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bw39aiyqspjsxps5m3skaszih8vap8kyialbzg7jjc080nyqkws";
+    sha256 = "04xarlbh59f9ah53jxrcpqpzladyfxaw6cb2g8clw9aid0qzi9kh";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/zict/default.nix b/pkgs/development/python-modules/zict/default.nix
index 81e5d0fbc81..42f0218c846 100644
--- a/pkgs/development/python-modules/zict/default.nix
+++ b/pkgs/development/python-modules/zict/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "zict";
-  version = "0.1.4";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a7838b2f21bc06b7e3db5c64ffa6642255a5f7c01841660b3388a9840e101f99";
+    sha256 = "04532600mnsvzv43l2jvjrn7sflg0wkjqzy7nj7m3vvxm5gd4kg3";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index c26a5d8e0c8..fb351f4adfd 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.105.0";
+  version = "0.106.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "0p79v65h580vxm6j5nlrcxpkk4bxgn8wcvwmlfs70pbmdsj0hzwx";
+    sha256 = "0da32j8s3avxa84g2gn9sr4nakibllz1kq5i3bgqbndrgcgsdvgw";
   };
 
   installPhase = ''
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
     homepage = https://flow.org/;
     license = licenses.mit;
     platforms = ocamlPackages.ocaml.meta.platforms;
-    maintainers = with maintainers; [ marsam puffnfresh globin ];
+    maintainers = with maintainers; [ marsam puffnfresh ];
   };
 }
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index caa4d718f89..24ad463439a 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.9.3";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "wata727";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10saljrman41pjmjhbzan8jw8jbz069yhcf6vvzxmw763x5s3n85";
+    sha256 = "0x9kh0bvbil6z09v41gzk5sdiprqg288jfcjw1n2x809sj7c6vhf";
   };
 
-  modSha256 = "0zfgyv1m7iay3brkqmh35gw1giyr3i3ja56dh4kgm6ai4z1jmvgc";
+  modSha256 = "0wig41m81kmy7l6sj6kk4ryc3m1b18n2vlf80x0bbhn46kyfnbgr";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/avro-tools/default.nix b/pkgs/development/tools/avro-tools/default.nix
index a81c606dc60..678988480ec 100644
--- a/pkgs/development/tools/avro-tools/default.nix
+++ b/pkgs/development/tools/avro-tools/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, makeWrapper, jre, lib }:
 
 stdenv.mkDerivation rec {
-  version = "1.9.0";
   pname = "avro-tools";
+  version = "1.9.0";
 
   src = fetchurl {
     url =
@@ -19,11 +19,10 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     mkdir -p $out/libexec/avro-tools
-    mv $src ${pname}-${version}.jar
-    cp ${pname}-${version}.jar $out/libexec/avro-tools
+    cp $src $out/libexec/avro-tools/${pname}.jar
 
     makeWrapper ${jre}/bin/java $out/bin/avro-tools \
-    --add-flags "-jar $out/libexec/avro-tools/${pname}-${version}.jar"
+    --add-flags "-jar $out/libexec/avro-tools/${pname}.jar"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/aws-sam-cli/default.nix b/pkgs/development/tools/aws-sam-cli/default.nix
index 73adfaec838..0e511271e1c 100644
--- a/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/pkgs/development/tools/aws-sam-cli/default.nix
@@ -56,7 +56,7 @@ buildPythonApplication rec {
   ];
 
   postPatch = ''
-    substituteInPlace requirements/base.txt --replace "requests==2.20.1" "requests==2.21.0"
+    substituteInPlace requirements/base.txt --replace "requests==2.20.1" "requests==2.22.0"
     substituteInPlace requirements/base.txt --replace "six~=1.11.0" "six~=1.12.0"
     substituteInPlace requirements/base.txt --replace "PyYAML~=3.12" "PyYAML~=5.1"
   '';
diff --git a/pkgs/development/tools/bazel-watcher/default.nix b/pkgs/development/tools/bazel-watcher/default.nix
index 51aeebb82e5..62ecc47b17b 100644
--- a/pkgs/development/tools/bazel-watcher/default.nix
+++ b/pkgs/development/tools/bazel-watcher/default.nix
@@ -62,7 +62,7 @@ buildBazelPackage rec {
       sed -e '/^FILE:@bazel_gazelle_go_repository_tools.*/d' -i $bazelOut/external/\@*.marker
     '';
 
-    sha256 = "1i3b6kn9kq70a34wkpm8zjqj1skawdxs3r01b7r6ws1rbdnfj6mp";
+    sha256 = "0g2y283glx2ykxxqc3vsg520a6s2w5d937wndhgpfajc5yjgiz43";
   };
 
   buildAttrs = {
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 813be519822..d32eba51ce1 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage = https://www.scala-sbt.org/;
     license = licenses.bsd3;
     description = "A build tool for Scala, Java and more";
-    maintainers = with maintainers; [ nequissimus rickynils ];
+    maintainers = with maintainers; [ nequissimus ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 0472f412f71..317186ea3e0 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -1,15 +1,15 @@
 { stdenv, buildGoPackage, fetchFromGitHub
 , gpgme, libgpgerror, lvm2, btrfs-progs, pkgconfig, ostree, libselinux, libseccomp
-, go-md2man }:
+}:
 
 let
-  version = "1.9.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "containers";
     repo   = "buildah";
-    sha256 = "19yf93pq4vw24h76kl32c6ryvg5fp5mixakw9c6sqydf7m74z9i8";
+    sha256 = "0dki2v8j2jzbw49sdzcyjqbalbh70m0lgzrldgj6cc92mj896pxk";
   };
 
   goPackagePath = "github.com/containers/buildah";
@@ -27,22 +27,18 @@ in buildGoPackage rec {
   # Optimizations break compilation of libseccomp c bindings
   hardeningDisable = [ "fortify" ];
 
-  nativeBuildInputs = [ pkgconfig go-md2man.bin ];
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs ostree libselinux libseccomp ];
 
-  # Copied from the skopeo package, doesn’t seem to make a difference?
-  # If something related to these libs failed, uncomment these lines.
-  /*preBuild = with lib; ''
-    export CGO_CFLAGS="-I${getDev gpgme}/include -I${getDev libgpgerror}/include -I${getDev devicemapper}/include -I${getDev btrfs-progs}/include"
-    export CGO_LDFLAGS="-L${getLib gpgme}/lib -L${getLib libgpgerror}/lib -L${getLib devicemapper}/lib"
-  '';*/
+  buildPhase = ''
+    pushd go/src/${goPackagePath}
+    patchShebangs .
+    make GIT_COMMIT="unknown"
+    install -Dm755 buildah $bin/bin/buildah
+  '';
 
   postBuild = ''
-    # depends on buildGoPackage not changing …
-    pushd ./go/src/${goPackagePath}/docs
-    make docs
-    make install PREFIX="$man"
-    popd
+    make -C docs install PREFIX="$man"
   '';
 
   meta = {
diff --git a/pkgs/development/tools/cbor-diag/Gemfile.lock b/pkgs/development/tools/cbor-diag/Gemfile.lock
index 0d129765aa4..9f9a160c587 100644
--- a/pkgs/development/tools/cbor-diag/Gemfile.lock
+++ b/pkgs/development/tools/cbor-diag/Gemfile.lock
@@ -1,10 +1,12 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    cbor-diag (0.5.2)
+    cbor-diag (0.5.6)
       json
+      neatjson
       treetop (~> 1)
-    json (2.1.0)
+    json (2.2.0)
+    neatjson (0.9)
     polyglot (0.3.5)
     treetop (1.6.10)
       polyglot (~> 0.3)
@@ -16,4 +18,4 @@ DEPENDENCIES
   cbor-diag
 
 BUNDLED WITH
-   1.14.6
+   1.17.2
diff --git a/pkgs/development/tools/cbor-diag/gemset.nix b/pkgs/development/tools/cbor-diag/gemset.nix
index 2de0e9a647a..49de5b06f54 100644
--- a/pkgs/development/tools/cbor-diag/gemset.nix
+++ b/pkgs/development/tools/cbor-diag/gemset.nix
@@ -1,22 +1,38 @@
 {
   cbor-diag = {
-    dependencies = ["json" "treetop"];
+    dependencies = ["json" "neatjson" "treetop"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g4pxf1ag4pyb351m06l08ig1smnf8w27ynqfxkgmwak5mh1z7w1";
+      sha256 = "0pd0k4malg1l7w3ck5glh9w0hrsvknk8rp32vrir74yww1g6yplv";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.5.6";
   };
   json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.0";
+  };
+  neatjson = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fa2v7b6433j0iqh5iq9r71v7a5xabgjvqwsbl21vcsac7vf3ncw";
+      type = "gem";
+    };
+    version = "0.9";
   };
   polyglot = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
@@ -26,6 +42,8 @@
   };
   treetop = {
     dependencies = ["polyglot"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7";
diff --git a/pkgs/development/tools/cddl/Gemfile.lock b/pkgs/development/tools/cddl/Gemfile.lock
index 65701dd45bf..cd4e1407637 100644
--- a/pkgs/development/tools/cddl/Gemfile.lock
+++ b/pkgs/development/tools/cddl/Gemfile.lock
@@ -2,19 +2,21 @@ GEM
   remote: https://rubygems.org/
   specs:
     abnc (0.1.0)
-    cbor-diag (0.5.2)
+    cbor-diag (0.5.6)
       json
+      neatjson
       treetop (~> 1)
-    cddl (0.8.5)
+    cddl (0.8.9)
       abnc
       cbor-diag
       colorize
       json
       regexp-examples
     colorize (0.8.1)
-    json (2.1.0)
+    json (2.2.0)
+    neatjson (0.9)
     polyglot (0.3.5)
-    regexp-examples (1.4.2)
+    regexp-examples (1.5.0)
     treetop (1.6.10)
       polyglot (~> 0.3)
 
@@ -25,4 +27,4 @@ DEPENDENCIES
   cddl
 
 BUNDLED WITH
-   1.14.6
+   1.17.2
diff --git a/pkgs/development/tools/cddl/gemset.nix b/pkgs/development/tools/cddl/gemset.nix
index 92aa4199505..a66833e27d9 100644
--- a/pkgs/development/tools/cddl/gemset.nix
+++ b/pkgs/development/tools/cddl/gemset.nix
@@ -1,5 +1,7 @@
 {
   abnc = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "13nvzrk72nj130fs8bq8q3cfm48939rdzh7l31ncj5c4969hrbig";
@@ -8,24 +10,30 @@
     version = "0.1.0";
   };
   cbor-diag = {
-    dependencies = ["json" "treetop"];
+    dependencies = ["json" "neatjson" "treetop"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g4pxf1ag4pyb351m06l08ig1smnf8w27ynqfxkgmwak5mh1z7w1";
+      sha256 = "0pd0k4malg1l7w3ck5glh9w0hrsvknk8rp32vrir74yww1g6yplv";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.5.6";
   };
   cddl = {
     dependencies = ["abnc" "cbor-diag" "colorize" "json" "regexp-examples"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pg91wrby0qgrdnf089ddy5yy2jalxd3bb9dljj16cpwv4gjx047";
+      sha256 = "16rmcrsxwx33pj25g1si0dhjdl2brfhy2vlpfwdb6qqkaikmzhpz";
       type = "gem";
     };
-    version = "0.8.5";
+    version = "0.8.9";
   };
   colorize = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b";
@@ -34,14 +42,28 @@
     version = "0.8.1";
   };
   json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.0";
+  };
+  neatjson = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fa2v7b6433j0iqh5iq9r71v7a5xabgjvqwsbl21vcsac7vf3ncw";
+      type = "gem";
+    };
+    version = "0.9";
   };
   polyglot = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
@@ -50,15 +72,19 @@
     version = "0.3.5";
   };
   regexp-examples = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "104f0j0h2x5ijly7kyaj7zz0md65r2c03cpbi5cngm0hs2sr1qkz";
+      sha256 = "08s5d327i9dw5yjwv9vfss3qb7lwasjyc75wvh7vrdi5v4vm1y2k";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.5.0";
   };
   treetop = {
     dependencies = ["polyglot"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7";
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
new file mode 100644
index 00000000000..919061c6d96
--- /dev/null
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, lib, graalvm8, fetchurl }:
+
+stdenv.mkDerivation rec{
+  pname = "clj-kondo";
+  version = "2019.07.31-alpha";
+
+  reflectionJson = fetchurl {
+    name = "reflection.json";
+    url = "https://raw.githubusercontent.com/borkdude/${pname}/v${version}/reflection.json";
+    sha256 = "1m6kja38p6aypawbynkyq8bdh8wpdjmyqrhslinqid9r8cl25rcq";
+  };
+
+  src = fetchurl {
+    url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
+    sha256 = "03ipl7br9pgx2hdbiaxv9ip0ibafkyzkc8qlx8xyi528bcfi54bf";
+  };
+
+  dontUnpack = true;
+
+  buildInputs = [ graalvm8 ];
+
+  buildPhase = ''
+    native-image  \
+      -jar ${src} \
+      -H:Name=clj-kondo \
+      -H:+ReportExceptionStackTraces \
+      -J-Dclojure.spec.skip-macros=true \
+      -J-Dclojure.compiler.direct-linking=true \
+      "-H:IncludeResources=clj_kondo/impl/cache/built_in/.*" \
+      -H:ReflectionConfigurationFiles=${reflectionJson} \
+      --initialize-at-build-time  \
+      -H:Log=registerResource: \
+      --verbose \
+      --no-fallback \
+      --no-server \
+      "-J-Xmx3g"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp clj-kondo $out/bin/clj-kondo
+  '';
+
+  meta = with lib; {
+    description = "A linter for Clojure code that sparks joy.";
+    homepage = https://github.com/borkdude/clj-kondo;
+    license = licenses.epl10;
+    platforms = graalvm8.meta.platforms;
+    maintainers = with maintainers; [ jlesquembre ];
+  };
+}
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 18c0310e6e3..d8b18fcd121 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "12.1.0";
+  version = "12.2.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz";
-    sha256 = "1yx530h5rz7wmd012962f9dfj0hvj1m7zab5vchndna4svzzycch";
+    sha256 = "0r0jy571dxcspsl0q31wyw4017rfq7i4rxsgf83jqdjqaigas8dk";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "0zsin76qiq46w675wdkaz3ng1i9szad3hzmk5dngdnr59gq5mqhk";
+    sha256 = "1pbzyfvfgwp9r67a148nr4gh2p9lrmnn4hxap37abb5q5209pjir";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0npjgarbwih8j2ih1mshwyp4nj9h15phvg61kifh63p9mf4r63nn";
+    sha256 = "0id0ivysn0396dwi357iig28d4xr2wd7q05r6ksgml8xyfijdgd3";
   };
 
   patches = [ ./fix-shell-path.patch ];
@@ -46,6 +46,6 @@ buildGoPackage rec {
     license = licenses.mit;
     homepage = https://about.gitlab.com/gitlab-ci/;
     platforms = platforms.unix ++ platforms.darwin;
-    maintainers = with maintainers; [ bachp zimbatm ];
+    maintainers = with maintainers; [ bachp zimbatm globin ];
   };
 }
diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix
index 5443cbf9fb5..09e6513d2b1 100644
--- a/pkgs/development/tools/coursier/default.nix
+++ b/pkgs/development/tools/coursier/default.nix
@@ -1,12 +1,18 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
+let
+  zshCompletion = version: fetchurl {
+    url = "https://raw.githubusercontent.com/coursier/coursier/v${version}/modules/cli/src/main/resources/completions/zsh";
+    sha256 = "0gfr1q66crh6si4682xbxnj41igws83qj710npgm2bvq90xa8m49";
+  };
+in
 stdenv.mkDerivation rec {
   pname = "coursier";
-  version = "1.1.0-M14-6";
+  version = "2.0.0-RC3-3";
 
   src = fetchurl {
     url = "https://github.com/coursier/coursier/releases/download/v${version}/coursier";
-    sha256 = "01q0gz4qnwvnd7mprcm5aj77hrxyr6ax8jp4d9jkqfkg272znaj7";
+    sha256 = "1qrybajwk46h6d1yp6n4zxdvrfl19lqhjsqxbm48vk3wbvj31vyl";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -15,6 +21,9 @@ stdenv.mkDerivation rec {
     install -Dm555 $src $out/bin/coursier
     patchShebangs $out/bin/coursier
     wrapProgram $out/bin/coursier --prefix PATH ":" ${jre}/bin
+
+    # copy zsh completion
+    install -Dm755 ${zshCompletion version} $out/share/zsh/site-functions/_coursier
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/cppclean/default.nix b/pkgs/development/tools/cppclean/default.nix
index a398fc98f1f..85d49667a9a 100644
--- a/pkgs/development/tools/cppclean/default.nix
+++ b/pkgs/development/tools/cppclean/default.nix
@@ -3,14 +3,14 @@
 with python3Packages;
 
 buildPythonApplication rec {
-  pname = "cppclean-unstable";
-  version = "2018-05-12";
+  pname = "cppclean";
+  version = "0.13";
 
   src = fetchFromGitHub {
     owner  = "myint";
     repo   = "cppclean";
-    rev    = "e7da41eca5e1fd2bd1dddd6655e50128bb96dc28";
-    sha256 = "0pymh6r7y19bwcypfkmgwyixrx36pmz338jd83yrjflsbjlriqm4";
+    rev    = "v${version}";
+    sha256 = "081bw7kkl7mh3vwyrmdfrk3fgq8k5laacx7hz8fjpchrvdrkqph0";
   };
 
   postUnpack = ''
diff --git a/pkgs/development/tools/easyjson/default.nix b/pkgs/development/tools/easyjson/default.nix
index 2a38626c552..9dff0cc3ebe 100644
--- a/pkgs/development/tools/easyjson/default.nix
+++ b/pkgs/development/tools/easyjson/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  pname = "easyjson-unstable";
-  version = "2019-02-21";
+  pname = "easyjson";
+  version = "unstable-2019-06-26";
   goPackagePath = "github.com/mailru/easyjson";
   goDeps = ./deps.nix;
 
   src = fetchFromGitHub {
     owner = "mailru";
     repo = "easyjson";
-    rev = "6243d8e04c3f819e79757e8bc3faa15c3cb27003";
-    sha256 = "160sj5pq4bv9jshniimkd5f9zcg6xrbgb027lhr9l895nsv4dlib";
+    rev = "b2ccc519800e761ac8000b95e5d57c80a897ff9e";
+    sha256 = "0q85h383mhbkcjm2vqm72bi8n2252fv3c56q3lclzb8n2crnjcdk";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/fdroidserver/default.nix b/pkgs/development/tools/fdroidserver/default.nix
index 24eba03946a..3f3f7779528 100644
--- a/pkgs/development/tools/fdroidserver/default.nix
+++ b/pkgs/development/tools/fdroidserver/default.nix
@@ -4,14 +4,14 @@
 , lib }:
 
 python.pkgs.buildPythonApplication rec {
-  version = "1.1.1";
+  version = "1.1.4";
   pname = "fdroidserver";
 
   src = fetchFromGitLab {
     owner = "fdroid";
     repo = "fdroidserver";
     rev = version;
-    sha256 = "0m618rvjh8h8hnbafrxsdkw8m5r2wnkz7whqnh60jh91h3yr0kzs";
+    sha256 = "020b6w2vhqgkpbrc1d08zh6mkh704mqhqqly14hir2bvay9rr9li";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/git-series/default.nix b/pkgs/development/tools/git-series/default.nix
index 442ae4d15ec..70fa18ceddb 100644
--- a/pkgs/development/tools/git-series/default.nix
+++ b/pkgs/development/tools/git-series/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, openssl, cmake, perl, pkgconfig, zlib }:
+{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, openssl_1_0_2, cmake, perl, pkgconfig, zlib }:
 
 with rustPlatform;
 
@@ -27,7 +27,7 @@ buildRustPackage rec {
   '';
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
-  buildInputs = [ openssl zlib ];
+  buildInputs = [ openssl_1_0_2 zlib ];
 
   postBuild = ''
     install -D "$src/git-series.1" "$out/man/man1/git-series.1"
diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix
index 851acd17b7e..2bac1540303 100644
--- a/pkgs/development/tools/icestorm/default.nix
+++ b/pkgs/development/tools/icestorm/default.nix
@@ -6,12 +6,12 @@
 # and IceStorm isn't intended to be used as a library other than by the
 # nextpnr build process (which is also sped up by using PyPy), so we
 # use it by default. See 18839e1 for more details.
-, usePyPy ? stdenv.isx86_64 /* pypy3 seems broken on i686 */
+, usePyPy ? stdenv.hostPlatform.system == "x86_64-linux"
 }:
 
 stdenv.mkDerivation rec {
   pname = "icestorm";
-  version = "2019.08.08";
+  version = "2019.08.15";
 
   pythonPkg = if usePyPy then pypy3 else python3;
   pythonInterp = pythonPkg.interpreter;
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner  = "cliffordwolf";
     repo   = "icestorm";
-    rev    = "2ccae0d3864fd7268118287a85963c0116745cff";
-    sha256 = "1vlk5k7x6c1bjp19niyl0shljj8il94q2brjmda1rwhqxz81g9s7";
+    rev    = "95949315364f8d9b0c693386aefadf44b28e2cf6";
+    sha256 = "05q1vxlf9l5z9mam8jbv58jqj7nsd8v7ssy753sharpgzzgdc8a2";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
     '';
     homepage    = http://www.clifford.at/icestorm/;
     license     = stdenv.lib.licenses.isc;
-    maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice ];
-    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice emily ];
+    platforms   = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/jq/default.nix b/pkgs/development/tools/jq/default.nix
index a0dd5d542c8..8605ef398a1 100644
--- a/pkgs/development/tools/jq/default.nix
+++ b/pkgs/development/tools/jq/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = ''A lightweight and flexible command-line JSON processor'';
     license = licenses.mit;
-    maintainers = with maintainers; [ raskin ];
+    maintainers = with maintainers; [ raskin globin ];
     platforms = with platforms; linux ++ darwin;
     downloadPage = "http://stedolan.github.io/jq/download/";
     updateWalker = true;
diff --git a/pkgs/development/tools/ktlint/default.nix b/pkgs/development/tools/ktlint/default.nix
index 0ce221d9df6..c98d397953e 100644
--- a/pkgs/development/tools/ktlint/default.nix
+++ b/pkgs/development/tools/ktlint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ktlint";
-  version = "0.34.0";
+  version = "0.34.2";
 
   src = fetchurl {
     url = "https://github.com/shyiko/ktlint/releases/download/${version}/ktlint";
-    sha256 = "1mry999aqmbljp2ybkgf9hps8z4aa254b1bsivi559gzsvdkmqh7";
+    sha256 = "1v1s4y8ads2s8hjsjacxni1j0dbmnhilhnfs0xabr3aljqs15wb2";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index e37824d241c..f7dc2874aff 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -94,6 +94,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = with platforms; linux ++ cygwin ++ darwin;
-    maintainers = with maintainers; [ pierron ];
+    maintainers = with maintainers; [ pierron globin ];
   };
 }
diff --git a/pkgs/development/tools/misc/gengetopt/default.nix b/pkgs/development/tools/misc/gengetopt/default.nix
index b6758cb0bc2..a1a02632478 100644
--- a/pkgs/development/tools/misc/gengetopt/default.nix
+++ b/pkgs/development/tools/misc/gengetopt/default.nix
@@ -1,17 +1,25 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, texinfo, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "gengetopt-2.22.6";
+  pname = "gengetopt";
+  version = "2.23";
 
   src = fetchurl {
-    url = "mirror://gnu/gengetopt/${name}.tar.gz";
-    sha256 = "1xq1kcfs6hri101ss4dhym0jn96z4v6jdvx288mfywadc245mc1h";
+    url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1b44fn0apsgawyqa4alx2qj5hls334mhbszxsy6rfr0q074swhdr";
   };
 
   doCheck = true;
 
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ texinfo help2man ];
+
+  #Fix, see #28255
   postPatch = ''
-    sed -e 's/set -o posix/set +o posix/' -i configure
+    substituteInPlace configure --replace \
+      'set -o posix' \
+      'set +o posix'
   '';
 
   meta = {
diff --git a/pkgs/development/tools/misc/kibana/5.x.nix b/pkgs/development/tools/misc/kibana/5.x.nix
index ce88838cc73..7d824fd81fb 100644
--- a/pkgs/development/tools/misc/kibana/5.x.nix
+++ b/pkgs/development/tools/misc/kibana/5.x.nix
@@ -39,7 +39,7 @@ in stdenv.mkDerivation rec {
     description = "Visualize logs and time-stamped data";
     homepage = http://www.elasticsearch.org/overview/kibana;
     license = licenses.asl20;
-    maintainers = with maintainers; [ offline rickynils ];
+    maintainers = with maintainers; [ offline ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/tools/misc/kibana/6.x.nix b/pkgs/development/tools/misc/kibana/6.x.nix
index 0d052f34095..46a72a32722 100644
--- a/pkgs/development/tools/misc/kibana/6.x.nix
+++ b/pkgs/development/tools/misc/kibana/6.x.nix
@@ -57,7 +57,7 @@ in stdenv.mkDerivation rec {
     description = "Visualize logs and time-stamped data";
     homepage = http://www.elasticsearch.org/overview/kibana;
     license = if enableUnfree then licenses.elastic else licenses.asl20;
-    maintainers = with maintainers; [ offline rickynils basvandijk ];
+    maintainers = with maintainers; [ offline basvandijk ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/tools/misc/kibana/7.x.nix b/pkgs/development/tools/misc/kibana/7.x.nix
index e8435549f4a..9fba3b43e11 100644
--- a/pkgs/development/tools/misc/kibana/7.x.nix
+++ b/pkgs/development/tools/misc/kibana/7.x.nix
@@ -57,7 +57,7 @@ in stdenv.mkDerivation rec {
     description = "Visualize logs and time-stamped data";
     homepage = http://www.elasticsearch.org/overview/kibana;
     license = if enableUnfree then licenses.elastic else licenses.asl20;
-    maintainers = with maintainers; [ offline rickynils basvandijk ];
+    maintainers = with maintainers; [ offline basvandijk ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/tools/misc/mkcert/default.nix b/pkgs/development/tools/misc/mkcert/default.nix
index 9532b6e3442..7a3ccaa9fbc 100644
--- a/pkgs/development/tools/misc/mkcert/default.nix
+++ b/pkgs/development/tools/misc/mkcert/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mkcert";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "FiloSottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1aadnsx5pfmryf8mgxg9g0i083dm1pmrc6v4ln2mm3n89wwqc9b7";
+    sha256 = "0xcmvzh5lq8vs3b0f1zw645fxdr8471v7prl1656q02v38f58ly7";
   };
 
-  modSha256 = "0snvvwhyfq01nwgjz55dgd5skpg7z0dzix7sdag90cslbrr983i1";
+  modSha256 = "0an12l15a82mks6gipczdpcf2vklk14wjjnk0ccl3kdjwiw7f4wd";
 
   meta = with lib; {
     homepage = https://github.com/FiloSottile/mkcert;
diff --git a/pkgs/development/tools/misc/wishbone-tool/default.nix b/pkgs/development/tools/misc/wishbone-tool/default.nix
new file mode 100644
index 00000000000..6b2c944f701
--- /dev/null
+++ b/pkgs/development/tools/misc/wishbone-tool/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, rustPlatform, libusb }:
+let
+  version = "0.2.8";
+  src = fetchFromGitHub {
+    owner = "xobs";
+    repo = "wishbone-utils";
+    rev = "v${version}";
+    sha256 = "0v6s5yl0y6bd2snf12x6c77rwvqkg6ybi1sm4wr7qdgbwq563nxp";
+  };
+in
+rustPlatform.buildRustPackage {
+  pname = "wishbone-tool";
+  inherit version;
+  src = "${src}/wishbone-tool";
+  cargoSha256 = "0pj8kf6s1c666p4kc6q1hlvaqm0lm9aqnsx5r034g1y8sxnnyri2";
+  buildInputs = [ libusb ];
+
+  meta = with lib; {
+    description = "Manipulate a Wishbone device over some sort of bridge";
+    homepage = "https://github.com/xobs/wishbone-utils#wishbone-tool";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ edef ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/dune/default.nix b/pkgs/development/tools/ocaml/dune/default.nix
index 570edd8223b..e6f9da869a7 100644
--- a/pkgs/development/tools/ocaml/dune/default.nix
+++ b/pkgs/development/tools/ocaml/dune/default.nix
@@ -6,10 +6,10 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "1.11.1";
+  version = "1.11.3";
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-build-info-${version}.tbz";
-    sha256 = "0hizfaidl1bxl614i65yvyfhsjbp93y7y9qy1a8zw448w1js5bsp";
+    sha256 = "1lmvsis6dk8mccbwpypz9qdxr134gjhdwshxw6q12mi4x3kn6fn8";
   };
 
   buildInputs = [ ocaml findlib ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://dune.build/";
     description = "A composable build system";
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    maintainers = [ stdenv.lib.maintainers.vbgl stdenv.lib.maintainers.marsam ];
     license = stdenv.lib.licenses.mit;
     inherit (ocaml.meta) platforms;
   };
diff --git a/pkgs/development/tools/osslsigncode/default.nix b/pkgs/development/tools/osslsigncode/default.nix
new file mode 100644
index 00000000000..a867e3850e2
--- /dev/null
+++ b/pkgs/development/tools/osslsigncode/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, libgsf
+, pkgconfig
+, openssl
+, curl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "osslsigncode";
+  version = "unstable-2019-07-25";
+
+  src = fetchFromGitHub {
+    owner = "mtrojnar";
+    repo = pname;
+    rev = "18810b7e0bb1d8e0d25b6c2565a065cf66bce5d7";
+    sha256 = "02jnbr3xdsb5dpll3k65080ryrfr7agawmjavwxd0v40w0an5yq8";
+  };
+
+  nativeBuildInputs = [ autoreconfHook libgsf pkgconfig openssl curl ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/mtrojnar/osslsigncode";
+    description = "OpenSSL based Authenticode signing for PE/MSI/Java CAB files";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.mmahut ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/development/tools/quicktemplate/default.nix b/pkgs/development/tools/quicktemplate/default.nix
index 16bb654aa6b..6af444c7ce0 100644
--- a/pkgs/development/tools/quicktemplate/default.nix
+++ b/pkgs/development/tools/quicktemplate/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  pname = "quicktemplate-unstable";
-  version = "2019-01-31";
+  pname = "quicktemplate";
+  version = "unstable-2019-07-08";
   goPackagePath = "github.com/valyala/quicktemplate";
   goDeps = ./deps.nix;
 
   src = fetchFromGitHub {
     owner = "valyala";
     repo = "quicktemplate";
-    rev = "d08324ac14fa81325830fae7eb30188ec68427f8";
-    sha256 = "0gpc1kcqvcn1f9mz2dww8bhrspnsk2fgxzvx398vy7a0xhxq8vhx";
+    rev = "840e9171940bbc80bb1b925c880664cababae022";
+    sha256 = "1pimf5bwivklsr438if6l8by34gr48a05gl6hq07cvc8z6wl01m2";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index 0a36efa79eb..d7e37e61d50 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "0.4.13";
+  version = "0.4.14";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "0s3xd9dr0n64j0m38gd4cafrdr5vnpl557ks4wr0jszyhldnlfkz";
+    sha256 = "0i59m34lav3cmrazaxfraj3jk5mdi5fgaq8p7l4s8qr1fpmmw9vy";
   };
 
-  cargoSha256 = "13zz3n1p75267h3qrmvpmd8agnkbk8vfbr8s38wcyysck81pr4px";
+  cargoSha256 = "1sjbcgscgvjq4qpcljrsj1dyxbr10jl6wpp27xh3bv8c2rv4bzz8";
 
   buildInputs = [ llvmPackages.libclang ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 92e21bfc00e..5b73752659b 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.22.0";
+  version = "0.22.1";
 
   src =
     let
@@ -10,11 +10,11 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "13nl370immbhjarc0vfzrsflml3alh2f2zrh4znbks4yc3yp790z";
+        sha256 = "1wsams41zl56mkb8671n5fqkkchs68jd9nvfzry8axxiv7n175gc";
       };
       cargo-lock = fetchurl {
-        url = "https://gist.githubusercontent.com/xrelkd/e4c9c7738b21f284d97cb7b1d181317d/raw/d31cfb3598d0a2886abd4d2ed43a02d493c8de8c/cargo-make-Cargo.lock";
-        sha256 = "08fzl98d277n9xn3hrg9jahkqwdjfi5saajsppwzdbb3l7xw4jh2";
+        url = "https://gist.githubusercontent.com/xrelkd/e4c9c7738b21f284d97cb7b1d181317d/raw/850e9830f4ab4bc65da6eb5cd8b0911970a7739f/cargo-make-Cargo.lock";
+        sha256 = "0knmzplxmh8vksmpg56l2p1a10hpqbr9hmbk3hv0aj63125rhhqy";
       };
     in
     runCommand "cargo-make-src" {} ''
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "0gj4a15slxnp31mlfgh57h3cwv0lnw5gdmkrmmj79migi96i5i6y";
+  cargoSha256 = "18j0nflf997z4nwdxifxp1ji1rbwqbg6zm2256j21am4ak45krsy";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix
index b1ab9253fd8..b2f6701be87 100644
--- a/pkgs/development/tools/rust/racer/default.nix
+++ b/pkgs/development/tools/rust/racer/default.nix
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
     description = "A utility intended to provide Rust code completion for editors and IDEs";
     homepage = https://github.com/racer-rust/racer;
     license = licenses.mit;
-    maintainers = with maintainers; [ jagajaga globin ];
+    maintainers = with maintainers; [ jagajaga ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix
index 0190283e791..79afb54bfb7 100644
--- a/pkgs/development/tools/scalafmt/default.nix
+++ b/pkgs/development/tools/scalafmt/default.nix
@@ -2,7 +2,7 @@
 
 let
   baseName = "scalafmt";
-  version = "2.0.0";
+  version = "2.0.1";
   deps = stdenv.mkDerivation {
     name = "${baseName}-deps-${version}";
     buildCommand = ''
@@ -13,7 +13,7 @@ let
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "18mf23ssy4lwvsi4pg6m4b003paz5yds5vs7nhl0bfcq57xg6qj1";
+    outputHash     = "1k5qn0w6hqql8yqhlma67ilp8hf0xwxwkzvwg8bkky1jvsapjsl5";
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/solarus-quest-editor/default.nix b/pkgs/development/tools/solarus-quest-editor/default.nix
index c60238b93d2..e0a078415eb 100644
--- a/pkgs/development/tools/solarus-quest-editor/default.nix
+++ b/pkgs/development/tools/solarus-quest-editor/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitLab, cmake, luajit,
+{ lib, mkDerivation, fetchFromGitLab, cmake, luajit,
   SDL2, SDL2_image, SDL2_ttf, physfs,
   openal, libmodplug, libvorbis, solarus,
   qtbase, qttools, glm }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "solarus-quest-editor";
-  version = "1.6.0";
-    
+  version = "1.6.2";
+
   src = fetchFromGitLab {
     owner = "solarus-games";
-    repo = "solarus-quest-editor";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1a7816kaljfh9ynzy9g36mqzzv2p800nnbrja73q6vjfrsv3vq4c";
+    sha256 = "0dq94iw9ldl4p83dqcwjs5ilpkvz5jgdk8rbls8pf8b7afpg36rz";
   };
   
   buildInputs = [ cmake luajit SDL2
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     openal libmodplug libvorbis
     solarus qtbase qttools glm ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The editor for the Zelda-like ARPG game engine, Solarus";
     longDescription = ''
       Solarus is a game engine for Zelda-like ARPG games written in lua.
diff --git a/pkgs/development/tools/statik/default.nix b/pkgs/development/tools/statik/default.nix
index c005ebeee78..d24c3e88b8c 100644
--- a/pkgs/development/tools/statik/default.nix
+++ b/pkgs/development/tools/statik/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  pname = "statik-unstable";
-  version = "2018-11-28";
+  pname = "statik";
+  version = "unstable-2019-07-31";
   goPackagePath = "github.com/rakyll/statik";
   goDeps = ./deps.nix;
 
   src = fetchFromGitHub {
     owner = "rakyll";
     repo = "statik";
-    rev = "79258177a57a85a8ab2eca7ce0936aad80307f4e";
-    sha256 = "14wqh38a7dhm2jgr1lsl2wdvjmkgdapzl2z4a1vl7ncv3x43gkg5";
+    rev = "925a23bda946b50bb0804894f340c5da2b95603b";
+    sha256 = "15wwgrprfq36pa13b9anp7097q1fqcad28hirvivybmc011p0fri";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/trellis/default.nix b/pkgs/development/tools/trellis/default.nix
index 0888130c2d4..1deb2c7a8fc 100644
--- a/pkgs/development/tools/trellis/default.nix
+++ b/pkgs/development/tools/trellis/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     '';
     homepage    = https://github.com/symbiflow/prjtrellis;
     license     = stdenv.lib.licenses.isc;
-    maintainers = with maintainers; [ q3k thoughtpolice ];
-    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ q3k thoughtpolice emily ];
+    platforms   = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix
index 0768e98f73b..b0ede63fb6c 100644
--- a/pkgs/development/web/cypress/default.nix
+++ b/pkgs/development/web/cypress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec{
   pname = "cypress";
-  version = "3.4.0";
+  version = "3.4.1";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "1j59az9j37a61ryvh975bc7bj43qi3dq0871fyambh1j2mby00qn";
+    sha256 = "1gyl5c86gr5sv6z5rkg0afdxqrmsxmyrimm1p5q6jlrlyzki1bfs";
   };
 
   # don't remove runtime deps
diff --git a/pkgs/development/web/remarkjs/default.nix b/pkgs/development/web/remarkjs/default.nix
index f27f143df04..d56819be019 100644
--- a/pkgs/development/web/remarkjs/default.nix
+++ b/pkgs/development/web/remarkjs/default.nix
@@ -62,7 +62,7 @@ in stdenv.mkDerivation rec {
   meta = {
     homepage = http://remarkjs.com;
     description = "A simple, in-browser, markdown-driven slideshow tool";
-    maintainers = [ stdenv.lib.maintainers.rickynils ];
+    maintainers = [];
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.mit;
     broken = true;
diff --git a/pkgs/games/btanks/default.nix b/pkgs/games/btanks/default.nix
index 9de90069a37..5bb7cfa215b 100644
--- a/pkgs/games/btanks/default.nix
+++ b/pkgs/games/btanks/default.nix
@@ -1,34 +1,43 @@
-{ stdenv, fetchurl, fetchpatch, sconsPackages, pkgconfig, SDL, libGLU_combined, zlib, smpeg
-, SDL_image, libvorbis, expat, zip, lua5_1 }:
+{ stdenv, fetchurl, fetchpatch, sconsPackages, pkgconfig, SDL, libGL, zlib, smpeg
+, SDL_image, libvorbis, expat, zip, lua }:
 
 stdenv.mkDerivation rec {
-  name = "battle-tanks-0.9.8083";
+  pname = "btanks";
+  version = "0.9.8083";
 
   src = fetchurl {
-    url = mirror://sourceforge/btanks/btanks-0.9.8083.tar.bz2;
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
     sha256 = "0ha35kxc8xlbg74wsrbapfgxvcrwy6psjkqi7c6adxs55dmcxliz";
   };
 
   nativeBuildInputs = [ sconsPackages.scons_3_0_1 pkgconfig ];
-  buildInputs = [ SDL libGLU_combined zlib smpeg SDL_image libvorbis expat zip lua5_1 ];
+
+  buildInputs = [ SDL libGL zlib smpeg SDL_image libvorbis expat zip lua ];
+
+  enableParallelBuilding = true;
 
   NIX_CFLAGS_COMPILE = "-I${SDL_image}/include/SDL";
 
   patches = [
     (fetchpatch {
-      url = "https://sources.debian.org/data/main/b/btanks/0.9.8083-7/debian/patches/gcc-4.7.patch";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/lua52.patch?h=btanks";
+      sha256 = "0ip563kz6lhwiims5djrxq3mvb7jx9yzkpsqxxhbi9n6qzz7y2az";
+      name = "lua52.patch";
+    })
+    (fetchpatch {
+      url = "https://salsa.debian.org/games-team/btanks/raw/master/debian/patches/gcc-4.7.patch";
       sha256 = "1dxlk1xh69gj10sqcsyckiakb8an3h41206wby4z44mpmvxc7pi4";
     })
     (fetchpatch {
-      url = "https://sources.debian.org/data/main/b/btanks/0.9.8083-7/debian/patches/pow10f.patch";
+      url = "https://salsa.debian.org/games-team/btanks/raw/master/debian/patches/pow10f.patch";
       sha256 = "1h45790v2dpdbccfn6lwfgl8782q54i14cz9gpipkaghcka4y0g9";
     })
   ];
 
   meta = with stdenv.lib; {
-    homepage = https://sourceforge.net/projects/btanks/;
     description = "Fast 2d tank arcade game";
+    homepage = "https://sourceforge.net/projects/btanks/";
     license = licenses.gpl2Plus;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/cutemaze/default.nix b/pkgs/games/cutemaze/default.nix
index 756436c1ffc..24077697218 100644
--- a/pkgs/games/cutemaze/default.nix
+++ b/pkgs/games/cutemaze/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, qmake, qttools, qtsvg }:
+{ stdenv, fetchurl, qmake, qttools, qtsvg, mkDerivation }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "cutemaze";
-  version = "1.2.4";
+  version = "1.2.5";
 
   src = fetchurl {
     url = "https://gottcode.org/cutemaze/${pname}-${version}-src.tar.bz2";
-    sha256 = "0l727j28igs7cx6gvxs43vvzhp3hk0z61df7sprp1vdxzpzzfifl";
+    sha256 = "1xrjv3h1bpbji1dl9hkcvmp6qk4j618saffl41455vhrzn170lrj";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/games/easyrpg-player/default.nix b/pkgs/games/easyrpg-player/default.nix
index 1ebe219a736..dfa57a72864 100644
--- a/pkgs/games/easyrpg-player/default.nix
+++ b/pkgs/games/easyrpg-player/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "easyrpg-player";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "EasyRPG";
     repo = "Player";
     rev = version;
-    sha256 = "0b0c4wwqldjf37sf7zldnbgvfmyqcvpjvhs949gb3r8i5cffzm58";
+    sha256 = "0w4a4jg3py0phsp99nl7abyd31salnc57w4l05a228imvyy0maia";
   };
 
   nativeBuildInputs = [ cmake doxygen pkgconfig ];
diff --git a/pkgs/games/gnome-hexgl/default.nix b/pkgs/games/gnome-hexgl/default.nix
new file mode 100644
index 00000000000..7a720239182
--- /dev/null
+++ b/pkgs/games/gnome-hexgl/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchFromGitHub
+, ninja
+, meson
+, pkgconfig
+, gthree
+, gsound
+, epoxy
+, gtk3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-hexgl";
+  version = "unstable-2019-08-21";
+
+  src = fetchFromGitHub {
+    owner = "alexlarsson";
+    repo = "gnome-hexgl";
+    rev = "c6edde1250b830c7c8ee738905cb39abef67d4a6";
+    sha256 = "17j236damqij8n4a37psvkfxbbc18yw03s3hs0qxgfhl4671wf6z";
+  };
+
+  nativeBuildInputs = [
+    ninja
+    meson
+    pkgconfig
+  ];
+
+  buildInputs = [
+    gthree
+    gsound
+    epoxy
+    gtk3
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Gthree port of HexGL";
+    homepage = https://github.com/alexlarsson/gnome-hexgl;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index 35a19179a52..3ccbdf525ce 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gzdoom";
-  version = "4.1.3";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "coelckers";
     repo = "gzdoom";
     rev = "g${version}";
-    sha256 = "07mkh50gnprrq11kifibvf5yq1hgcqkj7nzprl5kjgjwwlwd76x6";
+    sha256 = "0ifc10y8pdxb6ra38m55k26wb2cwdbjrblx3s24xivmsnkpbn7f6";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/games/multimc/default.nix b/pkgs/games/multimc/default.nix
index a95f88e59b2..e6fa064f387 100644
--- a/pkgs/games/multimc/default.nix
+++ b/pkgs/games/multimc/default.nix
@@ -4,12 +4,12 @@ let
   libpath = with xorg; stdenv.lib.makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio ];
 in mkDerivation rec {
   pname = "multimc";
-  version = "0.6.6";
+  version = "0.6.7";
   src = fetchFromGitHub {
     owner = "MultiMC";
     repo = "MultiMC5";
     rev = version;
-    sha256 = "0a9ciqi73ihw17qmp8l5134py5gjjrdnrk50syl2mllsc1iqj4kf";
+    sha256 = "1i160rmsdvrcnvlr6m2qjwkfx0lqnzrcifjkaklw96ina6z6cg2n";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ cmake file makeWrapper ];
diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix
index c611190b3a9..d9c992199c4 100644
--- a/pkgs/games/openmw/default.nix
+++ b/pkgs/games/openmw/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qtbase, openscenegraph, mygui, bullet, ffmpeg
+{ stdenv, mkDerivation, fetchFromGitHub, qtbase, openscenegraph, mygui, bullet, ffmpeg
 , boost, cmake, SDL2, unshield, openal, libXt, pkgconfig }:
 
 let
@@ -10,7 +10,7 @@ let
       sha256 = "0admnllxic6dcpic0h100927yw766ab55dix002vvdx36i6994jb";
     };
   });
-in stdenv.mkDerivation rec {
+in mkDerivation rec {
   version = "0.45.0";
   pname = "openmw";
 
diff --git a/pkgs/games/solarus/default.nix b/pkgs/games/solarus/default.nix
index 63a29a4f591..68d0f642aef 100644
--- a/pkgs/games/solarus/default.nix
+++ b/pkgs/games/solarus/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitLab, cmake, luajit,
+{ lib, mkDerivation, fetchFromGitLab, cmake, luajit,
   SDL2, SDL2_image, SDL2_ttf, physfs,
   openal, libmodplug, libvorbis,
   qtbase, qttools }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "solarus";
-  version = "1.6.0";
+  version = "1.6.2";
 
   src = fetchFromGitLab {
     owner = "solarus-games";
-    repo = "solarus";
-    rev = "v1.6.0";
-    sha256 = "0mlpa1ijaxy84f7xjgs2kjnpm035b8q9ckva6lg14q49gzy10fr2";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0d0xfjbmamz84aajxfc0fwrj8862xxbxz6n4xnc05r1m4g7gba77";
   };
 
   buildInputs = [ cmake luajit SDL2
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A Zelda-like ARPG game engine";
     longDescription = ''
       Solarus is a game engine for Zelda-like ARPG games written in lua.
diff --git a/pkgs/games/steam/runtime-generated.nix b/pkgs/games/steam/runtime-generated.nix
index 76a472eb3b3..bb4decfda4d 100644
--- a/pkgs/games/steam/runtime-generated.nix
+++ b/pkgs/games/steam/runtime-generated.nix
@@ -4,1854 +4,1854 @@
 {
   amd64 = [
     rec {
-      name = "dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt1_amd64";
-      sha256 = "b07a7fb80789c44bbd3e6d13ea52a35bdba8c6763ff2f8467440358f9d247961";
-      url = "mirror://steamrt/pool/main/d/d-conf/dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt1_amd64.deb";
+      name = "dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt2_amd64";
+      sha256 = "ffb6ecd54fcfa71c1b0e424993d0bda460c988b1794c71bd18a1b38fe20f518f";
+      url = "mirror://steamrt/pool/main/d/d-conf/dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "dconf-gsettings-backend.deb";
       };
     }
     rec {
-      name = "freeglut3_2.6.0-1ubuntu3+srt5_amd64";
-      sha256 = "b9e40df159aa578f88fde2f63abb78ead8bb8bf8ce1eb214e55330115aefb722";
-      url = "mirror://steamrt/pool/main/f/freeglut/freeglut3_2.6.0-1ubuntu3+srt5_amd64.deb";
+      name = "freeglut3_2.6.0-1ubuntu3+srt6_amd64";
+      sha256 = "fd8f63c5b1b6ca45525c3fc8b47cdd4b2a9598825cbf0239dbbf6534c6c88ac3";
+      url = "mirror://steamrt/pool/main/f/freeglut/freeglut3_2.6.0-1ubuntu3+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "freeglut3.deb";
       };
     }
     rec {
-      name = "gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt1_amd64";
-      sha256 = "000b4548744f9268f48f7cc7511d4da4c17130c3ed2596a4f2d226df7e71b499";
-      url = "mirror://steamrt/pool/main/g/gcc-4.6/gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt1_amd64.deb";
+      name = "gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt2_amd64";
+      sha256 = "5536b70afbf1d8337be4c3923feb6943210452a0ec0b813e761148f7c6754f66";
+      url = "mirror://steamrt/pool/main/g/gcc-4.6/gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gcc-4.6-base.deb";
       };
     }
     rec {
-      name = "gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt1_amd64";
-      sha256 = "9e49b2fade9ab9f7befdfe96655c4fa259d323ed70e948f81b49c9abd1a194ab";
-      url = "mirror://steamrt/pool/main/g/gcc-5/gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt1_amd64.deb";
+      name = "gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt2_amd64";
+      sha256 = "7a83c2837bedbf1713fcada1b662fe00fd35128a5b473a9476a6ef5117a8851f";
+      url = "mirror://steamrt/pool/main/g/gcc-5/gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gcc-5-base.deb";
       };
     }
     rec {
-      name = "gtk2-engines_2.20.2-1ubuntu1+srt5_amd64";
-      sha256 = "9eceb8364749a078932c022b4f5156e72e12fa6252d075b83be3b9cc5a534af0";
-      url = "mirror://steamrt/pool/main/g/gtk2-engines/gtk2-engines_2.20.2-1ubuntu1+srt5_amd64.deb";
+      name = "gtk2-engines_2.20.2-1ubuntu1+srt6_amd64";
+      sha256 = "b3662d8327d2125c131960fda3025ebaf4c8eee2d1050b29d00c07788185d7b5";
+      url = "mirror://steamrt/pool/main/g/gtk2-engines/gtk2-engines_2.20.2-1ubuntu1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gtk2-engines.deb";
       };
     }
     rec {
-      name = "gtk2-engines-murrine_0.98.2-0ubuntu1+srt5_amd64";
-      sha256 = "4ea2b5fdc76c0313307a4facee08b149ce4e29039ffbbf28311c7f018aa90b3b";
-      url = "mirror://steamrt/pool/main/g/gtk2-engines-murrine/gtk2-engines-murrine_0.98.2-0ubuntu1+srt5_amd64.deb";
+      name = "gtk2-engines-murrine_0.98.2-0ubuntu1+srt6_amd64";
+      sha256 = "5a080ffc6aaeaf534ec417690b38e0774b8ee2abef27e039d2bb99f003757746";
+      url = "mirror://steamrt/pool/main/g/gtk2-engines-murrine/gtk2-engines-murrine_0.98.2-0ubuntu1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gtk2-engines-murrine.deb";
       };
     }
     rec {
-      name = "gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt5_amd64";
-      sha256 = "21db80f60a87a31e55cd5504f6100d5f0e85963799fdbaa7766e483a5019a415";
-      url = "mirror://steamrt/pool/main/g/gtk+2.0/gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt5_amd64.deb";
+      name = "gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt6_amd64";
+      sha256 = "ff475fb9fb6f99f2bafba816365d3c73b1d7c43a7757ba1cdaab83f0c1dd0e55";
+      url = "mirror://steamrt/pool/main/g/gtk+2.0/gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gtk2-engines-pixbuf.deb";
       };
     }
     rec {
-      name = "libacl1_2.2.51-5ubuntu1+steamrt1.1+srt2_amd64";
-      sha256 = "5214d9a356e4ecd87875b460709f41f4d02e754ae8fe794db22aa672b737d72a";
-      url = "mirror://steamrt/pool/main/a/acl/libacl1_2.2.51-5ubuntu1+steamrt1.1+srt2_amd64.deb";
+      name = "libacl1_2.2.51-5ubuntu1+steamrt1.1+srt4_amd64";
+      sha256 = "569b7e36f1cfe20320d2701573d16040e94f988e78cc5294ad308fe462d62af7";
+      url = "mirror://steamrt/pool/main/a/acl/libacl1_2.2.51-5ubuntu1+steamrt1.1+srt4_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libacl1.deb";
       };
     }
     rec {
-      name = "libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt1_amd64";
-      sha256 = "b77ef6a82c1ffefc25a703ed7d1238117ab9cbe08040771e2b926dc2dcd043a7";
-      url = "mirror://steamrt/pool/main/liba/libappindicator/libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt1_amd64.deb";
+      name = "libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt2_amd64";
+      sha256 = "6186fe0e57e9d19e6e3bd85786ebf0bbe0c85333d187d8fa4fb9ef7b1d24a0e8";
+      url = "mirror://steamrt/pool/main/liba/libappindicator/libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libappindicator1.deb";
       };
     }
     rec {
-      name = "libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "68414d37c56ecd736f3f324e6f6de51a470a5862a79fdc00f97155343c4c2b56";
-      url = "mirror://steamrt/pool/main/h/heimdal/libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
+      name = "libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64";
+      sha256 = "482beec798f517ab4f58a898bc5ecec64572ad22e6f694a5f716c17289556484";
+      url = "mirror://steamrt/pool/main/h/heimdal/libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libasn1-8-heimdal.deb";
       };
     }
     rec {
-      name = "libasound2_1.1.0-0ubuntu1+steamos1+srt2_amd64";
-      sha256 = "5e3dfdd7a5d318faa34af21e5536c3c02efe66a72577296a265a03c1a88ca415";
-      url = "mirror://steamrt/pool/main/a/alsa-lib/libasound2_1.1.0-0ubuntu1+steamos1+srt2_amd64.deb";
+      name = "libasound2_1.1.0-0ubuntu1+steamos1+srt3_amd64";
+      sha256 = "66ef2c49e4d7a25ad0e3e04ef3105150f7a70a99f14d1ae7a1c1a8a6c324bb15";
+      url = "mirror://steamrt/pool/main/a/alsa-lib/libasound2_1.1.0-0ubuntu1+steamos1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libasound2.deb";
       };
     }
     rec {
-      name = "libasound2-plugins_1.1.0-0ubuntu1+srt2_amd64";
-      sha256 = "95fb4fb8c570debe6da7f515b3aff2d33f6e06ec0a189506606938adcf4f4ab7";
-      url = "mirror://steamrt/pool/main/a/alsa-plugins/libasound2-plugins_1.1.0-0ubuntu1+srt2_amd64.deb";
+      name = "libasound2-plugins_1.1.0-0ubuntu1+srt3_amd64";
+      sha256 = "019bd4bf086b573eacf9ddc9c75527f3e8b91a338e6db50b6c9c97435bf55faf";
+      url = "mirror://steamrt/pool/main/a/alsa-plugins/libasound2-plugins_1.1.0-0ubuntu1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libasound2-plugins.deb";
       };
     }
     rec {
-      name = "libasyncns0_0.8-4+srt5_amd64";
-      sha256 = "f7a878597f1caff3c0e66f0e072b5711ef6c700d1bcaa76ef0c3fbac4fa5cf02";
-      url = "mirror://steamrt/pool/main/liba/libasyncns/libasyncns0_0.8-4+srt5_amd64.deb";
+      name = "libasyncns0_0.8-4+srt6_amd64";
+      sha256 = "308bdf466ad5ce87f2a27712d4e4a6e41747d001fc0ded53760238357e14dec8";
+      url = "mirror://steamrt/pool/main/liba/libasyncns/libasyncns0_0.8-4+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libasyncns0.deb";
       };
     }
     rec {
-      name = "libatk1.0-0_2.18.0-1+steamrt1+srt1_amd64";
-      sha256 = "64828e036f68114544211ecedb15f558adb323c49aaad717a7fcd6ce6e9a49e7";
-      url = "mirror://steamrt/pool/main/a/atk1.0/libatk1.0-0_2.18.0-1+steamrt1+srt1_amd64.deb";
+      name = "libatk1.0-0_2.18.0-1+steamrt1+srt2_amd64";
+      sha256 = "925f2a756aaf0a5df10cd67f1cee965e813a1556076a1d72904d32531e37a675";
+      url = "mirror://steamrt/pool/main/a/atk1.0/libatk1.0-0_2.18.0-1+steamrt1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libatk1.0-0.deb";
       };
     }
     rec {
-      name = "libattr1_2.4.46-5ubuntu1+steamrt1.1+srt1_amd64";
-      sha256 = "7643093860808413a2d844ec83577689a7e5c17b7d8442318e02d9df18c329b4";
-      url = "mirror://steamrt/pool/main/a/attr/libattr1_2.4.46-5ubuntu1+steamrt1.1+srt1_amd64.deb";
+      name = "libattr1_2.4.46-5ubuntu1+steamrt1.1+srt2_amd64";
+      sha256 = "d33b00c3e19337f3abbb070f646adda7420f171f5487dca5e253b68b63a4d8fc";
+      url = "mirror://steamrt/pool/main/a/attr/libattr1_2.4.46-5ubuntu1+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libattr1.deb";
       };
     }
     rec {
-      name = "libavahi-client3_0.6.30-5ubuntu2.2+srt1_amd64";
-      sha256 = "8894d3887993f940ad9c89b0506d480044f30f16bff32532ed79047a55543313";
-      url = "mirror://steamrt/pool/main/a/avahi/libavahi-client3_0.6.30-5ubuntu2.2+srt1_amd64.deb";
+      name = "libavahi-client3_0.6.30-5ubuntu2.2+srt2_amd64";
+      sha256 = "029084e3bf5b2a3756b80a1f01c544c59e20f940df025fab366315ee57362955";
+      url = "mirror://steamrt/pool/main/a/avahi/libavahi-client3_0.6.30-5ubuntu2.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavahi-client3.deb";
       };
     }
     rec {
-      name = "libavahi-common3_0.6.30-5ubuntu2.2+srt1_amd64";
-      sha256 = "333fad3b34baa24830a470ce52850c4e54562807da9ffc8a51561c30f4295da8";
-      url = "mirror://steamrt/pool/main/a/avahi/libavahi-common3_0.6.30-5ubuntu2.2+srt1_amd64.deb";
+      name = "libavahi-common3_0.6.30-5ubuntu2.2+srt2_amd64";
+      sha256 = "74e66fe1aa34c4c01b3f97ae66c8d70729041010239b9a29aa44e6a9267224d6";
+      url = "mirror://steamrt/pool/main/a/avahi/libavahi-common3_0.6.30-5ubuntu2.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavahi-common3.deb";
       };
     }
     rec {
-      name = "libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64";
-      sha256 = "2202dd8649cc573a340685a02a8f6aae48515340e609cc63315bda82adb6f572";
-      url = "mirror://steamrt/pool/main/liba/libav/libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64.deb";
+      name = "libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_amd64";
+      sha256 = "640d2e1da02b06f0eb07e8523c3e0b80e2cf8e2267e6a108e764608e8ea84567";
+      url = "mirror://steamrt/pool/main/liba/libav/libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavcodec53.deb";
       };
     }
     rec {
-      name = "libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64";
-      sha256 = "26a07e0d0178450a5b30d63d2ae6f618a372537f9aca28dcb9eab00721acfdf6";
-      url = "mirror://steamrt/pool/main/liba/libav/libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64.deb";
+      name = "libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_amd64";
+      sha256 = "ded33a41e70937a85e182146f9250de70afa82382ef9ca6cf5821fcbcf1a7bcc";
+      url = "mirror://steamrt/pool/main/liba/libav/libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavfilter2.deb";
       };
     }
     rec {
-      name = "libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64";
-      sha256 = "4b28e98b1871fd88170f0965bd255e879d6738681d7e54ea8ed62f0d69e91b2d";
-      url = "mirror://steamrt/pool/main/liba/libav/libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64.deb";
+      name = "libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_amd64";
+      sha256 = "917fddb6d84cc2d8653d231790fd0f6d156d9952dc7d5943594264b27e6123f8";
+      url = "mirror://steamrt/pool/main/liba/libav/libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavformat53.deb";
       };
     }
     rec {
-      name = "libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64";
-      sha256 = "4aa9573d39504d1c4173b4578e34063f48ebab82455e6ef3b7fc65a09d6d6bbc";
-      url = "mirror://steamrt/pool/main/liba/libav/libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64.deb";
+      name = "libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_amd64";
+      sha256 = "8926a2b4ad3455bd52acd79a1856bc56f30dbe0ae707799145bc202d790d98a4";
+      url = "mirror://steamrt/pool/main/liba/libav/libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavutil51.deb";
       };
     }
     rec {
-      name = "libbz2-1.0_1.0.6-1+srt5_amd64";
-      sha256 = "dfa6804a194a484d3a8a1a263447188149d26b287ad2a5326dfe7e663d01de10";
-      url = "mirror://steamrt/pool/main/b/bzip2/libbz2-1.0_1.0.6-1+srt5_amd64.deb";
+      name = "libbz2-1.0_1.0.6-1+srt6_amd64";
+      sha256 = "de6070b158a146130fbcb658c29e15b48b54fa9b30e36f63a624c38e8a37eb53";
+      url = "mirror://steamrt/pool/main/b/bzip2/libbz2-1.0_1.0.6-1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libbz2-1.0.deb";
       };
     }
     rec {
-      name = "libcairo2_1.10.2-6.1ubuntu3+srt5_amd64";
-      sha256 = "04cfbe6905db98d012ef7bd6e2cb9f954a836f0bbddba1c5ccba3b98e87f02c9";
-      url = "mirror://steamrt/pool/main/c/cairo/libcairo2_1.10.2-6.1ubuntu3+srt5_amd64.deb";
+      name = "libcairo2_1.10.2-6.1ubuntu3+srt6_amd64";
+      sha256 = "ae0bccbd5b92c8973e217b4ef3d203f4a70bffaf9849218c70f869ff875abe41";
+      url = "mirror://steamrt/pool/main/c/cairo/libcairo2_1.10.2-6.1ubuntu3+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcairo2.deb";
       };
     }
     rec {
-      name = "libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt1_amd64";
-      sha256 = "26ee106ae63b85940b0ec5a997ed320875cbf55280b13585c54cf03ff4c4ae82";
-      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt1_amd64.deb";
+      name = "libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt2_amd64";
+      sha256 = "9daaabe65bf3a1f6c025f12dfe435a987ad1818c924581167d225c7ee1176e20";
+      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcanberra-gtk-module.deb";
       };
     }
     rec {
-      name = "libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt1_amd64";
-      sha256 = "b8dbf6069f10c124e101827e9355fed29502605de339c536e394b743be51a7c6";
-      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt1_amd64.deb";
+      name = "libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt2_amd64";
+      sha256 = "42c3f2eae158e44c20969ae5faec17fe33732ff66ca4d21b824abd98b7adcebb";
+      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcanberra-gtk0.deb";
       };
     }
     rec {
-      name = "libcanberra0_0.28-3ubuntu3+steamrt1.1+srt1_amd64";
-      sha256 = "380ef6beaafb997365779c7e0f32b9dbac51e134407fc6b5bcd62c7fc26994ae";
-      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra0_0.28-3ubuntu3+steamrt1.1+srt1_amd64.deb";
+      name = "libcanberra0_0.28-3ubuntu3+steamrt1.1+srt2_amd64";
+      sha256 = "5897f63afef8ca38ccff2b9a3a125962515b0c662cbff6779520a1170381dcc4";
+      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra0_0.28-3ubuntu3+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcanberra0.deb";
       };
     }
     rec {
-      name = "libcap2_2.22-1ubuntu3+srt5_amd64";
-      sha256 = "fe725e13db6db7e45c960f560388380a4e5d84477acbdb0e37399e2bf6ba522f";
-      url = "mirror://steamrt/pool/main/libc/libcap2/libcap2_2.22-1ubuntu3+srt5_amd64.deb";
+      name = "libcap2_2.22-1ubuntu3+srt6_amd64";
+      sha256 = "f662a8f54a17393aa3933d160c2622b1f5ce2524d791aa5555986c056842af47";
+      url = "mirror://steamrt/pool/main/libc/libcap2/libcap2_2.22-1ubuntu3+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcap2.deb";
       };
     }
     rec {
-      name = "libcg_3.0.0016-0ubuntu1+srt5_amd64";
-      sha256 = "2b570e1df87a75399006e0d4d48569ef8cc70c05e6935637ad1bde99276194b4";
-      url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/libcg_3.0.0016-0ubuntu1+srt5_amd64.deb";
+      name = "libcg_3.0.0016-0ubuntu1+srt6_amd64";
+      sha256 = "6e627aa3ff1724ec8759431f3ead530f4c1511eb2b881d168a1929c8eac2e196";
+      url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/libcg_3.0.0016-0ubuntu1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcg.deb";
       };
     }
     rec {
-      name = "libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt1_amd64";
-      sha256 = "326c086493ea51a5aad78d52994dcae849124d5ed52cb89de5da8c6e848b766b";
-      url = "mirror://steamrt/pool/main/e/e2fsprogs/libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt1_amd64.deb";
+      name = "libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt2_amd64";
+      sha256 = "c1169c34025975c72ea3f10034aab4d105d14ce345677c1736c951311433a787";
+      url = "mirror://steamrt/pool/main/e/e2fsprogs/libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcomerr2.deb";
       };
     }
     rec {
-      name = "libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt2_amd64";
-      sha256 = "4950fbfe5fa9fe5f169fc4541df034aa51ad26eb61529c5b0f3f2251dad84e04";
-      url = "mirror://steamrt/pool/main/c/cups/libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt2_amd64.deb";
+      name = "libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt3_amd64";
+      sha256 = "2e3156827d1d62c9aae38096114ad285c3b3e931b74248a9d88e3aca7f1661e2";
+      url = "mirror://steamrt/pool/main/c/cups/libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcups2.deb";
       };
     }
     rec {
-      name = "libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt4_amd64";
-      sha256 = "f1832f639bfdf46549ce6ca9d3578b2479946772f6858077575a27aff0365efe";
-      url = "mirror://steamrt/pool/main/c/curl/libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt4_amd64.deb";
+      name = "libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt5_amd64";
+      sha256 = "a3c56793a0751a819897d5cd40562e0bd04b0c1fe56e4f865f0f1653e7190bab";
+      url = "mirror://steamrt/pool/main/c/curl/libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcurl3.deb";
       };
     }
     rec {
-      name = "libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt4_amd64";
-      sha256 = "28c646abb645155fd27feaa1aa1d77e72aca388b176087b94a9621336fb52995";
-      url = "mirror://steamrt/pool/main/c/curl/libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt4_amd64.deb";
+      name = "libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt5_amd64";
+      sha256 = "0692b46e931815d81421198c35b9c0923d7685c3d2541ad8cc3251d18981305d";
+      url = "mirror://steamrt/pool/main/c/curl/libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcurl3-gnutls.deb";
       };
     }
     rec {
-      name = "libdbus-1-3_1.4.18-1ubuntu1.8+srt1_amd64";
-      sha256 = "ea5b230bcab9e5be85315279f4c4c36eaa0650b3308cb97ee8282da3051638d4";
-      url = "mirror://steamrt/pool/main/d/dbus/libdbus-1-3_1.4.18-1ubuntu1.8+srt1_amd64.deb";
+      name = "libdbus-1-3_1.4.18-1ubuntu1.8+srt2_amd64";
+      sha256 = "dfe95df67d3777935d834a8008c10135e264c5d6f351e05bf8a716277b6dc27e";
+      url = "mirror://steamrt/pool/main/d/dbus/libdbus-1-3_1.4.18-1ubuntu1.8+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libdbus-1-3.deb";
       };
     }
     rec {
-      name = "libdbus-glib-1-2_0.98-1ubuntu1.1+srt5_amd64";
-      sha256 = "132a5d8e900444de56fc9972304470f09f30f7a6f7fd082b76191650b0df66b8";
-      url = "mirror://steamrt/pool/main/d/dbus-glib/libdbus-glib-1-2_0.98-1ubuntu1.1+srt5_amd64.deb";
+      name = "libdbus-glib-1-2_0.98-1ubuntu1.1+srt6_amd64";
+      sha256 = "99654df8544d529f99d7dd1c1f33130ee0559e9eea7d11be482ffc708df18be0";
+      url = "mirror://steamrt/pool/main/d/dbus-glib/libdbus-glib-1-2_0.98-1ubuntu1.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libdbus-glib-1-2.deb";
       };
     }
     rec {
-      name = "libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt5_amd64";
-      sha256 = "7f4109719cec113c767e9ae69a88677cf29c8fdc6682e8af9c7cb72c17e69c18";
-      url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt5_amd64.deb";
+      name = "libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt6_amd64";
+      sha256 = "306683272e142aca19af212f7cb880a8f61df049a03f3dfa98e7a0a6fd4e7af6";
+      url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libdbusmenu-glib4.deb";
       };
     }
     rec {
-      name = "libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt5_amd64";
-      sha256 = "b8ff1f1888345f142d7d6793cd3c9a65492b6e0ac2ebe464567119280f554f6d";
-      url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt5_amd64.deb";
+      name = "libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt6_amd64";
+      sha256 = "abe8a9e28aae2486618c88807099f61a207993bf69fdfdf53241705a14697de9";
+      url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libdbusmenu-gtk4.deb";
       };
     }
     rec {
-      name = "libexif12_0.6.20-2ubuntu0.1+srt5_amd64";
-      sha256 = "27972c0e43e0da7905f6bb99372fa0b0e5fa62d71d51ceee572678bd9d173397";
-      url = "mirror://steamrt/pool/main/libe/libexif/libexif12_0.6.20-2ubuntu0.1+srt5_amd64.deb";
+      name = "libexif12_0.6.20-2ubuntu0.1+srt6_amd64";
+      sha256 = "adb05c68a77601a6c133d8bd2fcd0e6dccc7fd9e75b70b191e0fee26dd03c1ae";
+      url = "mirror://steamrt/pool/main/libe/libexif/libexif12_0.6.20-2ubuntu0.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libexif12.deb";
       };
     }
     rec {
-      name = "libexpat1_2.0.1-7.2ubuntu1.4+srt2_amd64";
-      sha256 = "c2eff4ec5f4a0178a815ed13db37f2523b2533e80351afb7a5b3ae0b842bb65d";
-      url = "mirror://steamrt/pool/main/e/expat/libexpat1_2.0.1-7.2ubuntu1.4+srt2_amd64.deb";
+      name = "libexpat1_2.0.1-7.2ubuntu1.4+srt3_amd64";
+      sha256 = "a34f7459aec8881fac938cf0effae996731ad7de5ffa452747b890238e81a9bf";
+      url = "mirror://steamrt/pool/main/e/expat/libexpat1_2.0.1-7.2ubuntu1.4+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libexpat1.deb";
       };
     }
     rec {
-      name = "libffi6_3.0.11~rc1-5+srt5_amd64";
-      sha256 = "3a5977b1f1fed34698aaf547d21fafd15625e43e0d787d135095267d86428244";
-      url = "mirror://steamrt/pool/main/libf/libffi/libffi6_3.0.11~rc1-5+srt5_amd64.deb";
+      name = "libffi6_3.0.11~rc1-5+srt6_amd64";
+      sha256 = "20fd1ae66aec76d8e70bf144b910c5b5e2acb426bfaef0f91ab48002c31ef0dc";
+      url = "mirror://steamrt/pool/main/libf/libffi/libffi6_3.0.11~rc1-5+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libffi6.deb";
       };
     }
     rec {
-      name = "libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt1_amd64";
-      sha256 = "026eeff020f51920406340c0942bf1a9f3ab50523db01c92b3a3eabef88c138e";
-      url = "mirror://steamrt/pool/main/f/flac/libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt1_amd64.deb";
+      name = "libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt2_amd64";
+      sha256 = "11299782d3bf532468cdd2c1599a170b8f2704a9efb44f703b68d7434a44dc57";
+      url = "mirror://steamrt/pool/main/f/flac/libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libflac8.deb";
       };
     }
     rec {
-      name = "libfltk1.1_1.1.10-10+srt5_amd64";
-      sha256 = "12ed3c0a1796ebf9239d463c3d52d2076633b3a24f836ba067b0d05c56153d7f";
-      url = "mirror://steamrt/pool/main/f/fltk1.1/libfltk1.1_1.1.10-10+srt5_amd64.deb";
+      name = "libfltk1.1_1.1.10-10+srt6_amd64";
+      sha256 = "d730436f36dfaa7084ae920b74c66e647d35824e5c15af5614a96ccb5681b4d1";
+      url = "mirror://steamrt/pool/main/f/fltk1.1/libfltk1.1_1.1.10-10+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libfltk1.1.deb";
       };
     }
     rec {
-      name = "libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt1_amd64";
-      sha256 = "52ab410845cfa4fac8ed46fab34e25c24870ff09241ad496353d78d4549a7ae0";
-      url = "mirror://steamrt/pool/main/f/fontconfig/libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt1_amd64.deb";
+      name = "libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt2_amd64";
+      sha256 = "304987ffdaf6834666a1fadb7af2eeb9d73d9f07aecfccd3426d9b51c9a05d95";
+      url = "mirror://steamrt/pool/main/f/fontconfig/libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libfontconfig1.deb";
       };
     }
     rec {
-      name = "libfreetype6_2.4.8-1ubuntu2.6+srt1_amd64";
-      sha256 = "1c84c28b782b2f1f05a5e6335286ccf0a012e5062b707f5038f1b4b4226fe407";
-      url = "mirror://steamrt/pool/main/f/freetype/libfreetype6_2.4.8-1ubuntu2.6+srt1_amd64.deb";
+      name = "libfreetype6_2.4.8-1ubuntu2.6+srt2_amd64";
+      sha256 = "d1450fd3f275513d5721d92f142439e88a5e544ccaa05b33abe5a68f802ee44c";
+      url = "mirror://steamrt/pool/main/f/freetype/libfreetype6_2.4.8-1ubuntu2.6+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libfreetype6.deb";
       };
     }
     rec {
-      name = "libgcc1_5.4.0-7.really.6+steamrt1.2+srt1_amd64";
-      sha256 = "900c11735725034c857c79b59f35f53bf0eeec8d3e59faef01163dd3ab7af4b7";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libgcc1_5.4.0-7.really.6+steamrt1.2+srt1_amd64.deb";
+      name = "libgcc1_5.4.0-7.really.6+steamrt1.2+srt2_amd64";
+      sha256 = "5b62d49aa9ec9cd8ca7af2e677cba9714be641cbf6eed9835a48a65fc8cd79fa";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libgcc1_5.4.0-7.really.6+steamrt1.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgcc1.deb";
       };
     }
     rec {
-      name = "libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt1_amd64";
-      sha256 = "c736608948357993c1cf2619b0a0ea466de1bdec5a2cc0e347620ec756815edf";
-      url = "mirror://steamrt/pool/main/g/gconf/libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt1_amd64.deb";
+      name = "libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt2_amd64";
+      sha256 = "086f7ba27b92e13149970230a8ce6e30b41c9cd3585ad9dc075114e37d38ef6b";
+      url = "mirror://steamrt/pool/main/g/gconf/libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgconf-2-4.deb";
       };
     }
     rec {
-      name = "libgcrypt11_1.5.0-3ubuntu0.6+srt2_amd64";
-      sha256 = "0c266bcb26ee44170d2b912927ddcfd710c3935f40309457843fd1d21df73b5c";
-      url = "mirror://steamrt/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-3ubuntu0.6+srt2_amd64.deb";
+      name = "libgcrypt11_1.5.0-3ubuntu0.6+srt3_amd64";
+      sha256 = "cfbaa394f5b70ef67bfe69dbe4b3e1232493f3f9558e9f325a82606c5ca10d95";
+      url = "mirror://steamrt/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-3ubuntu0.6+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgcrypt11.deb";
       };
     }
     rec {
-      name = "libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt5_amd64";
-      sha256 = "0557a2cd2bb5700725ed0242b7169c5f449f22e95973387fa28a2faf20e0a2ce";
-      url = "mirror://steamrt/pool/main/g/gdk-pixbuf/libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt5_amd64.deb";
+      name = "libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt6_amd64";
+      sha256 = "87c93570fafa2c53e86fb2b0e047823cfa59f4e704155b22865237e9bdb26e38";
+      url = "mirror://steamrt/pool/main/g/gdk-pixbuf/libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgdk-pixbuf2.0-0.deb";
       };
     }
     rec {
-      name = "libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt5_amd64";
-      sha256 = "fc7c92ec95943ea6f904fcc477821e99f8127786dbebe19f39d562414684f341";
-      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt5_amd64.deb";
+      name = "libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt6_amd64";
+      sha256 = "0b6d862d319bd494656d859847fd1e79cd67334ad26bed7a5d32580e28e42752";
+      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgl1-mesa-dri.deb";
       };
     }
     rec {
-      name = "libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt5_amd64";
-      sha256 = "7257a5ef7a5e0bb0a70f435e17a50989e497dbe02bc0a15d9dd1747a2ae2cb39";
-      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt5_amd64.deb";
+      name = "libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt6_amd64";
+      sha256 = "477764d0cccb49972bbabf3b23bed76fee194e95067d5e32e136e542388fb244";
+      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgl1-mesa-glx.deb";
       };
     }
     rec {
-      name = "libglew1.10_1.10.0-3+srt6_amd64";
-      sha256 = "800aa6eb27c42dec4c429c45ccd58f0074e41c7686a3279f4c20e5ff1d2f89a7";
-      url = "mirror://steamrt/pool/main/g/glew/libglew1.10_1.10.0-3+srt6_amd64.deb";
+      name = "libglew1.10_1.10.0-3+srt7_amd64";
+      sha256 = "87b1eaba67db9b0bc95af86474cfb3ff58bcfde79dbe6b2109f4d2d8b3ce55f4";
+      url = "mirror://steamrt/pool/main/g/glew/libglew1.10_1.10.0-3+srt7_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libglew1.10.deb";
       };
     }
     rec {
-      name = "libglew1.6_1.6.0-4+steamrt1.1+srt1_amd64";
-      sha256 = "9b39d3400ba9c837dcd01357bfb29a8082c795d65954c5f5acb88adb902a046e";
-      url = "mirror://steamrt/pool/main/g/glew1.6/libglew1.6_1.6.0-4+steamrt1.1+srt1_amd64.deb";
+      name = "libglew1.6_1.6.0-4+steamrt1.1+srt2_amd64";
+      sha256 = "fe4a558b78d54fdd47cee908d49eccfae21cffa612e1f0c0ec5f6a56d8ac4ab3";
+      url = "mirror://steamrt/pool/main/g/glew1.6/libglew1.6_1.6.0-4+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libglew1.6.deb";
       };
     }
     rec {
-      name = "libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt2_amd64";
-      sha256 = "630c47b0052c0dc25f5c76f9806d4736f3ba0c7ffcc8611e2c780fea2f030bfe";
-      url = "mirror://steamrt/pool/main/g/glib2.0/libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt2_amd64.deb";
+      name = "libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt3_amd64";
+      sha256 = "5668f2b4fc30179312c2b83117f692dfef97cfae8303c6336dd3f03289471c02";
+      url = "mirror://steamrt/pool/main/g/glib2.0/libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libglib2.0-0.deb";
       };
     }
     rec {
-      name = "libglu1-mesa_8.0.4-0ubuntu0.7+srt5_amd64";
-      sha256 = "5ee4bd6aef43b65cacb350ee51dfeb306cb2e585a0e18803cc93ca02d1e3de09";
-      url = "mirror://steamrt/pool/main/m/mesa/libglu1-mesa_8.0.4-0ubuntu0.7+srt5_amd64.deb";
+      name = "libglu1-mesa_8.0.4-0ubuntu0.7+srt6_amd64";
+      sha256 = "2e137819d70e788476d96532d59da39de8de084386d59e05c37ab0cc60723076";
+      url = "mirror://steamrt/pool/main/m/mesa/libglu1-mesa_8.0.4-0ubuntu0.7+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libglu1-mesa.deb";
       };
     }
     rec {
-      name = "libgmp10_6.1.0+dfsg-2+srt1_amd64";
-      sha256 = "5a1d6d3a757c1a670cafcd6795a2c2e97e051aee3b7058edfab788dfe87d18e0";
-      url = "mirror://steamrt/pool/main/g/gmp/libgmp10_6.1.0+dfsg-2+srt1_amd64.deb";
+      name = "libgmp10_6.1.0+dfsg-2+srt2_amd64";
+      sha256 = "c768e53e58f4baf44707c79cd3c00320f974674a544fd384a8575a4243773689";
+      url = "mirror://steamrt/pool/main/g/gmp/libgmp10_6.1.0+dfsg-2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgmp10.deb";
       };
     }
     rec {
-      name = "libgnutls26_2.12.14-5ubuntu3.14+srt1_amd64";
-      sha256 = "2ff5639ce90b928b1f681424503a59e929f1129185444ea33159c040630e54a6";
-      url = "mirror://steamrt/pool/main/g/gnutls26/libgnutls26_2.12.14-5ubuntu3.14+srt1_amd64.deb";
+      name = "libgnutls26_2.12.14-5ubuntu3.14+srt2_amd64";
+      sha256 = "6dfc2c19deeaa0272a291d7b3d4fee5ee57b36806b578f1b43f82ab9708c5fad";
+      url = "mirror://steamrt/pool/main/g/gnutls26/libgnutls26_2.12.14-5ubuntu3.14+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgnutls26.deb";
       };
     }
     rec {
-      name = "libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt3_amd64";
-      sha256 = "c4eb9fcb5bbc16a7bb13c886f1e623ce6506c64cb6697adcad9e29d00f0c35a8";
-      url = "mirror://steamrt/pool/main/g/gnutls28/libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt3_amd64.deb";
+      name = "libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt4_amd64";
+      sha256 = "3fb1f7644d1c83c1cf2271dd6e30dde50adf5ada859530431d205ba24cef8734";
+      url = "mirror://steamrt/pool/main/g/gnutls28/libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt4_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgnutls30.deb";
       };
     }
     rec {
-      name = "libgomp1_5.4.0-7.really.6+steamrt1.2+srt1_amd64";
-      sha256 = "2ce27527cf3da680305e7f1488ccb85a18b270551e69839b4dcbec817e8dd511";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libgomp1_5.4.0-7.really.6+steamrt1.2+srt1_amd64.deb";
+      name = "libgomp1_5.4.0-7.really.6+steamrt1.2+srt2_amd64";
+      sha256 = "5cc4b7fbddaf915f8024038e13f4d3d13c939295857d5d771706063ef7c5ffd0";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libgomp1_5.4.0-7.really.6+steamrt1.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgomp1.deb";
       };
     }
     rec {
-      name = "libgpg-error0_1.10-2ubuntu1+srt5_amd64";
-      sha256 = "fe26c864db847cef75147394f9a869be4c6de00d6b598ca78a5e6f9cb72efbdd";
-      url = "mirror://steamrt/pool/main/libg/libgpg-error/libgpg-error0_1.10-2ubuntu1+srt5_amd64.deb";
+      name = "libgpg-error0_1.10-2ubuntu1+srt6_amd64";
+      sha256 = "9119af854fbc1228975cebafbd1bf232c421b4929a8928d2a47d3adbbffc047e";
+      url = "mirror://steamrt/pool/main/libg/libgpg-error/libgpg-error0_1.10-2ubuntu1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgpg-error0.deb";
       };
     }
     rec {
-      name = "libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64";
-      sha256 = "ecff8ea7262cc7b03b45b520d30e99687b729168adf94e75b5752708f43869db";
-      url = "mirror://steamrt/pool/main/k/krb5/libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64.deb";
+      name = "libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt3_amd64";
+      sha256 = "cf5f6fcc04896db6d215edcd5503a71460ac4f5109fa74036147aa9bb93a1a35";
+      url = "mirror://steamrt/pool/main/k/krb5/libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgssapi-krb5-2.deb";
       };
     }
     rec {
-      name = "libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "3e2e86ebbe7fe999836bc526ed472703aa63008472358316fa579ec73976070a";
-      url = "mirror://steamrt/pool/main/h/heimdal/libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
+      name = "libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64";
+      sha256 = "6492aa21a54ef1c9123df4e30cd35f5ecc096bf519f359bc1a19a93513d42646";
+      url = "mirror://steamrt/pool/main/h/heimdal/libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgssapi3-heimdal.deb";
       };
     }
     rec {
-      name = "libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt1_amd64";
-      sha256 = "2e7cac14196492d42674f819f42367d3a4736f4aa43bb3419c7dbd2d81ecd0a0";
-      url = "mirror://steamrt/pool/main/g/gst-plugins-base0.10/libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt1_amd64.deb";
+      name = "libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt2_amd64";
+      sha256 = "4ef292b7e2e1e449f795a7204bc114c4f4cfcc3a8d34aaa85f7effbb967033b6";
+      url = "mirror://steamrt/pool/main/g/gst-plugins-base0.10/libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgstreamer-plugins-base0.10-0.deb";
       };
     }
     rec {
-      name = "libgstreamer0.10-0_0.10.36-1ubuntu1+srt5_amd64";
-      sha256 = "5d8715e20919cbf2e857d190b7d7bcc0edf604d45e44d5517b7280138c69aeb5";
-      url = "mirror://steamrt/pool/main/g/gstreamer0.10/libgstreamer0.10-0_0.10.36-1ubuntu1+srt5_amd64.deb";
+      name = "libgstreamer0.10-0_0.10.36-1ubuntu1+srt6_amd64";
+      sha256 = "0d3c7975c6ad6306a8010d807ceb31e3b90804c9cca39d639362e8d5c72e7f8c";
+      url = "mirror://steamrt/pool/main/g/gstreamer0.10/libgstreamer0.10-0_0.10.36-1ubuntu1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgstreamer0.10-0.deb";
       };
     }
     rec {
-      name = "libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt5_amd64";
-      sha256 = "20d2ee6de2943353b3becb0af5c591b68f7738d5289bd5aa4a2aa54687f367ad";
-      url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt5_amd64.deb";
+      name = "libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt6_amd64";
+      sha256 = "bebf7d4a6e0629873dab280de0189bf2d6add5b1816715153aba5ecaba33bf10";
+      url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgtk2.0-0.deb";
       };
     }
     rec {
-      name = "libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt5_all";
-      sha256 = "9db44526834e0f1ba54822d42e7140bf2c74780f531242e05206c968828f8867";
-      url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt5_all.deb";
+      name = "libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt6_all";
+      sha256 = "ee703928f39124739c01a456c727376378b9e75ed1a3f3c1d7022a2299350262";
+      url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt6_all.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgtk2.0-common.deb";
       };
     }
     rec {
-      name = "libgudev-1.0-0_175-0ubuntu9.10+srt1_amd64";
-      sha256 = "1c0c1887a4526e9721d0ae03d2a985c99f02673235f279c2da437e62883f13c5";
-      url = "mirror://steamrt/pool/main/u/udev/libgudev-1.0-0_175-0ubuntu9.10+srt1_amd64.deb";
+      name = "libgudev-1.0-0_175-0ubuntu9.10+srt2_amd64";
+      sha256 = "a2cf13c7c60f1deb922471ccac26f5674df0f54cf19e7f1ca50f79b573a345de";
+      url = "mirror://steamrt/pool/main/u/udev/libgudev-1.0-0_175-0ubuntu9.10+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgudev-1.0-0.deb";
       };
     }
     rec {
-      name = "libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "e8c778117583c8ed05547d1fed131373c2c9a9a94aa38e3bcf2b530fe3681fc6";
-      url = "mirror://steamrt/pool/main/h/heimdal/libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
+      name = "libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64";
+      sha256 = "d1e22d92539b1af50bb7d32f8e15418092b51e6578012eb1a52080cf89433a83";
+      url = "mirror://steamrt/pool/main/h/heimdal/libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libhcrypto4-heimdal.deb";
       };
     }
     rec {
-      name = "libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "f1ce5484fcd75d7f697a64956a1023c9dba99b45fe47d708de3ec102db3790fc";
-      url = "mirror://steamrt/pool/main/h/heimdal/libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
+      name = "libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64";
+      sha256 = "5774c538993d0a7e23cc5e8863bb9243f17899b2a861b8029c44110d80228f4c";
+      url = "mirror://steamrt/pool/main/h/heimdal/libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libheimbase1-heimdal.deb";
       };
     }
     rec {
-      name = "libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "e9d8aa4374e99969a3196ffadcc84093646e407274771878a161317f10aacf8d";
-      url = "mirror://steamrt/pool/main/h/heimdal/libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
+      name = "libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64";
+      sha256 = "f4dc8cc860389827d82aa1d2983ae8b6afd2553132253d6da79d618e1ea1d00c";
+      url = "mirror://steamrt/pool/main/h/heimdal/libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libheimntlm0-heimdal.deb";
       };
     }
     rec {
-      name = "libhogweed4_3.2-1ubuntu0.16.04.1+srt1_amd64";
-      sha256 = "cd39b0bc4c85f8814a5bf53c9c6c0c45f26aa80358248144734a2aee962127b5";
-      url = "mirror://steamrt/pool/main/n/nettle/libhogweed4_3.2-1ubuntu0.16.04.1+srt1_amd64.deb";
+      name = "libhogweed4_3.2-1ubuntu0.16.04.1+srt2_amd64";
+      sha256 = "a8411a24f3314b11a25f249bb5390a31e7485d81e5941b8823ad0e67af033c32";
+      url = "mirror://steamrt/pool/main/n/nettle/libhogweed4_3.2-1ubuntu0.16.04.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libhogweed4.deb";
       };
     }
     rec {
-      name = "libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "492e6e3bb321862ef08c1652d48ee33fd1a8d3daadc568500e28c0e3f47c8a2a";
-      url = "mirror://steamrt/pool/main/h/heimdal/libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
+      name = "libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64";
+      sha256 = "90943a0b1fa563555b3b92805b4ef24cf82557ca3b6cda3aac8d703a008b4372";
+      url = "mirror://steamrt/pool/main/h/heimdal/libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libhx509-5-heimdal.deb";
       };
     }
     rec {
-      name = "libice6_1.0.7-2build1+srt5_amd64";
-      sha256 = "1ee9db50c4a2c9e597604c558c03844dca8d31d1b80f11fdb0c82fa357232a6c";
-      url = "mirror://steamrt/pool/main/libi/libice/libice6_1.0.7-2build1+srt5_amd64.deb";
+      name = "libice6_1.0.7-2build1+srt6_amd64";
+      sha256 = "b4971686dc20fabbaf3cda5685e627ce9605318eb5ab4b3e5a9895680dba7290";
+      url = "mirror://steamrt/pool/main/libi/libice/libice6_1.0.7-2build1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libice6.deb";
       };
     }
     rec {
-      name = "libidn11_1.32-3ubuntu1.2+steamrt1.1+srt1_amd64";
-      sha256 = "b462a6d8e49c4dd234da2afac81f589f4171201969d21c4811a792be397497e2";
-      url = "mirror://steamrt/pool/main/libi/libidn/libidn11_1.32-3ubuntu1.2+steamrt1.1+srt1_amd64.deb";
+      name = "libidn11_1.32-3ubuntu1.2+steamrt1.1+srt2_amd64";
+      sha256 = "18011ae05a4dbe00d4deafb63dabdf0416c1fa2c202d3c0e6ce840d96001f4f6";
+      url = "mirror://steamrt/pool/main/libi/libidn/libidn11_1.32-3ubuntu1.2+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libidn11.deb";
       };
     }
     rec {
-      name = "libindicator7_0.5.0-0ubuntu1+steamrt1+srt1_amd64";
-      sha256 = "ef82de181ae81cc610be9fe8e84f2d8ee72fac8a2de5c56490c88333ab0b9239";
-      url = "mirror://steamrt/pool/main/libi/libindicator/libindicator7_0.5.0-0ubuntu1+steamrt1+srt1_amd64.deb";
+      name = "libindicator7_0.5.0-0ubuntu1+steamrt1+srt2_amd64";
+      sha256 = "ee7da6dda4a701bb1e98b22233c27e923050f4cfe6055c96e31b7a13fa96743a";
+      url = "mirror://steamrt/pool/main/libi/libindicator/libindicator7_0.5.0-0ubuntu1+steamrt1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libindicator7.deb";
       };
     }
     rec {
-      name = "libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt4_amd64";
-      sha256 = "0fc64bd185ee8760010feab0965633d10ea8b3aaf67b1daaf1c43bab42bef162";
-      url = "mirror://steamrt/pool/main/j/jackd2/libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt4_amd64.deb";
+      name = "libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt5_amd64";
+      sha256 = "9a419baf1b88386cf643ca64965de607321e5d27f13c5bd68be0eb1a803fd7a9";
+      url = "mirror://steamrt/pool/main/j/jackd2/libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt5_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libjack-jackd2-0.deb";
       };
     }
     rec {
-      name = "libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt5_amd64";
-      sha256 = "be8c07bb78b01a3d22b433748434cc2c20a096ddced27da16912f75eea482383";
-      url = "mirror://steamrt/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt5_amd64.deb";
+      name = "libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt6_amd64";
+      sha256 = "682e8d47031aa046787624eb5af560093f6cade3fdc5edcb5875e89ff7cb9d31";
+      url = "mirror://steamrt/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libjpeg-turbo8.deb";
       };
     }
     rec {
-      name = "libjpeg62_6b1-2ubuntu1.1+srt5_amd64";
-      sha256 = "34eb4c70782fdfb60445aaa0bf861e371689404aba6134cb64fb95c4f0a3c972";
-      url = "mirror://steamrt/pool/main/libj/libjpeg6b/libjpeg62_6b1-2ubuntu1.1+srt5_amd64.deb";
+      name = "libjpeg62_6b1-2ubuntu1.1+srt6_amd64";
+      sha256 = "5c931fb6c272af3cefa723a6ba30f55d477c50bd07f6695be4216f2a13ea49f0";
+      url = "mirror://steamrt/pool/main/libj/libjpeg6b/libjpeg62_6b1-2ubuntu1.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libjpeg62.deb";
       };
     }
     rec {
-      name = "libjson0_0.9-1ubuntu1.1+srt3_amd64";
-      sha256 = "0af664e4baabdadce80ae8ca06597652e5e8ef5574e21ec89383a73f0c6316df";
-      url = "mirror://steamrt/pool/main/j/json-c/libjson0_0.9-1ubuntu1.1+srt3_amd64.deb";
+      name = "libjson0_0.9-1ubuntu1.1+srt4_amd64";
+      sha256 = "a72824685bfa0dc7fab313606d1fcba41565363c8f90d22c7e90d3f35a74859c";
+      url = "mirror://steamrt/pool/main/j/json-c/libjson0_0.9-1ubuntu1.1+srt4_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libjson0.deb";
       };
     }
     rec {
-      name = "libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64";
-      sha256 = "08a23bedf307f22f3977fb74651a69571da313dd35e720f34a7f68025889aea3";
-      url = "mirror://steamrt/pool/main/k/krb5/libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64.deb";
+      name = "libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt3_amd64";
+      sha256 = "9d638fd0f44307dfab7b295a53715b199854b71f52b269369f6bb492d7da295c";
+      url = "mirror://steamrt/pool/main/k/krb5/libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libk5crypto3.deb";
       };
     }
     rec {
-      name = "libkeyutils1_1.5.2-2+srt5_amd64";
-      sha256 = "5748dbad8f83e13e9cbf66f082c7ce57d5caf9514a923ce89adf815c4026bb92";
-      url = "mirror://steamrt/pool/main/k/keyutils/libkeyutils1_1.5.2-2+srt5_amd64.deb";
+      name = "libkeyutils1_1.5.2-2+srt6_amd64";
+      sha256 = "2fcb1c31e273de0780db4a07b4ec6272adba221ec3ea40821e4744b86adf5313";
+      url = "mirror://steamrt/pool/main/k/keyutils/libkeyutils1_1.5.2-2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libkeyutils1.deb";
       };
     }
     rec {
-      name = "libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "78ac69fee15abca007c6a6c4c49615a8727942025c48eb74324c5b7a9c201f76";
-      url = "mirror://steamrt/pool/main/h/heimdal/libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
+      name = "libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64";
+      sha256 = "374b317da50e4ab1688a3514649fbe572d8d73d0e0430c4bd739ce0443c04f5f";
+      url = "mirror://steamrt/pool/main/h/heimdal/libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libkrb5-26-heimdal.deb";
       };
     }
     rec {
-      name = "libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64";
-      sha256 = "e3f847f9ea9e58bb0e4241d6be999e27534c5ba5c51e9d8e07c1aa5cce096dcc";
-      url = "mirror://steamrt/pool/main/k/krb5/libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64.deb";
+      name = "libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt3_amd64";
+      sha256 = "3071c486de82102fa73ac263c5d78cb8df1ff6ced3450fd9baf564c4b345b89a";
+      url = "mirror://steamrt/pool/main/k/krb5/libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libkrb5-3.deb";
       };
     }
     rec {
-      name = "libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64";
-      sha256 = "b9eeeb7c88c47b56fe30abceb5f2dea087ac1310474cac70f3741461dd1bb4f6";
-      url = "mirror://steamrt/pool/main/k/krb5/libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt2_amd64.deb";
+      name = "libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt3_amd64";
+      sha256 = "ba1732a8fb0f64c0cc8eb2ddf5512ad246ec0c31962d84fa91db55fae5756c45";
+      url = "mirror://steamrt/pool/main/k/krb5/libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libkrb5support0.deb";
       };
     }
     rec {
-      name = "liblcms2-2_2.2+git20110628-2ubuntu3.1+srt5_amd64";
-      sha256 = "af26e984bd3590ad96212e83b1ad98fe85bc72c20bc40bb4a322682ea2274272";
-      url = "mirror://steamrt/pool/main/l/lcms2/liblcms2-2_2.2+git20110628-2ubuntu3.1+srt5_amd64.deb";
+      name = "liblcms2-2_2.2+git20110628-2ubuntu3.1+srt6_amd64";
+      sha256 = "e55aacce445cf1ac31d1ef35a3b9aa983e9ca18626b0aa28cdfdc3a81ccd5cc3";
+      url = "mirror://steamrt/pool/main/l/lcms2/liblcms2-2_2.2+git20110628-2ubuntu3.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "liblcms2-2.deb";
       };
     }
     rec {
-      name = "libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt3_amd64";
-      sha256 = "407ce3cd7a9356638c416e2d9b5851d9a6fa23e366234394d79c5fb5e081850b";
-      url = "mirror://steamrt/pool/main/o/openldap/libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt3_amd64.deb";
+      name = "libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt4_amd64";
+      sha256 = "487df425cab50adae8d9129eaabf4b52f2332f574a200a582fc808cd72bc3ba7";
+      url = "mirror://steamrt/pool/main/o/openldap/libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt4_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libldap-2.4-2.deb";
       };
     }
     rec {
-      name = "libltdl7_2.4.2-1ubuntu1+srt5_amd64";
-      sha256 = "6bfdc9ae5b436158a3fef1376456a83dd8379835a9e74a8268c0691a7bb9c953";
-      url = "mirror://steamrt/pool/main/libt/libtool/libltdl7_2.4.2-1ubuntu1+srt5_amd64.deb";
+      name = "libltdl7_2.4.2-1ubuntu1+srt6_amd64";
+      sha256 = "f9c6d0ae41527a42576fa16bb170f90e8deb86ffb16c3b78ac8e237400901a33";
+      url = "mirror://steamrt/pool/main/libt/libtool/libltdl7_2.4.2-1ubuntu1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libltdl7.deb";
       };
     }
     rec {
-      name = "libmikmod2_3.1.12-5+srt1_amd64";
-      sha256 = "7535ce4399ceb6e8c54cdab7221805ea2e03ff5c2e994a215c57fff71b8fb04e";
-      url = "mirror://steamrt/pool/main/libm/libmikmod/libmikmod2_3.1.12-5+srt1_amd64.deb";
+      name = "libmikmod2_3.1.12-5+srt2_amd64";
+      sha256 = "d9fc387579b30b3c555ba2a1706db3956957c0f2e25ef896c4d5bb8c13ff7a6b";
+      url = "mirror://steamrt/pool/main/libm/libmikmod/libmikmod2_3.1.12-5+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libmikmod2.deb";
       };
     }
     rec {
-      name = "libmpg123-0_1.25.10-1+steamrt1+srt1_amd64";
-      sha256 = "a35b2bff30345f6c128214b76144e9d6011b533a525e09d0a4acee433364f4eb";
-      url = "mirror://steamrt/pool/main/m/mpg123/libmpg123-0_1.25.10-1+steamrt1+srt1_amd64.deb";
+      name = "libmpg123-0_1.25.10-1+steamrt1+srt2_amd64";
+      sha256 = "4dff7550d1eb7666fe53d4705736c7c4760dbbfe8b24483956ca1da62a0876c8";
+      url = "mirror://steamrt/pool/main/m/mpg123/libmpg123-0_1.25.10-1+steamrt1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libmpg123-0.deb";
       };
     }
     rec {
-      name = "libncurses5_5.9-4+srt5_amd64";
-      sha256 = "d73125573141201c3760677b79dfaa53e466e619921dce9c3212367ced0992ac";
-      url = "mirror://steamrt/pool/main/n/ncurses/libncurses5_5.9-4+srt5_amd64.deb";
+      name = "libncurses5_5.9-4+srt6_amd64";
+      sha256 = "6c342c8e35ab535c2dd20e1f26001e46363ddd4e55b1abbb94d3eee9688b6dbd";
+      url = "mirror://steamrt/pool/main/n/ncurses/libncurses5_5.9-4+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libncurses5.deb";
       };
     }
     rec {
-      name = "libncursesw5_5.9-4+srt5_amd64";
-      sha256 = "46138edfc5800cac3213eed1a765be1fd14ed53ae526d0478ee6430473f95b3d";
-      url = "mirror://steamrt/pool/main/n/ncurses/libncursesw5_5.9-4+srt5_amd64.deb";
+      name = "libncursesw5_5.9-4+srt6_amd64";
+      sha256 = "8efe94b4cb6fb8b137ce87996b263a02d0ca97572025874df0f67ce3072a12ed";
+      url = "mirror://steamrt/pool/main/n/ncurses/libncursesw5_5.9-4+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libncursesw5.deb";
       };
     }
     rec {
-      name = "libnettle6_3.2-1ubuntu0.16.04.1+srt1_amd64";
-      sha256 = "9cb7f91d3f244605a3da652beed1840f50a9e08157e8ea3a14ddda3a71f5c9a1";
-      url = "mirror://steamrt/pool/main/n/nettle/libnettle6_3.2-1ubuntu0.16.04.1+srt1_amd64.deb";
+      name = "libnettle6_3.2-1ubuntu0.16.04.1+srt2_amd64";
+      sha256 = "18f8ac5721849072980c7f8cdffdf2eac3c8621f3aff02bc32fe1945e2abf0ec";
+      url = "mirror://steamrt/pool/main/n/nettle/libnettle6_3.2-1ubuntu0.16.04.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnettle6.deb";
       };
     }
     rec {
-      name = "libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt1_amd64";
-      sha256 = "63b22c6872057c5a97cc9bbc68c933efc42adbeba89400248be60f15b9ab8037";
-      url = "mirror://steamrt/pool/main/n/network-manager/libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt1_amd64.deb";
+      name = "libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt2_amd64";
+      sha256 = "3bff5db8467fe7289dc6569e6bd78c733dadb4569ebb2e6e6484019d347a53cc";
+      url = "mirror://steamrt/pool/main/n/network-manager/libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnm-glib4.deb";
       };
     }
     rec {
-      name = "libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt1_amd64";
-      sha256 = "7a43a5cb670c8969707f3b130f1015ce0f97b64773a54c8dd4f1a3d12be038e5";
-      url = "mirror://steamrt/pool/main/n/network-manager/libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt1_amd64.deb";
+      name = "libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt2_amd64";
+      sha256 = "2b301b4616aa92f1c1ce9d729255f5314e0307155275213fbed7fe5b6d1df2a6";
+      url = "mirror://steamrt/pool/main/n/network-manager/libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnm-util2.deb";
       };
     }
     rec {
-      name = "libnotify4_0.7.5-1+srt5_amd64";
-      sha256 = "ae5e746f951be6e87cbfe9c9525372b2bd8f9040c83e92460536f322522dde96";
-      url = "mirror://steamrt/pool/main/libn/libnotify/libnotify4_0.7.5-1+srt5_amd64.deb";
+      name = "libnotify4_0.7.5-1+srt6_amd64";
+      sha256 = "a367220da9ac0918a37799231225a1156bb4431a319242d73d5562bac73a4da9";
+      url = "mirror://steamrt/pool/main/libn/libnotify/libnotify4_0.7.5-1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnotify4.deb";
       };
     }
     rec {
-      name = "libnspr4_4.12-0ubuntu0.12.04.1+srt2_amd64";
-      sha256 = "07b73ef8aca21e2082dc843044b4a7a8fba0210705dedeecd08f24768fb4c087";
-      url = "mirror://steamrt/pool/main/n/nspr/libnspr4_4.12-0ubuntu0.12.04.1+srt2_amd64.deb";
+      name = "libnspr4_4.12-0ubuntu0.12.04.1+srt3_amd64";
+      sha256 = "2824614abe02323087b5d73313aa9ef3e0f3308095bd1f508f78503d2ba10c63";
+      url = "mirror://steamrt/pool/main/n/nspr/libnspr4_4.12-0ubuntu0.12.04.1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnspr4.deb";
       };
     }
     rec {
-      name = "libnss3_3.26.2-0ubuntu0.12.04.1+srt1_amd64";
-      sha256 = "26872bcaa6ad113c0ef42a420980ad479ff7ab31db1d61ef9326f9ecccc4b528";
-      url = "mirror://steamrt/pool/main/n/nss/libnss3_3.26.2-0ubuntu0.12.04.1+srt1_amd64.deb";
+      name = "libnss3_3.26.2-0ubuntu0.12.04.1+srt2_amd64";
+      sha256 = "c9edceea356f57bfc6aa8df7263da54f465313e1e3949a8b7b5771f591dd5788";
+      url = "mirror://steamrt/pool/main/n/nss/libnss3_3.26.2-0ubuntu0.12.04.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnss3.deb";
       };
     }
     rec {
-      name = "libogg0_1.3.2-1+srt1_amd64";
-      sha256 = "b744f7577f039ced9645a66aac9ea097bafb96aec8b787bf49c98efa08ce16f5";
-      url = "mirror://steamrt/pool/main/libo/libogg/libogg0_1.3.2-1+srt1_amd64.deb";
+      name = "libogg0_1.3.2-1+srt2_amd64";
+      sha256 = "d5999d3f774c2c3fbb8998d7ed686b38505a67a1fb45ec07aa288fad9c0210b8";
+      url = "mirror://steamrt/pool/main/libo/libogg/libogg0_1.3.2-1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libogg0.deb";
       };
     }
     rec {
-      name = "libopenal1_1.16.0-3+srt1_amd64";
-      sha256 = "f219b8aef459a59acc966ed9ac1a44c47ba1971f2f724241855506c85d07ac09";
-      url = "mirror://steamrt/pool/main/o/openal-soft/libopenal1_1.16.0-3+srt1_amd64.deb";
+      name = "libopenal1_1.16.0-3+srt2_amd64";
+      sha256 = "649d2fc817024719e6d53078053e956c4c0848b7a26606e8e85188bd0c8e379a";
+      url = "mirror://steamrt/pool/main/o/openal-soft/libopenal1_1.16.0-3+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libopenal1.deb";
       };
     }
     rec {
-      name = "libopus0_1.3-0+steamrt1.1+srt2_amd64";
-      sha256 = "a92492ece08cfb08d5b3c44b43faba7c9148b3858ce32a671e5aee54e9714ec2";
-      url = "mirror://steamrt/pool/main/o/opus/libopus0_1.3-0+steamrt1.1+srt2_amd64.deb";
+      name = "libopus0_1.3-0+steamrt1.1+srt3_amd64";
+      sha256 = "2c41ceb74b0da8d6a8e2adbd537ca15b42544a951ccf42454a14abef369a210c";
+      url = "mirror://steamrt/pool/main/o/opus/libopus0_1.3-0+steamrt1.1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libopus0.deb";
       };
     }
     rec {
-      name = "libopusfile0_0.11-0+steamrt1.2+srt1_amd64";
-      sha256 = "f8e1d893b372799d456a9ee086526317b79a295b67850c7ba1609abcc821b6e0";
-      url = "mirror://steamrt/pool/main/o/opusfile/libopusfile0_0.11-0+steamrt1.2+srt1_amd64.deb";
+      name = "libopusfile0_0.11-0+steamrt1.2+srt2_amd64";
+      sha256 = "f45cdaa7b22e8042434f1a5fe72c13b69f031cee9fa1d97970acb072e644212c";
+      url = "mirror://steamrt/pool/main/o/opusfile/libopusfile0_0.11-0+steamrt1.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libopusfile0.deb";
       };
     }
     rec {
-      name = "liborc-0.4-0_0.4.16-1ubuntu2+srt5_amd64";
-      sha256 = "28d87263fdfee93644c3f23d126a7594994129b323b4a159ddb3bd4844b4478f";
-      url = "mirror://steamrt/pool/main/o/orc/liborc-0.4-0_0.4.16-1ubuntu2+srt5_amd64.deb";
+      name = "liborc-0.4-0_0.4.16-1ubuntu2+srt6_amd64";
+      sha256 = "aa26e347d687d40d0e8efff51e45dc1aeb071efd93ab2147baef993aa024bb27";
+      url = "mirror://steamrt/pool/main/o/orc/liborc-0.4-0_0.4.16-1ubuntu2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "liborc-0.4-0.deb";
       };
     }
     rec {
-      name = "libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt1_amd64";
-      sha256 = "98c85df1fca87276c4bdc4ecba0d3f1cd312263abf7bef7f981bdc062fa6a1c2";
-      url = "mirror://steamrt/pool/main/p/p11-kit/libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt1_amd64.deb";
+      name = "libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt2_amd64";
+      sha256 = "e994e62fcffb23ec006563ec4a6e184d4f508d70f2b08a567c2e52afa25b497c";
+      url = "mirror://steamrt/pool/main/p/p11-kit/libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libp11-kit0.deb";
       };
     }
     rec {
-      name = "libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt5_amd64";
-      sha256 = "eea37452f9f18cbc51c5794483e2bc7b50ea004a7cf1ad260d6547bd8dab9135";
-      url = "mirror://steamrt/pool/main/p/pango1.0/libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt5_amd64.deb";
+      name = "libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt6_amd64";
+      sha256 = "19343aeada8b22381b29d8ff0752ed9475b1ed92cae1fd18e691b9b505e42c8e";
+      url = "mirror://steamrt/pool/main/p/pango1.0/libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpango1.0-0.deb";
       };
     }
     rec {
-      name = "libpci3_3.1.8-2ubuntu6+srt1_amd64";
-      sha256 = "de204d686476581a1d6f5b54e975a92026e4f7a16aba03b421476bff5f2eea98";
-      url = "mirror://steamrt/pool/main/p/pciutils/libpci3_3.1.8-2ubuntu6+srt1_amd64.deb";
+      name = "libpci3_3.1.8-2ubuntu6+srt2_amd64";
+      sha256 = "a7fecb6f3e9657b8a03b70ddfea1c384de5cb65feebe5102339e41d0bd1b8f69";
+      url = "mirror://steamrt/pool/main/p/pciutils/libpci3_3.1.8-2ubuntu6+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpci3.deb";
       };
     }
     rec {
-      name = "libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt1_amd64";
-      sha256 = "00b4d8f037c5d8f7a15ef81d6d17f7271bc248de7b80aa85f75d3cba7bfd7e74";
-      url = "mirror://steamrt/pool/main/p/pcre3/libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt1_amd64.deb";
+      name = "libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt2_amd64";
+      sha256 = "b7554d1381c7580a7897657b3ecf11c7554f319c1034da70121d4fa724589be1";
+      url = "mirror://steamrt/pool/main/p/pcre3/libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpcre3.deb";
       };
     }
     rec {
-      name = "libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt1_amd64";
-      sha256 = "30a99cf50aed7ed6b8245f485f4c8023ec90b19f5623007e053d252e509293e6";
-      url = "mirror://steamrt/pool/main/p/pcre3/libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt1_amd64.deb";
+      name = "libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt2_amd64";
+      sha256 = "053a4754d48e96ff4849fc99232ac74b5d5b58440eb367b3422a5e56d698065b";
+      url = "mirror://steamrt/pool/main/p/pcre3/libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpcrecpp0.deb";
       };
     }
     rec {
-      name = "libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt2_amd64";
-      sha256 = "e3c2b2686da306e78a358896ff225268b7430e0332087429a346a8e886414a97";
-      url = "mirror://steamrt/pool/main/p/pixman/libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt2_amd64.deb";
+      name = "libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt3_amd64";
+      sha256 = "0d05b046b8870873f8aa4e9f51ac3f9c902b4364a6bd14fa35279b7546b7de29";
+      url = "mirror://steamrt/pool/main/p/pixman/libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpixman-1-0.deb";
       };
     }
     rec {
-      name = "libpng12-0_1.2.46-3ubuntu4.2+srt2_amd64";
-      sha256 = "81b60677ac384c3e60cb3fb6d37ffc98d54b4739dd95e992108127260ed4d23e";
-      url = "mirror://steamrt/pool/main/libp/libpng/libpng12-0_1.2.46-3ubuntu4.2+srt2_amd64.deb";
+      name = "libpng12-0_1.2.46-3ubuntu4.2+srt3_amd64";
+      sha256 = "6d0689067d8476c45918c8c848ffea495e26d118890f040ccd3596b121d4d824";
+      url = "mirror://steamrt/pool/main/libp/libpng/libpng12-0_1.2.46-3ubuntu4.2+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpng12-0.deb";
       };
     }
     rec {
-      name = "libpulse0_1.1-0ubuntu15.2+steamrt1+srt5_amd64";
-      sha256 = "02a2b44a4e41c0e9ec154ef3e461cde8724f24040eb5b55001d6b7c59f71a39d";
-      url = "mirror://steamrt/pool/main/p/pulseaudio/libpulse0_1.1-0ubuntu15.2+steamrt1+srt5_amd64.deb";
+      name = "libpulse0_1.1-0ubuntu15.2+steamrt1+srt6_amd64";
+      sha256 = "e302a51cfeacd982683bd530a36d8142edf416d6812c02bd9a13939addf9a235";
+      url = "mirror://steamrt/pool/main/p/pulseaudio/libpulse0_1.1-0ubuntu15.2+steamrt1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpulse0.deb";
       };
     }
     rec {
-      name = "libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "229d45756ac43419820d4c768baeee0a98ca6a8349b7e4df62b1208aa631469a";
-      url = "mirror://steamrt/pool/main/h/heimdal/libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
+      name = "libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64";
+      sha256 = "e55b129066b92ab99f518d2f857b54e8754c3c873b5fb603270e3c4c36564a7b";
+      url = "mirror://steamrt/pool/main/h/heimdal/libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libroken18-heimdal.deb";
       };
     }
     rec {
-      name = "librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt3_amd64";
-      sha256 = "199d232f644a19e34ef13a3bb6ae3d0e2b98ef612eeb7d14705d097f5b4b9517";
-      url = "mirror://steamrt/pool/main/r/rtmpdump/librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt3_amd64.deb";
+      name = "librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt4_amd64";
+      sha256 = "27526dac26e2b323ec6dc764671839c3a2c5476fb16c7980959b17af4177486b";
+      url = "mirror://steamrt/pool/main/r/rtmpdump/librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt4_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "librtmp0.deb";
       };
     }
     rec {
-      name = "libsamplerate0_0.1.8-4+srt5_amd64";
-      sha256 = "398789224c691be20acc41199a1e2c048cb14f3be52d6d74611471e7bf9925f7";
-      url = "mirror://steamrt/pool/main/libs/libsamplerate/libsamplerate0_0.1.8-4+srt5_amd64.deb";
+      name = "libsamplerate0_0.1.8-4+srt6_amd64";
+      sha256 = "cfb983b7a89dd8ec43cca84883fc44367d74d341ba4bad2b106793abad7ae145";
+      url = "mirror://steamrt/pool/main/libs/libsamplerate/libsamplerate0_0.1.8-4+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsamplerate0.deb";
       };
     }
     rec {
-      name = "libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt5_amd64";
-      sha256 = "40b6ebd0d4502dc518cbd25a27d1b66ab18af40055d656860fafa9e80681f0c4";
-      url = "mirror://steamrt/pool/main/c/cyrus-sasl2/libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt5_amd64.deb";
+      name = "libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt6_amd64";
+      sha256 = "8a12f971d3905b5b84fd9c3fca3c7afe1867f8f5db8359157b0cd1c45dda8fc7";
+      url = "mirror://steamrt/pool/main/c/cyrus-sasl2/libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsasl2-2.deb";
       };
     }
     rec {
-      name = "libsdl-image1.2_1.2.10-3+srt5_amd64";
-      sha256 = "95453e6c26ad4db11076219cca75621f3f5015badceb4087131e11f68d8a1aa0";
-      url = "mirror://steamrt/pool/main/s/sdl-image1.2/libsdl-image1.2_1.2.10-3+srt5_amd64.deb";
+      name = "libsdl-image1.2_1.2.10-3+srt6_amd64";
+      sha256 = "a90b7182e92af49e4a2c3c76b5dd85b2f0df334933070c035d48724aafd8d199";
+      url = "mirror://steamrt/pool/main/s/sdl-image1.2/libsdl-image1.2_1.2.10-3+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl-image1.2.deb";
       };
     }
     rec {
-      name = "libsdl-mixer1.2_1.2.11-7+steamrt1+srt5_amd64";
-      sha256 = "e0cafbc73c26f5c2a2b21f6c1a49fd53e6989227b8f89defd67f5bbaf5ee7f7c";
-      url = "mirror://steamrt/pool/main/s/sdl-mixer1.2/libsdl-mixer1.2_1.2.11-7+steamrt1+srt5_amd64.deb";
+      name = "libsdl-mixer1.2_1.2.11-7+steamrt1+srt6_amd64";
+      sha256 = "bc30e755796872bf7a4a3e7dc84f41a265ff1893ea777f809663f76dfeb047fb";
+      url = "mirror://steamrt/pool/main/s/sdl-mixer1.2/libsdl-mixer1.2_1.2.11-7+steamrt1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl-mixer1.2.deb";
       };
     }
     rec {
-      name = "libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt5_amd64";
-      sha256 = "cab4a662cb4f9085309f75cc527b95e7ffd907984d9666e515d390f763387a86";
-      url = "mirror://steamrt/pool/main/s/sdl-ttf2.0/libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt5_amd64.deb";
+      name = "libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt6_amd64";
+      sha256 = "b3e18a7fe335cd623410f3eb3c86a2abda8d83d287e8304c0c7df9e8219938fe";
+      url = "mirror://steamrt/pool/main/s/sdl-ttf2.0/libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl-ttf2.0-0.deb";
       };
     }
     rec {
-      name = "libsdl1.2debian_1.2.15-5+steamrt1+srt5_amd64";
-      sha256 = "8b9f7e964e15d62e892b0a77c44d37d8f48d717335d58eef493f57f9b93840c4";
-      url = "mirror://steamrt/pool/main/libs/libsdl1.2/libsdl1.2debian_1.2.15-5+steamrt1+srt5_amd64.deb";
+      name = "libsdl1.2debian_1.2.15-5+steamrt1.2+srt1_amd64";
+      sha256 = "5641a948c70a41a7ade79de001376686acee7b5a678aaf24be29dbbdefbde7d7";
+      url = "mirror://steamrt/pool/main/libs/libsdl1.2/libsdl1.2debian_1.2.15-5+steamrt1.2+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl1.2debian.deb";
       };
     }
     rec {
-      name = "libsdl2_2.0.9.~reimport-0+steamrt1.1+srt1_amd64";
-      sha256 = "cc0b6f8f55fee25448aabd459641f6a32a7856aa08f180ed7fede2f241b35045";
-      url = "mirror://steamrt/pool/main/libs/libsdl2/libsdl2_2.0.9.~reimport-0+steamrt1.1+srt1_amd64.deb";
+      name = "libsdl2_2.0.9.~reimport-0+steamrt1.1+srt2_amd64";
+      sha256 = "907391ea4512c3372f86afd8a9a409632d90b9e260de43f8082f90175e08c56c";
+      url = "mirror://steamrt/pool/main/libs/libsdl2/libsdl2_2.0.9.~reimport-0+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl2.deb";
       };
     }
     rec {
-      name = "libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt1_amd64";
-      sha256 = "ddf1ee016ec8ae53daafb507393b1cfcb75d0a7842fb37c1df20f7fc25a0c9f7";
-      url = "mirror://steamrt/pool/main/libs/libsdl2-image/libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt1_amd64.deb";
+      name = "libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt2_amd64";
+      sha256 = "136a0c68b520f4eaec9ff81321785b09dc6843431b10ba6941faee82af3b215d";
+      url = "mirror://steamrt/pool/main/libs/libsdl2-image/libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl2-image.deb";
       };
     }
     rec {
-      name = "libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt1_amd64";
-      sha256 = "e5dfe269994b556fbf6e5653896b25ca933e17cd44d0f96e4de2549c4f78231a";
-      url = "mirror://steamrt/pool/main/libs/libsdl2-mixer/libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt1_amd64.deb";
+      name = "libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt2_amd64";
+      sha256 = "98f77bb9019649440a96e9c70bd160fa03aa0bd306fa51110b861882cb62df0d";
+      url = "mirror://steamrt/pool/main/libs/libsdl2-mixer/libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl2-mixer.deb";
       };
     }
     rec {
-      name = "libsdl2-net_2.0.1+srt2_amd64";
-      sha256 = "9b2474f074f9aeee27389d898e1e71a05e30a69d65da61cbb6ebb2b47fb0a0a0";
-      url = "mirror://steamrt/pool/main/libs/libsdl2-net/libsdl2-net_2.0.1+srt2_amd64.deb";
+      name = "libsdl2-net_2.0.1+srt3_amd64";
+      sha256 = "492a6e5f4efc454dd720be4028efd89a212e039d3f3f7b01c94c0144d8d8d621";
+      url = "mirror://steamrt/pool/main/libs/libsdl2-net/libsdl2-net_2.0.1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl2-net.deb";
       };
     }
     rec {
-      name = "libsdl2-ttf_2.0.14+srt2_amd64";
-      sha256 = "8ad4bd4b23261c88823bd8f4c1710abd2a2dbc1d754829bf168540fc51a990af";
-      url = "mirror://steamrt/pool/main/libs/libsdl2-ttf/libsdl2-ttf_2.0.14+srt2_amd64.deb";
+      name = "libsdl2-ttf_2.0.14+srt3_amd64";
+      sha256 = "f117047ffeaf77a93fc0932470e80ace2d07d7e672191c9dd50ca5f2a033f56c";
+      url = "mirror://steamrt/pool/main/libs/libsdl2-ttf/libsdl2-ttf_2.0.14+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl2-ttf.deb";
       };
     }
     rec {
-      name = "libselinux1_2.1.0-4.1ubuntu1+srt5_amd64";
-      sha256 = "18dc2e6b9f23be06382303eed01b9777a353c777689386037c8994e673763c00";
-      url = "mirror://steamrt/pool/main/libs/libselinux/libselinux1_2.1.0-4.1ubuntu1+srt5_amd64.deb";
+      name = "libselinux1_2.1.0-4.1ubuntu1+srt6_amd64";
+      sha256 = "7172d53c8baf857ed8909eb9bbbda93d0ff177b2f3ca723c716d3af34690135d";
+      url = "mirror://steamrt/pool/main/libs/libselinux/libselinux1_2.1.0-4.1ubuntu1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libselinux1.deb";
       };
     }
     rec {
-      name = "libsm6_1.2.0-2build1+srt5_amd64";
-      sha256 = "0301b9537ef475f78f3f05feb276e3605d71313d8e08ad91659b9bb10cf4104c";
-      url = "mirror://steamrt/pool/main/libs/libsm/libsm6_1.2.0-2build1+srt5_amd64.deb";
+      name = "libsm6_1.2.0-2build1+srt6_amd64";
+      sha256 = "e22295663740d88bcc92f8fa67eb55750b0855be98474de76a3e2bf796eb3c12";
+      url = "mirror://steamrt/pool/main/libs/libsm/libsm6_1.2.0-2build1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsm6.deb";
       };
     }
     rec {
-      name = "libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt1_amd64";
-      sha256 = "c40949a4d8aaa512ff84cf3f34d3814cf7922358ad41d44dcdee6ecf40d14d9f";
-      url = "mirror://steamrt/pool/main/libs/libsndfile/libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt1_amd64.deb";
+      name = "libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt2_amd64";
+      sha256 = "042a5c518bdd3152ef8052bd7a88babb31077840ce85383034c0e54d29f6ed07";
+      url = "mirror://steamrt/pool/main/libs/libsndfile/libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsndfile1.deb";
       };
     }
     rec {
-      name = "libspeex1_1.2~rc1-3ubuntu2+srt5_amd64";
-      sha256 = "3b1b97162eb3542e7eefb038dc6f668b1239202340f90f03fbdae6accecb142c";
-      url = "mirror://steamrt/pool/main/s/speex/libspeex1_1.2~rc1-3ubuntu2+srt5_amd64.deb";
+      name = "libspeex1_1.2~rc1-3ubuntu2+srt6_amd64";
+      sha256 = "a22fc321ca4a9c35109d48a74a2cc5b60131d1ebf7b09683d66e14aff728eda1";
+      url = "mirror://steamrt/pool/main/s/speex/libspeex1_1.2~rc1-3ubuntu2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libspeex1.deb";
       };
     }
     rec {
-      name = "libspeexdsp1_1.2~rc1-3ubuntu2+srt5_amd64";
-      sha256 = "6cd55db575d03288983a1f08f82addbc6570e4bf137a459668ecbd1b47347aee";
-      url = "mirror://steamrt/pool/main/s/speex/libspeexdsp1_1.2~rc1-3ubuntu2+srt5_amd64.deb";
+      name = "libspeexdsp1_1.2~rc1-3ubuntu2+srt6_amd64";
+      sha256 = "7cd488929976b818160d4c6a043468d08ebaf7cec9dfcd44bf36907adc428052";
+      url = "mirror://steamrt/pool/main/s/speex/libspeexdsp1_1.2~rc1-3ubuntu2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libspeexdsp1.deb";
       };
     }
     rec {
-      name = "libsqlite3-0_3.7.9-2ubuntu1.2+srt2_amd64";
-      sha256 = "48bb285754e0feb56f23e39e860e48b9f2f49641dab828dd3dc24d53fafd5b79";
-      url = "mirror://steamrt/pool/main/s/sqlite3/libsqlite3-0_3.7.9-2ubuntu1.2+srt2_amd64.deb";
+      name = "libsqlite3-0_3.7.9-2ubuntu1.2+srt3_amd64";
+      sha256 = "72cd1300cb4725894778d453d9a9a25aa96f033864306c8cc1726078480437ca";
+      url = "mirror://steamrt/pool/main/s/sqlite3/libsqlite3-0_3.7.9-2ubuntu1.2+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsqlite3-0.deb";
       };
     }
     rec {
-      name = "libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt1_amd64";
-      sha256 = "6b96d797b6882b1b8c1a3e5f3735e6ffdb51604b5bb6754ce96be94a7dd102e9";
-      url = "mirror://steamrt/pool/main/o/openssl/libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt1_amd64.deb";
+      name = "libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt2_amd64";
+      sha256 = "e6ccfb7c0505baa106abbab67af5f685e32d24d5cd6afe8468f69526b7a3db92";
+      url = "mirror://steamrt/pool/main/o/openssl/libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libssl1.0.0.deb";
       };
     }
     rec {
-      name = "libstdc++6_5.4.0-7.really.6+steamrt1.2+srt1_amd64";
-      sha256 = "11f083de451efdda7a41385edcc110d4155e85233bd3d873e2d773b1e3caf655";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libstdc++6_5.4.0-7.really.6+steamrt1.2+srt1_amd64.deb";
+      name = "libstdc++6_5.4.0-7.really.6+steamrt1.2+srt2_amd64";
+      sha256 = "ed886139ace433f0922c87defd922ec57e54c495e9a5b54a6aaf7c02762d27e2";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libstdc++6_5.4.0-7.really.6+steamrt1.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libstdc++6.deb";
       };
     }
     rec {
-      name = "libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt1_amd64";
-      sha256 = "f716af21f84d5b6725fc50682c6dd8b739e8ad3277b6f3966e516aba529fb89c";
-      url = "mirror://steamrt/pool/main/g/gcc-4.6/libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt1_amd64.deb";
+      name = "libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt2_amd64";
+      sha256 = "59e784845048714b6ddd02013cb1ccc8a819489a7081c3f479b7fa7121893a4a";
+      url = "mirror://steamrt/pool/main/g/gcc-4.6/libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libstdc++6-4.6-pic.deb";
       };
     }
     rec {
-      name = "libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64";
-      sha256 = "c9534ad7a66d88de19fa98a61bc772918e93e71cb278acddc4326cd6348816ea";
-      url = "mirror://steamrt/pool/main/liba/libav/libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_amd64.deb";
+      name = "libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_amd64";
+      sha256 = "dda1950d7e1f50547ce57246bc7e19c3c1ab1166ee81ca637ff86d373e20253c";
+      url = "mirror://steamrt/pool/main/liba/libav/libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libswscale2.deb";
       };
     }
     rec {
-      name = "libtasn1-3_2.10-1ubuntu1.5+srt2_amd64";
-      sha256 = "77c7c67b18e7c9755495dd51c30acef28d6ef8601044868fdeb99e9334a453ea";
-      url = "mirror://steamrt/pool/main/libt/libtasn1-3/libtasn1-3_2.10-1ubuntu1.5+srt2_amd64.deb";
+      name = "libtasn1-3_2.10-1ubuntu1.5+srt3_amd64";
+      sha256 = "f9c6c9b2cd83aaff5e07e0e7a99be8110f8b1b4be0f7ec9cf96aaa097b4da386";
+      url = "mirror://steamrt/pool/main/libt/libtasn1-3/libtasn1-3_2.10-1ubuntu1.5+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtasn1-3.deb";
       };
     }
     rec {
-      name = "libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt1_amd64";
-      sha256 = "ca164b8ea8e07d6d55889906ab2477c47042929d424d728ae65cb1b79fa4d968";
-      url = "mirror://steamrt/pool/main/libt/libtasn1-6/libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt1_amd64.deb";
+      name = "libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt2_amd64";
+      sha256 = "93f7e1764a6db1e22b33476eb5f9367eca21a61d0d04a2a0cd0de170f21356d6";
+      url = "mirror://steamrt/pool/main/libt/libtasn1-6/libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtasn1-6.deb";
       };
     }
     rec {
-      name = "libtbb2_4.0+r233-1+steamrt2+srt1_amd64";
-      sha256 = "9b5c549360dcc831c8e8b679022bcf2dc3282b54cefd2478ded8e23ba1342ca3";
-      url = "mirror://steamrt/pool/main/t/tbb/libtbb2_4.0+r233-1+steamrt2+srt1_amd64.deb";
+      name = "libtbb2_4.0+r233-1+steamrt2+srt2_amd64";
+      sha256 = "6e91c619b891ef51a53cb86b83b67cc3ba1c223af58e166375c26622efd9575a";
+      url = "mirror://steamrt/pool/main/t/tbb/libtbb2_4.0+r233-1+steamrt2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtbb2.deb";
       };
     }
     rec {
-      name = "libtdb1_1.2.9-4+srt5_amd64";
-      sha256 = "3ccf9fd729ba3ffe01299d3d484a9ab2e5d00ec6fb5df64e833fe12a4d4902f3";
-      url = "mirror://steamrt/pool/main/t/tdb/libtdb1_1.2.9-4+srt5_amd64.deb";
+      name = "libtdb1_1.2.9-4+srt6_amd64";
+      sha256 = "d35843de8c8847850477318d00f0159e76492d71d2817f81fc512a56376e3efb";
+      url = "mirror://steamrt/pool/main/t/tdb/libtdb1_1.2.9-4+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtdb1.deb";
       };
     }
     rec {
-      name = "libtheora0_1.1.1+dfsg.1-3ubuntu2+srt5_amd64";
-      sha256 = "283abc8d43448bbdc74c8241109707faaae222a77f7024b07ab42ad8c6d36695";
-      url = "mirror://steamrt/pool/main/libt/libtheora/libtheora0_1.1.1+dfsg.1-3ubuntu2+srt5_amd64.deb";
+      name = "libtheora0_1.1.1+dfsg.1-3ubuntu2+srt6_amd64";
+      sha256 = "f8e9e796fd307689143b54e5b4c451c19c0970575241587e8c3a24ce6947c7a3";
+      url = "mirror://steamrt/pool/main/libt/libtheora/libtheora0_1.1.1+dfsg.1-3ubuntu2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtheora0.deb";
       };
     }
     rec {
-      name = "libtiff4_3.9.5-2ubuntu1.9+srt2_amd64";
-      sha256 = "54b035ec9bbbf67b766c592a6c5b794a4b6f966d0e4fcef4f042de73ce651c0d";
-      url = "mirror://steamrt/pool/main/t/tiff/libtiff4_3.9.5-2ubuntu1.9+srt2_amd64.deb";
+      name = "libtiff4_3.9.5-2ubuntu1.9+srt3_amd64";
+      sha256 = "e9f8da291dc5dd48ea5f0f94e628f1e17ace6d1e655b7ffcbca175d85db98d8a";
+      url = "mirror://steamrt/pool/main/t/tiff/libtiff4_3.9.5-2ubuntu1.9+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtiff4.deb";
       };
     }
     rec {
-      name = "libtinfo5_5.9-4+srt5_amd64";
-      sha256 = "a41f20614673597b2fa22d1887a5a743c269f97f2de6b9996345d19f2a5642f0";
-      url = "mirror://steamrt/pool/main/n/ncurses/libtinfo5_5.9-4+srt5_amd64.deb";
+      name = "libtinfo5_5.9-4+srt6_amd64";
+      sha256 = "c12b7f27206ba4541468ff5f134973b2f5bb69a4e86d3c2e43f111eaa7db76a0";
+      url = "mirror://steamrt/pool/main/n/ncurses/libtinfo5_5.9-4+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtinfo5.deb";
       };
     }
     rec {
-      name = "libtxc-dxtn-s2tc0_0~git20131104-1.1+srt1_amd64";
-      sha256 = "55b812f82eef7eed9cefb1e42e6f2c8da112f9fe909a4d8ecc7b90901c29b01f";
-      url = "mirror://steamrt/pool/main/s/s2tc/libtxc-dxtn-s2tc0_0~git20131104-1.1+srt1_amd64.deb";
+      name = "libtxc-dxtn-s2tc0_0~git20131104-1.1+srt2_amd64";
+      sha256 = "f3dbcab81697c5206f5b8dbb3176093204a9a8ba1611ddde7e156f844947c763";
+      url = "mirror://steamrt/pool/main/s/s2tc/libtxc-dxtn-s2tc0_0~git20131104-1.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtxc-dxtn-s2tc0.deb";
       };
     }
     rec {
-      name = "libudev0_175-0ubuntu9.10+srt1_amd64";
-      sha256 = "0157b79f5558eb799dca194f7a5f172a9585f1d19f822776916fe6148e6cd390";
-      url = "mirror://steamrt/pool/main/u/udev/libudev0_175-0ubuntu9.10+srt1_amd64.deb";
+      name = "libudev0_175-0ubuntu9.10+srt2_amd64";
+      sha256 = "6690f89862ebf2104f0d3c477cdfaf46fa99a7060913eb46776536daa64ef0f0";
+      url = "mirror://steamrt/pool/main/u/udev/libudev0_175-0ubuntu9.10+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libudev0.deb";
       };
     }
     rec {
-      name = "libusb-1.0-0_1.0.19-1+srt2_amd64";
-      sha256 = "48bcb787481a6b222095b4c06420dd68e5529bca6143538656549de635c9da6e";
-      url = "mirror://steamrt/pool/main/libu/libusb-1.0/libusb-1.0-0_1.0.19-1+srt2_amd64.deb";
+      name = "libusb-1.0-0_1.0.19-1+srt3_amd64";
+      sha256 = "db8f1014d3642c8d01fcdc319e1cbbf16db4a922bb7abe66b83bc4ce41ee3a39";
+      url = "mirror://steamrt/pool/main/libu/libusb-1.0/libusb-1.0-0_1.0.19-1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libusb-1.0-0.deb";
       };
     }
     rec {
-      name = "libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt1_amd64";
-      sha256 = "70e0f0a324765d317f2269c86e9886f6dfa3482fa28d18a6f2a93a201c66c89d";
-      url = "mirror://steamrt/pool/main/u/util-linux/libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt1_amd64.deb";
+      name = "libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt2_amd64";
+      sha256 = "5c2bb10e8a541dd20eac84b7fb02c3ff513642bd1941f548fd2f906e00733fcc";
+      url = "mirror://steamrt/pool/main/u/util-linux/libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libuuid1.deb";
       };
     }
     rec {
-      name = "libva-glx1_1.7.0-1+steamos1+srt1_amd64";
-      sha256 = "22c5b1f0dba7e7fec65458aa93017772a202f496ebea872859cbf784d2b24c97";
-      url = "mirror://steamrt/pool/main/libv/libva/libva-glx1_1.7.0-1+steamos1+srt1_amd64.deb";
+      name = "libva-glx1_1.7.0-1+steamos1+srt2_amd64";
+      sha256 = "c25662535e0bcc1fc349c1f61710f31dcc1be846ea2ba4282225756809b13e15";
+      url = "mirror://steamrt/pool/main/libv/libva/libva-glx1_1.7.0-1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libva-glx1.deb";
       };
     }
     rec {
-      name = "libva-x11-1_1.7.0-1+steamos1+srt1_amd64";
-      sha256 = "0ac9111ca8f1e1f49ec6726d78b9f49b3604f6a97a08843acf3aa220c8af3038";
-      url = "mirror://steamrt/pool/main/libv/libva/libva-x11-1_1.7.0-1+steamos1+srt1_amd64.deb";
+      name = "libva-x11-1_1.7.0-1+steamos1+srt2_amd64";
+      sha256 = "ddfd440a2bfe3174b33ac5b459ce4261ddbcfa36d443ad237d41e5e41dd17bae";
+      url = "mirror://steamrt/pool/main/libv/libva/libva-x11-1_1.7.0-1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libva-x11-1.deb";
       };
     }
     rec {
-      name = "libva1_1.7.0-1+steamos1+srt1_amd64";
-      sha256 = "2d3703be33c2251e636947f6d9bcef65dcb87bbb18e7df6791fb10671d22655c";
-      url = "mirror://steamrt/pool/main/libv/libva/libva1_1.7.0-1+steamos1+srt1_amd64.deb";
+      name = "libva1_1.7.0-1+steamos1+srt2_amd64";
+      sha256 = "a06f1a3af4679bb44722458d956177468e78d662cf97dc1ec6c8ee38dc7408a2";
+      url = "mirror://steamrt/pool/main/libv/libva/libva1_1.7.0-1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libva1.deb";
       };
     }
     rec {
-      name = "libvdpau1_0.4.1-3ubuntu1.2+srt2_amd64";
-      sha256 = "59db2a8fe54e71123d06cfad2c2f4b1ba55ba39be77c1517d2fdb86afc3930b8";
-      url = "mirror://steamrt/pool/main/libv/libvdpau/libvdpau1_0.4.1-3ubuntu1.2+srt2_amd64.deb";
+      name = "libvdpau1_0.4.1-3ubuntu1.2+srt3_amd64";
+      sha256 = "c40c31da412fec43c201e88458782dad6884e1eab9593815bdf0d9132eb76baf";
+      url = "mirror://steamrt/pool/main/libv/libvdpau/libvdpau1_0.4.1-3ubuntu1.2+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvdpau1.deb";
       };
     }
     rec {
-      name = "libvorbis0a_1.3.5-4.2+srt1_amd64";
-      sha256 = "ff1dd4cf7906756d93784dd3f849bacb1bb4cd1ce70fd09efaa9eed1cf4cb4b7";
-      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbis0a_1.3.5-4.2+srt1_amd64.deb";
+      name = "libvorbis0a_1.3.5-4.2+srt2_amd64";
+      sha256 = "808411459a4e660ef5b459b19f145d34f6fd7750609e91985e34e95eaab62888";
+      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbis0a_1.3.5-4.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvorbis0a.deb";
       };
     }
     rec {
-      name = "libvorbisenc2_1.3.5-4.2+srt1_amd64";
-      sha256 = "1f1ba6065e6e844fc829e2a10e929da213897aa6449752e008e1acc3eada89ac";
-      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisenc2_1.3.5-4.2+srt1_amd64.deb";
+      name = "libvorbisenc2_1.3.5-4.2+srt2_amd64";
+      sha256 = "3273f701ce01742e8eb746b4b4102f05c6ea6771561b73292e94d8d42dad142f";
+      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisenc2_1.3.5-4.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvorbisenc2.deb";
       };
     }
     rec {
-      name = "libvorbisfile3_1.3.5-4.2+srt1_amd64";
-      sha256 = "9b0d768401a1a12ebacd330d1959b668d4ead658a8b05f6f91792c822c219abf";
-      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisfile3_1.3.5-4.2+srt1_amd64.deb";
+      name = "libvorbisfile3_1.3.5-4.2+srt2_amd64";
+      sha256 = "fdae8ab04379c397ea46df535f64a04b29dcdc46031cd077519c554740f0b156";
+      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisfile3_1.3.5-4.2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvorbisfile3.deb";
       };
     }
     rec {
-      name = "libvpx1_1.0.0-2+srt1_amd64";
-      sha256 = "3249696eb08839ce3870db10ed073c5871db6ed85130a0d34fcd82aee8f4280b";
-      url = "mirror://steamrt/pool/main/libv/libvpx/libvpx1_1.0.0-2+srt1_amd64.deb";
+      name = "libvpx1_1.0.0-2+srt2_amd64";
+      sha256 = "57dc793a94d5be476f84c66751f9b5923d9ee7a507b865fbc4607b6b66760432";
+      url = "mirror://steamrt/pool/main/libv/libvpx/libvpx1_1.0.0-2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvpx1.deb";
       };
     }
     rec {
-      name = "libvulkan1_1.1.73+dfsg-1+steamosc2+srt1_amd64";
-      sha256 = "0728316d813d12aaa28d1f6da720895489f73b94d83b2f0cbe9d653750eca8b8";
-      url = "mirror://steamrt/pool/main/v/vulkan/libvulkan1_1.1.73+dfsg-1+steamosc2+srt1_amd64.deb";
+      name = "libvulkan1_1.1.73+dfsg-1+steamosc2+srt2_amd64";
+      sha256 = "a3820a7cdceef1cf070b762d81437ec87a4d3a2b41566dadaa1cdcb1f08dad3e";
+      url = "mirror://steamrt/pool/main/v/vulkan/libvulkan1_1.1.73+dfsg-1+steamosc2+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvulkan1.deb";
       };
     }
     rec {
-      name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64";
-      sha256 = "e0dd74023eda11463d84b196ecbb6867e37a4fc0d9580e292b53742bdb18da71";
-      url = "mirror://steamrt/pool/main/h/heimdal/libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt5_amd64.deb";
+      name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64";
+      sha256 = "e72aabe5b6c20bb667e1746918a354cb6151e07a9892ea0735406966dff019af";
+      url = "mirror://steamrt/pool/main/h/heimdal/libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libwind0-heimdal.deb";
       };
     }
     rec {
-      name = "libwrap0_7.6.q-21+srt5_amd64";
-      sha256 = "29b55759002d1bf702e57b878d055b0991ac4fd28c51747ead63982a20af6fe7";
-      url = "mirror://steamrt/pool/main/t/tcp-wrappers/libwrap0_7.6.q-21+srt5_amd64.deb";
+      name = "libwrap0_7.6.q-21+srt6_amd64";
+      sha256 = "a05d3c3bbdb0059b2693602dfc614ec458e53987d625a7712f3171fa53642f15";
+      url = "mirror://steamrt/pool/main/t/tcp-wrappers/libwrap0_7.6.q-21+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libwrap0.deb";
       };
     }
     rec {
-      name = "libx11-6_1.6.3-1ubuntu2.1+srt1_amd64";
-      sha256 = "f6c5b92f6a933b36bbafb47e6a5db6f7e0a8ff4b5bc927d31e2e9528409ac151";
-      url = "mirror://steamrt/pool/main/libx/libx11/libx11-6_1.6.3-1ubuntu2.1+srt1_amd64.deb";
+      name = "libx11-6_1.6.3-1ubuntu2.1+srt2_amd64";
+      sha256 = "6217810de68a0fe252f15bb544346383bdd4ee946e34d0352f78c678186b6da6";
+      url = "mirror://steamrt/pool/main/libx/libx11/libx11-6_1.6.3-1ubuntu2.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libx11-6.deb";
       };
     }
     rec {
-      name = "libx11-xcb1_1.6.3-1ubuntu2.1+srt1_amd64";
-      sha256 = "5fa7572bc96a094313087ba322d245ba6ee7a0abb5b590b022f6651f59be3f51";
-      url = "mirror://steamrt/pool/main/libx/libx11/libx11-xcb1_1.6.3-1ubuntu2.1+srt1_amd64.deb";
+      name = "libx11-xcb1_1.6.3-1ubuntu2.1+srt2_amd64";
+      sha256 = "cd4fd2fb5ac913a752e20476e612629c802e448539fba9ed74d77b91fc0f47cc";
+      url = "mirror://steamrt/pool/main/libx/libx11/libx11-xcb1_1.6.3-1ubuntu2.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libx11-xcb1.deb";
       };
     }
     rec {
-      name = "libxau6_1.0.6-4+srt5_amd64";
-      sha256 = "c2f4776426f2177640fb9ba66f9a569fc93f404abc11b19d2765d767189291d0";
-      url = "mirror://steamrt/pool/main/libx/libxau/libxau6_1.0.6-4+srt5_amd64.deb";
+      name = "libxau6_1.0.6-4+srt6_amd64";
+      sha256 = "8934767e2168cc4e2508c091ec2264048ca6bef145383db191f203c09337c833";
+      url = "mirror://steamrt/pool/main/libx/libxau/libxau6_1.0.6-4+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxau6.deb";
       };
     }
     rec {
-      name = "libxaw7_1.0.9-3ubuntu1+srt5_amd64";
-      sha256 = "e9156318656d93047ae3409832eb558be591fdb3d52370b034ef09607a5e25a8";
-      url = "mirror://steamrt/pool/main/libx/libxaw/libxaw7_1.0.9-3ubuntu1+srt5_amd64.deb";
+      name = "libxaw7_1.0.9-3ubuntu1+srt6_amd64";
+      sha256 = "781bdd4ff568750b5147b0242a91ffdb85167af482063883d29bb13d0309bfd2";
+      url = "mirror://steamrt/pool/main/libx/libxaw/libxaw7_1.0.9-3ubuntu1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxaw7.deb";
       };
     }
     rec {
-      name = "libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "e8dc9f6fa8694f90e37b248db630ab7a2cd719f98b53344007a928abc8761e40";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "2639fa857b7c4e75605d6a3c2c3a3f3b9bab478883cfa40ad780252f6ad9710b";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-composite0.deb";
       };
     }
     rec {
-      name = "libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "b4847e112e1ce035b2b7220730c9019ca0073c66cde9f4d46a75bc9972c66190";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "abdd286dfe7d74e3c98d2721528add00cf8967f0aea9e61534e19c38d09b654c";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-damage0.deb";
       };
     }
     rec {
-      name = "libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "33fc72f2ac3f9b6c41f05784dd179f07f226aa615701fdf6c4fb87f5496850dc";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "80b0a477b5e53fab89781181d937579e54cd1c8f5d3ea77fdd8ad1fa77df32ed";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-dpms0.deb";
       };
     }
     rec {
-      name = "libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "414d90b05f5e4253be1aa1518605f3cc6e2957a9319babc945c4b9937b6fb6c7";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "bf6aefcf11b46e7c6c45408cd3c9d21028f3c0ddcc7a157c76ca1d81e02aca6c";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-dri2-0.deb";
       };
     }
     rec {
-      name = "libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "ef0d8c1dc10dc52c9901da233de92af13586c59608f2a52a2ff45bf79b2f9250";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "cbb423fab5493fdf1021e58ce1bfcbee1bfe8fe9ab0464d73b184993128da2f8";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-dri3-0.deb";
       };
     }
     rec {
-      name = "libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "3160cce59363843f171075140e14b0ed7f7ca7a7e8bad9ebc5b0e03bc80b0dea";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "aaf25e7a0a3e501023a5826043581e9a1172e3f6cd68fb0b87a82f639d02f595";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-glx0.deb";
       };
     }
     rec {
-      name = "libxcb-present0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "fd7c34bd6f4304a7dc9e562de7217aa5658e562853214f8ce751cc3537717dd4";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-present0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-present0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "fd2c110278edc2ba6c6bfab04947c16c54b7744af663429d9b32677289ae6ddc";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-present0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-present0.deb";
       };
     }
     rec {
-      name = "libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "859847b583530b45316e02217cd1d10007075729653ed150251a84412d02f210";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "1170a49cbf57d515981e32e26f0a2e9762af3ded254e98d4317992b903c271ac";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-randr0.deb";
       };
     }
     rec {
-      name = "libxcb-record0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "3b8f62294a46fc7b61dcbfc83d62dd3a5ab588d23bfb7f54cae887d02c0fd061";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-record0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-record0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "58e7ff4e5a9bcaa50748e7df4719c71708982b2ea8e1811c26fffa6d745bd11c";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-record0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-record0.deb";
       };
     }
     rec {
-      name = "libxcb-render0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "4fed958eb90fd461501c4e50787b5346deeeb93df50585fab41163d96a8749fa";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-render0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-render0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "a7eed9a0c59b2a17d1431157f40e16bd3891769f13709e56df9c5025992aae42";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-render0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-render0.deb";
       };
     }
     rec {
-      name = "libxcb-res0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "d7862278484593fb71797b61f966b357958e18a0e80c9707abe2bca5e0ba11ed";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-res0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-res0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "d1beca464a4acaff0c8ac43c03a9ed260193678e0ee98a4b70f602c3fa7a2843";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-res0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-res0.deb";
       };
     }
     rec {
-      name = "libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "02e8e731dd5e796f506e59b382e092b3e8cdce4880636d7dac471cafea399511";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "3d04ccf79785c5bb7ab5c6cfae56371a0b8cbbe4e5c7b5897f91a20ee4b516be";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-screensaver0.deb";
       };
     }
     rec {
-      name = "libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "021b28f95d30736a5337179e955686553ab5dae5b7b26333d945f922f6a612fc";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "a0f2dd0be89db8833493edb179974db702a6ec86ee4c15896605ceb6ddaa8e54";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-shape0.deb";
       };
     }
     rec {
-      name = "libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "c73e411506de617a790a8b80f189849ef879dca18332968cbf78cfae8195aa69";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "0ee8a32a8a8bc96e374e5fe6980acb652d2ca846d1a0998f757e857320abbdbe";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-shm0.deb";
       };
     }
     rec {
-      name = "libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "88bbda5ce9957bb5d378ccbdad778a65d6ca095b6b6d3c233c40ea2c833d78b7";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "07e7b5267f9cfd1ea6ef1c0c4edec41fd19d1e02b9c6cac7898a3c496a427d10";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-sync1.deb";
       };
     }
     rec {
-      name = "libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "e291a1c2178aa55b22800232daad553d8db1a84bf154634785fa90ea7d731a1f";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "fa8a61680c23caee52ca7aa32ce8d46143e5d68e47cc5bd3092a3e32da2673bd";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xevie0.deb";
       };
     }
     rec {
-      name = "libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "944ad1b0aeed920101f5daa41247f0e6a7c3adabaa13f5b0b44116ad102a0a1a";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "6e0e4270580b1b46b32fbb02b1e2ccbea49c94c5463197c238d5410a61a74b7b";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xf86dri0.deb";
       };
     }
     rec {
-      name = "libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "9f9edf53525d3ec1fb6855e9b97d0563bcc854220e4a31614215432c660af3da";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "77e6ea5019c757a38fee80b4e4bcb54f1304299f8a557ed9b8116cc106d66930";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xfixes0.deb";
       };
     }
     rec {
-      name = "libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "cbf8c42fc42f2cf441f978558689782ccd11ed8708dd25a66987e2a1063f2168";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "3ba7479a9d165f2a49b6ef8327a3bbcc1f6dad7e9bc26bc8819467aeb09337fa";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xinerama0.deb";
       };
     }
     rec {
-      name = "libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "30adfbc0f8e707af616b52b0a3bdf66adb6c06fa207cdb6bd442cf84e8adb14f";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "c9d48121969c8607ad47b597be1d261a084fd907885ce0ef02a2dc6924e4421d";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xkb1.deb";
       };
     }
     rec {
-      name = "libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "3167217f4840fd922ece2a7d2b92b0ce7b845dccab0f8b8c503a8970b9ed54d0";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "a27fbb11170f2fb9730ec935e598ea6d4e9b513d0e3c793a29e5f893501dfa09";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xprint0.deb";
       };
     }
     rec {
-      name = "libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "046f79afe5996fd4de3396ff9db22a8b8a3bbb055607752859e6719e8d65cbdf";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "3393b6248671421de17518320504f9593a25c202cc1a5c3d0fc127d259a7f472";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xtest0.deb";
       };
     }
     rec {
-      name = "libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "02e14b55a779b0d040515f7b3e7f898921c2976dfdab63cd5f95a33f65695e8e";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "20d97a75903b62553b9b61a2a6c2c2a5d1c5476c470a606fde01627e3fd2d155";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xv0.deb";
       };
     }
     rec {
-      name = "libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "3cdcd0b9b5345d26f8b8b5ed1fa8a78c42a689d3214a9f1eca0aa760ee539c50";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "3a35f1fb1a9550ffa5694f973cca72115254880514b519b547f1a8ac8d4c9150";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xvmc0.deb";
       };
     }
     rec {
-      name = "libxcb1_1.11.1-1ubuntu1+steamos1+srt1_amd64";
-      sha256 = "bd75e56835fc4e78c6debc26bd3c0a33a5d8c8931156cd857fe9afb790081da9";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb1_1.11.1-1ubuntu1+steamos1+srt1_amd64.deb";
+      name = "libxcb1_1.11.1-1ubuntu1+steamos1+srt2_amd64";
+      sha256 = "5c93e80460b2c672a785368995a0e2388400508a4d768c72193e19539f05dc72";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb1_1.11.1-1ubuntu1+steamos1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb1.deb";
       };
     }
     rec {
-      name = "libxcomposite1_0.4.3-2build1+srt5_amd64";
-      sha256 = "6453ed0a577d28efcfa60cd4498f9fedfc3288cd9166a66eeaf8cfdfacdd7306";
-      url = "mirror://steamrt/pool/main/libx/libxcomposite/libxcomposite1_0.4.3-2build1+srt5_amd64.deb";
+      name = "libxcomposite1_0.4.3-2build1+srt6_amd64";
+      sha256 = "d84cff429e2f4cf5b201c13aa85586d74fc49114309fe9fbb57914b3ab8e187b";
+      url = "mirror://steamrt/pool/main/libx/libxcomposite/libxcomposite1_0.4.3-2build1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcomposite1.deb";
       };
     }
     rec {
-      name = "libxcursor1_1.1.12-1ubuntu0.1+srt5_amd64";
-      sha256 = "e7093dfe6b46009d5feadb839120739365ed4bad5744ad6e2b3c2c88627b2d59";
-      url = "mirror://steamrt/pool/main/libx/libxcursor/libxcursor1_1.1.12-1ubuntu0.1+srt5_amd64.deb";
+      name = "libxcursor1_1.1.12-1ubuntu0.1+srt6_amd64";
+      sha256 = "72f53a50de7ce5428291d3336aea501fd18c1a3d62832737590fba25cd8b98b6";
+      url = "mirror://steamrt/pool/main/libx/libxcursor/libxcursor1_1.1.12-1ubuntu0.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcursor1.deb";
       };
     }
     rec {
-      name = "libxdamage1_1.1.3-2build1+srt5_amd64";
-      sha256 = "93dc0348beade9b49d820bd5ae3cec74427cd21ddd1a867cb525587f3f470850";
-      url = "mirror://steamrt/pool/main/libx/libxdamage/libxdamage1_1.1.3-2build1+srt5_amd64.deb";
+      name = "libxdamage1_1.1.3-2build1+srt6_amd64";
+      sha256 = "ce251ec5482f25d3cb055dbaf34912ef26ccb8e752ea8fb426a269c70002c4dc";
+      url = "mirror://steamrt/pool/main/libx/libxdamage/libxdamage1_1.1.3-2build1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxdamage1.deb";
       };
     }
     rec {
-      name = "libxdmcp6_1.1.0-4+srt5_amd64";
-      sha256 = "071395f50aae70856150a2116c8d0b126dd0630bc6a584b580a6e66d2288a1cb";
-      url = "mirror://steamrt/pool/main/libx/libxdmcp/libxdmcp6_1.1.0-4+srt5_amd64.deb";
+      name = "libxdmcp6_1.1.0-4+srt6_amd64";
+      sha256 = "baeb880ee5485b9ab28631254ad1c59dc0170294201bb01e0de7c42baf4a191b";
+      url = "mirror://steamrt/pool/main/libx/libxdmcp/libxdmcp6_1.1.0-4+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxdmcp6.deb";
       };
     }
     rec {
-      name = "libxext6_1.3.0-3ubuntu0.2+steamrt1+srt2_amd64";
-      sha256 = "849158325c236989e3cb6fea5c43e5d5a9b0d06659bf959329e51193b417e746";
-      url = "mirror://steamrt/pool/main/libx/libxext/libxext6_1.3.0-3ubuntu0.2+steamrt1+srt2_amd64.deb";
+      name = "libxext6_1.3.0-3ubuntu0.2+steamrt1+srt3_amd64";
+      sha256 = "716b73561d9df1b9370eecf3ee523f648cd743e730d6e14d63b9539c4f74949f";
+      url = "mirror://steamrt/pool/main/libx/libxext/libxext6_1.3.0-3ubuntu0.2+steamrt1+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxext6.deb";
       };
     }
     rec {
-      name = "libxfixes3_5.0-4ubuntu4.4+srt2_amd64";
-      sha256 = "3f33e4fc8e1c2fdbd49458705484e30caa616ade24f5f0e3d4e21dc85c2942f4";
-      url = "mirror://steamrt/pool/main/libx/libxfixes/libxfixes3_5.0-4ubuntu4.4+srt2_amd64.deb";
+      name = "libxfixes3_5.0-4ubuntu4.4+srt3_amd64";
+      sha256 = "fdd22ee527c9f157bd53c4a2ac374531f0185e751ded24e255dde3cb41c54e6d";
+      url = "mirror://steamrt/pool/main/libx/libxfixes/libxfixes3_5.0-4ubuntu4.4+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxfixes3.deb";
       };
     }
     rec {
-      name = "libxft2_2.2.0-3ubuntu2+srt5_amd64";
-      sha256 = "ed8cca63620e3cd24a936c05e937353edc5a5fba997aa605219f6324dade9a7a";
-      url = "mirror://steamrt/pool/main/x/xft/libxft2_2.2.0-3ubuntu2+srt5_amd64.deb";
+      name = "libxft2_2.2.0-3ubuntu2+srt6_amd64";
+      sha256 = "4160f4dc1f4bde50e3ca6609029cc422078017e855e61b0eb986e75bc37fb02c";
+      url = "mirror://steamrt/pool/main/x/xft/libxft2_2.2.0-3ubuntu2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxft2.deb";
       };
     }
     rec {
-      name = "libxi6_1.7.1.901-1ubuntu1~precise3+srt2_amd64";
-      sha256 = "3a9b0fdf07c38483361b563c69c9ab39b4743c20c0ea065848f81c6ef857763c";
-      url = "mirror://steamrt/pool/main/libx/libxi/libxi6_1.7.1.901-1ubuntu1~precise3+srt2_amd64.deb";
+      name = "libxi6_1.7.1.901-1ubuntu1~precise3+srt3_amd64";
+      sha256 = "60603bcbd89af27f963bf15a662562c496bf989d7e18689a746c53be62e4cb62";
+      url = "mirror://steamrt/pool/main/libx/libxi/libxi6_1.7.1.901-1ubuntu1~precise3+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxi6.deb";
       };
     }
     rec {
-      name = "libxinerama1_1.1.1-3ubuntu0.1+srt5_amd64";
-      sha256 = "b7da215dc7317bb1fae4c7de82f5f8a71ac3a91fa01cba54bcfc39d8bd3e97c5";
-      url = "mirror://steamrt/pool/main/libx/libxinerama/libxinerama1_1.1.1-3ubuntu0.1+srt5_amd64.deb";
+      name = "libxinerama1_1.1.1-3ubuntu0.1+srt6_amd64";
+      sha256 = "26ae823a08f8c79ca40cfdc5f7e561d10e7677f9012949948e1cbcd94f819e2b";
+      url = "mirror://steamrt/pool/main/libx/libxinerama/libxinerama1_1.1.1-3ubuntu0.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxinerama1.deb";
       };
     }
     rec {
-      name = "libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt1_amd64";
-      sha256 = "150aaac5d06d6db54f2ae5eeeee3af920118182a270df318d01e1837e553bc4c";
-      url = "mirror://steamrt/pool/main/libx/libxml2/libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt1_amd64.deb";
+      name = "libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt2_amd64";
+      sha256 = "d24a1daf4b399f9f99bb9c9a0047b95039fcf2d9010e4387001ca3f5b87f001e";
+      url = "mirror://steamrt/pool/main/libx/libxml2/libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxml2.deb";
       };
     }
     rec {
-      name = "libxmu6_1.1.0-3+srt5_amd64";
-      sha256 = "543f44789cd1f1cd6cc8551e5b840062e3ec52a0649673b4c35a7fe5afe94b5d";
-      url = "mirror://steamrt/pool/main/libx/libxmu/libxmu6_1.1.0-3+srt5_amd64.deb";
+      name = "libxmu6_1.1.0-3+srt6_amd64";
+      sha256 = "42a5a58f0c809d5c761155ca311207970e98d38eb40cf50343a37bf8b84285a5";
+      url = "mirror://steamrt/pool/main/libx/libxmu/libxmu6_1.1.0-3+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxmu6.deb";
       };
     }
     rec {
-      name = "libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt1_amd64";
-      sha256 = "f270c513534e64d1b5176d39b69118c82e6d7b14156f460f1c450e58c1d8675b";
-      url = "mirror://steamrt/pool/main/libx/libxpm/libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt1_amd64.deb";
+      name = "libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt2_amd64";
+      sha256 = "99b0b9a684573156f7d062d6cbfac498b6c5902453d4f12cb7fed7f841c61774";
+      url = "mirror://steamrt/pool/main/libx/libxpm/libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxpm4.deb";
       };
     }
     rec {
-      name = "libxrandr2_1.5.0-1+srt1_amd64";
-      sha256 = "62231bd5b7e5792de2783a8ee496735ecf7aab15859df82aa8b453a5dedfa5c4";
-      url = "mirror://steamrt/pool/main/libx/libxrandr/libxrandr2_1.5.0-1+srt1_amd64.deb";
+      name = "libxrandr2_1.5.0-1+srt2_amd64";
+      sha256 = "ef4b4a33192873f33d490f7fa8407b4044009c85f40fc10df22fa0e0e97cb2a3";
+      url = "mirror://steamrt/pool/main/libx/libxrandr/libxrandr2_1.5.0-1+srt2_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxrandr2.deb";
       };
     }
     rec {
-      name = "libxrender1_0.9.6-2ubuntu0.2+srt2_amd64";
-      sha256 = "3feec8369c4d5dcad84b8378429823d77d462422f4395dcb297697214a9ba47d";
-      url = "mirror://steamrt/pool/main/libx/libxrender/libxrender1_0.9.6-2ubuntu0.2+srt2_amd64.deb";
+      name = "libxrender1_0.9.6-2ubuntu0.2+srt3_amd64";
+      sha256 = "3d0bba7e7cfa552d3770c43eae8a52a131ea1e59b6180b345e44113d310b3826";
+      url = "mirror://steamrt/pool/main/libx/libxrender/libxrender1_0.9.6-2ubuntu0.2+srt3_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxrender1.deb";
       };
     }
     rec {
-      name = "libxss1_1.2.1-2+srt5_amd64";
-      sha256 = "197aaeff33ea205f8da689de1f48f40a74f46a2e46c68f6d3ab40eb32022e2cc";
-      url = "mirror://steamrt/pool/main/libx/libxss/libxss1_1.2.1-2+srt5_amd64.deb";
+      name = "libxss1_1.2.1-2+srt6_amd64";
+      sha256 = "bdca1d17584edbae953d21c44b99a6d1e42f2f4733ff3969d39ea75e4964de1a";
+      url = "mirror://steamrt/pool/main/libx/libxss/libxss1_1.2.1-2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxss1.deb";
       };
     }
     rec {
-      name = "libxt6_1.1.1-2ubuntu0.1+srt5_amd64";
-      sha256 = "6a56f59cd8df6fd5557db666a97e6d691b0d393c45bed5d84f4cfe25e60ea83d";
-      url = "mirror://steamrt/pool/main/libx/libxt/libxt6_1.1.1-2ubuntu0.1+srt5_amd64.deb";
+      name = "libxt6_1.1.1-2ubuntu0.1+srt6_amd64";
+      sha256 = "7330731f3623bd177710a28c3a2becf8ec74c69e755686ca14d9b205ee1a5785";
+      url = "mirror://steamrt/pool/main/libx/libxt/libxt6_1.1.1-2ubuntu0.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxt6.deb";
       };
     }
     rec {
-      name = "libxtst6_1.2.0-4ubuntu0.1+srt5_amd64";
-      sha256 = "0df56b7445f0cee8d64871d20634223370b23069c2153b99398da5350e1034d0";
-      url = "mirror://steamrt/pool/main/libx/libxtst/libxtst6_1.2.0-4ubuntu0.1+srt5_amd64.deb";
+      name = "libxtst6_1.2.0-4ubuntu0.1+srt6_amd64";
+      sha256 = "063b8c7e6187aac43b92731b5e06a5c78382ebd20e448a14b9c294198eda4d3d";
+      url = "mirror://steamrt/pool/main/libx/libxtst/libxtst6_1.2.0-4ubuntu0.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxtst6.deb";
       };
     }
     rec {
-      name = "libxxf86vm1_1.1.1-2ubuntu0.1+srt5_amd64";
-      sha256 = "3533b1044f68e411fff05c9766888e59fa9000204941b304f8d4ce90248438b6";
-      url = "mirror://steamrt/pool/main/libx/libxxf86vm/libxxf86vm1_1.1.1-2ubuntu0.1+srt5_amd64.deb";
+      name = "libxxf86vm1_1.1.1-2ubuntu0.1+srt6_amd64";
+      sha256 = "7f83864c72c692bb354974e0ebe30b67965810c292dc254d5a0a96c8967b4819";
+      url = "mirror://steamrt/pool/main/libx/libxxf86vm/libxxf86vm1_1.1.1-2ubuntu0.1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxxf86vm1.deb";
       };
     }
     rec {
-      name = "nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt5_amd64";
-      sha256 = "845943c04ee21368b0c0c53e13499fc143e5552b27cb989346f0fcbefc232233";
-      url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt5_amd64.deb";
+      name = "nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt6_amd64";
+      sha256 = "86c4f7c16ac0f6104dfa6c809469f20a750b7391a1e70e916afcbe472f11dc2a";
+      url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "nvidia-cg-toolkit.deb";
       };
     }
     rec {
-      name = "steamrt-legacy_1.20190320.0+srt1_amd64";
-      sha256 = "35ec5e34502ceb6b6bedbd22db8d3e1ab3bc3e3298d227a89a8edb8128bb86eb";
-      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-legacy_1.20190320.0+srt1_amd64.deb";
+      name = "steamrt-legacy_1.20190624.0+srt1_amd64";
+      sha256 = "0a0e96fc8dbe806b2d0b4ac26f217ca5ff49188f295a9a4b0d39cbe0a4da52b0";
+      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-legacy_1.20190624.0+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "steamrt-legacy.deb";
       };
     }
     rec {
-      name = "steamrt-libs_1.20190320.0+srt1_amd64";
-      sha256 = "bdc4ea575b1227e830707ae5caddcf8ea10df6955e5591459607548e1bb9460d";
-      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-libs_1.20190320.0+srt1_amd64.deb";
+      name = "steamrt-libs_1.20190624.0+srt1_amd64";
+      sha256 = "ed7124e8d11d9dd435ec7b7516a0d0e2c766f677b2c5a1d0b257790c03f307a2";
+      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-libs_1.20190624.0+srt1_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "steamrt-libs.deb";
       };
     }
     rec {
-      name = "zenity_3.4.0-0ubuntu4+steamrt2+srt5_amd64";
-      sha256 = "e1cc592b076755ec0b6eaed6bc1585aea1e18c44db0f3c4d055c2abab1d3512a";
-      url = "mirror://steamrt/pool/main/z/zenity/zenity_3.4.0-0ubuntu4+steamrt2+srt5_amd64.deb";
+      name = "zenity_3.4.0-0ubuntu4+steamrt2+srt6_amd64";
+      sha256 = "5eb59aa8d2211153c780aab2304e8694d7eb0204f284193ff2a037dc9e1274db";
+      url = "mirror://steamrt/pool/main/z/zenity/zenity_3.4.0-0ubuntu4+steamrt2+srt6_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "zenity.deb";
       };
     }
     rec {
-      name = "zenity-common_3.4.0-0ubuntu4+steamrt2+srt5_all";
-      sha256 = "27c90bd85c4ff3c9593088d62a19537f7250910dcdd28c278bd6c71157e8be88";
-      url = "mirror://steamrt/pool/main/z/zenity/zenity-common_3.4.0-0ubuntu4+steamrt2+srt5_all.deb";
+      name = "zenity-common_3.4.0-0ubuntu4+steamrt2+srt6_all";
+      sha256 = "bc8f0b80672833be72c6dd87d406b5fc0ef92e51f91e3a461678fc97844649bc";
+      url = "mirror://steamrt/pool/main/z/zenity/zenity-common_3.4.0-0ubuntu4+steamrt2+srt6_all.deb";
       source = fetchurl {
         inherit url sha256;
         name = "zenity-common.deb";
       };
     }
     rec {
-      name = "zlib1g_1.2.3.4.dfsg-3ubuntu4+srt6_amd64";
-      sha256 = "d26512b9721fcbe8b5d5b62b2fe1db083b100a1cf5ec69a3b4ddcef11a84c224";
-      url = "mirror://steamrt/pool/main/z/zlib/zlib1g_1.2.3.4.dfsg-3ubuntu4+srt6_amd64.deb";
+      name = "zlib1g_1.2.3.4.dfsg-3ubuntu4+srt7_amd64";
+      sha256 = "0cd05ea08abc9f30822a8eee0530d082938341fcd6c1a631b2237be7e1dcaae6";
+      url = "mirror://steamrt/pool/main/z/zlib/zlib1g_1.2.3.4.dfsg-3ubuntu4+srt7_amd64.deb";
       source = fetchurl {
         inherit url sha256;
         name = "zlib1g.deb";
@@ -1860,1854 +1860,1854 @@
   ];
   i386 = [
     rec {
-      name = "dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt1_i386";
-      sha256 = "f12c846380b10661005d12241133ad432f7ecd88f569458275d4c2715ad88e8c";
-      url = "mirror://steamrt/pool/main/d/d-conf/dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt1_i386.deb";
+      name = "dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt2_i386";
+      sha256 = "44366cb9097377fdd517f93bca87181254cfc8acf93e655f80a373c9166885f8";
+      url = "mirror://steamrt/pool/main/d/d-conf/dconf-gsettings-backend_0.12.0-0ubuntu1.1+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "dconf-gsettings-backend.deb";
       };
     }
     rec {
-      name = "freeglut3_2.6.0-1ubuntu3+srt5_i386";
-      sha256 = "8baeb045fc6ad2642aa82b129cee0338065c3c4ba8c0c063daf0c22ab74db649";
-      url = "mirror://steamrt/pool/main/f/freeglut/freeglut3_2.6.0-1ubuntu3+srt5_i386.deb";
+      name = "freeglut3_2.6.0-1ubuntu3+srt6_i386";
+      sha256 = "9aecbd438ad4ed3a9ff5953b76d16c54599db5de983e1e7b701ae2f36b706307";
+      url = "mirror://steamrt/pool/main/f/freeglut/freeglut3_2.6.0-1ubuntu3+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "freeglut3.deb";
       };
     }
     rec {
-      name = "gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt1_i386";
-      sha256 = "5983448af201f3cf65c53e9b4e0d5f39d6e019e18d62d9299b92ef33445d0253";
-      url = "mirror://steamrt/pool/main/g/gcc-4.6/gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt1_i386.deb";
+      name = "gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt2_i386";
+      sha256 = "47ed7a8b051c6fc76025583cdc63d0b68c3052cd476e8c1343209a123e19f089";
+      url = "mirror://steamrt/pool/main/g/gcc-4.6/gcc-4.6-base_4.6.3-1ubuntu5+steamrt1.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gcc-4.6-base.deb";
       };
     }
     rec {
-      name = "gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt1_i386";
-      sha256 = "f99dfc360aa9b1cd0dde113b8b81167b78dcb527fa3c5b7c10eb628720a2525e";
-      url = "mirror://steamrt/pool/main/g/gcc-5/gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt1_i386.deb";
+      name = "gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt2_i386";
+      sha256 = "be247eb920a666907820863ef411003c50850ade57cc42fdbf53b503d4db9644";
+      url = "mirror://steamrt/pool/main/g/gcc-5/gcc-5-base_5.4.0-7.really.6+steamrt1.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gcc-5-base.deb";
       };
     }
     rec {
-      name = "gtk2-engines_2.20.2-1ubuntu1+srt5_i386";
-      sha256 = "e62883416cc46528b03ce99a02e84eda6c5dc9e3c5bf1ac769a655e19310051a";
-      url = "mirror://steamrt/pool/main/g/gtk2-engines/gtk2-engines_2.20.2-1ubuntu1+srt5_i386.deb";
+      name = "gtk2-engines_2.20.2-1ubuntu1+srt6_i386";
+      sha256 = "d3c614c5bba71a50e67068b83f66d03516ec1baf9e8d43fb7433562322cae0ed";
+      url = "mirror://steamrt/pool/main/g/gtk2-engines/gtk2-engines_2.20.2-1ubuntu1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gtk2-engines.deb";
       };
     }
     rec {
-      name = "gtk2-engines-murrine_0.98.2-0ubuntu1+srt5_i386";
-      sha256 = "0fe3bb57d5b519b41c33ee4dc17a62c3d06c5890bf6b2b9f115902281050d0bb";
-      url = "mirror://steamrt/pool/main/g/gtk2-engines-murrine/gtk2-engines-murrine_0.98.2-0ubuntu1+srt5_i386.deb";
+      name = "gtk2-engines-murrine_0.98.2-0ubuntu1+srt6_i386";
+      sha256 = "c377c8be32a2f4f8163582a88f99f9226f44499b915c981c4d9bd2da8578db40";
+      url = "mirror://steamrt/pool/main/g/gtk2-engines-murrine/gtk2-engines-murrine_0.98.2-0ubuntu1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gtk2-engines-murrine.deb";
       };
     }
     rec {
-      name = "gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt5_i386";
-      sha256 = "24ea566c8776aa16745e86edd39ac57a42e821ae09a37d006adfb2d2e305a647";
-      url = "mirror://steamrt/pool/main/g/gtk+2.0/gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt5_i386.deb";
+      name = "gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt6_i386";
+      sha256 = "73e5414fd8737e64745d886f2180c685e1cfbd78409322222dea4d470a0e8447";
+      url = "mirror://steamrt/pool/main/g/gtk+2.0/gtk2-engines-pixbuf_2.24.10-0ubuntu6+steamrt1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "gtk2-engines-pixbuf.deb";
       };
     }
     rec {
-      name = "libacl1_2.2.51-5ubuntu1+steamrt1.1+srt2_i386";
-      sha256 = "a9e9c34b531a7cb79ac2a158866e36a96833122889b8d78197edf4ff685e9505";
-      url = "mirror://steamrt/pool/main/a/acl/libacl1_2.2.51-5ubuntu1+steamrt1.1+srt2_i386.deb";
+      name = "libacl1_2.2.51-5ubuntu1+steamrt1.1+srt4_i386";
+      sha256 = "89baeb400931b59ca75def2c7e747ac23d8e5adec22792b1e8b66490bb23fe77";
+      url = "mirror://steamrt/pool/main/a/acl/libacl1_2.2.51-5ubuntu1+steamrt1.1+srt4_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libacl1.deb";
       };
     }
     rec {
-      name = "libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt1_i386";
-      sha256 = "8dce3bca21c3c0f9df67157d0edeec6c5eb6c4fcb14561a526ae8d06ca4c6ead";
-      url = "mirror://steamrt/pool/main/liba/libappindicator/libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt1_i386.deb";
+      name = "libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt2_i386";
+      sha256 = "1dfff440099992bff06f5e01db3e298ac7272b6fc75786b75c1a5645d4d6df16";
+      url = "mirror://steamrt/pool/main/liba/libappindicator/libappindicator1_0.4.92-0ubuntu1.1+steamrt1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libappindicator1.deb";
       };
     }
     rec {
-      name = "libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "0556a4b542c48d05210752a779fcce9e12f8f3bdd709675df897eea220b8eae1";
-      url = "mirror://steamrt/pool/main/h/heimdal/libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
+      name = "libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386";
+      sha256 = "40f34e384d61dd305412a46bfe6fbd5df859ef0033b0326dc3b88d57265d5c5a";
+      url = "mirror://steamrt/pool/main/h/heimdal/libasn1-8-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libasn1-8-heimdal.deb";
       };
     }
     rec {
-      name = "libasound2_1.1.0-0ubuntu1+steamos1+srt2_i386";
-      sha256 = "6c4710ca0c3a4962ca04a8775f1b4ddc589788c0abaa241cd5263611400a4071";
-      url = "mirror://steamrt/pool/main/a/alsa-lib/libasound2_1.1.0-0ubuntu1+steamos1+srt2_i386.deb";
+      name = "libasound2_1.1.0-0ubuntu1+steamos1+srt3_i386";
+      sha256 = "9b7eedcafb01118a672a5b42790beec5cd8775cd585a4acaca2832c955511bff";
+      url = "mirror://steamrt/pool/main/a/alsa-lib/libasound2_1.1.0-0ubuntu1+steamos1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libasound2.deb";
       };
     }
     rec {
-      name = "libasound2-plugins_1.1.0-0ubuntu1+srt2_i386";
-      sha256 = "0d3e2287bb157ed9a7abda47d09b67cf9efde1e470185495db233c4eaebc3943";
-      url = "mirror://steamrt/pool/main/a/alsa-plugins/libasound2-plugins_1.1.0-0ubuntu1+srt2_i386.deb";
+      name = "libasound2-plugins_1.1.0-0ubuntu1+srt3_i386";
+      sha256 = "d61bb958a41a1bdc2a664ba2a9a83865b874b3e96f8776fedba6ed5810be96dd";
+      url = "mirror://steamrt/pool/main/a/alsa-plugins/libasound2-plugins_1.1.0-0ubuntu1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libasound2-plugins.deb";
       };
     }
     rec {
-      name = "libasyncns0_0.8-4+srt5_i386";
-      sha256 = "a2cbfecec3327429d41d46af1aa963f814778ee30ecbc01c39659183e3b3194d";
-      url = "mirror://steamrt/pool/main/liba/libasyncns/libasyncns0_0.8-4+srt5_i386.deb";
+      name = "libasyncns0_0.8-4+srt6_i386";
+      sha256 = "879d0f1173da5b064958150e071ccb5331b894962630546743e293e94bf100d1";
+      url = "mirror://steamrt/pool/main/liba/libasyncns/libasyncns0_0.8-4+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libasyncns0.deb";
       };
     }
     rec {
-      name = "libatk1.0-0_2.18.0-1+steamrt1+srt1_i386";
-      sha256 = "9f7e3db1e1784d1ccff554aa9d534b37aca0549d9f24bd825bd50457b51cb451";
-      url = "mirror://steamrt/pool/main/a/atk1.0/libatk1.0-0_2.18.0-1+steamrt1+srt1_i386.deb";
+      name = "libatk1.0-0_2.18.0-1+steamrt1+srt2_i386";
+      sha256 = "67d9d72795c5b94a8980899739a59d2be2aa280cd6a2619f9fe342171d04e748";
+      url = "mirror://steamrt/pool/main/a/atk1.0/libatk1.0-0_2.18.0-1+steamrt1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libatk1.0-0.deb";
       };
     }
     rec {
-      name = "libattr1_2.4.46-5ubuntu1+steamrt1.1+srt1_i386";
-      sha256 = "4f732421cd1bf4a07fbf12ba80abf77670d5a9ed4c859e5e322bfcc4b9692f33";
-      url = "mirror://steamrt/pool/main/a/attr/libattr1_2.4.46-5ubuntu1+steamrt1.1+srt1_i386.deb";
+      name = "libattr1_2.4.46-5ubuntu1+steamrt1.1+srt2_i386";
+      sha256 = "bcea5d6f2743c617dac44c4d836b6937a64816f3c288a56b656ee4adbf63714a";
+      url = "mirror://steamrt/pool/main/a/attr/libattr1_2.4.46-5ubuntu1+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libattr1.deb";
       };
     }
     rec {
-      name = "libavahi-client3_0.6.30-5ubuntu2.2+srt1_i386";
-      sha256 = "4753b23fedaad1bef1620e52873437342b5b509488920da15b1075fdcd20d8fb";
-      url = "mirror://steamrt/pool/main/a/avahi/libavahi-client3_0.6.30-5ubuntu2.2+srt1_i386.deb";
+      name = "libavahi-client3_0.6.30-5ubuntu2.2+srt2_i386";
+      sha256 = "7fb0b94117ae07e44e89267c518d57c9c654f2cc24cef436dc1da41089d957f6";
+      url = "mirror://steamrt/pool/main/a/avahi/libavahi-client3_0.6.30-5ubuntu2.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavahi-client3.deb";
       };
     }
     rec {
-      name = "libavahi-common3_0.6.30-5ubuntu2.2+srt1_i386";
-      sha256 = "98790394ba0d0ea04eca2ccc937b87133b919218d3cf7120051e371289911b52";
-      url = "mirror://steamrt/pool/main/a/avahi/libavahi-common3_0.6.30-5ubuntu2.2+srt1_i386.deb";
+      name = "libavahi-common3_0.6.30-5ubuntu2.2+srt2_i386";
+      sha256 = "0b0463837ad36503c280bc64bd9bcb60648d826f1afeea5fb39c0a8f4332755f";
+      url = "mirror://steamrt/pool/main/a/avahi/libavahi-common3_0.6.30-5ubuntu2.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavahi-common3.deb";
       };
     }
     rec {
-      name = "libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386";
-      sha256 = "8549391d2ddd67111eea1882cab64e4afe502e69fd269cbf7e456de29f442f89";
-      url = "mirror://steamrt/pool/main/liba/libav/libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386.deb";
+      name = "libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_i386";
+      sha256 = "56ff2ee6a4044ba8c6d180414828ad0c041a3c42c5667112003b0e0c1e421b0b";
+      url = "mirror://steamrt/pool/main/liba/libav/libavcodec53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavcodec53.deb";
       };
     }
     rec {
-      name = "libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386";
-      sha256 = "ee05b58eeb1d0a955ee7c4039371fe1698c9862e76c3d5e7a4dc2043f549d2ee";
-      url = "mirror://steamrt/pool/main/liba/libav/libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386.deb";
+      name = "libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_i386";
+      sha256 = "70d1b49e40f0cfee65eb20c9388d51c6e98c468830fcacd95276908279a3f29d";
+      url = "mirror://steamrt/pool/main/liba/libav/libavfilter2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavfilter2.deb";
       };
     }
     rec {
-      name = "libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386";
-      sha256 = "06cc35c3707604cf869a0f5338022cc9018c564394d83201db053397049df18b";
-      url = "mirror://steamrt/pool/main/liba/libav/libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386.deb";
+      name = "libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_i386";
+      sha256 = "034e3566a6e8f2b01726bb9d59b1130eb0a09af79ce9d934d040ae11e7923bb1";
+      url = "mirror://steamrt/pool/main/liba/libav/libavformat53_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavformat53.deb";
       };
     }
     rec {
-      name = "libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386";
-      sha256 = "f446cdc75432a5b6734f1ba299adb34b4d23f3d293afac7cad30a8c7f1da2eaf";
-      url = "mirror://steamrt/pool/main/liba/libav/libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386.deb";
+      name = "libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_i386";
+      sha256 = "67001f81a336cb5480fd06043d9522d62e280022945d22a8be7f3e50ab4dfed5";
+      url = "mirror://steamrt/pool/main/liba/libav/libavutil51_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libavutil51.deb";
       };
     }
     rec {
-      name = "libbz2-1.0_1.0.6-1+srt5_i386";
-      sha256 = "5f6e91a80fd1b98b3ec574b91f1c6ca829e7bc88232e5366b026650e0f60cfda";
-      url = "mirror://steamrt/pool/main/b/bzip2/libbz2-1.0_1.0.6-1+srt5_i386.deb";
+      name = "libbz2-1.0_1.0.6-1+srt6_i386";
+      sha256 = "bbdc900e1531bf5e78256ead401624edb25c65c02dc904e73f61c683d86a94c7";
+      url = "mirror://steamrt/pool/main/b/bzip2/libbz2-1.0_1.0.6-1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libbz2-1.0.deb";
       };
     }
     rec {
-      name = "libcairo2_1.10.2-6.1ubuntu3+srt5_i386";
-      sha256 = "46334226fa343c41b0cbb6ab1a2bc67782ef19aeab47e133b2f3266c4c13df6e";
-      url = "mirror://steamrt/pool/main/c/cairo/libcairo2_1.10.2-6.1ubuntu3+srt5_i386.deb";
+      name = "libcairo2_1.10.2-6.1ubuntu3+srt6_i386";
+      sha256 = "5e2efefd18a8750a22c1b688b0fd19558291fd82319feb58469aa743ae277fe3";
+      url = "mirror://steamrt/pool/main/c/cairo/libcairo2_1.10.2-6.1ubuntu3+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcairo2.deb";
       };
     }
     rec {
-      name = "libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt1_i386";
-      sha256 = "91611d5aced3395fbe286fc8db3013734f7d55828ace3111c1d698cc4e47e9d1";
-      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt1_i386.deb";
+      name = "libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt2_i386";
+      sha256 = "3516a9992c803f770ad3f191dd50c926479300e57eb5ad944f3cc189cc17b2ff";
+      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk-module_0.28-3ubuntu3+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcanberra-gtk-module.deb";
       };
     }
     rec {
-      name = "libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt1_i386";
-      sha256 = "5aa5679a42853a43fb071444faa3bb899b584ae26e60f68633c18506b5fbd84a";
-      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt1_i386.deb";
+      name = "libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt2_i386";
+      sha256 = "7dfe123753357fcf62367b07ab4dc0c8d98b640efd1f85833583c386850c6393";
+      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra-gtk0_0.28-3ubuntu3+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcanberra-gtk0.deb";
       };
     }
     rec {
-      name = "libcanberra0_0.28-3ubuntu3+steamrt1.1+srt1_i386";
-      sha256 = "0cbd2de604789d3077b0bdf0e2845002c94408962fddcc13e7da1fb2e013dc4d";
-      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra0_0.28-3ubuntu3+steamrt1.1+srt1_i386.deb";
+      name = "libcanberra0_0.28-3ubuntu3+steamrt1.1+srt2_i386";
+      sha256 = "d5a6d693a17a615d89eacfb6ef3893c65e72ed34b61e368e9e311e90720be01d";
+      url = "mirror://steamrt/pool/main/libc/libcanberra/libcanberra0_0.28-3ubuntu3+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcanberra0.deb";
       };
     }
     rec {
-      name = "libcap2_2.22-1ubuntu3+srt5_i386";
-      sha256 = "5565b14dee1c01c9fed868534a163e01b3451a3bcc67b53eb88b21caf57bc9e3";
-      url = "mirror://steamrt/pool/main/libc/libcap2/libcap2_2.22-1ubuntu3+srt5_i386.deb";
+      name = "libcap2_2.22-1ubuntu3+srt6_i386";
+      sha256 = "7224c9dacf70616e5531453b5b6dc0410c2b035366c98d02f8c51890780dd1eb";
+      url = "mirror://steamrt/pool/main/libc/libcap2/libcap2_2.22-1ubuntu3+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcap2.deb";
       };
     }
     rec {
-      name = "libcg_3.0.0016-0ubuntu1+srt5_i386";
-      sha256 = "b3008119c14897673471f075c30e66dee472f44b3be98c854702f34371c1423f";
-      url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/libcg_3.0.0016-0ubuntu1+srt5_i386.deb";
+      name = "libcg_3.0.0016-0ubuntu1+srt6_i386";
+      sha256 = "a21ba20d03f43163c1222fbc6a570c20783a1d504dcf92306ab029c437fd0df9";
+      url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/libcg_3.0.0016-0ubuntu1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcg.deb";
       };
     }
     rec {
-      name = "libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt1_i386";
-      sha256 = "b971589adbdefc969637f8c9bb9dc76b196cb89dd663181a7a7d7a4bd22f7046";
-      url = "mirror://steamrt/pool/main/e/e2fsprogs/libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt1_i386.deb";
+      name = "libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt2_i386";
+      sha256 = "bf81884166576106fb8f73ac789674218b2a349af94edf3f4c3329e6ebd34240";
+      url = "mirror://steamrt/pool/main/e/e2fsprogs/libcomerr2_1.42-1ubuntu2.3+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcomerr2.deb";
       };
     }
     rec {
-      name = "libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt2_i386";
-      sha256 = "6f29d4117f5c319c95cb0a455abdd4d16cb3cbb40b0bf56ec122ffe2e0d6e20a";
-      url = "mirror://steamrt/pool/main/c/cups/libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt2_i386.deb";
+      name = "libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt3_i386";
+      sha256 = "069c28585b6acbab32e621c82969608eb326691f5168ff7d19c58c1dd58a65e0";
+      url = "mirror://steamrt/pool/main/c/cups/libcups2_1.5.3-0ubuntu8.7+steamrt1.2+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcups2.deb";
       };
     }
     rec {
-      name = "libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt4_i386";
-      sha256 = "20b2dece179c3e37c72591467b8d084bb101e6bff06635a7554e22694dd57ea2";
-      url = "mirror://steamrt/pool/main/c/curl/libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt4_i386.deb";
+      name = "libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt5_i386";
+      sha256 = "f92d0bdda8d394104824fca2ac6d19cb9c95a863893ef604e45c43d0eeb16ac1";
+      url = "mirror://steamrt/pool/main/c/curl/libcurl3_7.22.0-3ubuntu4.17+steamrt1.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcurl3.deb";
       };
     }
     rec {
-      name = "libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt4_i386";
-      sha256 = "5dd7ef27d44bfd6e57d61ab45060f49effcf6ceab8447d9be8d820c83366d598";
-      url = "mirror://steamrt/pool/main/c/curl/libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt4_i386.deb";
+      name = "libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt5_i386";
+      sha256 = "b210ce907bded1db660df24365861a10421d758cfd7fdb2fe64b058ecb92cdce";
+      url = "mirror://steamrt/pool/main/c/curl/libcurl3-gnutls_7.22.0-3ubuntu4.17+steamrt1.1+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libcurl3-gnutls.deb";
       };
     }
     rec {
-      name = "libdbus-1-3_1.4.18-1ubuntu1.8+srt1_i386";
-      sha256 = "93b6152d521ebb459703e4e1ca08d26fdc6bbeca4041ae170434df0dd3c20ad5";
-      url = "mirror://steamrt/pool/main/d/dbus/libdbus-1-3_1.4.18-1ubuntu1.8+srt1_i386.deb";
+      name = "libdbus-1-3_1.4.18-1ubuntu1.8+srt2_i386";
+      sha256 = "a34a745ddad9cf76fc1878380dc68dd6a30f9dc5c17629ec4adf21c481e20336";
+      url = "mirror://steamrt/pool/main/d/dbus/libdbus-1-3_1.4.18-1ubuntu1.8+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libdbus-1-3.deb";
       };
     }
     rec {
-      name = "libdbus-glib-1-2_0.98-1ubuntu1.1+srt5_i386";
-      sha256 = "6af6b5f336233d1a6e449da01009d930ec0d740d2247fccba876e586d9999a6a";
-      url = "mirror://steamrt/pool/main/d/dbus-glib/libdbus-glib-1-2_0.98-1ubuntu1.1+srt5_i386.deb";
+      name = "libdbus-glib-1-2_0.98-1ubuntu1.1+srt6_i386";
+      sha256 = "c881add03cc07271b713b7d4607dfaa1def7b851338d35d807aeae8de7cbe908";
+      url = "mirror://steamrt/pool/main/d/dbus-glib/libdbus-glib-1-2_0.98-1ubuntu1.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libdbus-glib-1-2.deb";
       };
     }
     rec {
-      name = "libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt5_i386";
-      sha256 = "310e4521610c61b3bf1ceb4705aa392df7a0a2e7578730769f84ba7879ae9f3c";
-      url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt5_i386.deb";
+      name = "libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt6_i386";
+      sha256 = "f846eda12e233309c903865aee472567cb5b4c43214091b7a41f8c3801cdbbd7";
+      url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-glib4_0.6.2-0ubuntu0.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libdbusmenu-glib4.deb";
       };
     }
     rec {
-      name = "libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt5_i386";
-      sha256 = "6c59b61c93244508ab67d44ec8d7a4a5b7c63f7b3865275759732effaebb464e";
-      url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt5_i386.deb";
+      name = "libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt6_i386";
+      sha256 = "f8fcd3d120593aff181181902191094c646a0747a2dd9c19f979aaaa69078220";
+      url = "mirror://steamrt/pool/main/libd/libdbusmenu/libdbusmenu-gtk4_0.6.2-0ubuntu0.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libdbusmenu-gtk4.deb";
       };
     }
     rec {
-      name = "libexif12_0.6.20-2ubuntu0.1+srt5_i386";
-      sha256 = "3cd56894e3b6bb51fd3b8dfc894ac993aec1fb1eb1a74330ed19826175227919";
-      url = "mirror://steamrt/pool/main/libe/libexif/libexif12_0.6.20-2ubuntu0.1+srt5_i386.deb";
+      name = "libexif12_0.6.20-2ubuntu0.1+srt6_i386";
+      sha256 = "b9a25a54b70c2294e96c447bf05775c89eb056ff8eb0b4840506a955fcf78d35";
+      url = "mirror://steamrt/pool/main/libe/libexif/libexif12_0.6.20-2ubuntu0.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libexif12.deb";
       };
     }
     rec {
-      name = "libexpat1_2.0.1-7.2ubuntu1.4+srt2_i386";
-      sha256 = "1a6d486a6817e2b654ce1818d35b4c1b89b276bdfcd113d9355f12103ce3672b";
-      url = "mirror://steamrt/pool/main/e/expat/libexpat1_2.0.1-7.2ubuntu1.4+srt2_i386.deb";
+      name = "libexpat1_2.0.1-7.2ubuntu1.4+srt3_i386";
+      sha256 = "2ffae071d141e08e9dd5c486ba00f91830ca4a73c346c2e3096069c42d80e058";
+      url = "mirror://steamrt/pool/main/e/expat/libexpat1_2.0.1-7.2ubuntu1.4+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libexpat1.deb";
       };
     }
     rec {
-      name = "libffi6_3.0.11~rc1-5+srt5_i386";
-      sha256 = "cd288b5caaec5f1f8a828853386145e3696030c9ae80004f02f4135f72b3703f";
-      url = "mirror://steamrt/pool/main/libf/libffi/libffi6_3.0.11~rc1-5+srt5_i386.deb";
+      name = "libffi6_3.0.11~rc1-5+srt6_i386";
+      sha256 = "2c6f1291894f467648b922421fa8555b96c02075d3d78f1472efbfa44576c203";
+      url = "mirror://steamrt/pool/main/libf/libffi/libffi6_3.0.11~rc1-5+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libffi6.deb";
       };
     }
     rec {
-      name = "libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt1_i386";
-      sha256 = "3d37ca9657a3a6e76b5ade9822b68ddc8005efcd6cb63e12d2778f10eaf4aee5";
-      url = "mirror://steamrt/pool/main/f/flac/libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt1_i386.deb";
+      name = "libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt2_i386";
+      sha256 = "64f1bfb240d700b9af09a9318ca335c9fd63e48f753fcc306b6071534708a770";
+      url = "mirror://steamrt/pool/main/f/flac/libflac8_1.2.1-6+steamrt1.1ubuntu0.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libflac8.deb";
       };
     }
     rec {
-      name = "libfltk1.1_1.1.10-10+srt5_i386";
-      sha256 = "c557aaf13a1cfb5c956059f1da7afed8648f2c07e4621e3cbcd970a5df850bc8";
-      url = "mirror://steamrt/pool/main/f/fltk1.1/libfltk1.1_1.1.10-10+srt5_i386.deb";
+      name = "libfltk1.1_1.1.10-10+srt6_i386";
+      sha256 = "5f7149f85e892031d232de4d206b589d5fc204a05d313565016f8688295ee045";
+      url = "mirror://steamrt/pool/main/f/fltk1.1/libfltk1.1_1.1.10-10+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libfltk1.1.deb";
       };
     }
     rec {
-      name = "libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt1_i386";
-      sha256 = "7268b06927384f98a2bc87b241da2f2c8390559c5e5a02371748747081fdb8a6";
-      url = "mirror://steamrt/pool/main/f/fontconfig/libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt1_i386.deb";
+      name = "libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt2_i386";
+      sha256 = "e1d4588b6426cd6fc685463da3c09e6b5483b7492debe4dea054dabb5e510ef2";
+      url = "mirror://steamrt/pool/main/f/fontconfig/libfontconfig1_2.8.0-3ubuntu9.2+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libfontconfig1.deb";
       };
     }
     rec {
-      name = "libfreetype6_2.4.8-1ubuntu2.6+srt1_i386";
-      sha256 = "70a554523353df1d36e5a8ec86a34c9dfb86c496889877d9bd750c044bde50fd";
-      url = "mirror://steamrt/pool/main/f/freetype/libfreetype6_2.4.8-1ubuntu2.6+srt1_i386.deb";
+      name = "libfreetype6_2.4.8-1ubuntu2.6+srt2_i386";
+      sha256 = "0143413faf66a0db49c7c478c6aff34bc08a13033b2093b2039fe3630ee01f30";
+      url = "mirror://steamrt/pool/main/f/freetype/libfreetype6_2.4.8-1ubuntu2.6+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libfreetype6.deb";
       };
     }
     rec {
-      name = "libgcc1_5.4.0-7.really.6+steamrt1.2+srt1_i386";
-      sha256 = "c406f08ae1033994424617cd9d07e8f13fc61e0728ecbb314325a540f9f21b3f";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libgcc1_5.4.0-7.really.6+steamrt1.2+srt1_i386.deb";
+      name = "libgcc1_5.4.0-7.really.6+steamrt1.2+srt2_i386";
+      sha256 = "50d44e8b3821704e15af26322dccc365f1602ee9bda53dee47329974196d98c3";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libgcc1_5.4.0-7.really.6+steamrt1.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgcc1.deb";
       };
     }
     rec {
-      name = "libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt1_i386";
-      sha256 = "3f0c981cc4a2e705252c5d730289fcc9289a294637160ada6ee0ca75fb24c6e5";
-      url = "mirror://steamrt/pool/main/g/gconf/libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt1_i386.deb";
+      name = "libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt2_i386";
+      sha256 = "65f0222b28d6c9315c3ba067085e7b3512b447cedb5d362af9918016368f1766";
+      url = "mirror://steamrt/pool/main/g/gconf/libgconf-2-4_3.2.5-0ubuntu2+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgconf-2-4.deb";
       };
     }
     rec {
-      name = "libgcrypt11_1.5.0-3ubuntu0.6+srt2_i386";
-      sha256 = "ec5e6074d550ba33c937305fa1d274a00c481ba3a02666b0623236c90cad6af1";
-      url = "mirror://steamrt/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-3ubuntu0.6+srt2_i386.deb";
+      name = "libgcrypt11_1.5.0-3ubuntu0.6+srt3_i386";
+      sha256 = "bc74344b1dc733817522853e7ac03f165440924be176b9dc0e6e5dbb11ff47c4";
+      url = "mirror://steamrt/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-3ubuntu0.6+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgcrypt11.deb";
       };
     }
     rec {
-      name = "libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt5_i386";
-      sha256 = "a519b8df185260c2b49758383db5594d46c24f60b8edb4cbca01307b4b013a3a";
-      url = "mirror://steamrt/pool/main/g/gdk-pixbuf/libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt5_i386.deb";
+      name = "libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt6_i386";
+      sha256 = "811794c91c9cd6d8bdcb23d8ab924a98c7a153dada9ec570a5e7abcc0e3714ce";
+      url = "mirror://steamrt/pool/main/g/gdk-pixbuf/libgdk-pixbuf2.0-0_2.26.1-1+steamrt3+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgdk-pixbuf2.0-0.deb";
       };
     }
     rec {
-      name = "libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt5_i386";
-      sha256 = "632514d7d5295fa89185050a3b6628f14bccea5602f5ebfcaec98d3581ec8cfd";
-      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt5_i386.deb";
+      name = "libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt6_i386";
+      sha256 = "de4d68a4288d8a2e48f49c0e56f3d8bad4e0a5b4a795a0a84938158404ce037a";
+      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-dri_8.0.4-0ubuntu0.7+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgl1-mesa-dri.deb";
       };
     }
     rec {
-      name = "libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt5_i386";
-      sha256 = "abfe42d2d9a41397571b8b04391e3b41b9ef75f41ff990e965de2c617dfb4fe7";
-      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt5_i386.deb";
+      name = "libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt6_i386";
+      sha256 = "a952436b43f8d1f0a80f9c8a03dea2363cdae927585ad981bcc017b598aebab7";
+      url = "mirror://steamrt/pool/main/m/mesa/libgl1-mesa-glx_8.0.4-0ubuntu0.7+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgl1-mesa-glx.deb";
       };
     }
     rec {
-      name = "libglew1.10_1.10.0-3+srt6_i386";
-      sha256 = "8e0ee758ff75af11fe0b1f74a92f1c995191c0f2aeedf31c20e12d4bd646719e";
-      url = "mirror://steamrt/pool/main/g/glew/libglew1.10_1.10.0-3+srt6_i386.deb";
+      name = "libglew1.10_1.10.0-3+srt7_i386";
+      sha256 = "23a33aeff290e757ab78658a4c649842cf00d32dba32e8ce1fac66e4f89c69ef";
+      url = "mirror://steamrt/pool/main/g/glew/libglew1.10_1.10.0-3+srt7_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libglew1.10.deb";
       };
     }
     rec {
-      name = "libglew1.6_1.6.0-4+steamrt1.1+srt1_i386";
-      sha256 = "5f5b21f18c3b64a2025d4a7ac7b2e202efc68b3867eaf72733427ba00ac3fde6";
-      url = "mirror://steamrt/pool/main/g/glew1.6/libglew1.6_1.6.0-4+steamrt1.1+srt1_i386.deb";
+      name = "libglew1.6_1.6.0-4+steamrt1.1+srt2_i386";
+      sha256 = "aa6c99ae0af170e22e6073339b99552489ad1a0bcbe5e5c71b6dd5119548e1fd";
+      url = "mirror://steamrt/pool/main/g/glew1.6/libglew1.6_1.6.0-4+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libglew1.6.deb";
       };
     }
     rec {
-      name = "libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt2_i386";
-      sha256 = "07187708d651d2278568c0c927ec4a33a32cd91defc759760dbc1ae41c931b50";
-      url = "mirror://steamrt/pool/main/g/glib2.0/libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt2_i386.deb";
+      name = "libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt3_i386";
+      sha256 = "c99c82abea66baededa6ce28bb6d330f39a6d0c8a9d9cea6a2e789417ecbafe0";
+      url = "mirror://steamrt/pool/main/g/glib2.0/libglib2.0-0_2.32.3-0ubuntu1+steamrt3+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libglib2.0-0.deb";
       };
     }
     rec {
-      name = "libglu1-mesa_8.0.4-0ubuntu0.7+srt5_i386";
-      sha256 = "192688123f04291f2cb6538736363f3e22d826ce53679a7824b280c5c48282ad";
-      url = "mirror://steamrt/pool/main/m/mesa/libglu1-mesa_8.0.4-0ubuntu0.7+srt5_i386.deb";
+      name = "libglu1-mesa_8.0.4-0ubuntu0.7+srt6_i386";
+      sha256 = "393b1b93f7d10b35ecbe259860891c70b48b32a3f179f91863cc115d026a7ea1";
+      url = "mirror://steamrt/pool/main/m/mesa/libglu1-mesa_8.0.4-0ubuntu0.7+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libglu1-mesa.deb";
       };
     }
     rec {
-      name = "libgmp10_6.1.0+dfsg-2+srt1_i386";
-      sha256 = "4ed87d1642cb25243edb39fdb1adfe2cf4b77681e16a5e1c233afd139fba1174";
-      url = "mirror://steamrt/pool/main/g/gmp/libgmp10_6.1.0+dfsg-2+srt1_i386.deb";
+      name = "libgmp10_6.1.0+dfsg-2+srt2_i386";
+      sha256 = "a3838b71138cbb3e275b68fb3df63f880e122da10c9284354a80530254a45d55";
+      url = "mirror://steamrt/pool/main/g/gmp/libgmp10_6.1.0+dfsg-2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgmp10.deb";
       };
     }
     rec {
-      name = "libgnutls26_2.12.14-5ubuntu3.14+srt1_i386";
-      sha256 = "d09497c6efa91b6f7da2f009e2fbfbf645d1ab51429d2a1d6e343d3117d9adb8";
-      url = "mirror://steamrt/pool/main/g/gnutls26/libgnutls26_2.12.14-5ubuntu3.14+srt1_i386.deb";
+      name = "libgnutls26_2.12.14-5ubuntu3.14+srt2_i386";
+      sha256 = "be4e85717069a5c9e3ef6644cd555f1122777910c6a855d912f71539c057a8b4";
+      url = "mirror://steamrt/pool/main/g/gnutls26/libgnutls26_2.12.14-5ubuntu3.14+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgnutls26.deb";
       };
     }
     rec {
-      name = "libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt3_i386";
-      sha256 = "66d17f9a42063b1af44fa86a365575695e91581b41a1e0fc6dd8d2ef049cbf8b";
-      url = "mirror://steamrt/pool/main/g/gnutls28/libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt3_i386.deb";
+      name = "libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt4_i386";
+      sha256 = "a630adb25ecfa209aef8a1b14fac45293f044f652ee91249489dfe9bb0d5001d";
+      url = "mirror://steamrt/pool/main/g/gnutls28/libgnutls30_3.4.10-4ubuntu1.4+steamrt1.1+srt4_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgnutls30.deb";
       };
     }
     rec {
-      name = "libgomp1_5.4.0-7.really.6+steamrt1.2+srt1_i386";
-      sha256 = "21d5c39c52a6d544ce3d8093858bbbbd960b37748ce004dd83e18c1bcd138fc9";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libgomp1_5.4.0-7.really.6+steamrt1.2+srt1_i386.deb";
+      name = "libgomp1_5.4.0-7.really.6+steamrt1.2+srt2_i386";
+      sha256 = "913bfbacb76700447d2edc359dbbf9c6720f5a62729fe040e215b013feed6f6b";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libgomp1_5.4.0-7.really.6+steamrt1.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgomp1.deb";
       };
     }
     rec {
-      name = "libgpg-error0_1.10-2ubuntu1+srt5_i386";
-      sha256 = "b9aaa557d77f67938e6667b8e683b96c0959ca47b2722838328ed1721b4490a7";
-      url = "mirror://steamrt/pool/main/libg/libgpg-error/libgpg-error0_1.10-2ubuntu1+srt5_i386.deb";
+      name = "libgpg-error0_1.10-2ubuntu1+srt6_i386";
+      sha256 = "91a8acb77d3beffca842257e1c6470618e2c0df24df723eda5d61170db12f6cb";
+      url = "mirror://steamrt/pool/main/libg/libgpg-error/libgpg-error0_1.10-2ubuntu1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgpg-error0.deb";
       };
     }
     rec {
-      name = "libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386";
-      sha256 = "f0a0dc3675db1a35831550b3687c45fa6e26877e574920af59278938eac27bfe";
-      url = "mirror://steamrt/pool/main/k/krb5/libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386.deb";
+      name = "libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt3_i386";
+      sha256 = "43de1faddc57d494f29ceb148aa98817b3e81326e6625076adf222020ffa3ff3";
+      url = "mirror://steamrt/pool/main/k/krb5/libgssapi-krb5-2_1.10+dfsg~beta1-2ubuntu0.7+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgssapi-krb5-2.deb";
       };
     }
     rec {
-      name = "libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "1344cbfc9e0d3dedc54207d28c2e37c60342654c480403da8564507cab235960";
-      url = "mirror://steamrt/pool/main/h/heimdal/libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
+      name = "libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386";
+      sha256 = "55dde8ab3fab6899feb9ff4f2e04048a237e0a39afe24fed27cc4f3e625bc816";
+      url = "mirror://steamrt/pool/main/h/heimdal/libgssapi3-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgssapi3-heimdal.deb";
       };
     }
     rec {
-      name = "libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt1_i386";
-      sha256 = "5756039df908e87729ce3471b191e6d4f8649026d50aafaa2b7a2c00f686065b";
-      url = "mirror://steamrt/pool/main/g/gst-plugins-base0.10/libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt1_i386.deb";
+      name = "libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt2_i386";
+      sha256 = "c8c58b2b6e6566a878b8f66ed75f13d5d41cec3d0969360bbab1b07821b58d96";
+      url = "mirror://steamrt/pool/main/g/gst-plugins-base0.10/libgstreamer-plugins-base0.10-0_0.10.36-1ubuntu0.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgstreamer-plugins-base0.10-0.deb";
       };
     }
     rec {
-      name = "libgstreamer0.10-0_0.10.36-1ubuntu1+srt5_i386";
-      sha256 = "c17cc385fdde3d3bae251421588903b3cd7578c9e108d6318e6af33089bd3e2b";
-      url = "mirror://steamrt/pool/main/g/gstreamer0.10/libgstreamer0.10-0_0.10.36-1ubuntu1+srt5_i386.deb";
+      name = "libgstreamer0.10-0_0.10.36-1ubuntu1+srt6_i386";
+      sha256 = "0f8cb2b1a0f37745691f2390c1356f973e9904a2ab7732cfd0f6f3301fb00368";
+      url = "mirror://steamrt/pool/main/g/gstreamer0.10/libgstreamer0.10-0_0.10.36-1ubuntu1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgstreamer0.10-0.deb";
       };
     }
     rec {
-      name = "libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt5_i386";
-      sha256 = "e094eda1c42a52b65f639d547d2670db86f0aeeed1e93c96055f1c745cbb956b";
-      url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt5_i386.deb";
+      name = "libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt6_i386";
+      sha256 = "b3306b805c611cfca4e8aaa90f391ae5b4b9334aece7afeecca7a012e099e02b";
+      url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-0_2.24.10-0ubuntu6+steamrt1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgtk2.0-0.deb";
       };
     }
     rec {
-      name = "libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt5_all";
-      sha256 = "9db44526834e0f1ba54822d42e7140bf2c74780f531242e05206c968828f8867";
-      url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt5_all.deb";
+      name = "libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt6_all";
+      sha256 = "ee703928f39124739c01a456c727376378b9e75ed1a3f3c1d7022a2299350262";
+      url = "mirror://steamrt/pool/main/g/gtk+2.0/libgtk2.0-common_2.24.10-0ubuntu6+steamrt1+srt6_all.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgtk2.0-common.deb";
       };
     }
     rec {
-      name = "libgudev-1.0-0_175-0ubuntu9.10+srt1_i386";
-      sha256 = "8a76c9a682a4d4dfab93d39cb5ef5ba7d514aa956ff30ff7821c75fd8ca2f225";
-      url = "mirror://steamrt/pool/main/u/udev/libgudev-1.0-0_175-0ubuntu9.10+srt1_i386.deb";
+      name = "libgudev-1.0-0_175-0ubuntu9.10+srt2_i386";
+      sha256 = "a7e9be89ac14ec60774429f46530284463b0ecc21c452da8d51cc2e15d47c791";
+      url = "mirror://steamrt/pool/main/u/udev/libgudev-1.0-0_175-0ubuntu9.10+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libgudev-1.0-0.deb";
       };
     }
     rec {
-      name = "libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "03e9185f7877958f9878dfb5ea6d8e6bc416b1511a915b045cb541ca14ce63a3";
-      url = "mirror://steamrt/pool/main/h/heimdal/libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
+      name = "libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386";
+      sha256 = "4f96dca07bce11f17c79ebe0451bf0d1a3937a59c8cd9f29ad389c5b64465dba";
+      url = "mirror://steamrt/pool/main/h/heimdal/libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libhcrypto4-heimdal.deb";
       };
     }
     rec {
-      name = "libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "9908f097681d0d64df1e43648d94c79c94eee88526fafdd8d6fe8c5060898694";
-      url = "mirror://steamrt/pool/main/h/heimdal/libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
+      name = "libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386";
+      sha256 = "4ec845e9a562257953d0f15bd95adf534aaf37889cc133efe644b9a583980660";
+      url = "mirror://steamrt/pool/main/h/heimdal/libheimbase1-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libheimbase1-heimdal.deb";
       };
     }
     rec {
-      name = "libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "0229b68cefd94d7693a268c1e216b5704d31066f6ca7583e17b344cdd15560fa";
-      url = "mirror://steamrt/pool/main/h/heimdal/libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
+      name = "libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386";
+      sha256 = "d4b2942db295130d8b9fc441256e08bbbe56c416ea7c2cf33b2bce5cfcb608da";
+      url = "mirror://steamrt/pool/main/h/heimdal/libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libheimntlm0-heimdal.deb";
       };
     }
     rec {
-      name = "libhogweed4_3.2-1ubuntu0.16.04.1+srt1_i386";
-      sha256 = "57eba84a67698e4182ce45681013df3f4e94449f9c1c3bcd8ba12142550877b4";
-      url = "mirror://steamrt/pool/main/n/nettle/libhogweed4_3.2-1ubuntu0.16.04.1+srt1_i386.deb";
+      name = "libhogweed4_3.2-1ubuntu0.16.04.1+srt2_i386";
+      sha256 = "5d8bb7a98376f0e0c45e7387bad7ef165cb8057cd98f886de2334c94a3df751b";
+      url = "mirror://steamrt/pool/main/n/nettle/libhogweed4_3.2-1ubuntu0.16.04.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libhogweed4.deb";
       };
     }
     rec {
-      name = "libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "971d940aa0368590e3712c645b2ee9c284b1acfe2dd9b991c2a67042fde2ca78";
-      url = "mirror://steamrt/pool/main/h/heimdal/libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
+      name = "libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386";
+      sha256 = "d54ce7053229a9131a2b8b522d3ea7b02f633a70c05aa125e491480177bfacc7";
+      url = "mirror://steamrt/pool/main/h/heimdal/libhx509-5-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libhx509-5-heimdal.deb";
       };
     }
     rec {
-      name = "libice6_1.0.7-2build1+srt5_i386";
-      sha256 = "4a46a8e920879179129c313d7de67f759da4ae7486dcf55c7e128c81097fde0a";
-      url = "mirror://steamrt/pool/main/libi/libice/libice6_1.0.7-2build1+srt5_i386.deb";
+      name = "libice6_1.0.7-2build1+srt6_i386";
+      sha256 = "4e6f06f6d57e62c4a779190a9287d18e47abf4f33bfcc3893d07bbfc51e8ea6b";
+      url = "mirror://steamrt/pool/main/libi/libice/libice6_1.0.7-2build1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libice6.deb";
       };
     }
     rec {
-      name = "libidn11_1.32-3ubuntu1.2+steamrt1.1+srt1_i386";
-      sha256 = "32973152c51317e5cd9831eb8ac20ad23d9f72387250464df175315f1a3aa07f";
-      url = "mirror://steamrt/pool/main/libi/libidn/libidn11_1.32-3ubuntu1.2+steamrt1.1+srt1_i386.deb";
+      name = "libidn11_1.32-3ubuntu1.2+steamrt1.1+srt2_i386";
+      sha256 = "4d92754e7610cd6013489ff03e4f78e31d64c402027cde05efc0c62f2dec4fa6";
+      url = "mirror://steamrt/pool/main/libi/libidn/libidn11_1.32-3ubuntu1.2+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libidn11.deb";
       };
     }
     rec {
-      name = "libindicator7_0.5.0-0ubuntu1+steamrt1+srt1_i386";
-      sha256 = "784e94fa28471fb4bd9fec2788ccdb3e38889990b4edbfc3412a7be449e13ee2";
-      url = "mirror://steamrt/pool/main/libi/libindicator/libindicator7_0.5.0-0ubuntu1+steamrt1+srt1_i386.deb";
+      name = "libindicator7_0.5.0-0ubuntu1+steamrt1+srt2_i386";
+      sha256 = "e623aa0f247ad95ddfcf480d2ae81a070080b703367f96ae378609210eabcf9e";
+      url = "mirror://steamrt/pool/main/libi/libindicator/libindicator7_0.5.0-0ubuntu1+steamrt1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libindicator7.deb";
       };
     }
     rec {
-      name = "libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt4_i386";
-      sha256 = "3a3e7095624ce80d0f618a98af9762eb6d2aa1a64c2b0d7982936e2d90748409";
-      url = "mirror://steamrt/pool/main/j/jackd2/libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt4_i386.deb";
+      name = "libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt5_i386";
+      sha256 = "a59a4de570335899d10f36b4b9552ee894fc0bb21c4ee4e06ed689f3fa55c2e6";
+      url = "mirror://steamrt/pool/main/j/jackd2/libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt5_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libjack-jackd2-0.deb";
       };
     }
     rec {
-      name = "libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt5_i386";
-      sha256 = "8881fa61488dd72491bb99e7e13c77ddf0104257f961f1327f6cb597fb32972d";
-      url = "mirror://steamrt/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt5_i386.deb";
+      name = "libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt6_i386";
+      sha256 = "5c04f4da2038e4a9ae96e59b64386b598fda9952400b5dc40a0a5819dd328ab9";
+      url = "mirror://steamrt/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.1.90+svn733-0ubuntu4.3+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libjpeg-turbo8.deb";
       };
     }
     rec {
-      name = "libjpeg62_6b1-2ubuntu1.1+srt5_i386";
-      sha256 = "bc452727baf09207131503ca44b5fdf95ab0131485c4ece5e25370306eaa70d0";
-      url = "mirror://steamrt/pool/main/libj/libjpeg6b/libjpeg62_6b1-2ubuntu1.1+srt5_i386.deb";
+      name = "libjpeg62_6b1-2ubuntu1.1+srt6_i386";
+      sha256 = "eed36437197122519201d4bf233ae3de7fd1b3cd81de286028bd4417dd0b6bc2";
+      url = "mirror://steamrt/pool/main/libj/libjpeg6b/libjpeg62_6b1-2ubuntu1.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libjpeg62.deb";
       };
     }
     rec {
-      name = "libjson0_0.9-1ubuntu1.1+srt3_i386";
-      sha256 = "f18fb7dafbc0e39c7902f656f78e61be75a9e60993b5b015f5b9ba238fe3cb4a";
-      url = "mirror://steamrt/pool/main/j/json-c/libjson0_0.9-1ubuntu1.1+srt3_i386.deb";
+      name = "libjson0_0.9-1ubuntu1.1+srt4_i386";
+      sha256 = "ae3503b9871e27e98bfb37477c4b6e151dcf31fa7af757309d99e70ffe66e570";
+      url = "mirror://steamrt/pool/main/j/json-c/libjson0_0.9-1ubuntu1.1+srt4_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libjson0.deb";
       };
     }
     rec {
-      name = "libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386";
-      sha256 = "81999284fc9789940008cb3661aac71b5929944d3b75cd451193201cdc3eec33";
-      url = "mirror://steamrt/pool/main/k/krb5/libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386.deb";
+      name = "libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt3_i386";
+      sha256 = "4109aa8cab7e7915c226b5be6e4e334b65d896183be880b32777a18fe1b7cd8c";
+      url = "mirror://steamrt/pool/main/k/krb5/libk5crypto3_1.10+dfsg~beta1-2ubuntu0.7+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libk5crypto3.deb";
       };
     }
     rec {
-      name = "libkeyutils1_1.5.2-2+srt5_i386";
-      sha256 = "3d276ca35a9f0dc09fe00f36bd082a804e4bd24d27b694a24ba7cc89d641ad6e";
-      url = "mirror://steamrt/pool/main/k/keyutils/libkeyutils1_1.5.2-2+srt5_i386.deb";
+      name = "libkeyutils1_1.5.2-2+srt6_i386";
+      sha256 = "5efe0be588ee8a4c41a4f34e30c5adf5b59cd3c71b1970f33099a5a2a1e45e37";
+      url = "mirror://steamrt/pool/main/k/keyutils/libkeyutils1_1.5.2-2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libkeyutils1.deb";
       };
     }
     rec {
-      name = "libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "cd9322b8ddb5ae1b753e4aa8fdf323e54bf9696b2d615955ec5aef8fb7764dc2";
-      url = "mirror://steamrt/pool/main/h/heimdal/libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
+      name = "libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386";
+      sha256 = "5661ba523b59f1426f5f4596ac892bd5ad626ab96f9080618a787e1bfef77fa2";
+      url = "mirror://steamrt/pool/main/h/heimdal/libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libkrb5-26-heimdal.deb";
       };
     }
     rec {
-      name = "libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386";
-      sha256 = "310eadcabacc9cd7e46abc5bd5a3bf6edd6b709bda477305d29055b325f826b3";
-      url = "mirror://steamrt/pool/main/k/krb5/libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386.deb";
+      name = "libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt3_i386";
+      sha256 = "ffc2a0cd89ea2344ccb37a0d329380559fe5c4c6fab30f2eb004448212cd46c0";
+      url = "mirror://steamrt/pool/main/k/krb5/libkrb5-3_1.10+dfsg~beta1-2ubuntu0.7+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libkrb5-3.deb";
       };
     }
     rec {
-      name = "libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386";
-      sha256 = "dcdfaac5d73f20e186b49d5a58d6dd14ec4a6b94c92c134f5f8a0887ae446687";
-      url = "mirror://steamrt/pool/main/k/krb5/libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt2_i386.deb";
+      name = "libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt3_i386";
+      sha256 = "40ff710cad27182ac2a419368bf11c03f884c362fb457b4dcb5d14ce91760046";
+      url = "mirror://steamrt/pool/main/k/krb5/libkrb5support0_1.10+dfsg~beta1-2ubuntu0.7+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libkrb5support0.deb";
       };
     }
     rec {
-      name = "liblcms2-2_2.2+git20110628-2ubuntu3.1+srt5_i386";
-      sha256 = "e040069a44f8bf9be89dec657f840c9cc236eb9955b4ff57b4e440a6dc43ebae";
-      url = "mirror://steamrt/pool/main/l/lcms2/liblcms2-2_2.2+git20110628-2ubuntu3.1+srt5_i386.deb";
+      name = "liblcms2-2_2.2+git20110628-2ubuntu3.1+srt6_i386";
+      sha256 = "5381665b17380271b4c605e22b8bc21cb7779b67fc116dae9677d667c7383769";
+      url = "mirror://steamrt/pool/main/l/lcms2/liblcms2-2_2.2+git20110628-2ubuntu3.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "liblcms2-2.deb";
       };
     }
     rec {
-      name = "libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt3_i386";
-      sha256 = "23f0bd39fa6472a020d973a9a1ac3a26873a48b06a6d501ec8bd9f13e69a5b1c";
-      url = "mirror://steamrt/pool/main/o/openldap/libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt3_i386.deb";
+      name = "libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt4_i386";
+      sha256 = "e966ec5b3ddc132911a0bf1b789540e814b065ad3f8d77d0870e87a744ba6f7a";
+      url = "mirror://steamrt/pool/main/o/openldap/libldap-2.4-2_2.4.28-1.1ubuntu4.6+steamrt1.2+srt4_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libldap-2.4-2.deb";
       };
     }
     rec {
-      name = "libltdl7_2.4.2-1ubuntu1+srt5_i386";
-      sha256 = "da39ce7f16a051a61f9c95f1f6ab3dac468043fd407125115e1ab845660f60cb";
-      url = "mirror://steamrt/pool/main/libt/libtool/libltdl7_2.4.2-1ubuntu1+srt5_i386.deb";
+      name = "libltdl7_2.4.2-1ubuntu1+srt6_i386";
+      sha256 = "f7442bc77144e4c0930b82ed3c779c9ed0048fb025e02abe7ec2d8a03433a3f2";
+      url = "mirror://steamrt/pool/main/libt/libtool/libltdl7_2.4.2-1ubuntu1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libltdl7.deb";
       };
     }
     rec {
-      name = "libmikmod2_3.1.12-5+srt1_i386";
-      sha256 = "4e0baef8a32d0688d9e45945ae140b42fe7974385c9e8817f95bd15399112ba2";
-      url = "mirror://steamrt/pool/main/libm/libmikmod/libmikmod2_3.1.12-5+srt1_i386.deb";
+      name = "libmikmod2_3.1.12-5+srt2_i386";
+      sha256 = "0db96db4334c39e4b6eb6d2c4b0350e8663047fa8a1a08258201d90d15da65bf";
+      url = "mirror://steamrt/pool/main/libm/libmikmod/libmikmod2_3.1.12-5+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libmikmod2.deb";
       };
     }
     rec {
-      name = "libmpg123-0_1.25.10-1+steamrt1+srt1_i386";
-      sha256 = "c53a28728693a75262c4d1bae4f8ea665db79a46ff2ab00995c6bfa1aff96766";
-      url = "mirror://steamrt/pool/main/m/mpg123/libmpg123-0_1.25.10-1+steamrt1+srt1_i386.deb";
+      name = "libmpg123-0_1.25.10-1+steamrt1+srt2_i386";
+      sha256 = "c686cb91855a4feb793bbae88c62ca18f5393c0f3b7e610f8372e7512e1d91a5";
+      url = "mirror://steamrt/pool/main/m/mpg123/libmpg123-0_1.25.10-1+steamrt1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libmpg123-0.deb";
       };
     }
     rec {
-      name = "libncurses5_5.9-4+srt5_i386";
-      sha256 = "ea81890441d53f2a71f022be6b1f26c8ae1f6fb990e2e46af80112cf373e51cb";
-      url = "mirror://steamrt/pool/main/n/ncurses/libncurses5_5.9-4+srt5_i386.deb";
+      name = "libncurses5_5.9-4+srt6_i386";
+      sha256 = "2f5b6f1c9b181e191142b55c4e910fd32b1f5ba457dfc436639551dd4d892e4d";
+      url = "mirror://steamrt/pool/main/n/ncurses/libncurses5_5.9-4+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libncurses5.deb";
       };
     }
     rec {
-      name = "libncursesw5_5.9-4+srt5_i386";
-      sha256 = "04128547b97aa17bd61d075b8ee195175f3978e49c5b728f0d3c337c92cb0e9e";
-      url = "mirror://steamrt/pool/main/n/ncurses/libncursesw5_5.9-4+srt5_i386.deb";
+      name = "libncursesw5_5.9-4+srt6_i386";
+      sha256 = "0090723ceef27cd9ad30b5335cc2bde075f2958358ef84dfa59fdb779eb2b54c";
+      url = "mirror://steamrt/pool/main/n/ncurses/libncursesw5_5.9-4+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libncursesw5.deb";
       };
     }
     rec {
-      name = "libnettle6_3.2-1ubuntu0.16.04.1+srt1_i386";
-      sha256 = "4eef9ef302cbe4e46ffa266856400e80ac2c8a32264a80d76e8cb92e9e4bfc66";
-      url = "mirror://steamrt/pool/main/n/nettle/libnettle6_3.2-1ubuntu0.16.04.1+srt1_i386.deb";
+      name = "libnettle6_3.2-1ubuntu0.16.04.1+srt2_i386";
+      sha256 = "41c26ae8c1022b141a1cd88c1ccb47dfa728e8a5bab9b6e4739c2299a070cdd4";
+      url = "mirror://steamrt/pool/main/n/nettle/libnettle6_3.2-1ubuntu0.16.04.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnettle6.deb";
       };
     }
     rec {
-      name = "libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt1_i386";
-      sha256 = "cdb420fbfc0a7d35ad1f5f89bcf8ce50ffea7aab2b638a3f411c6f0e3a004d6f";
-      url = "mirror://steamrt/pool/main/n/network-manager/libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt1_i386.deb";
+      name = "libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt2_i386";
+      sha256 = "6610f000cfcf032bf2fc325618f33ca8f8783cbb77faabbf105f484f8f650eae";
+      url = "mirror://steamrt/pool/main/n/network-manager/libnm-glib4_0.9.4.0-0ubuntu4.2+steamrt2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnm-glib4.deb";
       };
     }
     rec {
-      name = "libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt1_i386";
-      sha256 = "a6840b5ca36b77019130ff7abdedac0d59f7d5c9feeab61982bbc7fdfbc358ed";
-      url = "mirror://steamrt/pool/main/n/network-manager/libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt1_i386.deb";
+      name = "libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt2_i386";
+      sha256 = "666fc57f3747be75b0b8b0a1279f934b9dbd880b2c724cbb45f1fc7116b0c3bb";
+      url = "mirror://steamrt/pool/main/n/network-manager/libnm-util2_0.9.4.0-0ubuntu4.2+steamrt2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnm-util2.deb";
       };
     }
     rec {
-      name = "libnotify4_0.7.5-1+srt5_i386";
-      sha256 = "9cb17f3c5619abc8135e3b5c8acf4706ae9764bbcaeecc2c922213ad1d574010";
-      url = "mirror://steamrt/pool/main/libn/libnotify/libnotify4_0.7.5-1+srt5_i386.deb";
+      name = "libnotify4_0.7.5-1+srt6_i386";
+      sha256 = "5bace16f956c9160d5334631e4a67741675f9d4b5ff07fb7bbd6c28e7c06b54f";
+      url = "mirror://steamrt/pool/main/libn/libnotify/libnotify4_0.7.5-1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnotify4.deb";
       };
     }
     rec {
-      name = "libnspr4_4.12-0ubuntu0.12.04.1+srt2_i386";
-      sha256 = "62e36a3da1c1af1568598611c0c4d31dd1fd17fb9c36739754d065ac9c1adacd";
-      url = "mirror://steamrt/pool/main/n/nspr/libnspr4_4.12-0ubuntu0.12.04.1+srt2_i386.deb";
+      name = "libnspr4_4.12-0ubuntu0.12.04.1+srt3_i386";
+      sha256 = "30c5eec8a06104bb4be77a2c21e553ad67a2daeb9005d762e50d97cd87175cba";
+      url = "mirror://steamrt/pool/main/n/nspr/libnspr4_4.12-0ubuntu0.12.04.1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnspr4.deb";
       };
     }
     rec {
-      name = "libnss3_3.26.2-0ubuntu0.12.04.1+srt1_i386";
-      sha256 = "2945bcf1a00e5a08d48a7c63de1ba0efdb2a38d5169e1462f63dc148822ba502";
-      url = "mirror://steamrt/pool/main/n/nss/libnss3_3.26.2-0ubuntu0.12.04.1+srt1_i386.deb";
+      name = "libnss3_3.26.2-0ubuntu0.12.04.1+srt2_i386";
+      sha256 = "ed32e7feae1b0116d49412393f773ab2e85a8e94e974b915a6f459d7ee433a83";
+      url = "mirror://steamrt/pool/main/n/nss/libnss3_3.26.2-0ubuntu0.12.04.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libnss3.deb";
       };
     }
     rec {
-      name = "libogg0_1.3.2-1+srt1_i386";
-      sha256 = "21fb9c97ec166b04a9439b296c83c63a990faf5bd8e6ad9871196cf8cc554c25";
-      url = "mirror://steamrt/pool/main/libo/libogg/libogg0_1.3.2-1+srt1_i386.deb";
+      name = "libogg0_1.3.2-1+srt2_i386";
+      sha256 = "03c55a830197401e910417322e64a68fb732bb0b314857dbfe35beded40767e5";
+      url = "mirror://steamrt/pool/main/libo/libogg/libogg0_1.3.2-1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libogg0.deb";
       };
     }
     rec {
-      name = "libopenal1_1.16.0-3+srt1_i386";
-      sha256 = "3139573cf945b12f86a5100078526fd55e4409166ba61dd852edd249e0c659ad";
-      url = "mirror://steamrt/pool/main/o/openal-soft/libopenal1_1.16.0-3+srt1_i386.deb";
+      name = "libopenal1_1.16.0-3+srt2_i386";
+      sha256 = "6c51952f61eac87b2077bbff461898c2dca61cb0b12675d4a4c7d5cebd5e8915";
+      url = "mirror://steamrt/pool/main/o/openal-soft/libopenal1_1.16.0-3+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libopenal1.deb";
       };
     }
     rec {
-      name = "libopus0_1.3-0+steamrt1.1+srt2_i386";
-      sha256 = "6c208835f9418ded17b548af02fcd43827c4e296a5da4fececaca829a14196e8";
-      url = "mirror://steamrt/pool/main/o/opus/libopus0_1.3-0+steamrt1.1+srt2_i386.deb";
+      name = "libopus0_1.3-0+steamrt1.1+srt3_i386";
+      sha256 = "9e75dedd1f3b7a26f2ee8ccab28652d292e2e5a3cf646fd8dbaf0b9d7b09a683";
+      url = "mirror://steamrt/pool/main/o/opus/libopus0_1.3-0+steamrt1.1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libopus0.deb";
       };
     }
     rec {
-      name = "libopusfile0_0.11-0+steamrt1.2+srt1_i386";
-      sha256 = "348ac5a19e53c7023654d584c1cde402dfc82a91effea809c3a6bf0b20a01aa6";
-      url = "mirror://steamrt/pool/main/o/opusfile/libopusfile0_0.11-0+steamrt1.2+srt1_i386.deb";
+      name = "libopusfile0_0.11-0+steamrt1.2+srt2_i386";
+      sha256 = "e21bc67e69dd8da3e444558b7969b2d0b2bbdc9e58571bb1bd3349ea1561bc47";
+      url = "mirror://steamrt/pool/main/o/opusfile/libopusfile0_0.11-0+steamrt1.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libopusfile0.deb";
       };
     }
     rec {
-      name = "liborc-0.4-0_0.4.16-1ubuntu2+srt5_i386";
-      sha256 = "9b687d2e89070e4d81202a3e2631a7ca07ce25b594335221afa44d3c749f2e59";
-      url = "mirror://steamrt/pool/main/o/orc/liborc-0.4-0_0.4.16-1ubuntu2+srt5_i386.deb";
+      name = "liborc-0.4-0_0.4.16-1ubuntu2+srt6_i386";
+      sha256 = "7b666cf8cb3c085c7814bf43c1282ecc2f429f73c2ce45c9328b578a51512f3f";
+      url = "mirror://steamrt/pool/main/o/orc/liborc-0.4-0_0.4.16-1ubuntu2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "liborc-0.4-0.deb";
       };
     }
     rec {
-      name = "libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt1_i386";
-      sha256 = "730107639994d75eaaf8c50cb942c00799b31ad50f42efee144fb94e7547772f";
-      url = "mirror://steamrt/pool/main/p/p11-kit/libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt1_i386.deb";
+      name = "libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt2_i386";
+      sha256 = "7964bb2eed3474552410febb241b389ead233483f48f763530892d775562c253";
+      url = "mirror://steamrt/pool/main/p/p11-kit/libp11-kit0_0.23.2-5~ubuntu16.04.1~steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libp11-kit0.deb";
       };
     }
     rec {
-      name = "libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt5_i386";
-      sha256 = "3cae021c2ad82960572205c4f4ac5c04416d6ee040cab3361739d27a994fd570";
-      url = "mirror://steamrt/pool/main/p/pango1.0/libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt5_i386.deb";
+      name = "libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt6_i386";
+      sha256 = "5ca733d41934a821211a9f19df88fc6ac6ce0de9dcda489b857850aecc134599";
+      url = "mirror://steamrt/pool/main/p/pango1.0/libpango1.0-0_1.30.0-0ubuntu3.1+steamrt1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpango1.0-0.deb";
       };
     }
     rec {
-      name = "libpci3_3.1.8-2ubuntu6+srt1_i386";
-      sha256 = "68b2c47fec325158a16c591b52d8d11e47a528670a8407a09bb74334c09faac9";
-      url = "mirror://steamrt/pool/main/p/pciutils/libpci3_3.1.8-2ubuntu6+srt1_i386.deb";
+      name = "libpci3_3.1.8-2ubuntu6+srt2_i386";
+      sha256 = "dc2a159788b32126fc54de57c6bdfa2cd9562d10f1fd00f82463dd322810113a";
+      url = "mirror://steamrt/pool/main/p/pciutils/libpci3_3.1.8-2ubuntu6+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpci3.deb";
       };
     }
     rec {
-      name = "libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt1_i386";
-      sha256 = "e53ed5da97acdd8abf4edde365fcbe6246bb5fd50626f4168690767e916ccc8b";
-      url = "mirror://steamrt/pool/main/p/pcre3/libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt1_i386.deb";
+      name = "libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt2_i386";
+      sha256 = "ae551ed76da8280b86afd5d802b2ae9a69091b297cee80f94d1f41d8d8b13f5d";
+      url = "mirror://steamrt/pool/main/p/pcre3/libpcre3_8.12-4+steamrt1.1ubuntu0.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpcre3.deb";
       };
     }
     rec {
-      name = "libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt1_i386";
-      sha256 = "1420bf86a15305952908597de22211c978d3bdd0c8f80fcbb1335ab50e5c8656";
-      url = "mirror://steamrt/pool/main/p/pcre3/libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt1_i386.deb";
+      name = "libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt2_i386";
+      sha256 = "2b851e8a0d6bad221bebd9ff4ca05cd8e675ffb85b61dae5eb75da8304ea6499";
+      url = "mirror://steamrt/pool/main/p/pcre3/libpcrecpp0_8.12-4+steamrt1.1ubuntu0.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpcrecpp0.deb";
       };
     }
     rec {
-      name = "libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt2_i386";
-      sha256 = "2722ac47e3f18cd45907ccbabe0d8d2c58ae3218498ce48e61a2cb2a753b9019";
-      url = "mirror://steamrt/pool/main/p/pixman/libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt2_i386.deb";
+      name = "libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt3_i386";
+      sha256 = "90a0b2a9949791775f042d24547fe170c5ccedcd4b6fc72f15c3b549b7d6fa16";
+      url = "mirror://steamrt/pool/main/p/pixman/libpixman-1-0_0.30.2-1ubuntu0.0.0.0.3+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpixman-1-0.deb";
       };
     }
     rec {
-      name = "libpng12-0_1.2.46-3ubuntu4.2+srt2_i386";
-      sha256 = "a8b972b6e3efe75bb2ea86b1cbee5178ab3c5360897272c3adce76dcff02616f";
-      url = "mirror://steamrt/pool/main/libp/libpng/libpng12-0_1.2.46-3ubuntu4.2+srt2_i386.deb";
+      name = "libpng12-0_1.2.46-3ubuntu4.2+srt3_i386";
+      sha256 = "0d4e60f28c9c034db42ba3c1332ce1898280aef31bc7d997c9bd473ef174557a";
+      url = "mirror://steamrt/pool/main/libp/libpng/libpng12-0_1.2.46-3ubuntu4.2+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpng12-0.deb";
       };
     }
     rec {
-      name = "libpulse0_1.1-0ubuntu15.2+steamrt1+srt5_i386";
-      sha256 = "4c99fee1fa5c14219e7023f324c0320f1a272198ade607882caa46c119e2303b";
-      url = "mirror://steamrt/pool/main/p/pulseaudio/libpulse0_1.1-0ubuntu15.2+steamrt1+srt5_i386.deb";
+      name = "libpulse0_1.1-0ubuntu15.2+steamrt1+srt6_i386";
+      sha256 = "0299290b5f4170cbdc60ff2336f06ac3fec72888419ec93c570c171d2abe7abb";
+      url = "mirror://steamrt/pool/main/p/pulseaudio/libpulse0_1.1-0ubuntu15.2+steamrt1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libpulse0.deb";
       };
     }
     rec {
-      name = "libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "cd3555e0c01f7e21e27e5d9dd65bc12d62704b2146bff7326e4026fce8eb0489";
-      url = "mirror://steamrt/pool/main/h/heimdal/libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
+      name = "libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386";
+      sha256 = "8827d782d8fedf7fe0285bbab14914e61d2ac5fe5e7ea297fbff916c7fd73939";
+      url = "mirror://steamrt/pool/main/h/heimdal/libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libroken18-heimdal.deb";
       };
     }
     rec {
-      name = "librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt3_i386";
-      sha256 = "67af751a534cf05de2516c9f4b3c8677d6808c3fb7da24ebd19059eb4f453e31";
-      url = "mirror://steamrt/pool/main/r/rtmpdump/librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt3_i386.deb";
+      name = "librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt4_i386";
+      sha256 = "dd5c06e9754fa7fb48a9d16eb5ee2e4a5e8562140bd95c8367f1b967aa162b94";
+      url = "mirror://steamrt/pool/main/r/rtmpdump/librtmp0_2.4~20110711.gitc28f1bab-1+steamrt1.1+srt4_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "librtmp0.deb";
       };
     }
     rec {
-      name = "libsamplerate0_0.1.8-4+srt5_i386";
-      sha256 = "1d0d056544eeb7b047354f649508586cceffcfbd36f9a4082a49da0f0efa0c1c";
-      url = "mirror://steamrt/pool/main/libs/libsamplerate/libsamplerate0_0.1.8-4+srt5_i386.deb";
+      name = "libsamplerate0_0.1.8-4+srt6_i386";
+      sha256 = "3d412bca2cf9d8748332cf75ec3abb98bc6afc6997f11eecf7918a013dc42a52";
+      url = "mirror://steamrt/pool/main/libs/libsamplerate/libsamplerate0_0.1.8-4+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsamplerate0.deb";
       };
     }
     rec {
-      name = "libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt5_i386";
-      sha256 = "faa7f501c8d67b73e3880d767757db6596d070787b41ca879ae2adee3ecc1682";
-      url = "mirror://steamrt/pool/main/c/cyrus-sasl2/libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt5_i386.deb";
+      name = "libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt6_i386";
+      sha256 = "a69496b285f0a647b7ea65cc6cb78515380a34b0b2d59b60ce66ee20862837fa";
+      url = "mirror://steamrt/pool/main/c/cyrus-sasl2/libsasl2-2_2.1.25.dfsg1-3ubuntu0.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsasl2-2.deb";
       };
     }
     rec {
-      name = "libsdl-image1.2_1.2.10-3+srt5_i386";
-      sha256 = "0864eed9e3a4da55cbfb82ce4299fa65753c58494c9e61b73a3a126abb2a5545";
-      url = "mirror://steamrt/pool/main/s/sdl-image1.2/libsdl-image1.2_1.2.10-3+srt5_i386.deb";
+      name = "libsdl-image1.2_1.2.10-3+srt6_i386";
+      sha256 = "32e12a48d336867d123dfe51931291bc29226a6f5d79183f2857f2aea1877409";
+      url = "mirror://steamrt/pool/main/s/sdl-image1.2/libsdl-image1.2_1.2.10-3+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl-image1.2.deb";
       };
     }
     rec {
-      name = "libsdl-mixer1.2_1.2.11-7+steamrt1+srt5_i386";
-      sha256 = "66bc658b9c48fea4cb8b1d38607665d4008d885401335f3f78c20f720e8e64ff";
-      url = "mirror://steamrt/pool/main/s/sdl-mixer1.2/libsdl-mixer1.2_1.2.11-7+steamrt1+srt5_i386.deb";
+      name = "libsdl-mixer1.2_1.2.11-7+steamrt1+srt6_i386";
+      sha256 = "f9200b6e6167f98379cce33579778ad48e6b64326de3aab4760f55eb380031ce";
+      url = "mirror://steamrt/pool/main/s/sdl-mixer1.2/libsdl-mixer1.2_1.2.11-7+steamrt1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl-mixer1.2.deb";
       };
     }
     rec {
-      name = "libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt5_i386";
-      sha256 = "48798ad231645f1d76f8abc866e523728e8a5062453402991a05bcbafea02b97";
-      url = "mirror://steamrt/pool/main/s/sdl-ttf2.0/libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt5_i386.deb";
+      name = "libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt6_i386";
+      sha256 = "9e60d12dbeb8ff45a506beff802e7d9848e8c2c9d034e8a40dafdbd8d79b16fe";
+      url = "mirror://steamrt/pool/main/s/sdl-ttf2.0/libsdl-ttf2.0-0_2.0.9-1.1ubuntu1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl-ttf2.0-0.deb";
       };
     }
     rec {
-      name = "libsdl1.2debian_1.2.15-5+steamrt1+srt5_i386";
-      sha256 = "8a20885501792887807f9a8cc896619aa8dea3758d68db1b35a8274bcc7b46b5";
-      url = "mirror://steamrt/pool/main/libs/libsdl1.2/libsdl1.2debian_1.2.15-5+steamrt1+srt5_i386.deb";
+      name = "libsdl1.2debian_1.2.15-5+steamrt1.2+srt1_i386";
+      sha256 = "7308d759f752130d80153e0407ade1c20c8cfa4b60844eac11242a5cff90148c";
+      url = "mirror://steamrt/pool/main/libs/libsdl1.2/libsdl1.2debian_1.2.15-5+steamrt1.2+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl1.2debian.deb";
       };
     }
     rec {
-      name = "libsdl2_2.0.9.~reimport-0+steamrt1.1+srt1_i386";
-      sha256 = "e3e9b9b92a6ee42f52e00ee59198696e77ed2a8cdcccdd209df86f9d7db7b8f8";
-      url = "mirror://steamrt/pool/main/libs/libsdl2/libsdl2_2.0.9.~reimport-0+steamrt1.1+srt1_i386.deb";
+      name = "libsdl2_2.0.9.~reimport-0+steamrt1.1+srt2_i386";
+      sha256 = "b33446315351af70d2cfd602d5ee9e2390e2805b10f199dff383917469a3b344";
+      url = "mirror://steamrt/pool/main/libs/libsdl2/libsdl2_2.0.9.~reimport-0+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl2.deb";
       };
     }
     rec {
-      name = "libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt1_i386";
-      sha256 = "fa72e7f49489dc6fcbef4642dcf41e7c7a490407b62c213f0d4e8aea8a417dd0";
-      url = "mirror://steamrt/pool/main/libs/libsdl2-image/libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt1_i386.deb";
+      name = "libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt2_i386";
+      sha256 = "4783fc8d0012b5a1b917336af3fd7db097c0c43153bb088df0fdd9018b8c4072";
+      url = "mirror://steamrt/pool/main/libs/libsdl2-image/libsdl2-image_2.0.4.~reimport-0+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl2-image.deb";
       };
     }
     rec {
-      name = "libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt1_i386";
-      sha256 = "33c919cc33761956be7a7c69ffae327b5c76246a5f1aab9a3ba069bdd87b2735";
-      url = "mirror://steamrt/pool/main/libs/libsdl2-mixer/libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt1_i386.deb";
+      name = "libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt2_i386";
+      sha256 = "4c7f511b947e416898b169694ef112d137674c9add49162ba1185c36e83b3604";
+      url = "mirror://steamrt/pool/main/libs/libsdl2-mixer/libsdl2-mixer_2.0.4.~reimport-0+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl2-mixer.deb";
       };
     }
     rec {
-      name = "libsdl2-net_2.0.1+srt2_i386";
-      sha256 = "8a703e299c2fdded892259e0881d182cd4cc46f2996eb4c2d0410063462b643a";
-      url = "mirror://steamrt/pool/main/libs/libsdl2-net/libsdl2-net_2.0.1+srt2_i386.deb";
+      name = "libsdl2-net_2.0.1+srt3_i386";
+      sha256 = "f5eba8169255366fdfc809183c89cd6d7ce88da96c6a56cd3da5f8af68cb31d0";
+      url = "mirror://steamrt/pool/main/libs/libsdl2-net/libsdl2-net_2.0.1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl2-net.deb";
       };
     }
     rec {
-      name = "libsdl2-ttf_2.0.14+srt2_i386";
-      sha256 = "3acdc6a1fe3417ed00fbd4fba59fb5fc1a47c593d804d193ce0512d0d2f6356d";
-      url = "mirror://steamrt/pool/main/libs/libsdl2-ttf/libsdl2-ttf_2.0.14+srt2_i386.deb";
+      name = "libsdl2-ttf_2.0.14+srt3_i386";
+      sha256 = "db1b89ffc678d7845adb3fa57b04865921521bd97603d28751248fb8f367d909";
+      url = "mirror://steamrt/pool/main/libs/libsdl2-ttf/libsdl2-ttf_2.0.14+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsdl2-ttf.deb";
       };
     }
     rec {
-      name = "libselinux1_2.1.0-4.1ubuntu1+srt5_i386";
-      sha256 = "6fafb8e99d2772e38fd3a66b60a8cf24feef3f756bac7d139106830e8910bd68";
-      url = "mirror://steamrt/pool/main/libs/libselinux/libselinux1_2.1.0-4.1ubuntu1+srt5_i386.deb";
+      name = "libselinux1_2.1.0-4.1ubuntu1+srt6_i386";
+      sha256 = "ea30a8bf5aa90d59c134b9c5167af679043412ef24f82135fd56471d305dcca8";
+      url = "mirror://steamrt/pool/main/libs/libselinux/libselinux1_2.1.0-4.1ubuntu1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libselinux1.deb";
       };
     }
     rec {
-      name = "libsm6_1.2.0-2build1+srt5_i386";
-      sha256 = "cd708785ecfde8fb25fc118c2b763bfa1889c6ba183b6f001e50c9acf2d0791f";
-      url = "mirror://steamrt/pool/main/libs/libsm/libsm6_1.2.0-2build1+srt5_i386.deb";
+      name = "libsm6_1.2.0-2build1+srt6_i386";
+      sha256 = "2eb05653d4ab704b9cf3c6c30f904adefd049f226bdaf09e2666b5e12856ac70";
+      url = "mirror://steamrt/pool/main/libs/libsm/libsm6_1.2.0-2build1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsm6.deb";
       };
     }
     rec {
-      name = "libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt1_i386";
-      sha256 = "4908af941ea4c79fcff1a8b4a8957e08b22dead6520fc0b5638f36768ca39078";
-      url = "mirror://steamrt/pool/main/libs/libsndfile/libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt1_i386.deb";
+      name = "libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt2_i386";
+      sha256 = "5eb7acd671c15410fbf4cf92259683d5393e9c2c557ee83a10b618462f5cc4e9";
+      url = "mirror://steamrt/pool/main/libs/libsndfile/libsndfile1_1.0.25-4+steamrt1.1ubuntu0.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsndfile1.deb";
       };
     }
     rec {
-      name = "libspeex1_1.2~rc1-3ubuntu2+srt5_i386";
-      sha256 = "37a96e440aa0597be8d3077025c1ec62a2866b88f126f2ed6e06b6927b13c634";
-      url = "mirror://steamrt/pool/main/s/speex/libspeex1_1.2~rc1-3ubuntu2+srt5_i386.deb";
+      name = "libspeex1_1.2~rc1-3ubuntu2+srt6_i386";
+      sha256 = "3829a1931ffe4eed8631662fec5929e343d38b6f04d33ec05b3192d16aab6c02";
+      url = "mirror://steamrt/pool/main/s/speex/libspeex1_1.2~rc1-3ubuntu2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libspeex1.deb";
       };
     }
     rec {
-      name = "libspeexdsp1_1.2~rc1-3ubuntu2+srt5_i386";
-      sha256 = "459cf9ebb3dc15b39b5180c31f80f0a34106ecf6e7d6159375b46b513f6b44a4";
-      url = "mirror://steamrt/pool/main/s/speex/libspeexdsp1_1.2~rc1-3ubuntu2+srt5_i386.deb";
+      name = "libspeexdsp1_1.2~rc1-3ubuntu2+srt6_i386";
+      sha256 = "e78b470eaeee57a603778caab2f674113442a3cc5aa8362d010e4a3d52a7f078";
+      url = "mirror://steamrt/pool/main/s/speex/libspeexdsp1_1.2~rc1-3ubuntu2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libspeexdsp1.deb";
       };
     }
     rec {
-      name = "libsqlite3-0_3.7.9-2ubuntu1.2+srt2_i386";
-      sha256 = "fb2de44fef3d09c25052727d10583475ad8c57e383ee4aede53d5c35a4839115";
-      url = "mirror://steamrt/pool/main/s/sqlite3/libsqlite3-0_3.7.9-2ubuntu1.2+srt2_i386.deb";
+      name = "libsqlite3-0_3.7.9-2ubuntu1.2+srt3_i386";
+      sha256 = "354c0f27b4b09df3f189e376c061919e8a58a7cb7b45aaf115b4efc6ba522133";
+      url = "mirror://steamrt/pool/main/s/sqlite3/libsqlite3-0_3.7.9-2ubuntu1.2+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libsqlite3-0.deb";
       };
     }
     rec {
-      name = "libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt1_i386";
-      sha256 = "27ef1fd95e3b62fe704410be940f0282263d4d9b50bc1f04f84f38e9bb4991cf";
-      url = "mirror://steamrt/pool/main/o/openssl/libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt1_i386.deb";
+      name = "libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt2_i386";
+      sha256 = "01bb99e42c7bed8c60f1ef10411b9183e506f207b54a86ff8d8de339b2545d58";
+      url = "mirror://steamrt/pool/main/o/openssl/libssl1.0.0_1.0.1-4ubuntu5.39+steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libssl1.0.0.deb";
       };
     }
     rec {
-      name = "libstdc++6_5.4.0-7.really.6+steamrt1.2+srt1_i386";
-      sha256 = "27521064164b077fa43707dedce92a1c07205163e1095cb823d9e848eddcfd7e";
-      url = "mirror://steamrt/pool/main/g/gcc-5/libstdc++6_5.4.0-7.really.6+steamrt1.2+srt1_i386.deb";
+      name = "libstdc++6_5.4.0-7.really.6+steamrt1.2+srt2_i386";
+      sha256 = "9f2fa400eff42b165314f024359d843c5509eda6433ec6ca82bd21d638a228ea";
+      url = "mirror://steamrt/pool/main/g/gcc-5/libstdc++6_5.4.0-7.really.6+steamrt1.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libstdc++6.deb";
       };
     }
     rec {
-      name = "libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt1_i386";
-      sha256 = "fc6f70751ab28bd4384f75ecc4123de0cbb355356e220e8981d01514caf7b0a8";
-      url = "mirror://steamrt/pool/main/g/gcc-4.6/libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt1_i386.deb";
+      name = "libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt2_i386";
+      sha256 = "1785346063763eac850d46dd7db1736e0ec1b6d8ebc84090f54f5b2b1380829c";
+      url = "mirror://steamrt/pool/main/g/gcc-4.6/libstdc++6-4.6-pic_4.6.3-1ubuntu5+steamrt1.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libstdc++6-4.6-pic.deb";
       };
     }
     rec {
-      name = "libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386";
-      sha256 = "4da505f2728eda75c54a9a0958506b5928c9830ed85c8b9aded5acdca1fb47b2";
-      url = "mirror://steamrt/pool/main/liba/libav/libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt2_i386.deb";
+      name = "libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_i386";
+      sha256 = "938ac8ecc9f75f070b65b5d8bddea58d89ba8e1673d004d1b20ca0e1f677ba14";
+      url = "mirror://steamrt/pool/main/liba/libav/libswscale2_0.8.13-0ubuntu0.12.04.1+steamrt1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libswscale2.deb";
       };
     }
     rec {
-      name = "libtasn1-3_2.10-1ubuntu1.5+srt2_i386";
-      sha256 = "942d327c7037f3ee33a66e8a698fcbcff9a91f885bb716e1c18a9a33b38d8e8a";
-      url = "mirror://steamrt/pool/main/libt/libtasn1-3/libtasn1-3_2.10-1ubuntu1.5+srt2_i386.deb";
+      name = "libtasn1-3_2.10-1ubuntu1.5+srt3_i386";
+      sha256 = "53b976faaa1439908e3c6863a4bed431f6eb245aed96219ddbd9d7f996651484";
+      url = "mirror://steamrt/pool/main/libt/libtasn1-3/libtasn1-3_2.10-1ubuntu1.5+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtasn1-3.deb";
       };
     }
     rec {
-      name = "libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt1_i386";
-      sha256 = "3486c3a3f64ea9a23c811618c2178f018f87f98139e60c2e51bdf8ff3de46d85";
-      url = "mirror://steamrt/pool/main/libt/libtasn1-6/libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt1_i386.deb";
+      name = "libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt2_i386";
+      sha256 = "d61296eafece7f6117d0693e0e321ea78d7131475941e82ace9af4d6727bee6b";
+      url = "mirror://steamrt/pool/main/libt/libtasn1-6/libtasn1-6_4.7-3ubuntu0.16.04.3~steamrt1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtasn1-6.deb";
       };
     }
     rec {
-      name = "libtbb2_4.0+r233-1+steamrt2+srt1_i386";
-      sha256 = "ff5e8715cb6c331d2ea468eace228d659be4ff0eea4d73d1085b52b25156e52a";
-      url = "mirror://steamrt/pool/main/t/tbb/libtbb2_4.0+r233-1+steamrt2+srt1_i386.deb";
+      name = "libtbb2_4.0+r233-1+steamrt2+srt2_i386";
+      sha256 = "f17214134f0deda6e8340163bc4224c7768f7f6f81dce1f9b6c1444b310ee1a9";
+      url = "mirror://steamrt/pool/main/t/tbb/libtbb2_4.0+r233-1+steamrt2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtbb2.deb";
       };
     }
     rec {
-      name = "libtdb1_1.2.9-4+srt5_i386";
-      sha256 = "d8c8b7c003f113a455ae5c357bc88007dbbf7ad347b9ff84ee586a673a02ce6a";
-      url = "mirror://steamrt/pool/main/t/tdb/libtdb1_1.2.9-4+srt5_i386.deb";
+      name = "libtdb1_1.2.9-4+srt6_i386";
+      sha256 = "83649ae1b0da1d92a5efa5eca63e8b1656cf902e2f84b6b4c90d8a2a579c2fe9";
+      url = "mirror://steamrt/pool/main/t/tdb/libtdb1_1.2.9-4+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtdb1.deb";
       };
     }
     rec {
-      name = "libtheora0_1.1.1+dfsg.1-3ubuntu2+srt5_i386";
-      sha256 = "37b3eda60503684c08c94d583170053855ee1fd18335bd2d2fbb70efbd694bca";
-      url = "mirror://steamrt/pool/main/libt/libtheora/libtheora0_1.1.1+dfsg.1-3ubuntu2+srt5_i386.deb";
+      name = "libtheora0_1.1.1+dfsg.1-3ubuntu2+srt6_i386";
+      sha256 = "f1f8063d04ce6d4d98f0f7bb44afa87e299f391140167a45486a6aff5d1b740e";
+      url = "mirror://steamrt/pool/main/libt/libtheora/libtheora0_1.1.1+dfsg.1-3ubuntu2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtheora0.deb";
       };
     }
     rec {
-      name = "libtiff4_3.9.5-2ubuntu1.9+srt2_i386";
-      sha256 = "5b32618324da00f7be2b5aa8d21d05ff1be970a7cb3837fda351956823115c51";
-      url = "mirror://steamrt/pool/main/t/tiff/libtiff4_3.9.5-2ubuntu1.9+srt2_i386.deb";
+      name = "libtiff4_3.9.5-2ubuntu1.9+srt3_i386";
+      sha256 = "8bf74e45a2a6c7a254d5da76e1671d95e4a3ab2a9d769c352409a6b0b0a9e162";
+      url = "mirror://steamrt/pool/main/t/tiff/libtiff4_3.9.5-2ubuntu1.9+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtiff4.deb";
       };
     }
     rec {
-      name = "libtinfo5_5.9-4+srt5_i386";
-      sha256 = "add6d819972b17dcc9501830677bdb7d7e9ffe00cb31c49cba91d5d2e697e690";
-      url = "mirror://steamrt/pool/main/n/ncurses/libtinfo5_5.9-4+srt5_i386.deb";
+      name = "libtinfo5_5.9-4+srt6_i386";
+      sha256 = "9c186721047492fe4b95305921a9cba162b645379625251ea8a6f55ea5ac1212";
+      url = "mirror://steamrt/pool/main/n/ncurses/libtinfo5_5.9-4+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtinfo5.deb";
       };
     }
     rec {
-      name = "libtxc-dxtn-s2tc0_0~git20131104-1.1+srt1_i386";
-      sha256 = "780c81b3238a510da420b7e463b9dce4a8eded30785b02ab313a93dbd57f5b5c";
-      url = "mirror://steamrt/pool/main/s/s2tc/libtxc-dxtn-s2tc0_0~git20131104-1.1+srt1_i386.deb";
+      name = "libtxc-dxtn-s2tc0_0~git20131104-1.1+srt2_i386";
+      sha256 = "973a3a2dcedad45fb714a4ba39b10b9bc847c2e29f7ecd955e38256669e2139f";
+      url = "mirror://steamrt/pool/main/s/s2tc/libtxc-dxtn-s2tc0_0~git20131104-1.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libtxc-dxtn-s2tc0.deb";
       };
     }
     rec {
-      name = "libudev0_175-0ubuntu9.10+srt1_i386";
-      sha256 = "6a7ab631a7db18f19e5a3fd4e81ea20c0bcb7b8f4f71fead7d862721f63e3f21";
-      url = "mirror://steamrt/pool/main/u/udev/libudev0_175-0ubuntu9.10+srt1_i386.deb";
+      name = "libudev0_175-0ubuntu9.10+srt2_i386";
+      sha256 = "113ae87943a82a200dddbd954400054a285a17a5eb41204d3c26bcab88759384";
+      url = "mirror://steamrt/pool/main/u/udev/libudev0_175-0ubuntu9.10+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libudev0.deb";
       };
     }
     rec {
-      name = "libusb-1.0-0_1.0.19-1+srt2_i386";
-      sha256 = "b0320fafbb50ffdef121eb53abbd6b4b711355cb64614a2cecc89cfa428e56e6";
-      url = "mirror://steamrt/pool/main/libu/libusb-1.0/libusb-1.0-0_1.0.19-1+srt2_i386.deb";
+      name = "libusb-1.0-0_1.0.19-1+srt3_i386";
+      sha256 = "92a1d5c358c4be0afe7467cf81d9662a2ba74a8d36d0bb6254fae756adfd2e1d";
+      url = "mirror://steamrt/pool/main/libu/libusb-1.0/libusb-1.0-0_1.0.19-1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libusb-1.0-0.deb";
       };
     }
     rec {
-      name = "libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt1_i386";
-      sha256 = "68eded768044331021fb8c04d43e69f6e2ad09ab8a013d6dcdcb8741c84745f7";
-      url = "mirror://steamrt/pool/main/u/util-linux/libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt1_i386.deb";
+      name = "libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt2_i386";
+      sha256 = "1ff9ef3e7f5bb52c9ec5ff8c403610d42dd82c68a58c062ff7c089062195edd6";
+      url = "mirror://steamrt/pool/main/u/util-linux/libuuid1_2.20.1-1ubuntu3.1+steamrt1.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libuuid1.deb";
       };
     }
     rec {
-      name = "libva-glx1_1.7.0-1+steamos1+srt1_i386";
-      sha256 = "5d4f636116bdec7368a39af6d6fc9173204b3473f5b809259090528abd562ae0";
-      url = "mirror://steamrt/pool/main/libv/libva/libva-glx1_1.7.0-1+steamos1+srt1_i386.deb";
+      name = "libva-glx1_1.7.0-1+steamos1+srt2_i386";
+      sha256 = "d9e84658add810853ef5c07729afa864ea07be31b513a2eb5fd569328a9555a9";
+      url = "mirror://steamrt/pool/main/libv/libva/libva-glx1_1.7.0-1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libva-glx1.deb";
       };
     }
     rec {
-      name = "libva-x11-1_1.7.0-1+steamos1+srt1_i386";
-      sha256 = "17f9b3c990e984868a3badd5634255e0c8b1c94d454608e817127121ce4367de";
-      url = "mirror://steamrt/pool/main/libv/libva/libva-x11-1_1.7.0-1+steamos1+srt1_i386.deb";
+      name = "libva-x11-1_1.7.0-1+steamos1+srt2_i386";
+      sha256 = "1d2e3d83d02dbb83156edba8f6b1564baf795e84bf9c4549db100722f42d4a04";
+      url = "mirror://steamrt/pool/main/libv/libva/libva-x11-1_1.7.0-1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libva-x11-1.deb";
       };
     }
     rec {
-      name = "libva1_1.7.0-1+steamos1+srt1_i386";
-      sha256 = "252e512620fc7b8b55ec5c8bf8a89c0ead5726ad61227642ab1ea3ad11d4349f";
-      url = "mirror://steamrt/pool/main/libv/libva/libva1_1.7.0-1+steamos1+srt1_i386.deb";
+      name = "libva1_1.7.0-1+steamos1+srt2_i386";
+      sha256 = "f32d8049e071903b6b20648b0a30c4300603b2eb0635c71243beb58d9746dce6";
+      url = "mirror://steamrt/pool/main/libv/libva/libva1_1.7.0-1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libva1.deb";
       };
     }
     rec {
-      name = "libvdpau1_0.4.1-3ubuntu1.2+srt2_i386";
-      sha256 = "5217adc401afeba22d45b174265e677d7e4e215cd7dd747897de66c2b55e46e1";
-      url = "mirror://steamrt/pool/main/libv/libvdpau/libvdpau1_0.4.1-3ubuntu1.2+srt2_i386.deb";
+      name = "libvdpau1_0.4.1-3ubuntu1.2+srt3_i386";
+      sha256 = "8ec0513551e19a25934d113cf2f9d68cf2c4b3b65a6ba786f7aa780f81fe2cde";
+      url = "mirror://steamrt/pool/main/libv/libvdpau/libvdpau1_0.4.1-3ubuntu1.2+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvdpau1.deb";
       };
     }
     rec {
-      name = "libvorbis0a_1.3.5-4.2+srt1_i386";
-      sha256 = "c457c17ee9f79914a36650a09c8adb1e474e8a14f54726f53c539c190ce2a0f7";
-      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbis0a_1.3.5-4.2+srt1_i386.deb";
+      name = "libvorbis0a_1.3.5-4.2+srt2_i386";
+      sha256 = "31d23a2774150163005db54371ba02eccaebfa5e1904360242eeeab922f02b5f";
+      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbis0a_1.3.5-4.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvorbis0a.deb";
       };
     }
     rec {
-      name = "libvorbisenc2_1.3.5-4.2+srt1_i386";
-      sha256 = "c1cf17a3e263e50391aaa2ed8b8800b7263f8e574533cede6a5ddb164ec5ec0b";
-      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisenc2_1.3.5-4.2+srt1_i386.deb";
+      name = "libvorbisenc2_1.3.5-4.2+srt2_i386";
+      sha256 = "7ac2c4e1fe34f2208b0fcc57ddbbf997368a003bea15f22efd34afcc6abde75f";
+      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisenc2_1.3.5-4.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvorbisenc2.deb";
       };
     }
     rec {
-      name = "libvorbisfile3_1.3.5-4.2+srt1_i386";
-      sha256 = "64b1a4584a1af2339e35a4d4dc409c08d5d2873896dd5fad21355371e2bb031c";
-      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisfile3_1.3.5-4.2+srt1_i386.deb";
+      name = "libvorbisfile3_1.3.5-4.2+srt2_i386";
+      sha256 = "84dde5077123a8904c4977830382b608c85a4a50b63b5b5de0469682d93030db";
+      url = "mirror://steamrt/pool/main/libv/libvorbis/libvorbisfile3_1.3.5-4.2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvorbisfile3.deb";
       };
     }
     rec {
-      name = "libvpx1_1.0.0-2+srt1_i386";
-      sha256 = "51a92fef20fda32b9baab8ce52f4ecd1707fdf44e9307d993fe85491327fd623";
-      url = "mirror://steamrt/pool/main/libv/libvpx/libvpx1_1.0.0-2+srt1_i386.deb";
+      name = "libvpx1_1.0.0-2+srt2_i386";
+      sha256 = "9d31c1bf683110d48f7e720751430f2bdd4b58d22d10f7b29962d727bfbcc596";
+      url = "mirror://steamrt/pool/main/libv/libvpx/libvpx1_1.0.0-2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvpx1.deb";
       };
     }
     rec {
-      name = "libvulkan1_1.1.73+dfsg-1+steamosc2+srt1_i386";
-      sha256 = "06491a171a10791cbfbd117adf2dee3f8973d3e0f462a331b613e125a61d2e3d";
-      url = "mirror://steamrt/pool/main/v/vulkan/libvulkan1_1.1.73+dfsg-1+steamosc2+srt1_i386.deb";
+      name = "libvulkan1_1.1.73+dfsg-1+steamosc2+srt2_i386";
+      sha256 = "cac788c3fd6cea1ff7235f9b14f82eb8121e209743f08d15529e54732e692e05";
+      url = "mirror://steamrt/pool/main/v/vulkan/libvulkan1_1.1.73+dfsg-1+steamosc2+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libvulkan1.deb";
       };
     }
     rec {
-      name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386";
-      sha256 = "709ed89faae658cf29269b3fd9a44ba869844ee8aca0863175f286c90b26f2f7";
-      url = "mirror://steamrt/pool/main/h/heimdal/libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt5_i386.deb";
+      name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386";
+      sha256 = "6eb4a6d45a5a37f96c0b96dd08f9d7dbbf5d67c4dc9627472e5c7f6e8dcdecd2";
+      url = "mirror://steamrt/pool/main/h/heimdal/libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libwind0-heimdal.deb";
       };
     }
     rec {
-      name = "libwrap0_7.6.q-21+srt5_i386";
-      sha256 = "760c09052f66c122a292f64986bc23743cb040c93be6c6c17cadc4cbd24e17d2";
-      url = "mirror://steamrt/pool/main/t/tcp-wrappers/libwrap0_7.6.q-21+srt5_i386.deb";
+      name = "libwrap0_7.6.q-21+srt6_i386";
+      sha256 = "f16e36075faa59bb1322cfbbfbebf99f858f84e31583c8037377f998d1bacaef";
+      url = "mirror://steamrt/pool/main/t/tcp-wrappers/libwrap0_7.6.q-21+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libwrap0.deb";
       };
     }
     rec {
-      name = "libx11-6_1.6.3-1ubuntu2.1+srt1_i386";
-      sha256 = "f50a68ea2d1ff298e68f9d9e3cf887d0fe2c635d4888e2b071f60725d1196f57";
-      url = "mirror://steamrt/pool/main/libx/libx11/libx11-6_1.6.3-1ubuntu2.1+srt1_i386.deb";
+      name = "libx11-6_1.6.3-1ubuntu2.1+srt2_i386";
+      sha256 = "8b227320572f1bae0f64fca805558c6dde6b9aab9a8c1276ea8f787ff4d621d0";
+      url = "mirror://steamrt/pool/main/libx/libx11/libx11-6_1.6.3-1ubuntu2.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libx11-6.deb";
       };
     }
     rec {
-      name = "libx11-xcb1_1.6.3-1ubuntu2.1+srt1_i386";
-      sha256 = "86b419f07b4551e8a00313897acd0f9f5eb5166285bec442b0717b4594b6f66e";
-      url = "mirror://steamrt/pool/main/libx/libx11/libx11-xcb1_1.6.3-1ubuntu2.1+srt1_i386.deb";
+      name = "libx11-xcb1_1.6.3-1ubuntu2.1+srt2_i386";
+      sha256 = "7da5d7a8704f93ee4b001797bf92377d82effcc9323382e619d253df4378a94d";
+      url = "mirror://steamrt/pool/main/libx/libx11/libx11-xcb1_1.6.3-1ubuntu2.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libx11-xcb1.deb";
       };
     }
     rec {
-      name = "libxau6_1.0.6-4+srt5_i386";
-      sha256 = "b84259e6169e916b6bfad689358f2dadcb8646ebb87caa9864e0d9a2a0cfb8e0";
-      url = "mirror://steamrt/pool/main/libx/libxau/libxau6_1.0.6-4+srt5_i386.deb";
+      name = "libxau6_1.0.6-4+srt6_i386";
+      sha256 = "7a8f2c897f4dbca167589e631ed5a2330da95739901a83de227fb73179a1cd7c";
+      url = "mirror://steamrt/pool/main/libx/libxau/libxau6_1.0.6-4+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxau6.deb";
       };
     }
     rec {
-      name = "libxaw7_1.0.9-3ubuntu1+srt5_i386";
-      sha256 = "74d6893cdcd0d0b1d3fe5389de3e37ee046b23895a16dedf6216a67ea42f089c";
-      url = "mirror://steamrt/pool/main/libx/libxaw/libxaw7_1.0.9-3ubuntu1+srt5_i386.deb";
+      name = "libxaw7_1.0.9-3ubuntu1+srt6_i386";
+      sha256 = "bebb30c03a8d2ec3e9c7761467d240884ea9c8af974ccc420f2b68f4dfb25f46";
+      url = "mirror://steamrt/pool/main/libx/libxaw/libxaw7_1.0.9-3ubuntu1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxaw7.deb";
       };
     }
     rec {
-      name = "libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "45190c7a113fb0c2e7632984f4ec72587fce8267540811e5d10f1d670df0ee03";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "14dcce8eae67f17d6d118f516716c3c37b377e792c70ba8d5eee024330c6cd55";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-composite0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-composite0.deb";
       };
     }
     rec {
-      name = "libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "67b91f165db7b3be9ffcb8763463de5a67a890bc9cafb41b5515dc498c46c427";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "eba4177cc53cc9a962021248ed9e10f9644ec9dc0c82ded1d88c741e0db4b281";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-damage0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-damage0.deb";
       };
     }
     rec {
-      name = "libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "06696f4c7edcc4003b56b14a034af5eecc4c6e9768eaaa6be26a96e02006ab20";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "6aa16d10d782109331c253e0ad2c34e4b253b035851d9b9d3d1ebc53cb761fdd";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dpms0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-dpms0.deb";
       };
     }
     rec {
-      name = "libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "3887788a0d5792adb6296734df1f725f78b2647a83a141ee51ac77054ac98ddb";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "4d93975e2ca271f08a5c3767b4cc0732d1bde19d3d316ae86887ec2b219a2330";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri2-0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-dri2-0.deb";
       };
     }
     rec {
-      name = "libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "f919baabd248c97e2726e2e2ae8b90eca16e81482021db108933b779e9a253ee";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "716024b99a5a9ae8ac2f25bf138872467b2d878457d064d80ed9c123554890f4";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-dri3-0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-dri3-0.deb";
       };
     }
     rec {
-      name = "libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "262f4ab2b926b1421dcf0946de4ad4f7167c034627665922376a2e9310438c7f";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "dfc32f406c1b8e7d388da08eb44219f2ac0dea671cc904fce2848e5207c01517";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-glx0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-glx0.deb";
       };
     }
     rec {
-      name = "libxcb-present0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "fe0d9948ea9c593c780c6602d642fbf039d59013649887aa3dcbe420bd96a431";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-present0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-present0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "178eb8ef45f7905e7dda7d072c45ed22ff258a1271b4aa23fa288a6e8f3df259";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-present0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-present0.deb";
       };
     }
     rec {
-      name = "libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "c77398b3c64fd98fed35cbc50467cde9094d1b65121c898e0057621cf05cd9ed";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "80c961ca3c4f65731395f28382563b35716fec8ba1821b67b3d82b676dada3db";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-randr0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-randr0.deb";
       };
     }
     rec {
-      name = "libxcb-record0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "f2b49520eff6e373e1165a17e8596895db9967c00f6e848d4a85b5184ca0c73f";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-record0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-record0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "647639154c1395f23e9f211b72463855db0514b7773c2f9cf1d3fb2cbc05c867";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-record0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-record0.deb";
       };
     }
     rec {
-      name = "libxcb-render0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "2e2737b97454bd568ffefa2b58a1c47af74928af1b6d30ee68eede02131a873e";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-render0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-render0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "a6d472270333f97a16fd53b91131c24f2ba041638c64e7102e5cf1d7eabc904d";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-render0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-render0.deb";
       };
     }
     rec {
-      name = "libxcb-res0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "39fa631d842c6375cde4a90d6bfd5881f4e20af567c9a9e47499592cc2a445b1";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-res0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-res0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "e775fa90992262b7c95bf7f87a7798b66860a220695658a7126493ce3a6539fd";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-res0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-res0.deb";
       };
     }
     rec {
-      name = "libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "7a83feb1fae11a41404cd297f19548332efd25257c1ac74eaf82fef3814ce46b";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "b1db9ac5b0769b942b77a848d81192fa7a6ac256a929cf4c2041e9effb514593";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-screensaver0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-screensaver0.deb";
       };
     }
     rec {
-      name = "libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "0d2e221bc8db24d7794efb5b913eeeb23148635e9ba84a1862c7b61ed1d4ccd7";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "408ad0ffea7751ac9284fc98ed4aa515493f2b1bea81ea6cb25f18db66dbbadb";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shape0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-shape0.deb";
       };
     }
     rec {
-      name = "libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "8371d4075f12bdda28340a0702ae5bc65b735523fde898282ef93f88da280df0";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "4974ac189d90500e577b17beec8ea8c6a2cab4dcad1cfe8e81864b23df42602b";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-shm0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-shm0.deb";
       };
     }
     rec {
-      name = "libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "6099cb5221431daa4d35e9554d1997735f77704b08116824b848c0830bbfa0dd";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "9cd68cc830a6ccf81bb2e1e24227bbd6a94b2b0e3f80cd287a1761fe2d58eceb";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-sync1_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-sync1.deb";
       };
     }
     rec {
-      name = "libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "b7207cf6e72cad418ef777b09d57bd423afea89b5ba55dd152fa16e764d1c359";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "8b538e6e9f305fa25f93f706dbee2fbc5d4ae68ae7e2219a3c8ecd4bccccf767";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xevie0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xevie0.deb";
       };
     }
     rec {
-      name = "libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "30c430d9f91b43c4ec936673bb291574740907d5793738a57c1642e3a87e2d91";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "642e4b1fb439e5da1d19cd79e4e3baf5ff2a45095c7943338b5f0c2dc2f9053f";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xf86dri0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xf86dri0.deb";
       };
     }
     rec {
-      name = "libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "1fcc8ab92ec80c2c803c2e58ad15bf651d0d3120d8f57e402ff5f7eef6b25ee6";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "bfd93b091ee389375bbd5f4a8b8dcd310fc0dfe865ee70036311af2b87a1c1fc";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xfixes0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xfixes0.deb";
       };
     }
     rec {
-      name = "libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "69facf32640f99705d6f8a7ab17b1880fa3ef6709aedd4e1148c80000a231b54";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "9f98414285c57d89aa589967e7fb1c15baeb41d1a4029ad1e658cfc16d41f666";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xinerama0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xinerama0.deb";
       };
     }
     rec {
-      name = "libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "fc0c14b7eb5b3c544e982c1576ba73847bf67e4d76ddb103b36a7aa277dca634";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "f2bbade8fa986997e27e4b4f6d58f8d13cf89046f30832d25a2ad2a5bf5b2deb";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xkb1_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xkb1.deb";
       };
     }
     rec {
-      name = "libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "359ab9cac3f861fb8ba8a9f1e1d1a8e0f6e997524362bc8040c198f6f471943d";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "ef3b153da4e557139326e3fe5725a6e81c405a870cfeac0c2b449cb3a57dcb08";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xprint0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xprint0.deb";
       };
     }
     rec {
-      name = "libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "d57578d1eebfc6ffcb487ecfec57b0caee4d76830db18c472936b59746bf936b";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "1e2e21f204725e8db972eb252d35a44d446f82e7b1fd63e49832f243c90f5270";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xtest0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xtest0.deb";
       };
     }
     rec {
-      name = "libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "39189288273815947d2017bc5bc40f43b37389e70993abc2e9644cd7c14c2456";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "f76bde000e9035f4a3ae98c97f7a8cd0fbdd4061476c33d92d7c82ea7b4e8951";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xv0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xv0.deb";
       };
     }
     rec {
-      name = "libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "d00a775a2a7ad96173c16d7ee099f86e2a6afe21eaeb4698a390f89c3c181e19";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "8f86701038d861ab35144640fe811493050e7c66d0b126acaa1d1cf0841026d6";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb-xvmc0_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb-xvmc0.deb";
       };
     }
     rec {
-      name = "libxcb1_1.11.1-1ubuntu1+steamos1+srt1_i386";
-      sha256 = "6662608d7fc07035bff0ceaa54d3fed75dd85c87c203dc2ae065ae92652dea69";
-      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb1_1.11.1-1ubuntu1+steamos1+srt1_i386.deb";
+      name = "libxcb1_1.11.1-1ubuntu1+steamos1+srt2_i386";
+      sha256 = "ac86d7cc48e543a8314df90e22ab5f2f6441c5a9592885075f3ded255f566215";
+      url = "mirror://steamrt/pool/main/libx/libxcb/libxcb1_1.11.1-1ubuntu1+steamos1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcb1.deb";
       };
     }
     rec {
-      name = "libxcomposite1_0.4.3-2build1+srt5_i386";
-      sha256 = "4e53794b2180898535cd74a6d502957ff6cdaa9b73500ccbebaa44cfb88e43b0";
-      url = "mirror://steamrt/pool/main/libx/libxcomposite/libxcomposite1_0.4.3-2build1+srt5_i386.deb";
+      name = "libxcomposite1_0.4.3-2build1+srt6_i386";
+      sha256 = "b340871ae381d5c88f548ea401e8716fb2c0ab5f545f20bdaa53c1b86fcb5657";
+      url = "mirror://steamrt/pool/main/libx/libxcomposite/libxcomposite1_0.4.3-2build1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcomposite1.deb";
       };
     }
     rec {
-      name = "libxcursor1_1.1.12-1ubuntu0.1+srt5_i386";
-      sha256 = "7df99c62b0374e5bc9134e2c329f1f093bbac494812bf57f1c5a4042a70e62a0";
-      url = "mirror://steamrt/pool/main/libx/libxcursor/libxcursor1_1.1.12-1ubuntu0.1+srt5_i386.deb";
+      name = "libxcursor1_1.1.12-1ubuntu0.1+srt6_i386";
+      sha256 = "033134cc5bddecff760d23f900fbf82160ae9913d8a775d8449d76521a225523";
+      url = "mirror://steamrt/pool/main/libx/libxcursor/libxcursor1_1.1.12-1ubuntu0.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxcursor1.deb";
       };
     }
     rec {
-      name = "libxdamage1_1.1.3-2build1+srt5_i386";
-      sha256 = "1871be08fccd3bdc6b56209263eea0f1f56bff74565398b3dfa3019935a9ea06";
-      url = "mirror://steamrt/pool/main/libx/libxdamage/libxdamage1_1.1.3-2build1+srt5_i386.deb";
+      name = "libxdamage1_1.1.3-2build1+srt6_i386";
+      sha256 = "2312ed64ac73865703a2d52426468e04ab9051e7dca7ee2b5f6adba7465ee5dd";
+      url = "mirror://steamrt/pool/main/libx/libxdamage/libxdamage1_1.1.3-2build1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxdamage1.deb";
       };
     }
     rec {
-      name = "libxdmcp6_1.1.0-4+srt5_i386";
-      sha256 = "b071a102fb1181d5c480091c243d31ed697cfae71c993816887134ea43e0e66f";
-      url = "mirror://steamrt/pool/main/libx/libxdmcp/libxdmcp6_1.1.0-4+srt5_i386.deb";
+      name = "libxdmcp6_1.1.0-4+srt6_i386";
+      sha256 = "770dd69e60b9480853807ce666efd456ed33a1cc1ef6211120f7ffca5ce0aeb8";
+      url = "mirror://steamrt/pool/main/libx/libxdmcp/libxdmcp6_1.1.0-4+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxdmcp6.deb";
       };
     }
     rec {
-      name = "libxext6_1.3.0-3ubuntu0.2+steamrt1+srt2_i386";
-      sha256 = "ce53e48d1f2ba1fc51e25ea594a93463a5acb1b005de6c08e99ba7898d6e5286";
-      url = "mirror://steamrt/pool/main/libx/libxext/libxext6_1.3.0-3ubuntu0.2+steamrt1+srt2_i386.deb";
+      name = "libxext6_1.3.0-3ubuntu0.2+steamrt1+srt3_i386";
+      sha256 = "07b6198a9e98a0f2995043ca6801eeb10ab1b448182ac96aa6edec9d5d0a999f";
+      url = "mirror://steamrt/pool/main/libx/libxext/libxext6_1.3.0-3ubuntu0.2+steamrt1+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxext6.deb";
       };
     }
     rec {
-      name = "libxfixes3_5.0-4ubuntu4.4+srt2_i386";
-      sha256 = "064ab5059492364f6a3c6768301e91a5170208606ae94965d47e1fdc824635a7";
-      url = "mirror://steamrt/pool/main/libx/libxfixes/libxfixes3_5.0-4ubuntu4.4+srt2_i386.deb";
+      name = "libxfixes3_5.0-4ubuntu4.4+srt3_i386";
+      sha256 = "8821073c0b8742d9376e97040ae57b99350f501ddeb11559c0ab22b575f79c85";
+      url = "mirror://steamrt/pool/main/libx/libxfixes/libxfixes3_5.0-4ubuntu4.4+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxfixes3.deb";
       };
     }
     rec {
-      name = "libxft2_2.2.0-3ubuntu2+srt5_i386";
-      sha256 = "27bd10e6d1130f6d90dcfecb668fb66f456aaa0634cfb67a5c8140daf6428d5d";
-      url = "mirror://steamrt/pool/main/x/xft/libxft2_2.2.0-3ubuntu2+srt5_i386.deb";
+      name = "libxft2_2.2.0-3ubuntu2+srt6_i386";
+      sha256 = "d5321b1d50842e1fdea5d6ddffc68deb04561c3113b1999f175ff3b890460ad4";
+      url = "mirror://steamrt/pool/main/x/xft/libxft2_2.2.0-3ubuntu2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxft2.deb";
       };
     }
     rec {
-      name = "libxi6_1.7.1.901-1ubuntu1~precise3+srt2_i386";
-      sha256 = "3775122a6eb2cd9a1764229cb6eec0d7169a9b101ccf5543baecc804a1bad35f";
-      url = "mirror://steamrt/pool/main/libx/libxi/libxi6_1.7.1.901-1ubuntu1~precise3+srt2_i386.deb";
+      name = "libxi6_1.7.1.901-1ubuntu1~precise3+srt3_i386";
+      sha256 = "403a6d281489c734eb221b4345445c85e1d08726de5424c0977eb075ad65c39d";
+      url = "mirror://steamrt/pool/main/libx/libxi/libxi6_1.7.1.901-1ubuntu1~precise3+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxi6.deb";
       };
     }
     rec {
-      name = "libxinerama1_1.1.1-3ubuntu0.1+srt5_i386";
-      sha256 = "5b01bf5eb53f9d593d65c80b3e7dd0085547fc9ac546640d1cba0868b2cba075";
-      url = "mirror://steamrt/pool/main/libx/libxinerama/libxinerama1_1.1.1-3ubuntu0.1+srt5_i386.deb";
+      name = "libxinerama1_1.1.1-3ubuntu0.1+srt6_i386";
+      sha256 = "a1433017837dfef1e89a59da96fc762d777f424ec0576c844df299e1f8c1de23";
+      url = "mirror://steamrt/pool/main/libx/libxinerama/libxinerama1_1.1.1-3ubuntu0.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxinerama1.deb";
       };
     }
     rec {
-      name = "libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt1_i386";
-      sha256 = "df88c9d85049584bc0084f2ea4ef3f9664574b4fa585fa5885a8be86db7547eb";
-      url = "mirror://steamrt/pool/main/libx/libxml2/libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt1_i386.deb";
+      name = "libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt2_i386";
+      sha256 = "01c070b6cf8b9bbc89691680ecd283124a221f4f9a774b92da320a994ff9934c";
+      url = "mirror://steamrt/pool/main/libx/libxml2/libxml2_2.7.8.dfsg-5.1ubuntu4.17+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxml2.deb";
       };
     }
     rec {
-      name = "libxmu6_1.1.0-3+srt5_i386";
-      sha256 = "5c9c98f3820622581e52211f4fb3864dc7dacbe4a12ade5ec04ce88899fa697c";
-      url = "mirror://steamrt/pool/main/libx/libxmu/libxmu6_1.1.0-3+srt5_i386.deb";
+      name = "libxmu6_1.1.0-3+srt6_i386";
+      sha256 = "8af5a4dbbd4543273660a993b5844fe3e4fe08039029cdb831cdfad913189784";
+      url = "mirror://steamrt/pool/main/libx/libxmu/libxmu6_1.1.0-3+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxmu6.deb";
       };
     }
     rec {
-      name = "libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt1_i386";
-      sha256 = "58ffd6f5d6e632047bdad22b8638ebf58b5017d952bee3f004b410b18d05670a";
-      url = "mirror://steamrt/pool/main/libx/libxpm/libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt1_i386.deb";
+      name = "libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt2_i386";
+      sha256 = "fc122b2d9b319e2b2d6820f99991340be84c897934c215dd45992f1cdd93cc3e";
+      url = "mirror://steamrt/pool/main/libx/libxpm/libxpm4_3.5.9-4+steamrt1.1ubuntu0.1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxpm4.deb";
       };
     }
     rec {
-      name = "libxrandr2_1.5.0-1+srt1_i386";
-      sha256 = "72fa2322756fb6138fb10c729edea5b46db4cf46c43704153740f72674cfd882";
-      url = "mirror://steamrt/pool/main/libx/libxrandr/libxrandr2_1.5.0-1+srt1_i386.deb";
+      name = "libxrandr2_1.5.0-1+srt2_i386";
+      sha256 = "7cac5a272f54cbbe4d4a6ebec57f916ce27558ad4658e2a7bf7a0da821ea4814";
+      url = "mirror://steamrt/pool/main/libx/libxrandr/libxrandr2_1.5.0-1+srt2_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxrandr2.deb";
       };
     }
     rec {
-      name = "libxrender1_0.9.6-2ubuntu0.2+srt2_i386";
-      sha256 = "1bf3098bad2e51f0141638ccdc6883ab7a881a47b98214d86b206df7495c8844";
-      url = "mirror://steamrt/pool/main/libx/libxrender/libxrender1_0.9.6-2ubuntu0.2+srt2_i386.deb";
+      name = "libxrender1_0.9.6-2ubuntu0.2+srt3_i386";
+      sha256 = "ca115703917963c881e4a5e2fdd46bf407750b2b21d5cb68f3d9de1848a37607";
+      url = "mirror://steamrt/pool/main/libx/libxrender/libxrender1_0.9.6-2ubuntu0.2+srt3_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxrender1.deb";
       };
     }
     rec {
-      name = "libxss1_1.2.1-2+srt5_i386";
-      sha256 = "9f38079ce4d805ef285eaaa9348694575c42a88ecff43fca7a7b130a030db604";
-      url = "mirror://steamrt/pool/main/libx/libxss/libxss1_1.2.1-2+srt5_i386.deb";
+      name = "libxss1_1.2.1-2+srt6_i386";
+      sha256 = "b7eefbf2398837f0edc399a0814270549622309c70cea499ff8f360a0ed553e2";
+      url = "mirror://steamrt/pool/main/libx/libxss/libxss1_1.2.1-2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxss1.deb";
       };
     }
     rec {
-      name = "libxt6_1.1.1-2ubuntu0.1+srt5_i386";
-      sha256 = "4969e2c62de1d3686f5dcd7f6faaa6299c40dfcb306cbcdc2ac627988d340b7b";
-      url = "mirror://steamrt/pool/main/libx/libxt/libxt6_1.1.1-2ubuntu0.1+srt5_i386.deb";
+      name = "libxt6_1.1.1-2ubuntu0.1+srt6_i386";
+      sha256 = "2a0047b8b965e88e4102251adeaa8ee06f1f8a5c473b05b66780737c078e3a14";
+      url = "mirror://steamrt/pool/main/libx/libxt/libxt6_1.1.1-2ubuntu0.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxt6.deb";
       };
     }
     rec {
-      name = "libxtst6_1.2.0-4ubuntu0.1+srt5_i386";
-      sha256 = "ad1f4db35990af589fda23e8357dfd9a139fb753aad57ff31af5c52598b741c0";
-      url = "mirror://steamrt/pool/main/libx/libxtst/libxtst6_1.2.0-4ubuntu0.1+srt5_i386.deb";
+      name = "libxtst6_1.2.0-4ubuntu0.1+srt6_i386";
+      sha256 = "3f71448e6e4c2268a6b7d2434857fad087dcf5ab7bffffabd4dac85cc9b6101f";
+      url = "mirror://steamrt/pool/main/libx/libxtst/libxtst6_1.2.0-4ubuntu0.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxtst6.deb";
       };
     }
     rec {
-      name = "libxxf86vm1_1.1.1-2ubuntu0.1+srt5_i386";
-      sha256 = "4f337d533cb29171b139bef48419f05d8df4313fdfa77e1168ec861750887d8c";
-      url = "mirror://steamrt/pool/main/libx/libxxf86vm/libxxf86vm1_1.1.1-2ubuntu0.1+srt5_i386.deb";
+      name = "libxxf86vm1_1.1.1-2ubuntu0.1+srt6_i386";
+      sha256 = "e35a581221121685d195a30fa8d9f380b97d4ceda381c6283dea2cc055b8a9b1";
+      url = "mirror://steamrt/pool/main/libx/libxxf86vm/libxxf86vm1_1.1.1-2ubuntu0.1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "libxxf86vm1.deb";
       };
     }
     rec {
-      name = "nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt5_i386";
-      sha256 = "52faa136a94f0e7d9e976e5c60114d4dcc1c8739fd2429a4088c85e83b98705b";
-      url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt5_i386.deb";
+      name = "nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt6_i386";
+      sha256 = "b1910781d9fc65f75cdf0c73aed63274185c6fcd9e9ee02ea5500fefa10e3dcb";
+      url = "mirror://steamrt/pool/main/n/nvidia-cg-toolkit/nvidia-cg-toolkit_3.0.0016-0ubuntu1+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "nvidia-cg-toolkit.deb";
       };
     }
     rec {
-      name = "steamrt-legacy_1.20190320.0+srt1_i386";
-      sha256 = "d66cb2c0dd90b32198adf6700e22e2b2da7d5bfc2e7e6f25fdd1beeaac5f8caf";
-      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-legacy_1.20190320.0+srt1_i386.deb";
+      name = "steamrt-legacy_1.20190624.0+srt1_i386";
+      sha256 = "22bb83259ee421abdb7cb9877365460619011c859eaf4119615e55726defa56b";
+      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-legacy_1.20190624.0+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "steamrt-legacy.deb";
       };
     }
     rec {
-      name = "steamrt-libs_1.20190320.0+srt1_i386";
-      sha256 = "abe0f70b7b165e6d9a0aa4d8238921a5a9f32beb94c4a4bbce7a15c8c40a9d11";
-      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-libs_1.20190320.0+srt1_i386.deb";
+      name = "steamrt-libs_1.20190624.0+srt1_i386";
+      sha256 = "f9a38284deb9c08fbe6f3b8d1617bec74bb803d639a0a77d77736f19a1de765a";
+      url = "mirror://steamrt/pool/main/s/steamrt/steamrt-libs_1.20190624.0+srt1_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "steamrt-libs.deb";
       };
     }
     rec {
-      name = "zenity_3.4.0-0ubuntu4+steamrt2+srt5_i386";
-      sha256 = "8d2d8587abb10e2aa9b11befe931a2feeee5820953d1c1af0a09a1cddaaa4012";
-      url = "mirror://steamrt/pool/main/z/zenity/zenity_3.4.0-0ubuntu4+steamrt2+srt5_i386.deb";
+      name = "zenity_3.4.0-0ubuntu4+steamrt2+srt6_i386";
+      sha256 = "1c772d4f96424d204ab4913efcafbe43518257ca5032ca7b23d6c6ab76439117";
+      url = "mirror://steamrt/pool/main/z/zenity/zenity_3.4.0-0ubuntu4+steamrt2+srt6_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "zenity.deb";
       };
     }
     rec {
-      name = "zenity-common_3.4.0-0ubuntu4+steamrt2+srt5_all";
-      sha256 = "27c90bd85c4ff3c9593088d62a19537f7250910dcdd28c278bd6c71157e8be88";
-      url = "mirror://steamrt/pool/main/z/zenity/zenity-common_3.4.0-0ubuntu4+steamrt2+srt5_all.deb";
+      name = "zenity-common_3.4.0-0ubuntu4+steamrt2+srt6_all";
+      sha256 = "bc8f0b80672833be72c6dd87d406b5fc0ef92e51f91e3a461678fc97844649bc";
+      url = "mirror://steamrt/pool/main/z/zenity/zenity-common_3.4.0-0ubuntu4+steamrt2+srt6_all.deb";
       source = fetchurl {
         inherit url sha256;
         name = "zenity-common.deb";
       };
     }
     rec {
-      name = "zlib1g_1.2.3.4.dfsg-3ubuntu4+srt6_i386";
-      sha256 = "07b25f5fb3b27058ba8eded04b5c8d05c7f2ee60052c2d5591dd71082d6578e1";
-      url = "mirror://steamrt/pool/main/z/zlib/zlib1g_1.2.3.4.dfsg-3ubuntu4+srt6_i386.deb";
+      name = "zlib1g_1.2.3.4.dfsg-3ubuntu4+srt7_i386";
+      sha256 = "998b190f03be3de22d1e4822bb0b6e77db15a90321b4ae51abf1f0bd5b9f9190";
+      url = "mirror://steamrt/pool/main/z/zlib/zlib1g_1.2.3.4.dfsg-3ubuntu4+srt7_i386.deb";
       source = fetchurl {
         inherit url sha256;
         name = "zlib1g.deb";
diff --git a/pkgs/games/warsow/default.nix b/pkgs/games/warsow/default.nix
index 3d6a0399223..6282658fc15 100644
--- a/pkgs/games/warsow/default.nix
+++ b/pkgs/games/warsow/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "2.1.2";
 
   src = fetchurl {
-    url = "http://sebastian.network/warsow/${pname}-${version}.tar.gz";
+    url = "http://slice.sh/warsow/${pname}-${version}.tar.gz";
     sha256 = "07y2airw5qg3s1bf1c63a6snjj22riz0mqhk62jmfm9nrarhavrc";
   };
 
diff --git a/pkgs/games/warsow/engine.nix b/pkgs/games/warsow/engine.nix
index 12832f2a439..c42aa319825 100644
--- a/pkgs/games/warsow/engine.nix
+++ b/pkgs/games/warsow/engine.nix
@@ -13,7 +13,7 @@ in stdenv.mkDerivation (libs // rec {
   version = "2.1.0";
 
   src = fetchurl {
-    url = "http://sebastian.network/warsow/warsow_21_sdk.tar.gz";
+    url = "http://slice.sh/warsow/warsow_21_sdk.tar.gz";
     sha256 = "0fj5k7qpf6far8i1xhqxlpfjch10zj26xpilhp95aq2yiz08pj4r";
   };
 
@@ -48,5 +48,6 @@ in stdenv.mkDerivation (libs // rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ astsmtl abbradar ];
     platforms = platforms.linux;
+    broken = stdenv.isAarch64;
   };
 })
diff --git a/pkgs/misc/acpilight/default.nix b/pkgs/misc/acpilight/default.nix
index 4076a8c3a3a..1975e2d3790 100644
--- a/pkgs/misc/acpilight/default.nix
+++ b/pkgs/misc/acpilight/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.com/wavexx/acpilight";
     description = "ACPI backlight control";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ "smakarov" ];
+    maintainers = with maintainers; [ smakarov ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix
index fe8e82d98be..813730d435d 100644
--- a/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/pkgs/misc/emulators/dolphin-emu/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, gtk2, glib, libGLU_combined
-, gettext, libpthreadstubs, libXrandr, libXext, readline, openal
-, libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev
+{ stdenv, lib, fetchpatch, pkgconfig, cmake, bluez, ffmpeg, libao, gtk2, glib
+, libGLU_combined , gettext, libpthreadstubs, libXrandr, libXext, readline
+, openal , libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev
 , wxGTK30, soundtouch, miniupnpc, mbedtls, curl, lzo, sfml
 , libpulseaudio ? null }:
 
@@ -15,17 +15,26 @@ stdenv.mkDerivation rec {
     sha256 = "07mlfnh0hwvk6xarcg315x7z2j0qbg9g7cm040df9c8psiahc3g6";
   };
 
+  patches = [
+    # Fix build with soundtouch 2.1.2
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/dolphin-emu/raw/a1b91fdf94981e12c8889a02cba0ec2267d0f303/f/dolphin-emu-5.0-soundtouch-exception-fix.patch";
+      name = "dolphin-emu-5.0-soundtouch-exception-fix.patch";
+      sha256 = "0yd3l46nja5qiknnl30ryad98f3v8911jwnr67hn61dzx2kwbbaw";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace Source/Core/VideoBackends/OGL/RasterFont.cpp \
       --replace " CHAR_WIDTH " " CHARWIDTH "
   '';
 
-  cmakeFlags = ''
-    -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include
-    -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include
-    -DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0
-    -DENABLE_LTO=True
-  '';
+  cmakeFlags = [
+    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
+    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
+    "-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0"
+    "-DENABLE_LTO=True"
+  ];
 
   enableParallelBuilding = true;
 
@@ -36,11 +45,11 @@ stdenv.mkDerivation rec {
                   libevdev libXdmcp portaudio libusb libpulseaudio
                   wxGTK30 soundtouch miniupnpc mbedtls curl lzo sfml ];
 
-  meta = {
+  meta = with lib; {
     homepage = https://dolphin-emu.org/;
     description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ MP2E ashkitten ];
     # x86_32 is an unsupported platform.
     # Enable generic build if you really want a JIT-less binary.
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index fe16598fa9c..e96b2e07890 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -1,8 +1,9 @@
-{ stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, pkgconfig, cmake, qt5
-, bluez, ffmpeg, libao, libGLU_combined, pcre, gettext, libXrandr, libusb, lzo
-, libpthreadstubs, libXext, libXxf86vm, libXinerama, libSM, libXdmcp, readline
-, openal, udev, libevdev, portaudio, curl, alsaLib, miniupnpc, enet, mbedtls
-, soundtouch, sfml, vulkan-loader ? null, libpulseaudio ? null
+{ lib, stdenv, fetchFromGitHub, makeDesktopItem, pkgconfig, cmake
+, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU_combined, pcre, gettext
+, libXrandr, libusb, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama
+, libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsaLib
+, miniupnpc, enet, mbedtls, soundtouch, sfml
+, vulkan-loader ? null, libpulseaudio ? null
 
 # - Inputs used for Darwin
 , CoreBluetooth, ForceFeedback, IOKit, OpenGL, libpng, hidapi }:
@@ -20,27 +21,27 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "dolphin-emu";
-  version = "5.0-10751";
+  version = "5.0-10879";
 
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "64c0ff576c6d3ea2ee35e6b6d7ea8c814442d53f";
-    sha256 = "19351j3gys9kgxpdjv1dckaiv74dylcdh1kx0z9qz8llv9s1r0s3";
+    rev = "c7fc9126aaf447a014af4aed195b17aa593dd49b";
+    sha256 = "1pf4mxacxhrkvvh9j49ackm8hahl8x0ligmann1pafsb4lw0xbnj";
   };
 
   enableParallelBuilding = true;
   nativeBuildInputs = [ cmake pkgconfig ]
-  ++ stdenv.lib.optionals stdenv.isLinux [ makeWrapper ];
+  ++ lib.optional stdenv.isLinux wrapQtAppsHook;
 
   buildInputs = [
     curl ffmpeg libao libGLU_combined pcre gettext libpthreadstubs libpulseaudio
     libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp lzo
     portaudio libusb libpng hidapi miniupnpc enet mbedtls soundtouch sfml
-    qt5.qtbase
-  ] ++ stdenv.lib.optionals stdenv.isLinux [
+    qtbase
+  ] ++ lib.optionals stdenv.isLinux [
     bluez udev libevdev alsaLib vulkan-loader
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+  ] ++ lib.optionals stdenv.isDarwin [
     CoreBluetooth OpenGL ForceFeedback IOKit
   ];
 
@@ -50,14 +51,18 @@ in stdenv.mkDerivation rec {
     "-DDOLPHIN_WC_REVISION=${src.rev}"
     "-DDOLPHIN_WC_DESCRIBE=${version}"
     "-DDOLPHIN_WC_BRANCH=master"
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+  ] ++ lib.optionals stdenv.isDarwin [
     "-DOSX_USE_DEFAULT_SEARCH_PATH=True"
   ];
 
+  qtWrapperArgs = lib.optionals stdenv.isLinux [
+    "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
+  ];
+
   # - Allow Dolphin to use nix-provided libraries instead of building them
-  preConfigure = ''
+  postPatch = ''
     sed -i -e 's,DISTRIBUTOR "None",DISTRIBUTOR "NixOS",g' CMakeLists.txt
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+  '' + lib.optionalString stdenv.isDarwin ''
     sed -i -e 's,if(NOT APPLE),if(true),g' CMakeLists.txt
     sed -i -e 's,if(LIBUSB_FOUND AND NOT APPLE),if(LIBUSB_FOUND),g' \
       CMakeLists.txt
@@ -66,18 +71,13 @@ in stdenv.mkDerivation rec {
   postInstall = ''
     cp -r ${desktopItem}/share/applications $out/share
     ln -sf $out/bin/dolphin-emu $out/bin/dolphin-emu-master
-  '' + stdenv.lib.optionalString stdenv.isLinux ''
-    wrapProgram $out/bin/dolphin-emu-nogui \
-      --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-    wrapProgram $out/bin/dolphin-emu \
-      --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "https://dolphin-emu.org";
     description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ MP2E ];
+    maintainers = with maintainers; [ MP2E ashkitten ];
     branch = "master";
     # x86_32 is an unsupported platform.
     # Enable generic build if you really want a JIT-less binary.
diff --git a/pkgs/misc/scream-receivers/default.nix b/pkgs/misc/scream-receivers/default.nix
new file mode 100644
index 00000000000..aa88bd8a96c
--- /dev/null
+++ b/pkgs/misc/scream-receivers/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, lib, fetchFromGitHub, alsaLib
+, pulseSupport ? false, libpulseaudio ? null
+}:
+
+stdenv.mkDerivation rec {
+  pname = "scream-receivers";
+  version = "3.3";
+
+  src = fetchFromGitHub {
+    owner = "duncanthrax";
+    repo = "scream";
+    rev = "${version}";
+    sha256 = "1iqhs7m0fv3vfld7h288j5j0jc5xdihaghd0jd9qrk68mj2g6g9w";
+  };
+
+  buildInputs = [ alsaLib ] ++ lib.optional pulseSupport libpulseaudio;
+
+  buildPhase = ''
+    (cd Receivers/alsa && make)
+    (cd Receivers/alsa-ivshmem && make)
+  '' + lib.optionalString pulseSupport ''
+    (cd Receivers/pulseaudio && make)
+    (cd Receivers/pulseaudio-ivshmem && make)
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv ./Receivers/alsa/scream-alsa $out/bin/
+    mv ./Receivers/alsa-ivshmem/scream-ivshmem-alsa $out/bin/
+  '' + lib.optionalString pulseSupport ''
+    mv ./Receivers/pulseaudio/scream-pulse $out/bin/
+    mv ./Receivers/pulseaudio-ivshmem/scream-ivshmem-pulse $out/bin/
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    export PATH=$PATH:$out/bin
+    set -o verbose
+    set +o pipefail
+
+    # Programs exit with code 1 when testing help, so grep for a string
+    scream-alsa -h 2>&1 | grep -q Usage:
+    scream-ivshmem-alsa 2>&1 | grep -q Usage:
+  '' + lib.optionalString pulseSupport ''
+    scream-pulse -h 2>&1 | grep -q Usage:
+    scream-ivshmem-pulse 2>&1 | grep -q Usage:
+  '';
+
+  meta = with lib; {
+    description = "Audio receivers for the Scream virtual network sound card";
+    homepage = "https://github.com/duncanthrax/scream";
+    license = licenses.mspl;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.ivan ];
+  };
+}
diff --git a/pkgs/misc/themes/kde2/default.nix b/pkgs/misc/themes/kde2/default.nix
index 7f3aa11c3f0..fac8c38eeca 100644
--- a/pkgs/misc/themes/kde2/default.nix
+++ b/pkgs/misc/themes/kde2/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchFromGitHub
+{ stdenv, fetchFromGitHub, mkDerivation
 , cmake, extra-cmake-modules
 , qtbase, kcoreaddons, kdecoration }:
 
 let
   version = "2017-03-15";
-in stdenv.mkDerivation rec {
+in mkDerivation rec {
   pname = "kde2-decoration";
   inherit version;
 
diff --git a/pkgs/misc/themes/qtcurve/default.nix b/pkgs/misc/themes/qtcurve/default.nix
index 0d4655186eb..0071e386e88 100644
--- a/pkgs/misc/themes/qtcurve/default.nix
+++ b/pkgs/misc/themes/qtcurve/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, extra-cmake-modules, pkgconfig
+{ stdenv, fetchurl, cmake, extra-cmake-modules, pkgconfig, mkDerivation
 , gtk2, qtbase, qtsvg, qtx11extras # Toolkit dependencies
 , karchive, kconfig, kconfigwidgets, kio, frameworkintegration
 , kguiaddons, ki18n, kwindowsystem, kdelibs4support, kiconthemes
@@ -7,7 +7,7 @@
 
 let
   version = "1.9";
-in stdenv.mkDerivation {
+in mkDerivation {
   pname = "qtcurve";
   inherit version;
   src = fetchurl {
diff --git a/pkgs/misc/tw-rs/default.nix b/pkgs/misc/tw-rs/default.nix
deleted file mode 100644
index 50fa1a9ef0e..00000000000
--- a/pkgs/misc/tw-rs/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchFromGitHub, rustPlatform, perl, zlib, openssl, curl }:
-
-rustPlatform.buildRustPackage rec {
-  name = "tw-rs-${version}";
-  version = "0.1.26";
-
-  src = fetchFromGitHub {
-    owner = "vmchale";
-    repo = "tw-rs";
-    rev = "${version}";
-    sha256 = "1s1gk2wcs3792gdzrngksczz3gma5kv02ni2jqrhib8l6z8mg9ia";
-    };
-
-  buildInputs = [ perl zlib openssl ]
-    ++ stdenv.lib.optional stdenv.isDarwin curl;
-
-  cargoSha256 = "00v0b2vjal1dar4kwqk246k44mjyi1zp18hyj15dsww2972bm3b7";
-
-  meta = with stdenv.lib; {
-    description = "Twitter command-line interface written in rust";
-    homepage = https://github.com/vmchale/tw-rs;
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ vmchale ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index b8e9dd2d960..4dcfbeecb76 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -2113,6 +2113,17 @@ let
     };
   };
 
+  readline-vim = buildVimPluginFrom2Nix {
+    pname = "readline-vim";
+    version = "2019-06-10";
+    src = fetchFromGitHub {
+    owner = "ryvnf";
+    repo = "readline.vim";
+    rev = "a7c754acaf0aec922d4a6bde908a636578ef82cc";
+    sha256 = "16fawg7fnlipn1f41cn1qc83dhr63qhr1bwn3qmr8sy7rbk5lihr";
+    };
+  };
+
   riv-vim = buildVimPluginFrom2Nix {
     pname = "riv-vim";
     version = "2019-02-18";
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index 0c0a883f80a..d5a1ed67665 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -125,12 +125,12 @@ self: super: {
   # Only official releases contains the required index.js file
   coc-nvim = buildVimPluginFrom2Nix rec {
     pname = "coc-nvim";
-    version = "0.0.73";
+    version = "0.0.74";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
       rev = "v${version}";
-      sha256 = "1z7573rbh806nmkh75hr1kbhxr4jysv6k9x01fcyjfwricpa3cf7";
+      sha256 = "1s4nib2mnhagd0ymx254vf7l1iijwrh2xdqn3bdm4f1jnip81r10";
     };
   };
 
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 59b450820c1..681f91f6648 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -323,6 +323,7 @@ roxma/nvim-yarp
 rust-lang/rust.vim
 ryanoasis/vim-devicons
 Rykka/riv.vim
+ryvnf/readline.vim
 samoshkin/vim-mergetool
 sbdchd/neoformat
 scrooloose/nerdcommenter
diff --git a/pkgs/os-specific/linux/blcr/default.nix b/pkgs/os-specific/linux/blcr/default.nix
index 626e978f1f1..e018f4622b4 100644
--- a/pkgs/os-specific/linux/blcr/default.nix
+++ b/pkgs/os-specific/linux/blcr/default.nix
@@ -2,7 +2,7 @@
 
 # BLCR version 0.8.6 should works with linux kernel up to version 3.17.x
 
-assert builtins.compareVersions "3.18" kernel.version == 1;
+assert stdenv.lib.versionOlder "3.18" kernel.version;
 
 stdenv.mkDerivation {
   name = "blcr_${kernel.version}-0.8.6pre4";
diff --git a/pkgs/os-specific/linux/bolt/default.nix b/pkgs/os-specific/linux/bolt/default.nix
index f57fb1310c6..05423639876 100644
--- a/pkgs/os-specific/linux/bolt/default.nix
+++ b/pkgs/os-specific/linux/bolt/default.nix
@@ -6,14 +6,14 @@
 
 stdenv.mkDerivation rec {
   pname = "bolt";
-  version = "0.7";
+  version = "0.8";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "bolt";
     repo = "bolt";
     rev = "${version}";
-    sha256 = "0xn2c31kcjh1j76gq1qrcxwjyjyqnsxygkfrvh3xk07qc92f99xd";
+    sha256 = "1qamls0fll0qc27lqavf56hv1yj6v6n4ry90g7bcnwpvccmd82yd";
   };
 
   nativeBuildInputs = [
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   patches = [ ./0001-skip-mkdir.patch ];
 
   postPatch = ''
-    patchShebangs tests/test-integration
+    patchShebangs scripts tests
   '';
 
   mesonFlags = [
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index d4a23f3ed07..2508fb851a8 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = with licenses; [ lgpl21 gpl2 ];
     homepage = https://www.displaylink.com/;
-    broken = versionOlder kernel.version "4.9" || versionAtLeast kernel.version "4.18" || stdenv.isAarch64;
+    broken = versionOlder kernel.version "4.9" || versionAtLeast kernel.version "5.3" || stdenv.isAarch64;
   };
 }
diff --git a/pkgs/os-specific/linux/eventstat/default.nix b/pkgs/os-specific/linux/eventstat/default.nix
index 55f42f3e3ff..ddc8ee64ba0 100644
--- a/pkgs/os-specific/linux/eventstat/default.nix
+++ b/pkgs/os-specific/linux/eventstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "eventstat";
-  version = "0.04.06";
+  version = "0.04.07";
   src = fetchzip {
     url = "https://kernel.ubuntu.com/~cking/tarballs/eventstat/eventstat-${version}.tar.gz";
-    sha256 = "1w0lb94rmyrcl03s6ajn7mcdbhh2s6xhsg7kfchy1bpwqcjh2yli";
+    sha256 = "05gl060lgm6i10ayk0hri49k7vln1sdqkqqy1kjgck6gkbamk7a5";
   };
   buildInputs = [ ncurses ];
   installFlags = [ "DESTDIR=$(out)" ];
diff --git a/pkgs/os-specific/linux/fnotifystat/default.nix b/pkgs/os-specific/linux/fnotifystat/default.nix
index 4ebb9d6e950..c20206dc351 100644
--- a/pkgs/os-specific/linux/fnotifystat/default.nix
+++ b/pkgs/os-specific/linux/fnotifystat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "fnotifystat";
-  version = "0.02.02";
+  version = "0.02.03";
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/fnotifystat/fnotifystat-${version}.tar.gz";
-    sha256 = "14d6cikny9rn7fcc6ncwh02mg6jrgfi1abpxifr46gyvp3w38w55";
+    sha256 = "1b5s50dc8ag6k631nfp09chrqfpwai0r9ld822xqwp3qlszp0pv9";
   };
   installFlags = [ "DESTDIR=$(out)" ];
   postInstall = ''
diff --git a/pkgs/os-specific/linux/forkstat/default.nix b/pkgs/os-specific/linux/forkstat/default.nix
index adcab03ac13..db88ff05812 100644
--- a/pkgs/os-specific/linux/forkstat/default.nix
+++ b/pkgs/os-specific/linux/forkstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "forkstat";
-  version = "0.02.10";
+  version = "0.02.11";
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-${version}.tar.xz";
-    sha256 = "1nmnvgajvpas1azbr27nlgq5v3cwgrfwdhln3mr7dvhikz6rn0xg";
+    sha256 = "06lj8fl4083rp40i3sn8zggj165nvs3cq9dca66wcp9glb1d6yki";
   };
   installFlags = [ "DESTDIR=$(out)" ];
   postInstall = ''
diff --git a/pkgs/os-specific/linux/iotop/default.nix b/pkgs/os-specific/linux/iotop/default.nix
index e2ded7a8fd0..cb882a0dc1f 100644
--- a/pkgs/os-specific/linux/iotop/default.nix
+++ b/pkgs/os-specific/linux/iotop/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, python2Packages }:
+{ stdenv, fetchurl, python3Packages, fetchpatch }:
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   name = "iotop-0.6";
 
   src = fetchurl {
@@ -8,6 +8,13 @@ python2Packages.buildPythonApplication rec {
     sha256 = "0nzprs6zqax0cwq8h7hnszdl3d2m4c2d4vjfxfxbnjfs9sia5pis";
   };
 
+  patches = [
+    (fetchpatch {
+      url = https://repo.or.cz/iotop.git/patch/99c8d7cedce81f17b851954d94bfa73787300599;
+      sha256 = "0rdgz6xpmbx77lkr1ixklliy1aavdsjmfdqvzwrjylbv0xh5wc8z";
+    })
+  ];
+
   doCheck = false;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 527edc5ea74..87b7de4736f 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     description = "A collection of utilities for controlling TCP/IP networking and traffic control in Linux";
     platforms = platforms.linux;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ primeos eelco fpletz ];
+    maintainers = with maintainers; [ primeos eelco fpletz globin ];
   };
 }
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 5928b77a988..fff66fe328a 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -94,6 +94,6 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = platforms.linux;
-    maintainers = with maintainers; [ globin fpletz ];
+    maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix
index 87ae0cc1e26..843676b9cca 100644
--- a/pkgs/os-specific/linux/nftables/default.nix
+++ b/pkgs/os-specific/linux/nftables/default.nix
@@ -1,28 +1,35 @@
-{ stdenv, fetchurl, pkgconfig, docbook2x, docbook_xml_dtd_45
-, flex, bison, libmnl, libnftnl, gmp, readline }:
+{ stdenv, fetchurl, pkgconfig, bison, flex
+, libmnl, libnftnl, libpcap
+, gmp, jansson, readline
+, withXtables ? false , iptables
+}:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "0.9.0";
+  version = "0.9.1";
   pname = "nftables";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/nftables/files/${pname}-${version}.tar.bz2";
-    sha256 = "14bygs6vg2v448cw5r4pxqi8an29hw0m9vab8hpmgjmrzjsq30dd";
+    sha256 = "1kjg3dykf2aw76d76viz1hm0rav57nfbdwlngawgn2slxmlbplza";
   };
 
   configureFlags = [
-    "CONFIG_MAN=y"
-    "DB2MAN=docbook2man"
-  ];
+    "--disable-man-doc"
+    "--with-json"
+  ] ++ optional withXtables "--with-xtables";
 
-  XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
+  nativeBuildInputs = [ pkgconfig bison flex ];
 
-  nativeBuildInputs = [ pkgconfig docbook2x flex bison ];
-  buildInputs = [ libmnl libnftnl gmp readline ];
+  buildInputs = [
+    libmnl libnftnl libpcap
+    gmp readline jansson
+  ] ++ optional withXtables iptables;
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "The project that aims to replace the existing {ip,ip6,arp,eb}tables framework";
-    homepage = http://netfilter.org/projects/nftables;
+    homepage = "https://netfilter.org/projects/nftables/";
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 82ac359158b..2290a7e80a1 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -1,7 +1,11 @@
 { lib, callPackage, fetchurl, stdenv }:
 
 let
-  generic = args: callPackage (import ./generic.nix args) { };
+
+generic = args:
+if ((!lib.versionOlder args.version "391")
+    && stdenv.hostPlatform.system != "x86_64-linux") then null
+  else callPackage (import ./generic.nix args) { };
   kernel = callPackage # a hacky way of extracting parameters from callPackage
     ({ kernel, libsOnly ? false }: if libsOnly then { } else kernel) { };
 
diff --git a/pkgs/os-specific/linux/powerstat/default.nix b/pkgs/os-specific/linux/powerstat/default.nix
index 88134da46a1..7f5b14ca72f 100644
--- a/pkgs/os-specific/linux/powerstat/default.nix
+++ b/pkgs/os-specific/linux/powerstat/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "powerstat";
-  version = "0.02.19";
+  version = "0.02.20";
   
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0yh6l2mx5gfdgrfx406hxbi03c12cgi29pwlzgdfrpz6zs2icaw5";
+    sha256 = "1qsxk055pfjqnd9w4nx6js7a8bzvq6nfjiwjs4h9ik6jlsrhb4v7";
   };
   
   installFlags = [ "DESTDIR=${placeholder "out"}" ];
diff --git a/pkgs/os-specific/linux/pscircle/default.nix b/pkgs/os-specific/linux/pscircle/default.nix
index 844ce769aea..f8eb8c0a969 100644
--- a/pkgs/os-specific/linux/pscircle/default.nix
+++ b/pkgs/os-specific/linux/pscircle/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pscircle";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitLab {
     owner = "mildlyparallel";
     repo = "pscircle";
     rev = "v${version}";
-    sha256 = "0qsif00dkqa8ky3vl2ycx5anx2yk62nrv47f5lrlqzclz91f00fx";
+    sha256 = "1sm99423hh90kr4wdjqi9sdrrpk65j2vz2hzj65zcxfxyr6khjci";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/smemstat/default.nix b/pkgs/os-specific/linux/smemstat/default.nix
index 15520b236be..f2fa48b9efb 100644
--- a/pkgs/os-specific/linux/smemstat/default.nix
+++ b/pkgs/os-specific/linux/smemstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "smemstat";
-  version = "0.02.04";
+  version = "0.02.05";
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/smemstat/smemstat-${version}.tar.xz";
-    sha256 = "1kkdlnn3gahzd3ra2qc9vmc4ir5lydc3lyyqa269sb3nv9v2v30h";
+    sha256 = "00586w6f1cq7rayv6galh9qxk7wrz62zbha9qhrb1cf85axchvbw";
   };
   buildInputs = [ ncurses ];
   installFlags = [ "DESTDIR=$(out)" ];
diff --git a/pkgs/os-specific/linux/usbguard/default.nix b/pkgs/os-specific/linux/usbguard/default.nix
index 64d18fe075a..efc7406cc19 100644
--- a/pkgs/os-specific/linux/usbguard/default.nix
+++ b/pkgs/os-specific/linux/usbguard/default.nix
@@ -1,8 +1,11 @@
 {
   stdenv, fetchurl, lib,
-  libxslt, pandoc, asciidoctor, pkgconfig,
-  dbus-glib, libcap_ng, libqb, libseccomp, polkit, protobuf, qtbase, qttools, qtsvg,
-  audit,
+  pkgconfig, libxml2, libxslt,
+  dbus-glib, libcap_ng, libqb, libseccomp, polkit, protobuf, audit,
+  withGui ? true,
+  qtbase ? null,
+  qttools ? null,
+  qtsvg ? null,
   libgcrypt ? null,
   libsodium ? null
 }:
@@ -23,10 +26,9 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    libxslt
-    asciidoctor
-    pandoc # for rendering documentation
     pkgconfig
+    libxslt # xsltproc
+    libxml2 # xmllint
   ];
 
   buildInputs = [
@@ -37,23 +39,20 @@ stdenv.mkDerivation rec {
     polkit
     protobuf
     audit
-
-    qtbase
-    qtsvg
-    qttools
   ]
   ++ (lib.optional (libgcrypt != null) libgcrypt)
-  ++ (lib.optional (libsodium != null) libsodium);
+  ++ (lib.optional (libsodium != null) libsodium)
+  ++ (lib.optionals withGui [ qtbase qtsvg qttools ]);
 
   configureFlags = [
     "--with-bundled-catch"
     "--with-bundled-pegtl"
     "--with-dbus"
-    "--with-gui-qt=qt5"
     "--with-polkit"
   ]
   ++ (lib.optional (libgcrypt != null) "--with-crypto-library=gcrypt")
-  ++ (lib.optional (libsodium != null) "--with-crypto-library=sodium");
+  ++ (lib.optional (libsodium != null) "--with-crypto-library=sodium")
+  ++ (lib.optional withGui "--with-gui-qt=qt5");
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 935b1635e29..69525c92ede 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -4,13 +4,13 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  version = "2.8";
+  version = "2.9";
 
   pname = "wpa_supplicant";
 
   src = fetchurl {
     url = "https://w1.fi/releases/${pname}-${version}.tar.gz";
-    sha256 = "15ixzm347n8w6gdvi3j3yks3i15qmp6by9ayvswm34d929m372d6";
+    sha256 = "05qzak1mssnxcgdrafifxh9w86a4ha69qabkg4bsigk499xyxggw";
   };
 
   # TODO: Patch epoll so that the dbus actually responds
diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix
index a863ae6a0e5..2b7117f419f 100644
--- a/pkgs/servers/atlassian/jira.nix
+++ b/pkgs/servers/atlassian/jira.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-jira";
-  version = "8.3.0";
+  version = "8.3.2";
 
   src = fetchurl {
     url = "https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
-    sha256 = "10hnanvlnl1szp3qdcyrivhayydw8qbw1rq7vmvay434ch6wwgkx";
+    sha256 = "0cqj7al9892psc5zqpfvj0gnjf8b4dpm2kx7sr21grczss1dkcs1";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index df4a9f85de6..d4b4441408e 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -38,7 +38,7 @@ let
         description = "BIRD Internet Routing Daemon";
         homepage = http://bird.network.cz;
         license = licenses.gpl2Plus;
-        maintainers = with maintainers; [ fpletz ];
+        maintainers = with maintainers; [ fpletz globin ];
         platforms = platforms.linux;
       };
     };
@@ -58,7 +58,7 @@ in
   };
 
   bird2 = generic {
-    version = "2.0.4";
-    sha256 = "1phl8ycasbzgla83d9zbzzy1ymjz30k1qh1pmywmjhbxa6vi0q37";
+    version = "2.0.5";
+    sha256 = "1lr963ywy0mkrhgs5969wc354lizddsagrlbf8x84yb5s9pp6jsf";
   };
 }
diff --git a/pkgs/servers/computing/torque/default.nix b/pkgs/servers/computing/torque/default.nix
index 35c830dff8a..5e78fe742ac 100644
--- a/pkgs/servers/computing/torque/default.nix
+++ b/pkgs/servers/computing/torque/default.nix
@@ -1,46 +1,62 @@
-{ stdenv, fetchurl, openssl, flex, bison, pkgconfig, groff, libxml2, utillinux
-, file, libtool, which }:
+{ stdenv, fetchFromGitHub, openssl, flex, bison, pkgconfig, groff, libxml2, utillinux
+, file, libtool, which, boost, autoreconfHook
+}:
 
 stdenv.mkDerivation rec {
-  name = "torque-4.2.10";
+  pname = "torque";
+  version = "6.1.3h2";
 
-  src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "http://www.adaptivecomputing.com/index.php?wpfb_dl=2880";
-    sha256 = "1qpsk3bla6b6m7m0i1xpr183yj79liy3p34xhnz1grgq0776wg5l";
+  src = fetchFromGitHub {
+    owner = "adaptivecomputing";
+    repo = pname;
+    # branch 6.1.3h2, as they aren't pushing tags
+    # https://github.com/adaptivecomputing/torque/issues/467
+    rev = "458883319157cfc5c509046d09f9eb8e68e8d398";
+    sha256 = "1b56bc5j9wg87kcywzmhf7234byyrwax9v1pqsr9xmv2x7saakrr";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openssl flex bison groff libxml2 utillinux libtool
-                  which ];
+  strictDeps = true;
+  nativeBuildInputs = [ autoreconfHook pkgconfig flex bison libxml2 ];
+  buildInputs = [
+    openssl groff libxml2 utillinux libtool
+    which boost
+  ];
 
   enableParallelBuilding = true;
 
   # added to fix build with gcc7
-  NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error" "-fpermissive"
+  ];
+
+  postPatch = ''
+    substituteInPlace Makefile.am \
+      --replace "contrib/init.d contrib/systemd" ""
+    substituteInPlace src/cmds/Makefile.am \
+      --replace "/etc/" "$out/etc/"
+  '';
 
   preConfigure = ''
-   substituteInPlace ./configure \
-     --replace '/usr/bin/file' '${file}/bin/file'
+    substituteInPlace ./configure \
+      --replace '/usr/bin/file' '${file}/bin/file'
 
-   # fix broken libxml2 detection
-   sed -i '/xmlLib\=/c\xmlLib=xml2' ./configure
+    # fix broken libxml2 detection
+    sed -i '/xmlLib\=/c\xmlLib=xml2' ./configure
 
-   for s in fifo cray_t3e dec_cluster msic_cluster sgi_origin umn_cluster; do
-     substituteInPlace src/scheduler.cc/samples/$s/Makefile.in \
-       --replace "schedprivdir = " "schedprivdir = $out/"
-   done
+    for s in fifo cray_t3e dec_cluster msic_cluster sgi_origin umn_cluster; do
+      substituteInPlace src/scheduler.cc/samples/$s/Makefile.in \
+        --replace "schedprivdir = " "schedprivdir = $out/"
+    done
 
-   for f in $(find ./ -name Makefile.in); do
-     echo patching $f...
-     sed -i $f -e '/PBS_MKDIRS/d' -e '/chmod u+s/d'
-   done
+    for f in $(find ./ -name Makefile.in); do
+      echo patching $f...
+      sed -i $f -e '/PBS_MKDIRS/d' -e '/chmod u+s/d'
+    done
 
+    patchShebangs buildutils
   '';
 
   postInstall = ''
-    mv $out/sbin/* $out/bin/
-    rmdir $out/sbin
     cp -v buildutils/pbs_mkdirs $out/bin/
     cp -v torque.setup $out/bin/
     chmod +x $out/bin/pbs_mkdirs $out/bin/torque.setup
@@ -50,5 +66,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.adaptivecomputing.com/products/open-source/torque;
     description = "Resource management system for submitting and controlling jobs on supercomputers, clusters, and grids";
     platforms = platforms.linux;
+    license = "TORQUEv1.1";
   };
 }
diff --git a/pkgs/servers/diod/default.nix b/pkgs/servers/diod/default.nix
index cfa6e34fa4c..cf81d9b4b9a 100644
--- a/pkgs/servers/diod/default.nix
+++ b/pkgs/servers/diod/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An I/O forwarding server that implements a variant of the 9P protocol";
-    maintainers = with maintainers; [ rnhmjoj rickynils ];
+    maintainers = with maintainers; [ rnhmjoj ];
     platforms   = platforms.linux;
     license     = licenses.gpl2Plus;
   };
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 369bcb5d2cd..af914ae6cd7 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -77,13 +77,13 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # requires root and the net
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://www.isc.org/downloads/bind/;
     description = "Domain name server";
-    license = stdenv.lib.licenses.mpl20;
+    license = licenses.mpl20;
 
-    maintainers = with stdenv.lib.maintainers; [peti];
-    platforms = with stdenv.lib.platforms; unix;
+    maintainers = with maintainers; [ peti globin ];
+    platforms = platforms.unix;
 
     outputsToInstall = [ "out" "dnsutils" "host" ];
   };
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index cd6e3d5a45d..4fa32050c68 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -15,11 +15,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nsd-4.2.0";
+  name = "nsd-4.2.1";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/nsd/${name}.tar.gz";
-    sha256 = "0k57xl3ybdnqjqw9a3dmi7l6qmhkiic6wsghkz08ir809aj1rpsi";
+    sha256 = "07w753lfrmpf2rv0115pak2zqywv57mq6bwzwwmypc4cjsihwz6i";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/dns/powerdns/default.nix b/pkgs/servers/dns/powerdns/default.nix
index d363eb715d6..76c346180cd 100644
--- a/pkgs/servers/dns/powerdns/default.nix
+++ b/pkgs/servers/dns/powerdns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "powerdns";
-  version = "4.1.10";
+  version = "4.1.13";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
-    sha256 = "1iqmrg0dhf39gr2mq9d8r3s5c6yqkb5mm8grbbla5anajbgcyijs";
+    sha256 = "09az5yp5d9wvzw8faifyzsljhmmc8ifm4j70m4n2sr83i9i9rsp7";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 511aff05dea..03f247e3bc5 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -144,6 +144,6 @@ in with py.pkgs; buildPythonApplication rec {
     homepage = https://home-assistant.io/;
     description = "Open-source home automation platform running on Python 3";
     license = licenses.asl20;
-    maintainers = with maintainers; [ f-breidenstein dotlambda ];
+    maintainers = with maintainers; [ f-breidenstein dotlambda globin ];
   };
 }
diff --git a/pkgs/servers/home-assistant/esphome.nix b/pkgs/servers/home-assistant/esphome.nix
index bd657067939..775731babd6 100644
--- a/pkgs/servers/home-assistant/esphome.nix
+++ b/pkgs/servers/home-assistant/esphome.nix
@@ -47,6 +47,6 @@ in python.pkgs.buildPythonApplication rec {
     description = "Make creating custom firmwares for ESP32/ESP8266 super easy";
     homepage = https://esphome.io/;
     license = licenses.mit;
-    maintainers = with maintainers; [ dotlambda ];
+    maintainers = with maintainers; [ dotlambda globin ];
   };
 }
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index c65d3b6de82..13ea1b07265 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -16,6 +16,6 @@ buildPythonPackage rec {
     description = "Polymer frontend for Home Assistant";
     homepage = https://github.com/home-assistant/home-assistant-polymer;
     license = licenses.asl20;
-    maintainers = with maintainers; [ dotlambda ];
+    maintainers = with maintainers; [ dotlambda globin ];
   };
 }
diff --git a/pkgs/servers/http/couchdb/2.0.0.nix b/pkgs/servers/http/couchdb/2.0.0.nix
index 538584e147a..a9d806f9de8 100644
--- a/pkgs/servers/http/couchdb/2.0.0.nix
+++ b/pkgs/servers/http/couchdb/2.0.0.nix
@@ -1,19 +1,20 @@
 { stdenv, fetchurl, erlang, icu, openssl, spidermonkey
-, coreutils, bash, makeWrapper }:
+, coreutils, bash, makeWrapper, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "couchdb";
-  version = "2.3.0";
+  version = "2.3.1";
+
 
   # when updating this, please consider bumping the OTP version
   # in all-packages.nix
   src = fetchurl {
     url = "mirror://apache/couchdb/source/${version}/apache-${pname}-${version}.tar.gz";
-    sha256 = "0lpk64n6fip85j1jz59kq20jdliwv6mh8j2h5zyxjn5i8b86hf0b";
+    sha256 = "0z926hjqyhxhyr65kqxwpmp80nyfqbig6d9dy8dqflpb87n8rss3";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ erlang icu openssl spidermonkey ];
+  buildInputs = [ erlang icu openssl spidermonkey (python3.withPackages(ps: with ps; [ requests ]))];
 
   patches = [ ./jsapi.patch ];
   postPatch = ''
diff --git a/pkgs/servers/http/h2o/default.nix b/pkgs/servers/http/h2o/default.nix
index 2a26af53709..26c320499e5 100644
--- a/pkgs/servers/http/h2o/default.nix
+++ b/pkgs/servers/http/h2o/default.nix
@@ -7,13 +7,13 @@ with builtins;
 
 stdenv.mkDerivation rec {
   pname = "h2o";
-  version = "2.2.5";
+  version = "2.2.6";
 
   src = fetchFromGitHub {
     owner  = "h2o";
     repo   = "h2o";
     rev    = "refs/tags/v${version}";
-    sha256 = "0jyvbp6cjiirj44nxqa2fi5y473gnc8awfn8zv82hb1y9rlxqfyv";
+    sha256 = "0qni676wqvxx0sl0pw9j0ph7zf2krrzqc1zwj73mgpdnsr8rsib7";
   };
 
   # We have to fix up some function prototypes, because despite upstream h2o
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index 7292efd2f71..e74d2f84d62 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -111,6 +111,6 @@ stdenv.mkDerivation {
     homepage    = http://nginx.org;
     license     = licenses.bsd2;
     platforms   = platforms.all;
-    maintainers = with maintainers; [ thoughtpolice raskin fpletz ];
+    maintainers = with maintainers; [ thoughtpolice raskin fpletz globin ];
   };
 }
diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix
index eaa15d4f46b..0c0f118d0b9 100644
--- a/pkgs/servers/http/unit/default.nix
+++ b/pkgs/servers/http/unit/default.nix
@@ -15,14 +15,14 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.9.0";
+  version = "1.10.0";
   pname = "unit";
 
   src = fetchFromGitHub {
     owner = "nginx";
     repo = "unit";
     rev = "${version}";
-    sha256 = "0f7smgshfzksks2jfhi53g87wiyy38vwgj6aa70ql61m135dx7b1";
+    sha256 = "00y7hc6bzn38f9mcqxnzddnwwsiba4ss9vwd9vgc95sj0yvv885a";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/pkgs/servers/icingaweb2/default.nix b/pkgs/servers/icingaweb2/default.nix
index bdfc6d7096b..9cdfd8d2b33 100644
--- a/pkgs/servers/icingaweb2/default.nix
+++ b/pkgs/servers/icingaweb2/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, php }: with lib; stdenv.mkDerivation rec {
   pname = "icingaweb2";
-  version = "2.7.0";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "Icinga";
     repo = "icingaweb2";
     rev = "v${version}";
-    sha256 = "0akz2v9zfdchagnzdqcvzrxyw9bkmg8pp23wwdpwdrw67z2931zj";
+    sha256 = "1awf0j4vlm9v7bsfk5a168446k7pa54yqc0k6phlaw772874g917";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/identd/oidentd/default.nix b/pkgs/servers/identd/oidentd/default.nix
index 8e0395529bc..85d1186f525 100644
--- a/pkgs/servers/identd/oidentd/default.nix
+++ b/pkgs/servers/identd/oidentd/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "oidentd";
-  version = "2.3.2";
+  version = "2.4.0";
   nativeBuildInputs = [ bison flex ];
 
   src = fetchurl {
     url = "https://files.janikrabe.com/pub/oidentd/releases/${version}/${pname}-${version}.tar.gz";
-    sha256 = "10c5jkhirkvm1s4v3zdj4micfi6rkfjj32q4k7wjwh1fnzrwyb5n";
+    sha256 = "132bzlbjp437lrlxv5k9aqa1q9w5pghk02rnazg33cw6av00q2li";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index c70f3d4de61..0299c028148 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jackett";
-  version = "0.11.559";
+  version = "0.11.589";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
-    sha256 = "1ds263q92igvgn0dirl506cmrzy374msaxl1x13gax0i0ggf09mq";
+    sha256 = "14lj33xmhf35pq781wvzyw983yff447mc253x0ppi3b5rwkrgkyz";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 69c1a85760b..780264cf42b 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = https://dovecot.org/;
     description = "Open source IMAP and POP3 email server written with security primarily in mind";
-    maintainers = with stdenv.lib.maintainers; [ peti rickynils fpletz ];
+    maintainers = with stdenv.lib.maintainers; [ peti rickynils fpletz globin ];
     platforms = stdenv.lib.platforms.unix;
   };
   passthru.tests = {
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index ede01bff074..40b37e319c2 100644
--- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     homepage = http://pigeonhole.dovecot.org/;
     description = "A sieve plugin for the Dovecot IMAP server";
     license = licenses.lgpl21;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = with maintainers; [ rickynils globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index 7dc3968139f..fdc2b3fd2c4 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "opensmtpd";
-  version = "6.4.1p2";
+  version = "6.4.2p1";
 
   nativeBuildInputs = [ autoconf automake libtool bison ];
   buildInputs = [ libasr libevent zlib libressl db pam ];
 
   src = fetchurl {
     url = "https://www.opensmtpd.org/archives/${pname}-${version}.tar.gz";
-    sha256 = "0cppqlx4fk6l8rbim5symh2fm1kzshf421256g596j6c9f9q96xn";
+    sha256 = "0pgv080ai7d98l9340jadp9wjiaqj2qvgpqhilcz0kps2mdiawbd";
   };
 
   patches = [
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index c5377247046..39845f12f03 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -96,12 +96,12 @@ in stdenv.mkDerivation rec {
       --prefix PATH ":" ${lib.makeBinPath [ coreutils findutils gnugrep gawk gnused ]}
   '';
 
-  meta = {
+  meta = with lib; {
     homepage = http://www.postfix.org/;
     description = "A fast, easy to administer, and secure mail server";
-    license = with lib.licenses; [ ipl10 epl20 ];
-    platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.rickynils ];
+    license = with licenses; [ ipl10 epl20 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ rickynils globin ];
   };
 
 }
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index f4f2e616dc7..2b3986c412d 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     homepage = https://rspamd.com;
     license = licenses.asl20;
     description = "Advanced spam filtering system";
-    maintainers = with maintainers; [ avnik fpletz ];
+    maintainers = with maintainers; [ avnik fpletz globin ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 07c7f520717..8da9cef58a7 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -23,11 +23,11 @@ let
 
 in buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pr17n52vdq490q6c282nqnn51j5k0lf7mzaazpxjy4q86pxdfy5";
+    sha256 = "1nz9bhy5hraa1h7100vr0innz8npnpha6xr9j2ln7h3cgwv73739";
   };
 
   patches = [
diff --git a/pkgs/servers/meguca/default.nix b/pkgs/servers/meguca/default.nix
index 3318b6fa5ef..326fae6bcf7 100644
--- a/pkgs/servers/meguca/default.nix
+++ b/pkgs/servers/meguca/default.nix
@@ -46,5 +46,7 @@ buildGoPackage rec {
     license = licenses.agpl3Plus;
     maintainers = with maintainers; [ chiiruno ];
     platforms = platforms.all;
+    broken = true; # Broken on Hydra since 2019-04-18:
+    # https://hydra.nixos.org/build/98885902
   };
 }
diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix
index cf4896bf56b..76bd69891c1 100644
--- a/pkgs/servers/metabase/default.nix
+++ b/pkgs/servers/metabase/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://metabase.com";
     license     = licenses.agpl3;
     platforms   = platforms.all;
-    maintainers = with maintainers; [ schneefux thoughtpolice ];
+    maintainers = with maintainers; [ schneefux thoughtpolice mmahut ];
   };
 }
diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/servers/miniflux/default.nix
index 1ebd852380c..1445d0b523c 100644
--- a/pkgs/servers/miniflux/default.nix
+++ b/pkgs/servers/miniflux/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "miniflux";
-  version = "2.0.16";
+  version = "2.0.17";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "09fwhbcpp84l5lw4zizm46ssri6irzvjx2w7507a1xhp6iq73p2d";
+    sha256 = "0bvlsa3ymhdl35bkv2v8lzkbjanyg7y474kbpbabmhwh5lvzgxlm";
   };
 
   modSha256 = "0060px0av7l9x4xgmkci9d8yl4lgxzqrikqagnz0f17a944p9xdr";
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 570dd0ff20e..b4aa12fe80f 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
 
 buildGoPackage rec {
-  version = "6.3.2";
+  version = "6.3.3";
   pname = "grafana";
   goPackagePath = "github.com/grafana/grafana";
 
@@ -11,12 +11,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "03jhygd3h211dr3dgdg4mi13sj1rib333x436kv14v8xd8rsl162";
+    sha256 = "006j39n42l91krd1p87dpan1s7dvjjhpidccpxkic189lwg7fbxs";
   };
 
   srcStatic = fetchurl {
     url = "https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "18khy0ki128mswy4viwbb53904ljrgj0y0qv076nn8m2zbyddyp9";
+    sha256 = "0n4fkzj3bnq3x08vw18a8lqxjggqsy5l2rgk494i87yaf1pa4gpf";
   };
 
   postPatch = ''
@@ -36,8 +36,8 @@ buildGoPackage rec {
   meta = with lib; {
     description = "Gorgeous metric viz, dashboards & editors for Graphite, InfluxDB & OpenTSDB";
     license = licenses.asl20;
-    homepage = https://grafana.org/;
-    maintainers = with maintainers; [ offline fpletz willibutz ];
+    homepage = "https://grafana.com";
+    maintainers = with maintainers; [ offline fpletz willibutz globin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/monitoring/loki/default.nix b/pkgs/servers/monitoring/loki/default.nix
index ed37c7f3987..35de5f231b4 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 = "0.2.0";
+  version = "0.3.0";
   pname = "grafana-loki";
   goPackagePath = "github.com/grafana/loki";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "loki";
-    sha256 = "1f4g5qiarhsa1r7vdx1z30zpqlypd4cf5anj4jp6nc9q6zmjwk91";
+    sha256 = "1b61fqk6ah4qps4nq7ypdax4i7pkhjxdw4qrhc1zvzzhxr7x13rs";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -26,7 +26,7 @@ buildGoPackage rec {
     description = "Like Prometheus, but for logs.";
     license = licenses.asl20;
     homepage = "https://grafana.com/loki";
-    maintainers = with maintainers; [ willibutz ];
+    maintainers = with maintainers; [ willibutz globin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix
index 95e2822d65b..f1dbf0e5144 100644
--- a/pkgs/servers/monitoring/prometheus/alertmanager.nix
+++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "alertmanager";
-  version = "0.16.2";
+  version = "0.18.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/prometheus/alertmanager";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "prometheus";
     repo = "alertmanager";
-    sha256 = "0zjyr9964qxv5fsb17qhmxa1v4z0c7va60n05p9w6j2ah4dmcd8q";
+    sha256 = "17f3a4fiwycpd031k1d9irhd96cklbh2ygs35j5r6hgw2130sy4p";
   };
 
   buildFlagsArray = let t = "${goPackagePath}/vendor/github.com/prometheus/common/version"; in ''
@@ -33,7 +33,7 @@ buildGoPackage rec {
     description = "Alert dispatcher for the Prometheus monitoring system";
     homepage = https://github.com/prometheus/alertmanager;
     license = licenses.asl20;
-    maintainers = with maintainers; [ benley fpletz ];
+    maintainers = with maintainers; [ benley fpletz globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 8806a88693b..627186e47ac 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -37,7 +37,7 @@ in rec {
           description = "Service monitoring system and time series database";
           homepage = https://prometheus.io;
           license = licenses.asl20;
-          maintainers = with maintainers; [ benley fpletz ];
+          maintainers = with maintainers; [ benley fpletz globin ];
           platforms = platforms.unix;
         };
     } // attrs');
@@ -48,7 +48,7 @@ in rec {
   };
 
   prometheus_2 = buildPrometheus {
-    version = "2.11.1";
-    sha256 = "1d4kiv88v1p74cm1wg6wk1cs963xg2rlhkxw86slf9hmldlgww2l";
+    version = "2.12.0";
+    sha256 = "1ci9dc512c1hry1b8jqif0mrnks6w3yagwm3jf69ihcwilr2n7vs";
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
index b01fa0024de..d1cb5dcec9c 100644
--- a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
@@ -19,6 +19,6 @@ buildGoPackage rec {
     inherit (src.meta) homepage;
     description = "A dnsmasq exporter for Prometheus";
     license = licenses.asl20;
-    maintainers = with maintainers; [ willibutz ];
+    maintainers = with maintainers; [ willibutz globin ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix b/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
index 6f6370ce14d..479ff174d11 100644
--- a/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
@@ -19,6 +19,6 @@ buildGoPackage rec {
     inherit (src.meta) homepage;
     description = "Prometheus metrics exporter for Dovecot";
     license = licenses.asl20;
-    maintainers = with maintainers; [ willibutz ];
+    maintainers = with maintainers; [ willibutz globin ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/mail-exporter.nix b/pkgs/servers/monitoring/prometheus/mail-exporter.nix
index 21c6c8da643..947dfc2b70c 100644
--- a/pkgs/servers/monitoring/prometheus/mail-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/mail-exporter.nix
@@ -24,7 +24,7 @@ buildGoPackage rec {
     description = "Export Prometheus-style metrics about mail server functionality";
     homepage = "https://github.com/cherti/mailexporter";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ willibutz ];
+    maintainers = with maintainers; [ willibutz globin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix b/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
index a7934227ffa..f5c438a87dc 100644
--- a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "mysqld_exporter";
-  version = "0.10.0";
+  version = "0.11.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/prometheus/mysqld_exporter";
@@ -11,14 +11,14 @@ buildGoPackage rec {
     inherit rev;
     owner = "prometheus";
     repo = "mysqld_exporter";
-    sha256 = "1133bgyp5vljz2qvfh0qzq8h8bkc8vci3jnmbr633bh3jpaqm2py";
+    sha256 = "1684jf96dy5bs0y0689vlcw82lqw8kw2phlnp6pq1cq56fcwdxjn";
   };
 
   meta = with stdenv.lib; {
     description = "Prometheus exporter for MySQL server metrics";
     homepage = https://github.com/prometheus/mysqld_exporter;
     license = licenses.asl20;
-    maintainers = with maintainers; [ benley ];
+    maintainers = with maintainers; [ benley globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
index c51574610e8..cc527c29ac2 100644
--- a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
@@ -23,7 +23,7 @@ buildGoPackage rec {
     description = "NGINX Prometheus Exporter for NGINX and NGINX Plus";
     homepage = "https://github.com/nginxinc/nginx-prometheus-exporter";
     license = licenses.asl20;
-    maintainers = with maintainers; [ benley fpletz willibutz ];
+    maintainers = with maintainers; [ benley fpletz willibutz globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/node-exporter.nix b/pkgs/servers/monitoring/prometheus/node-exporter.nix
index d0f55226d2f..857a7667c13 100644
--- a/pkgs/servers/monitoring/prometheus/node-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/node-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "node_exporter";
-  version = "0.17.0";
+  version = "0.18.1";
   rev = "v${version}";
 
   goPackagePath = "github.com/prometheus/node_exporter";
@@ -11,17 +11,23 @@ buildGoPackage rec {
     inherit rev;
     owner = "prometheus";
     repo = "node_exporter";
-    sha256 = "08g4dg6zcr95j88apsxp828jfyx4vq271w1mgkf77c46c16d2nh0";
+    sha256 = "0s3sp1gj86p7npxl38hkgs6ymd3wjjmc5hydyg1b5wh0x3yvpx07";
   };
 
   # FIXME: tests fail due to read-only nix store
   doCheck = false;
 
+  buildFlagsArray = ''
+    -ldflags=
+        -X ${goPackagePath}/vendor/github.com/prometheus/common/version.Version=${version}
+        -X ${goPackagePath}/vendor/github.com/prometheus/common/version.Revision=${rev}
+  '';
+
   meta = with stdenv.lib; {
     description = "Prometheus exporter for machine metrics";
     homepage = https://github.com/prometheus/node_exporter;
     license = licenses.asl20;
-    maintainers = with maintainers; [ benley fpletz ];
+    maintainers = with maintainers; [ benley fpletz globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix b/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix
index 5dfada4f55d..5d62ff8c50f 100644
--- a/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix
@@ -20,6 +20,6 @@ buildGoPackage rec {
     inherit (src.meta) homepage;
     description = "Prometheus exporter for OpenVPN";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz globin ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/postfix-exporter.nix b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
index 01d9ec02833..8202a8c8c29 100644
--- a/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
@@ -51,6 +51,6 @@ buildGoPackage rec {
     inherit (src.meta) homepage;
     description = "A Prometheus exporter for Postfix";
     license = licenses.asl20;
-    maintainers = with maintainers; [ willibutz ];
+    maintainers = with maintainers; [ willibutz globin ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
index 57574481cf6..abc7db8086b 100644
--- a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
@@ -19,6 +19,6 @@ buildGoPackage rec {
     inherit (src.meta) homepage;
     description = "A Prometheus exporter for PostgreSQL";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz globin ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix b/pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix
index cd72f98ecfb..5682c3ccd2a 100644
--- a/pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix
+++ b/pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix
@@ -18,7 +18,7 @@ buildGoPackage rec {
     description = "Prometheus exporter that exposes metrics from a Ubiquiti UniFi Controller and UniFi devices";
     homepage = https://github.com/mdlayher/unifi_exporter;
     license = licenses.mit;
-    maintainers = with maintainers; [ bachp ];
+    maintainers = with maintainers; [ bachp globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
index 1b4ffd61ec7..80fe9b2357f 100644
--- a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
@@ -19,6 +19,6 @@ rustPlatform.buildRustPackage rec {
     description = "A Prometheus exporter for WireGuard, written in Rust.";
     license = licenses.mit;
     homepage = https://github.com/MindFlavor/prometheus_wireguard_exporter;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ma27 globin ];
   };
 }
diff --git a/pkgs/servers/monitoring/riemann/default.nix b/pkgs/servers/monitoring/riemann/default.nix
index 9de6e6923e3..d5272e9b08a 100644
--- a/pkgs/servers/monitoring/riemann/default.nix
+++ b/pkgs/servers/monitoring/riemann/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     description = "A network monitoring system";
     license = licenses.epl10;
     platforms = platforms.all;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = [];
   };
 }
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index b3adb4007f4..69b1f28d2d6 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nextcloud";
-  version = "16.0.3";
+  version = "16.0.4";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${pname}-${version}.tar.bz2";
-    sha256 = "1ww1517i05gaf71szx0qpdc87aczllcb39cvc8c26dm18z76hgx1";
+    sha256 = "1l7ckzyqz7g4ny8s2q4xal72p57ldfjs947sk2ya2df93qjh0qz0";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix
index ff4a7f07ec0..bc1aee8a687 100644
--- a/pkgs/servers/nosql/eventstore/default.nix
+++ b/pkgs/servers/nosql/eventstore/default.nix
@@ -16,13 +16,13 @@ in
 stdenv.mkDerivation rec {
 
   pname = "EventStore";
-  version = "5.0.0";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "EventStore";
     repo = "EventStore";
     rev = "oss-v${version}";
-    sha256 = "1qdnkaxiryyz8yhwqncmshsg8wi4v69dcxnvgvl4hn81zsj6fasw";
+    sha256 = "0hjc64lmi9x1sq8zk24iag14k424l72g1n4z7wf7gaygd07kx9k8";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 94c58096f16..a396280e5ae 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     description = "An open source, advanced key-value store";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    maintainers = [ maintainers.berdario ];
+    maintainers = with maintainers; [ berdario globin ];
   };
 }
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
index e000eb8ba4d..63c1b3b5fd7 100644
--- a/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -61,5 +61,6 @@ stdenv.mkDerivation rec {
     license     = stdenv.lib.licenses.agpl3;
     platforms   = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ thoughtpolice bluescreen303 ];
+    broken = true;  # broken with openssl 1.1
   };
 }
diff --git a/pkgs/servers/openxpki/default.nix b/pkgs/servers/openxpki/default.nix
index 05ee7f34352..7bd0ee2eede 100644
--- a/pkgs/servers/openxpki/default.nix
+++ b/pkgs/servers/openxpki/default.nix
@@ -78,5 +78,6 @@ perlPackages.buildPerlPackage {
     license = stdenv.lib.licenses.asl20;
     maintainers = with stdenv.lib.maintainers; [ tstrobel ];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;  # broken with openssl 1.1 (v2.x might fix this)
   };
 }
diff --git a/pkgs/servers/rainloop/default.nix b/pkgs/servers/rainloop/default.nix
index 76f3ded7808..80714734214 100644
--- a/pkgs/servers/rainloop/default.nix
+++ b/pkgs/servers/rainloop/default.nix
@@ -2,7 +2,7 @@
   common = { edition, sha256 }:
     stdenv.mkDerivation (rec {
       name = "rainloop-${edition}-${version}";
-      version = "1.12.1";
+      version = "1.13.0";
 
       buildInputs = [ unzip ];
 
@@ -35,7 +35,7 @@
   in {
     rainloop-community = common {
       edition = "community";
-      sha256 = "06w1vxqpcj2j8dzzjqh6azala8l46hzy85wcvqbjdlj5w789jzsx";
+      sha256 = "1skwq6bn98142xf8r77b818fy00nb4x0s1ii3mw5849ih94spx40";
     };
     rainloop-standard = common {
       edition = "";
diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix
index a490acb1f73..0b774a4b5ad 100644
--- a/pkgs/servers/roundcube/default.nix
+++ b/pkgs/servers/roundcube/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Open Source Webmail Software";
-    maintainers = with stdenv.lib.maintainers; [ vskilet ];
+    maintainers = with stdenv.lib.maintainers; [ vskilet globin ];
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
index cf7caed3984..9fd49e96fa2 100644
--- a/pkgs/servers/search/groonga/default.nix
+++ b/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   pname = "groonga";
-  version = "9.0.5";
+  version = "9.0.6";
 
   src = fetchurl {
     url    = "https://packages.groonga.org/source/groonga/${pname}-${version}.tar.gz";
-    sha256 = "15y5dddvziw9lbl24z4j5yf1ibv79bn052lmx08rbxh78777csw3";
+    sha256 = "0d1p8v7qd97h3znp84a1w40hbg834n3wxp6gaa8mbnff16s18kl7";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/servers/search/solr/8.x.nix b/pkgs/servers/search/solr/8.x.nix
index 48f5847b111..fd888de60de 100644
--- a/pkgs/servers/search/solr/8.x.nix
+++ b/pkgs/servers/search/solr/8.x.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "Open source enterprise search platform from the Apache Lucene project";
     license = licenses.asl20;
     platforms = platforms.all;
-    maintainers = with maintainers; [ rickynils domenkozar aanderse ];
+    maintainers = with maintainers; [ domenkozar aanderse ];
   };
 
 }
diff --git a/pkgs/servers/search/solr/default.nix b/pkgs/servers/search/solr/default.nix
index ddd46299a9c..c94b11c91dd 100644
--- a/pkgs/servers/search/solr/default.nix
+++ b/pkgs/servers/search/solr/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "Open source enterprise search platform from the Apache Lucene project";
     license = licenses.asl20;
     platforms = platforms.all;
-    maintainers = [ maintainers.rickynils maintainers.domenkozar maintainers.aanderse ];
+    maintainers = [ maintainers.domenkozar maintainers.aanderse ];
   };
 
 }
diff --git a/pkgs/servers/sickbeard/sickrage.nix b/pkgs/servers/sickbeard/sickrage.nix
index 6ee119520b4..f4a37f85c6c 100644
--- a/pkgs/servers/sickbeard/sickrage.nix
+++ b/pkgs/servers/sickbeard/sickrage.nix
@@ -29,6 +29,6 @@ python2.pkgs.buildPythonApplication rec {
     longDescription = "It watches for new episodes of your favorite shows, and when they are posted it does its magic.";
     license     = licenses.gpl3;
     homepage    = https://sickrage.github.io;
-    maintainers = [ "sterfield@gmail.com" ];
+    maintainers = with maintainers; [ sterfield ];
   };
 }
diff --git a/pkgs/servers/sks/default.nix b/pkgs/servers/sks/default.nix
index b6a24e94ee0..12a52c2641d 100644
--- a/pkgs/servers/sks/default.nix
+++ b/pkgs/servers/sks/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ primeos fpletz ];
+    maintainers = with maintainers; [ primeos fpletz globin ];
   };
 }
 
diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix
index afaa8edcc14..7b80b021bde 100644
--- a/pkgs/servers/sonarr/default.nix
+++ b/pkgs/servers/sonarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sonarr";
-  version = "2.0.0.5322";
+  version = "2.0.0.5338";
 
   src = fetchurl {
     url = "https://download.sonarr.tv/v2/master/mono/NzbDrone.master.${version}.mono.tar.gz";
-    sha256 = "0vwljxnlrrssbdzxqq4yr93v323gr3x6jmg30gki58anf012q9pw";
+    sha256 = "05l7l4d1765m01c14iz8lcr61dnm4xd5p09sns4w8wmanks9jg3x";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/sql/pgpool/default.nix b/pkgs/servers/sql/pgpool/default.nix
index 6a9423bc4e4..32c30836f6d 100644
--- a/pkgs/servers/sql/pgpool/default.nix
+++ b/pkgs/servers/sql/pgpool/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "pgpool-II";
-  version = "4.0.5";
+  version = "4.0.6";
 
   src = fetchurl {
     name = "${pname}-${version}.tar.gz";
     url = "http://www.pgpool.net/download.php?f=${pname}-${version}.tar.gz";
-    sha256 = "0v2g2ksikn10kxsa8i47gv0kbklrsscvlddza3caf522q1k0fic4";
+    sha256 = "0blmbqczyrgzykby2z3xzmhzd8kgij9izxv50n5cjn5azf7dn8g5";
   };
 
   patches = [ ./pgpool.patch ];
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index ca3c3af74f2..5dcbe5106d6 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -3,7 +3,7 @@ let
   generic =
       # dependencies
       { stdenv, lib, fetchurl, makeWrapper
-      , glibc, zlib, readline, openssl, icu, systemd, libossp_uuid
+      , glibc, zlib, readline, openssl, openssl_1_0_2, icu, systemd, libossp_uuid
       , pkgconfig, libxml2, tzdata
 
       # This is important to obtain a version of `libpq` that does not depend on systemd.
@@ -32,9 +32,10 @@ let
     setOutputFlags = false; # $out retains configureFlags :-/
 
     buildInputs =
-      [ zlib readline openssl libxml2 makeWrapper ]
+      [ zlib readline libxml2 makeWrapper ]
       ++ lib.optionals icuEnabled [ icu ]
       ++ lib.optionals enableSystemd [ systemd ]
+      ++ [ (if atLeast "9.5" then openssl else openssl_1_0_2) ]
       ++ lib.optionals (!stdenv.isDarwin) [ libossp_uuid ];
 
     nativeBuildInputs = lib.optionals icuEnabled [ pkgconfig ];
@@ -133,7 +134,7 @@ let
       homepage    = https://www.postgresql.org;
       description = "A powerful, open source object-relational database system";
       license     = licenses.postgresql;
-      maintainers = with maintainers; [ ocharles thoughtpolice danbst ];
+      maintainers = with maintainers; [ ocharles thoughtpolice danbst globin ];
       platforms   = platforms.unix;
       knownVulnerabilities = optional (!atLeast "9.4")
         "PostgreSQL versions older than 9.4 are not maintained anymore!";
diff --git a/pkgs/servers/sql/postgresql/ext/cstore_fdw.nix b/pkgs/servers/sql/postgresql/ext/cstore_fdw.nix
index 71fe9a72b56..8e30683737d 100644
--- a/pkgs/servers/sql/postgresql/ext/cstore_fdw.nix
+++ b/pkgs/servers/sql/postgresql/ext/cstore_fdw.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
-    mkdir -p $out/{lib,share/extension}
+    mkdir -p $out/{lib,share/postgresql/extension}
 
     cp *.so      $out/lib
     cp *.sql     $out/share/postgresql/extension
diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
index f37e347e89a..ae72b164b84 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
@@ -1,8 +1,5 @@
 { stdenv, fetchFromGitHub, postgresql, openssl, zlib, readline }:
 
-if stdenv.lib.versionOlder postgresql.version "10"
-then throw "pg_auto_failover not supported for PostgreSQL ${postgresql.version}"
-else
 stdenv.mkDerivation rec {
   pname = "pg_auto_failover";
   version = "1.0.3";
@@ -29,5 +26,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.marsam ];
     platforms = postgresql.meta.platforms;
     license = licenses.postgresql;
+    broken = versionOlder postgresql.version "10";
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/pg_bigm.nix b/pkgs/servers/sql/postgresql/ext/pg_bigm.nix
index a8e5a54bc29..055d1de3c78 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_bigm.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_bigm.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin    # For buildEnv to setup proper symlinks. See #22653
-    mkdir -p $out/{lib,share/extension}
+    mkdir -p $out/{lib,share/postgresql/extension}
 
     cp *.so      $out/lib
     cp *.sql     $out/share/postgresql/extension
diff --git a/pkgs/servers/sql/postgresql/ext/pg_cron.nix b/pkgs/servers/sql/postgresql/ext/pg_cron.nix
index d2d2a00ffd5..15d67017189 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_cron.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_cron.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
-    mkdir -p $out/{lib,share/extension}
+    mkdir -p $out/{lib,share/postgresql/extension}
 
     cp *.so      $out/lib
     cp *.sql     $out/share/postgresql/extension
diff --git a/pkgs/servers/sql/postgresql/ext/pg_hll.nix b/pkgs/servers/sql/postgresql/ext/pg_hll.nix
index c7978aa6860..9a61e3c835d 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_hll.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_hll.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
-    mkdir -p $out/{lib,share/extension}
+    mkdir -p $out/{lib,share/postgresql/extension}
 
     cp *.so      $out/lib
     cp *.sql     $out/share/postgresql/extension
diff --git a/pkgs/servers/sql/postgresql/ext/pg_partman.nix b/pkgs/servers/sql/postgresql/ext/pg_partman.nix
index 38e86fbfd8d..5fbe757598c 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_partman.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_partman.nix
@@ -14,8 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
-    mkdir -p $out/bin    # For buildEnv to setup proper symlinks. See #22653
-    mkdir -p $out/{lib,share/extension}
+    mkdir -p $out/{lib,share/postgresql/extension}
 
     cp src/*.so      $out/lib
     cp updates/*     $out/share/postgresql/extension
diff --git a/pkgs/servers/sql/postgresql/ext/pg_topn.nix b/pkgs/servers/sql/postgresql/ext/pg_topn.nix
index e25a6d0d54f..c368929db5d 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_topn.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_topn.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
-    mkdir -p $out/{lib,share/extension}
+    mkdir -p $out/{lib,share/postgresql/extension}
 
     cp *.so      $out/lib
     cp *.sql     $out/share/postgresql/extension
diff --git a/pkgs/servers/sql/postgresql/ext/pipelinedb.nix b/pkgs/servers/sql/postgresql/ext/pipelinedb.nix
index 01dcd54d95e..4a80e5cafcb 100644
--- a/pkgs/servers/sql/postgresql/ext/pipelinedb.nix
+++ b/pkgs/servers/sql/postgresql/ext/pipelinedb.nix
@@ -1,8 +1,5 @@
 { stdenv, fetchFromGitHub, postgresql, zeromq, openssl }:
 
-if stdenv.lib.versionOlder postgresql.version "10"
-then throw "PipelineDB not supported for PostgreSQL ${postgresql.version}"
-else
 stdenv.mkDerivation rec {
   pname = "pipelinedb";
   version = "1.0.0-13";
@@ -35,5 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     platforms = postgresql.meta.platforms;
     maintainers = [ maintainers.marsam ];
+    broken = versionOlder postgresql.version "10";
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
index 3a4e0cba602..590d46b430e 100644
--- a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
+++ b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.steve-chavez ];
     platforms   = postgresql.meta.platforms;
     license     = licenses.postgresql;
+    broken = versionAtLeast postgresql.version "11.0";
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/temporal_tables.nix b/pkgs/servers/sql/postgresql/ext/temporal_tables.nix
index ac0299208f8..7a4b1ed88fc 100644
--- a/pkgs/servers/sql/postgresql/ext/temporal_tables.nix
+++ b/pkgs/servers/sql/postgresql/ext/temporal_tables.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
-    mkdir -p $out/{bin,lib,share/extension}
+    mkdir -p $out/{lib,share/postgresql/extension}
 
     cp *.so      $out/lib
     cp *.sql     $out/share/postgresql/extension
diff --git a/pkgs/servers/squid/4.nix b/pkgs/servers/squid/4.nix
deleted file mode 100644
index 69a46533ba5..00000000000
--- a/pkgs/servers/squid/4.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchurl, perl, openldap, pam, db, cyrus_sasl, libcap
-, expat, libxml2, openssl }:
-
-stdenv.mkDerivation rec {
-  name = "squid-4.8";
-
-  src = fetchurl {
-    url = "http://www.squid-cache.org/Versions/v4/${name}.tar.xz";
-    sha256 = "0432m0ix046rkja7r7qpydgsm2kf1w393xym15nx6h9kv4jb7kbq";
-  };
-
-  buildInputs = [
-    perl openldap db cyrus_sasl expat libxml2 openssl
-  ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap pam ];
-
-  prePatch = ''
-    substituteInPlace configure --replace "/usr/local/include/libxml2" "${libxml2.dev}/include/libxml2"
-  '';
-
-  configureFlags = [
-    "--enable-ipv6"
-    "--disable-strict-error-checking"
-    "--disable-arch-native"
-    "--with-openssl"
-    "--enable-ssl-crtd"
-    "--enable-storeio=ufs,aufs,diskd,rock"
-    "--enable-removal-policies=lru,heap"
-    "--enable-delay-pools"
-    "--enable-x-accelerator-vary"
-  ] ++ stdenv.lib.optional (stdenv.isLinux && !stdenv.hostPlatform.isMusl) "--enable-linux-netfilter";
-
-  meta = with stdenv.lib; {
-    description = "A caching proxy for the Web supporting HTTP, HTTPS, FTP, and more";
-    homepage = http://www.squid-cache.org;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz raskin ];
-  };
-}
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index fde29dc7e80..72a7fff7c47 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -1,22 +1,16 @@
 { stdenv, fetchurl, perl, openldap, pam, db, cyrus_sasl, libcap
-, expat, libxml2, openssl, fetchpatch }:
+, expat, libxml2, openssl, pkgconfig
+}:
 
 stdenv.mkDerivation rec {
-  name = "squid-3.5.28";
+  name = "squid-4.8";
 
   src = fetchurl {
-    url = "http://www.squid-cache.org/Versions/v3/3.5/${name}.tar.xz";
-    sha256 = "1n4f55g56b11qz4fazrnvgzx5wp6b6637c4qkbd1lrjwwqibchgx";
+    url = "http://www.squid-cache.org/Versions/v4/${name}.tar.xz";
+    sha256 = "0432m0ix046rkja7r7qpydgsm2kf1w393xym15nx6h9kv4jb7kbq";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "3.5-CVE-2019-13345.patch";
-      url = "https://github.com/squid-cache/squid/commit/5730c2b5cb56e7639dc423dd62651c8736a54e35.patch";
-      sha256 = "0955432g9a00vwxzcrwpjzx6vywspx1cxhr7bknr7jzbzam5sxi3";
-    })
-  ];
-
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     perl openldap db cyrus_sasl expat libxml2 openssl
   ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap pam ];
@@ -38,6 +32,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.squid-cache.org;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz raskin ];
   };
 }
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index c740e003694..1707eb403b7 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "traefik";
-  version = "1.7.12";
+  version = "1.7.14";
 
   goPackagePath = "github.com/containous/traefik";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "containous";
     repo = "traefik";
     rev = "v${version}";
-    sha256 = "1nrr0a0ibrd346i6jdxzvbgj5frcrwwm2rk3c6fpck42a6mw6plz";
+    sha256 = "1j3p09j8rpdkp8v4d4mz224ddakkvhzchvccm9qryrqc2fq4022v";
   };
 
   buildInputs = [ go-bindata bash ];
diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix
index fc7d104a480..84b7b325b46 100644
--- a/pkgs/servers/trezord/default.nix
+++ b/pkgs/servers/trezord/default.nix
@@ -20,7 +20,7 @@ buildGoPackage rec {
     description = "TREZOR Communication Daemon aka TREZOR Bridge";
     homepage = "https://trezor.io";
     license = licenses.lgpl3;
-    maintainers = with maintainers; [ canndrew jb55 "1000101" prusnak mmahut ];
+    maintainers = with maintainers; [ canndrew jb55 prusnak mmahut maintainers."1000101" ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/ttyd/default.nix b/pkgs/servers/ttyd/default.nix
index 720d277d0d2..3358973fc4e 100644
--- a/pkgs/servers/ttyd/default.nix
+++ b/pkgs/servers/ttyd/default.nix
@@ -5,22 +5,16 @@
 
 with builtins;
 
-let
-  # ttyd hasn't seen a release in quite a while. remove all this
-  # junk when a new one happens (eventually)
-  revCount = 174;
+stdenv.mkDerivation rec {
+  pname = "ttyd";
+  version = "1.5.2";
   src = fetchFromGitHub {
-    owner  = "tsl0922";
-    repo   = "ttyd";
-    rev    = "6df6ac3e03b705ddd46109c2ac43a1cba439c0df";
-    sha256 = "0g5jlfa7k6qd59ysdagczlhwgjfjspb3sfbd8b790hcil933qrxm";
+    owner = "tsl0922";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    sha256 = "16nngc3dqrsgpapzvl34c0msgdd1fyp3k8r1jj1m9bch6z2p50bl";
   };
 
-in stdenv.mkDerivation rec {
-  pname = "ttyd";
-  version = "1.4.2_pre${toString revCount}_${substring 0 8 src.rev}";
-  inherit src;
-
   nativeBuildInputs = [ pkgconfig cmake xxd ];
   buildInputs = [ openssl libwebsockets json_c libuv ];
   enableParallelBuilding = true;
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index b0fa2861dbc..eb7a072799d 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -36,24 +36,26 @@ let
       description = "Controller for Ubiquiti UniFi access points";
       license = licenses.unfree;
       platforms = platforms.unix;
-      maintainers = with maintainers; [ erictapen ];
+      maintainers = with maintainers; [ erictapen globin ];
     };
   };
 
 in rec {
 
-  # https://help.ubnt.com/hc/en-us/articles/115000441548-UniFi-Current-Controller-Versions
+  # https://community.ui.com/releases / https://www.ui.com/download/unifi
+  # Outdated FAQ: https://help.ubnt.com/hc/en-us/articles/115000441548-UniFi-Current-Controller-Versions
 
   unifiLTS = generic {
     version = "5.6.42";
-    sha256  = "0wxkv774pw43c15jk0sg534l5za4j067nr85r5fw58iar3w2l84x";
+    sha256 = "0wxkv774pw43c15jk0sg534l5za4j067nr85r5fw58iar3w2l84x";
   };
 
   unifiStable = generic {
-    version = "5.10.25";
-    sha256  = "1v03r7qd09s6lz37wwlsrqiy1jcwxnvj1q87jwpmhdipjprcjfdx";
+    version = "5.11.39";
+    sha256 = "0v1gnvdazxa3bcbq8hl6796yw0mxzki2xn4s5im5k5ngmfmnswyj";
   };
 
+  # TODO: update as it is outdated
   unifiTesting = generic {
     version = "5.11.18";
     suffix = "-996baf2ca5";
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index 76efdc31705..85fa6cd8006 100644
--- a/pkgs/servers/uwsgi/default.nix
+++ b/pkgs/servers/uwsgi/default.nix
@@ -95,7 +95,7 @@ stdenv.mkDerivation rec {
     homepage = https://uwsgi-docs.readthedocs.org/en/latest/;
     description = "A fast, self-healing and developer/sysadmin-friendly application container server coded in pure C";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ abbradar schneefux ];
+    maintainers = with maintainers; [ abbradar schneefux globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/web-apps/codimd/default.nix b/pkgs/servers/web-apps/codimd/default.nix
index 2be8a3f5d68..ab4065597ae 100644
--- a/pkgs/servers/web-apps/codimd/default.nix
+++ b/pkgs/servers/web-apps/codimd/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchFromGitHub, fetchpatch, makeWrapper
-, which, nodejs, yarn2nix, python2, phantomjs2 }:
+, which, nodejs, yarn2nix, python2 }:
 
 yarn2nix.mkYarnPackage rec {
   name = "codimd";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner  = "codimd";
     repo   = "server";
     rev    = version;
-    sha256 = "0cljgc056p19pjzphwkcfbvgp642w3r6p626w2fl6m5kdk78qd1g";
+    sha256 = "1sd7r5ws1k7dxmr57m67c1k23pzbkn25k2wvcnbrqn7gza6mhlf0";
   };
 
   nativeBuildInputs = [ which makeWrapper ];
-  extraBuildInputs = [ python2 phantomjs2 ];
+  extraBuildInputs = [ python2 ];
 
   yarnNix = ./yarn.nix;
   yarnLock = ./yarn.lock;
@@ -45,10 +45,6 @@ yarn2nix.mkYarnPackage rec {
     unset OLD_HOME
     popd
 
-    pushd node_modules/phantomjs-prebuilt
-    npm run install
-    popd
-
     npm run build
 
     runHook postBuild
@@ -77,7 +73,7 @@ yarn2nix.mkYarnPackage rec {
     description = "Realtime collaborative markdown notes on all platforms";
     license = licenses.agpl3;
     homepage = "https://github.com/codimd/server";
-    maintainers = with maintainers; [ willibutz ma27 ];
+    maintainers = with maintainers; [ willibutz ma27 globin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/web-apps/codimd/package.json b/pkgs/servers/web-apps/codimd/package.json
index c189f0477bf..172822a26b3 100644
--- a/pkgs/servers/web-apps/codimd/package.json
+++ b/pkgs/servers/web-apps/codimd/package.json
@@ -1,12 +1,12 @@
 {
   "name": "CodiMD",
-  "version": "1.4.0",
+  "version": "1.5.0",
   "description": "Realtime collaborative markdown notes on all platforms.",
   "main": "app.js",
   "license": "AGPL-3.0",
   "scripts": {
     "test": "npm run-script eslint && npm run-script jsonlint && npm run-script mocha-suite",
-    "eslint": "node_modules/.bin/eslint lib public test app.js",
+    "eslint": "node_modules/.bin/eslint --max-warnings 0 lib public test app.js",
     "jsonlint": "find . -not -path './node_modules/*' -type f -name '*.json' -o -type f -name '*.json.example' | while read json; do echo $json ; jq . $json; done",
     "mocha-suite": "NODE_ENV=test CMD_DB_URL=\"sqlite::memory:\" mocha --exit",
     "standard": "echo 'standard is no longer being used, use `npm run eslint` instead!' && exit 1",
@@ -31,7 +31,7 @@
     "codemirror": "git+https://github.com/hackmdio/CodeMirror.git",
     "compression": "^1.6.2",
     "connect-flash": "^0.1.1",
-    "connect-session-sequelize": "^4.1.0",
+    "connect-session-sequelize": "^6.0.0",
     "cookie": "0.3.1",
     "cookie-parser": "1.4.3",
     "deep-freeze": "^0.0.1",
@@ -81,14 +81,14 @@
     "markdown-pdf": "^9.0.0",
     "mathjax": "~2.7.0",
     "mattermost": "^3.4.0",
-    "mermaid": "~7.1.0",
-    "meta-marked": "git+https://github.com/codimd/meta-marked#semver:^0.4.2",
+    "mermaid": "~8.2.3",
+    "meta-marked": "git+https://github.com/codimd/meta-marked#semver:^0.4.5",
     "method-override": "^2.3.7",
     "minimist": "^1.2.0",
     "minio": "^6.0.0",
     "moment": "^2.17.1",
     "morgan": "^1.7.0",
-    "mysql": "^2.12.0",
+    "mysql2": "^1.6.5",
     "passport": "^0.4.0",
     "passport-dropbox-oauth2": "^1.1.0",
     "passport-facebook": "^2.1.1",
@@ -113,8 +113,7 @@
     "scrypt-async": "^2.0.1",
     "scrypt-kdf": "^2.0.1",
     "select2": "^3.5.2-browserify",
-    "sequelize": "^3.28.0",
-    "sequelize-cli": "^2.5.1",
+    "sequelize": "^5.8.12",
     "shortid": "2.2.8",
     "socket.io": "~2.1.1",
     "socket.io-client": "~2.1.1",
@@ -195,6 +194,7 @@
     "mock-require": "^3.0.3",
     "optimize-css-assets-webpack-plugin": "^5.0.0",
     "script-loader": "^0.7.2",
+    "sequelize-cli": "^5.4.0",
     "string-loader": "^0.0.1",
     "style-loader": "^0.21.0",
     "uglifyjs-webpack-plugin": "^1.2.7",
diff --git a/pkgs/servers/web-apps/codimd/yarn.lock b/pkgs/servers/web-apps/codimd/yarn.lock
index 3b7e3f02b1e..7c9d4997d79 100644
--- a/pkgs/servers/web-apps/codimd/yarn.lock
+++ b/pkgs/servers/web-apps/codimd/yarn.lock
@@ -9,6 +9,228 @@
   dependencies:
     "@babel/highlight" "^7.0.0"
 
+"@babel/code-frame@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
+  integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
+  dependencies:
+    "@babel/highlight" "^7.0.0"
+
+"@babel/core@^7.1.2":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30"
+  integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==
+  dependencies:
+    "@babel/code-frame" "^7.5.5"
+    "@babel/generator" "^7.5.5"
+    "@babel/helpers" "^7.5.5"
+    "@babel/parser" "^7.5.5"
+    "@babel/template" "^7.4.4"
+    "@babel/traverse" "^7.5.5"
+    "@babel/types" "^7.5.5"
+    convert-source-map "^1.1.0"
+    debug "^4.1.0"
+    json5 "^2.1.0"
+    lodash "^4.17.13"
+    resolve "^1.3.2"
+    semver "^5.4.1"
+    source-map "^0.5.0"
+
+"@babel/generator@^7.1.3", "@babel/generator@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf"
+  integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==
+  dependencies:
+    "@babel/types" "^7.5.5"
+    jsesc "^2.5.1"
+    lodash "^4.17.13"
+    source-map "^0.5.0"
+    trim-right "^1.0.1"
+
+"@babel/helper-annotate-as-pure@^7.0.0":
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"
+  integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==
+  dependencies:
+    "@babel/types" "^7.0.0"
+
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0":
+  version "7.1.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f"
+  integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==
+  dependencies:
+    "@babel/helper-explode-assignable-expression" "^7.1.0"
+    "@babel/types" "^7.0.0"
+
+"@babel/helper-builder-react-jsx@^7.3.0":
+  version "7.3.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4"
+  integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==
+  dependencies:
+    "@babel/types" "^7.3.0"
+    esutils "^2.0.0"
+
+"@babel/helper-call-delegate@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43"
+  integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==
+  dependencies:
+    "@babel/helper-hoist-variables" "^7.4.4"
+    "@babel/traverse" "^7.4.4"
+    "@babel/types" "^7.4.4"
+
+"@babel/helper-create-class-features-plugin@^7.4.4", "@babel/helper-create-class-features-plugin@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz#401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4"
+  integrity sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg==
+  dependencies:
+    "@babel/helper-function-name" "^7.1.0"
+    "@babel/helper-member-expression-to-functions" "^7.5.5"
+    "@babel/helper-optimise-call-expression" "^7.0.0"
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/helper-replace-supers" "^7.5.5"
+    "@babel/helper-split-export-declaration" "^7.4.4"
+
+"@babel/helper-define-map@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369"
+  integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==
+  dependencies:
+    "@babel/helper-function-name" "^7.1.0"
+    "@babel/types" "^7.5.5"
+    lodash "^4.17.13"
+
+"@babel/helper-explode-assignable-expression@^7.1.0":
+  version "7.1.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6"
+  integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==
+  dependencies:
+    "@babel/traverse" "^7.1.0"
+    "@babel/types" "^7.0.0"
+
+"@babel/helper-function-name@^7.1.0":
+  version "7.1.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53"
+  integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==
+  dependencies:
+    "@babel/helper-get-function-arity" "^7.0.0"
+    "@babel/template" "^7.1.0"
+    "@babel/types" "^7.0.0"
+
+"@babel/helper-get-function-arity@^7.0.0":
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
+  integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==
+  dependencies:
+    "@babel/types" "^7.0.0"
+
+"@babel/helper-hoist-variables@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a"
+  integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==
+  dependencies:
+    "@babel/types" "^7.4.4"
+
+"@babel/helper-member-expression-to-functions@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590"
+  integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==
+  dependencies:
+    "@babel/types" "^7.5.5"
+
+"@babel/helper-module-imports@^7.0.0":
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d"
+  integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==
+  dependencies:
+    "@babel/types" "^7.0.0"
+
+"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a"
+  integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==
+  dependencies:
+    "@babel/helper-module-imports" "^7.0.0"
+    "@babel/helper-simple-access" "^7.1.0"
+    "@babel/helper-split-export-declaration" "^7.4.4"
+    "@babel/template" "^7.4.4"
+    "@babel/types" "^7.5.5"
+    lodash "^4.17.13"
+
+"@babel/helper-optimise-call-expression@^7.0.0":
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5"
+  integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==
+  dependencies:
+    "@babel/types" "^7.0.0"
+
+"@babel/helper-plugin-utils@^7.0.0":
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
+  integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==
+
+"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351"
+  integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==
+  dependencies:
+    lodash "^4.17.13"
+
+"@babel/helper-remap-async-to-generator@^7.1.0":
+  version "7.1.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f"
+  integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.0.0"
+    "@babel/helper-wrap-function" "^7.1.0"
+    "@babel/template" "^7.1.0"
+    "@babel/traverse" "^7.1.0"
+    "@babel/types" "^7.0.0"
+
+"@babel/helper-replace-supers@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2"
+  integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==
+  dependencies:
+    "@babel/helper-member-expression-to-functions" "^7.5.5"
+    "@babel/helper-optimise-call-expression" "^7.0.0"
+    "@babel/traverse" "^7.5.5"
+    "@babel/types" "^7.5.5"
+
+"@babel/helper-simple-access@^7.1.0":
+  version "7.1.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c"
+  integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==
+  dependencies:
+    "@babel/template" "^7.1.0"
+    "@babel/types" "^7.0.0"
+
+"@babel/helper-split-export-declaration@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677"
+  integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==
+  dependencies:
+    "@babel/types" "^7.4.4"
+
+"@babel/helper-wrap-function@^7.1.0", "@babel/helper-wrap-function@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa"
+  integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==
+  dependencies:
+    "@babel/helper-function-name" "^7.1.0"
+    "@babel/template" "^7.1.0"
+    "@babel/traverse" "^7.1.0"
+    "@babel/types" "^7.2.0"
+
+"@babel/helpers@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e"
+  integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==
+  dependencies:
+    "@babel/template" "^7.4.4"
+    "@babel/traverse" "^7.5.5"
+    "@babel/types" "^7.5.5"
+
 "@babel/highlight@^7.0.0":
   version "7.0.0"
   resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
@@ -18,6 +240,716 @@
     esutils "^2.0.2"
     js-tokens "^4.0.0"
 
+"@babel/parser@7.1.3":
+  version "7.1.3"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.3.tgz#2c92469bac2b7fbff810b67fca07bd138b48af77"
+  integrity sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==
+
+"@babel/parser@^7.4.4", "@babel/parser@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b"
+  integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==
+
+"@babel/plugin-proposal-async-generator-functions@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e"
+  integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/helper-remap-async-to-generator" "^7.1.0"
+    "@babel/plugin-syntax-async-generators" "^7.2.0"
+
+"@babel/plugin-proposal-class-properties@^7.1.0":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz#a974cfae1e37c3110e71f3c6a2e48b8e71958cd4"
+  integrity sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.5.5"
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-proposal-decorators@^7.1.2":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz#de9b2a1a8ab0196f378e2a82f10b6e2a36f21cc0"
+  integrity sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.4.4"
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-decorators" "^7.2.0"
+
+"@babel/plugin-proposal-do-expressions@^7.0.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.5.0.tgz#ceb594d4a618545b00aa0b5cd61cad4aaaeb7a5a"
+  integrity sha512-xe0QQrhm+DGj6H23a6XtwkJNimy1fo71O/YVBfrfvfSl0fsq9T9dfoQBIY4QceEIdUo7u9s7OPEdsWEuizfGeg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-do-expressions" "^7.2.0"
+
+"@babel/plugin-proposal-dynamic-import@^7.5.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz#e532202db4838723691b10a67b8ce509e397c506"
+  integrity sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-dynamic-import" "^7.2.0"
+
+"@babel/plugin-proposal-export-default-from@^7.0.0":
+  version "7.5.2"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.5.2.tgz#2c0ac2dcc36e3b2443fead2c3c5fc796fb1b5145"
+  integrity sha512-wr9Itk05L1/wyyZKVEmXWCdcsp/e185WUNl6AfYZeEKYaUPPvHXRDqO5K1VH7/UamYqGJowFRuCv30aDYZawsg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-export-default-from" "^7.2.0"
+
+"@babel/plugin-proposal-export-namespace-from@^7.0.0":
+  version "7.5.2"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.5.2.tgz#ccd5ed05b06d700688ff1db01a9dd27155e0d2a0"
+  integrity sha512-TKUdOL07anjZEbR1iSxb5WFh810KyObdd29XLFLGo1IDsSuGrjH3ouWSbAxHNmrVKzr9X71UYl2dQ7oGGcRp0g==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-export-namespace-from" "^7.2.0"
+
+"@babel/plugin-proposal-function-bind@^7.0.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.2.0.tgz#94dc2cdc505cafc4e225c0014335a01648056bf7"
+  integrity sha512-qOFJ/eX1Is78sywwTxDcsntLOdb5ZlHVVqUz5xznq8ldAfOVIyZzp1JE2rzHnaksZIhrqMrwIpQL/qcEprnVbw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-function-bind" "^7.2.0"
+
+"@babel/plugin-proposal-function-sent@^7.1.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.5.0.tgz#39233aa801145e7d8072077cdb2d25f781c1ffd7"
+  integrity sha512-JXdfiQpKoC6UgQliZkp3NX7K3MVec1o1nfTWiCCIORE5ag/QZXhL0aSD8/Y2K+hIHonSTxuJF9rh9zsB6hBi2A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/helper-wrap-function" "^7.2.0"
+    "@babel/plugin-syntax-function-sent" "^7.2.0"
+
+"@babel/plugin-proposal-json-strings@^7.0.0", "@babel/plugin-proposal-json-strings@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317"
+  integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-json-strings" "^7.2.0"
+
+"@babel/plugin-proposal-logical-assignment-operators@^7.0.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.2.0.tgz#8a5cea6c42a7c87446959e02fff5fad012c56f57"
+  integrity sha512-0w797xwdPXKk0m3Js74hDi0mCTZplIu93MOSfb1ZLd/XFe3abWypx1QknVk0J+ohnsjYpvjH4Gwfo2i3RicB6Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-logical-assignment-operators" "^7.2.0"
+
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz#41c360d59481d88e0ce3a3f837df10121a769b39"
+  integrity sha512-Amph7Epui1Dh/xxUxS2+K22/MUi6+6JVTvy3P58tja3B6yKTSjwwx0/d83rF7551D6PVSSoplQb8GCwqec7HRw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.2.0"
+
+"@babel/plugin-proposal-numeric-separator@^7.0.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.2.0.tgz#646854daf4cd22fd6733f6076013a936310443ac"
+  integrity sha512-DohMOGDrZiMKS7LthjUZNNcWl8TAf5BZDwZAH4wpm55FuJTHgfqPGdibg7rZDmont/8Yg0zA03IgT6XLeP+4sg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-numeric-separator" "^7.2.0"
+
+"@babel/plugin-proposal-object-rest-spread@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58"
+  integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
+
+"@babel/plugin-proposal-optional-catch-binding@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5"
+  integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
+
+"@babel/plugin-proposal-optional-chaining@^7.0.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz#ae454f4c21c6c2ce8cb2397dc332ae8b420c5441"
+  integrity sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-optional-chaining" "^7.2.0"
+
+"@babel/plugin-proposal-pipeline-operator@^7.0.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.5.0.tgz#4100ec55ef4f6a4c2490b5f5a4f2a22dfa272c06"
+  integrity sha512-HFYuu/yGnkn69ligXxU0ohOVvQDsMNOUJs/c4PYLUVS6ntCYOyGmRQQaSYJARJ9rvc7/ulZKIzxd4wk91hN63A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-pipeline-operator" "^7.5.0"
+
+"@babel/plugin-proposal-throw-expressions@^7.0.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.2.0.tgz#2d9e452d370f139000e51db65d0a85dc60c64739"
+  integrity sha512-adsydM8DQF4i5DLNO4ySAU5VtHTPewOtNBV3u7F4lNMPADFF9bWQ+iDtUUe8+033cYCUz+bFlQdXQJmJOwoLpw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-throw-expressions" "^7.2.0"
+
+"@babel/plugin-proposal-unicode-property-regex@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78"
+  integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/helper-regex" "^7.4.4"
+    regexpu-core "^4.5.4"
+
+"@babel/plugin-syntax-async-generators@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f"
+  integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-decorators@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz#c50b1b957dcc69e4b1127b65e1c33eef61570c1b"
+  integrity sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-do-expressions@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.2.0.tgz#f3d4b01be05ecde2892086d7cfd5f1fa1ead5a2a"
+  integrity sha512-/u4rJ+XEmZkIhspVuKRS+7WLvm7Dky9j9TvGK5IgId8B3FKir9MG+nQxDZ9xLn10QMBvW58dZ6ABe2juSmARjg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612"
+  integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-export-default-from@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz#edd83b7adc2e0d059e2467ca96c650ab6d2f3820"
+  integrity sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-export-namespace-from@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.2.0.tgz#8d257838c6b3b779db52c0224443459bd27fb039"
+  integrity sha512-1zGA3UNch6A+A11nIzBVEaE3DDJbjfB+eLIcf0GGOh/BJr/8NxL3546MGhV/r0RhH4xADFIEso39TKCfEMlsGA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-flow@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c"
+  integrity sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-function-bind@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.2.0.tgz#68fe85b0c0da67125f87bf239c68051b06c66309"
+  integrity sha512-/WzU1lLU2l0wDfB42Wkg6tahrmtBbiD8C4H6EGSX0M4GAjzN6JiOpq/Uh8G6GSoR6lPMvhjM0MNiV6znj6y/zg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-function-sent@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz#91474d4d400604e4c6cbd4d77cd6cb3b8565576c"
+  integrity sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-import-meta@^7.0.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.2.0.tgz#2333ef4b875553a3bcd1e93f8ebc09f5b9213a40"
+  integrity sha512-Hq6kFSZD7+PHkmBN8bCpHR6J8QEoCuEV/B38AIQscYjgMZkGlXB7cHNFzP5jR4RCh5545yP1ujHdmO7hAgKtBA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-json-strings@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470"
+  integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-jsx@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7"
+  integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-logical-assignment-operators@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.2.0.tgz#fcab7388530e96c6f277ce494c55caa6c141fcfb"
+  integrity sha512-l/NKSlrnvd73/EL540t9hZhcSo4TULBrIPs9Palju8Oc/A8DXDO+xQf04whfeuZLpi8AuIvCAdpKmmubLN4EfQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz#f75083dfd5ade73e783db729bbd87e7b9efb7624"
+  integrity sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-numeric-separator@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.2.0.tgz#7470fe070c2944469a756752a69a6963135018be"
+  integrity sha512-DroeVNkO/BnGpL2R7+ZNZqW+E24aR/4YWxP3Qb15d6lPU8KDzF8HlIUIRCOJRn4X77/oyW4mJY+7FHfY82NLtQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-object-rest-spread@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e"
+  integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-optional-catch-binding@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c"
+  integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-optional-chaining@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz#a59d6ae8c167e7608eaa443fda9fa8fa6bf21dff"
+  integrity sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-pipeline-operator@^7.5.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.5.0.tgz#8ea7c2c22847c797748bf07752722a317079dc1e"
+  integrity sha512-5FVxPiMTMXWk4R7Kq9pt272nDu8VImJdaIzvXFSTcXFbgKWWaOdbic12TvUvl6cK+AE5EgnhwvxuWik4ZYYdzg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-throw-expressions@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.2.0.tgz#79001ee2afe1b174b1733cdc2fc69c9a46a0f1f8"
+  integrity sha512-ngwynuqu1Rx0JUS9zxSDuPgW1K8TyVZCi2hHehrL4vyjqE7RGoNHWlZsS7KQT2vw9Yjk4YLa0+KldBXTRdPLRg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-arrow-functions@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550"
+  integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-async-to-generator@^7.5.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e"
+  integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==
+  dependencies:
+    "@babel/helper-module-imports" "^7.0.0"
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/helper-remap-async-to-generator" "^7.1.0"
+
+"@babel/plugin-transform-block-scoped-functions@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190"
+  integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-block-scoping@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce"
+  integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    lodash "^4.17.13"
+
+"@babel/plugin-transform-classes@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9"
+  integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.0.0"
+    "@babel/helper-define-map" "^7.5.5"
+    "@babel/helper-function-name" "^7.1.0"
+    "@babel/helper-optimise-call-expression" "^7.0.0"
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/helper-replace-supers" "^7.5.5"
+    "@babel/helper-split-export-declaration" "^7.4.4"
+    globals "^11.1.0"
+
+"@babel/plugin-transform-computed-properties@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da"
+  integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-destructuring@^7.5.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a"
+  integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-dotall-regex@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3"
+  integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/helper-regex" "^7.4.4"
+    regexpu-core "^4.5.4"
+
+"@babel/plugin-transform-duplicate-keys@^7.5.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853"
+  integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-exponentiation-operator@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008"
+  integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==
+  dependencies:
+    "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0"
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-flow-strip-types@^7.0.0":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz#d267a081f49a8705fc9146de0768c6b58dccd8f7"
+  integrity sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-flow" "^7.2.0"
+
+"@babel/plugin-transform-for-of@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556"
+  integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-function-name@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad"
+  integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==
+  dependencies:
+    "@babel/helper-function-name" "^7.1.0"
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-literals@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1"
+  integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-member-expression-literals@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d"
+  integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-modules-amd@^7.5.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91"
+  integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.1.0"
+    "@babel/helper-plugin-utils" "^7.0.0"
+    babel-plugin-dynamic-import-node "^2.3.0"
+
+"@babel/plugin-transform-modules-commonjs@^7.5.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74"
+  integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.4.4"
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/helper-simple-access" "^7.1.0"
+    babel-plugin-dynamic-import-node "^2.3.0"
+
+"@babel/plugin-transform-modules-systemjs@^7.5.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249"
+  integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==
+  dependencies:
+    "@babel/helper-hoist-variables" "^7.4.4"
+    "@babel/helper-plugin-utils" "^7.0.0"
+    babel-plugin-dynamic-import-node "^2.3.0"
+
+"@babel/plugin-transform-modules-umd@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae"
+  integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.1.0"
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5":
+  version "7.4.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106"
+  integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==
+  dependencies:
+    regexp-tree "^0.1.6"
+
+"@babel/plugin-transform-new-target@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5"
+  integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-object-super@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9"
+  integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/helper-replace-supers" "^7.5.5"
+
+"@babel/plugin-transform-parameters@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16"
+  integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==
+  dependencies:
+    "@babel/helper-call-delegate" "^7.4.4"
+    "@babel/helper-get-function-arity" "^7.0.0"
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-property-literals@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905"
+  integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-react-display-name@^7.0.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0"
+  integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-react-jsx-self@^7.0.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba"
+  integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@babel/plugin-transform-react-jsx-source@^7.0.0":
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b"
+  integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@babel/plugin-transform-react-jsx@^7.0.0":
+  version "7.3.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290"
+  integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==
+  dependencies:
+    "@babel/helper-builder-react-jsx" "^7.3.0"
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@babel/plugin-transform-regenerator@^7.4.5":
+  version "7.4.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f"
+  integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==
+  dependencies:
+    regenerator-transform "^0.14.0"
+
+"@babel/plugin-transform-reserved-words@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634"
+  integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-shorthand-properties@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0"
+  integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-spread@^7.2.0":
+  version "7.2.2"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406"
+  integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-sticky-regex@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1"
+  integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/helper-regex" "^7.0.0"
+
+"@babel/plugin-transform-template-literals@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0"
+  integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.0.0"
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-typeof-symbol@^7.2.0":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2"
+  integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-unicode-regex@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f"
+  integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/helper-regex" "^7.4.4"
+    regexpu-core "^4.5.4"
+
+"@babel/preset-env@^7.1.0":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a"
+  integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==
+  dependencies:
+    "@babel/helper-module-imports" "^7.0.0"
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-proposal-async-generator-functions" "^7.2.0"
+    "@babel/plugin-proposal-dynamic-import" "^7.5.0"
+    "@babel/plugin-proposal-json-strings" "^7.2.0"
+    "@babel/plugin-proposal-object-rest-spread" "^7.5.5"
+    "@babel/plugin-proposal-optional-catch-binding" "^7.2.0"
+    "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
+    "@babel/plugin-syntax-async-generators" "^7.2.0"
+    "@babel/plugin-syntax-dynamic-import" "^7.2.0"
+    "@babel/plugin-syntax-json-strings" "^7.2.0"
+    "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
+    "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
+    "@babel/plugin-transform-arrow-functions" "^7.2.0"
+    "@babel/plugin-transform-async-to-generator" "^7.5.0"
+    "@babel/plugin-transform-block-scoped-functions" "^7.2.0"
+    "@babel/plugin-transform-block-scoping" "^7.5.5"
+    "@babel/plugin-transform-classes" "^7.5.5"
+    "@babel/plugin-transform-computed-properties" "^7.2.0"
+    "@babel/plugin-transform-destructuring" "^7.5.0"
+    "@babel/plugin-transform-dotall-regex" "^7.4.4"
+    "@babel/plugin-transform-duplicate-keys" "^7.5.0"
+    "@babel/plugin-transform-exponentiation-operator" "^7.2.0"
+    "@babel/plugin-transform-for-of" "^7.4.4"
+    "@babel/plugin-transform-function-name" "^7.4.4"
+    "@babel/plugin-transform-literals" "^7.2.0"
+    "@babel/plugin-transform-member-expression-literals" "^7.2.0"
+    "@babel/plugin-transform-modules-amd" "^7.5.0"
+    "@babel/plugin-transform-modules-commonjs" "^7.5.0"
+    "@babel/plugin-transform-modules-systemjs" "^7.5.0"
+    "@babel/plugin-transform-modules-umd" "^7.2.0"
+    "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5"
+    "@babel/plugin-transform-new-target" "^7.4.4"
+    "@babel/plugin-transform-object-super" "^7.5.5"
+    "@babel/plugin-transform-parameters" "^7.4.4"
+    "@babel/plugin-transform-property-literals" "^7.2.0"
+    "@babel/plugin-transform-regenerator" "^7.4.5"
+    "@babel/plugin-transform-reserved-words" "^7.2.0"
+    "@babel/plugin-transform-shorthand-properties" "^7.2.0"
+    "@babel/plugin-transform-spread" "^7.2.0"
+    "@babel/plugin-transform-sticky-regex" "^7.2.0"
+    "@babel/plugin-transform-template-literals" "^7.4.4"
+    "@babel/plugin-transform-typeof-symbol" "^7.2.0"
+    "@babel/plugin-transform-unicode-regex" "^7.4.4"
+    "@babel/types" "^7.5.5"
+    browserslist "^4.6.0"
+    core-js-compat "^3.1.1"
+    invariant "^2.2.2"
+    js-levenshtein "^1.1.3"
+    semver "^5.5.0"
+
+"@babel/preset-flow@^7.0.0":
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz#afd764835d9535ec63d8c7d4caf1c06457263da2"
+  integrity sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-transform-flow-strip-types" "^7.0.0"
+
+"@babel/preset-react@^7.0.0":
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0"
+  integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-transform-react-display-name" "^7.0.0"
+    "@babel/plugin-transform-react-jsx" "^7.0.0"
+    "@babel/plugin-transform-react-jsx-self" "^7.0.0"
+    "@babel/plugin-transform-react-jsx-source" "^7.0.0"
+
+"@babel/preset-stage-0@^7.0.0":
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/@babel/preset-stage-0/-/preset-stage-0-7.0.0.tgz#999aaec79ee8f0a763042c68c06539c97c6e0646"
+  integrity sha512-FBMd0IiARPtH5aaOFUVki6evHiJQiY0pFy7fizyRF7dtwc+el3nwpzvhb9qBNzceG1OIJModG1xpE0DDFjPXwA==
+
+"@babel/template@^7.1.0", "@babel/template@^7.4.4":
+  version "7.4.4"
+  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237"
+  integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==
+  dependencies:
+    "@babel/code-frame" "^7.0.0"
+    "@babel/parser" "^7.4.4"
+    "@babel/types" "^7.4.4"
+
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.4", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb"
+  integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==
+  dependencies:
+    "@babel/code-frame" "^7.5.5"
+    "@babel/generator" "^7.5.5"
+    "@babel/helper-function-name" "^7.1.0"
+    "@babel/helper-split-export-declaration" "^7.4.4"
+    "@babel/parser" "^7.5.5"
+    "@babel/types" "^7.5.5"
+    debug "^4.1.0"
+    globals "^11.1.0"
+    lodash "^4.17.13"
+
+"@babel/types@^7.0.0", "@babel/types@^7.1.3", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5":
+  version "7.5.5"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a"
+  integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==
+  dependencies:
+    esutils "^2.0.2"
+    lodash "^4.17.13"
+    to-fast-properties "^2.0.0"
+
+"@braintree/sanitize-url@^3.1.0":
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz#8ff71d51053cd5ee4981e5a501d80a536244f7fd"
+  integrity sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==
+
 "@passport-next/passport-openid@^1.0.0":
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/@passport-next/passport-openid/-/passport-openid-1.0.0.tgz#d3b5e067a9aa1388ed172ab7cc02c39b8634283d"
@@ -68,11 +1000,6 @@
     "@types/express-serve-static-core" "*"
     "@types/serve-static" "*"
 
-"@types/geojson@^1.0.0":
-  version "1.0.6"
-  resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-1.0.6.tgz#3e02972728c69248c2af08d60a48cbb8680fffdf"
-  integrity sha512-Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w==
-
 "@types/ldapjs@^1.0.0":
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-1.0.4.tgz#06774665035fbb277133d8cde800d18c7993707f"
@@ -120,6 +1047,11 @@
     "@types/express-serve-static-core" "*"
     "@types/mime" "*"
 
+"@types/unist@^2.0.0", "@types/unist@^2.0.2":
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
+  integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
+
 "@webassemblyjs/ast@1.8.5":
   version "1.8.5"
   resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
@@ -280,6 +1212,14 @@
   version "0.0.1"
   resolved "git+https://github.com/shawnmclean/Idle.js#db9beb3483a460ad638ec947867720f0ed066a62"
 
+JSONStream@^1.0.3:
+  version "1.3.5"
+  resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
+  integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
+  dependencies:
+    jsonparse "^1.2.0"
+    through ">=2.2.7 <3"
+
 JSV@^4.0.x:
   version "4.0.2"
   resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57"
@@ -326,7 +1266,7 @@ acorn-walk@^6.0.1:
   resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
   integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==
 
-acorn@^5.1.0, acorn@^5.5.3:
+acorn@^5.1.0, acorn@^5.2.1, acorn@^5.5.3:
   version "5.7.3"
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
   integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
@@ -383,6 +1323,11 @@ ambi@^2.2.0:
     editions "^1.1.1"
     typechecker "^4.3.0"
 
+ansi-colors@^3.2.4:
+  version "3.2.4"
+  resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
+  integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
+
 ansi-escapes@^3.2.0:
   version "3.2.0"
   resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
@@ -395,6 +1340,11 @@ ansi-gray@^0.1.1:
   dependencies:
     ansi-wrap "0.1.0"
 
+ansi-html@^0.0.7:
+  version "0.0.7"
+  resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
+  integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4=
+
 ansi-regex@^2.0.0, ansi-regex@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -432,6 +1382,11 @@ ansi-wrap@0.1.0:
   resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
   integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768=
 
+any-promise@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
+  integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
+
 anymatch@^1.3.0:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
@@ -448,6 +1403,13 @@ anymatch@^2.0.0:
     micromatch "^3.1.4"
     normalize-path "^2.1.1"
 
+append-buffer@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1"
+  integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=
+  dependencies:
+    buffer-equal "^1.0.0"
+
 aproba@^1.0.3, aproba@^1.1.1:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
@@ -479,11 +1441,6 @@ archiver@^2.1.1:
     tar-stream "^1.5.0"
     zip-stream "^1.2.0"
 
-archy@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
-  integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=
-
 are-we-there-yet@~1.1.2:
   version "1.1.5"
   resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
@@ -529,16 +1486,6 @@ arr-union@^3.1.0:
   resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
   integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
 
-array-differ@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
-  integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=
-
-array-each@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f"
-  integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8=
-
 array-equal@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
@@ -557,11 +1504,6 @@ array-includes@^3.0.3:
     define-properties "^1.1.2"
     es-abstract "^1.7.0"
 
-array-slice@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"
-  integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==
-
 array-union@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
@@ -569,7 +1511,7 @@ array-union@^1.0.1:
   dependencies:
     array-uniq "^1.0.1"
 
-array-uniq@^1.0.1, array-uniq@^1.0.2:
+array-uniq@^1.0.1:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
   integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
@@ -715,7 +1657,7 @@ azure-storage@^2.7.0:
     json-edm-parser "0.1.2"
     md5.js "1.3.4"
     readable-stream "~2.0.0"
-    request "^2.86.0"
+    request "^2.88.0"
     underscore "~1.8.3"
     uuid "^3.0.0"
     validator "~9.4.1"
@@ -928,6 +1870,13 @@ babel-plugin-check-es2015-constants@^6.22.0:
   dependencies:
     babel-runtime "^6.22.0"
 
+babel-plugin-dynamic-import-node@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f"
+  integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==
+  dependencies:
+    object.assign "^4.1.0"
+
 babel-plugin-syntax-async-functions@^6.8.0:
   version "6.13.0"
   resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
@@ -1231,7 +2180,7 @@ babel-register@^6.26.0:
     mkdirp "^0.5.1"
     source-map-support "^0.4.15"
 
-babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2:
+babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2:
   version "6.26.0"
   resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
   integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
@@ -1275,6 +2224,11 @@ babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
     lodash "^4.17.4"
     to-fast-properties "^1.0.3"
 
+babelify@^10.0.0:
+  version "10.0.0"
+  resolved "https://registry.yarnpkg.com/babelify/-/babelify-10.0.0.tgz#fe73b1a22583f06680d8d072e25a1e0d1d1d7fb5"
+  integrity sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==
+
 babylon@^6.18.0:
   version "6.18.0"
   resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
@@ -1292,6 +2246,11 @@ backoff@^2.5.0:
   dependencies:
     precond "0.2"
 
+bail@^1.0.0:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b"
+  integrity sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==
+
 balanced-match@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@@ -1349,11 +2308,6 @@ bcryptjs@^2.4.0:
   resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb"
   integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=
 
-beeper@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"
-  integrity sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=
-
 better-assert@~1.0.0:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
@@ -1376,11 +2330,6 @@ big.js@^5.2.2:
   resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
   integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
 
-bignumber.js@7.2.1:
-  version "7.2.1"
-  resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f"
-  integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==
-
 binary-extensions@^1.0.0:
   version "1.13.1"
   resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
@@ -1416,7 +2365,7 @@ block-stream2@^1.0.0:
     inherits "^2.0.1"
     readable-stream "^2.0.4"
 
-bluebird@^3.3.4, bluebird@^3.4.1, bluebird@^3.4.6, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3:
+bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3:
   version "3.5.5"
   resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
   integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==
@@ -1442,6 +2391,16 @@ body-parser@1.19.0, body-parser@^1.15.2:
     raw-body "2.4.0"
     type-is "~1.6.17"
 
+body@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069"
+  integrity sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=
+  dependencies:
+    continuable-cache "^0.3.1"
+    error "^7.0.0"
+    raw-body "~1.1.0"
+    safe-json-parse "~1.0.1"
+
 boolbase@^1.0.0, boolbase@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
@@ -1500,6 +2459,13 @@ browser-process-hrtime@^0.1.2:
   resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4"
   integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==
 
+browser-resolve@^1.7.0:
+  version "1.11.3"
+  resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6"
+  integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==
+  dependencies:
+    resolve "1.1.7"
+
 browser-stdout@1.3.1:
   version "1.3.1"
   resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
@@ -1586,6 +2552,15 @@ browserslist@^4.0.0:
     electron-to-chromium "^1.3.137"
     node-releases "^1.1.21"
 
+browserslist@^4.6.0, browserslist@^4.6.2:
+  version "4.6.6"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453"
+  integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==
+  dependencies:
+    caniuse-lite "^1.0.30000984"
+    electron-to-chromium "^1.3.191"
+    node-releases "^1.1.25"
+
 buble@^0.19.6:
   version "0.19.7"
   resolved "https://registry.yarnpkg.com/buble/-/buble-0.19.7.tgz#1dfd080ab688101aad5388d3304bc82601a244fd"
@@ -1618,6 +2593,11 @@ buffer-crc32@^0.2.1:
   resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
   integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
 
+buffer-equal@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe"
+  integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74=
+
 buffer-fill@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
@@ -1628,6 +2608,11 @@ buffer-from@^1.0.0:
   resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
   integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
 
+buffer-shims@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
+  integrity sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=
+
 buffer-writer@1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-1.0.1.tgz#22a936901e3029afcd7547eb4487ceb697a3bf08"
@@ -1677,6 +2662,11 @@ bunyan@^1.8.3:
     mv "~2"
     safe-json-stringify "~1"
 
+bytes@1:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8"
+  integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=
+
 bytes@3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
@@ -1741,6 +2731,11 @@ cache-base@^1.0.1:
     union-value "^1.0.0"
     unset-value "^1.0.0"
 
+cached-path-relative@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.2.tgz#a13df4196d26776220cc3356eb147a52dba2c6db"
+  integrity sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==
+
 caller-callsite@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
@@ -1770,7 +2765,7 @@ callsites@^3.0.0:
   resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
   integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
 
-camel-case@3.0.x:
+camel-case@3.0.x, camel-case@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
   integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
@@ -1783,11 +2778,6 @@ camelcase@^1.0.2:
   resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
   integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=
 
-camelcase@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
-  integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
-
 camelcase@^5.0.0:
   version "5.3.1"
   resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
@@ -1813,11 +2803,21 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000971:
   resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz#d1000e4546486a6977756547352bc96a4cfd2b13"
   integrity sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g==
 
+caniuse-lite@^1.0.30000984:
+  version "1.0.30000988"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000988.tgz#742f35ec1b8b75b9628d705d7652eea1fef983db"
+  integrity sha512-lPj3T8poYrRc/bniW5SQPND3GRtSrQdUM/R4mCYTbZxyi3jQiggLvZH4+BYUuX0t4TXjU+vMM7KFDQg+rSzZUQ==
+
 caseless@~0.12.0:
   version "0.12.0"
   resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
   integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
 
+ccount@^1.0.0:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386"
+  integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==
+
 center-align@^0.1.1:
   version "0.1.3"
   resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
@@ -1826,7 +2826,7 @@ center-align@^0.1.1:
     align-text "^0.1.3"
     lazy-cache "^1.0.3"
 
-chalk@^1.0.0, chalk@^1.1.3:
+chalk@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
   integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
@@ -1837,7 +2837,7 @@ chalk@^1.0.0, chalk@^1.1.3:
     strip-ansi "^3.0.0"
     supports-color "^2.0.0"
 
-chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2:
+chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2:
   version "2.4.2"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
   integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -1860,6 +2860,26 @@ chance@^1.0.4:
   resolved "https://registry.yarnpkg.com/chance/-/chance-1.0.18.tgz#79788fe6fca4c338bf404321c347eecc80f969ee"
   integrity sha512-g9YLQVHVZS/3F+zIicfB58vjcxopvYQRp7xHzvyDFDhXH1aRZI/JhwSAO0X5qYiQluoGnaNAU6wByD2KTxJN1A==
 
+character-entities-html4@^1.0.0:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.3.tgz#5ce6e01618e47048ac22f34f7f39db5c6fd679ef"
+  integrity sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==
+
+character-entities-legacy@^1.0.0:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4"
+  integrity sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==
+
+character-entities@^1.0.0:
+  version "1.2.3"
+  resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6"
+  integrity sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==
+
+character-reference-invalid@^1.0.0:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85"
+  integrity sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==
+
 chardet@^0.7.0:
   version "0.7.0"
   resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
@@ -1903,7 +2923,7 @@ chokidar@^1.6.1, chokidar@^1.7.0:
   optionalDependencies:
     fsevents "^1.0.0"
 
-chokidar@^2.0.2:
+chokidar@^2.0.2, chokidar@^2.0.4:
   version "2.1.6"
   resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5"
   integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==
@@ -1952,24 +2972,24 @@ class-utils@^0.3.5:
     isobject "^3.0.0"
     static-extend "^0.1.1"
 
-clean-css@4.2.x:
+clean-css@4.2.x, clean-css@^4.1.6, clean-css@^4.2.1:
   version "4.2.1"
   resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17"
   integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==
   dependencies:
     source-map "~0.6.0"
 
-cli-color@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.2.0.tgz#3a5ae74fd76b6267af666e69e2afbbd01def34d1"
-  integrity sha1-OlrnT9drYmevZm5p4q+70B3vNNE=
+cli-color@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f"
+  integrity sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==
   dependencies:
     ansi-regex "^2.1.1"
     d "1"
-    es5-ext "^0.10.12"
-    es6-iterator "2"
-    memoizee "^0.4.3"
-    timers-ext "0.1"
+    es5-ext "^0.10.46"
+    es6-iterator "^2.0.3"
+    memoizee "^0.4.14"
+    timers-ext "^0.1.5"
 
 cli-cursor@^2.1.0:
   version "2.1.0"
@@ -2001,15 +3021,6 @@ cliui@^2.1.0:
     right-align "^0.1.1"
     wordwrap "0.0.2"
 
-cliui@^3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
-  integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
-  dependencies:
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-    wrap-ansi "^2.0.0"
-
 cliui@^4.0.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
@@ -2019,26 +3030,47 @@ cliui@^4.0.0:
     strip-ansi "^4.0.0"
     wrap-ansi "^2.0.0"
 
-clone-stats@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
-  integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=
+cliui@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
+  integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
+  dependencies:
+    string-width "^3.1.0"
+    strip-ansi "^5.2.0"
+    wrap-ansi "^5.1.0"
 
-clone@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f"
-  integrity sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=
+clone-buffer@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
+  integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg=
 
-clone@^1.0.0, clone@^1.0.2:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
-  integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
+clone-stats@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
+  integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=
 
 clone@^2.1.1:
   version "2.1.2"
   resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
   integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
 
+cloneable-readable@^1.0.0:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec"
+  integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==
+  dependencies:
+    inherits "^2.0.1"
+    process-nextick-args "^2.0.0"
+    readable-stream "^2.3.5"
+
+cls-bluebird@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/cls-bluebird/-/cls-bluebird-2.1.0.tgz#37ef1e080a8ffb55c2f4164f536f1919e7968aee"
+  integrity sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=
+  dependencies:
+    is-bluebird "^1.0.2"
+    shimmer "^1.1.0"
+
 coa@^2.0.2:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
@@ -2065,6 +3097,11 @@ code-point-at@^1.0.0:
     rollup-watch "^4.3.1"
     uglify-js "^2.8.15"
 
+collapse-white-space@^1.0.0, collapse-white-space@^1.0.2:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a"
+  integrity sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==
+
 collection-visit@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
@@ -2144,6 +3181,16 @@ combined-stream@^1.0.5, combined-stream@^1.0.6, combined-stream@~1.0.6:
   dependencies:
     delayed-stream "~1.0.0"
 
+comma-separated-tokens@^1.0.1:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz#419cd7fb3258b1ed838dc0953167a25e152f5b59"
+  integrity sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ==
+
+commander@2, commander@^2.11.0, commander@^2.13.0, commander@^2.19.0, commander@^2.2.0, commander@^2.9.0, commander@~2.20.0:
+  version "2.20.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
+  integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
+
 commander@2.15.1:
   version "2.15.1"
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
@@ -2154,11 +3201,6 @@ commander@2.17.x:
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
   integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
 
-commander@^2.11.0, commander@^2.13.0, commander@^2.19.0, commander@^2.2.0, commander@^2.9.0, commander@~2.20.0:
-  version "2.20.0"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
-  integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
-
 commander@~2.13.0:
   version "2.13.0"
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
@@ -2229,7 +3271,7 @@ concat-map@0.0.1:
   resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
   integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
 
-concat-stream@1.6.2, concat-stream@^1.4.7, concat-stream@^1.4.8, concat-stream@^1.5.0:
+concat-stream@1.6.2, concat-stream@^1.4.7, concat-stream@^1.4.8, concat-stream@^1.5.0, concat-stream@^1.6.0:
   version "1.6.2"
   resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
   integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
@@ -2239,6 +3281,15 @@ concat-stream@1.6.2, concat-stream@^1.4.7, concat-stream@^1.4.8, concat-stream@^
     readable-stream "^2.2.2"
     typedarray "^0.0.6"
 
+concat-stream@~1.5.0:
+  version "1.5.2"
+  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266"
+  integrity sha1-cIl4Yk2FavQaWnQd790mHadSwmY=
+  dependencies:
+    inherits "~2.0.1"
+    readable-stream "~2.0.0"
+    typedarray "~0.0.5"
+
 config-chain@^1.1.12:
   version "1.1.12"
   resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
@@ -2252,12 +3303,12 @@ connect-flash@^0.1.1:
   resolved "https://registry.yarnpkg.com/connect-flash/-/connect-flash-0.1.1.tgz#d8630f26d95a7f851f9956b1e8cc6732f3b6aa30"
   integrity sha1-2GMPJtlaf4UfmVax6MxnMvO2qjA=
 
-connect-session-sequelize@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/connect-session-sequelize/-/connect-session-sequelize-4.1.0.tgz#d402749c3bebd79209192c164c090742b3fe2011"
-  integrity sha1-1AJ0nDvr15IJGSwWTAkHQrP+IBE=
+connect-session-sequelize@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/connect-session-sequelize/-/connect-session-sequelize-6.0.0.tgz#afd4456c65d92c9b6b955fdff00afff795e8a420"
+  integrity sha512-XC71xJd5rqObdL7700S/qFD+gSRA4o6WVJAyFY0Vjah73id5bBElM0SHQR1ME5Bxrt4JL8alvggseNDVTlKyxA==
   dependencies:
-    debug "^2.1.1"
+    debug "^3.1.0"
     deep-equal "^1.0.1"
 
 console-browserify@^1.1.0:
@@ -2299,7 +3350,12 @@ content-type@~1.0.4:
   resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
   integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
 
-convert-source-map@^1.5.0, convert-source-map@^1.5.1:
+continuable-cache@^0.3.1:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f"
+  integrity sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=
+
+convert-source-map@^1.1.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1:
   version "1.6.0"
   resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
   integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==
@@ -2365,6 +3421,20 @@ copy-webpack-plugin@^4.5.2:
     p-limit "^1.0.0"
     serialize-javascript "^1.4.0"
 
+core-js-compat@^3.1.1:
+  version "3.1.4"
+  resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.4.tgz#e4d0c40fbd01e65b1d457980fe4112d4358a7408"
+  integrity sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg==
+  dependencies:
+    browserslist "^4.6.2"
+    core-js-pure "3.1.4"
+    semver "^6.1.1"
+
+core-js-pure@3.1.4:
+  version "3.1.4"
+  resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.4.tgz#5fa17dc77002a169a3566cc48dc774d2e13e3769"
+  integrity sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA==
+
 core-js@^2.4.0, core-js@^2.5.0:
   version "2.6.9"
   resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2"
@@ -2431,15 +3501,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
     safe-buffer "^5.0.1"
     sha.js "^2.4.8"
 
-cross-spawn@^5.0.1:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
-  integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
-  dependencies:
-    lru-cache "^4.0.1"
-    shebang-command "^1.2.0"
-    which "^1.2.9"
-
 cross-spawn@^6.0.0, cross-spawn@^6.0.5:
   version "6.0.5"
   resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -2473,6 +3534,11 @@ csextends@^1.0.3:
   resolved "https://registry.yarnpkg.com/csextends/-/csextends-1.2.0.tgz#6374b210984b54d4495f29c99d3dd069b80543e5"
   integrity sha512-S/8k1bDTJIwuGgQYmsRoE+8P+ohV32WhQ0l4zqrc0XDdxOhjQQD7/wTZwCzoZX53jSX3V/qwjT+OkPTxWQcmjg==
 
+css-b64-images@~0.2.5:
+  version "0.2.5"
+  resolved "https://registry.yarnpkg.com/css-b64-images/-/css-b64-images-0.2.5.tgz#42005d83204b2b4a5d93b6b1a5644133b5927a02"
+  integrity sha1-QgBdgyBLK0pdk7axpWRBM7WSegI=
+
 css-color-names@0.0.4, css-color-names@^0.0.4:
   version "0.0.4"
   resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
@@ -2688,10 +3754,253 @@ cyclist@~0.2.2:
   resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
   integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=
 
-d3@3.5.17:
-  version "3.5.17"
-  resolved "https://registry.yarnpkg.com/d3/-/d3-3.5.17.tgz#bc46748004378b21a360c9fc7cf5231790762fb8"
-  integrity sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=
+d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f"
+  integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==
+
+d3-axis@1:
+  version "1.0.12"
+  resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.12.tgz#cdf20ba210cfbb43795af33756886fb3638daac9"
+  integrity sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==
+
+d3-brush@1:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.6.tgz#33691f2032d9db6c5d8cb684ff255a9883629e21"
+  integrity sha512-lGSiF5SoSqO5/mYGD5FAeGKKS62JdA1EV7HPrU2b5rTX4qEJJtpjaGLJngjnkewQy7UnGstnFd3168wpf5z76w==
+  dependencies:
+    d3-dispatch "1"
+    d3-drag "1"
+    d3-interpolate "1"
+    d3-selection "1"
+    d3-transition "1"
+
+d3-chord@1:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.6.tgz#309157e3f2db2c752f0280fedd35f2067ccbb15f"
+  integrity sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==
+  dependencies:
+    d3-array "1"
+    d3-path "1"
+
+d3-collection@1:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e"
+  integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==
+
+d3-color@1:
+  version "1.2.8"
+  resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.2.8.tgz#4eaf9b60ef188c893fcf8b28f3546aafebfbd9f4"
+  integrity sha512-yeANXzP37PHk0DbSTMNPhnJD+Nn4G//O5E825bR6fAfHH43hobSBpgB9G9oWVl9+XgUaQ4yCnsX1H+l8DoaL9A==
+
+d3-contour@1:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.3.2.tgz#652aacd500d2264cb3423cee10db69f6f59bead3"
+  integrity sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==
+  dependencies:
+    d3-array "^1.1.1"
+
+d3-dispatch@1:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.5.tgz#e25c10a186517cd6c82dd19ea018f07e01e39015"
+  integrity sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g==
+
+d3-drag@1:
+  version "1.2.3"
+  resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.3.tgz#46e206ad863ec465d88c588098a1df444cd33c64"
+  integrity sha512-8S3HWCAg+ilzjJsNtWW1Mutl74Nmzhb9yU6igspilaJzeZVFktmY6oO9xOh5TDk+BM2KrNFjttZNoJJmDnkjkg==
+  dependencies:
+    d3-dispatch "1"
+    d3-selection "1"
+
+d3-dsv@1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.1.1.tgz#aaa830ecb76c4b5015572c647cc6441e3c7bb701"
+  integrity sha512-1EH1oRGSkeDUlDRbhsFytAXU6cAmXFzc52YUe6MRlPClmWb85MP1J5x+YJRzya4ynZWnbELdSAvATFW/MbxaXw==
+  dependencies:
+    commander "2"
+    iconv-lite "0.4"
+    rw "1"
+
+d3-ease@1:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.5.tgz#8ce59276d81241b1b72042d6af2d40e76d936ffb"
+  integrity sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ==
+
+d3-fetch@1:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-1.1.2.tgz#957c8fbc6d4480599ba191b1b2518bf86b3e1be2"
+  integrity sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA==
+  dependencies:
+    d3-dsv "1"
+
+d3-force@1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.2.1.tgz#fd29a5d1ff181c9e7f0669e4bd72bdb0e914ec0b"
+  integrity sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==
+  dependencies:
+    d3-collection "1"
+    d3-dispatch "1"
+    d3-quadtree "1"
+    d3-timer "1"
+
+d3-format@1:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.3.2.tgz#6a96b5e31bcb98122a30863f7d92365c00603562"
+  integrity sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ==
+
+d3-geo@1:
+  version "1.11.6"
+  resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.6.tgz#134f2ef035ff75a448075fafdea92702a2e0e0cf"
+  integrity sha512-z0J8InXR9e9wcgNtmVnPTj0TU8nhYT6lD/ak9may2PdKqXIeHUr8UbFLoCtrPYNsjv6YaLvSDQVl578k6nm7GA==
+  dependencies:
+    d3-array "1"
+
+d3-hierarchy@1:
+  version "1.1.8"
+  resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz#7a6317bd3ed24e324641b6f1e76e978836b008cc"
+  integrity sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==
+
+d3-interpolate@1:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.3.2.tgz#417d3ebdeb4bc4efcc8fd4361c55e4040211fd68"
+  integrity sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w==
+  dependencies:
+    d3-color "1"
+
+d3-path@1:
+  version "1.0.8"
+  resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.8.tgz#4a0606a794d104513ec4a8af43525f374b278719"
+  integrity sha512-J6EfUNwcMQ+aM5YPOB8ZbgAZu6wc82f/0WFxrxwV6Ll8wBwLaHLKCqQ5Imub02JriCVVdPjgI+6P3a4EWJCxAg==
+
+d3-polygon@1:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.5.tgz#9a645a0a64ff6cbf9efda96ee0b4a6909184c363"
+  integrity sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w==
+
+d3-quadtree@1:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.6.tgz#d1ab2a95a7f27bbde88582c94166f6ae35f32056"
+  integrity sha512-NUgeo9G+ENQCQ1LsRr2qJg3MQ4DJvxcDNCiohdJGHt5gRhBW6orIB5m5FJ9kK3HNL8g9F4ERVoBzcEwQBfXWVA==
+
+d3-random@1:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.2.tgz#2833be7c124360bf9e2d3fd4f33847cfe6cab291"
+  integrity sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==
+
+d3-scale-chromatic@1:
+  version "1.3.3"
+  resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.3.3.tgz#dad4366f0edcb288f490128979c3c793583ed3c0"
+  integrity sha512-BWTipif1CimXcYfT02LKjAyItX5gKiwxuPRgr4xM58JwlLocWbjPLI7aMEjkcoOQXMkYsmNsvv3d2yl/OKuHHw==
+  dependencies:
+    d3-color "1"
+    d3-interpolate "1"
+
+d3-scale@2:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.2.2.tgz#4e880e0b2745acaaddd3ede26a9e908a9e17b81f"
+  integrity sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==
+  dependencies:
+    d3-array "^1.2.0"
+    d3-collection "1"
+    d3-format "1"
+    d3-interpolate "1"
+    d3-time "1"
+    d3-time-format "2"
+
+d3-selection@1, d3-selection@^1.1.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.4.0.tgz#ab9ac1e664cf967ebf1b479cc07e28ce9908c474"
+  integrity sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg==
+
+d3-shape@1:
+  version "1.3.5"
+  resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.5.tgz#e81aea5940f59f0a79cfccac012232a8987c6033"
+  integrity sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg==
+  dependencies:
+    d3-path "1"
+
+d3-time-format@2:
+  version "2.1.3"
+  resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.3.tgz#ae06f8e0126a9d60d6364eac5b1533ae1bac826b"
+  integrity sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==
+  dependencies:
+    d3-time "1"
+
+d3-time@1:
+  version "1.0.11"
+  resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.11.tgz#1d831a3e25cd189eb256c17770a666368762bbce"
+  integrity sha512-Z3wpvhPLW4vEScGeIMUckDW7+3hWKOQfAWg/U7PlWBnQmeKQ00gCUsTtWSYulrKNA7ta8hJ+xXc6MHrMuITwEw==
+
+d3-timer@1:
+  version "1.0.9"
+  resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.9.tgz#f7bb8c0d597d792ff7131e1c24a36dd471a471ba"
+  integrity sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg==
+
+d3-transition@1:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.2.0.tgz#f538c0e21b2aa1f05f3e965f8567e81284b3b2b8"
+  integrity sha512-VJ7cmX/FPIPJYuaL2r1o1EMHLttvoIuZhhuAlRoOxDzogV8iQS6jYulDm3xEU3TqL80IZIhI551/ebmCMrkvhw==
+  dependencies:
+    d3-color "1"
+    d3-dispatch "1"
+    d3-ease "1"
+    d3-interpolate "1"
+    d3-selection "^1.1.0"
+    d3-timer "1"
+
+d3-voronoi@1:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297"
+  integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==
+
+d3-zoom@1:
+  version "1.7.3"
+  resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.7.3.tgz#f444effdc9055c38077c4299b4df999eb1d47ccb"
+  integrity sha512-xEBSwFx5Z9T3/VrwDkMt+mr0HCzv7XjpGURJ8lWmIC8wxe32L39eWHIasEe/e7Ox8MPU4p1hvH8PKN2olLzIBg==
+  dependencies:
+    d3-dispatch "1"
+    d3-drag "1"
+    d3-interpolate "1"
+    d3-selection "1"
+    d3-transition "1"
+
+d3@^5.7.0:
+  version "5.9.7"
+  resolved "https://registry.yarnpkg.com/d3/-/d3-5.9.7.tgz#f3835648a172b438e89ed57eb6c525bdabdcd7dc"
+  integrity sha512-jENytrmdXtGPw7HuSK2S4gxRM1eUGjKvWQkQ6ct4yK+DB8SG3VcnVrwesfnsv8rIcxMUg18TafT4Q8mOZUMP4Q==
+  dependencies:
+    d3-array "1"
+    d3-axis "1"
+    d3-brush "1"
+    d3-chord "1"
+    d3-collection "1"
+    d3-color "1"
+    d3-contour "1"
+    d3-dispatch "1"
+    d3-drag "1"
+    d3-dsv "1"
+    d3-ease "1"
+    d3-fetch "1"
+    d3-force "1"
+    d3-format "1"
+    d3-geo "1"
+    d3-hierarchy "1"
+    d3-interpolate "1"
+    d3-path "1"
+    d3-polygon "1"
+    d3-quadtree "1"
+    d3-random "1"
+    d3-scale "2"
+    d3-scale-chromatic "1"
+    d3-selection "1"
+    d3-shape "1"
+    d3-time "1"
+    d3-time-format "2"
+    d3-timer "1"
+    d3-transition "1"
+    d3-voronoi "1"
+    d3-zoom "1"
 
 d@1:
   version "1.0.0"
@@ -2700,17 +4009,15 @@ d@1:
   dependencies:
     es5-ext "^0.10.9"
 
-dagre-d3-renderer@^0.4.25:
-  version "0.4.26"
-  resolved "https://registry.yarnpkg.com/dagre-d3-renderer/-/dagre-d3-renderer-0.4.26.tgz#648a491209b853ae96ddf3fea41a1f104479a5a1"
-  integrity sha512-vOWj1uA4/APTrfDyfHaH/xpfXhPh9rszW+HOaEwPCeA6Afl06Lobfh7OpESuVMQW2QGuY4UQ7pte/p0WhdDs7w==
+dagre-d3-renderer@^0.5.8:
+  version "0.5.8"
+  resolved "https://registry.yarnpkg.com/dagre-d3-renderer/-/dagre-d3-renderer-0.5.8.tgz#aa071bb71d3c4d67426925906f3f6ddead49c1a3"
+  integrity sha512-XH2a86isUHRxzIYbjQVEuZtJnWEufb64H5DuXIUmn8esuB40jgLEbUUclulWOW62/ZoXlj2ZDyL8SJ+YRxs+jQ==
   dependencies:
-    d3 "3.5.17"
-    dagre-layout "^0.8.0"
-    graphlib "^2.1.1"
-    lodash "^4.17.4"
+    dagre-layout "^0.8.8"
+    lodash "^4.17.5"
 
-dagre-layout@^0.8.0:
+dagre-layout@^0.8.8:
   version "0.8.8"
   resolved "https://registry.yarnpkg.com/dagre-layout/-/dagre-layout-0.8.8.tgz#9b6792f24229f402441c14162c1049e3f261f6d9"
   integrity sha512-ZNV15T9za7X+fV8Z07IZquUKugCxm5owoiPPxfEx6OJRD331nkiIaF3vSt0JEY5FkrY0KfRQxcpQ3SpXB7pLPQ==
@@ -2744,19 +4051,19 @@ date-now@^0.1.4:
   resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
   integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
 
-dateformat@^2.0.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062"
-  integrity sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=
+de-indent@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
+  integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=
 
-debug@*, debug@^4.0.1:
+debug@*, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
   version "4.1.1"
   resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
   integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
   dependencies:
     ms "^2.1.1"
 
-debug@2, debug@2.6.9, debug@^2.1.1, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
+debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
   version "2.6.9"
   resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
   integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -2777,7 +4084,7 @@ debug@^3.1.0, debug@^3.2.6:
   dependencies:
     ms "^2.1.1"
 
-decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.2.0:
+decamelize@^1.0.0, decamelize@^1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
   integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
@@ -2807,13 +4114,6 @@ deep-is@~0.1.3:
   resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
   integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
 
-defaults@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
-  integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
-  dependencies:
-    clone "^1.0.2"
-
 define-properties@^1.1.2, define-properties@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
@@ -2863,21 +4163,21 @@ delegates@^1.0.0:
   resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
   integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
 
+denque@^1.4.0:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/denque/-/denque-1.4.1.tgz#6744ff7641c148c3f8a69c307e51235c1f4a37cf"
+  integrity sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==
+
 depd@2.0.0, depd@~2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
   integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
 
-depd@^1.1.0, depd@~1.1.2:
+depd@~1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
   integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
 
-deprecated@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19"
-  integrity sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=
-
 des.js@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
@@ -2891,12 +4191,12 @@ destroy@~1.0.4:
   resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
   integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
 
-detect-file@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63"
-  integrity sha1-STXe39lIhkjgBrASlWbpOGcR6mM=
+detab@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.2.tgz#074970d1a807b045d0258a4235df5928dd683561"
+  integrity sha512-Q57yPrxScy816TTE1P/uLRXLDKjXhvYTbfxS/e6lPD+YrqghbsMlGB9nQzj/zVtSPaF0DFPSdO916EWO4sQUyQ==
   dependencies:
-    fs-exists-sync "^0.1.0"
+    repeat-string "^1.5.4"
 
 detect-file@^1.0.0:
   version "1.0.0"
@@ -2915,6 +4215,14 @@ detect-libc@^1.0.2:
   resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
   integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
 
+detective@^4.0.0:
+  version "4.7.1"
+  resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e"
+  integrity sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==
+  dependencies:
+    acorn "^5.2.1"
+    defined "^1.0.0"
+
 diagnostics@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/diagnostics/-/diagnostics-1.1.1.tgz#cab6ac33df70c9d9a727490ae43ac995a769b22a"
@@ -2933,6 +4241,11 @@ diff@3.5.0:
   resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
   integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
 
+diff@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff"
+  integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==
+
 diffie-hellman@^5.0.0:
   version "5.0.3"
   resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
@@ -2961,6 +4274,13 @@ dns-prefetch-control@0.1.0:
   resolved "https://registry.yarnpkg.com/dns-prefetch-control/-/dns-prefetch-control-0.1.0.tgz#60ddb457774e178f1f9415f0cabb0e85b0b300b2"
   integrity sha1-YN20V3dOF48flBXwyrsOhbCzALI=
 
+doctrine-temporary-fork@2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz#36f2154f556ee4f1e60311d391cd23de5187ed57"
+  integrity sha512-nliqOv5NkE4zMON4UA6AMJE6As35afs8aYXATpU4pTUdIKiARZwrJVEP1boA3Rx1ZXHVkwxkhcq4VkqvsuRLsA==
+  dependencies:
+    esutils "^2.0.2"
+
 doctrine@1.5.0:
   version "1.5.0"
   resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
@@ -2976,6 +4296,77 @@ doctrine@^3.0.0:
   dependencies:
     esutils "^2.0.2"
 
+documentation@^12.0.1:
+  version "12.1.0"
+  resolved "https://registry.yarnpkg.com/documentation/-/documentation-12.1.0.tgz#0cabc4e88507872fd847129c00ae7d0e2482049c"
+  integrity sha512-iAllbFhy1P5DvKAcrPw0h5R5rNMnaXAjExj3XKUzW/eBvQ6JhTbDELQnN8k3SrBvQAnm70+6NLsmxA+csp4f/Q==
+  dependencies:
+    "@babel/core" "^7.1.2"
+    "@babel/generator" "^7.1.3"
+    "@babel/parser" "7.1.3"
+    "@babel/plugin-proposal-class-properties" "^7.1.0"
+    "@babel/plugin-proposal-decorators" "^7.1.2"
+    "@babel/plugin-proposal-do-expressions" "^7.0.0"
+    "@babel/plugin-proposal-export-default-from" "^7.0.0"
+    "@babel/plugin-proposal-export-namespace-from" "^7.0.0"
+    "@babel/plugin-proposal-function-bind" "^7.0.0"
+    "@babel/plugin-proposal-function-sent" "^7.1.0"
+    "@babel/plugin-proposal-json-strings" "^7.0.0"
+    "@babel/plugin-proposal-logical-assignment-operators" "^7.0.0"
+    "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0"
+    "@babel/plugin-proposal-numeric-separator" "^7.0.0"
+    "@babel/plugin-proposal-optional-chaining" "^7.0.0"
+    "@babel/plugin-proposal-pipeline-operator" "^7.0.0"
+    "@babel/plugin-proposal-throw-expressions" "^7.0.0"
+    "@babel/plugin-syntax-dynamic-import" "^7.0.0"
+    "@babel/plugin-syntax-import-meta" "^7.0.0"
+    "@babel/preset-env" "^7.1.0"
+    "@babel/preset-flow" "^7.0.0"
+    "@babel/preset-react" "^7.0.0"
+    "@babel/preset-stage-0" "^7.0.0"
+    "@babel/traverse" "^7.1.4"
+    "@babel/types" "^7.1.3"
+    ansi-html "^0.0.7"
+    babelify "^10.0.0"
+    chalk "^2.3.0"
+    chokidar "^2.0.4"
+    concat-stream "^1.6.0"
+    diff "^4.0.1"
+    doctrine-temporary-fork "2.1.0"
+    get-port "^4.0.0"
+    git-url-parse "^10.0.1"
+    github-slugger "1.2.0"
+    glob "^7.1.2"
+    globals-docs "^2.4.0"
+    highlight.js "^9.15.5"
+    ini "^1.3.5"
+    js-yaml "^3.10.0"
+    lodash "^4.17.10"
+    mdast-util-inject "^1.1.0"
+    micromatch "^3.1.5"
+    mime "^2.2.0"
+    module-deps-sortable "5.0.0"
+    parse-filepath "^1.0.2"
+    pify "^4.0.0"
+    read-pkg-up "^4.0.0"
+    remark "^9.0.0"
+    remark-html "^8.0.0"
+    remark-reference-links "^4.0.1"
+    remark-toc "^5.0.0"
+    resolve "^1.8.1"
+    stream-array "^1.1.2"
+    strip-json-comments "^2.0.1"
+    tiny-lr "^1.1.0"
+    unist-builder "^1.0.2"
+    unist-util-visit "^1.3.0"
+    vfile "^4.0.0"
+    vfile-reporter "^6.0.0"
+    vfile-sort "^2.1.0"
+    vinyl "^2.1.0"
+    vinyl-fs "^3.0.2"
+    vue-template-compiler "^2.5.16"
+    yargs "^12.0.2"
+
 dom-converter@^0.2:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
@@ -3043,10 +4434,10 @@ dot-prop@^4.1.1:
   dependencies:
     is-obj "^1.0.0"
 
-dottie@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/dottie/-/dottie-1.1.1.tgz#45c2a3f48bd6528eeed267a69a848eaaca6faa6a"
-  integrity sha1-RcKj9IvWUo7u0memmoSOqspvqmo=
+dottie@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/dottie/-/dottie-2.0.1.tgz#697ad9d72004db7574d21f892466a3c285893659"
+  integrity sha512-ch5OQgvGDK2u8pSZeSYAQaV/lczImd7pMJ7BcEPXmnFVjy4yJIzP6CsODJUTH8mg1tyH1Z2abOiuJO3DjZ/GBw==
 
 dtrace-provider@~0.8:
   version "0.8.7"
@@ -3055,12 +4446,12 @@ dtrace-provider@~0.8:
   dependencies:
     nan "^2.10.0"
 
-duplexer2@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
-  integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=
+duplexer2@^0.1.2, duplexer2@~0.1.0:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
+  integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=
   dependencies:
-    readable-stream "~1.1.9"
+    readable-stream "^2.0.2"
 
 duplexer@^0.1.1:
   version "0.1.1"
@@ -3138,6 +4529,11 @@ electron-to-chromium@^1.3.137, electron-to-chromium@^1.3.47:
   resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.138.tgz#3c27814d48040d3988eaee56ab839d032987aff4"
   integrity sha512-V6gvA2zuVp2l8gT8tvaFp3z2IOnx0UeCPuG6Fyw4x/eZEbt9xD9npSgia6emmDFHAz3TU0bElnpKZ3xZ0CUNDw==
 
+electron-to-chromium@^1.3.191:
+  version "1.3.210"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.210.tgz#0ce6247366c5771d4f5663a5879388fd1adefb7e"
+  integrity sha512-m1i/F+gw9jkauxDx0mOr7Sj6vp6se1mfkQNYqZb1yL5VGTp0AC1NZH5CGI6YMSO7WaScILmkKDZFG9/hlR9axQ==
+
 elliptic@^6.0.0:
   version "6.4.1"
   resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a"
@@ -3151,11 +4547,21 @@ elliptic@^6.0.0:
     minimalistic-assert "^1.0.0"
     minimalistic-crypto-utils "^1.0.0"
 
+"emoji-regex@>=6.0.0 <=6.1.1":
+  version "6.1.1"
+  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e"
+  integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=
+
 emoji-regex@^7.0.1:
   version "7.0.3"
   resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
   integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
 
+emoji-regex@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+  integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
 emojify.js@~1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/emojify.js/-/emojify.js-1.1.0.tgz#079fff223307c9007f570785e8e4935d5c398beb"
@@ -3185,13 +4591,6 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
   dependencies:
     once "^1.4.0"
 
-end-of-stream@~0.1.5:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf"
-  integrity sha1-jhdyBsPICDfYVjLouTWd/osvbq8=
-  dependencies:
-    once "~1.3.0"
-
 engine.io-client@~3.2.0:
   version "3.2.1"
   resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.2.1.tgz#6f54c0475de487158a1a7c77d10178708b6add36"
@@ -3272,6 +4671,14 @@ error-ex@^1.2.0, error-ex@^1.3.1:
   dependencies:
     is-arrayish "^0.2.1"
 
+error@^7.0.0:
+  version "7.0.2"
+  resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02"
+  integrity sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=
+  dependencies:
+    string-template "~0.2.1"
+    xtend "~4.0.0"
+
 es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0:
   version "1.13.0"
   resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
@@ -3293,7 +4700,7 @@ es-to-primitive@^1.2.0:
     is-date-object "^1.0.1"
     is-symbol "^1.0.2"
 
-es5-ext@^0.10.12, es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46:
+es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46:
   version "0.10.50"
   resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778"
   integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==
@@ -3307,7 +4714,7 @@ es6-error@^2.0.2:
   resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-2.1.1.tgz#91384301ec5ed1c9a7247d1128247216f03547cd"
   integrity sha1-kThDAexe0cmnJH0RKCRyFvA1R80=
 
-es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.3:
+es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3:
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
   integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
@@ -3349,6 +4756,11 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1
   resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
   integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
 
+escaper@^2.5.3:
+  version "2.5.3"
+  resolved "https://registry.yarnpkg.com/escaper/-/escaper-2.5.3.tgz#8b8fe90ba364054151ab7eff18b4ce43b1e13ab5"
+  integrity sha512-QGb9sFxBVpbzMggrKTX0ry1oiI4CSDAl9vIL702hzl1jGW8VZs7qfqTRX7WDOjoNDoEVGcEtu1ZOQgReSfT2kQ==
+
 escodegen@^1.9.1:
   version "1.11.1"
   resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510"
@@ -3532,6 +4944,11 @@ estree-walker@^0.6.0:
   resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
   integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
 
+esutils@^2.0.0:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+  integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
 esutils@^2.0.2:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
@@ -3578,19 +4995,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
     md5.js "^1.3.4"
     safe-buffer "^5.1.1"
 
-execa@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
-  integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=
-  dependencies:
-    cross-spawn "^5.0.1"
-    get-stream "^3.0.0"
-    is-stream "^1.1.0"
-    npm-run-path "^2.0.0"
-    p-finally "^1.0.0"
-    signal-exit "^3.0.0"
-    strip-eof "^1.0.0"
-
 execa@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
@@ -3631,13 +5035,6 @@ expand-range@^1.8.1:
   dependencies:
     fill-range "^2.1.0"
 
-expand-tilde@^1.2.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449"
-  integrity sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=
-  dependencies:
-    os-homedir "^1.0.1"
-
 expand-tilde@^2.0.0, expand-tilde@^2.0.2:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
@@ -3807,7 +5204,7 @@ extsprintf@^1.2.0:
   resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
   integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
 
-fancy-log@^1.1.0:
+fancy-log@^1.3.3:
   version "1.3.3"
   resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7"
   integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==
@@ -3842,6 +5239,13 @@ fastparse@^1.1.1:
   resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
   integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
 
+faye-websocket@~0.10.0:
+  version "0.10.0"
+  resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
+  integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=
+  dependencies:
+    websocket-driver ">=0.5.1"
+
 fd-slicer@~1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
@@ -3948,11 +5352,6 @@ find-cache-dir@^2.0.0:
     make-dir "^2.0.0"
     pkg-dir "^3.0.0"
 
-find-index@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
-  integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=
-
 find-up@^2.0.0, find-up@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
@@ -3967,16 +5366,6 @@ find-up@^3.0.0:
   dependencies:
     locate-path "^3.0.0"
 
-findup-sync@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-1.0.0.tgz#6f7e4b57b6ee3a4037b4414eaedea3f58f71e0ec"
-  integrity sha1-b35LV7buOkA3tEFOrt6j9Y9x4Ow=
-  dependencies:
-    detect-file "^0.1.0"
-    is-glob "^2.0.1"
-    micromatch "^2.3.7"
-    resolve-dir "^0.1.0"
-
 findup-sync@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc"
@@ -3987,27 +5376,6 @@ findup-sync@^2.0.0:
     micromatch "^3.0.4"
     resolve-dir "^1.0.1"
 
-fined@^1.0.1:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b"
-  integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==
-  dependencies:
-    expand-tilde "^2.0.2"
-    is-plain-object "^2.0.3"
-    object.defaults "^1.1.0"
-    object.pick "^1.2.0"
-    parse-filepath "^1.0.1"
-
-first-chunk-stream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"
-  integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=
-
-flagged-respawn@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41"
-  integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==
-
 flat-cache@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
@@ -4029,7 +5397,7 @@ flowchart.js@^1.6.4:
   dependencies:
     raphael "2.2.7"
 
-flush-write-stream@^1.0.0:
+flush-write-stream@^1.0.0, flush-write-stream@^1.0.2:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
   integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
@@ -4049,13 +5417,6 @@ for-own@^0.1.4:
   dependencies:
     for-in "^1.0.1"
 
-for-own@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b"
-  integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=
-  dependencies:
-    for-in "^1.0.1"
-
 forever-agent@~0.6.1:
   version "0.6.1"
   resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@@ -4129,11 +5490,6 @@ fs-constants@^1.0.0:
   resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
   integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
 
-fs-exists-sync@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add"
-  integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=
-
 fs-extra@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950"
@@ -4143,10 +5499,10 @@ fs-extra@^1.0.0:
     jsonfile "^2.1.0"
     klaw "^1.0.0"
 
-fs-extra@^4.0.1:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
-  integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==
+fs-extra@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
+  integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
   dependencies:
     graceful-fs "^4.1.2"
     jsonfile "^4.0.0"
@@ -4159,6 +5515,14 @@ fs-minipass@^1.2.5:
   dependencies:
     minipass "^2.2.1"
 
+fs-mkdirp-stream@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb"
+  integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=
+  dependencies:
+    graceful-fs "^4.1.11"
+    through2 "^2.0.3"
+
 fs-readdir-recursive@^1.0.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
@@ -4211,17 +5575,12 @@ gauge@~2.7.3:
     strip-ansi "^3.0.1"
     wide-align "^1.1.0"
 
-gaze@^0.5.1:
-  version "0.5.2"
-  resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f"
-  integrity sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=
+generate-function@^2.3.1:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f"
+  integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==
   dependencies:
-    globule "~0.1.0"
-
-generic-pool@2.4.2:
-  version "2.4.2"
-  resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.2.tgz#886bc5bf0beb7db96e81bcbba078818de5a62683"
-  integrity sha1-iGvFvwvrfblugby7oHiBjeWmJoM=
+    is-property "^1.0.2"
 
 generic-pool@2.4.3:
   version "2.4.3"
@@ -4233,10 +5592,15 @@ get-caller-file@^1.0.1, get-caller-file@^1.0.2:
   resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
   integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
 
-get-stream@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
-  integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
+get-caller-file@^2.0.1:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+  integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-port@^4.0.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119"
+  integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==
 
 get-stream@^4.0.0:
   version "4.1.0"
@@ -4262,6 +5626,35 @@ gist-embed@~2.6.0:
   resolved "https://registry.yarnpkg.com/gist-embed/-/gist-embed-2.6.0.tgz#1ea95703fa1fc2a1255419f6f06c67e9920649ab"
   integrity sha1-HqlXA/ofwqElVBn28Gxn6ZIGSas=
 
+git-up@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/git-up/-/git-up-2.1.0.tgz#2f14cfe78327e7c4a2b92fcac7bfc674fdfad40c"
+  integrity sha512-MJgwfcSd9qxgDyEYpRU/CDxNpUadrK80JHuEQDG4Urn0m7tpSOgCBrtiSIa9S9KH8Tbuo/TN8SSQmJBvsw1HkA==
+  dependencies:
+    is-ssh "^1.3.0"
+    parse-url "^3.0.2"
+
+git-url-parse@^10.0.1:
+  version "10.1.0"
+  resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-10.1.0.tgz#a27813218f8777e91d15f1c121b83bf14721b67e"
+  integrity sha512-goZOORAtFjU1iG+4zZgWq+N7It09PqS3Xsy43ZwhP5unDD0tTSmXTpqULHodMdJXGejm3COwXIhIRT6Z8DYVZQ==
+  dependencies:
+    git-up "^2.0.0"
+
+github-slugger@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.0.tgz#8ada3286fd046d8951c3c952a8d7854cfd90fd9a"
+  integrity sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q==
+  dependencies:
+    emoji-regex ">=6.0.0 <=6.1.1"
+
+github-slugger@^1.0.0, github-slugger@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.1.tgz#47e904e70bf2dccd0014748142d31126cfd49508"
+  integrity sha512-SsZUjg/P03KPzQBt7OxJPasGw6NRO5uOgiZ5RGXVud5iSIZ0eNZeNp5rTwCxtavrRUa/A77j8mePVc5lEvk0KQ==
+  dependencies:
+    emoji-regex ">=6.0.0 <=6.1.1"
+
 glob-base@^0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
@@ -4285,31 +5678,21 @@ glob-parent@^3.1.0:
     is-glob "^3.1.0"
     path-dirname "^1.0.0"
 
-glob-stream@^3.1.5:
-  version "3.1.18"
-  resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b"
-  integrity sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=
-  dependencies:
-    glob "^4.3.1"
-    glob2base "^0.0.12"
-    minimatch "^3.0.4"
-    ordered-read-streams "^0.1.0"
-    through2 "^0.6.1"
-    unique-stream "^1.0.0"
-
-glob-watcher@^0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b"
-  integrity sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=
-  dependencies:
-    gaze "^0.5.1"
-
-glob2base@^0.0.12:
-  version "0.0.12"
-  resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56"
-  integrity sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=
+glob-stream@^6.1.0:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4"
+  integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=
   dependencies:
-    find-index "^0.1.1"
+    extend "^3.0.0"
+    glob "^7.1.1"
+    glob-parent "^3.1.0"
+    is-negated-glob "^1.0.0"
+    ordered-read-streams "^1.0.0"
+    pumpify "^1.3.5"
+    readable-stream "^2.1.5"
+    remove-trailing-separator "^1.0.1"
+    to-absolute-glob "^2.0.0"
+    unique-stream "^2.0.2"
 
 glob@7.1.2:
   version "7.1.2"
@@ -4323,16 +5706,6 @@ glob@7.1.2:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
-glob@^4.3.1:
-  version "4.5.3"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f"
-  integrity sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "^3.0.4"
-    once "^1.3.0"
-
 glob@^6.0.1, glob@~6.0.4:
   version "6.0.4"
   resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
@@ -4340,11 +5713,11 @@ glob@^6.0.1, glob@~6.0.4:
   dependencies:
     inflight "^1.0.4"
     inherits "2"
-    minimatch "^3.0.4"
+    minimatch "2 || 3"
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
-glob@^7.0.0, glob@^7.0.5, glob@^7.1.2, glob@^7.1.3:
+glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3:
   version "7.1.4"
   resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
   integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
@@ -4356,23 +5729,6 @@ glob@^7.0.0, glob@^7.0.5, glob@^7.1.2, glob@^7.1.3:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
-glob@~3.1.21:
-  version "3.1.21"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd"
-  integrity sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=
-  dependencies:
-    graceful-fs "~1.2.0"
-    inherits "1"
-    minimatch "^3.0.4"
-
-global-modules@^0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d"
-  integrity sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=
-  dependencies:
-    global-prefix "^0.1.4"
-    is-windows "^0.2.0"
-
 global-modules@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
@@ -4382,16 +5738,6 @@ global-modules@^1.0.0:
     is-windows "^1.0.1"
     resolve-dir "^1.0.0"
 
-global-prefix@^0.1.4:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f"
-  integrity sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=
-  dependencies:
-    homedir-polyfill "^1.0.0"
-    ini "^1.3.4"
-    is-windows "^0.2.0"
-    which "^1.2.12"
-
 global-prefix@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
@@ -4403,7 +5749,12 @@ global-prefix@^1.0.1:
     is-windows "^1.0.1"
     which "^1.2.14"
 
-globals@^11.7.0:
+globals-docs@^2.4.0:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/globals-docs/-/globals-docs-2.4.0.tgz#f2c647544eb6161c7c38452808e16e693c2dafbb"
+  integrity sha512-B69mWcqCmT3jNYmSxRxxOXWfzu3Go8NQXPfl2o0qPd1EEFhwW0dFUg9ztTu915zPQzqwIhWAlw6hmfIcCK4kkQ==
+
+globals@^11.1.0, globals@^11.7.0:
   version "11.12.0"
   resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
   integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
@@ -4425,22 +5776,6 @@ globby@^7.1.1:
     pify "^3.0.0"
     slash "^1.0.0"
 
-globule@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5"
-  integrity sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=
-  dependencies:
-    glob "~3.1.21"
-    lodash "~1.0.1"
-    minimatch "^3.0.4"
-
-glogg@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f"
-  integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==
-  dependencies:
-    sparkles "^1.0.0"
-
 good-listener@^1.2.2:
   version "1.2.2"
   resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
@@ -4453,24 +5788,10 @@ graceful-fs@*, graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, gra
   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
   integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
 
-graceful-fs@^3.0.0:
-  version "3.0.11"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
-  integrity sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=
-  dependencies:
-    natives "^1.1.0"
-
-graceful-fs@~1.2.0:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
-  integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=
-
-graphlib@^2.1.1:
-  version "2.1.7"
-  resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.7.tgz#b6a69f9f44bd9de3963ce6804a2fc9e73d86aecc"
-  integrity sha512-TyI9jIy2J4j0qgPmOOrHTCtpPqJGN/aurBwc6ZT+bRii+di1I+Wv3obRhVrmBEXet+qkMaEX67dXrwsd3QQM6w==
-  dependencies:
-    lodash "^4.17.5"
+graceful-fs@^4.0.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b"
+  integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==
 
 graphlibrary@^2.2.0:
   version "2.2.0"
@@ -4484,63 +5805,15 @@ growl@1.10.5:
   resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
   integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
 
-gulp-help@~1.6.1:
-  version "1.6.1"
-  resolved "https://registry.yarnpkg.com/gulp-help/-/gulp-help-1.6.1.tgz#261db186e18397fef3f6a2c22e9c315bfa88ae0c"
-  integrity sha1-Jh2xhuGDl/7z9qLCLpwxW/qIrgw=
-  dependencies:
-    chalk "^1.0.0"
-    object-assign "^3.0.0"
-
-gulp-util@^3.0.0:
-  version "3.0.8"
-  resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
-  integrity sha1-AFTh50RQLifATBh8PsxQXdVLu08=
-  dependencies:
-    array-differ "^1.0.0"
-    array-uniq "^1.0.2"
-    beeper "^1.0.0"
-    chalk "^1.0.0"
-    dateformat "^2.0.0"
-    fancy-log "^1.1.0"
-    gulplog "^1.0.0"
-    has-gulplog "^0.1.0"
-    lodash._reescape "^3.0.0"
-    lodash._reevaluate "^3.0.0"
-    lodash._reinterpolate "^3.0.0"
-    lodash.template "^3.0.0"
-    minimist "^1.1.0"
-    multipipe "^0.1.2"
-    object-assign "^3.0.0"
-    replace-ext "0.0.1"
-    through2 "^2.0.0"
-    vinyl "^0.5.0"
-
-gulp@^3.9.1:
-  version "3.9.1"
-  resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4"
-  integrity sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=
-  dependencies:
-    archy "^1.0.0"
-    chalk "^1.0.0"
-    deprecated "^0.0.1"
-    gulp-util "^3.0.0"
-    interpret "^1.0.0"
-    liftoff "^2.1.0"
-    minimist "^1.1.0"
-    orchestrator "^0.3.0"
-    pretty-hrtime "^1.0.0"
-    semver "^4.1.0"
-    tildify "^1.0.0"
-    v8flags "^2.0.2"
-    vinyl-fs "^0.3.0"
-
-gulplog@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5"
-  integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U=
+gulp-print@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/gulp-print/-/gulp-print-5.0.2.tgz#8f379148218d2e168461baa74352e11d1bf7aa75"
+  integrity sha512-iIpHMzC/b3gFvVXOfP9Jk94SWGIsDLVNUrxULRleQev+08ug07mh84b1AOlW6QDQdmInQiqDFqJN1UvhU2nXdg==
   dependencies:
-    glogg "^1.0.0"
+    ansi-colors "^3.2.4"
+    fancy-log "^1.3.3"
+    map-stream "0.0.7"
+    vinyl "^2.2.0"
 
 handlebars@^4.1.2:
   version "4.1.2"
@@ -4595,13 +5868,6 @@ has-flag@^3.0.0:
   resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
   integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
 
-has-gulplog@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
-  integrity sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=
-  dependencies:
-    sparkles "^1.0.0"
-
 has-symbols@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
@@ -4674,12 +5940,45 @@ hasha@^2.2.0:
     is-stream "^1.0.1"
     pinkie-promise "^2.0.0"
 
+hast-util-is-element@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz#423b4b26fe8bf1f25950fe052e9ce8f83fd5f6a4"
+  integrity sha512-C62CVn7jbjp89yOhhy7vrkSaB7Vk906Gtcw/Ihd+Iufnq+2pwOZjdPmpzpKLWJXPJBMDX3wXg4FqmdOayPcewA==
+
+hast-util-sanitize@^1.0.0:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz#4e60d66336bd67e52354d581967467029a933f2e"
+  integrity sha512-AIeKHuHx0Wk45nSkGVa2/ujQYTksnDl8gmmKo/mwQi7ag7IBZ8cM3nJ2G86SajbjGP/HRpud6kMkPtcM2i0Tlw==
+  dependencies:
+    xtend "^4.0.1"
+
+hast-util-to-html@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz#3666b05afb62bd69f8f5e6c94db04dea19438e2a"
+  integrity sha512-2emzwyf0xEsc4TBIPmDJmBttIw8R4SXAJiJZoiRR/s47ODYWgOqNoDbf2SJAbMbfNdFWMiCSOrI3OVnX6Qq2Mg==
+  dependencies:
+    ccount "^1.0.0"
+    comma-separated-tokens "^1.0.1"
+    hast-util-is-element "^1.0.0"
+    hast-util-whitespace "^1.0.0"
+    html-void-elements "^1.0.0"
+    property-information "^4.0.0"
+    space-separated-tokens "^1.0.0"
+    stringify-entities "^1.0.1"
+    unist-util-is "^2.0.0"
+    xtend "^4.0.1"
+
+hast-util-whitespace@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz#6d161b307bd0693b5ec000c7c7e8b5445109ee34"
+  integrity sha512-AlkYiLTTwPOyxZ8axq2/bCwRUPjIPBfrHkXuCR92B38b3lSdU22R5F/Z4DL6a2kxWpekWq1w6Nj48tWat6GeRA==
+
 he@1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
   integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0=
 
-he@1.2.x, he@^1.1.1:
+he@1.2.x, he@^1.1.0, he@^1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
   integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
@@ -4735,6 +6034,11 @@ highlight.js@^9.1.0:
   resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.8.tgz#f344fda123f36f1a65490e932cf90569e4999971"
   integrity sha512-RrapkKQWwE+wKdF73VsOa2RQdIoO3mxwJ4P8mhbI6KYJUraUHRKM5w5zQQKXNk0xNL4UVRdulV9SBJcmzJNzVA==
 
+highlight.js@^9.15.5:
+  version "9.15.9"
+  resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.9.tgz#865257da1dbb4a58c4552d46c4b3854f77f0e6d5"
+  integrity sha512-M0zZvfLr5p0keDMCAhNBp03XJbKBxUx5AfyfufMdFMEP4N/Xj6dh0IqC75ys7BAzceR34NgcvXjupRVaHBPPVQ==
+
 highlight.js@~9.12.0:
   version "9.12.0"
   resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e"
@@ -4757,7 +6061,7 @@ home-or-tmp@^2.0.0:
     os-homedir "^1.0.0"
     os-tmpdir "^1.0.1"
 
-homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1:
+homedir-polyfill@^1.0.1:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
   integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
@@ -4816,6 +6120,24 @@ html-minifier@^3.5.20:
     relateurl "0.2.x"
     uglify-js "3.4.x"
 
+html-minifier@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56"
+  integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==
+  dependencies:
+    camel-case "^3.0.0"
+    clean-css "^4.2.1"
+    commander "^2.19.0"
+    he "^1.2.0"
+    param-case "^2.1.1"
+    relateurl "^0.2.7"
+    uglify-js "^3.5.1"
+
+html-void-elements@^1.0.0:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.4.tgz#95e8bb5ecd6b88766569c2645f2b5f1591db9ba5"
+  integrity sha512-yMk3naGPLrfvUV9TdDbuYXngh/TpHbA6TrOw3HL9kS8yhwx7i309BReNg7CbAJXGE+UMJ6je5OqJ7lC63o6YuQ==
+
 html-webpack-plugin@4.0.0-beta.2:
   version "4.0.0-beta.2"
   resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.2.tgz#c3a212448ee198a17dacd06525678ee12f917420"
@@ -4851,6 +6173,11 @@ http-errors@1.7.2, http-errors@~1.7.2:
     statuses ">= 1.5.0 < 2"
     toidentifier "1.0.0"
 
+"http-parser-js@>=0.4.0 <0.4.11":
+  version "0.4.10"
+  resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4"
+  integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=
+
 http-signature@~1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
@@ -4877,7 +6204,7 @@ i18n@^0.8.3:
     mustache "*"
     sprintf-js ">=1.0.3"
 
-iconv-lite@0.4.24, iconv-lite@^0.4.11, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
+iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.11, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
   version "0.4.24"
   resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
   integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
@@ -4963,7 +6290,7 @@ image-size@~0.5.0:
     commander "^2.13.0"
     glob "^7.1.2"
     q "^2.0.3"
-    request "^2.83.0"
+    request "^2.88.0"
 
 import-fresh@^2.0.0:
   version "2.0.0"
@@ -5012,7 +6339,7 @@ indexof@0.0.1:
   resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
   integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
 
-inflection@^1.6.0:
+inflection@1.12.0:
   version "1.12.0"
   resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416"
   integrity sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=
@@ -5025,11 +6352,6 @@ inflight@^1.0.4:
     once "^1.3.0"
     wrappy "1"
 
-inherits@1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"
-  integrity sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=
-
 inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@@ -5040,7 +6362,7 @@ inherits@2.0.1:
   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
   integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
 
-ini@^1.3.4, ini@~1.3.0:
+ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
   version "1.3.5"
   resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
   integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
@@ -5064,7 +6386,7 @@ inquirer@^6.2.2:
     strip-ansi "^5.1.0"
     through "^2.3.6"
 
-interpret@^1.0.0, interpret@^1.1.0:
+interpret@^1.1.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
   integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
@@ -5076,11 +6398,6 @@ invariant@^2.2.2:
   dependencies:
     loose-envify "^1.0.0"
 
-invert-kv@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
-  integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
-
 invert-kv@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
@@ -5123,6 +6440,24 @@ is-accessor-descriptor@^1.0.0:
   dependencies:
     kind-of "^6.0.0"
 
+is-alphabetical@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8"
+  integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==
+
+is-alphanumeric@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4"
+  integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=
+
+is-alphanumerical@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c"
+  integrity sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==
+  dependencies:
+    is-alphabetical "^1.0.0"
+    is-decimal "^1.0.0"
+
 is-arrayish@^0.2.1:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
@@ -5140,11 +6475,21 @@ is-binary-path@^1.0.0:
   dependencies:
     binary-extensions "^1.0.0"
 
-is-buffer@^1.1.5:
+is-bluebird@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-bluebird/-/is-bluebird-1.0.2.tgz#096439060f4aa411abee19143a84d6a55346d6e2"
+  integrity sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI=
+
+is-buffer@^1.1.4, is-buffer@^1.1.5:
   version "1.1.6"
   resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
   integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
 
+is-buffer@^2.0.0:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725"
+  integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==
+
 is-callable@^1.1.4:
   version "1.1.4"
   resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
@@ -5181,6 +6526,11 @@ is-date-object@^1.0.1:
   resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
   integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
 
+is-decimal@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7"
+  integrity sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==
+
 is-descriptor@^0.1.0:
   version "0.1.6"
   resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
@@ -5257,6 +6607,11 @@ is-fullwidth-code-point@^2.0.0:
   resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
   integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
 
+is-fullwidth-code-point@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+  integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
 is-glob@^2.0.0, is-glob@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
@@ -5278,6 +6633,16 @@ is-glob@^4.0.0:
   dependencies:
     is-extglob "^2.1.1"
 
+is-hexadecimal@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee"
+  integrity sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==
+
+is-negated-glob@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2"
+  integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=
+
 is-number@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
@@ -5302,6 +6667,11 @@ is-obj@^1.0.0:
   resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
   integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
 
+is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+  integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
+
 is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
   version "2.0.4"
   resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
@@ -5324,6 +6694,11 @@ is-promise@^2.1, is-promise@^2.1.0:
   resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
   integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
 
+is-property@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
+  integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=
+
 is-regex@^1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
@@ -5331,6 +6706,11 @@ is-regex@^1.0.4:
   dependencies:
     has "^1.0.1"
 
+is-regexp@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
+  integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
+
 is-relative@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
@@ -5343,6 +6723,13 @@ is-resolvable@^1.0.0:
   resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
   integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
 
+is-ssh@^1.3.0:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3"
+  integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg==
+  dependencies:
+    protocols "^1.1.0"
+
 is-stream@^1.0.1, is-stream@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
@@ -5374,21 +6761,31 @@ is-unc-path@^1.0.0:
   dependencies:
     unc-path-regex "^0.1.2"
 
-is-utf8@^0.2.0:
+is-utf8@^0.2.1:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
   integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
 
-is-windows@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c"
-  integrity sha1-3hqm1j6indJIc3tp8f+LgALSEIw=
+is-valid-glob@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa"
+  integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=
+
+is-whitespace-character@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz#b3ad9546d916d7d3ffa78204bca0c26b56257fac"
+  integrity sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==
 
 is-windows@^1.0.1, is-windows@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
   integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
 
+is-word-character@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz#264d15541cbad0ba833d3992c34e6b40873b08aa"
+  integrity sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==
+
 is-wsl@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
@@ -5451,7 +6848,7 @@ jquery@^3.4.1:
   resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2"
   integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==
 
-js-beautify@^1.6.11:
+js-beautify@^1.8.8:
   version "1.10.0"
   resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.10.0.tgz#9753a13c858d96828658cd18ae3ca0e5783ea672"
   integrity sha512-OMwf/tPDpE/BLlYKqZOhqWsd3/z2N3KOlyn1wsCRGFwViE8LOQTcDtathQvHvZc+q+zWmcNAbwKSC+iJoMaH2Q==
@@ -5467,6 +6864,11 @@ js-cookie@^2.1.3:
   resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.0.tgz#1b2c279a6eece380a12168b92485265b35b1effb"
   integrity sha1-Gywnmm7s44ChIWi5JIUmWzWx7/s=
 
+js-levenshtein@^1.1.3:
+  version "1.1.6"
+  resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
+  integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
+
 "js-sequence-diagrams@git+https://github.com/codimd/js-sequence-diagrams.git":
   version "2.0.1"
   resolved "git+https://github.com/codimd/js-sequence-diagrams.git#b9afa038521e5dadf9b97624a3c7db21890be669"
@@ -5492,7 +6894,7 @@ js-tokens@^3.0.2:
   resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
   integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
 
-js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@~3.13.1:
+js-yaml@^3.10.0, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@~3.13.1:
   version "3.13.1"
   resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
   integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
@@ -5514,7 +6916,7 @@ jsdom-nogyp@^0.8.3:
     cssstyle "~0.2.3"
     htmlparser2 ">= 3.1.5 <4"
     nwmatcher "~1.3.1"
-    request "2.x"
+    request "^2.88.0"
     xmlhttprequest ">=1.5.0"
 
 jsdom@^11.9.0:
@@ -5536,7 +6938,7 @@ jsdom@^11.9.0:
     nwsapi "^2.0.7"
     parse5 "4.0.0"
     pn "^1.1.0"
-    request "^2.87.0"
+    request "^2.88.0"
     request-promise-native "^1.0.5"
     sax "^1.2.4"
     symbol-tree "^3.2.2"
@@ -5554,6 +6956,11 @@ jsesc@^1.3.0:
   resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
   integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
 
+jsesc@^2.5.1:
+  version "2.5.2"
+  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
+  integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+
 jsesc@~0.5.0:
   version "0.5.0"
   resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
@@ -5608,6 +7015,13 @@ json5@^1.0.1:
   dependencies:
     minimist "^1.2.0"
 
+json5@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850"
+  integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==
+  dependencies:
+    minimist "^1.2.0"
+
 jsonfile@^2.1.0:
   version "2.4.0"
   resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
@@ -5630,6 +7044,11 @@ jsonlint@^1.6.2:
     JSV "^4.0.x"
     nomnom "^1.5.x"
 
+jsonparse@^1.2.0:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
+  integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
+
 jsonparse@~1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.2.0.tgz#5c0c5685107160e72fe7489bddea0b44c2bc67bd"
@@ -5713,13 +7132,6 @@ lazystream@^1.0.0:
   dependencies:
     readable-stream "^2.0.5"
 
-lcid@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
-  integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
-  dependencies:
-    invert-kv "^1.0.0"
-
 lcid@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
@@ -5762,6 +7174,13 @@ ldapjs@^1.0.2:
   optionalDependencies:
     dtrace-provider "~0.8"
 
+lead@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42"
+  integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=
+  dependencies:
+    flush-write-stream "^1.0.2"
+
 left-pad@^1.3.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
@@ -5787,7 +7206,7 @@ less@^2.7.1:
     mime "^1.2.11"
     mkdirp "^0.5.0"
     promise "^7.1.1"
-    request "^2.81.0"
+    request "^2.88.0"
     source-map "^0.5.3"
 
 levn@^0.3.0, levn@~0.3.0:
@@ -5798,20 +7217,6 @@ levn@^0.3.0, levn@~0.3.0:
     prelude-ls "~1.1.2"
     type-check "~0.3.2"
 
-liftoff@^2.1.0:
-  version "2.5.0"
-  resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec"
-  integrity sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=
-  dependencies:
-    extend "^3.0.0"
-    findup-sync "^2.0.0"
-    fined "^1.0.1"
-    flagged-respawn "^1.0.0"
-    is-plain-object "^2.0.4"
-    object.map "^1.0.0"
-    rechoir "^0.6.2"
-    resolve "^1.1.7"
-
 linkify-it@^2.0.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.1.0.tgz#c4caf38a6cd7ac2212ef3c7d2bde30a91561f9db"
@@ -5826,6 +7231,11 @@ list.js@^1.5.0:
   dependencies:
     string-natural-compare "^2.0.2"
 
+livereload-js@^2.3.0:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c"
+  integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==
+
 load-json-file@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
@@ -5836,6 +7246,16 @@ load-json-file@^2.0.0:
     pify "^2.0.0"
     strip-bom "^3.0.0"
 
+load-json-file@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
+  integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
+  dependencies:
+    graceful-fs "^4.1.2"
+    parse-json "^4.0.0"
+    pify "^3.0.0"
+    strip-bom "^3.0.0"
+
 loader-runner@^2.3.0:
   version "2.4.0"
   resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
@@ -5876,51 +7296,6 @@ locate-path@^3.0.0:
     p-locate "^3.0.0"
     path-exists "^3.0.0"
 
-lodash._basecopy@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
-  integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=
-
-lodash._basetostring@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"
-  integrity sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=
-
-lodash._basevalues@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"
-  integrity sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=
-
-lodash._getnative@^3.0.0:
-  version "3.9.1"
-  resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
-  integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
-
-lodash._isiterateecall@^3.0.0:
-  version "3.0.9"
-  resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
-  integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=
-
-lodash._reescape@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"
-  integrity sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=
-
-lodash._reevaluate@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed"
-  integrity sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=
-
-lodash._reinterpolate@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
-  integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
-
-lodash._root@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
-  integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=
-
 lodash.assignin@^4.0.9:
   version "4.2.0"
   resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
@@ -5936,13 +7311,6 @@ lodash.defaults@^4.0.1:
   resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
   integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=
 
-lodash.escape@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
-  integrity sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=
-  dependencies:
-    lodash._root "^3.0.0"
-
 lodash.filter@^4.4.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace"
@@ -5958,25 +7326,6 @@ lodash.foreach@^4.3.0:
   resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
   integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=
 
-lodash.isarguments@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
-  integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=
-
-lodash.isarray@^3.0.0:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
-  integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=
-
-lodash.keys@^3.0.0:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
-  integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=
-  dependencies:
-    lodash._getnative "^3.0.0"
-    lodash.isarguments "^3.0.0"
-    lodash.isarray "^3.0.0"
-
 lodash.map@^4.4.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
@@ -6007,11 +7356,6 @@ lodash.reject@^4.4.0:
   resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415"
   integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=
 
-lodash.restparam@^3.0.0:
-  version "3.6.1"
-  resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
-  integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=
-
 lodash.some@^4.4.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
@@ -6022,43 +7366,20 @@ lodash.sortby@^4.7.0:
   resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
   integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
 
-lodash.template@^3.0.0:
-  version "3.6.2"
-  resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f"
-  integrity sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=
-  dependencies:
-    lodash._basecopy "^3.0.0"
-    lodash._basetostring "^3.0.0"
-    lodash._basevalues "^3.0.0"
-    lodash._isiterateecall "^3.0.0"
-    lodash._reinterpolate "^3.0.0"
-    lodash.escape "^3.0.0"
-    lodash.keys "^3.0.0"
-    lodash.restparam "^3.0.0"
-    lodash.templatesettings "^3.0.0"
-
-lodash.templatesettings@^3.0.0:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5"
-  integrity sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=
-  dependencies:
-    lodash._reinterpolate "^3.0.0"
-    lodash.escape "^3.0.0"
-
 lodash.uniq@^4.5.0:
   version "4.5.0"
   resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
   integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
 
-lodash@4.17.x, lodash@^4.14.2, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.8.0:
+lodash@4.17.x, lodash@^4.14.2, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.8.0:
   version "4.17.11"
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
   integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
 
-lodash@~1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551"
-  integrity sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=
+lodash@^4.17.10, lodash@^4.17.13:
+  version "4.17.15"
+  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
+  integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
 
 logform@^2.1.1:
   version "2.1.2"
@@ -6071,6 +7392,16 @@ logform@^2.1.1:
     ms "^2.1.1"
     triple-beam "^1.3.0"
 
+long@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
+  integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
+
+longest-streak@^2.0.1:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105"
+  integrity sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==
+
 longest@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
@@ -6088,7 +7419,7 @@ lower-case@^1.1.1:
   resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
   integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
 
-lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.5:
+lru-cache@^4.1.1, lru-cache@^4.1.3, lru-cache@^4.1.5:
   version "4.1.5"
   resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
   integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
@@ -6144,13 +7475,6 @@ make-dir@^2.0.0:
     pify "^4.0.1"
     semver "^5.6.0"
 
-make-iterator@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6"
-  integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==
-  dependencies:
-    kind-of "^6.0.2"
-
 make-plural@^3.0.3, make-plural@~3.0.3:
   version "3.0.6"
   resolved "https://registry.yarnpkg.com/make-plural/-/make-plural-3.0.6.tgz#2033a03bac290b8f3bb91258f65b9df7e8b01ca7"
@@ -6175,6 +7499,11 @@ map-cache@^0.2.0, map-cache@^0.2.2:
   resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
   integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
 
+map-stream@0.0.7:
+  version "0.0.7"
+  resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.7.tgz#8a1f07896d82b10926bd3744a2420009f88974a8"
+  integrity sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=
+
 map-visit@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
@@ -6182,6 +7511,11 @@ map-visit@^1.0.0:
   dependencies:
     object-visit "^1.0.0"
 
+markdown-escapes@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz#6155e10416efaafab665d466ce598216375195f5"
+  integrity sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==
+
 markdown-it-abbr@^1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/markdown-it-abbr/-/markdown-it-abbr-1.0.4.tgz#d66b5364521cbb3dd8aa59dadfba2fb6865c8fd8"
@@ -6268,10 +7602,15 @@ markdown-pdf@^9.0.0:
     through2 "^2.0.0"
     tmp "0.0.33"
 
-marked@~0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.2.tgz#c574be8b545a8b48641456ca1dbe0e37b6dccc1a"
-  integrity sha512-LqxwVH3P/rqKX4EKGz7+c2G9r98WeM/SW34ybhgNGhUQNKtf1GmmSkJ6cDGJ/t6tiyae49qRkpyTw2B9HOrgUA==
+markdown-table@^1.1.0:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60"
+  integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==
+
+marked@~0.7.0:
+  version "0.7.0"
+  resolved "https://registry.yarnpkg.com/marked/-/marked-0.7.0.tgz#b64201f051d271b1edc10a04d1ae9b74bb8e5c0e"
+  integrity sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==
 
 math-interval-parser@^1.1.0:
   version "1.1.0"
@@ -6314,6 +7653,59 @@ md5.js@^1.3.4:
     inherits "^2.0.1"
     safe-buffer "^5.1.2"
 
+mdast-util-compact@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz#98a25cc8a7865761a41477b3a87d1dcef0b1e79d"
+  integrity sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==
+  dependencies:
+    unist-util-visit "^1.1.0"
+
+mdast-util-definitions@^1.2.0:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.4.tgz#2b54ad4eecaff9d9fcb6bf6f9f6b68b232d77ca7"
+  integrity sha512-HfUArPog1j4Z78Xlzy9Q4aHLnrF/7fb57cooTHypyGoe2XFNbcx/kWZDoOz+ra8CkUzvg3+VHV434yqEd1DRmA==
+  dependencies:
+    unist-util-visit "^1.0.0"
+
+mdast-util-inject@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz#db06b8b585be959a2dcd2f87f472ba9b756f3675"
+  integrity sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU=
+  dependencies:
+    mdast-util-to-string "^1.0.0"
+
+mdast-util-to-hast@^3.0.0:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz#132001b266031192348d3366a6b011f28e54dc40"
+  integrity sha512-/eIbly2YmyVgpJNo+bFLLMCI1XgolO/Ffowhf+pHDq3X4/V6FntC9sGQCDLM147eTS+uSXv5dRzJyFn+o0tazA==
+  dependencies:
+    collapse-white-space "^1.0.0"
+    detab "^2.0.0"
+    mdast-util-definitions "^1.2.0"
+    mdurl "^1.0.1"
+    trim "0.0.1"
+    trim-lines "^1.0.0"
+    unist-builder "^1.0.1"
+    unist-util-generated "^1.1.0"
+    unist-util-position "^3.0.0"
+    unist-util-visit "^1.1.0"
+    xtend "^4.0.1"
+
+mdast-util-to-string@^1.0.0, mdast-util-to-string@^1.0.5:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz#7d85421021343b33de1552fc71cb8e5b4ae7536d"
+  integrity sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg==
+
+mdast-util-toc@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz#395eeb877f067f9d2165d990d77c7eea6f740934"
+  integrity sha512-Za0hqL1PqWrvxGtA/3NH9D5nhGAUS9grMM4obEAz5+zsk1RIw/vWUchkaoDLNdrwk05A0CSC5eEXng36/1qE5w==
+  dependencies:
+    github-slugger "^1.2.1"
+    mdast-util-to-string "^1.0.5"
+    unist-util-is "^2.1.2"
+    unist-util-visit "^1.1.0"
+
 mdn-data@~1.1.0:
   version "1.1.4"
   resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01"
@@ -6329,13 +7721,6 @@ media-typer@0.3.0:
   resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
   integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
 
-mem@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
-  integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=
-  dependencies:
-    mimic-fn "^1.0.0"
-
 mem@^4.0.0:
   version "4.3.0"
   resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
@@ -6345,7 +7730,7 @@ mem@^4.0.0:
     mimic-fn "^2.0.0"
     p-is-promise "^2.0.0"
 
-memoizee@^0.4.3:
+memoizee@^0.4.14:
   version "0.4.14"
   resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57"
   integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==
@@ -6372,17 +7757,23 @@ merge-descriptors@1.0.1:
   resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
   integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
 
-mermaid@~7.1.0:
-  version "7.1.2"
-  resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-7.1.2.tgz#6265728156c2e0891e004cba60a44022174487ad"
-  integrity sha512-bDLu3fQuf3/R0fNkNzB0GTaF7+6SxnZpfTs9DVQF1ougsuP23MBzvEIGfL0ML8zeyg7+J2D+0AaoLVhskW5ulw==
+mermaid@~8.2.3:
+  version "8.2.3"
+  resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-8.2.3.tgz#609bad45bedc3ee1a935161c11c3c22689cfecd9"
+  integrity sha512-G2p9BAAEeTtogPs4YXM8KyX+TsZULlgk0tGvmBPfBZ5j3YCPxgAxG9ZzleiYNItF7M1hGkE485BDLN8DbfR+/Q==
   dependencies:
-    d3 "3.5.17"
-    dagre-d3-renderer "^0.4.25"
-    dagre-layout "^0.8.0"
-    he "^1.1.1"
-    lodash "^4.17.4"
-    moment "^2.20.1"
+    "@braintree/sanitize-url" "^3.1.0"
+    d3 "^5.7.0"
+    dagre-d3-renderer "^0.5.8"
+    dagre-layout "^0.8.8"
+    documentation "^12.0.1"
+    graphlibrary "^2.2.0"
+    gulp-print "^5.0.2"
+    he "^1.2.0"
+    lodash "^4.17.11"
+    minify "^4.1.1"
+    moment-mini "^2.22.1"
+    scope-css "^1.2.1"
 
 messageformat@^0.3.1:
   version "0.3.1"
@@ -6395,12 +7786,12 @@ messageformat@^0.3.1:
     nopt "~3.0.6"
     watchr "~2.4.13"
 
-"meta-marked@git+https://github.com/codimd/meta-marked#semver:^0.4.2":
-  version "0.4.4"
-  resolved "git+https://github.com/codimd/meta-marked#04fd9775b38566e41b71e3e63bd78717d3eb4445"
+"meta-marked@git+https://github.com/codimd/meta-marked#semver:^0.4.5":
+  version "0.4.5"
+  resolved "git+https://github.com/codimd/meta-marked#30852d0efa633418865df179f5956cd3df0fd0b3"
   dependencies:
     js-yaml "~3.13.1"
-    marked "~0.6.2"
+    marked "~0.7.0"
 
 method-override@^2.3.7:
   version "2.3.10"
@@ -6417,7 +7808,7 @@ methods@~1.1.1, methods@~1.1.2:
   resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
   integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
 
-micromatch@^2.1.5, micromatch@^2.3.7:
+micromatch@^2.1.5:
   version "2.3.11"
   resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
   integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=
@@ -6436,7 +7827,7 @@ micromatch@^2.1.5, micromatch@^2.3.7:
     parse-glob "^3.0.4"
     regex-cache "^0.4.2"
 
-micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8:
+micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5, micromatch@^3.1.8:
   version "3.1.10"
   resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
   integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
@@ -6490,6 +7881,11 @@ mime@^2.0.3:
   resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.3.tgz#229687331e86f68924e6cb59e1cdd937f18275fe"
   integrity sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==
 
+mime@^2.2.0:
+  version "2.4.4"
+  resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
+  integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
+
 mimic-fn@^1.0.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
@@ -6509,6 +7905,19 @@ mini-css-extract-plugin@^0.4.1:
     schema-utils "^1.0.0"
     webpack-sources "^1.1.0"
 
+minify@^4.1.1:
+  version "4.1.3"
+  resolved "https://registry.yarnpkg.com/minify/-/minify-4.1.3.tgz#58467922d14303f55a3a28fa79641371955b8fbd"
+  integrity sha512-ykuscavxivSmVpcCzsXmsVTukWYLUUtPhHj0w2ILvHDGqC+hsuTCihBn9+PJBd58JNvWTNg9132J9nrrI2anzA==
+  dependencies:
+    clean-css "^4.1.6"
+    css-b64-images "~0.2.5"
+    debug "^4.1.0"
+    html-minifier "^4.0.0"
+    terser "^4.0.0"
+    try-catch "^2.0.0"
+    try-to-catch "^1.0.2"
+
 minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@@ -6519,7 +7928,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
   resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
   integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
 
-minimatch@^3.0.4:
+"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
   integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
@@ -6636,7 +8045,7 @@ mocha@^5.2.0:
     glob "7.1.2"
     growl "1.10.5"
     he "1.1.1"
-    minimatch "^3.0.4"
+    minimatch "3.0.4"
     mkdirp "0.5.1"
     supports-color "5.4.0"
 
@@ -6648,14 +8057,39 @@ mock-require@^3.0.3:
     get-caller-file "^1.0.2"
     normalize-path "^2.1.1"
 
-moment-timezone@^0.5.4:
+module-deps-sortable@5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/module-deps-sortable/-/module-deps-sortable-5.0.0.tgz#99db5bb08f7eab55e4c31f6b7c722c6a2144ba74"
+  integrity sha512-bnGGeghQmz/t/6771/KC4FmxpVm126iR6AAzzq4N6hVZQVl4+ZZBv+VF3PJmDyxXtVtgcgTSSP7NL+jq1QAHrg==
+  dependencies:
+    JSONStream "^1.0.3"
+    browser-resolve "^1.7.0"
+    cached-path-relative "^1.0.0"
+    concat-stream "~1.5.0"
+    defined "^1.0.0"
+    detective "^4.0.0"
+    duplexer2 "^0.1.2"
+    inherits "^2.0.1"
+    readable-stream "^2.0.2"
+    resolve "^1.1.3"
+    stream-combiner2 "^1.1.1"
+    subarg "^1.0.0"
+    through2 "^2.0.0"
+    xtend "^4.0.0"
+
+moment-mini@^2.22.1:
+  version "2.22.1"
+  resolved "https://registry.yarnpkg.com/moment-mini/-/moment-mini-2.22.1.tgz#bc32d73e43a4505070be6b53494b17623183420d"
+  integrity sha512-OUCkHOz7ehtNMYuZjNciXUfwTuz8vmF1MTbAy59ebf+ZBYZO5/tZKuChVWCX+uDo+4idJBpGltNfV8st+HwsGw==
+
+moment-timezone@^0.5.21:
   version "0.5.25"
   resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.25.tgz#a11bfa2f74e088327f2cd4c08b3e7bdf55957810"
   integrity sha512-DgEaTyN/z0HFaVcVbSyVCUU6HeFdnNC3vE4c9cgu2dgMTvjBUBdBzWfasTBmAW45u5OIMeCJtU8yNjM22DHucw==
   dependencies:
     moment ">= 2.9.0"
 
-"moment@>= 2.9.0", moment@^2.10.6, moment@^2.13.0, moment@^2.16.0, moment@^2.17.1, moment@^2.20.1:
+"moment@>= 2.9.0", moment@^2.10.6, moment@^2.17.1, moment@^2.24.0:
   version "2.24.0"
   resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
   integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
@@ -6693,13 +8127,6 @@ ms@2.1.1, ms@^2.1.1:
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
   integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
 
-multipipe@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"
-  integrity sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=
-  dependencies:
-    duplexer2 "0.0.2"
-
 mustache@*:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/mustache/-/mustache-3.0.1.tgz#873855f23aa8a95b150fb96d9836edbc5a1d248a"
@@ -6719,15 +8146,26 @@ mv@~2:
     ncp "~2.0.0"
     rimraf "~2.4.0"
 
-mysql@^2.12.0:
-  version "2.17.1"
-  resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.17.1.tgz#62bba4a039a9b2f73638cd1652ce50fc6f682899"
-  integrity sha512-7vMqHQ673SAk5C8fOzTG2LpPcf3bNt0oL3sFpxPEEFp1mdlDcrLK0On7z8ZYKaaHrHwNcQ/MTUz7/oobZ2OyyA==
+mysql2@^1.6.5:
+  version "1.6.5"
+  resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-1.6.5.tgz#6695304fa2ce793dda5c98e8bbec65cbd2e6cb9d"
+  integrity sha512-zedaOOyb3msuuZcJJnxIX/EGOpmljDG7B+UevRH5lqcv+yhy9eCwkArBz8/AO+/rlY3/oCsOdG8R5oD6k0hNfg==
   dependencies:
-    bignumber.js "7.2.1"
-    readable-stream "2.3.6"
-    safe-buffer "5.1.2"
-    sqlstring "2.3.1"
+    denque "^1.4.0"
+    generate-function "^2.3.1"
+    iconv-lite "^0.4.24"
+    long "^4.0.0"
+    lru-cache "^4.1.3"
+    named-placeholders "^1.1.2"
+    seq-queue "^0.0.5"
+    sqlstring "^2.3.1"
+
+named-placeholders@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/named-placeholders/-/named-placeholders-1.1.2.tgz#ceb1fbff50b6b33492b5cf214ccf5e39cef3d0e8"
+  integrity sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==
+  dependencies:
+    lru-cache "^4.1.3"
 
 nan@^2.10.0, nan@^2.12.1:
   version "2.14.0"
@@ -6751,11 +8189,6 @@ nanomatch@^1.2.9:
     snapdragon "^0.8.1"
     to-regex "^3.0.1"
 
-natives@^1.1.0:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb"
-  integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==
-
 natural-compare@^1.4.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@@ -6885,6 +8318,13 @@ node-releases@^1.1.21:
   dependencies:
     semver "^5.3.0"
 
+node-releases@^1.1.25:
+  version "1.1.26"
+  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.26.tgz#f30563edc5c7dc20cf524cc8652ffa7be0762937"
+  integrity sha512-fZPsuhhUHMTlfkhDLGtfY80DSJTjOcx+qD1j5pqPkuhUHVS7xHZIg9EE4DHK8O3f0zTxXHX5VIkDG8pu98/wfQ==
+  dependencies:
+    semver "^5.3.0"
+
 node-static@0.7.11:
   version "0.7.11"
   resolved "https://registry.yarnpkg.com/node-static/-/node-static-0.7.11.tgz#60120d349f3cef533e4e820670057eb631882e7f"
@@ -6939,11 +8379,28 @@ normalize-path@^3.0.0:
   resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
   integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
 
+normalize-url@^1.9.1:
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
+  integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=
+  dependencies:
+    object-assign "^4.0.1"
+    prepend-http "^1.0.0"
+    query-string "^4.1.0"
+    sort-keys "^1.0.0"
+
 normalize-url@^3.0.0:
   version "3.3.0"
   resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
   integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
 
+now-and-later@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c"
+  integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==
+  dependencies:
+    once "^1.3.2"
+
 npm-bundled@^1.0.1:
   version "1.0.6"
   resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd"
@@ -7011,11 +8468,6 @@ object-assign@4.1.0:
   resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
   integrity sha1-ejs9DpgGPUP0wD8uiubNUahog6A=
 
-object-assign@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
-  integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=
-
 object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
   version "4.1.1"
   resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
@@ -7035,7 +8487,7 @@ object-copy@^0.1.0:
     define-property "^0.2.5"
     kind-of "^3.0.3"
 
-object-keys@^1.0.12:
+object-keys@^1.0.11, object-keys@^1.0.12:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
   integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
@@ -7047,15 +8499,15 @@ object-visit@^1.0.0:
   dependencies:
     isobject "^3.0.0"
 
-object.defaults@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf"
-  integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=
+object.assign@^4.0.4, object.assign@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
+  integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
   dependencies:
-    array-each "^1.0.1"
-    array-slice "^1.0.0"
-    for-own "^1.0.0"
-    isobject "^3.0.0"
+    define-properties "^1.1.2"
+    function-bind "^1.1.1"
+    has-symbols "^1.0.0"
+    object-keys "^1.0.11"
 
 object.getownpropertydescriptors@^2.0.3:
   version "2.0.3"
@@ -7065,14 +8517,6 @@ object.getownpropertydescriptors@^2.0.3:
     define-properties "^1.1.2"
     es-abstract "^1.5.1"
 
-object.map@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37"
-  integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=
-  dependencies:
-    for-own "^1.0.0"
-    make-iterator "^1.0.0"
-
 object.omit@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
@@ -7081,7 +8525,7 @@ object.omit@^2.0.0:
     for-own "^0.1.4"
     is-extendable "^0.1.1"
 
-object.pick@^1.2.0, object.pick@^1.3.0:
+object.pick@^1.3.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
   integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
@@ -7110,20 +8554,13 @@ on-headers@~1.0.1, on-headers@~1.0.2:
   resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
   integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
 
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
+once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
   integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
   dependencies:
     wrappy "1"
 
-once@~1.3.0:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
-  integrity sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=
-  dependencies:
-    wrappy "1"
-
 one-time@0.0.4:
   version "0.0.4"
   resolved "https://registry.yarnpkg.com/one-time/-/one-time-0.0.4.tgz#f8cdf77884826fe4dff93e3a9cc37b1e4480742e"
@@ -7141,7 +8578,7 @@ openid@2.x.x:
   resolved "https://registry.yarnpkg.com/openid/-/openid-2.0.6.tgz#707375e59ab9f73025899727679b20328171c9aa"
   integrity sha1-cHN15Zq59zAliZcnZ5sgMoFxyao=
   dependencies:
-    request "^2.61.0"
+    request "^2.88.0"
 
 optimist@>=0.3.4, optimist@^0.6.1:
   version "0.6.1"
@@ -7171,19 +8608,12 @@ optionator@^0.8.1, optionator@^0.8.2:
     type-check "~0.3.2"
     wordwrap "~1.0.0"
 
-orchestrator@^0.3.0:
-  version "0.3.8"
-  resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e"
-  integrity sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=
+ordered-read-streams@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e"
+  integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=
   dependencies:
-    end-of-stream "~0.1.5"
-    sequencify "~0.0.7"
-    stream-consume "~0.1.0"
-
-ordered-read-streams@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126"
-  integrity sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=
+    readable-stream "^2.0.1"
 
 os-browserify@^0.3.0:
   version "0.3.0"
@@ -7195,16 +8625,7 @@ os-homedir@^1.0.0, os-homedir@^1.0.1:
   resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
   integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
 
-os-locale@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
-  integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==
-  dependencies:
-    execa "^0.7.0"
-    lcid "^1.0.0"
-    mem "^1.1.0"
-
-os-locale@^3.0.0:
+os-locale@^3.0.0, os-locale@^3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
   integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
@@ -7307,7 +8728,7 @@ parallel-transform@^1.1.0:
     inherits "^2.0.3"
     readable-stream "^2.1.5"
 
-param-case@2.1.x:
+param-case@2.1.x, param-case@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
   integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
@@ -7333,7 +8754,19 @@ parse-asn1@^5.0.0:
     pbkdf2 "^3.0.3"
     safe-buffer "^5.1.1"
 
-parse-filepath@^1.0.1:
+parse-entities@^1.0.2, parse-entities@^1.1.0:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50"
+  integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==
+  dependencies:
+    character-entities "^1.0.0"
+    character-entities-legacy "^1.0.0"
+    character-reference-invalid "^1.0.0"
+    is-alphanumerical "^1.0.0"
+    is-decimal "^1.0.0"
+    is-hexadecimal "^1.0.0"
+
+parse-filepath@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891"
   integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=
@@ -7377,6 +8810,24 @@ parse-passwd@^1.0.0:
   resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
   integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
 
+parse-path@^3.0.1:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-3.0.4.tgz#a48b7b529da41f34d9d1428602a39b29fc7180e4"
+  integrity sha512-wP70vtwv2DyrM2YoA7ZHVv4zIXa4P7dGgHlj+VwyXNDduLLVJ7NMY1zsFxjUUJ3DAwJLupGb1H5gMDDiNlJaxw==
+  dependencies:
+    is-ssh "^1.3.0"
+    protocols "^1.4.0"
+
+parse-url@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-3.0.2.tgz#602787a7063a795d72b8673197505e72f60610be"
+  integrity sha1-YCeHpwY6eV1yuGcxl1BecvYGEL4=
+  dependencies:
+    is-ssh "^1.3.0"
+    normalize-url "^1.9.1"
+    parse-path "^3.0.1"
+    protocols "^1.4.0"
+
 parse5@4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
@@ -7694,7 +9145,7 @@ phantomjs-prebuilt@^2.1.12, phantomjs-prebuilt@^2.1.3:
     hasha "^2.2.0"
     kew "^0.7.0"
     progress "^1.1.8"
-    request "^2.81.0"
+    request "^2.88.0"
     request-progress "^2.0.1"
     which "^1.2.10"
 
@@ -7708,7 +9159,7 @@ pify@^3.0.0:
   resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
   integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
 
-pify@^4.0.1:
+pify@^4.0.0, pify@^4.0.1:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
   integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
@@ -8116,6 +9567,11 @@ prelude-ls@~1.1.2:
   resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
   integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
 
+prepend-http@^1.0.0:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+  integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
+
 preserve@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
@@ -8129,11 +9585,6 @@ pretty-error@^2.1.1:
     renderkid "^2.0.1"
     utila "~0.4"
 
-pretty-hrtime@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
-  integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=
-
 prismjs@^1.6.0:
   version "1.16.0"
   resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.16.0.tgz#406eb2c8aacb0f5f0f1167930cb83835d10a4308"
@@ -8146,6 +9597,11 @@ private@^0.1.6, private@^0.1.8:
   resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
   integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
 
+process-nextick-args@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+  integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
 process-nextick-args@~1.0.6:
   version "1.0.7"
   resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
@@ -8183,11 +9639,23 @@ promise@^7.1.1:
   dependencies:
     asap "~2.0.3"
 
+property-information@^4.0.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/property-information/-/property-information-4.2.0.tgz#f0e66e07cbd6fed31d96844d958d153ad3eb486e"
+  integrity sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ==
+  dependencies:
+    xtend "^4.0.1"
+
 proto-list@~1.2.1:
   version "1.2.4"
   resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
   integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=
 
+protocols@^1.1.0, protocols@^1.4.0:
+  version "1.4.7"
+  resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32"
+  integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg==
+
 proxy-addr@~2.0.5:
   version "2.0.5"
   resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34"
@@ -8239,7 +9707,7 @@ pump@^3.0.0:
     end-of-stream "^1.1.0"
     once "^1.3.1"
 
-pumpify@^1.3.3:
+pumpify@^1.3.3, pumpify@^1.3.5:
   version "1.5.1"
   resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
   integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
@@ -8282,7 +9750,7 @@ qs@2.3.3:
   resolved "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404"
   integrity sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=
 
-qs@6.7.0:
+qs@6.7.0, qs@^6.4.0:
   version "6.7.0"
   resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
   integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
@@ -8292,6 +9760,14 @@ qs@~6.5.2:
   resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
   integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
 
+query-string@^4.1.0:
+  version "4.3.4"
+  resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
+  integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
+  dependencies:
+    object-assign "^4.1.0"
+    strict-uri-encode "^1.0.0"
+
 querystring-es3@^0.2.0:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -8371,6 +9847,14 @@ raw-body@2.4.0:
     iconv-lite "0.4.24"
     unpipe "1.0.0"
 
+raw-body@~1.1.0:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425"
+  integrity sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=
+  dependencies:
+    bytes "1"
+    string_decoder "0.10"
+
 raw-loader@~0.5.1:
   version "0.5.1"
   resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
@@ -8394,6 +9878,14 @@ read-pkg-up@^2.0.0:
     find-up "^2.0.0"
     read-pkg "^2.0.0"
 
+read-pkg-up@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
+  integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==
+  dependencies:
+    find-up "^3.0.0"
+    read-pkg "^3.0.0"
+
 read-pkg@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
@@ -8403,7 +9895,16 @@ read-pkg@^2.0.0:
     normalize-package-data "^2.3.2"
     path-type "^2.0.0"
 
-"readable-stream@1 || 2", readable-stream@2.3.6, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
+read-pkg@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
+  integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
+  dependencies:
+    load-json-file "^4.0.0"
+    normalize-package-data "^2.3.2"
+    path-type "^3.0.0"
+
+"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
   version "2.3.6"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
   integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
@@ -8445,21 +9946,24 @@ readable-stream@^3.1.1:
     string_decoder "^1.1.1"
     util-deprecate "^1.0.1"
 
-readable-stream@~1.1.9:
-  version "1.1.14"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
-  integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
+readable-stream@~2.0.0:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
+  integrity sha1-j5A0HmilPMySh4jaz80Rs265t44=
   dependencies:
     core-util-is "~1.0.0"
     inherits "~2.0.1"
-    isarray "0.0.1"
+    isarray "~1.0.0"
+    process-nextick-args "~1.0.6"
     string_decoder "~0.10.x"
+    util-deprecate "~1.0.1"
 
-readable-stream@~2.0.0:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
-  integrity sha1-j5A0HmilPMySh4jaz80Rs265t44=
+readable-stream@~2.1.0:
+  version "2.1.5"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
+  integrity sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=
   dependencies:
+    buffer-shims "^1.0.0"
     core-util-is "~1.0.0"
     inherits "~2.0.1"
     isarray "~1.0.0"
@@ -8481,18 +9985,6 @@ readline-sync@^1.4.7:
   resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.9.tgz#3eda8e65f23cd2a17e61301b1f0003396af5ecda"
   integrity sha1-PtqOZfI80qF+YTAbHwADOWr17No=
 
-rechoir@^0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
-  integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
-  dependencies:
-    resolve "^1.1.6"
-
-redefine@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/redefine/-/redefine-0.2.1.tgz#e89ee7a6f24d19fff62590569332dc60380a89a3"
-  integrity sha1-6J7npvJNGf/2JZBWkzLcYDgKiaM=
-
 reduce-component@1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/reduce-component/-/reduce-component-1.0.1.tgz#e0c93542c574521bea13df0f9488ed82ab77c5da"
@@ -8534,6 +10026,13 @@ regenerator-transform@^0.10.0:
     babel-types "^6.19.0"
     private "^0.1.6"
 
+regenerator-transform@^0.14.0:
+  version "0.14.1"
+  resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb"
+  integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==
+  dependencies:
+    private "^0.1.6"
+
 regex-cache@^0.4.2:
   version "0.4.4"
   resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
@@ -8549,6 +10048,11 @@ regex-not@^1.0.0, regex-not@^1.0.2:
     extend-shallow "^3.0.2"
     safe-regex "^1.1.0"
 
+regexp-tree@^0.1.6:
+  version "0.1.11"
+  resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3"
+  integrity sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg==
+
 regexpp@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
@@ -8608,11 +10112,95 @@ regjsparser@^0.6.0:
   dependencies:
     jsesc "~0.5.0"
 
-relateurl@0.2.x:
+relateurl@0.2.x, relateurl@^0.2.7:
   version "0.2.7"
   resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
   integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
 
+remark-html@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-8.0.0.tgz#9fcb859a6f3cb40f3ef15402950f1a62ec301b3a"
+  integrity sha512-3V2391GL3hxKhrkzYOyfPpxJ6taIKLCfuLVqumeWQOk3H9nTtSQ8St8kMYkBVIEAquXN1chT83qJ/2lAW+dpEg==
+  dependencies:
+    hast-util-sanitize "^1.0.0"
+    hast-util-to-html "^4.0.0"
+    mdast-util-to-hast "^3.0.0"
+    xtend "^4.0.1"
+
+remark-parse@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95"
+  integrity sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==
+  dependencies:
+    collapse-white-space "^1.0.2"
+    is-alphabetical "^1.0.0"
+    is-decimal "^1.0.0"
+    is-whitespace-character "^1.0.0"
+    is-word-character "^1.0.0"
+    markdown-escapes "^1.0.0"
+    parse-entities "^1.1.0"
+    repeat-string "^1.5.4"
+    state-toggle "^1.0.0"
+    trim "0.0.1"
+    trim-trailing-lines "^1.0.0"
+    unherit "^1.0.4"
+    unist-util-remove-position "^1.0.0"
+    vfile-location "^2.0.0"
+    xtend "^4.0.1"
+
+remark-reference-links@^4.0.1:
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/remark-reference-links/-/remark-reference-links-4.0.4.tgz#190579a0d6b002859d6cdbdc5aeb8bbdae4e06ab"
+  integrity sha512-+2X8hwSQqxG4tvjYZNrTcEC+bXp8shQvwRGG6J/rnFTvBoU4G0BBviZoqKGZizLh/DG+0gSYhiDDWCqyxXW1iQ==
+  dependencies:
+    unist-util-visit "^1.0.0"
+
+remark-slug@^5.0.0:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-5.1.2.tgz#715ecdef8df1226786204b1887d31ab16aa24609"
+  integrity sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A==
+  dependencies:
+    github-slugger "^1.0.0"
+    mdast-util-to-string "^1.0.0"
+    unist-util-visit "^1.0.0"
+
+remark-stringify@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-5.0.0.tgz#336d3a4d4a6a3390d933eeba62e8de4bd280afba"
+  integrity sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==
+  dependencies:
+    ccount "^1.0.0"
+    is-alphanumeric "^1.0.0"
+    is-decimal "^1.0.0"
+    is-whitespace-character "^1.0.0"
+    longest-streak "^2.0.1"
+    markdown-escapes "^1.0.0"
+    markdown-table "^1.1.0"
+    mdast-util-compact "^1.0.0"
+    parse-entities "^1.0.2"
+    repeat-string "^1.5.4"
+    state-toggle "^1.0.0"
+    stringify-entities "^1.0.1"
+    unherit "^1.0.4"
+    xtend "^4.0.1"
+
+remark-toc@^5.0.0:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/remark-toc/-/remark-toc-5.1.1.tgz#8c229d6f834cdb43fde6685e2d43248d3fc82d78"
+  integrity sha512-vCPW4YOsm2CfyuScdktM9KDnJXVHJsd/ZeRtst+dnBU3B3KKvt8bc+bs5syJjyptAHfqo7H+5Uhz+2blWBfwow==
+  dependencies:
+    mdast-util-toc "^3.0.0"
+    remark-slug "^5.0.0"
+
+remark@^9.0.0:
+  version "9.0.0"
+  resolved "https://registry.yarnpkg.com/remark/-/remark-9.0.0.tgz#c5cfa8ec535c73a67c4b0f12bfdbd3a67d8b2f60"
+  integrity sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==
+  dependencies:
+    remark-parse "^5.0.0"
+    remark-stringify "^5.0.0"
+    unified "^6.0.0"
+
 remarkable@^1.7.1:
   version "1.7.1"
   resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-1.7.1.tgz#aaca4972100b66a642a63a1021ca4bac1be3bff6"
@@ -8621,6 +10209,23 @@ remarkable@^1.7.1:
     argparse "~0.1.15"
     autolinker "~0.15.0"
 
+remove-bom-buffer@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53"
+  integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==
+  dependencies:
+    is-buffer "^1.1.5"
+    is-utf8 "^0.2.1"
+
+remove-bom-stream@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523"
+  integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=
+  dependencies:
+    remove-bom-buffer "^3.0.0"
+    safe-buffer "^5.1.0"
+    through2 "^2.0.3"
+
 remove-trailing-separator@^1.0.1:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
@@ -8642,7 +10247,7 @@ repeat-element@^1.1.2:
   resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
   integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
 
-repeat-string@^1.5.2, repeat-string@^1.6.1:
+repeat-string@^1.5.0, repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1:
   version "1.6.1"
   resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
   integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
@@ -8654,10 +10259,10 @@ repeating@^2.0.0:
   dependencies:
     is-finite "^1.0.0"
 
-replace-ext@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
-  integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=
+replace-ext@1.0.0, replace-ext@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
+  integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
 
 request-progress@^2.0.1:
   version "2.0.1"
@@ -8682,7 +10287,7 @@ request-promise-native@^1.0.5:
     stealthy-require "^1.1.1"
     tough-cookie "^2.3.3"
 
-request@2.x, request@^2.61.0, request@^2.81.0, request@^2.83.0, request@^2.86.0, request@^2.87.0, request@^2.88.0:
+request@^2.88.0:
   version "2.88.0"
   resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
   integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
@@ -8718,6 +10323,11 @@ require-main-filename@^1.0.1:
   resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
   integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
 
+require-main-filename@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
+  integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+
 require-relative@0.8.7:
   version "0.8.7"
   resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de"
@@ -8730,14 +10340,6 @@ resolve-cwd@^2.0.0:
   dependencies:
     resolve-from "^3.0.0"
 
-resolve-dir@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e"
-  integrity sha1-shklmlYC+sXFxJatiUpujMQwJh4=
-  dependencies:
-    expand-tilde "^1.2.2"
-    global-modules "^0.2.3"
-
 resolve-dir@^1.0.0, resolve-dir@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
@@ -8756,12 +10358,31 @@ resolve-from@^4.0.0:
   resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
   integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
 
+resolve-options@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131"
+  integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=
+  dependencies:
+    value-or-function "^3.0.0"
+
 resolve-url@^0.2.1:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
   integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
 
-resolve@^1.0.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.3.3, resolve@^1.5.0, resolve@^1.8.1:
+resolve@1.1.7:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+  integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
+
+resolve@^1.1.3, resolve@^1.3.2:
+  version "1.12.0"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6"
+  integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==
+  dependencies:
+    path-parse "^1.0.6"
+
+resolve@^1.10.0, resolve@^1.11.0, resolve@^1.5.0, resolve@^1.8.1:
   version "1.11.0"
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232"
   integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==
@@ -8781,13 +10402,12 @@ ret@~0.1.10:
   resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
   integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
 
-retry-as-promised@^2.0.0:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-2.3.2.tgz#cd974ee4fd9b5fe03cbf31871ee48221c07737b7"
-  integrity sha1-zZdO5P2bX+A8vzGHHuSCIcB3N7c=
+retry-as-promised@^3.1.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-3.2.0.tgz#769f63d536bec4783549db0777cb56dadd9d8543"
+  integrity sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg==
   dependencies:
-    bluebird "^3.4.6"
-    debug "^2.6.9"
+    any-promise "^1.3.0"
 
 reveal.js@~3.7.0:
   version "3.7.0"
@@ -8880,6 +10500,11 @@ run-queue@^1.0.0, run-queue@^1.0.3:
   dependencies:
     aproba "^1.1.1"
 
+rw@1:
+  version "1.3.3"
+  resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4"
+  integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=
+
 rxjs@^6.4.0:
   version "6.5.2"
   resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
@@ -8892,6 +10517,16 @@ safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, s
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
   integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
 
+safe-buffer@>=5.1.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
+  integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
+
+safe-json-parse@~1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57"
+  integrity sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=
+
 safe-json-stringify@~1:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd"
@@ -8957,6 +10592,15 @@ schema-utils@^1.0.0:
     ajv-errors "^1.0.0"
     ajv-keywords "^3.1.0"
 
+scope-css@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/scope-css/-/scope-css-1.2.1.tgz#c35768bc900cad030a3e0d663a818c0f6a57f40e"
+  integrity sha512-UjLRmyEYaDNiOS673xlVkZFlVCtckJR/dKgr434VMm7Lb+AOOqXKdAcY7PpGlJYErjXXJzKN7HWo4uRPiZZG0Q==
+  dependencies:
+    escaper "^2.5.3"
+    slugify "^1.3.1"
+    strip-css-comments "^3.0.0"
+
 script-loader@^0.7.2:
   version "0.7.2"
   resolved "https://registry.yarnpkg.com/script-loader/-/script-loader-0.7.2.tgz#2016db6f86f25f5cf56da38915d83378bb166ba7"
@@ -8984,7 +10628,7 @@ select@^1.1.2:
   resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
   integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
 
-"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
+"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
   version "5.7.0"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
   integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
@@ -8994,10 +10638,10 @@ semver@4.3.2:
   resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz#c7a07158a80bedd052355b770d82d6640f803be7"
   integrity sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c=
 
-semver@^4.1.0:
-  version "4.3.6"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
-  integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=
+semver@^6.1.1:
+  version "6.1.1"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b"
+  integrity sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==
 
 send@0.17.1:
   version "0.17.1"
@@ -9018,50 +10662,50 @@ send@0.17.1:
     range-parser "~1.2.1"
     statuses "~1.5.0"
 
-sequelize-cli@^2.5.1:
-  version "2.8.0"
-  resolved "https://registry.yarnpkg.com/sequelize-cli/-/sequelize-cli-2.8.0.tgz#4304cce60e499169603f838dedbab421c9849e74"
-  integrity sha1-QwTM5g5JkWlgP4ON7bq0IcmEnnQ=
+seq-queue@^0.0.5:
+  version "0.0.5"
+  resolved "https://registry.yarnpkg.com/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e"
+  integrity sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=
+
+sequelize-cli@^5.4.0:
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/sequelize-cli/-/sequelize-cli-5.5.0.tgz#b0570352f70eaa489a25dccf55cf316675d6ff06"
+  integrity sha512-twVQ02alCpr2XvxNmpi32C48WZs6xHTH1OFTfTS5Meg3BVqOM8ghiZoml4FITFjlD8sAJSQjlAHTwqTbuolA6Q==
+  dependencies:
+    bluebird "^3.5.3"
+    cli-color "^1.4.0"
+    fs-extra "^7.0.1"
+    js-beautify "^1.8.8"
+    lodash "^4.17.5"
+    resolve "^1.5.0"
+    umzug "^2.1.0"
+    yargs "^13.1.0"
+
+sequelize-pool@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-2.2.0.tgz#fd4eb05ccefb5df5c23d2cc6fd934c20fd9c5dab"
+  integrity sha512-N/cYyxNHShfANGXAhHtMExjWNr+eYCS4/pF5fs5fvPYxn1VgUhEX8kDmVV5bNS0gZwt55fjU9Sgg48k3Dy/uMg==
+
+sequelize@^5.8.12:
+  version "5.8.12"
+  resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-5.8.12.tgz#91f46f16789307d40c68f8c039c10d1d0f230ad2"
+  integrity sha512-TtgGgQx/+Nub/IdkV7hqEoozUnOYv28waB/l44fMk37Rr+4G3Inrn9opDb/g81zSuRUKsYGOucdWq0qLH+7ujA==
   dependencies:
     bluebird "^3.5.0"
-    cli-color "~1.2.0"
-    findup-sync "^1.0.0"
-    fs-extra "^4.0.1"
-    gulp "^3.9.1"
-    gulp-help "~1.6.1"
-    js-beautify "^1.6.11"
-    lodash "^4.17.4"
-    moment "^2.17.1"
-    resolve "^1.3.3"
-    umzug "^1.12.0"
-    yargs "^8.0.1"
-
-sequelize@^3.28.0:
-  version "3.34.0"
-  resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-3.34.0.tgz#edbceb53dd7c9e5a0fd6b35fb89565239e8f09e4"
-  integrity sha512-smJMYZ+JniYZ2Ja4GPaEC0/mkvCNnRl7mM958hZQP9dpXNbSS/wPFUNrn0mnfpWRk8Ob/3zo0H1qxQbXKgcIzw==
-  dependencies:
-    bluebird "^3.3.4"
-    depd "^1.1.0"
-    dottie "^1.0.0"
-    generic-pool "2.4.2"
-    inflection "^1.6.0"
-    lodash "^4.17.10"
-    moment "^2.13.0"
-    moment-timezone "^0.5.4"
-    retry-as-promised "^2.0.0"
-    semver "^5.0.1"
-    shimmer "1.1.0"
-    terraformer-wkt-parser "^1.1.0"
+    cls-bluebird "^2.1.0"
+    debug "^4.1.1"
+    dottie "^2.0.0"
+    inflection "1.12.0"
+    lodash "^4.17.11"
+    moment "^2.24.0"
+    moment-timezone "^0.5.21"
+    retry-as-promised "^3.1.0"
+    semver "^6.1.1"
+    sequelize-pool "^2.2.0"
     toposort-class "^1.0.1"
-    uuid "^3.0.0"
-    validator "^5.2.0"
-    wkx "0.2.0"
-
-sequencify@~0.0.7:
-  version "0.0.7"
-  resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c"
-  integrity sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=
+    uuid "^3.2.1"
+    validator "^10.11.0"
+    wkx "^0.4.6"
 
 serialize-javascript@^1.4.0, serialize-javascript@^1.7.0:
   version "1.7.0"
@@ -9138,10 +10782,10 @@ shebang-regex@^1.0.0:
   resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
   integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
 
-shimmer@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.1.0.tgz#97d7377137ffbbab425522e429fe0aa89a488b35"
-  integrity sha1-l9c3cTf/u6tCVSLkKf4KqJpIizU=
+shimmer@^1.1.0:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
+  integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
 
 shortid@2.2.8:
   version "2.2.8"
@@ -9179,6 +10823,11 @@ slice-ansi@^2.1.0:
     astral-regex "^1.0.0"
     is-fullwidth-code-point "^2.0.0"
 
+slugify@^1.3.1:
+  version "1.3.4"
+  resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.3.4.tgz#78d2792d7222b55cd9fc81fa018df99af779efeb"
+  integrity sha512-KP0ZYk5hJNBS8/eIjGkFDCzGQIoZ1mnfQRYS5WM3273z+fxGWXeN0fkwf2ebEweydv9tioZIHGZKoF21U07/nw==
+
 snapdragon-node@^2.0.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -9262,6 +10911,13 @@ socket.io@~2.1.1:
     socket.io-client "2.1.1"
     socket.io-parser "~3.2.0"
 
+sort-keys@^1.0.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
+  integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
+  dependencies:
+    is-plain-obj "^1.0.0"
+
 source-list-map@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
@@ -9303,7 +10959,7 @@ source-map@0.5.0:
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.0.tgz#0fe96503ac86a5adb5de63f4e412ae4872cdbe86"
   integrity sha1-D+llA6yGpa213mP05BKuSHLNvoY=
 
-source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1:
+source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1:
   version "0.5.7"
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
   integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -9318,10 +10974,10 @@ sourcemap-codec@^1.4.4:
   resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz#c63ea927c029dd6bd9a2b7fa03b3fec02ad56e9f"
   integrity sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==
 
-sparkles@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c"
-  integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==
+space-separated-tokens@^1.0.0:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz#27910835ae00d0adfcdbd0ad7e611fb9544351fa"
+  integrity sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA==
 
 spdx-correct@^3.0.0:
   version "3.1.0"
@@ -9390,9 +11046,9 @@ sqlite3@^4.0.7:
   dependencies:
     nan "^2.12.1"
     node-pre-gyp "^0.11.0"
-    request "^2.87.0"
+    request "^2.88.0"
 
-sqlstring@2.3.1:
+sqlstring@^2.3.1:
   version "2.3.1"
   resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz#475393ff9e91479aea62dcaf0ca3d14983a7fb40"
   integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=
@@ -9436,6 +11092,11 @@ stack-trace@0.0.x:
   resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
   integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=
 
+state-toggle@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz#75e93a61944116b4959d665c8db2d243631d6ddc"
+  integrity sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==
+
 static-extend@^0.1.1:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
@@ -9459,6 +11120,13 @@ store@^2.0.12:
   resolved "https://registry.yarnpkg.com/store/-/store-2.0.12.tgz#8c534e2a0b831f72b75fc5f1119857c44ef5d593"
   integrity sha1-jFNOKguDH3K3X8XxEZhXxE711ZM=
 
+stream-array@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/stream-array/-/stream-array-1.1.2.tgz#9e5f7345f2137c30ee3b498b9114e80b52bb7eb5"
+  integrity sha1-nl9zRfITfDDuO0mLkRToC1K7frU=
+  dependencies:
+    readable-stream "~2.1.0"
+
 stream-browserify@^2.0.1:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
@@ -9467,10 +11135,13 @@ stream-browserify@^2.0.1:
     inherits "~2.0.1"
     readable-stream "^2.0.2"
 
-stream-consume@~0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz#d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48"
-  integrity sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==
+stream-combiner2@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe"
+  integrity sha1-+02KFCDqNidk4hrUeAOXvry0HL4=
+  dependencies:
+    duplexer2 "~0.1.0"
+    readable-stream "^2.0.2"
 
 stream-each@^1.1.0:
   version "1.2.3"
@@ -9506,6 +11177,11 @@ stream-shift@^1.0.0:
   resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
   integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=
 
+strict-uri-encode@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
+  integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
+
 string-loader@^0.0.1:
   version "0.0.1"
   resolved "https://registry.yarnpkg.com/string-loader/-/string-loader-0.0.1.tgz#496f3cccc990213e0dd5411499f9ac6a6a6f2ff8"
@@ -9516,6 +11192,11 @@ string-natural-compare@^2.0.2:
   resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-2.0.3.tgz#9dbe1dd65490a5fe14f7a5c9bc686fc67cb9c6e4"
   integrity sha512-4Kcl12rNjc+6EKhY8QyDVuQTAlMWwRiNbsxnVwBUKFr7dYPQuXVrtNU4sEkjF9LHY0AY6uVbB3ktbkIH4LC+BQ==
 
+string-template@~0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add"
+  integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=
+
 string-width@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
@@ -9533,7 +11214,7 @@ string-width@^1.0.1:
     is-fullwidth-code-point "^2.0.0"
     strip-ansi "^4.0.0"
 
-string-width@^3.0.0:
+string-width@^3.0.0, string-width@^3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
   integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
@@ -9542,11 +11223,25 @@ string-width@^3.0.0:
     is-fullwidth-code-point "^2.0.0"
     strip-ansi "^5.1.0"
 
+string-width@^4.0.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff"
+  integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==
+  dependencies:
+    emoji-regex "^8.0.0"
+    is-fullwidth-code-point "^3.0.0"
+    strip-ansi "^5.2.0"
+
 string@^3.3.3:
   version "3.3.3"
   resolved "https://registry.yarnpkg.com/string/-/string-3.3.3.tgz#5ea211cd92d228e184294990a6cc97b366a77cb0"
   integrity sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=
 
+string_decoder@0.10, string_decoder@~0.10.x:
+  version "0.10.31"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+  integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
+
 string_decoder@^1.0.0, string_decoder@^1.1.1:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
@@ -9554,11 +11249,6 @@ string_decoder@^1.0.0, string_decoder@^1.1.1:
   dependencies:
     safe-buffer "~5.1.0"
 
-string_decoder@~0.10.x:
-  version "0.10.31"
-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
-  integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
-
 string_decoder@~1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
@@ -9566,6 +11256,16 @@ string_decoder@~1.1.1:
   dependencies:
     safe-buffer "~5.1.0"
 
+stringify-entities@^1.0.1:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7"
+  integrity sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==
+  dependencies:
+    character-entities-html4 "^1.0.0"
+    character-entities-legacy "^1.0.0"
+    is-alphanumerical "^1.0.0"
+    is-hexadecimal "^1.0.0"
+
 strip-ansi@^3.0.0, strip-ansi@^3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
@@ -9580,7 +11280,7 @@ strip-ansi@^4.0.0:
   dependencies:
     ansi-regex "^3.0.0"
 
-strip-ansi@^5.1.0:
+strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
   version "5.2.0"
   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
   integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
@@ -9592,19 +11292,18 @@ strip-ansi@~0.1.0:
   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991"
   integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=
 
-strip-bom@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794"
-  integrity sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=
-  dependencies:
-    first-chunk-stream "^1.0.0"
-    is-utf8 "^0.2.0"
-
 strip-bom@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
   integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
 
+strip-css-comments@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/strip-css-comments/-/strip-css-comments-3.0.0.tgz#7a5625eff8a2b226cf8947a11254da96e13dae89"
+  integrity sha1-elYl7/iisibPiUehElTaluE9rok=
+  dependencies:
+    is-regexp "^1.0.0"
+
 strip-eof@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
@@ -9632,6 +11331,13 @@ stylehacks@^4.0.0:
     postcss "^7.0.0"
     postcss-selector-parser "^3.0.0"
 
+subarg@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2"
+  integrity sha1-9izxdYHplrSPyWVpn1TAauJouNI=
+  dependencies:
+    minimist "^1.1.0"
+
 superagent@1.8.3:
   version "1.8.3"
   resolved "https://registry.yarnpkg.com/superagent/-/superagent-1.8.3.tgz#2b7d70fcc870eda4f2a61e619dd54009b86547c3"
@@ -9668,7 +11374,7 @@ supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0:
   dependencies:
     has-flag "^3.0.0"
 
-supports-color@^6.1.0:
+supports-color@^6.0.0, supports-color@^6.1.0:
   version "6.1.0"
   resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
   integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
@@ -9762,21 +11468,6 @@ tedious@^1.14.0:
     readable-stream "^2.0.2"
     sprintf "0.1.5"
 
-terraformer-wkt-parser@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/terraformer-wkt-parser/-/terraformer-wkt-parser-1.2.0.tgz#c9d6ac3dff25f4c0bd344e961f42694961834c34"
-  integrity sha512-QU3iA54St5lF8Za1jg1oj4NYc8sn5tCZ08aNSWDeGzrsaV48eZk1iAVWasxhNspYBoCqdHuoot1pUTUrE1AJ4w==
-  dependencies:
-    "@types/geojson" "^1.0.0"
-    terraformer "~1.0.5"
-
-terraformer@~1.0.5:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/terraformer/-/terraformer-1.0.9.tgz#77851fef4a49c90b345dc53cf26809fdf29dcda6"
-  integrity sha512-YlmQ1fsMWTkKGDGibCRWgmLzrpDRUr63Q025LJ/taYQ6j1Yb8q9McKF7NBi6ACAyUXO6F/bl9w6v4MY307y5Ag==
-  optionalDependencies:
-    "@types/geojson" "^1.0.0"
-
 terser-webpack-plugin@^1.1.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4"
@@ -9817,7 +11508,15 @@ throttleit@^1.0.0:
   resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
   integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=
 
-through2@^0.6.1, through2@^0.6.5:
+through2-filter@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254"
+  integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==
+  dependencies:
+    through2 "~2.0.0"
+    xtend "~4.0.0"
+
+through2@^0.6.5:
   version "0.6.5"
   resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
   integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=
@@ -9825,7 +11524,7 @@ through2@^0.6.1, through2@^0.6.5:
     readable-stream ">=1.0.33-1 <1.1.0-0"
     xtend ">=4.0.0 <4.1.0-0"
 
-through2@^2.0.0:
+through2@^2.0.0, through2@^2.0.3, through2@~2.0.0:
   version "2.0.5"
   resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
   integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
@@ -9833,18 +11532,11 @@ through2@^2.0.0:
     readable-stream "~2.3.6"
     xtend "~4.0.1"
 
-through@2, through@^2.3.6:
+through@2, "through@>=2.2.7 <3", through@^2.3.6:
   version "2.3.8"
   resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
   integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
 
-tildify@^1.0.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a"
-  integrity sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=
-  dependencies:
-    os-homedir "^1.0.0"
-
 time-stamp@^1.0.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
@@ -9857,7 +11549,7 @@ timers-browserify@^2.0.4:
   dependencies:
     setimmediate "^1.0.4"
 
-timers-ext@0.1, timers-ext@^0.1.5:
+timers-ext@^0.1.5:
   version "0.1.7"
   resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6"
   integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==
@@ -9875,6 +11567,18 @@ tiny-emitter@^2.0.0:
   resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
   integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
 
+tiny-lr@^1.1.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab"
+  integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==
+  dependencies:
+    body "^5.1.0"
+    debug "^3.1.0"
+    faye-websocket "~0.10.0"
+    livereload-js "^2.3.0"
+    object-assign "^4.1.0"
+    qs "^6.4.0"
+
 tmp@0.0.29:
   version "0.0.29"
   resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0"
@@ -9889,6 +11593,14 @@ tmp@0.0.33, tmp@^0.0.33:
   dependencies:
     os-tmpdir "~1.0.2"
 
+to-absolute-glob@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b"
+  integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=
+  dependencies:
+    is-absolute "^1.0.0"
+    is-negated-glob "^1.0.0"
+
 to-array@0.1.4:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
@@ -9909,6 +11621,11 @@ to-fast-properties@^1.0.3:
   resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
   integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
 
+to-fast-properties@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+  integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+
 to-object-path@^0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
@@ -9934,6 +11651,13 @@ to-regex@^3.0.1, to-regex@^3.0.2:
     regex-not "^1.0.2"
     safe-regex "^1.1.0"
 
+to-through@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6"
+  integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=
+  dependencies:
+    through2 "^2.0.3"
+
 toidentifier@1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
@@ -9964,16 +11688,46 @@ tr46@^1.0.1:
   dependencies:
     punycode "^2.1.0"
 
+trim-lines@^1.0.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.2.tgz#c8adbdbdae21bb5c2766240a661f693afe23e59b"
+  integrity sha512-3GOuyNeTqk3FAqc3jOJtw7FTjYl94XBR5aD9QnDbK/T4CA9sW/J0l9RoaRPE9wyPP7NF331qnHnvJFBJ+IDkmQ==
+
 trim-right@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
   integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
 
+trim-trailing-lines@^1.0.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a"
+  integrity sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==
+
+trim@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
+  integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
+
 triple-beam@^1.2.0, triple-beam@^1.3.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9"
   integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==
 
+trough@^1.0.0:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e"
+  integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==
+
+try-catch@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/try-catch/-/try-catch-2.0.0.tgz#a491141d597f8b72b46757fe1c47059341a16aed"
+  integrity sha512-RPXpVjsbtWgymwGq5F/OWDFsjEzdvzwHFaMjWWW6f/p6+uk/N7YSKJHQfIfGqITfj8qH4cBqCLMnhKZBaKk7Kg==
+
+try-to-catch@^1.0.2:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/try-to-catch/-/try-to-catch-1.1.1.tgz#770162dd13b9a0e55da04db5b7f888956072038a"
+  integrity sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA==
+
 tslib@^1.9.0:
   version "1.9.3"
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
@@ -10035,7 +11789,7 @@ typechecker@~2.0.1:
   resolved "https://registry.yarnpkg.com/typechecker/-/typechecker-2.0.8.tgz#e83da84bb64c584ccb345838576c40b0337db82e"
   integrity sha1-6D2oS7ZMWEzLNFg4V2xAsDN9uC4=
 
-typedarray@^0.0.6:
+typedarray@^0.0.6, typedarray@~0.0.5:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
   integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
@@ -10079,6 +11833,14 @@ uglify-js@^3.0.21, uglify-js@^3.1.4:
     commander "~2.20.0"
     source-map "~0.6.1"
 
+uglify-js@^3.5.1:
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5"
+  integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==
+  dependencies:
+    commander "~2.20.0"
+    source-map "~0.6.1"
+
 uglify-to-browserify@~1.0.0:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
@@ -10115,16 +11877,13 @@ ultron@~1.1.0:
   resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
   integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==
 
-umzug@^1.12.0:
-  version "1.12.0"
-  resolved "https://registry.yarnpkg.com/umzug/-/umzug-1.12.0.tgz#a79c91f2862eee3130c6c347f2b90ad68a66e8b8"
-  integrity sha1-p5yR8oYu7jEwxsNH8rkK1opm6Lg=
+umzug@^2.1.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/umzug/-/umzug-2.2.0.tgz#6160bdc1817e4a63a625946775063c638623e62e"
+  integrity sha512-xZLW76ax70pND9bx3wqwb8zqkFGzZIK8dIHD9WdNy/CrNfjWcwQgQkGCuUqcuwEBvUm+g07z+qWvY+pxDmMEEw==
   dependencies:
-    bluebird "^3.4.1"
-    lodash "^4.17.0"
-    moment "^2.16.0"
-    redefine "^0.2.0"
-    resolve "^1.0.0"
+    babel-runtime "^6.23.0"
+    bluebird "^3.5.3"
 
 unc-path-regex@^0.1.2:
   version "0.1.2"
@@ -10156,6 +11915,14 @@ underscore@~1.7.0:
   resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209"
   integrity sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=
 
+unherit@^1.0.4:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449"
+  integrity sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==
+  dependencies:
+    inherits "^2.0.1"
+    xtend "^4.0.1"
+
 unicode-canonical-property-names-ecmascript@^1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
@@ -10179,6 +11946,18 @@ unicode-property-aliases-ecmascript@^1.0.4:
   resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
   integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==
 
+unified@^6.0.0:
+  version "6.2.0"
+  resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba"
+  integrity sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==
+  dependencies:
+    bail "^1.0.0"
+    extend "^3.0.0"
+    is-plain-obj "^1.1.0"
+    trough "^1.0.0"
+    vfile "^2.0.0"
+    x-is-string "^0.1.0"
+
 union-value@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
@@ -10213,10 +11992,73 @@ unique-slug@^2.0.0:
   dependencies:
     imurmurhash "^0.1.4"
 
-unique-stream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b"
-  integrity sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=
+unique-stream@^2.0.2:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac"
+  integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==
+  dependencies:
+    json-stable-stringify-without-jsonify "^1.0.1"
+    through2-filter "^3.0.0"
+
+unist-builder@^1.0.1, unist-builder@^1.0.2:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.4.tgz#e1808aed30bd72adc3607f25afecebef4dd59e17"
+  integrity sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg==
+  dependencies:
+    object-assign "^4.1.0"
+
+unist-util-generated@^1.1.0:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.4.tgz#2261c033d9fc23fae41872cdb7663746e972c1a7"
+  integrity sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww==
+
+unist-util-is@^2.0.0, unist-util-is@^2.1.2:
+  version "2.1.3"
+  resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.3.tgz#459182db31f4742fceaea88d429693cbf0043d20"
+  integrity sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==
+
+unist-util-is@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd"
+  integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==
+
+unist-util-position@^3.0.0:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.3.tgz#fff942b879538b242096c148153826664b1ca373"
+  integrity sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==
+
+unist-util-remove-position@^1.0.0:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz#d91aa8b89b30cb38bad2924da11072faa64fd972"
+  integrity sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==
+  dependencies:
+    unist-util-visit "^1.1.0"
+
+unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6"
+  integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==
+
+unist-util-stringify-position@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz#de2a2bc8d3febfa606652673a91455b6a36fb9f3"
+  integrity sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==
+  dependencies:
+    "@types/unist" "^2.0.2"
+
+unist-util-visit-parents@^2.0.0:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9"
+  integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==
+  dependencies:
+    unist-util-is "^3.0.0"
+
+unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.3.0:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3"
+  integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==
+  dependencies:
+    unist-util-visit-parents "^2.0.0"
 
 universalify@^0.1.0:
   version "0.1.2"
@@ -10342,7 +12184,7 @@ utils-merge@1.0.1, utils-merge@1.x.x:
   resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
   integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
 
-uuid@3.3.2, uuid@^3.0.0, uuid@^3.1.0, uuid@^3.3.2:
+uuid@3.3.2, uuid@^3.0.0, uuid@^3.1.0, uuid@^3.2.1, uuid@^3.3.2:
   version "3.3.2"
   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
   integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
@@ -10352,7 +12194,7 @@ v8-compile-cache@^2.0.2:
   resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe"
   integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==
 
-v8flags@^2.0.2, v8flags@^2.1.1:
+v8flags@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
   integrity sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=
@@ -10367,21 +12209,21 @@ validate-npm-package-license@^3.0.1:
     spdx-correct "^3.0.0"
     spdx-expression-parse "^3.0.0"
 
-validator@^10.4.0:
+validator@^10.11.0, validator@^10.4.0:
   version "10.11.0"
   resolved "https://registry.yarnpkg.com/validator/-/validator-10.11.0.tgz#003108ea6e9a9874d31ccc9e5006856ccd76b228"
   integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==
 
-validator@^5.2.0:
-  version "5.7.0"
-  resolved "https://registry.yarnpkg.com/validator/-/validator-5.7.0.tgz#7a87a58146b695ac486071141c0c49d67da05e5c"
-  integrity sha1-eoelgUa2laxIYHEUHAxJ1n2gXlw=
-
 validator@~9.4.1:
   version "9.4.1"
   resolved "https://registry.yarnpkg.com/validator/-/validator-9.4.1.tgz#abf466d398b561cd243050112c6ff1de6cc12663"
   integrity sha512-YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA==
 
+value-or-function@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813"
+  integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=
+
 vary@~1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
@@ -10420,36 +12262,116 @@ verror@1.6.0:
   dependencies:
     extsprintf "1.2.0"
 
-vinyl-fs@^0.3.0:
-  version "0.3.14"
-  resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6"
-  integrity sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=
+vfile-location@^2.0.0:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.5.tgz#c83eb02f8040228a8d2b3f10e485be3e3433e0a2"
+  integrity sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==
+
+vfile-message@^1.0.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1"
+  integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==
   dependencies:
-    defaults "^1.0.0"
-    glob-stream "^3.1.5"
-    glob-watcher "^0.0.6"
-    graceful-fs "^3.0.0"
-    mkdirp "^0.5.0"
-    strip-bom "^1.0.0"
-    through2 "^0.6.1"
-    vinyl "^0.4.0"
+    unist-util-stringify-position "^1.1.1"
 
-vinyl@^0.4.0:
-  version "0.4.6"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847"
-  integrity sha1-LzVsh6VQolVGHza76ypbqL94SEc=
+vfile-message@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.1.tgz#951881861c22fc1eb39f873c0b93e336a64e8f6d"
+  integrity sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw==
   dependencies:
-    clone "^0.2.0"
-    clone-stats "^0.0.1"
+    "@types/unist" "^2.0.2"
+    unist-util-stringify-position "^2.0.0"
 
-vinyl@^0.5.0:
-  version "0.5.3"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde"
-  integrity sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=
+vfile-reporter@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-6.0.0.tgz#753119f51dec9289b7508b457afc0cddf5e07f2e"
+  integrity sha512-8Is0XxFxWJUhPJdOg3CyZTqd3ICCWg6r304PuBl818ZG91h4FMS3Q+lrOPS+cs5/DZK3H0+AkJdH0J8JEwKtDA==
+  dependencies:
+    repeat-string "^1.5.0"
+    string-width "^4.0.0"
+    supports-color "^6.0.0"
+    unist-util-stringify-position "^2.0.0"
+    vfile-sort "^2.1.2"
+    vfile-statistics "^1.1.0"
+
+vfile-sort@^2.1.0, vfile-sort@^2.1.2:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-2.2.1.tgz#74e714f9175618cdae96bcaedf1a3dc711d87567"
+  integrity sha512-5dt7xEhC44h0uRQKhbM2JAe0z/naHphIZlMOygtMBM9Nn0pZdaX5fshhwWit9wvsuP8t/wp43nTDRRErO1WK8g==
+
+vfile-statistics@^1.1.0:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-1.1.3.tgz#e9c87071997fbcb4243764d2c3805e0bb0820c60"
+  integrity sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA==
+
+vfile@^2.0.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a"
+  integrity sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==
+  dependencies:
+    is-buffer "^1.1.4"
+    replace-ext "1.0.0"
+    unist-util-stringify-position "^1.0.0"
+    vfile-message "^1.0.0"
+
+vfile@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.0.1.tgz#fc3d43a1c71916034216bf65926d5ee3c64ed60c"
+  integrity sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    is-buffer "^2.0.0"
+    replace-ext "1.0.0"
+    unist-util-stringify-position "^2.0.0"
+    vfile-message "^2.0.0"
+
+vinyl-fs@^3.0.2:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7"
+  integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==
+  dependencies:
+    fs-mkdirp-stream "^1.0.0"
+    glob-stream "^6.1.0"
+    graceful-fs "^4.0.0"
+    is-valid-glob "^1.0.0"
+    lazystream "^1.0.0"
+    lead "^1.0.0"
+    object.assign "^4.0.4"
+    pumpify "^1.3.5"
+    readable-stream "^2.3.3"
+    remove-bom-buffer "^3.0.0"
+    remove-bom-stream "^1.2.0"
+    resolve-options "^1.1.0"
+    through2 "^2.0.0"
+    to-through "^2.0.0"
+    value-or-function "^3.0.0"
+    vinyl "^2.0.0"
+    vinyl-sourcemap "^1.1.0"
+
+vinyl-sourcemap@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16"
+  integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=
+  dependencies:
+    append-buffer "^1.0.2"
+    convert-source-map "^1.5.0"
+    graceful-fs "^4.1.6"
+    normalize-path "^2.1.1"
+    now-and-later "^2.0.0"
+    remove-bom-buffer "^3.0.0"
+    vinyl "^2.0.0"
+
+vinyl@^2.0.0, vinyl@^2.1.0, vinyl@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86"
+  integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==
   dependencies:
-    clone "^1.0.0"
-    clone-stats "^0.0.1"
-    replace-ext "0.0.1"
+    clone "^2.1.1"
+    clone-buffer "^1.0.0"
+    clone-stats "^1.0.0"
+    cloneable-readable "^1.0.0"
+    remove-trailing-separator "^1.0.1"
+    replace-ext "^1.0.0"
 
 visibilityjs@^1.2.4:
   version "1.2.8"
@@ -10468,6 +12390,14 @@ vm-browserify@0.0.4:
   dependencies:
     indexof "0.0.1"
 
+vue-template-compiler@^2.5.16:
+  version "2.6.10"
+  resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz#323b4f3495f04faa3503337a82f5d6507799c9cc"
+  integrity sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==
+  dependencies:
+    de-indent "^1.0.2"
+    he "^1.1.0"
+
 w3c-hr-time@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045"
@@ -10590,6 +12520,20 @@ webpack@^4.14.0:
     watchpack "^1.5.0"
     webpack-sources "^1.3.0"
 
+websocket-driver@>=0.5.1:
+  version "0.7.3"
+  resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9"
+  integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==
+  dependencies:
+    http-parser-js ">=0.4.0 <0.4.11"
+    safe-buffer ">=5.1.0"
+    websocket-extensions ">=0.1.1"
+
+websocket-extensions@>=0.1.1:
+  version "0.1.3"
+  resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29"
+  integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==
+
 whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
@@ -10625,7 +12569,7 @@ which-module@^2.0.0:
   resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
   integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
 
-which@^1.2.10, which@^1.2.12, which@^1.2.14, which@^1.2.9:
+which@^1.2.10, which@^1.2.14, which@^1.2.9:
   version "1.3.1"
   resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
   integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -10667,10 +12611,12 @@ winston@^3.1.0:
     triple-beam "^1.3.0"
     winston-transport "^4.3.0"
 
-wkx@0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/wkx/-/wkx-0.2.0.tgz#76c24f16acd0cd8f93cd34aa331e0f7961256e84"
-  integrity sha1-dsJPFqzQzY+TzTSqMx4PeWElboQ=
+wkx@^0.4.6:
+  version "0.4.7"
+  resolved "https://registry.yarnpkg.com/wkx/-/wkx-0.4.7.tgz#ba0e4f9e785e95c9975856c1834f19a95c65cfb5"
+  integrity sha512-pHf546L96TK8RradLt1cWaIffstgv/zXZ14CGz5KnBs1AxBX0wm+IDphjJw0qrEqRv8P9W9CdTt8Z1unMRZ19A==
+  dependencies:
+    "@types/node" "*"
 
 wordwrap@0.0.2:
   version "0.0.2"
@@ -10702,6 +12648,15 @@ wrap-ansi@^2.0.0:
     string-width "^1.0.1"
     strip-ansi "^3.0.1"
 
+wrap-ansi@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
+  integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
+  dependencies:
+    ansi-styles "^3.2.0"
+    string-width "^3.0.0"
+    strip-ansi "^5.0.0"
+
 wrappy@1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
@@ -10742,6 +12697,11 @@ wurl@^2.5.3:
   resolved "https://registry.yarnpkg.com/wurl/-/wurl-2.5.3.tgz#79ff7c4d8c6584cb46d239517ecac334380af7fd"
   integrity sha512-LWqZh3ox8gfPwB/xFYFJPnlNOytLtnDtvIDj+iUvD5hxDVWhNa2uhGEQbjyrmolbNFMycqkEnYVXJ7Y72n6h3w==
 
+x-is-string@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"
+  integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=
+
 x-xss-protection@1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/x-xss-protection/-/x-xss-protection-1.1.0.tgz#4f1898c332deb1e7f2be1280efb3e2c53d69c1a7"
@@ -10839,6 +12799,11 @@ xss@^1.0.3:
   resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
   integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=
 
+xtend@^4.0.1, xtend@~4.0.0:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+  integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
 xtraverse@0.1.x:
   version "0.1.0"
   resolved "https://registry.yarnpkg.com/xtraverse/-/xtraverse-0.1.0.tgz#b741bad018ef78d8a9d2e83ade007b3f7959c732"
@@ -10846,11 +12811,6 @@ xtraverse@0.1.x:
   dependencies:
     xmldom "0.1.x"
 
-y18n@^3.2.1:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
-  integrity sha1-bRX7qITAhnnA136I53WegR4H+kE=
-
 "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
@@ -10874,14 +12834,15 @@ yargs-parser@^11.1.1:
     camelcase "^5.0.0"
     decamelize "^1.2.0"
 
-yargs-parser@^7.0.0:
-  version "7.0.0"
-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
-  integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k=
+yargs-parser@^13.1.0:
+  version "13.1.1"
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0"
+  integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==
   dependencies:
-    camelcase "^4.1.0"
+    camelcase "^5.0.0"
+    decamelize "^1.2.0"
 
-yargs@^12.0.5:
+yargs@^12.0.2, yargs@^12.0.5:
   version "12.0.5"
   resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
   integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==
@@ -10899,24 +12860,22 @@ yargs@^12.0.5:
     y18n "^3.2.1 || ^4.0.0"
     yargs-parser "^11.1.1"
 
-yargs@^8.0.1:
-  version "8.0.2"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
-  integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A=
+yargs@^13.1.0:
+  version "13.2.4"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83"
+  integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==
   dependencies:
-    camelcase "^4.1.0"
-    cliui "^3.2.0"
-    decamelize "^1.1.1"
-    get-caller-file "^1.0.1"
-    os-locale "^2.0.0"
-    read-pkg-up "^2.0.0"
+    cliui "^5.0.0"
+    find-up "^3.0.0"
+    get-caller-file "^2.0.1"
+    os-locale "^3.1.0"
     require-directory "^2.1.1"
-    require-main-filename "^1.0.1"
+    require-main-filename "^2.0.0"
     set-blocking "^2.0.0"
-    string-width "^2.0.0"
+    string-width "^3.0.0"
     which-module "^2.0.0"
-    y18n "^3.2.1"
-    yargs-parser "^7.0.0"
+    y18n "^4.0.0"
+    yargs-parser "^13.1.0"
 
 yargs@~3.10.0:
   version "3.10.0"
diff --git a/pkgs/servers/web-apps/codimd/yarn.nix b/pkgs/servers/web-apps/codimd/yarn.nix
index f5c34ce04c3..add7d6a9ba5 100644
--- a/pkgs/servers/web-apps/codimd/yarn.nix
+++ b/pkgs/servers/web-apps/codimd/yarn.nix
@@ -10,6 +10,206 @@
       };
     }
     {
+      name = "_babel_code_frame___code_frame_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_code_frame___code_frame_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz";
+        sha1 = "bc0782f6d69f7b7d49531219699b988f669a8f9d";
+      };
+    }
+    {
+      name = "_babel_core___core_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz";
+        sha1 = "17b2686ef0d6bc58f963dddd68ab669755582c30";
+      };
+    }
+    {
+      name = "_babel_generator___generator_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_generator___generator_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz";
+        sha1 = "873a7f936a3c89491b43536d12245b626664e3cf";
+      };
+    }
+    {
+      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz";
+        sha1 = "323d39dd0b50e10c7c06ca7d7638e6864d8c5c32";
+      };
+    }
+    {
+      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz";
+        sha1 = "6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f";
+      };
+    }
+    {
+      name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.3.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz";
+        sha1 = "a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4";
+      };
+    }
+    {
+      name = "_babel_helper_call_delegate___helper_call_delegate_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_call_delegate___helper_call_delegate_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz";
+        sha1 = "87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43";
+      };
+    }
+    {
+      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz";
+        sha1 = "401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4";
+      };
+    }
+    {
+      name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz";
+        sha1 = "3dec32c2046f37e09b28c93eb0b103fd2a25d369";
+      };
+    }
+    {
+      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz";
+        sha1 = "537fa13f6f1674df745b0c00ec8fe4e99681c8f6";
+      };
+    }
+    {
+      name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz";
+        sha1 = "a0ceb01685f73355d4360c1247f582bfafc8ff53";
+      };
+    }
+    {
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz";
+        sha1 = "83572d4320e2a4657263734113c42868b64e49c3";
+      };
+    }
+    {
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz";
+        sha1 = "0298b5f25c8c09c53102d52ac4a98f773eb2850a";
+      };
+    }
+    {
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz";
+        sha1 = "1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590";
+      };
+    }
+    {
+      name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz";
+        sha1 = "96081b7111e486da4d2cd971ad1a4fe216cc2e3d";
+      };
+    }
+    {
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz";
+        sha1 = "f84ff8a09038dcbca1fd4355661a500937165b4a";
+      };
+    }
+    {
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz";
+        sha1 = "a2920c5702b073c15de51106200aa8cad20497d5";
+      };
+    }
+    {
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz";
+        sha1 = "bbb3fbee98661c569034237cc03967ba99b4f250";
+      };
+    }
+    {
+      name = "_babel_helper_regex___helper_regex_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_regex___helper_regex_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz";
+        sha1 = "0aa6824f7100a2e0e89c1527c23936c152cab351";
+      };
+    }
+    {
+      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz";
+        sha1 = "361d80821b6f38da75bd3f0785ece20a88c5fe7f";
+      };
+    }
+    {
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz";
+        sha1 = "f84ce43df031222d2bad068d2626cb5799c34bc2";
+      };
+    }
+    {
+      name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz";
+        sha1 = "65eeb954c8c245beaa4e859da6188f39d71e585c";
+      };
+    }
+    {
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";
+        sha1 = "ff94894a340be78f53f06af038b205c49d993677";
+      };
+    }
+    {
+      name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz";
+        sha1 = "c4e0012445769e2815b55296ead43a958549f6fa";
+      };
+    }
+    {
+      name = "_babel_helpers___helpers_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helpers___helpers_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz";
+        sha1 = "63908d2a73942229d1e6685bc2a0e730dde3b75e";
+      };
+    }
+    {
       name = "_babel_highlight___highlight_7.0.0.tgz";
       path = fetchurl {
         name = "_babel_highlight___highlight_7.0.0.tgz";
@@ -18,6 +218,686 @@
       };
     }
     {
+      name = "_babel_parser___parser_7.1.3.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.3.tgz";
+        sha1 = "2c92469bac2b7fbff810b67fca07bd138b48af77";
+      };
+    }
+    {
+      name = "_babel_parser___parser_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz";
+        sha1 = "02f077ac8817d3df4a832ef59de67565e71cca4b";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz";
+        sha1 = "b289b306669dce4ad20b0252889a15768c9d417e";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz";
+        sha1 = "a974cfae1e37c3110e71f3c6a2e48b8e71958cd4";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz";
+        sha1 = "de9b2a1a8ab0196f378e2a82f10b6e2a36f21cc0";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_do_expressions___plugin_proposal_do_expressions_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_do_expressions___plugin_proposal_do_expressions_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.5.0.tgz";
+        sha1 = "ceb594d4a618545b00aa0b5cd61cad4aaaeb7a5a";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz";
+        sha1 = "e532202db4838723691b10a67b8ce509e397c506";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_export_default_from___plugin_proposal_export_default_from_7.5.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_export_default_from___plugin_proposal_export_default_from_7.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.5.2.tgz";
+        sha1 = "2c0ac2dcc36e3b2443fead2c3c5fc796fb1b5145";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.5.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.5.2.tgz";
+        sha1 = "ccd5ed05b06d700688ff1db01a9dd27155e0d2a0";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_function_bind___plugin_proposal_function_bind_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_function_bind___plugin_proposal_function_bind_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.2.0.tgz";
+        sha1 = "94dc2cdc505cafc4e225c0014335a01648056bf7";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_function_sent___plugin_proposal_function_sent_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_function_sent___plugin_proposal_function_sent_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.5.0.tgz";
+        sha1 = "39233aa801145e7d8072077cdb2d25f781c1ffd7";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz";
+        sha1 = "568ecc446c6148ae6b267f02551130891e29f317";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.2.0.tgz";
+        sha1 = "8a5cea6c42a7c87446959e02fff5fad012c56f57";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz";
+        sha1 = "41c360d59481d88e0ce3a3f837df10121a769b39";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.2.0.tgz";
+        sha1 = "646854daf4cd22fd6733f6076013a936310443ac";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz";
+        sha1 = "61939744f71ba76a3ae46b5eea18a54c16d22e58";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz";
+        sha1 = "135d81edb68a081e55e56ec48541ece8065c38f5";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz";
+        sha1 = "ae454f4c21c6c2ce8cb2397dc332ae8b420c5441";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_pipeline_operator___plugin_proposal_pipeline_operator_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_pipeline_operator___plugin_proposal_pipeline_operator_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.5.0.tgz";
+        sha1 = "4100ec55ef4f6a4c2490b5f5a4f2a22dfa272c06";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_throw_expressions___plugin_proposal_throw_expressions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_throw_expressions___plugin_proposal_throw_expressions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.2.0.tgz";
+        sha1 = "2d9e452d370f139000e51db65d0a85dc60c64739";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz";
+        sha1 = "501ffd9826c0b91da22690720722ac7cb1ca9c78";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz";
+        sha1 = "69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz";
+        sha1 = "c50b1b957dcc69e4b1127b65e1c33eef61570c1b";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_do_expressions___plugin_syntax_do_expressions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_do_expressions___plugin_syntax_do_expressions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.2.0.tgz";
+        sha1 = "f3d4b01be05ecde2892086d7cfd5f1fa1ead5a2a";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz";
+        sha1 = "69c159ffaf4998122161ad8ebc5e6d1f55df8612";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_export_default_from___plugin_syntax_export_default_from_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_export_default_from___plugin_syntax_export_default_from_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz";
+        sha1 = "edd83b7adc2e0d059e2467ca96c650ab6d2f3820";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_export_namespace_from___plugin_syntax_export_namespace_from_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_export_namespace_from___plugin_syntax_export_namespace_from_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.2.0.tgz";
+        sha1 = "8d257838c6b3b779db52c0224443459bd27fb039";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz";
+        sha1 = "a765f061f803bc48f240c26f8747faf97c26bf7c";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_function_bind___plugin_syntax_function_bind_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_function_bind___plugin_syntax_function_bind_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.2.0.tgz";
+        sha1 = "68fe85b0c0da67125f87bf239c68051b06c66309";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_function_sent___plugin_syntax_function_sent_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_function_sent___plugin_syntax_function_sent_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz";
+        sha1 = "91474d4d400604e4c6cbd4d77cd6cb3b8565576c";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.2.0.tgz";
+        sha1 = "2333ef4b875553a3bcd1e93f8ebc09f5b9213a40";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz";
+        sha1 = "72bd13f6ffe1d25938129d2a186b11fd62951470";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz";
+        sha1 = "0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.2.0.tgz";
+        sha1 = "fcab7388530e96c6f277ce494c55caa6c141fcfb";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz";
+        sha1 = "f75083dfd5ade73e783db729bbd87e7b9efb7624";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.2.0.tgz";
+        sha1 = "7470fe070c2944469a756752a69a6963135018be";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz";
+        sha1 = "3b7a3e733510c57e820b9142a6579ac8b0dfad2e";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz";
+        sha1 = "a94013d6eda8908dfe6a477e7f9eda85656ecf5c";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz";
+        sha1 = "a59d6ae8c167e7608eaa443fda9fa8fa6bf21dff";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_pipeline_operator___plugin_syntax_pipeline_operator_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_pipeline_operator___plugin_syntax_pipeline_operator_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.5.0.tgz";
+        sha1 = "8ea7c2c22847c797748bf07752722a317079dc1e";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_throw_expressions___plugin_syntax_throw_expressions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_throw_expressions___plugin_syntax_throw_expressions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.2.0.tgz";
+        sha1 = "79001ee2afe1b174b1733cdc2fc69c9a46a0f1f8";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz";
+        sha1 = "9aeafbe4d6ffc6563bf8f8372091628f00779550";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz";
+        sha1 = "89a3848a0166623b5bc481164b5936ab947e887e";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz";
+        sha1 = "5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz";
+        sha1 = "a35f395e5402822f10d2119f6f8e045e3639a2ce";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz";
+        sha1 = "d094299d9bd680a14a2a0edae38305ad60fb4de9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz";
+        sha1 = "83a7df6a658865b1c8f641d510c6f3af220216da";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz";
+        sha1 = "f6c09fdfe3f94516ff074fe877db7bc9ef05855a";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz";
+        sha1 = "361a148bc951444312c69446d76ed1ea8e4450c3";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz";
+        sha1 = "c5dbf5106bf84cdf691222c0974c12b1df931853";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz";
+        sha1 = "a63868289e5b4007f7054d46491af51435766008";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz";
+        sha1 = "d267a081f49a8705fc9146de0768c6b58dccd8f7";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz";
+        sha1 = "0267fc735e24c808ba173866c6c4d1440fc3c556";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz";
+        sha1 = "e1436116abb0610c2259094848754ac5230922ad";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz";
+        sha1 = "690353e81f9267dad4fd8cfd77eafa86aba53ea1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz";
+        sha1 = "fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz";
+        sha1 = "ef00435d46da0a5961aa728a1d2ecff063e4fb91";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz";
+        sha1 = "425127e6045231360858eeaa47a71d75eded7a74";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz";
+        sha1 = "e75266a13ef94202db2a0620977756f51d52d249";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz";
+        sha1 = "7678ce75169f0877b8eb2235538c074268dd01ae";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.4.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz";
+        sha1 = "9d269fd28a370258199b4294736813a60bbdd106";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz";
+        sha1 = "18d120438b0cc9ee95a47f2c72bc9768fbed60a5";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz";
+        sha1 = "c70021df834073c65eb613b8679cc4a381d1a9f9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz";
+        sha1 = "7556cf03f318bd2719fe4c922d2d808be5571e16";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz";
+        sha1 = "03e33f653f5b25c4eb572c98b9485055b389e905";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz";
+        sha1 = "ebfaed87834ce8dc4279609a4f0c324c156e3eb0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz";
+        sha1 = "461e21ad9478f1031dd5e276108d027f1b5240ba";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz";
+        sha1 = "583b10c49cf057e237085bcbd8cc960bd83bd96b";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.3.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz";
+        sha1 = "f2cab99026631c767e2745a5368b331cfe8f5290";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.4.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz";
+        sha1 = "629dc82512c55cee01341fb27bdfcb210354680f";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz";
+        sha1 = "4792af87c998a49367597d07fedf02636d2e1634";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz";
+        sha1 = "6333aee2f8d6ee7e28615457298934a3b46198f0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.2.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz";
+        sha1 = "3103a9abe22f742b6d406ecd3cd49b774919b406";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz";
+        sha1 = "a1e454b5995560a9c1e0d537dfc15061fd2687e1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz";
+        sha1 = "9d28fea7bbce637fb7612a0750989d8321d4bcb0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz";
+        sha1 = "117d2bcec2fbf64b4b59d1f9819894682d29f2b2";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz";
+        sha1 = "ab4634bb4f14d36728bf5978322b35587787970f";
+      };
+    }
+    {
+      name = "_babel_preset_env___preset_env_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_preset_env___preset_env_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz";
+        sha1 = "bc470b53acaa48df4b8db24a570d6da1fef53c9a";
+      };
+    }
+    {
+      name = "_babel_preset_flow___preset_flow_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_preset_flow___preset_flow_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz";
+        sha1 = "afd764835d9535ec63d8c7d4caf1c06457263da2";
+      };
+    }
+    {
+      name = "_babel_preset_react___preset_react_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_preset_react___preset_react_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz";
+        sha1 = "e86b4b3d99433c7b3e9e91747e2653958bc6b3c0";
+      };
+    }
+    {
+      name = "_babel_preset_stage_0___preset_stage_0_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_preset_stage_0___preset_stage_0_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-stage-0/-/preset-stage-0-7.0.0.tgz";
+        sha1 = "999aaec79ee8f0a763042c68c06539c97c6e0646";
+      };
+    }
+    {
+      name = "_babel_template___template_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_template___template_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz";
+        sha1 = "f4b88d1225689a08f5bc3a17483545be9e4ed237";
+      };
+    }
+    {
+      name = "_babel_traverse___traverse_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz";
+        sha1 = "f664f8f368ed32988cd648da9f72d5ca70f165bb";
+      };
+    }
+    {
+      name = "_babel_types___types_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz";
+        sha1 = "97b9f728e182785909aa4ab56264f090a028d18a";
+      };
+    }
+    {
+      name = "_braintree_sanitize_url___sanitize_url_3.1.0.tgz";
+      path = fetchurl {
+        name = "_braintree_sanitize_url___sanitize_url_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz";
+        sha1 = "8ff71d51053cd5ee4981e5a501d80a536244f7fd";
+      };
+    }
+    {
       name = "_passport_next_passport_openid___passport_openid_1.0.0.tgz";
       path = fetchurl {
         name = "_passport_next_passport_openid___passport_openid_1.0.0.tgz";
@@ -74,14 +954,6 @@
       };
     }
     {
-      name = "_types_geojson___geojson_1.0.6.tgz";
-      path = fetchurl {
-        name = "_types_geojson___geojson_1.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@types/geojson/-/geojson-1.0.6.tgz";
-        sha1 = "3e02972728c69248c2af08d60a48cbb8680fffdf";
-      };
-    }
-    {
       name = "_types_ldapjs___ldapjs_1.0.4.tgz";
       path = fetchurl {
         name = "_types_ldapjs___ldapjs_1.0.4.tgz";
@@ -146,6 +1018,14 @@
       };
     }
     {
+      name = "_types_unist___unist_2.0.3.tgz";
+      path = fetchurl {
+        name = "_types_unist___unist_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz";
+        sha1 = "9c088679876f374eb5983f150d4787aa6fb32d7e";
+      };
+    }
+    {
       name = "_webassemblyjs_ast___ast_1.8.5.tgz";
       path = fetchurl {
         name = "_webassemblyjs_ast___ast_1.8.5.tgz";
@@ -322,6 +1202,14 @@
         '';
   }
     {
+      name = "JSONStream___JSONStream_1.3.5.tgz";
+      path = fetchurl {
+        name = "JSONStream___JSONStream_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz";
+        sha1 = "3208c1f08d3a4d99261ab64f92302bc15e111ca0";
+      };
+    }
+    {
       name = "JSV___JSV_4.0.2.tgz";
       path = fetchurl {
         name = "JSV___JSV_4.0.2.tgz";
@@ -458,6 +1346,14 @@
       };
     }
     {
+      name = "ansi_colors___ansi_colors_3.2.4.tgz";
+      path = fetchurl {
+        name = "ansi_colors___ansi_colors_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz";
+        sha1 = "e3a3da4bfbae6c86a9c285625de124a234026fbf";
+      };
+    }
+    {
       name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
       path = fetchurl {
         name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
@@ -474,6 +1370,14 @@
       };
     }
     {
+      name = "ansi_html___ansi_html_0.0.7.tgz";
+      path = fetchurl {
+        name = "ansi_html___ansi_html_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz";
+        sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e";
+      };
+    }
+    {
       name = "ansi_regex___ansi_regex_2.1.1.tgz";
       path = fetchurl {
         name = "ansi_regex___ansi_regex_2.1.1.tgz";
@@ -530,6 +1434,14 @@
       };
     }
     {
+      name = "any_promise___any_promise_1.3.0.tgz";
+      path = fetchurl {
+        name = "any_promise___any_promise_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz";
+        sha1 = "abc6afeedcea52e809cdc0376aed3ce39635d17f";
+      };
+    }
+    {
       name = "anymatch___anymatch_1.3.2.tgz";
       path = fetchurl {
         name = "anymatch___anymatch_1.3.2.tgz";
@@ -546,6 +1458,14 @@
       };
     }
     {
+      name = "append_buffer___append_buffer_1.0.2.tgz";
+      path = fetchurl {
+        name = "append_buffer___append_buffer_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz";
+        sha1 = "d8220cf466081525efea50614f3de6514dfa58f1";
+      };
+    }
+    {
       name = "aproba___aproba_1.2.0.tgz";
       path = fetchurl {
         name = "aproba___aproba_1.2.0.tgz";
@@ -570,14 +1490,6 @@
       };
     }
     {
-      name = "archy___archy_1.0.0.tgz";
-      path = fetchurl {
-        name = "archy___archy_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz";
-        sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
-      };
-    }
-    {
       name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
       path = fetchurl {
         name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
@@ -634,22 +1546,6 @@
       };
     }
     {
-      name = "array_differ___array_differ_1.0.0.tgz";
-      path = fetchurl {
-        name = "array_differ___array_differ_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz";
-        sha1 = "eff52e3758249d33be402b8bb8e564bb2b5d4031";
-      };
-    }
-    {
-      name = "array_each___array_each_1.0.1.tgz";
-      path = fetchurl {
-        name = "array_each___array_each_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz";
-        sha1 = "a794af0c05ab1752846ee753a1f211a05ba0c44f";
-      };
-    }
-    {
       name = "array_equal___array_equal_1.0.0.tgz";
       path = fetchurl {
         name = "array_equal___array_equal_1.0.0.tgz";
@@ -674,14 +1570,6 @@
       };
     }
     {
-      name = "array_slice___array_slice_1.1.0.tgz";
-      path = fetchurl {
-        name = "array_slice___array_slice_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz";
-        sha1 = "e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4";
-      };
-    }
-    {
       name = "array_union___array_union_1.0.2.tgz";
       path = fetchurl {
         name = "array_union___array_union_1.0.2.tgz";
@@ -1034,6 +1922,14 @@
       };
     }
     {
+      name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz";
+        sha1 = "f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f";
+      };
+    }
+    {
       name = "babel_plugin_syntax_async_functions___babel_plugin_syntax_async_functions_6.13.0.tgz";
       path = fetchurl {
         name = "babel_plugin_syntax_async_functions___babel_plugin_syntax_async_functions_6.13.0.tgz";
@@ -1330,6 +2226,14 @@
       };
     }
     {
+      name = "babelify___babelify_10.0.0.tgz";
+      path = fetchurl {
+        name = "babelify___babelify_10.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/babelify/-/babelify-10.0.0.tgz";
+        sha1 = "fe73b1a22583f06680d8d072e25a1e0d1d1d7fb5";
+      };
+    }
+    {
       name = "babylon___babylon_6.18.0.tgz";
       path = fetchurl {
         name = "babylon___babylon_6.18.0.tgz";
@@ -1354,6 +2258,14 @@
       };
     }
     {
+      name = "bail___bail_1.0.4.tgz";
+      path = fetchurl {
+        name = "bail___bail_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz";
+        sha1 = "7181b66d508aa3055d3f6c13f0a0c720641dde9b";
+      };
+    }
+    {
       name = "balanced_match___balanced_match_1.0.0.tgz";
       path = fetchurl {
         name = "balanced_match___balanced_match_1.0.0.tgz";
@@ -1426,14 +2338,6 @@
       };
     }
     {
-      name = "beeper___beeper_1.1.1.tgz";
-      path = fetchurl {
-        name = "beeper___beeper_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz";
-        sha1 = "e6d5ea8c5dad001304a70b22638447f69cb2f809";
-      };
-    }
-    {
       name = "better_assert___better_assert_1.0.2.tgz";
       path = fetchurl {
         name = "better_assert___better_assert_1.0.2.tgz";
@@ -1466,14 +2370,6 @@
       };
     }
     {
-      name = "bignumber.js___bignumber.js_7.2.1.tgz";
-      path = fetchurl {
-        name = "bignumber.js___bignumber.js_7.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz";
-        sha1 = "80c048759d826800807c4bfd521e50edbba57a5f";
-      };
-    }
-    {
       name = "binary_extensions___binary_extensions_1.13.1.tgz";
       path = fetchurl {
         name = "binary_extensions___binary_extensions_1.13.1.tgz";
@@ -1538,6 +2434,14 @@
       };
     }
     {
+      name = "body___body_5.1.0.tgz";
+      path = fetchurl {
+        name = "body___body_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz";
+        sha1 = "e4ba0ce410a46936323367609ecb4e6553125069";
+      };
+    }
+    {
       name = "boolbase___boolbase_1.0.0.tgz";
       path = fetchurl {
         name = "boolbase___boolbase_1.0.0.tgz";
@@ -1602,6 +2506,14 @@
       };
     }
     {
+      name = "browser_resolve___browser_resolve_1.11.3.tgz";
+      path = fetchurl {
+        name = "browser_resolve___browser_resolve_1.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz";
+        sha1 = "9b7cbb3d0f510e4cb86bdbd796124d28b5890af6";
+      };
+    }
+    {
       name = "browser_stdout___browser_stdout_1.3.1.tgz";
       path = fetchurl {
         name = "browser_stdout___browser_stdout_1.3.1.tgz";
@@ -1682,6 +2594,14 @@
       };
     }
     {
+      name = "browserslist___browserslist_4.6.6.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.6.6.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz";
+        sha1 = "6e4bf467cde520bc9dbdf3747dafa03531cec453";
+      };
+    }
+    {
       name = "buble___buble_0.19.7.tgz";
       path = fetchurl {
         name = "buble___buble_0.19.7.tgz";
@@ -1714,6 +2634,14 @@
       };
     }
     {
+      name = "buffer_equal___buffer_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "buffer_equal___buffer_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz";
+        sha1 = "59616b498304d556abd466966b22eeda3eca5fbe";
+      };
+    }
+    {
       name = "buffer_fill___buffer_fill_1.0.0.tgz";
       path = fetchurl {
         name = "buffer_fill___buffer_fill_1.0.0.tgz";
@@ -1730,6 +2658,14 @@
       };
     }
     {
+      name = "buffer_shims___buffer_shims_1.0.0.tgz";
+      path = fetchurl {
+        name = "buffer_shims___buffer_shims_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz";
+        sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
+      };
+    }
+    {
       name = "buffer_writer___buffer_writer_1.0.1.tgz";
       path = fetchurl {
         name = "buffer_writer___buffer_writer_1.0.1.tgz";
@@ -1786,6 +2722,14 @@
       };
     }
     {
+      name = "bytes___bytes_1.0.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz";
+        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
+      };
+    }
+    {
       name = "bytes___bytes_3.0.0.tgz";
       path = fetchurl {
         name = "bytes___bytes_3.0.0.tgz";
@@ -1826,6 +2770,14 @@
       };
     }
     {
+      name = "cached_path_relative___cached_path_relative_1.0.2.tgz";
+      path = fetchurl {
+        name = "cached_path_relative___cached_path_relative_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.2.tgz";
+        sha1 = "a13df4196d26776220cc3356eb147a52dba2c6db";
+      };
+    }
+    {
       name = "caller_callsite___caller_callsite_2.0.0.tgz";
       path = fetchurl {
         name = "caller_callsite___caller_callsite_2.0.0.tgz";
@@ -1882,14 +2834,6 @@
       };
     }
     {
-      name = "camelcase___camelcase_4.1.0.tgz";
-      path = fetchurl {
-        name = "camelcase___camelcase_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz";
-        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
-      };
-    }
-    {
       name = "camelcase___camelcase_5.3.1.tgz";
       path = fetchurl {
         name = "camelcase___camelcase_5.3.1.tgz";
@@ -1922,6 +2866,14 @@
       };
     }
     {
+      name = "caniuse_lite___caniuse_lite_1.0.30000988.tgz";
+      path = fetchurl {
+        name = "caniuse_lite___caniuse_lite_1.0.30000988.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000988.tgz";
+        sha1 = "742f35ec1b8b75b9628d705d7652eea1fef983db";
+      };
+    }
+    {
       name = "caseless___caseless_0.12.0.tgz";
       path = fetchurl {
         name = "caseless___caseless_0.12.0.tgz";
@@ -1930,6 +2882,14 @@
       };
     }
     {
+      name = "ccount___ccount_1.0.4.tgz";
+      path = fetchurl {
+        name = "ccount___ccount_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz";
+        sha1 = "9cf2de494ca84060a2a8d2854edd6dfb0445f386";
+      };
+    }
+    {
       name = "center_align___center_align_0.1.3.tgz";
       path = fetchurl {
         name = "center_align___center_align_0.1.3.tgz";
@@ -1970,6 +2930,38 @@
       };
     }
     {
+      name = "character_entities_html4___character_entities_html4_1.1.3.tgz";
+      path = fetchurl {
+        name = "character_entities_html4___character_entities_html4_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.3.tgz";
+        sha1 = "5ce6e01618e47048ac22f34f7f39db5c6fd679ef";
+      };
+    }
+    {
+      name = "character_entities_legacy___character_entities_legacy_1.1.3.tgz";
+      path = fetchurl {
+        name = "character_entities_legacy___character_entities_legacy_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz";
+        sha1 = "3c729991d9293da0ede6dddcaf1f2ce1009ee8b4";
+      };
+    }
+    {
+      name = "character_entities___character_entities_1.2.3.tgz";
+      path = fetchurl {
+        name = "character_entities___character_entities_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz";
+        sha1 = "bbed4a52fe7ef98cc713c6d80d9faa26916d54e6";
+      };
+    }
+    {
+      name = "character_reference_invalid___character_reference_invalid_1.1.3.tgz";
+      path = fetchurl {
+        name = "character_reference_invalid___character_reference_invalid_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz";
+        sha1 = "1647f4f726638d3ea4a750cf5d1975c1c7919a85";
+      };
+    }
+    {
       name = "chardet___chardet_0.7.0.tgz";
       path = fetchurl {
         name = "chardet___chardet_0.7.0.tgz";
@@ -2042,11 +3034,11 @@
       };
     }
     {
-      name = "cli_color___cli_color_1.2.0.tgz";
+      name = "cli_color___cli_color_1.4.0.tgz";
       path = fetchurl {
-        name = "cli_color___cli_color_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/cli-color/-/cli-color-1.2.0.tgz";
-        sha1 = "3a5ae74fd76b6267af666e69e2afbbd01def34d1";
+        name = "cli_color___cli_color_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-color/-/cli-color-1.4.0.tgz";
+        sha1 = "7d10738f48526824f8fe7da51857cb0f572fe01f";
       };
     }
     {
@@ -2082,14 +3074,6 @@
       };
     }
     {
-      name = "cliui___cliui_3.2.0.tgz";
-      path = fetchurl {
-        name = "cliui___cliui_3.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz";
-        sha1 = "120601537a916d29940f934da3b48d585a39213d";
-      };
-    }
-    {
       name = "cliui___cliui_4.1.0.tgz";
       path = fetchurl {
         name = "cliui___cliui_4.1.0.tgz";
@@ -2098,27 +3082,27 @@
       };
     }
     {
-      name = "clone_stats___clone_stats_0.0.1.tgz";
+      name = "cliui___cliui_5.0.0.tgz";
       path = fetchurl {
-        name = "clone_stats___clone_stats_0.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz";
-        sha1 = "b88f94a82cf38b8791d58046ea4029ad88ca99d1";
+        name = "cliui___cliui_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
+        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
       };
     }
     {
-      name = "clone___clone_0.2.0.tgz";
+      name = "clone_buffer___clone_buffer_1.0.0.tgz";
       path = fetchurl {
-        name = "clone___clone_0.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz";
-        sha1 = "c6126a90ad4f72dbf5acdb243cc37724fe93fc1f";
+        name = "clone_buffer___clone_buffer_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz";
+        sha1 = "e3e25b207ac4e701af721e2cb5a16792cac3dc58";
       };
     }
     {
-      name = "clone___clone_1.0.4.tgz";
+      name = "clone_stats___clone_stats_1.0.0.tgz";
       path = fetchurl {
-        name = "clone___clone_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz";
-        sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e";
+        name = "clone_stats___clone_stats_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz";
+        sha1 = "b3782dff8bb5474e18b9b6bf0fdfe782f8777680";
       };
     }
     {
@@ -2130,6 +3114,22 @@
       };
     }
     {
+      name = "cloneable_readable___cloneable_readable_1.1.3.tgz";
+      path = fetchurl {
+        name = "cloneable_readable___cloneable_readable_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz";
+        sha1 = "120a00cb053bfb63a222e709f9683ea2e11d8cec";
+      };
+    }
+    {
+      name = "cls_bluebird___cls_bluebird_2.1.0.tgz";
+      path = fetchurl {
+        name = "cls_bluebird___cls_bluebird_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cls-bluebird/-/cls-bluebird-2.1.0.tgz";
+        sha1 = "37ef1e080a8ffb55c2f4164f536f1919e7968aee";
+      };
+    }
+    {
       name = "coa___coa_2.0.2.tgz";
       path = fetchurl {
         name = "coa___coa_2.0.2.tgz";
@@ -2162,6 +3162,14 @@
         '';
   }
     {
+      name = "collapse_white_space___collapse_white_space_1.0.5.tgz";
+      path = fetchurl {
+        name = "collapse_white_space___collapse_white_space_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz";
+        sha1 = "c2495b699ab1ed380d29a1091e01063e75dbbe3a";
+      };
+    }
+    {
       name = "collection_visit___collection_visit_1.0.0.tgz";
       path = fetchurl {
         name = "collection_visit___collection_visit_1.0.0.tgz";
@@ -2258,6 +3266,22 @@
       };
     }
     {
+      name = "comma_separated_tokens___comma_separated_tokens_1.0.7.tgz";
+      path = fetchurl {
+        name = "comma_separated_tokens___comma_separated_tokens_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz";
+        sha1 = "419cd7fb3258b1ed838dc0953167a25e152f5b59";
+      };
+    }
+    {
+      name = "commander___commander_2.20.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz";
+        sha1 = "d58bb2b5c1ee8f87b0d340027e9e94e222c5a422";
+      };
+    }
+    {
       name = "commander___commander_2.15.1.tgz";
       path = fetchurl {
         name = "commander___commander_2.15.1.tgz";
@@ -2274,14 +3298,6 @@
       };
     }
     {
-      name = "commander___commander_2.20.0.tgz";
-      path = fetchurl {
-        name = "commander___commander_2.20.0.tgz";
-        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz";
-        sha1 = "d58bb2b5c1ee8f87b0d340027e9e94e222c5a422";
-      };
-    }
-    {
       name = "commander___commander_2.13.0.tgz";
       path = fetchurl {
         name = "commander___commander_2.13.0.tgz";
@@ -2378,6 +3394,14 @@
       };
     }
     {
+      name = "concat_stream___concat_stream_1.5.2.tgz";
+      path = fetchurl {
+        name = "concat_stream___concat_stream_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz";
+        sha1 = "708978624d856af41a5a741defdd261da752c266";
+      };
+    }
+    {
       name = "config_chain___config_chain_1.1.12.tgz";
       path = fetchurl {
         name = "config_chain___config_chain_1.1.12.tgz";
@@ -2394,11 +3418,11 @@
       };
     }
     {
-      name = "connect_session_sequelize___connect_session_sequelize_4.1.0.tgz";
+      name = "connect_session_sequelize___connect_session_sequelize_6.0.0.tgz";
       path = fetchurl {
-        name = "connect_session_sequelize___connect_session_sequelize_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/connect-session-sequelize/-/connect-session-sequelize-4.1.0.tgz";
-        sha1 = "d402749c3bebd79209192c164c090742b3fe2011";
+        name = "connect_session_sequelize___connect_session_sequelize_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/connect-session-sequelize/-/connect-session-sequelize-6.0.0.tgz";
+        sha1 = "afd4456c65d92c9b6b955fdff00afff795e8a420";
       };
     }
     {
@@ -2458,6 +3482,14 @@
       };
     }
     {
+      name = "continuable_cache___continuable_cache_0.3.1.tgz";
+      path = fetchurl {
+        name = "continuable_cache___continuable_cache_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz";
+        sha1 = "bd727a7faed77e71ff3985ac93351a912733ad0f";
+      };
+    }
+    {
       name = "convert_source_map___convert_source_map_1.6.0.tgz";
       path = fetchurl {
         name = "convert_source_map___convert_source_map_1.6.0.tgz";
@@ -2530,6 +3562,22 @@
       };
     }
     {
+      name = "core_js_compat___core_js_compat_3.1.4.tgz";
+      path = fetchurl {
+        name = "core_js_compat___core_js_compat_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.4.tgz";
+        sha1 = "e4d0c40fbd01e65b1d457980fe4112d4358a7408";
+      };
+    }
+    {
+      name = "core_js_pure___core_js_pure_3.1.4.tgz";
+      path = fetchurl {
+        name = "core_js_pure___core_js_pure_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.4.tgz";
+        sha1 = "5fa17dc77002a169a3566cc48dc774d2e13e3769";
+      };
+    }
+    {
       name = "core_js___core_js_2.6.9.tgz";
       path = fetchurl {
         name = "core_js___core_js_2.6.9.tgz";
@@ -2594,14 +3642,6 @@
       };
     }
     {
-      name = "cross_spawn___cross_spawn_5.1.0.tgz";
-      path = fetchurl {
-        name = "cross_spawn___cross_spawn_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz";
-        sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
-      };
-    }
-    {
       name = "cross_spawn___cross_spawn_6.0.5.tgz";
       path = fetchurl {
         name = "cross_spawn___cross_spawn_6.0.5.tgz";
@@ -2626,6 +3666,14 @@
       };
     }
     {
+      name = "css_b64_images___css_b64_images_0.2.5.tgz";
+      path = fetchurl {
+        name = "css_b64_images___css_b64_images_0.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/css-b64-images/-/css-b64-images-0.2.5.tgz";
+        sha1 = "42005d83204b2b4a5d93b6b1a5644133b5927a02";
+      };
+    }
+    {
       name = "css_color_names___css_color_names_0.0.4.tgz";
       path = fetchurl {
         name = "css_color_names___css_color_names_0.0.4.tgz";
@@ -2842,11 +3890,259 @@
       };
     }
     {
-      name = "d3___d3_3.5.17.tgz";
+      name = "d3_array___d3_array_1.2.4.tgz";
+      path = fetchurl {
+        name = "d3_array___d3_array_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz";
+        sha1 = "635ce4d5eea759f6f605863dbcfc30edc737f71f";
+      };
+    }
+    {
+      name = "d3_axis___d3_axis_1.0.12.tgz";
+      path = fetchurl {
+        name = "d3_axis___d3_axis_1.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.12.tgz";
+        sha1 = "cdf20ba210cfbb43795af33756886fb3638daac9";
+      };
+    }
+    {
+      name = "d3_brush___d3_brush_1.0.6.tgz";
+      path = fetchurl {
+        name = "d3_brush___d3_brush_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.6.tgz";
+        sha1 = "33691f2032d9db6c5d8cb684ff255a9883629e21";
+      };
+    }
+    {
+      name = "d3_chord___d3_chord_1.0.6.tgz";
+      path = fetchurl {
+        name = "d3_chord___d3_chord_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.6.tgz";
+        sha1 = "309157e3f2db2c752f0280fedd35f2067ccbb15f";
+      };
+    }
+    {
+      name = "d3_collection___d3_collection_1.0.7.tgz";
+      path = fetchurl {
+        name = "d3_collection___d3_collection_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz";
+        sha1 = "349bd2aa9977db071091c13144d5e4f16b5b310e";
+      };
+    }
+    {
+      name = "d3_color___d3_color_1.2.8.tgz";
+      path = fetchurl {
+        name = "d3_color___d3_color_1.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/d3-color/-/d3-color-1.2.8.tgz";
+        sha1 = "4eaf9b60ef188c893fcf8b28f3546aafebfbd9f4";
+      };
+    }
+    {
+      name = "d3_contour___d3_contour_1.3.2.tgz";
+      path = fetchurl {
+        name = "d3_contour___d3_contour_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.3.2.tgz";
+        sha1 = "652aacd500d2264cb3423cee10db69f6f59bead3";
+      };
+    }
+    {
+      name = "d3_dispatch___d3_dispatch_1.0.5.tgz";
+      path = fetchurl {
+        name = "d3_dispatch___d3_dispatch_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.5.tgz";
+        sha1 = "e25c10a186517cd6c82dd19ea018f07e01e39015";
+      };
+    }
+    {
+      name = "d3_drag___d3_drag_1.2.3.tgz";
+      path = fetchurl {
+        name = "d3_drag___d3_drag_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.3.tgz";
+        sha1 = "46e206ad863ec465d88c588098a1df444cd33c64";
+      };
+    }
+    {
+      name = "d3_dsv___d3_dsv_1.1.1.tgz";
+      path = fetchurl {
+        name = "d3_dsv___d3_dsv_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.1.1.tgz";
+        sha1 = "aaa830ecb76c4b5015572c647cc6441e3c7bb701";
+      };
+    }
+    {
+      name = "d3_ease___d3_ease_1.0.5.tgz";
       path = fetchurl {
-        name = "d3___d3_3.5.17.tgz";
-        url  = "https://registry.yarnpkg.com/d3/-/d3-3.5.17.tgz";
-        sha1 = "bc46748004378b21a360c9fc7cf5231790762fb8";
+        name = "d3_ease___d3_ease_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.5.tgz";
+        sha1 = "8ce59276d81241b1b72042d6af2d40e76d936ffb";
+      };
+    }
+    {
+      name = "d3_fetch___d3_fetch_1.1.2.tgz";
+      path = fetchurl {
+        name = "d3_fetch___d3_fetch_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-1.1.2.tgz";
+        sha1 = "957c8fbc6d4480599ba191b1b2518bf86b3e1be2";
+      };
+    }
+    {
+      name = "d3_force___d3_force_1.2.1.tgz";
+      path = fetchurl {
+        name = "d3_force___d3_force_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/d3-force/-/d3-force-1.2.1.tgz";
+        sha1 = "fd29a5d1ff181c9e7f0669e4bd72bdb0e914ec0b";
+      };
+    }
+    {
+      name = "d3_format___d3_format_1.3.2.tgz";
+      path = fetchurl {
+        name = "d3_format___d3_format_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/d3-format/-/d3-format-1.3.2.tgz";
+        sha1 = "6a96b5e31bcb98122a30863f7d92365c00603562";
+      };
+    }
+    {
+      name = "d3_geo___d3_geo_1.11.6.tgz";
+      path = fetchurl {
+        name = "d3_geo___d3_geo_1.11.6.tgz";
+        url  = "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.6.tgz";
+        sha1 = "134f2ef035ff75a448075fafdea92702a2e0e0cf";
+      };
+    }
+    {
+      name = "d3_hierarchy___d3_hierarchy_1.1.8.tgz";
+      path = fetchurl {
+        name = "d3_hierarchy___d3_hierarchy_1.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz";
+        sha1 = "7a6317bd3ed24e324641b6f1e76e978836b008cc";
+      };
+    }
+    {
+      name = "d3_interpolate___d3_interpolate_1.3.2.tgz";
+      path = fetchurl {
+        name = "d3_interpolate___d3_interpolate_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.3.2.tgz";
+        sha1 = "417d3ebdeb4bc4efcc8fd4361c55e4040211fd68";
+      };
+    }
+    {
+      name = "d3_path___d3_path_1.0.8.tgz";
+      path = fetchurl {
+        name = "d3_path___d3_path_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.8.tgz";
+        sha1 = "4a0606a794d104513ec4a8af43525f374b278719";
+      };
+    }
+    {
+      name = "d3_polygon___d3_polygon_1.0.5.tgz";
+      path = fetchurl {
+        name = "d3_polygon___d3_polygon_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.5.tgz";
+        sha1 = "9a645a0a64ff6cbf9efda96ee0b4a6909184c363";
+      };
+    }
+    {
+      name = "d3_quadtree___d3_quadtree_1.0.6.tgz";
+      path = fetchurl {
+        name = "d3_quadtree___d3_quadtree_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.6.tgz";
+        sha1 = "d1ab2a95a7f27bbde88582c94166f6ae35f32056";
+      };
+    }
+    {
+      name = "d3_random___d3_random_1.1.2.tgz";
+      path = fetchurl {
+        name = "d3_random___d3_random_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.2.tgz";
+        sha1 = "2833be7c124360bf9e2d3fd4f33847cfe6cab291";
+      };
+    }
+    {
+      name = "d3_scale_chromatic___d3_scale_chromatic_1.3.3.tgz";
+      path = fetchurl {
+        name = "d3_scale_chromatic___d3_scale_chromatic_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.3.3.tgz";
+        sha1 = "dad4366f0edcb288f490128979c3c793583ed3c0";
+      };
+    }
+    {
+      name = "d3_scale___d3_scale_2.2.2.tgz";
+      path = fetchurl {
+        name = "d3_scale___d3_scale_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.2.2.tgz";
+        sha1 = "4e880e0b2745acaaddd3ede26a9e908a9e17b81f";
+      };
+    }
+    {
+      name = "d3_selection___d3_selection_1.4.0.tgz";
+      path = fetchurl {
+        name = "d3_selection___d3_selection_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.4.0.tgz";
+        sha1 = "ab9ac1e664cf967ebf1b479cc07e28ce9908c474";
+      };
+    }
+    {
+      name = "d3_shape___d3_shape_1.3.5.tgz";
+      path = fetchurl {
+        name = "d3_shape___d3_shape_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.5.tgz";
+        sha1 = "e81aea5940f59f0a79cfccac012232a8987c6033";
+      };
+    }
+    {
+      name = "d3_time_format___d3_time_format_2.1.3.tgz";
+      path = fetchurl {
+        name = "d3_time_format___d3_time_format_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.3.tgz";
+        sha1 = "ae06f8e0126a9d60d6364eac5b1533ae1bac826b";
+      };
+    }
+    {
+      name = "d3_time___d3_time_1.0.11.tgz";
+      path = fetchurl {
+        name = "d3_time___d3_time_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.11.tgz";
+        sha1 = "1d831a3e25cd189eb256c17770a666368762bbce";
+      };
+    }
+    {
+      name = "d3_timer___d3_timer_1.0.9.tgz";
+      path = fetchurl {
+        name = "d3_timer___d3_timer_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.9.tgz";
+        sha1 = "f7bb8c0d597d792ff7131e1c24a36dd471a471ba";
+      };
+    }
+    {
+      name = "d3_transition___d3_transition_1.2.0.tgz";
+      path = fetchurl {
+        name = "d3_transition___d3_transition_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.2.0.tgz";
+        sha1 = "f538c0e21b2aa1f05f3e965f8567e81284b3b2b8";
+      };
+    }
+    {
+      name = "d3_voronoi___d3_voronoi_1.1.4.tgz";
+      path = fetchurl {
+        name = "d3_voronoi___d3_voronoi_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz";
+        sha1 = "dd3c78d7653d2bb359284ae478645d95944c8297";
+      };
+    }
+    {
+      name = "d3_zoom___d3_zoom_1.7.3.tgz";
+      path = fetchurl {
+        name = "d3_zoom___d3_zoom_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.7.3.tgz";
+        sha1 = "f444effdc9055c38077c4299b4df999eb1d47ccb";
+      };
+    }
+    {
+      name = "d3___d3_5.9.7.tgz";
+      path = fetchurl {
+        name = "d3___d3_5.9.7.tgz";
+        url  = "https://registry.yarnpkg.com/d3/-/d3-5.9.7.tgz";
+        sha1 = "f3835648a172b438e89ed57eb6c525bdabdcd7dc";
       };
     }
     {
@@ -2858,11 +4154,11 @@
       };
     }
     {
-      name = "dagre_d3_renderer___dagre_d3_renderer_0.4.26.tgz";
+      name = "dagre_d3_renderer___dagre_d3_renderer_0.5.8.tgz";
       path = fetchurl {
-        name = "dagre_d3_renderer___dagre_d3_renderer_0.4.26.tgz";
-        url  = "https://registry.yarnpkg.com/dagre-d3-renderer/-/dagre-d3-renderer-0.4.26.tgz";
-        sha1 = "648a491209b853ae96ddf3fea41a1f104479a5a1";
+        name = "dagre_d3_renderer___dagre_d3_renderer_0.5.8.tgz";
+        url  = "https://registry.yarnpkg.com/dagre-d3-renderer/-/dagre-d3-renderer-0.5.8.tgz";
+        sha1 = "aa071bb71d3c4d67426925906f3f6ddead49c1a3";
       };
     }
     {
@@ -2906,11 +4202,11 @@
       };
     }
     {
-      name = "dateformat___dateformat_2.2.0.tgz";
+      name = "de_indent___de_indent_1.0.2.tgz";
       path = fetchurl {
-        name = "dateformat___dateformat_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz";
-        sha1 = "4065e2013cf9fb916ddfd82efb506ad4c6769062";
+        name = "de_indent___de_indent_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz";
+        sha1 = "b2038e846dc33baa5796128d0804b455b8c1e21d";
       };
     }
     {
@@ -2994,14 +4290,6 @@
       };
     }
     {
-      name = "defaults___defaults_1.0.3.tgz";
-      path = fetchurl {
-        name = "defaults___defaults_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz";
-        sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
-      };
-    }
-    {
       name = "define_properties___define_properties_1.1.3.tgz";
       path = fetchurl {
         name = "define_properties___define_properties_1.1.3.tgz";
@@ -3066,6 +4354,14 @@
       };
     }
     {
+      name = "denque___denque_1.4.1.tgz";
+      path = fetchurl {
+        name = "denque___denque_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/denque/-/denque-1.4.1.tgz";
+        sha1 = "6744ff7641c148c3f8a69c307e51235c1f4a37cf";
+      };
+    }
+    {
       name = "depd___depd_2.0.0.tgz";
       path = fetchurl {
         name = "depd___depd_2.0.0.tgz";
@@ -3082,14 +4378,6 @@
       };
     }
     {
-      name = "deprecated___deprecated_0.0.1.tgz";
-      path = fetchurl {
-        name = "deprecated___deprecated_0.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz";
-        sha1 = "f9c9af5464afa1e7a971458a8bdef2aa94d5bb19";
-      };
-    }
-    {
       name = "des.js___des.js_1.0.0.tgz";
       path = fetchurl {
         name = "des.js___des.js_1.0.0.tgz";
@@ -3106,11 +4394,11 @@
       };
     }
     {
-      name = "detect_file___detect_file_0.1.0.tgz";
+      name = "detab___detab_2.0.2.tgz";
       path = fetchurl {
-        name = "detect_file___detect_file_0.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz";
-        sha1 = "4935dedfd9488648e006b0129566e9386711ea63";
+        name = "detab___detab_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/detab/-/detab-2.0.2.tgz";
+        sha1 = "074970d1a807b045d0258a4235df5928dd683561";
       };
     }
     {
@@ -3138,6 +4426,14 @@
       };
     }
     {
+      name = "detective___detective_4.7.1.tgz";
+      path = fetchurl {
+        name = "detective___detective_4.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz";
+        sha1 = "0eca7314338442febb6d65da54c10bb1c82b246e";
+      };
+    }
+    {
       name = "diagnostics___diagnostics_1.1.1.tgz";
       path = fetchurl {
         name = "diagnostics___diagnostics_1.1.1.tgz";
@@ -3170,6 +4466,14 @@
       };
     }
     {
+      name = "diff___diff_4.0.1.tgz";
+      path = fetchurl {
+        name = "diff___diff_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz";
+        sha1 = "0c667cb467ebbb5cea7f14f135cc2dba7780a8ff";
+      };
+    }
+    {
       name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
       path = fetchurl {
         name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
@@ -3202,6 +4506,14 @@
       };
     }
     {
+      name = "doctrine_temporary_fork___doctrine_temporary_fork_2.1.0.tgz";
+      path = fetchurl {
+        name = "doctrine_temporary_fork___doctrine_temporary_fork_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz";
+        sha1 = "36f2154f556ee4f1e60311d391cd23de5187ed57";
+      };
+    }
+    {
       name = "doctrine___doctrine_1.5.0.tgz";
       path = fetchurl {
         name = "doctrine___doctrine_1.5.0.tgz";
@@ -3218,6 +4530,14 @@
       };
     }
     {
+      name = "documentation___documentation_12.1.0.tgz";
+      path = fetchurl {
+        name = "documentation___documentation_12.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/documentation/-/documentation-12.1.0.tgz";
+        sha1 = "0cabc4e88507872fd847129c00ae7d0e2482049c";
+      };
+    }
+    {
       name = "dom_converter___dom_converter_0.2.0.tgz";
       path = fetchurl {
         name = "dom_converter___dom_converter_0.2.0.tgz";
@@ -3298,11 +4618,11 @@
       };
     }
     {
-      name = "dottie___dottie_1.1.1.tgz";
+      name = "dottie___dottie_2.0.1.tgz";
       path = fetchurl {
-        name = "dottie___dottie_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/dottie/-/dottie-1.1.1.tgz";
-        sha1 = "45c2a3f48bd6528eeed267a69a848eaaca6faa6a";
+        name = "dottie___dottie_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/dottie/-/dottie-2.0.1.tgz";
+        sha1 = "697ad9d72004db7574d21f892466a3c285893659";
       };
     }
     {
@@ -3314,11 +4634,11 @@
       };
     }
     {
-      name = "duplexer2___duplexer2_0.0.2.tgz";
+      name = "duplexer2___duplexer2_0.1.4.tgz";
       path = fetchurl {
-        name = "duplexer2___duplexer2_0.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz";
-        sha1 = "c614dcf67e2fb14995a91711e5a617e8a60a31db";
+        name = "duplexer2___duplexer2_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz";
+        sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1";
       };
     }
     {
@@ -3410,6 +4730,14 @@
       };
     }
     {
+      name = "electron_to_chromium___electron_to_chromium_1.3.210.tgz";
+      path = fetchurl {
+        name = "electron_to_chromium___electron_to_chromium_1.3.210.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.210.tgz";
+        sha1 = "0ce6247366c5771d4f5663a5879388fd1adefb7e";
+      };
+    }
+    {
       name = "elliptic___elliptic_6.4.1.tgz";
       path = fetchurl {
         name = "elliptic___elliptic_6.4.1.tgz";
@@ -3418,6 +4746,14 @@
       };
     }
     {
+      name = "emoji_regex___emoji_regex_6.1.1.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz";
+        sha1 = "c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e";
+      };
+    }
+    {
       name = "emoji_regex___emoji_regex_7.0.3.tgz";
       path = fetchurl {
         name = "emoji_regex___emoji_regex_7.0.3.tgz";
@@ -3426,6 +4762,14 @@
       };
     }
     {
+      name = "emoji_regex___emoji_regex_8.0.0.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_8.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz";
+        sha1 = "e818fd69ce5ccfcb404594f842963bf53164cc37";
+      };
+    }
+    {
       name = "emojify.js___emojify.js_1.1.0.tgz";
       path = fetchurl {
         name = "emojify.js___emojify.js_1.1.0.tgz";
@@ -3466,14 +4810,6 @@
       };
     }
     {
-      name = "end_of_stream___end_of_stream_0.1.5.tgz";
-      path = fetchurl {
-        name = "end_of_stream___end_of_stream_0.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz";
-        sha1 = "8e177206c3c80837d85632e8b9359dfe8b2f6eaf";
-      };
-    }
-    {
       name = "engine.io_client___engine.io_client_3.2.1.tgz";
       path = fetchurl {
         name = "engine.io_client___engine.io_client_3.2.1.tgz";
@@ -3546,6 +4882,14 @@
       };
     }
     {
+      name = "error___error_7.0.2.tgz";
+      path = fetchurl {
+        name = "error___error_7.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz";
+        sha1 = "a5f75fff4d9926126ddac0ea5dc38e689153cb02";
+      };
+    }
+    {
       name = "es_abstract___es_abstract_1.13.0.tgz";
       path = fetchurl {
         name = "es_abstract___es_abstract_1.13.0.tgz";
@@ -3626,6 +4970,14 @@
       };
     }
     {
+      name = "escaper___escaper_2.5.3.tgz";
+      path = fetchurl {
+        name = "escaper___escaper_2.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/escaper/-/escaper-2.5.3.tgz";
+        sha1 = "8b8fe90ba364054151ab7eff18b4ce43b1e13ab5";
+      };
+    }
+    {
       name = "escodegen___escodegen_1.11.1.tgz";
       path = fetchurl {
         name = "escodegen___escodegen_1.11.1.tgz";
@@ -3786,6 +5138,14 @@
       };
     }
     {
+      name = "esutils___esutils_2.0.3.tgz";
+      path = fetchurl {
+        name = "esutils___esutils_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz";
+        sha1 = "74d2eb4de0b8da1293711910d50775b9b710ef64";
+      };
+    }
+    {
       name = "esutils___esutils_2.0.2.tgz";
       path = fetchurl {
         name = "esutils___esutils_2.0.2.tgz";
@@ -3850,14 +5210,6 @@
       };
     }
     {
-      name = "execa___execa_0.7.0.tgz";
-      path = fetchurl {
-        name = "execa___execa_0.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz";
-        sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
-      };
-    }
-    {
       name = "execa___execa_1.0.0.tgz";
       path = fetchurl {
         name = "execa___execa_1.0.0.tgz";
@@ -3890,14 +5242,6 @@
       };
     }
     {
-      name = "expand_tilde___expand_tilde_1.2.2.tgz";
-      path = fetchurl {
-        name = "expand_tilde___expand_tilde_1.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz";
-        sha1 = "0b81eba897e5a3d31d1c3d102f8f01441e559449";
-      };
-    }
-    {
       name = "expand_tilde___expand_tilde_2.0.2.tgz";
       path = fetchurl {
         name = "expand_tilde___expand_tilde_2.0.2.tgz";
@@ -4098,6 +5442,14 @@
       };
     }
     {
+      name = "faye_websocket___faye_websocket_0.10.0.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz";
+        sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+      };
+    }
+    {
       name = "fd_slicer___fd_slicer_1.0.1.tgz";
       path = fetchurl {
         name = "fd_slicer___fd_slicer_1.0.1.tgz";
@@ -4210,14 +5562,6 @@
       };
     }
     {
-      name = "find_index___find_index_0.1.1.tgz";
-      path = fetchurl {
-        name = "find_index___find_index_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz";
-        sha1 = "675d358b2ca3892d795a1ab47232f8b6e2e0dde4";
-      };
-    }
-    {
       name = "find_up___find_up_2.1.0.tgz";
       path = fetchurl {
         name = "find_up___find_up_2.1.0.tgz";
@@ -4234,14 +5578,6 @@
       };
     }
     {
-      name = "findup_sync___findup_sync_1.0.0.tgz";
-      path = fetchurl {
-        name = "findup_sync___findup_sync_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-1.0.0.tgz";
-        sha1 = "6f7e4b57b6ee3a4037b4414eaedea3f58f71e0ec";
-      };
-    }
-    {
       name = "findup_sync___findup_sync_2.0.0.tgz";
       path = fetchurl {
         name = "findup_sync___findup_sync_2.0.0.tgz";
@@ -4250,30 +5586,6 @@
       };
     }
     {
-      name = "fined___fined_1.2.0.tgz";
-      path = fetchurl {
-        name = "fined___fined_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz";
-        sha1 = "d00beccf1aa2b475d16d423b0238b713a2c4a37b";
-      };
-    }
-    {
-      name = "first_chunk_stream___first_chunk_stream_1.0.0.tgz";
-      path = fetchurl {
-        name = "first_chunk_stream___first_chunk_stream_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz";
-        sha1 = "59bfb50cd905f60d7c394cd3d9acaab4e6ad934e";
-      };
-    }
-    {
-      name = "flagged_respawn___flagged_respawn_1.0.1.tgz";
-      path = fetchurl {
-        name = "flagged_respawn___flagged_respawn_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz";
-        sha1 = "e7de6f1279ddd9ca9aac8a5971d618606b3aab41";
-      };
-    }
-    {
       name = "flat_cache___flat_cache_2.0.1.tgz";
       path = fetchurl {
         name = "flat_cache___flat_cache_2.0.1.tgz";
@@ -4322,14 +5634,6 @@
       };
     }
     {
-      name = "for_own___for_own_1.0.0.tgz";
-      path = fetchurl {
-        name = "for_own___for_own_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz";
-        sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b";
-      };
-    }
-    {
       name = "forever_agent___forever_agent_0.6.1.tgz";
       path = fetchurl {
         name = "forever_agent___forever_agent_0.6.1.tgz";
@@ -4426,14 +5730,6 @@
       };
     }
     {
-      name = "fs_exists_sync___fs_exists_sync_0.1.0.tgz";
-      path = fetchurl {
-        name = "fs_exists_sync___fs_exists_sync_0.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz";
-        sha1 = "982d6893af918e72d08dec9e8673ff2b5a8d6add";
-      };
-    }
-    {
       name = "fs_extra___fs_extra_1.0.0.tgz";
       path = fetchurl {
         name = "fs_extra___fs_extra_1.0.0.tgz";
@@ -4442,11 +5738,11 @@
       };
     }
     {
-      name = "fs_extra___fs_extra_4.0.3.tgz";
+      name = "fs_extra___fs_extra_7.0.1.tgz";
       path = fetchurl {
-        name = "fs_extra___fs_extra_4.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz";
-        sha1 = "0d852122e5bc5beb453fb028e9c0c9bf36340c94";
+        name = "fs_extra___fs_extra_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz";
+        sha1 = "4f189c44aa123b895f722804f55ea23eadc348e9";
       };
     }
     {
@@ -4458,6 +5754,14 @@
       };
     }
     {
+      name = "fs_mkdirp_stream___fs_mkdirp_stream_1.0.0.tgz";
+      path = fetchurl {
+        name = "fs_mkdirp_stream___fs_mkdirp_stream_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz";
+        sha1 = "0b7815fc3201c6a69e14db98ce098c16935259eb";
+      };
+    }
+    {
       name = "fs_readdir_recursive___fs_readdir_recursive_1.1.0.tgz";
       path = fetchurl {
         name = "fs_readdir_recursive___fs_readdir_recursive_1.1.0.tgz";
@@ -4514,19 +5818,11 @@
       };
     }
     {
-      name = "gaze___gaze_0.5.2.tgz";
+      name = "generate_function___generate_function_2.3.1.tgz";
       path = fetchurl {
-        name = "gaze___gaze_0.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz";
-        sha1 = "40b709537d24d1d45767db5a908689dfe69ac44f";
-      };
-    }
-    {
-      name = "generic_pool___generic_pool_2.4.2.tgz";
-      path = fetchurl {
-        name = "generic_pool___generic_pool_2.4.2.tgz";
-        url  = "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.2.tgz";
-        sha1 = "886bc5bf0beb7db96e81bcbba078818de5a62683";
+        name = "generate_function___generate_function_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz";
+        sha1 = "f069617690c10c868e73b8465746764f97c3479f";
       };
     }
     {
@@ -4546,11 +5842,19 @@
       };
     }
     {
-      name = "get_stream___get_stream_3.0.0.tgz";
+      name = "get_caller_file___get_caller_file_2.0.5.tgz";
       path = fetchurl {
-        name = "get_stream___get_stream_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz";
-        sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
+        name = "get_caller_file___get_caller_file_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz";
+        sha1 = "4f94412a82db32f36e3b0b9741f8a97feb031f7e";
+      };
+    }
+    {
+      name = "get_port___get_port_4.2.0.tgz";
+      path = fetchurl {
+        name = "get_port___get_port_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz";
+        sha1 = "e37368b1e863b7629c43c5a323625f95cf24b119";
       };
     }
     {
@@ -4586,6 +5890,38 @@
       };
     }
     {
+      name = "git_up___git_up_2.1.0.tgz";
+      path = fetchurl {
+        name = "git_up___git_up_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/git-up/-/git-up-2.1.0.tgz";
+        sha1 = "2f14cfe78327e7c4a2b92fcac7bfc674fdfad40c";
+      };
+    }
+    {
+      name = "git_url_parse___git_url_parse_10.1.0.tgz";
+      path = fetchurl {
+        name = "git_url_parse___git_url_parse_10.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-10.1.0.tgz";
+        sha1 = "a27813218f8777e91d15f1c121b83bf14721b67e";
+      };
+    }
+    {
+      name = "github_slugger___github_slugger_1.2.0.tgz";
+      path = fetchurl {
+        name = "github_slugger___github_slugger_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.0.tgz";
+        sha1 = "8ada3286fd046d8951c3c952a8d7854cfd90fd9a";
+      };
+    }
+    {
+      name = "github_slugger___github_slugger_1.2.1.tgz";
+      path = fetchurl {
+        name = "github_slugger___github_slugger_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.1.tgz";
+        sha1 = "47e904e70bf2dccd0014748142d31126cfd49508";
+      };
+    }
+    {
       name = "glob_base___glob_base_0.3.0.tgz";
       path = fetchurl {
         name = "glob_base___glob_base_0.3.0.tgz";
@@ -4610,27 +5946,11 @@
       };
     }
     {
-      name = "glob_stream___glob_stream_3.1.18.tgz";
-      path = fetchurl {
-        name = "glob_stream___glob_stream_3.1.18.tgz";
-        url  = "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz";
-        sha1 = "9170a5f12b790306fdfe598f313f8f7954fd143b";
-      };
-    }
-    {
-      name = "glob_watcher___glob_watcher_0.0.6.tgz";
-      path = fetchurl {
-        name = "glob_watcher___glob_watcher_0.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz";
-        sha1 = "b95b4a8df74b39c83298b0c05c978b4d9a3b710b";
-      };
-    }
-    {
-      name = "glob2base___glob2base_0.0.12.tgz";
+      name = "glob_stream___glob_stream_6.1.0.tgz";
       path = fetchurl {
-        name = "glob2base___glob2base_0.0.12.tgz";
-        url  = "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz";
-        sha1 = "9d419b3e28f12e83a362164a277055922c9c0d56";
+        name = "glob_stream___glob_stream_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz";
+        sha1 = "7045c99413b3eb94888d83ab46d0b404cc7bdde4";
       };
     }
     {
@@ -4642,14 +5962,6 @@
       };
     }
     {
-      name = "glob___glob_4.5.3.tgz";
-      path = fetchurl {
-        name = "glob___glob_4.5.3.tgz";
-        url  = "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz";
-        sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f";
-      };
-    }
-    {
       name = "glob___glob_6.0.4.tgz";
       path = fetchurl {
         name = "glob___glob_6.0.4.tgz";
@@ -4666,22 +5978,6 @@
       };
     }
     {
-      name = "glob___glob_3.1.21.tgz";
-      path = fetchurl {
-        name = "glob___glob_3.1.21.tgz";
-        url  = "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz";
-        sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
-      };
-    }
-    {
-      name = "global_modules___global_modules_0.2.3.tgz";
-      path = fetchurl {
-        name = "global_modules___global_modules_0.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz";
-        sha1 = "ea5a3bed42c6d6ce995a4f8a1269b5dae223828d";
-      };
-    }
-    {
       name = "global_modules___global_modules_1.0.0.tgz";
       path = fetchurl {
         name = "global_modules___global_modules_1.0.0.tgz";
@@ -4690,14 +5986,6 @@
       };
     }
     {
-      name = "global_prefix___global_prefix_0.1.5.tgz";
-      path = fetchurl {
-        name = "global_prefix___global_prefix_0.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz";
-        sha1 = "8d3bc6b8da3ca8112a160d8d496ff0462bfef78f";
-      };
-    }
-    {
       name = "global_prefix___global_prefix_1.0.2.tgz";
       path = fetchurl {
         name = "global_prefix___global_prefix_1.0.2.tgz";
@@ -4706,6 +5994,14 @@
       };
     }
     {
+      name = "globals_docs___globals_docs_2.4.0.tgz";
+      path = fetchurl {
+        name = "globals_docs___globals_docs_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals-docs/-/globals-docs-2.4.0.tgz";
+        sha1 = "f2c647544eb6161c7c38452808e16e693c2dafbb";
+      };
+    }
+    {
       name = "globals___globals_11.12.0.tgz";
       path = fetchurl {
         name = "globals___globals_11.12.0.tgz";
@@ -4730,22 +6026,6 @@
       };
     }
     {
-      name = "globule___globule_0.1.0.tgz";
-      path = fetchurl {
-        name = "globule___globule_0.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz";
-        sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
-      };
-    }
-    {
-      name = "glogg___glogg_1.0.2.tgz";
-      path = fetchurl {
-        name = "glogg___glogg_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz";
-        sha1 = "2d7dd702beda22eb3bffadf880696da6d846313f";
-      };
-    }
-    {
       name = "good_listener___good_listener_1.2.2.tgz";
       path = fetchurl {
         name = "good_listener___good_listener_1.2.2.tgz";
@@ -4762,27 +6042,11 @@
       };
     }
     {
-      name = "graceful_fs___graceful_fs_3.0.11.tgz";
-      path = fetchurl {
-        name = "graceful_fs___graceful_fs_3.0.11.tgz";
-        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz";
-        sha1 = "7613c778a1afea62f25c630a086d7f3acbbdd818";
-      };
-    }
-    {
-      name = "graceful_fs___graceful_fs_1.2.3.tgz";
+      name = "graceful_fs___graceful_fs_4.2.0.tgz";
       path = fetchurl {
-        name = "graceful_fs___graceful_fs_1.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      };
-    }
-    {
-      name = "graphlib___graphlib_2.1.7.tgz";
-      path = fetchurl {
-        name = "graphlib___graphlib_2.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.7.tgz";
-        sha1 = "b6a69f9f44bd9de3963ce6804a2fc9e73d86aecc";
+        name = "graceful_fs___graceful_fs_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz";
+        sha1 = "8d8fdc73977cb04104721cb53666c1ca64cd328b";
       };
     }
     {
@@ -4802,35 +6066,11 @@
       };
     }
     {
-      name = "gulp_help___gulp_help_1.6.1.tgz";
+      name = "gulp_print___gulp_print_5.0.2.tgz";
       path = fetchurl {
-        name = "gulp_help___gulp_help_1.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/gulp-help/-/gulp-help-1.6.1.tgz";
-        sha1 = "261db186e18397fef3f6a2c22e9c315bfa88ae0c";
-      };
-    }
-    {
-      name = "gulp_util___gulp_util_3.0.8.tgz";
-      path = fetchurl {
-        name = "gulp_util___gulp_util_3.0.8.tgz";
-        url  = "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz";
-        sha1 = "0054e1e744502e27c04c187c3ecc505dd54bbb4f";
-      };
-    }
-    {
-      name = "gulp___gulp_3.9.1.tgz";
-      path = fetchurl {
-        name = "gulp___gulp_3.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz";
-        sha1 = "571ce45928dd40af6514fc4011866016c13845b4";
-      };
-    }
-    {
-      name = "gulplog___gulplog_1.0.0.tgz";
-      path = fetchurl {
-        name = "gulplog___gulplog_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz";
-        sha1 = "e28c4d45d05ecbbed818363ce8f9c5926229ffe5";
+        name = "gulp_print___gulp_print_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/gulp-print/-/gulp-print-5.0.2.tgz";
+        sha1 = "8f379148218d2e168461baa74352e11d1bf7aa75";
       };
     }
     {
@@ -4898,14 +6138,6 @@
       };
     }
     {
-      name = "has_gulplog___has_gulplog_0.1.0.tgz";
-      path = fetchurl {
-        name = "has_gulplog___has_gulplog_0.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz";
-        sha1 = "6414c82913697da51590397dafb12f22967811ce";
-      };
-    }
-    {
       name = "has_symbols___has_symbols_1.0.0.tgz";
       path = fetchurl {
         name = "has_symbols___has_symbols_1.0.0.tgz";
@@ -4986,6 +6218,38 @@
       };
     }
     {
+      name = "hast_util_is_element___hast_util_is_element_1.0.3.tgz";
+      path = fetchurl {
+        name = "hast_util_is_element___hast_util_is_element_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz";
+        sha1 = "423b4b26fe8bf1f25950fe052e9ce8f83fd5f6a4";
+      };
+    }
+    {
+      name = "hast_util_sanitize___hast_util_sanitize_1.3.1.tgz";
+      path = fetchurl {
+        name = "hast_util_sanitize___hast_util_sanitize_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz";
+        sha1 = "4e60d66336bd67e52354d581967467029a933f2e";
+      };
+    }
+    {
+      name = "hast_util_to_html___hast_util_to_html_4.0.1.tgz";
+      path = fetchurl {
+        name = "hast_util_to_html___hast_util_to_html_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz";
+        sha1 = "3666b05afb62bd69f8f5e6c94db04dea19438e2a";
+      };
+    }
+    {
+      name = "hast_util_whitespace___hast_util_whitespace_1.0.3.tgz";
+      path = fetchurl {
+        name = "hast_util_whitespace___hast_util_whitespace_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz";
+        sha1 = "6d161b307bd0693b5ec000c7c7e8b5445109ee34";
+      };
+    }
+    {
       name = "he___he_1.1.1.tgz";
       path = fetchurl {
         name = "he___he_1.1.1.tgz";
@@ -5050,6 +6314,14 @@
       };
     }
     {
+      name = "highlight.js___highlight.js_9.15.9.tgz";
+      path = fetchurl {
+        name = "highlight.js___highlight.js_9.15.9.tgz";
+        url  = "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.9.tgz";
+        sha1 = "865257da1dbb4a58c4552d46c4b3854f77f0e6d5";
+      };
+    }
+    {
       name = "highlight.js___highlight.js_9.12.0.tgz";
       path = fetchurl {
         name = "highlight.js___highlight.js_9.12.0.tgz";
@@ -5146,6 +6418,22 @@
       };
     }
     {
+      name = "html_minifier___html_minifier_4.0.0.tgz";
+      path = fetchurl {
+        name = "html_minifier___html_minifier_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz";
+        sha1 = "cca9aad8bce1175e02e17a8c33e46d8988889f56";
+      };
+    }
+    {
+      name = "html_void_elements___html_void_elements_1.0.4.tgz";
+      path = fetchurl {
+        name = "html_void_elements___html_void_elements_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.4.tgz";
+        sha1 = "95e8bb5ecd6b88766569c2645f2b5f1591db9ba5";
+      };
+    }
+    {
       name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.2.tgz";
       path = fetchurl {
         name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.2.tgz";
@@ -5170,6 +6458,14 @@
       };
     }
     {
+      name = "http_parser_js___http_parser_js_0.4.10.tgz";
+      path = fetchurl {
+        name = "http_parser_js___http_parser_js_0.4.10.tgz";
+        url  = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz";
+        sha1 = "92c9c1374c35085f75db359ec56cc257cbb93fa4";
+      };
+    }
+    {
       name = "http_signature___http_signature_1.2.0.tgz";
       path = fetchurl {
         name = "http_signature___http_signature_1.2.0.tgz";
@@ -5394,14 +6690,6 @@
       };
     }
     {
-      name = "inherits___inherits_1.0.2.tgz";
-      path = fetchurl {
-        name = "inherits___inherits_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz";
-        sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b";
-      };
-    }
-    {
       name = "inherits___inherits_2.0.3.tgz";
       path = fetchurl {
         name = "inherits___inherits_2.0.3.tgz";
@@ -5450,14 +6738,6 @@
       };
     }
     {
-      name = "invert_kv___invert_kv_1.0.0.tgz";
-      path = fetchurl {
-        name = "invert_kv___invert_kv_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz";
-        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
-      };
-    }
-    {
       name = "invert_kv___invert_kv_2.0.0.tgz";
       path = fetchurl {
         name = "invert_kv___invert_kv_2.0.0.tgz";
@@ -5514,6 +6794,30 @@
       };
     }
     {
+      name = "is_alphabetical___is_alphabetical_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_alphabetical___is_alphabetical_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz";
+        sha1 = "eb04cc47219a8895d8450ace4715abff2258a1f8";
+      };
+    }
+    {
+      name = "is_alphanumeric___is_alphanumeric_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_alphanumeric___is_alphanumeric_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz";
+        sha1 = "4a9cef71daf4c001c1d81d63d140cf53fd6889f4";
+      };
+    }
+    {
+      name = "is_alphanumerical___is_alphanumerical_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_alphanumerical___is_alphanumerical_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz";
+        sha1 = "57ae21c374277b3defe0274c640a5704b8f6657c";
+      };
+    }
+    {
       name = "is_arrayish___is_arrayish_0.2.1.tgz";
       path = fetchurl {
         name = "is_arrayish___is_arrayish_0.2.1.tgz";
@@ -5538,6 +6842,14 @@
       };
     }
     {
+      name = "is_bluebird___is_bluebird_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_bluebird___is_bluebird_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-bluebird/-/is-bluebird-1.0.2.tgz";
+        sha1 = "096439060f4aa411abee19143a84d6a55346d6e2";
+      };
+    }
+    {
       name = "is_buffer___is_buffer_1.1.6.tgz";
       path = fetchurl {
         name = "is_buffer___is_buffer_1.1.6.tgz";
@@ -5546,6 +6858,14 @@
       };
     }
     {
+      name = "is_buffer___is_buffer_2.0.3.tgz";
+      path = fetchurl {
+        name = "is_buffer___is_buffer_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz";
+        sha1 = "4ecf3fcf749cbd1e472689e109ac66261a25e725";
+      };
+    }
+    {
       name = "is_callable___is_callable_1.1.4.tgz";
       path = fetchurl {
         name = "is_callable___is_callable_1.1.4.tgz";
@@ -5586,6 +6906,14 @@
       };
     }
     {
+      name = "is_decimal___is_decimal_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_decimal___is_decimal_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz";
+        sha1 = "381068759b9dc807d8c0dc0bfbae2b68e1da48b7";
+      };
+    }
+    {
       name = "is_descriptor___is_descriptor_0.1.6.tgz";
       path = fetchurl {
         name = "is_descriptor___is_descriptor_0.1.6.tgz";
@@ -5682,6 +7010,14 @@
       };
     }
     {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
+        sha1 = "f116f8064fe90b3f7844a38997c0b75051269f1d";
+      };
+    }
+    {
       name = "is_glob___is_glob_2.0.1.tgz";
       path = fetchurl {
         name = "is_glob___is_glob_2.0.1.tgz";
@@ -5706,6 +7042,22 @@
       };
     }
     {
+      name = "is_hexadecimal___is_hexadecimal_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_hexadecimal___is_hexadecimal_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz";
+        sha1 = "e8a426a69b6d31470d3a33a47bb825cda02506ee";
+      };
+    }
+    {
+      name = "is_negated_glob___is_negated_glob_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_negated_glob___is_negated_glob_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz";
+        sha1 = "6910bca5da8c95e784b5751b976cf5a10fee36d2";
+      };
+    }
+    {
       name = "is_number___is_number_2.1.0.tgz";
       path = fetchurl {
         name = "is_number___is_number_2.1.0.tgz";
@@ -5738,6 +7090,14 @@
       };
     }
     {
+      name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+      };
+    }
+    {
       name = "is_plain_object___is_plain_object_2.0.4.tgz";
       path = fetchurl {
         name = "is_plain_object___is_plain_object_2.0.4.tgz";
@@ -5770,6 +7130,14 @@
       };
     }
     {
+      name = "is_property___is_property_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_property___is_property_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz";
+        sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
+      };
+    }
+    {
       name = "is_regex___is_regex_1.0.4.tgz";
       path = fetchurl {
         name = "is_regex___is_regex_1.0.4.tgz";
@@ -5778,6 +7146,14 @@
       };
     }
     {
+      name = "is_regexp___is_regexp_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_regexp___is_regexp_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz";
+        sha1 = "fd2d883545c46bac5a633e7b9a09e87fa2cb5069";
+      };
+    }
+    {
       name = "is_relative___is_relative_1.0.0.tgz";
       path = fetchurl {
         name = "is_relative___is_relative_1.0.0.tgz";
@@ -5794,6 +7170,14 @@
       };
     }
     {
+      name = "is_ssh___is_ssh_1.3.1.tgz";
+      path = fetchurl {
+        name = "is_ssh___is_ssh_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz";
+        sha1 = "f349a8cadd24e65298037a522cf7520f2e81a0f3";
+      };
+    }
+    {
       name = "is_stream___is_stream_1.1.0.tgz";
       path = fetchurl {
         name = "is_stream___is_stream_1.1.0.tgz";
@@ -5842,11 +7226,19 @@
       };
     }
     {
-      name = "is_windows___is_windows_0.2.0.tgz";
+      name = "is_valid_glob___is_valid_glob_1.0.0.tgz";
       path = fetchurl {
-        name = "is_windows___is_windows_0.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz";
-        sha1 = "de1aa6d63ea29dd248737b69f1ff8b8002d2108c";
+        name = "is_valid_glob___is_valid_glob_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz";
+        sha1 = "29bf3eff701be2d4d315dbacc39bc39fe8f601aa";
+      };
+    }
+    {
+      name = "is_whitespace_character___is_whitespace_character_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_whitespace_character___is_whitespace_character_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz";
+        sha1 = "b3ad9546d916d7d3ffa78204bca0c26b56257fac";
       };
     }
     {
@@ -5858,6 +7250,14 @@
       };
     }
     {
+      name = "is_word_character___is_word_character_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_word_character___is_word_character_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz";
+        sha1 = "264d15541cbad0ba833d3992c34e6b40873b08aa";
+      };
+    }
+    {
       name = "is_wsl___is_wsl_1.1.0.tgz";
       path = fetchurl {
         name = "is_wsl___is_wsl_1.1.0.tgz";
@@ -5970,6 +7370,14 @@
       };
     }
     {
+      name = "js_levenshtein___js_levenshtein_1.1.6.tgz";
+      path = fetchurl {
+        name = "js_levenshtein___js_levenshtein_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz";
+        sha1 = "c6cee58eb3550372df8deb85fad5ce66ce01d59d";
+      };
+    }
+    {
     name = "js-sequence-diagrams.git";
     path =
       let
@@ -6050,6 +7458,14 @@
       };
     }
     {
+      name = "jsesc___jsesc_2.5.2.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz";
+        sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4";
+      };
+    }
+    {
       name = "jsesc___jsesc_0.5.0.tgz";
       path = fetchurl {
         name = "jsesc___jsesc_0.5.0.tgz";
@@ -6130,6 +7546,14 @@
       };
     }
     {
+      name = "json5___json5_2.1.0.tgz";
+      path = fetchurl {
+        name = "json5___json5_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz";
+        sha1 = "e7a0c62c48285c628d20a10b85c89bb807c32850";
+      };
+    }
+    {
       name = "jsonfile___jsonfile_2.4.0.tgz";
       path = fetchurl {
         name = "jsonfile___jsonfile_2.4.0.tgz";
@@ -6154,6 +7578,14 @@
       };
     }
     {
+      name = "jsonparse___jsonparse_1.3.1.tgz";
+      path = fetchurl {
+        name = "jsonparse___jsonparse_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz";
+        sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280";
+      };
+    }
+    {
       name = "jsonparse___jsonparse_1.2.0.tgz";
       path = fetchurl {
         name = "jsonparse___jsonparse_1.2.0.tgz";
@@ -6258,14 +7690,6 @@
       };
     }
     {
-      name = "lcid___lcid_1.0.0.tgz";
-      path = fetchurl {
-        name = "lcid___lcid_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz";
-        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
-      };
-    }
-    {
       name = "lcid___lcid_2.0.0.tgz";
       path = fetchurl {
         name = "lcid___lcid_2.0.0.tgz";
@@ -6298,6 +7722,14 @@
       };
     }
     {
+      name = "lead___lead_1.0.0.tgz";
+      path = fetchurl {
+        name = "lead___lead_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz";
+        sha1 = "6f14f99a37be3a9dd784f5495690e5903466ee42";
+      };
+    }
+    {
       name = "left_pad___left_pad_1.3.0.tgz";
       path = fetchurl {
         name = "left_pad___left_pad_1.3.0.tgz";
@@ -6330,14 +7762,6 @@
       };
     }
     {
-      name = "liftoff___liftoff_2.5.0.tgz";
-      path = fetchurl {
-        name = "liftoff___liftoff_2.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz";
-        sha1 = "2009291bb31cea861bbf10a7c15a28caf75c31ec";
-      };
-    }
-    {
       name = "linkify_it___linkify_it_2.1.0.tgz";
       path = fetchurl {
         name = "linkify_it___linkify_it_2.1.0.tgz";
@@ -6354,6 +7778,14 @@
       };
     }
     {
+      name = "livereload_js___livereload_js_2.4.0.tgz";
+      path = fetchurl {
+        name = "livereload_js___livereload_js_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz";
+        sha1 = "447c31cf1ea9ab52fc20db615c5ddf678f78009c";
+      };
+    }
+    {
       name = "load_json_file___load_json_file_2.0.0.tgz";
       path = fetchurl {
         name = "load_json_file___load_json_file_2.0.0.tgz";
@@ -6362,6 +7794,14 @@
       };
     }
     {
+      name = "load_json_file___load_json_file_4.0.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz";
+        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+      };
+    }
+    {
       name = "loader_runner___loader_runner_2.4.0.tgz";
       path = fetchurl {
         name = "loader_runner___loader_runner_2.4.0.tgz";
@@ -6402,78 +7842,6 @@
       };
     }
     {
-      name = "lodash._basecopy___lodash._basecopy_3.0.1.tgz";
-      path = fetchurl {
-        name = "lodash._basecopy___lodash._basecopy_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz";
-        sha1 = "8da0e6a876cf344c0ad8a54882111dd3c5c7ca36";
-      };
-    }
-    {
-      name = "lodash._basetostring___lodash._basetostring_3.0.1.tgz";
-      path = fetchurl {
-        name = "lodash._basetostring___lodash._basetostring_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz";
-        sha1 = "d1861d877f824a52f669832dcaf3ee15566a07d5";
-      };
-    }
-    {
-      name = "lodash._basevalues___lodash._basevalues_3.0.0.tgz";
-      path = fetchurl {
-        name = "lodash._basevalues___lodash._basevalues_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz";
-        sha1 = "5b775762802bde3d3297503e26300820fdf661b7";
-      };
-    }
-    {
-      name = "lodash._getnative___lodash._getnative_3.9.1.tgz";
-      path = fetchurl {
-        name = "lodash._getnative___lodash._getnative_3.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz";
-        sha1 = "570bc7dede46d61cdcde687d65d3eecbaa3aaff5";
-      };
-    }
-    {
-      name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz";
-      path = fetchurl {
-        name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz";
-        sha1 = "5203ad7ba425fae842460e696db9cf3e6aac057c";
-      };
-    }
-    {
-      name = "lodash._reescape___lodash._reescape_3.0.0.tgz";
-      path = fetchurl {
-        name = "lodash._reescape___lodash._reescape_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz";
-        sha1 = "2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a";
-      };
-    }
-    {
-      name = "lodash._reevaluate___lodash._reevaluate_3.0.0.tgz";
-      path = fetchurl {
-        name = "lodash._reevaluate___lodash._reevaluate_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz";
-        sha1 = "58bc74c40664953ae0b124d806996daca431e2ed";
-      };
-    }
-    {
-      name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz";
-      path = fetchurl {
-        name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz";
-        sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d";
-      };
-    }
-    {
-      name = "lodash._root___lodash._root_3.0.1.tgz";
-      path = fetchurl {
-        name = "lodash._root___lodash._root_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz";
-        sha1 = "fba1c4524c19ee9a5f8136b4609f017cf4ded692";
-      };
-    }
-    {
       name = "lodash.assignin___lodash.assignin_4.2.0.tgz";
       path = fetchurl {
         name = "lodash.assignin___lodash.assignin_4.2.0.tgz";
@@ -6498,14 +7866,6 @@
       };
     }
     {
-      name = "lodash.escape___lodash.escape_3.2.0.tgz";
-      path = fetchurl {
-        name = "lodash.escape___lodash.escape_3.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz";
-        sha1 = "995ee0dc18c1b48cc92effae71a10aab5b487698";
-      };
-    }
-    {
       name = "lodash.filter___lodash.filter_4.6.0.tgz";
       path = fetchurl {
         name = "lodash.filter___lodash.filter_4.6.0.tgz";
@@ -6530,30 +7890,6 @@
       };
     }
     {
-      name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz";
-      path = fetchurl {
-        name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz";
-        sha1 = "2f573d85c6a24289ff00663b491c1d338ff3458a";
-      };
-    }
-    {
-      name = "lodash.isarray___lodash.isarray_3.0.4.tgz";
-      path = fetchurl {
-        name = "lodash.isarray___lodash.isarray_3.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz";
-        sha1 = "79e4eb88c36a8122af86f844aa9bcd851b5fbb55";
-      };
-    }
-    {
-      name = "lodash.keys___lodash.keys_3.1.2.tgz";
-      path = fetchurl {
-        name = "lodash.keys___lodash.keys_3.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz";
-        sha1 = "4dbc0472b156be50a0b286855d1bd0b0c656098a";
-      };
-    }
-    {
       name = "lodash.map___lodash.map_4.6.0.tgz";
       path = fetchurl {
         name = "lodash.map___lodash.map_4.6.0.tgz";
@@ -6602,14 +7938,6 @@
       };
     }
     {
-      name = "lodash.restparam___lodash.restparam_3.6.1.tgz";
-      path = fetchurl {
-        name = "lodash.restparam___lodash.restparam_3.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz";
-        sha1 = "936a4e309ef330a7645ed4145986c85ae5b20805";
-      };
-    }
-    {
       name = "lodash.some___lodash.some_4.6.0.tgz";
       path = fetchurl {
         name = "lodash.some___lodash.some_4.6.0.tgz";
@@ -6626,22 +7954,6 @@
       };
     }
     {
-      name = "lodash.template___lodash.template_3.6.2.tgz";
-      path = fetchurl {
-        name = "lodash.template___lodash.template_3.6.2.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz";
-        sha1 = "f8cdecc6169a255be9098ae8b0c53d378931d14f";
-      };
-    }
-    {
-      name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz";
-      path = fetchurl {
-        name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz";
-        sha1 = "fb307844753b66b9f1afa54e262c745307dba8e5";
-      };
-    }
-    {
       name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
       path = fetchurl {
         name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
@@ -6658,11 +7970,11 @@
       };
     }
     {
-      name = "lodash___lodash_1.0.2.tgz";
+      name = "lodash___lodash_4.17.15.tgz";
       path = fetchurl {
-        name = "lodash___lodash_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz";
-        sha1 = "8f57560c83b59fc270bd3d561b690043430e2551";
+        name = "lodash___lodash_4.17.15.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz";
+        sha1 = "b447f6670a0455bbfeedd11392eff330ea097548";
       };
     }
     {
@@ -6674,6 +7986,22 @@
       };
     }
     {
+      name = "long___long_4.0.0.tgz";
+      path = fetchurl {
+        name = "long___long_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz";
+        sha1 = "9a7b71cfb7d361a194ea555241c92f7468d5bf28";
+      };
+    }
+    {
+      name = "longest_streak___longest_streak_2.0.3.tgz";
+      path = fetchurl {
+        name = "longest_streak___longest_streak_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz";
+        sha1 = "3de7a3f47ee18e9074ded8575b5c091f5d0a4105";
+      };
+    }
+    {
       name = "longest___longest_1.0.1.tgz";
       path = fetchurl {
         name = "longest___longest_1.0.1.tgz";
@@ -6770,14 +8098,6 @@
       };
     }
     {
-      name = "make_iterator___make_iterator_1.0.1.tgz";
-      path = fetchurl {
-        name = "make_iterator___make_iterator_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz";
-        sha1 = "29b33f312aa8f547c4a5e490f56afcec99133ad6";
-      };
-    }
-    {
       name = "make_plural___make_plural_3.0.6.tgz";
       path = fetchurl {
         name = "make_plural___make_plural_3.0.6.tgz";
@@ -6810,6 +8130,14 @@
       };
     }
     {
+      name = "map_stream___map_stream_0.0.7.tgz";
+      path = fetchurl {
+        name = "map_stream___map_stream_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.7.tgz";
+        sha1 = "8a1f07896d82b10926bd3744a2420009f88974a8";
+      };
+    }
+    {
       name = "map_visit___map_visit_1.0.0.tgz";
       path = fetchurl {
         name = "map_visit___map_visit_1.0.0.tgz";
@@ -6818,6 +8146,14 @@
       };
     }
     {
+      name = "markdown_escapes___markdown_escapes_1.0.3.tgz";
+      path = fetchurl {
+        name = "markdown_escapes___markdown_escapes_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz";
+        sha1 = "6155e10416efaafab665d466ce598216375195f5";
+      };
+    }
+    {
       name = "markdown_it_abbr___markdown_it_abbr_1.0.4.tgz";
       path = fetchurl {
         name = "markdown_it_abbr___markdown_it_abbr_1.0.4.tgz";
@@ -6930,11 +8266,19 @@
       };
     }
     {
-      name = "marked___marked_0.6.2.tgz";
+      name = "markdown_table___markdown_table_1.1.3.tgz";
       path = fetchurl {
-        name = "marked___marked_0.6.2.tgz";
-        url  = "https://registry.yarnpkg.com/marked/-/marked-0.6.2.tgz";
-        sha1 = "c574be8b545a8b48641456ca1dbe0e37b6dccc1a";
+        name = "markdown_table___markdown_table_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz";
+        sha1 = "9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60";
+      };
+    }
+    {
+      name = "marked___marked_0.7.0.tgz";
+      path = fetchurl {
+        name = "marked___marked_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/marked/-/marked-0.7.0.tgz";
+        sha1 = "b64201f051d271b1edc10a04d1ae9b74bb8e5c0e";
       };
     }
     {
@@ -6986,6 +8330,54 @@
       };
     }
     {
+      name = "mdast_util_compact___mdast_util_compact_1.0.3.tgz";
+      path = fetchurl {
+        name = "mdast_util_compact___mdast_util_compact_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz";
+        sha1 = "98a25cc8a7865761a41477b3a87d1dcef0b1e79d";
+      };
+    }
+    {
+      name = "mdast_util_definitions___mdast_util_definitions_1.2.4.tgz";
+      path = fetchurl {
+        name = "mdast_util_definitions___mdast_util_definitions_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.4.tgz";
+        sha1 = "2b54ad4eecaff9d9fcb6bf6f9f6b68b232d77ca7";
+      };
+    }
+    {
+      name = "mdast_util_inject___mdast_util_inject_1.1.0.tgz";
+      path = fetchurl {
+        name = "mdast_util_inject___mdast_util_inject_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz";
+        sha1 = "db06b8b585be959a2dcd2f87f472ba9b756f3675";
+      };
+    }
+    {
+      name = "mdast_util_to_hast___mdast_util_to_hast_3.0.4.tgz";
+      path = fetchurl {
+        name = "mdast_util_to_hast___mdast_util_to_hast_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz";
+        sha1 = "132001b266031192348d3366a6b011f28e54dc40";
+      };
+    }
+    {
+      name = "mdast_util_to_string___mdast_util_to_string_1.0.6.tgz";
+      path = fetchurl {
+        name = "mdast_util_to_string___mdast_util_to_string_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz";
+        sha1 = "7d85421021343b33de1552fc71cb8e5b4ae7536d";
+      };
+    }
+    {
+      name = "mdast_util_toc___mdast_util_toc_3.1.0.tgz";
+      path = fetchurl {
+        name = "mdast_util_toc___mdast_util_toc_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz";
+        sha1 = "395eeb877f067f9d2165d990d77c7eea6f740934";
+      };
+    }
+    {
       name = "mdn_data___mdn_data_1.1.4.tgz";
       path = fetchurl {
         name = "mdn_data___mdn_data_1.1.4.tgz";
@@ -7010,14 +8402,6 @@
       };
     }
     {
-      name = "mem___mem_1.1.0.tgz";
-      path = fetchurl {
-        name = "mem___mem_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz";
-        sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76";
-      };
-    }
-    {
       name = "mem___mem_4.3.0.tgz";
       path = fetchurl {
         name = "mem___mem_4.3.0.tgz";
@@ -7050,11 +8434,11 @@
       };
     }
     {
-      name = "mermaid___mermaid_7.1.2.tgz";
+      name = "mermaid___mermaid_8.2.3.tgz";
       path = fetchurl {
-        name = "mermaid___mermaid_7.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-7.1.2.tgz";
-        sha1 = "6265728156c2e0891e004cba60a44022174487ad";
+        name = "mermaid___mermaid_8.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.2.3.tgz";
+        sha1 = "609bad45bedc3ee1a935161c11c3c22689cfecd9";
       };
     }
     {
@@ -7071,8 +8455,8 @@
       let
         repo = fetchgit {
           url = "https://github.com/codimd/meta-marked";
-          rev = "04fd9775b38566e41b71e3e63bd78717d3eb4445";
-          sha256 = "196dx12l1zlshhr2vy4qfbgz13xdj24fm6z1ddrbfj3f86gsd8vk";
+          rev = "30852d0efa633418865df179f5956cd3df0fd0b3";
+          sha256 = "0d112jhxvp2zy3gwdp1cc5hk61h2ggfrjdjjhr6qhikf78w10080";
         };
       in
         runCommandNoCC "meta-marked" { buildInputs = [gnutar]; } ''
@@ -7162,6 +8546,14 @@
       };
     }
     {
+      name = "mime___mime_2.4.4.tgz";
+      path = fetchurl {
+        name = "mime___mime_2.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz";
+        sha1 = "bd7b91135fc6b01cde3e9bae33d659b63d8857e5";
+      };
+    }
+    {
       name = "mimic_fn___mimic_fn_1.2.0.tgz";
       path = fetchurl {
         name = "mimic_fn___mimic_fn_1.2.0.tgz";
@@ -7186,6 +8578,14 @@
       };
     }
     {
+      name = "minify___minify_4.1.3.tgz";
+      path = fetchurl {
+        name = "minify___minify_4.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/minify/-/minify-4.1.3.tgz";
+        sha1 = "58467922d14303f55a3a28fa79641371955b8fbd";
+      };
+    }
+    {
       name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
       path = fetchurl {
         name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
@@ -7306,6 +8706,22 @@
       };
     }
     {
+      name = "module_deps_sortable___module_deps_sortable_5.0.0.tgz";
+      path = fetchurl {
+        name = "module_deps_sortable___module_deps_sortable_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/module-deps-sortable/-/module-deps-sortable-5.0.0.tgz";
+        sha1 = "99db5bb08f7eab55e4c31f6b7c722c6a2144ba74";
+      };
+    }
+    {
+      name = "moment_mini___moment_mini_2.22.1.tgz";
+      path = fetchurl {
+        name = "moment_mini___moment_mini_2.22.1.tgz";
+        url  = "https://registry.yarnpkg.com/moment-mini/-/moment-mini-2.22.1.tgz";
+        sha1 = "bc32d73e43a4505070be6b53494b17623183420d";
+      };
+    }
+    {
       name = "moment_timezone___moment_timezone_0.5.25.tgz";
       path = fetchurl {
         name = "moment_timezone___moment_timezone_0.5.25.tgz";
@@ -7354,14 +8770,6 @@
       };
     }
     {
-      name = "multipipe___multipipe_0.1.2.tgz";
-      path = fetchurl {
-        name = "multipipe___multipipe_0.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz";
-        sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b";
-      };
-    }
-    {
       name = "mustache___mustache_3.0.1.tgz";
       path = fetchurl {
         name = "mustache___mustache_3.0.1.tgz";
@@ -7386,11 +8794,19 @@
       };
     }
     {
-      name = "mysql___mysql_2.17.1.tgz";
+      name = "mysql2___mysql2_1.6.5.tgz";
       path = fetchurl {
-        name = "mysql___mysql_2.17.1.tgz";
-        url  = "https://registry.yarnpkg.com/mysql/-/mysql-2.17.1.tgz";
-        sha1 = "62bba4a039a9b2f73638cd1652ce50fc6f682899";
+        name = "mysql2___mysql2_1.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/mysql2/-/mysql2-1.6.5.tgz";
+        sha1 = "6695304fa2ce793dda5c98e8bbec65cbd2e6cb9d";
+      };
+    }
+    {
+      name = "named_placeholders___named_placeholders_1.1.2.tgz";
+      path = fetchurl {
+        name = "named_placeholders___named_placeholders_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/named-placeholders/-/named-placeholders-1.1.2.tgz";
+        sha1 = "ceb1fbff50b6b33492b5cf214ccf5e39cef3d0e8";
       };
     }
     {
@@ -7410,14 +8826,6 @@
       };
     }
     {
-      name = "natives___natives_1.1.6.tgz";
-      path = fetchurl {
-        name = "natives___natives_1.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz";
-        sha1 = "a603b4a498ab77173612b9ea1acdec4d980f00bb";
-      };
-    }
-    {
       name = "natural_compare___natural_compare_1.4.0.tgz";
       path = fetchurl {
         name = "natural_compare___natural_compare_1.4.0.tgz";
@@ -7538,6 +8946,14 @@
       };
     }
     {
+      name = "node_releases___node_releases_1.1.26.tgz";
+      path = fetchurl {
+        name = "node_releases___node_releases_1.1.26.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.26.tgz";
+        sha1 = "f30563edc5c7dc20cf524cc8652ffa7be0762937";
+      };
+    }
+    {
       name = "node_static___node_static_0.7.11.tgz";
       path = fetchurl {
         name = "node_static___node_static_0.7.11.tgz";
@@ -7594,6 +9010,14 @@
       };
     }
     {
+      name = "normalize_url___normalize_url_1.9.1.tgz";
+      path = fetchurl {
+        name = "normalize_url___normalize_url_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz";
+        sha1 = "2cc0d66b31ea23036458436e3620d85954c66c3c";
+      };
+    }
+    {
       name = "normalize_url___normalize_url_3.3.0.tgz";
       path = fetchurl {
         name = "normalize_url___normalize_url_3.3.0.tgz";
@@ -7602,6 +9026,14 @@
       };
     }
     {
+      name = "now_and_later___now_and_later_2.0.1.tgz";
+      path = fetchurl {
+        name = "now_and_later___now_and_later_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz";
+        sha1 = "8e579c8685764a7cc02cb680380e94f43ccb1f7c";
+      };
+    }
+    {
       name = "npm_bundled___npm_bundled_1.0.6.tgz";
       path = fetchurl {
         name = "npm_bundled___npm_bundled_1.0.6.tgz";
@@ -7690,14 +9122,6 @@
       };
     }
     {
-      name = "object_assign___object_assign_3.0.0.tgz";
-      path = fetchurl {
-        name = "object_assign___object_assign_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz";
-        sha1 = "9bedd5ca0897949bca47e7ff408062d549f587f2";
-      };
-    }
-    {
       name = "object_assign___object_assign_4.1.1.tgz";
       path = fetchurl {
         name = "object_assign___object_assign_4.1.1.tgz";
@@ -7738,11 +9162,11 @@
       };
     }
     {
-      name = "object.defaults___object.defaults_1.1.0.tgz";
+      name = "object.assign___object.assign_4.1.0.tgz";
       path = fetchurl {
-        name = "object.defaults___object.defaults_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz";
-        sha1 = "3a7f868334b407dea06da16d88d5cd29e435fecf";
+        name = "object.assign___object.assign_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz";
+        sha1 = "968bf1100d7956bb3ca086f006f846b3bc4008da";
       };
     }
     {
@@ -7754,14 +9178,6 @@
       };
     }
     {
-      name = "object.map___object.map_1.0.1.tgz";
-      path = fetchurl {
-        name = "object.map___object.map_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz";
-        sha1 = "cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37";
-      };
-    }
-    {
       name = "object.omit___object.omit_2.0.1.tgz";
       path = fetchurl {
         name = "object.omit___object.omit_2.0.1.tgz";
@@ -7810,14 +9226,6 @@
       };
     }
     {
-      name = "once___once_1.3.3.tgz";
-      path = fetchurl {
-        name = "once___once_1.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz";
-        sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20";
-      };
-    }
-    {
       name = "one_time___one_time_0.0.4.tgz";
       path = fetchurl {
         name = "one_time___one_time_0.0.4.tgz";
@@ -7866,19 +9274,11 @@
       };
     }
     {
-      name = "orchestrator___orchestrator_0.3.8.tgz";
+      name = "ordered_read_streams___ordered_read_streams_1.0.1.tgz";
       path = fetchurl {
-        name = "orchestrator___orchestrator_0.3.8.tgz";
-        url  = "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz";
-        sha1 = "14e7e9e2764f7315fbac184e506c7aa6df94ad7e";
-      };
-    }
-    {
-      name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz";
-      path = fetchurl {
-        name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz";
-        sha1 = "fd565a9af8eb4473ba69b6ed8a34352cb552f126";
+        name = "ordered_read_streams___ordered_read_streams_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz";
+        sha1 = "77c0cb37c41525d64166d990ffad7ec6a0e1363e";
       };
     }
     {
@@ -7898,14 +9298,6 @@
       };
     }
     {
-      name = "os_locale___os_locale_2.1.0.tgz";
-      path = fetchurl {
-        name = "os_locale___os_locale_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz";
-        sha1 = "42bc2900a6b5b8bd17376c8e882b65afccf24bf2";
-      };
-    }
-    {
       name = "os_locale___os_locale_3.1.0.tgz";
       path = fetchurl {
         name = "os_locale___os_locale_3.1.0.tgz";
@@ -8058,6 +9450,14 @@
       };
     }
     {
+      name = "parse_entities___parse_entities_1.2.2.tgz";
+      path = fetchurl {
+        name = "parse_entities___parse_entities_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz";
+        sha1 = "c31bf0f653b6661354f8973559cb86dd1d5edf50";
+      };
+    }
+    {
       name = "parse_filepath___parse_filepath_1.0.2.tgz";
       path = fetchurl {
         name = "parse_filepath___parse_filepath_1.0.2.tgz";
@@ -8106,6 +9506,22 @@
       };
     }
     {
+      name = "parse_path___parse_path_3.0.4.tgz";
+      path = fetchurl {
+        name = "parse_path___parse_path_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/parse-path/-/parse-path-3.0.4.tgz";
+        sha1 = "a48b7b529da41f34d9d1428602a39b29fc7180e4";
+      };
+    }
+    {
+      name = "parse_url___parse_url_3.0.2.tgz";
+      path = fetchurl {
+        name = "parse_url___parse_url_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/parse-url/-/parse-url-3.0.2.tgz";
+        sha1 = "602787a7063a795d72b8673197505e72f60610be";
+      };
+    }
+    {
       name = "parse5___parse5_4.0.0.tgz";
       path = fetchurl {
         name = "parse5___parse5_4.0.0.tgz";
@@ -8898,6 +10314,14 @@
       };
     }
     {
+      name = "prepend_http___prepend_http_1.0.4.tgz";
+      path = fetchurl {
+        name = "prepend_http___prepend_http_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz";
+        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+      };
+    }
+    {
       name = "preserve___preserve_0.2.0.tgz";
       path = fetchurl {
         name = "preserve___preserve_0.2.0.tgz";
@@ -8914,14 +10338,6 @@
       };
     }
     {
-      name = "pretty_hrtime___pretty_hrtime_1.0.3.tgz";
-      path = fetchurl {
-        name = "pretty_hrtime___pretty_hrtime_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz";
-        sha1 = "b7e3ea42435a4c9b2759d99e0f201eb195802ee1";
-      };
-    }
-    {
       name = "prismjs___prismjs_1.16.0.tgz";
       path = fetchurl {
         name = "prismjs___prismjs_1.16.0.tgz";
@@ -8938,6 +10354,14 @@
       };
     }
     {
+      name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
+      path = fetchurl {
+        name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
+        sha1 = "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2";
+      };
+    }
+    {
       name = "process_nextick_args___process_nextick_args_1.0.7.tgz";
       path = fetchurl {
         name = "process_nextick_args___process_nextick_args_1.0.7.tgz";
@@ -8994,6 +10418,14 @@
       };
     }
     {
+      name = "property_information___property_information_4.2.0.tgz";
+      path = fetchurl {
+        name = "property_information___property_information_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/property-information/-/property-information-4.2.0.tgz";
+        sha1 = "f0e66e07cbd6fed31d96844d958d153ad3eb486e";
+      };
+    }
+    {
       name = "proto_list___proto_list_1.2.4.tgz";
       path = fetchurl {
         name = "proto_list___proto_list_1.2.4.tgz";
@@ -9002,6 +10434,14 @@
       };
     }
     {
+      name = "protocols___protocols_1.4.7.tgz";
+      path = fetchurl {
+        name = "protocols___protocols_1.4.7.tgz";
+        url  = "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz";
+        sha1 = "95f788a4f0e979b291ffefcf5636ad113d037d32";
+      };
+    }
+    {
       name = "proxy_addr___proxy_addr_2.0.5.tgz";
       path = fetchurl {
         name = "proxy_addr___proxy_addr_2.0.5.tgz";
@@ -9130,6 +10570,14 @@
       };
     }
     {
+      name = "query_string___query_string_4.3.4.tgz";
+      path = fetchurl {
+        name = "query_string___query_string_4.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz";
+        sha1 = "bbb693b9ca915c232515b228b1a02b609043dbeb";
+      };
+    }
+    {
       name = "querystring_es3___querystring_es3_0.2.1.tgz";
       path = fetchurl {
         name = "querystring_es3___querystring_es3_0.2.1.tgz";
@@ -9234,6 +10682,14 @@
       };
     }
     {
+      name = "raw_body___raw_body_1.1.7.tgz";
+      path = fetchurl {
+        name = "raw_body___raw_body_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz";
+        sha1 = "1d027c2bfa116acc6623bca8f00016572a87d425";
+      };
+    }
+    {
       name = "raw_loader___raw_loader_0.5.1.tgz";
       path = fetchurl {
         name = "raw_loader___raw_loader_0.5.1.tgz";
@@ -9258,6 +10714,14 @@
       };
     }
     {
+      name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
+        sha1 = "1b221c6088ba7799601c808f91161c66e58f8978";
+      };
+    }
+    {
       name = "read_pkg___read_pkg_2.0.0.tgz";
       path = fetchurl {
         name = "read_pkg___read_pkg_2.0.0.tgz";
@@ -9266,6 +10730,14 @@
       };
     }
     {
+      name = "read_pkg___read_pkg_3.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz";
+        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+      };
+    }
+    {
       name = "readable_stream___readable_stream_2.3.6.tgz";
       path = fetchurl {
         name = "readable_stream___readable_stream_2.3.6.tgz";
@@ -9298,14 +10770,6 @@
       };
     }
     {
-      name = "readable_stream___readable_stream_1.1.14.tgz";
-      path = fetchurl {
-        name = "readable_stream___readable_stream_1.1.14.tgz";
-        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz";
-        sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
-      };
-    }
-    {
       name = "readable_stream___readable_stream_2.0.6.tgz";
       path = fetchurl {
         name = "readable_stream___readable_stream_2.0.6.tgz";
@@ -9314,6 +10778,14 @@
       };
     }
     {
+      name = "readable_stream___readable_stream_2.1.5.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_2.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz";
+        sha1 = "66fa8b720e1438b364681f2ad1a63c618448c9d0";
+      };
+    }
+    {
       name = "readdirp___readdirp_2.2.1.tgz";
       path = fetchurl {
         name = "readdirp___readdirp_2.2.1.tgz";
@@ -9330,22 +10802,6 @@
       };
     }
     {
-      name = "rechoir___rechoir_0.6.2.tgz";
-      path = fetchurl {
-        name = "rechoir___rechoir_0.6.2.tgz";
-        url  = "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz";
-        sha1 = "85204b54dba82d5742e28c96756ef43af50e3384";
-      };
-    }
-    {
-      name = "redefine___redefine_0.2.1.tgz";
-      path = fetchurl {
-        name = "redefine___redefine_0.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/redefine/-/redefine-0.2.1.tgz";
-        sha1 = "e89ee7a6f24d19fff62590569332dc60380a89a3";
-      };
-    }
-    {
       name = "reduce_component___reduce_component_1.0.1.tgz";
       path = fetchurl {
         name = "reduce_component___reduce_component_1.0.1.tgz";
@@ -9402,6 +10858,14 @@
       };
     }
     {
+      name = "regenerator_transform___regenerator_transform_0.14.1.tgz";
+      path = fetchurl {
+        name = "regenerator_transform___regenerator_transform_0.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz";
+        sha1 = "3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb";
+      };
+    }
+    {
       name = "regex_cache___regex_cache_0.4.4.tgz";
       path = fetchurl {
         name = "regex_cache___regex_cache_0.4.4.tgz";
@@ -9418,6 +10882,14 @@
       };
     }
     {
+      name = "regexp_tree___regexp_tree_0.1.11.tgz";
+      path = fetchurl {
+        name = "regexp_tree___regexp_tree_0.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz";
+        sha1 = "c9c7f00fcf722e0a56c7390983a7a63dd6c272f3";
+      };
+    }
+    {
       name = "regexpp___regexpp_2.0.1.tgz";
       path = fetchurl {
         name = "regexpp___regexpp_2.0.1.tgz";
@@ -9490,6 +10962,62 @@
       };
     }
     {
+      name = "remark_html___remark_html_8.0.0.tgz";
+      path = fetchurl {
+        name = "remark_html___remark_html_8.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/remark-html/-/remark-html-8.0.0.tgz";
+        sha1 = "9fcb859a6f3cb40f3ef15402950f1a62ec301b3a";
+      };
+    }
+    {
+      name = "remark_parse___remark_parse_5.0.0.tgz";
+      path = fetchurl {
+        name = "remark_parse___remark_parse_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz";
+        sha1 = "4c077f9e499044d1d5c13f80d7a98cf7b9285d95";
+      };
+    }
+    {
+      name = "remark_reference_links___remark_reference_links_4.0.4.tgz";
+      path = fetchurl {
+        name = "remark_reference_links___remark_reference_links_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/remark-reference-links/-/remark-reference-links-4.0.4.tgz";
+        sha1 = "190579a0d6b002859d6cdbdc5aeb8bbdae4e06ab";
+      };
+    }
+    {
+      name = "remark_slug___remark_slug_5.1.2.tgz";
+      path = fetchurl {
+        name = "remark_slug___remark_slug_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/remark-slug/-/remark-slug-5.1.2.tgz";
+        sha1 = "715ecdef8df1226786204b1887d31ab16aa24609";
+      };
+    }
+    {
+      name = "remark_stringify___remark_stringify_5.0.0.tgz";
+      path = fetchurl {
+        name = "remark_stringify___remark_stringify_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-5.0.0.tgz";
+        sha1 = "336d3a4d4a6a3390d933eeba62e8de4bd280afba";
+      };
+    }
+    {
+      name = "remark_toc___remark_toc_5.1.1.tgz";
+      path = fetchurl {
+        name = "remark_toc___remark_toc_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/remark-toc/-/remark-toc-5.1.1.tgz";
+        sha1 = "8c229d6f834cdb43fde6685e2d43248d3fc82d78";
+      };
+    }
+    {
+      name = "remark___remark_9.0.0.tgz";
+      path = fetchurl {
+        name = "remark___remark_9.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/remark/-/remark-9.0.0.tgz";
+        sha1 = "c5cfa8ec535c73a67c4b0f12bfdbd3a67d8b2f60";
+      };
+    }
+    {
       name = "remarkable___remarkable_1.7.1.tgz";
       path = fetchurl {
         name = "remarkable___remarkable_1.7.1.tgz";
@@ -9498,6 +11026,22 @@
       };
     }
     {
+      name = "remove_bom_buffer___remove_bom_buffer_3.0.0.tgz";
+      path = fetchurl {
+        name = "remove_bom_buffer___remove_bom_buffer_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz";
+        sha1 = "c2bf1e377520d324f623892e33c10cac2c252b53";
+      };
+    }
+    {
+      name = "remove_bom_stream___remove_bom_stream_1.2.0.tgz";
+      path = fetchurl {
+        name = "remove_bom_stream___remove_bom_stream_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz";
+        sha1 = "05f1a593f16e42e1fb90ebf59de8e569525f9523";
+      };
+    }
+    {
       name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
       path = fetchurl {
         name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
@@ -9538,11 +11082,11 @@
       };
     }
     {
-      name = "replace_ext___replace_ext_0.0.1.tgz";
+      name = "replace_ext___replace_ext_1.0.0.tgz";
       path = fetchurl {
-        name = "replace_ext___replace_ext_0.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz";
-        sha1 = "29bbd92078a739f0bcce2b4ee41e837953522924";
+        name = "replace_ext___replace_ext_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz";
+        sha1 = "de63128373fcbf7c3ccfa4de5a480c45a67958eb";
       };
     }
     {
@@ -9594,6 +11138,14 @@
       };
     }
     {
+      name = "require_main_filename___require_main_filename_2.0.0.tgz";
+      path = fetchurl {
+        name = "require_main_filename___require_main_filename_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz";
+        sha1 = "d0b329ecc7cc0f61649f62215be69af54aa8989b";
+      };
+    }
+    {
       name = "require_relative___require_relative_0.8.7.tgz";
       path = fetchurl {
         name = "require_relative___require_relative_0.8.7.tgz";
@@ -9610,14 +11162,6 @@
       };
     }
     {
-      name = "resolve_dir___resolve_dir_0.1.1.tgz";
-      path = fetchurl {
-        name = "resolve_dir___resolve_dir_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz";
-        sha1 = "b219259a5602fac5c5c496ad894a6e8cc430261e";
-      };
-    }
-    {
       name = "resolve_dir___resolve_dir_1.0.1.tgz";
       path = fetchurl {
         name = "resolve_dir___resolve_dir_1.0.1.tgz";
@@ -9642,6 +11186,14 @@
       };
     }
     {
+      name = "resolve_options___resolve_options_1.1.0.tgz";
+      path = fetchurl {
+        name = "resolve_options___resolve_options_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz";
+        sha1 = "32bb9e39c06d67338dc9378c0d6d6074566ad131";
+      };
+    }
+    {
       name = "resolve_url___resolve_url_0.2.1.tgz";
       path = fetchurl {
         name = "resolve_url___resolve_url_0.2.1.tgz";
@@ -9650,6 +11202,22 @@
       };
     }
     {
+      name = "resolve___resolve_1.1.7.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz";
+        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+      };
+    }
+    {
+      name = "resolve___resolve_1.12.0.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz";
+        sha1 = "3fc644a35c84a48554609ff26ec52b66fa577df6";
+      };
+    }
+    {
       name = "resolve___resolve_1.11.0.tgz";
       path = fetchurl {
         name = "resolve___resolve_1.11.0.tgz";
@@ -9674,11 +11242,11 @@
       };
     }
     {
-      name = "retry_as_promised___retry_as_promised_2.3.2.tgz";
+      name = "retry_as_promised___retry_as_promised_3.2.0.tgz";
       path = fetchurl {
-        name = "retry_as_promised___retry_as_promised_2.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-2.3.2.tgz";
-        sha1 = "cd974ee4fd9b5fe03cbf31871ee48221c07737b7";
+        name = "retry_as_promised___retry_as_promised_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-3.2.0.tgz";
+        sha1 = "769f63d536bec4783549db0777cb56dadd9d8543";
       };
     }
     {
@@ -9786,6 +11354,14 @@
       };
     }
     {
+      name = "rw___rw_1.3.3.tgz";
+      path = fetchurl {
+        name = "rw___rw_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz";
+        sha1 = "3f862dfa91ab766b14885ef4d01124bfda074fb4";
+      };
+    }
+    {
       name = "rxjs___rxjs_6.5.2.tgz";
       path = fetchurl {
         name = "rxjs___rxjs_6.5.2.tgz";
@@ -9802,6 +11378,22 @@
       };
     }
     {
+      name = "safe_buffer___safe_buffer_5.2.0.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz";
+        sha1 = "b74daec49b1148f88c64b68d49b1e815c1f2f519";
+      };
+    }
+    {
+      name = "safe_json_parse___safe_json_parse_1.0.1.tgz";
+      path = fetchurl {
+        name = "safe_json_parse___safe_json_parse_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz";
+        sha1 = "3e76723e38dfdda13c9b1d29a1e07ffee4b30b57";
+      };
+    }
+    {
       name = "safe_json_stringify___safe_json_stringify_1.2.0.tgz";
       path = fetchurl {
         name = "safe_json_stringify___safe_json_stringify_1.2.0.tgz";
@@ -9882,6 +11474,14 @@
       };
     }
     {
+      name = "scope_css___scope_css_1.2.1.tgz";
+      path = fetchurl {
+        name = "scope_css___scope_css_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/scope-css/-/scope-css-1.2.1.tgz";
+        sha1 = "c35768bc900cad030a3e0d663a818c0f6a57f40e";
+      };
+    }
+    {
       name = "script_loader___script_loader_0.7.2.tgz";
       path = fetchurl {
         name = "script_loader___script_loader_0.7.2.tgz";
@@ -9938,11 +11538,11 @@
       };
     }
     {
-      name = "semver___semver_4.3.6.tgz";
+      name = "semver___semver_6.1.1.tgz";
       path = fetchurl {
-        name = "semver___semver_4.3.6.tgz";
-        url  = "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz";
-        sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da";
+        name = "semver___semver_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz";
+        sha1 = "53f53da9b30b2103cd4f15eab3a18ecbcb210c9b";
       };
     }
     {
@@ -9954,27 +11554,35 @@
       };
     }
     {
-      name = "sequelize_cli___sequelize_cli_2.8.0.tgz";
+      name = "seq_queue___seq_queue_0.0.5.tgz";
       path = fetchurl {
-        name = "sequelize_cli___sequelize_cli_2.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/sequelize-cli/-/sequelize-cli-2.8.0.tgz";
-        sha1 = "4304cce60e499169603f838dedbab421c9849e74";
+        name = "seq_queue___seq_queue_0.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/seq-queue/-/seq-queue-0.0.5.tgz";
+        sha1 = "d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e";
       };
     }
     {
-      name = "sequelize___sequelize_3.34.0.tgz";
+      name = "sequelize_cli___sequelize_cli_5.5.0.tgz";
       path = fetchurl {
-        name = "sequelize___sequelize_3.34.0.tgz";
-        url  = "https://registry.yarnpkg.com/sequelize/-/sequelize-3.34.0.tgz";
-        sha1 = "edbceb53dd7c9e5a0fd6b35fb89565239e8f09e4";
+        name = "sequelize_cli___sequelize_cli_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/sequelize-cli/-/sequelize-cli-5.5.0.tgz";
+        sha1 = "b0570352f70eaa489a25dccf55cf316675d6ff06";
       };
     }
     {
-      name = "sequencify___sequencify_0.0.7.tgz";
+      name = "sequelize_pool___sequelize_pool_2.2.0.tgz";
       path = fetchurl {
-        name = "sequencify___sequencify_0.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz";
-        sha1 = "90cff19d02e07027fd767f5ead3e7b95d1e7380c";
+        name = "sequelize_pool___sequelize_pool_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-2.2.0.tgz";
+        sha1 = "fd4eb05ccefb5df5c23d2cc6fd934c20fd9c5dab";
+      };
+    }
+    {
+      name = "sequelize___sequelize_5.8.12.tgz";
+      path = fetchurl {
+        name = "sequelize___sequelize_5.8.12.tgz";
+        url  = "https://registry.yarnpkg.com/sequelize/-/sequelize-5.8.12.tgz";
+        sha1 = "91f46f16789307d40c68f8c039c10d1d0f230ad2";
       };
     }
     {
@@ -10066,11 +11674,11 @@
       };
     }
     {
-      name = "shimmer___shimmer_1.1.0.tgz";
+      name = "shimmer___shimmer_1.2.1.tgz";
       path = fetchurl {
-        name = "shimmer___shimmer_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/shimmer/-/shimmer-1.1.0.tgz";
-        sha1 = "97d7377137ffbbab425522e429fe0aa89a488b35";
+        name = "shimmer___shimmer_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz";
+        sha1 = "610859f7de327b587efebf501fb43117f9aff337";
       };
     }
     {
@@ -10122,6 +11730,14 @@
       };
     }
     {
+      name = "slugify___slugify_1.3.4.tgz";
+      path = fetchurl {
+        name = "slugify___slugify_1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/slugify/-/slugify-1.3.4.tgz";
+        sha1 = "78d2792d7222b55cd9fc81fa018df99af779efeb";
+      };
+    }
+    {
       name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
       path = fetchurl {
         name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
@@ -10186,6 +11802,14 @@
       };
     }
     {
+      name = "sort_keys___sort_keys_1.1.2.tgz";
+      path = fetchurl {
+        name = "sort_keys___sort_keys_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz";
+        sha1 = "441b6d4d346798f1b4e49e8920adfba0e543f9ad";
+      };
+    }
+    {
       name = "source_list_map___source_list_map_2.0.1.tgz";
       path = fetchurl {
         name = "source_list_map___source_list_map_2.0.1.tgz";
@@ -10258,11 +11882,11 @@
       };
     }
     {
-      name = "sparkles___sparkles_1.0.1.tgz";
+      name = "space_separated_tokens___space_separated_tokens_1.1.4.tgz";
       path = fetchurl {
-        name = "sparkles___sparkles_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz";
-        sha1 = "008db65edce6c50eec0c5e228e1945061dd0437c";
+        name = "space_separated_tokens___space_separated_tokens_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz";
+        sha1 = "27910835ae00d0adfcdbd0ad7e611fb9544351fa";
       };
     }
     {
@@ -10402,6 +12026,14 @@
       };
     }
     {
+      name = "state_toggle___state_toggle_1.0.2.tgz";
+      path = fetchurl {
+        name = "state_toggle___state_toggle_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz";
+        sha1 = "75e93a61944116b4959d665c8db2d243631d6ddc";
+      };
+    }
+    {
       name = "static_extend___static_extend_0.1.2.tgz";
       path = fetchurl {
         name = "static_extend___static_extend_0.1.2.tgz";
@@ -10434,6 +12066,14 @@
       };
     }
     {
+      name = "stream_array___stream_array_1.1.2.tgz";
+      path = fetchurl {
+        name = "stream_array___stream_array_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/stream-array/-/stream-array-1.1.2.tgz";
+        sha1 = "9e5f7345f2137c30ee3b498b9114e80b52bb7eb5";
+      };
+    }
+    {
       name = "stream_browserify___stream_browserify_2.0.2.tgz";
       path = fetchurl {
         name = "stream_browserify___stream_browserify_2.0.2.tgz";
@@ -10442,11 +12082,11 @@
       };
     }
     {
-      name = "stream_consume___stream_consume_0.1.1.tgz";
+      name = "stream_combiner2___stream_combiner2_1.1.1.tgz";
       path = fetchurl {
-        name = "stream_consume___stream_consume_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz";
-        sha1 = "d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48";
+        name = "stream_combiner2___stream_combiner2_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz";
+        sha1 = "fb4d8a1420ea362764e21ad4780397bebcb41cbe";
       };
     }
     {
@@ -10482,6 +12122,14 @@
       };
     }
     {
+      name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz";
+      path = fetchurl {
+        name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
+        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
+      };
+    }
+    {
       name = "string_loader___string_loader_0.0.1.tgz";
       path = fetchurl {
         name = "string_loader___string_loader_0.0.1.tgz";
@@ -10498,6 +12146,14 @@
       };
     }
     {
+      name = "string_template___string_template_0.2.1.tgz";
+      path = fetchurl {
+        name = "string_template___string_template_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz";
+        sha1 = "42932e598a352d01fc22ec3367d9d84eec6c9add";
+      };
+    }
+    {
       name = "string_width___string_width_1.0.2.tgz";
       path = fetchurl {
         name = "string_width___string_width_1.0.2.tgz";
@@ -10522,19 +12178,19 @@
       };
     }
     {
-      name = "string___string_3.3.3.tgz";
+      name = "string_width___string_width_4.1.0.tgz";
       path = fetchurl {
-        name = "string___string_3.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/string/-/string-3.3.3.tgz";
-        sha1 = "5ea211cd92d228e184294990a6cc97b366a77cb0";
+        name = "string_width___string_width_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz";
+        sha1 = "ba846d1daa97c3c596155308063e075ed1c99aff";
       };
     }
     {
-      name = "string_decoder___string_decoder_1.2.0.tgz";
+      name = "string___string_3.3.3.tgz";
       path = fetchurl {
-        name = "string_decoder___string_decoder_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz";
-        sha1 = "fe86e738b19544afe70469243b2a1ee9240eae8d";
+        name = "string___string_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/string/-/string-3.3.3.tgz";
+        sha1 = "5ea211cd92d228e184294990a6cc97b366a77cb0";
       };
     }
     {
@@ -10546,6 +12202,14 @@
       };
     }
     {
+      name = "string_decoder___string_decoder_1.2.0.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz";
+        sha1 = "fe86e738b19544afe70469243b2a1ee9240eae8d";
+      };
+    }
+    {
       name = "string_decoder___string_decoder_1.1.1.tgz";
       path = fetchurl {
         name = "string_decoder___string_decoder_1.1.1.tgz";
@@ -10554,6 +12218,14 @@
       };
     }
     {
+      name = "stringify_entities___stringify_entities_1.3.2.tgz";
+      path = fetchurl {
+        name = "stringify_entities___stringify_entities_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz";
+        sha1 = "a98417e5471fd227b3e45d3db1861c11caf668f7";
+      };
+    }
+    {
       name = "strip_ansi___strip_ansi_3.0.1.tgz";
       path = fetchurl {
         name = "strip_ansi___strip_ansi_3.0.1.tgz";
@@ -10586,14 +12258,6 @@
       };
     }
     {
-      name = "strip_bom___strip_bom_1.0.0.tgz";
-      path = fetchurl {
-        name = "strip_bom___strip_bom_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz";
-        sha1 = "85b8862f3844b5a6d5ec8467a93598173a36f794";
-      };
-    }
-    {
       name = "strip_bom___strip_bom_3.0.0.tgz";
       path = fetchurl {
         name = "strip_bom___strip_bom_3.0.0.tgz";
@@ -10602,6 +12266,14 @@
       };
     }
     {
+      name = "strip_css_comments___strip_css_comments_3.0.0.tgz";
+      path = fetchurl {
+        name = "strip_css_comments___strip_css_comments_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-css-comments/-/strip-css-comments-3.0.0.tgz";
+        sha1 = "7a5625eff8a2b226cf8947a11254da96e13dae89";
+      };
+    }
+    {
       name = "strip_eof___strip_eof_1.0.0.tgz";
       path = fetchurl {
         name = "strip_eof___strip_eof_1.0.0.tgz";
@@ -10634,6 +12306,14 @@
       };
     }
     {
+      name = "subarg___subarg_1.0.0.tgz";
+      path = fetchurl {
+        name = "subarg___subarg_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz";
+        sha1 = "f62cf17581e996b48fc965699f54c06ae268b8d2";
+      };
+    }
+    {
       name = "superagent___superagent_1.8.3.tgz";
       path = fetchurl {
         name = "superagent___superagent_1.8.3.tgz";
@@ -10738,22 +12418,6 @@
       };
     }
     {
-      name = "terraformer_wkt_parser___terraformer_wkt_parser_1.2.0.tgz";
-      path = fetchurl {
-        name = "terraformer_wkt_parser___terraformer_wkt_parser_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/terraformer-wkt-parser/-/terraformer-wkt-parser-1.2.0.tgz";
-        sha1 = "c9d6ac3dff25f4c0bd344e961f42694961834c34";
-      };
-    }
-    {
-      name = "terraformer___terraformer_1.0.9.tgz";
-      path = fetchurl {
-        name = "terraformer___terraformer_1.0.9.tgz";
-        url  = "https://registry.yarnpkg.com/terraformer/-/terraformer-1.0.9.tgz";
-        sha1 = "77851fef4a49c90b345dc53cf26809fdf29dcda6";
-      };
-    }
-    {
       name = "terser_webpack_plugin___terser_webpack_plugin_1.3.0.tgz";
       path = fetchurl {
         name = "terser_webpack_plugin___terser_webpack_plugin_1.3.0.tgz";
@@ -10794,6 +12458,14 @@
       };
     }
     {
+      name = "through2_filter___through2_filter_3.0.0.tgz";
+      path = fetchurl {
+        name = "through2_filter___through2_filter_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz";
+        sha1 = "700e786df2367c2c88cd8aa5be4cf9c1e7831254";
+      };
+    }
+    {
       name = "through2___through2_0.6.5.tgz";
       path = fetchurl {
         name = "through2___through2_0.6.5.tgz";
@@ -10818,14 +12490,6 @@
       };
     }
     {
-      name = "tildify___tildify_1.2.0.tgz";
-      path = fetchurl {
-        name = "tildify___tildify_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz";
-        sha1 = "dcec03f55dca9b7aa3e5b04f21817eb56e63588a";
-      };
-    }
-    {
       name = "time_stamp___time_stamp_1.1.0.tgz";
       path = fetchurl {
         name = "time_stamp___time_stamp_1.1.0.tgz";
@@ -10866,6 +12530,14 @@
       };
     }
     {
+      name = "tiny_lr___tiny_lr_1.1.1.tgz";
+      path = fetchurl {
+        name = "tiny_lr___tiny_lr_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz";
+        sha1 = "9fa547412f238fedb068ee295af8b682c98b2aab";
+      };
+    }
+    {
       name = "tmp___tmp_0.0.29.tgz";
       path = fetchurl {
         name = "tmp___tmp_0.0.29.tgz";
@@ -10882,6 +12554,14 @@
       };
     }
     {
+      name = "to_absolute_glob___to_absolute_glob_2.0.2.tgz";
+      path = fetchurl {
+        name = "to_absolute_glob___to_absolute_glob_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz";
+        sha1 = "1865f43d9e74b0822db9f145b78cff7d0f7c849b";
+      };
+    }
+    {
       name = "to_array___to_array_0.1.4.tgz";
       path = fetchurl {
         name = "to_array___to_array_0.1.4.tgz";
@@ -10914,6 +12594,14 @@
       };
     }
     {
+      name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+      path = fetchurl {
+        name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
+        sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
+      };
+    }
+    {
       name = "to_object_path___to_object_path_0.3.0.tgz";
       path = fetchurl {
         name = "to_object_path___to_object_path_0.3.0.tgz";
@@ -10938,6 +12626,14 @@
       };
     }
     {
+      name = "to_through___to_through_2.0.0.tgz";
+      path = fetchurl {
+        name = "to_through___to_through_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz";
+        sha1 = "fc92adaba072647bc0b67d6b03664aa195093af6";
+      };
+    }
+    {
       name = "toidentifier___toidentifier_1.0.0.tgz";
       path = fetchurl {
         name = "toidentifier___toidentifier_1.0.0.tgz";
@@ -10978,6 +12674,14 @@
       };
     }
     {
+      name = "trim_lines___trim_lines_1.1.2.tgz";
+      path = fetchurl {
+        name = "trim_lines___trim_lines_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.2.tgz";
+        sha1 = "c8adbdbdae21bb5c2766240a661f693afe23e59b";
+      };
+    }
+    {
       name = "trim_right___trim_right_1.0.1.tgz";
       path = fetchurl {
         name = "trim_right___trim_right_1.0.1.tgz";
@@ -10986,6 +12690,22 @@
       };
     }
     {
+      name = "trim_trailing_lines___trim_trailing_lines_1.1.2.tgz";
+      path = fetchurl {
+        name = "trim_trailing_lines___trim_trailing_lines_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz";
+        sha1 = "d2f1e153161152e9f02fabc670fb40bec2ea2e3a";
+      };
+    }
+    {
+      name = "trim___trim_0.0.1.tgz";
+      path = fetchurl {
+        name = "trim___trim_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz";
+        sha1 = "5858547f6b290757ee95cccc666fb50084c460dd";
+      };
+    }
+    {
       name = "triple_beam___triple_beam_1.3.0.tgz";
       path = fetchurl {
         name = "triple_beam___triple_beam_1.3.0.tgz";
@@ -10994,6 +12714,30 @@
       };
     }
     {
+      name = "trough___trough_1.0.4.tgz";
+      path = fetchurl {
+        name = "trough___trough_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz";
+        sha1 = "3b52b1f13924f460c3fbfd0df69b587dbcbc762e";
+      };
+    }
+    {
+      name = "try_catch___try_catch_2.0.0.tgz";
+      path = fetchurl {
+        name = "try_catch___try_catch_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/try-catch/-/try-catch-2.0.0.tgz";
+        sha1 = "a491141d597f8b72b46757fe1c47059341a16aed";
+      };
+    }
+    {
+      name = "try_to_catch___try_to_catch_1.1.1.tgz";
+      path = fetchurl {
+        name = "try_to_catch___try_to_catch_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/try-to-catch/-/try-to-catch-1.1.1.tgz";
+        sha1 = "770162dd13b9a0e55da04db5b7f888956072038a";
+      };
+    }
+    {
       name = "tslib___tslib_1.9.3.tgz";
       path = fetchurl {
         name = "tslib___tslib_1.9.3.tgz";
@@ -11122,6 +12866,14 @@
       };
     }
     {
+      name = "uglify_js___uglify_js_3.6.0.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz";
+        sha1 = "704681345c53a8b2079fb6cec294b05ead242ff5";
+      };
+    }
+    {
       name = "uglify_to_browserify___uglify_to_browserify_1.0.2.tgz";
       path = fetchurl {
         name = "uglify_to_browserify___uglify_to_browserify_1.0.2.tgz";
@@ -11162,11 +12914,11 @@
       };
     }
     {
-      name = "umzug___umzug_1.12.0.tgz";
+      name = "umzug___umzug_2.2.0.tgz";
       path = fetchurl {
-        name = "umzug___umzug_1.12.0.tgz";
-        url  = "https://registry.yarnpkg.com/umzug/-/umzug-1.12.0.tgz";
-        sha1 = "a79c91f2862eee3130c6c347f2b90ad68a66e8b8";
+        name = "umzug___umzug_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/umzug/-/umzug-2.2.0.tgz";
+        sha1 = "6160bdc1817e4a63a625946775063c638623e62e";
       };
     }
     {
@@ -11218,6 +12970,14 @@
       };
     }
     {
+      name = "unherit___unherit_1.1.2.tgz";
+      path = fetchurl {
+        name = "unherit___unherit_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz";
+        sha1 = "14f1f397253ee4ec95cec167762e77df83678449";
+      };
+    }
+    {
       name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
       path = fetchurl {
         name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
@@ -11250,6 +13010,14 @@
       };
     }
     {
+      name = "unified___unified_6.2.0.tgz";
+      path = fetchurl {
+        name = "unified___unified_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz";
+        sha1 = "7fbd630f719126d67d40c644b7e3f617035f6dba";
+      };
+    }
+    {
       name = "union_value___union_value_1.0.0.tgz";
       path = fetchurl {
         name = "union_value___union_value_1.0.0.tgz";
@@ -11290,11 +13058,91 @@
       };
     }
     {
-      name = "unique_stream___unique_stream_1.0.0.tgz";
+      name = "unique_stream___unique_stream_2.3.1.tgz";
+      path = fetchurl {
+        name = "unique_stream___unique_stream_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz";
+        sha1 = "c65d110e9a4adf9a6c5948b28053d9a8d04cbeac";
+      };
+    }
+    {
+      name = "unist_builder___unist_builder_1.0.4.tgz";
       path = fetchurl {
-        name = "unique_stream___unique_stream_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz";
-        sha1 = "d59a4a75427447d9aa6c91e70263f8d26a4b104b";
+        name = "unist_builder___unist_builder_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.4.tgz";
+        sha1 = "e1808aed30bd72adc3607f25afecebef4dd59e17";
+      };
+    }
+    {
+      name = "unist_util_generated___unist_util_generated_1.1.4.tgz";
+      path = fetchurl {
+        name = "unist_util_generated___unist_util_generated_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.4.tgz";
+        sha1 = "2261c033d9fc23fae41872cdb7663746e972c1a7";
+      };
+    }
+    {
+      name = "unist_util_is___unist_util_is_2.1.3.tgz";
+      path = fetchurl {
+        name = "unist_util_is___unist_util_is_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.3.tgz";
+        sha1 = "459182db31f4742fceaea88d429693cbf0043d20";
+      };
+    }
+    {
+      name = "unist_util_is___unist_util_is_3.0.0.tgz";
+      path = fetchurl {
+        name = "unist_util_is___unist_util_is_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz";
+        sha1 = "d9e84381c2468e82629e4a5be9d7d05a2dd324cd";
+      };
+    }
+    {
+      name = "unist_util_position___unist_util_position_3.0.3.tgz";
+      path = fetchurl {
+        name = "unist_util_position___unist_util_position_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.3.tgz";
+        sha1 = "fff942b879538b242096c148153826664b1ca373";
+      };
+    }
+    {
+      name = "unist_util_remove_position___unist_util_remove_position_1.1.3.tgz";
+      path = fetchurl {
+        name = "unist_util_remove_position___unist_util_remove_position_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz";
+        sha1 = "d91aa8b89b30cb38bad2924da11072faa64fd972";
+      };
+    }
+    {
+      name = "unist_util_stringify_position___unist_util_stringify_position_1.1.2.tgz";
+      path = fetchurl {
+        name = "unist_util_stringify_position___unist_util_stringify_position_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz";
+        sha1 = "3f37fcf351279dcbca7480ab5889bb8a832ee1c6";
+      };
+    }
+    {
+      name = "unist_util_stringify_position___unist_util_stringify_position_2.0.1.tgz";
+      path = fetchurl {
+        name = "unist_util_stringify_position___unist_util_stringify_position_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz";
+        sha1 = "de2a2bc8d3febfa606652673a91455b6a36fb9f3";
+      };
+    }
+    {
+      name = "unist_util_visit_parents___unist_util_visit_parents_2.1.2.tgz";
+      path = fetchurl {
+        name = "unist_util_visit_parents___unist_util_visit_parents_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz";
+        sha1 = "25e43e55312166f3348cae6743588781d112c1e9";
+      };
+    }
+    {
+      name = "unist_util_visit___unist_util_visit_1.4.1.tgz";
+      path = fetchurl {
+        name = "unist_util_visit___unist_util_visit_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz";
+        sha1 = "4724aaa8486e6ee6e26d7ff3c8685960d560b1e3";
       };
     }
     {
@@ -11498,14 +13346,6 @@
       };
     }
     {
-      name = "validator___validator_5.7.0.tgz";
-      path = fetchurl {
-        name = "validator___validator_5.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/validator/-/validator-5.7.0.tgz";
-        sha1 = "7a87a58146b695ac486071141c0c49d67da05e5c";
-      };
-    }
-    {
       name = "validator___validator_9.4.1.tgz";
       path = fetchurl {
         name = "validator___validator_9.4.1.tgz";
@@ -11514,6 +13354,14 @@
       };
     }
     {
+      name = "value_or_function___value_or_function_3.0.0.tgz";
+      path = fetchurl {
+        name = "value_or_function___value_or_function_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz";
+        sha1 = "1c243a50b595c1be54a754bfece8563b9ff8d813";
+      };
+    }
+    {
       name = "vary___vary_1.1.2.tgz";
       path = fetchurl {
         name = "vary___vary_1.1.2.tgz";
@@ -11562,27 +13410,91 @@
       };
     }
     {
-      name = "vinyl_fs___vinyl_fs_0.3.14.tgz";
+      name = "vfile_location___vfile_location_2.0.5.tgz";
+      path = fetchurl {
+        name = "vfile_location___vfile_location_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.5.tgz";
+        sha1 = "c83eb02f8040228a8d2b3f10e485be3e3433e0a2";
+      };
+    }
+    {
+      name = "vfile_message___vfile_message_1.1.1.tgz";
       path = fetchurl {
-        name = "vinyl_fs___vinyl_fs_0.3.14.tgz";
-        url  = "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz";
-        sha1 = "9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6";
+        name = "vfile_message___vfile_message_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz";
+        sha1 = "5833ae078a1dfa2d96e9647886cd32993ab313e1";
       };
     }
     {
-      name = "vinyl___vinyl_0.4.6.tgz";
+      name = "vfile_message___vfile_message_2.0.1.tgz";
       path = fetchurl {
-        name = "vinyl___vinyl_0.4.6.tgz";
-        url  = "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz";
-        sha1 = "2f356c87a550a255461f36bbeb2a5ba8bf784847";
+        name = "vfile_message___vfile_message_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.1.tgz";
+        sha1 = "951881861c22fc1eb39f873c0b93e336a64e8f6d";
       };
     }
     {
-      name = "vinyl___vinyl_0.5.3.tgz";
+      name = "vfile_reporter___vfile_reporter_6.0.0.tgz";
       path = fetchurl {
-        name = "vinyl___vinyl_0.5.3.tgz";
-        url  = "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz";
-        sha1 = "b0455b38fc5e0cf30d4325132e461970c2091cde";
+        name = "vfile_reporter___vfile_reporter_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-6.0.0.tgz";
+        sha1 = "753119f51dec9289b7508b457afc0cddf5e07f2e";
+      };
+    }
+    {
+      name = "vfile_sort___vfile_sort_2.2.1.tgz";
+      path = fetchurl {
+        name = "vfile_sort___vfile_sort_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-2.2.1.tgz";
+        sha1 = "74e714f9175618cdae96bcaedf1a3dc711d87567";
+      };
+    }
+    {
+      name = "vfile_statistics___vfile_statistics_1.1.3.tgz";
+      path = fetchurl {
+        name = "vfile_statistics___vfile_statistics_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-1.1.3.tgz";
+        sha1 = "e9c87071997fbcb4243764d2c3805e0bb0820c60";
+      };
+    }
+    {
+      name = "vfile___vfile_2.3.0.tgz";
+      path = fetchurl {
+        name = "vfile___vfile_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz";
+        sha1 = "e62d8e72b20e83c324bc6c67278ee272488bf84a";
+      };
+    }
+    {
+      name = "vfile___vfile_4.0.1.tgz";
+      path = fetchurl {
+        name = "vfile___vfile_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/vfile/-/vfile-4.0.1.tgz";
+        sha1 = "fc3d43a1c71916034216bf65926d5ee3c64ed60c";
+      };
+    }
+    {
+      name = "vinyl_fs___vinyl_fs_3.0.3.tgz";
+      path = fetchurl {
+        name = "vinyl_fs___vinyl_fs_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz";
+        sha1 = "c85849405f67428feabbbd5c5dbdd64f47d31bc7";
+      };
+    }
+    {
+      name = "vinyl_sourcemap___vinyl_sourcemap_1.1.0.tgz";
+      path = fetchurl {
+        name = "vinyl_sourcemap___vinyl_sourcemap_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz";
+        sha1 = "92a800593a38703a8cdb11d8b300ad4be63b3e16";
+      };
+    }
+    {
+      name = "vinyl___vinyl_2.2.0.tgz";
+      path = fetchurl {
+        name = "vinyl___vinyl_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz";
+        sha1 = "d85b07da96e458d25b2ffe19fece9f2caa13ed86";
       };
     }
     {
@@ -11610,6 +13522,14 @@
       };
     }
     {
+      name = "vue_template_compiler___vue_template_compiler_2.6.10.tgz";
+      path = fetchurl {
+        name = "vue_template_compiler___vue_template_compiler_2.6.10.tgz";
+        url  = "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz";
+        sha1 = "323b4f3495f04faa3503337a82f5d6507799c9cc";
+      };
+    }
+    {
       name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
       path = fetchurl {
         name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
@@ -11698,6 +13618,22 @@
       };
     }
     {
+      name = "websocket_driver___websocket_driver_0.7.3.tgz";
+      path = fetchurl {
+        name = "websocket_driver___websocket_driver_0.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz";
+        sha1 = "a2d4e0d4f4f116f1e6297eba58b05d430100e9f9";
+      };
+    }
+    {
+      name = "websocket_extensions___websocket_extensions_0.1.3.tgz";
+      path = fetchurl {
+        name = "websocket_extensions___websocket_extensions_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz";
+        sha1 = "5d2ff22977003ec687a4b87073dfbbac146ccf29";
+      };
+    }
+    {
       name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
       path = fetchurl {
         name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
@@ -11778,11 +13714,11 @@
       };
     }
     {
-      name = "wkx___wkx_0.2.0.tgz";
+      name = "wkx___wkx_0.4.7.tgz";
       path = fetchurl {
-        name = "wkx___wkx_0.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/wkx/-/wkx-0.2.0.tgz";
-        sha1 = "76c24f16acd0cd8f93cd34aa331e0f7961256e84";
+        name = "wkx___wkx_0.4.7.tgz";
+        url  = "https://registry.yarnpkg.com/wkx/-/wkx-0.4.7.tgz";
+        sha1 = "ba0e4f9e785e95c9975856c1834f19a95c65cfb5";
       };
     }
     {
@@ -11826,6 +13762,14 @@
       };
     }
     {
+      name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09";
+      };
+    }
+    {
       name = "wrappy___wrappy_1.0.2.tgz";
       path = fetchurl {
         name = "wrappy___wrappy_1.0.2.tgz";
@@ -11874,6 +13818,14 @@
       };
     }
     {
+      name = "x_is_string___x_is_string_0.1.0.tgz";
+      path = fetchurl {
+        name = "x_is_string___x_is_string_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz";
+        sha1 = "474b50865af3a49a9c4657f05acd145458f77d82";
+      };
+    }
+    {
       name = "x_xss_protection___x_xss_protection_1.1.0.tgz";
       path = fetchurl {
         name = "x_xss_protection___x_xss_protection_1.1.0.tgz";
@@ -12002,19 +13954,19 @@
       };
     }
     {
-      name = "xtraverse___xtraverse_0.1.0.tgz";
+      name = "xtend___xtend_4.0.2.tgz";
       path = fetchurl {
-        name = "xtraverse___xtraverse_0.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/xtraverse/-/xtraverse-0.1.0.tgz";
-        sha1 = "b741bad018ef78d8a9d2e83ade007b3f7959c732";
+        name = "xtend___xtend_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz";
+        sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54";
       };
     }
     {
-      name = "y18n___y18n_3.2.1.tgz";
+      name = "xtraverse___xtraverse_0.1.0.tgz";
       path = fetchurl {
-        name = "y18n___y18n_3.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz";
-        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+        name = "xtraverse___xtraverse_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/xtraverse/-/xtraverse-0.1.0.tgz";
+        sha1 = "b741bad018ef78d8a9d2e83ade007b3f7959c732";
       };
     }
     {
@@ -12050,11 +14002,11 @@
       };
     }
     {
-      name = "yargs_parser___yargs_parser_7.0.0.tgz";
+      name = "yargs_parser___yargs_parser_13.1.1.tgz";
       path = fetchurl {
-        name = "yargs_parser___yargs_parser_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz";
-        sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9";
+        name = "yargs_parser___yargs_parser_13.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha1 = "d26058532aa06d365fe091f6a1fc06b2f7e5eca0";
       };
     }
     {
@@ -12066,11 +14018,11 @@
       };
     }
     {
-      name = "yargs___yargs_8.0.2.tgz";
+      name = "yargs___yargs_13.2.4.tgz";
       path = fetchurl {
-        name = "yargs___yargs_8.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz";
-        sha1 = "6299a9055b1cefc969ff7e79c1d918dceb22c360";
+        name = "yargs___yargs_13.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz";
+        sha1 = "0b562b794016eb9651b98bd37acf364aa5d6dc83";
       };
     }
     {
diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix
index 9c1e01745a8..e848cb83c52 100644
--- a/pkgs/servers/web-apps/matomo/default.nix
+++ b/pkgs/servers/web-apps/matomo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "matomo";
-  version = "3.10.0";
+  version = "3.11.0";
 
   src = fetchurl {
     url = "https://builds.matomo.org/matomo-${version}.tar.gz";
-    sha256 = "1mzqn2wh63ffzv6436cr8shl40nlj8sazsj2j37lx9pkz89n2wjz";
+    sha256 = "1fbnmmzzsi3dfm9qm30wypxjcazl37mryaik9mlrb19hnp2md40q";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/web-apps/pgpkeyserver-lite/default.nix b/pkgs/servers/web-apps/pgpkeyserver-lite/default.nix
index ef2b3b653bf..e3adeb0fe66 100644
--- a/pkgs/servers/web-apps/pgpkeyserver-lite/default.nix
+++ b/pkgs/servers/web-apps/pgpkeyserver-lite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, lib } : 
+{ stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "pgpkeyserver-lite";
@@ -16,10 +16,10 @@ stdenv.mkDerivation rec {
     cp -R 404.html assets favicon.ico index.html robots.txt $out
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/mattrude/pgpkeyserver-lite;
     description = "A lightweight static front-end for a sks keyserver.";
-    license = lib.licenses.gpl3;
-    maintainers = [ lib.maintainers.calbrecht ];
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ calbrecht globin ];
   };
 }
diff --git a/pkgs/servers/web-apps/searx/default.nix b/pkgs/servers/web-apps/searx/default.nix
index 59d3a387b60..6545151df23 100644
--- a/pkgs/servers/web-apps/searx/default.nix
+++ b/pkgs/servers/web-apps/searx/default.nix
@@ -51,6 +51,6 @@ buildPythonApplication rec {
     homepage = https://github.com/asciimoo/searx;
     description = "A privacy-respecting, hackable metasearch engine";
     license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ matejc fpletz ];
+    maintainers = with maintainers; [ matejc fpletz globin ];
   };
 }
diff --git a/pkgs/servers/web-apps/shaarli/default.nix b/pkgs/servers/web-apps/shaarli/default.nix
index 33db6fb6e65..f5bce90c234 100644
--- a/pkgs/servers/web-apps/shaarli/default.nix
+++ b/pkgs/servers/web-apps/shaarli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "shaarli";
-  version = "0.11.0";
+  version = "0.11.1";
 
   src = fetchurl {
     url = "https://github.com/shaarli/Shaarli/releases/download/v${version}/shaarli-v${version}-full.tar.gz";
-    sha256 = "1x3a2chagng749cv48zkvjvfwbggqskv6ckkbbmp4fx9qzy2c32k";
+    sha256 = "1psijcmi24hk0gxh1zdsm299xj11i7find2045nnx3r96cgnwjpn";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix
index ed41976e1ac..335de9ea153 100644
--- a/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/pkgs/servers/xmpp/ejabberd/default.nix
@@ -24,12 +24,12 @@ let
   ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
 
 in stdenv.mkDerivation rec {
-  version = "19.05";
+  version = "19.08";
   pname = "ejabberd";
 
   src = fetchurl {
     url = "https://www.process-one.net/downloads/ejabberd/${version}/${pname}-${version}.tgz";
-    sha256 = "1lczck2760bcsl7vqc5xv4rizps0scdmss2zc4b1l59wzlmnfg7h";
+    sha256 = "0ivkw31civcznv9k645hvrzn1yc6a4qsrsywjrakniwaaxlsnj8w";
   };
 
   nativeBuildInputs = [ fakegit ];
@@ -76,7 +76,7 @@ in stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "1bdghq8vsr8y4rka4c8vbcmazw1avs2nlcp5id1cihvnscmyjbc3";
+    outputHash = "0h1amqp2x6ir29bdh9x8bm0abj67k81nmkqi8gidwccsa5z94s2c";
   };
 
   configureFlags =
diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix
index a9b05110f34..a7fe9634fee 100644
--- a/pkgs/shells/powershell/default.nix
+++ b/pkgs/shells/powershell/default.nix
@@ -1,5 +1,5 @@
 { stdenv, autoPatchelfHook, fetchzip, libunwind, libuuid, icu, curl
-, darwin, makeWrapper, less, openssl, pam, lttng-ust }:
+, darwin, makeWrapper, less, openssl_1_0_2, pam, lttng-ust }:
 
 let platformString = if stdenv.isDarwin then "osx"
                      else if stdenv.isLinux then "linux"
@@ -10,7 +10,7 @@ let platformString = if stdenv.isDarwin then "osx"
     platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH"
                      else if stdenv.isLinux then "LD_LIBRARY_PATH"
                      else throw "unsupported platform";
-                     libraries = [ libunwind libuuid icu curl openssl ] ++
+                     libraries = [ libunwind libuuid icu curl openssl_1_0_2 ] ++
                        (if stdenv.isLinux then [ pam lttng-ust ] else [ darwin.Libsystem ]);
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix
index 2c43bb420eb..2697050144b 100644
--- a/pkgs/shells/xonsh/default.nix
+++ b/pkgs/shells/xonsh/default.nix
@@ -2,14 +2,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "xonsh";
-  version = "0.9.9";
+  version = "0.9.10";
 
   # fetch from github because the pypi package ships incomplete tests
   src = fetchFromGitHub {
     owner  = "xonsh";
     repo   = "xonsh";
     rev    = "refs/tags/${version}";
-    sha256 = "0c6ywzn72clcclawgf1khwaaj3snn49fmajz8qfhc5mpbnvdp7q0";
+    sha256 = "0dil7vannl8sblzz528503ich8m8g0ld0p496bgw6jjh0pzkdskc";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 89e2a7a8031..1a96d9b3acf 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -7,6 +7,7 @@ let
   # If we're in hydra, we can dispense with the more verbose error
   # messages and make problems easier to spot.
   inHydra = config.inHydra or false;
+  getName = attrs: attrs.name or ("${attrs.pname or "«name-missing»"}-${attrs.version or "«version-missing»"}");
 
   # See discussion at https://github.com/NixOS/nixpkgs/pull/25304#issuecomment-298385426
   # for why this defaults to false, but I (@copumpkin) want to default it to true soon.
@@ -107,23 +108,23 @@ let
         You can install it anyway by whitelisting this package, using the
         following methods:
 
-        a) for `nixos-rebuild` you can add ‘${attrs.name or "«name-missing»"}’ to
+        a) for `nixos-rebuild` you can add ‘${getName attrs}’ to
            `nixpkgs.config.permittedInsecurePackages` in the configuration.nix,
            like so:
 
              {
                nixpkgs.config.permittedInsecurePackages = [
-                 "${attrs.name or "«name-missing»"}"
+                 "${getName attrs}"
                ];
              }
 
         b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
-        ‘${attrs.name or "«name-missing»"}’ to `permittedInsecurePackages` in
+        ‘${getName attrs}’ to `permittedInsecurePackages` in
         ~/.config/nixpkgs/config.nix, like so:
 
              {
                permittedInsecurePackages = [
-                 "${attrs.name or "«name-missing»"}"
+                 "${getName attrs}"
                ];
              }
 
@@ -134,9 +135,9 @@ let
       actualOutputs = attrs.outputs or [ "out" ];
       missingOutputs = builtins.filter (output: ! builtins.elem output actualOutputs) expectedOutputs;
     in ''
-      The package ${attrs.name} has set meta.outputsToInstall to: ${builtins.concatStringsSep ", " expectedOutputs}
+      The package ${getName attrs} has set meta.outputsToInstall to: ${builtins.concatStringsSep ", " expectedOutputs}
 
-      however ${attrs.name} only has the outputs: ${builtins.concatStringsSep ", " actualOutputs}
+      however ${getName attrs} only has the outputs: ${builtins.concatStringsSep ", " actualOutputs}
 
       and is missing the following ouputs:
 
@@ -146,9 +147,9 @@ let
   handleEvalIssue = { meta, attrs }: { reason , errormsg ? "" }:
     let
       msg = if inHydra
-        then "Failed to evaluate ${attrs.name or "«name-missing»"}: «${reason}»: ${errormsg}"
+        then "Failed to evaluate ${getName attrs}: «${reason}»: ${errormsg}"
         else ''
-          Package ‘${attrs.name or "«name-missing»"}’ in ${pos_str meta} ${errormsg}, refusing to evaluate.
+          Package ‘${getName attrs}’ in ${pos_str meta} ${errormsg}, refusing to evaluate.
 
         '' + (builtins.getAttr reason remediation) attrs;
 
diff --git a/pkgs/tools/X11/nx-libs/default.nix b/pkgs/tools/X11/nx-libs/default.nix
index ecd672250be..c2bcfe788e6 100644
--- a/pkgs/tools/X11/nx-libs/default.nix
+++ b/pkgs/tools/X11/nx-libs/default.nix
@@ -2,12 +2,12 @@
   libpng, libtool, libxml2, pkgconfig, which, xorg }:
 stdenv.mkDerivation rec {
   pname = "nx-libs";
-  version = "3.5.99.20";
+  version = "3.5.99.21";
   src = fetchFromGitHub {
     owner = "ArcticaProject";
     repo = "nx-libs";
     rev = version;
-    sha256 = "1c3xjbmnylw53h04g77lk9va1sk1dgg7zhirwz3mpn73r6dkyzix";
+    sha256 = "10xid8mhhid5mrap5jb51k9fm63cm03ss4k4sfymc8zsn0wrqnr9";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig which
diff --git a/pkgs/tools/X11/wpgtk/default.nix b/pkgs/tools/X11/wpgtk/default.nix
index a9ebbff8203..496fa422877 100644
--- a/pkgs/tools/X11/wpgtk/default.nix
+++ b/pkgs/tools/X11/wpgtk/default.nix
@@ -3,13 +3,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "wpgtk";
-  version = "6.0.8";
+  version = "6.0.9";
 
   src = fetchFromGitHub {
     owner = "deviantfero";
     repo = "wpgtk";
     rev = version;
-    sha256 = "1c4iyy4db7zhbfnng8h1r7d2fmng4zspgl9zfr8vc86sk5wmfnjc";
+    sha256 = "0j2wci85918zsrrvd4qpcqv9bzhzj7qvjchvhvl11fn035jml5l0";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/X11/xcalib/default.nix b/pkgs/tools/X11/xcalib/default.nix
index 2f925b11ba5..4e400ee8a24 100644
--- a/pkgs/tools/X11/xcalib/default.nix
+++ b/pkgs/tools/X11/xcalib/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     description = "A tiny monitor calibration loader for X and MS-Windows";
     license = licenses.gpl2;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = [];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/X11/xkb-switch/default.nix b/pkgs/tools/X11/xkb-switch/default.nix
index c22715d6181..a837e73983f 100644
--- a/pkgs/tools/X11/xkb-switch/default.nix
+++ b/pkgs/tools/X11/xkb-switch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xkb-switch";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "ierton";
     repo = "xkb-switch";
     rev = version;
-    sha256 = "03wk2gg3py97kx0kjzbjrikld1sa55i6mgi398jbcbiyx2gjna78";
+    sha256 = "11yn0y1kx04rqxh0d81b5q7kbyz58pi48bl7hyhlv7p8yndkfg4b";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/admin/acme.sh/default.nix b/pkgs/tools/admin/acme.sh/default.nix
index df0e47d71a0..6e89421d390 100644
--- a/pkgs/tools/admin/acme.sh/default.nix
+++ b/pkgs/tools/admin/acme.sh/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, curl, openssl, socat, iproute, unixtools }:
 stdenv.mkDerivation rec {
   pname = "acme.sh";
-  version = "2.8.1";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "Neilpang";
     repo = "acme.sh";
     rev = version;
-    sha256 = "1xpci41494jrwf2qfnv83zwd1jd99ddpy1ardrshj9n4jdnzd19w";
+    sha256 = "07bq6axgq33djp87kkx7c5cv8n80gclvj247n9j514zqly6abdxy";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index a5e2df9ad21..aaf59d72f98 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.3.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "1xinkr9xnbfbr58ci7hprabqv0p292x016knbb7fqxzb8043f9lh";
+    sha256 = "0vyz02yli2lnzzzzy8dv9y5g69ljr671p1lgx84z8ys2ihwj3yc3";
   };
 
-  modSha256 = "1y0pkd588wsqhqywlv1yd5mlr4limybfpdj2g3pbxw09hv18ysa4";
+  modSha256 = "17bb1k18x1xfq9bi9qbm8pln6h6pkhaqzy07qdvnhinmspll1695";
 
   subPackages = [ "cmd/eksctl" ];
 
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index 9269b2c7cda..37a27127bab 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -1,42 +1,77 @@
-{ stdenv, fetchurl, gobject-introspection
-, gnutls, cairo, libtool, glib, pkgconfig
-, cyrus_sasl, intltool, libpulseaudio
-, libgcrypt, gtk3, vala, gnome3
-, python3 }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, gobject-introspection
+, gnutls
+, cairo
+, glib
+, pkgconfig
+, cyrus_sasl
+, libpulseaudio
+, libgcrypt
+, gtk3
+, vala
+, gettext
+, perl
+, gnome3
+, gdk-pixbuf
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "gtk-vnc";
-  version = "0.9.0";
+  version = "1.0.0";
 
   outputs = [ "out" "bin" "man" "dev" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gtk-vnc/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1060ws037v556rx1qhfrcg02859rscksrzr8fq11himdg4d1y6m8";
   };
 
-  nativeBuildInputs = [
-    python3 pkgconfig intltool libtool gobject-introspection vala
+  patches = [
+    # Fix undeclared gio-unix-2.0 in example program.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gtk-vnc/commit/8588bc1c8321152ddc5086ca9b2c03a7f511e0d0.patch";
+      sha256 = "0i1iapsbngl1mhnz22dd73mnzk68qc4n51pqdhnm18zqc8pawvh4";
+    })
   ];
-  buildInputs = [
-    gnutls cairo glib libgcrypt cyrus_sasl libpulseaudio gtk3
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gobject-introspection
+    vala
+    gettext
+    perl # for pod2man
   ];
 
-  configureFlags = [
-    "--with-examples"
+  buildInputs = [
+    gnutls
+    cairo
+    gdk-pixbuf
+    zlib
+    glib
+    libgcrypt
+    cyrus_sasl
+    libpulseaudio
+    gtk3
   ];
 
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "gtk-vnc";
+      packageName = pname;
       versionPolicy = "none";
     };
   };
 
   meta = with stdenv.lib; {
-    description = "A GTK VNC widget";
+    description = "GTK VNC widget";
     homepage = https://wiki.gnome.org/Projects/gtk-vnc;
-    license = licenses.lgpl21;
+    license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ raskin offline ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/admin/lego/default.nix b/pkgs/tools/admin/lego/default.nix
index 688ff3c7ca0..bf4261682cf 100644
--- a/pkgs/tools/admin/lego/default.nix
+++ b/pkgs/tools/admin/lego/default.nix
@@ -1,17 +1,17 @@
-{ lib, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "lego";
-  version = "2.6.0";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jxwdqqx6qn09jf658968s9vy9b59ji998j3x1hldq3w9wcrn6sn";
+    sha256 = "0q73522yblcjsyscsppwnxfw6m249zr9whb93bhv5i5z012gy6mx";
   };
 
-  goPackagePath = "github.com/go-acme/lego";
+  modSha256 = "00pl8l8h01rfxyd0l4487x55kfqhpm0ls84kxmgz3vph7irm6hcq";
 
   meta = with lib; {
     description = "Let's Encrypt client and ACME library written in Go";
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 9d55e6bdefa..3c50a7948d9 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -51,7 +51,7 @@ buildGoPackage rec {
     description = "Daemon based on liblxc offering a REST API to manage containers";
     homepage = https://linuxcontainers.org/lxd/;
     license = licenses.asl20;
-    maintainers = with maintainers; [ globin fpletz ];
+    maintainers = with maintainers; [ fpletz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/audio/opl3bankeditor/default.nix b/pkgs/tools/audio/opl3bankeditor/default.nix
index 262d3dd389e..0503f9bad69 100644
--- a/pkgs/tools/audio/opl3bankeditor/default.nix
+++ b/pkgs/tools/audio/opl3bankeditor/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, qttools, alsaLib }:
+{ stdenv, mkDerivation, fetchFromGitHub, cmake, qttools, alsaLib }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   version = "1.5";
   pname = "OPL3BankEditor";
 
diff --git a/pkgs/tools/backup/borg/default.nix b/pkgs/tools/backup/borg/default.nix
index beb3db5e78b..593056f403e 100644
--- a/pkgs/tools/backup/borg/default.nix
+++ b/pkgs/tools/backup/borg/default.nix
@@ -66,6 +66,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = https://www.borgbackup.org;
     license = licenses.bsd3;
     platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage
-    maintainers = with maintainers; [ flokli dotlambda ];
+    maintainers = with maintainers; [ flokli dotlambda globin ];
   };
 }
diff --git a/pkgs/tools/backup/partimage/default.nix b/pkgs/tools/backup/partimage/default.nix
index a2e962d7f85..4a18deeb57c 100644
--- a/pkgs/tools/backup/partimage/default.nix
+++ b/pkgs/tools/backup/partimage/default.nix
@@ -1,4 +1,13 @@
-{stdenv, fetchurl, fetchpatch, bzip2, zlib, newt, openssl, pkgconfig, slang
+{stdenv
+, fetchurl
+, fetchpatch
+, bzip2
+, zlib
+, newt
+, openssl
+, pkgconfig
+, slang
+, autoreconfHook
 }:
 stdenv.mkDerivation {
   name = "partimage-0.6.9";
@@ -8,20 +17,19 @@ stdenv.mkDerivation {
     url = mirror://sourceforge/partimage/partimage-0.6.9.tar.bz2;
     sha256 = "0db6xiphk6xnlpbxraiy31c5xzj0ql6k4rfkmqzh665yyj0nqfkm";
   };
+
   configureFlags = [ "--with-ssl-headers=${openssl.dev}/include/openssl" ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [bzip2 zlib newt newt openssl slang
-    # automake autoconf libtool gettext
-  ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ bzip2 zlib newt newt openssl slang ];
 
   patches = [
     ./gentoos-zlib.patch
     (fetchpatch {
-      name = "no-SSLv2.patch";
-      url = "https://projects.archlinux.org/svntogit/community.git/plain/trunk"
-        + "/use-SSLv3-by-default.patch?h=packages/partimage&id=7e95d1c6614e";
-      sha256 = "17dfqwvwnkinz8vs0l3bjjbmfx3a7y8nv3wn67gjsqpmggcpdnd6";
+      name = "openssl-1.1.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-block/partimage/files/"
+        + "partimage-0.6.9-openssl-1.1-compatibility.patch?id=3fe8e9910002b6523d995512a646b063565d0447";
+      sha256 = "1hs0krxrncxq1w36bhad02yk8yx71zcfs35cw87c82sl2sfwasjg";
     })
   ];
 
diff --git a/pkgs/tools/backup/wal-e/default.nix b/pkgs/tools/backup/wal-e/default.nix
index c5a9ad4b3f9..9c7cb0a83fd 100644
--- a/pkgs/tools/backup/wal-e/default.nix
+++ b/pkgs/tools/backup/wal-e/default.nix
@@ -25,7 +25,7 @@ pythonPackages.buildPythonApplication rec {
   meta = {
     description = "A Postgres WAL-shipping disaster recovery and replication toolkit";
     homepage = https://github.com/wal-e/wal-e;
-    maintainers = [ stdenv.lib.maintainers.rickynils ];
+    maintainers = [];
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/compression/xar/default.nix b/pkgs/tools/compression/xar/default.nix
index 61dd5e30f0d..691f3a8ee5d 100644
--- a/pkgs/tools/compression/xar/default.nix
+++ b/pkgs/tools/compression/xar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libxml2, lzma, openssl, zlib, bzip2, fts }:
+{ stdenv, fetchurl, libxml2, lzma, openssl, zlib, bzip2, fts, autoconf }:
 
 stdenv.mkDerivation rec {
   version = "1.6.1";
@@ -9,7 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "0ghmsbs6xwg1092v7pjcibmk5wkyifwxw6ygp08gfz25d2chhipf";
   };
 
-  buildInputs = [ libxml2 lzma openssl zlib bzip2 fts ];
+  buildInputs = [ libxml2 lzma openssl zlib bzip2 fts autoconf ];
+
+  prePatch = ''
+    substituteInPlace configure.ac \
+      --replace 'OpenSSL_add_all_ciphers' 'OPENSSL_init_crypto' \
+      --replace 'openssl/evp.h' 'openssl/crypto.h'
+  '';
+
+  preConfigure = "./autogen.sh";
 
   meta = {
     homepage    = https://mackyle.github.io/xar/;
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 257396e0428..5a153393ccd 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -5,10 +5,10 @@
 
 stdenv.mkDerivation rec {
   pname = "zstd";
-  version = "1.4.1";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
-    sha256 = "1f2nvhsx1fsd6zbnwvc6bbrm9ghkcvamqqg79fxgk5284rc6nynv";
+    sha256 = "0mmgs98cfh92gcbjyv37vz8nq7x4x7fbzymlxyqd9awwpv9v0i5n";
     rev = "v${version}";
     repo = "zstd";
     owner = "facebook";
diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index dbdd0bf1790..a96830feb2a 100644
--- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "0.4.1";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qjkzpxv7zy9i6lvcrn8yp8dfsqak6c7ffx8g0xfavdx7am458ns";
+    sha256 = "03sdnnq0x44jlwf41snrrma4hxdiixmhynw35gjhm84slpljnngp";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index e915cc1c132..606e41e582e 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, fuse, bison, flex_2_5_35, openssl, python2, ncurses, readline,
+{stdenv, fetchurl, fuse, bison, flex_2_5_35, openssl, python3, ncurses, readline,
  autoconf, automake, libtool, pkgconfig, zlib, libaio, libxml2, acl, sqlite,
  liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which,
  openssh, gawk, findutils, utillinux, lvm2, btrfs-progs, e2fsprogs, xfsprogs, systemd,
@@ -15,25 +15,26 @@ let
     #       The command
     #         find /nix/store/...-glusterfs-.../ -name '*.py' -executable
     #       can help with finding new Python scripts.
-    version = "4.0.0";
+    version = "6.5";
     name="${baseName}-${version}";
     url="https://github.com/gluster/glusterfs/archive/v${version}.tar.gz";
-    sha256 = "0af3fwiixddds6gdwhkyq3l214mmjl2wpjc2qayp5rpz79lnclq3";
+    sha256 = "17vdrw71ys1n5g9pdmzipmr706bslq0gbxxjhacxnrgsz8r4rl6a";
   };
+
   buildInputs = [
     fuse bison flex_2_5_35 openssl ncurses readline
     autoconf automake libtool pkgconfig zlib libaio libxml2
-    acl sqlite liburcu attr makeWrapper
-    (python2.withPackages (pkgs: [
+    acl sqlite liburcu attr makeWrapper utillinux
+    (python3.withPackages (pkgs: [
       pkgs.flask
       pkgs.prettytable
       pkgs.requests
       pkgs.pyxattr
     ]))
-    # NOTE: `python2` has to be *AFTER* the above `python2.withPackages`,
+    # NOTE: `python3` has to be *AFTER* the above `python3.withPackages`,
     #       to ensure that the packages are available but the `toPythonPath`
     #       shell function used in `postFixup` is also still available.
-    python2
+    python3
   ];
   # Some of the headers reference acl
   propagatedBuildInputs = [
@@ -65,21 +66,15 @@ rec {
   inherit (s) name version;
   inherit buildInputs propagatedBuildInputs;
 
-  postPatch = ''
-    sed -e '/chmod u+s/d' -i contrib/fuse-util/Makefile.am
-  '';
-
   patches = [
-    # Remove when https://bugzilla.redhat.com/show_bug.cgi?id=1450546 is fixed
-    ./glusterfs-use-PATH-instead-of-hardcodes.patch
-    # Remove when https://bugzilla.redhat.com/show_bug.cgi?id=1450593 is fixed
-    ./glusterfs-python-remove-find_library.patch
     # Remove when https://bugzilla.redhat.com/show_bug.cgi?id=1489610 is fixed
     ./glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
-    # Remove when https://bugzilla.redhat.com/show_bug.cgi?id=1559130 is fixed
-    ./glusterfs-glusterfind-log-remote-node_cmd-error.patch
   ];
 
+  postPatch = ''
+    sed -e '/chmod u+s/d' -i contrib/fuse-util/Makefile.am
+  '';
+
    # Note that the VERSION file is something that is present in release tarballs
    # but not in git tags (at least not as of writing in v3.10.1).
    # That's why we have to create it.
@@ -92,6 +87,7 @@ rec {
    preConfigure = ''
      echo "v${s.version}" > VERSION
     ./autogen.sh
+    export PYTHON=${python3}/bin/python
     '';
 
   configureFlags = [
@@ -178,6 +174,9 @@ rec {
     # on a real TTY for testing purposes.
     echo "" | (mkdir -p nix-test-dir-for-gfid_to_path && touch b && $out/libexec/glusterfs/gfind_missing_files/gfid_to_path.py nix-test-dir-for-gfid_to_path)
     $out/share/glusterfs/scripts/eventsdash.py --help
+
+    # this gets falsely loaded as module by glusterfind
+    rm -r $out/bin/conf.py
     '';
 
   src = fetchurl {
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
index f679fb8f4c1..f08d73cf3a6 100644
--- a/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
+++ b/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
@@ -18,10 +18,10 @@ index f87d8a454..b4d3f5d10 100644
  fi
  GLUSTERFS_LIBEXECDIR="$(eval echo $libexecdir)/glusterfs"
 -GLUSTERFSD_MISCDIR="$(eval echo $prefix)/var/lib/misc/glusterfsd"
-+GLUSTERFSD_MISCDIR="$(eval echo $localstatedir)/var/lib/misc/glusterfsd"
++GLUSTERFSD_MISCDIR="$(eval echo $localstatedir)/lib/misc/glusterfsd"
  prefix=$old_prefix
  exec_prefix=$old_exec_prefix
- 
--- 
+
+--
 2.12.0
 
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch
deleted file mode 100644
index 8bc00fdbf75..00000000000
--- a/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 92a6b84a37e7e2e0ec0655ca45cedb64ab72080e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
-Date: Fri, 8 Sep 2017 02:40:01 +0200
-Subject: [PATCH] glusterfind: Log remote stderr on `node_cmd` error.
-
-The problem of lost stderr was introduced in
-commit feea851fad4f89b48bfe89fe3b75250cc7bd6501.
-
-Change-Id: Ic98f9bc9682ae3bd9c3ebea3855667fc8ba2843d
----
- tools/glusterfind/src/main.py | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/tools/glusterfind/src/main.py b/tools/glusterfind/src/main.py
-index c125f970a..6fffce4b3 100644
---- a/tools/glusterfind/src/main.py
-+++ b/tools/glusterfind/src/main.py
-@@ -75,12 +75,27 @@ def node_cmd(host, host_uuid, task, cmd, args, opts):
-             cmd = ["ssh",
-                    "-oNumberOfPasswordPrompts=0",
-                    "-oStrictHostKeyChecking=no",
-+                   # We force TTY allocation (-t -t) so that Ctrl+C is handed
-+                   # through; see:
-+                   #   https://bugzilla.redhat.com/show_bug.cgi?id=1382236
-+                   # Note that this turns stderr of the remote `cmd`
-+                   # into stdout locally.
-                    "-t",
-                    "-t",
-                    "-i", pem_key_path,
-                    "root@%s" % host] + cmd
- 
--        execute(cmd, exit_msg="%s - %s failed" % (host, task), logger=logger)
-+        (returncode, err, out) = execute(cmd, logger=logger)
-+        if returncode != 0:
-+            # Because the `-t -t` above turns the remote stderr into
-+            # local stdout, we need to log both stderr and stdout
-+            # here to print all error messages.
-+            fail("%s - %s failed; stdout (including remote stderr):\n"
-+                 "%s\n"
-+                 "stderr:\n"
-+                 "%s" % (host, task, out, err),
-+                 returncode,
-+                 logger=logger)
- 
-         if opts.get("copy_outfile", False) and not localdir:
-             cmd_copy = ["scp",
--- 
-2.12.0
-
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch
deleted file mode 100644
index 4757f2fce77..00000000000
--- a/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From e6293e367f56833457291e32a4df7b21a52365a7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
-Date: Sat, 13 May 2017 18:54:36 +0200
-Subject: [PATCH] python: Remove all uses of find_library. Fixes #1450593
-
-`find_library()` doesn't consider LD_LIBRARY_PATH on Python < 3.6.
-
-Change-Id: Iee26085cb5d14061001f19f032c2664d69a378a8
----
- api/examples/getvolfile.py                                     |  2 +-
- geo-replication/syncdaemon/libcxattr.py                        |  3 +--
- geo-replication/syncdaemon/libgfchangelog.py                   |  6 ++----
- tests/features/ipctest.py                                      | 10 ++--------
- tests/utils/libcxattr.py                                       |  5 ++---
- tools/glusterfind/src/libgfchangelog.py                        |  3 +--
- .../features/changelog/lib/examples/python/libgfchangelog.py   |  3 +--
- 7 files changed, 10 insertions(+), 22 deletions(-)
-
-diff --git a/api/examples/getvolfile.py b/api/examples/getvolfile.py
-index 0c95213f0..32c2268b3 100755
---- a/api/examples/getvolfile.py
-+++ b/api/examples/getvolfile.py
-@@ -3,7 +3,7 @@
- import ctypes
- import ctypes.util
- 
--api = ctypes.CDLL(ctypes.util.find_library("gfapi"))
-+api = ctypes.CDLL("libgfapi.so")
- api.glfs_get_volfile.argtypes = [ctypes.c_void_p,
-                                  ctypes.c_void_p,
-                                  ctypes.c_ulong]
-diff --git a/geo-replication/syncdaemon/libcxattr.py b/geo-replication/syncdaemon/libcxattr.py
-index 3671e102c..f576648b7 100644
---- a/geo-replication/syncdaemon/libcxattr.py
-+++ b/geo-replication/syncdaemon/libcxattr.py
-@@ -10,7 +10,6 @@
- 
- import os
- from ctypes import CDLL, create_string_buffer, get_errno
--from ctypes.util import find_library
- 
- 
- class Xattr(object):
-@@ -25,7 +24,7 @@ class Xattr(object):
-          sizes we expect
-     """
- 
--    libc = CDLL(find_library("c"), use_errno=True)
-+    libc = CDLL("libc.so.6", use_errno=True)
- 
-     @classmethod
-     def geterrno(cls):
-diff --git a/geo-replication/syncdaemon/libgfchangelog.py b/geo-replication/syncdaemon/libgfchangelog.py
-index 334f5e9ea..093ae157a 100644
---- a/geo-replication/syncdaemon/libgfchangelog.py
-+++ b/geo-replication/syncdaemon/libgfchangelog.py
-@@ -9,14 +9,12 @@
- #
- 
- import os
--from ctypes import CDLL, RTLD_GLOBAL, create_string_buffer, \
--    get_errno, byref, c_ulong
--from ctypes.util import find_library
-+from ctypes import CDLL, RTLD_GLOBAL, create_string_buffer, get_errno, byref, c_ulong
- from syncdutils import ChangelogException, ChangelogHistoryNotAvailable
- 
- 
- class Changes(object):
--    libgfc = CDLL(find_library("gfchangelog"), mode=RTLD_GLOBAL,
-+    libgfc = CDLL("libgfchangelog.so", mode=RTLD_GLOBAL,
-                   use_errno=True)
- 
-     @classmethod
-diff --git a/tests/features/ipctest.py b/tests/features/ipctest.py
-index 5aff319b8..933924861 100755
---- a/tests/features/ipctest.py
-+++ b/tests/features/ipctest.py
-@@ -1,14 +1,8 @@
- #!/usr/bin/python
- 
- import ctypes
--import ctypes.util
--
--# find_library does not lookup LD_LIBRARY_PATH and may miss the
--# function. In that case, retry with less portable but explicit name.
--libgfapi = ctypes.util.find_library("gfapi")
--if libgfapi == None:
--	libgfapi = "libgfapi.so"
--api = ctypes.CDLL(libgfapi,mode=ctypes.RTLD_GLOBAL)
-+
-+api = ctypes.CDLL("libgfapi.so",mode=ctypes.RTLD_GLOBAL)
- 
- api.glfs_ipc.argtypes = [ ctypes.c_void_p, ctypes.c_int, ctypes.c_void_p, ctypes.c_void_p ]
- api.glfs_ipc.restype = ctypes.c_int
-diff --git a/tests/utils/libcxattr.py b/tests/utils/libcxattr.py
-index 149db72e6..4e6e6c46d 100644
---- a/tests/utils/libcxattr.py
-+++ b/tests/utils/libcxattr.py
-@@ -11,7 +11,6 @@
- import os
- import sys
- from ctypes import CDLL, c_int, create_string_buffer
--from ctypes.util import find_library
- 
- 
- class Xattr(object):
-@@ -28,9 +27,9 @@ class Xattr(object):
- 
-     if sys.hexversion >= 0x02060000:
-         from ctypes import DEFAULT_MODE
--        libc = CDLL(find_library("libc"), DEFAULT_MODE, None, True)
-+        libc = CDLL("libc.so.6", DEFAULT_MODE, None, True)
-     else:
--        libc = CDLL(find_library("libc"))
-+        libc = CDLL("libc.so.6")
- 
-     @classmethod
-     def geterrno(cls):
-diff --git a/tools/glusterfind/src/libgfchangelog.py b/tools/glusterfind/src/libgfchangelog.py
-index 0f6b40d6c..9ca3f326b 100644
---- a/tools/glusterfind/src/libgfchangelog.py
-+++ b/tools/glusterfind/src/libgfchangelog.py
-@@ -11,14 +11,13 @@
- import os
- from ctypes import CDLL, get_errno, create_string_buffer, c_ulong, byref
- from ctypes import RTLD_GLOBAL
--from ctypes.util import find_library
- 
- 
- class ChangelogException(OSError):
-     pass
- 
- 
--libgfc = CDLL(find_library("gfchangelog"), use_errno=True, mode=RTLD_GLOBAL)
-+libgfc = CDLL("libgfchangelog.so", use_errno=True, mode=RTLD_GLOBAL)
- 
- 
- def raise_oserr():
-diff --git a/xlators/features/changelog/lib/examples/python/libgfchangelog.py b/xlators/features/changelog/lib/examples/python/libgfchangelog.py
-index 10e73c02b..2cdbf1152 100644
---- a/xlators/features/changelog/lib/examples/python/libgfchangelog.py
-+++ b/xlators/features/changelog/lib/examples/python/libgfchangelog.py
-@@ -1,9 +1,8 @@
- import os
- from ctypes import *
--from ctypes.util import find_library
- 
- class Changes(object):
--    libgfc = CDLL(find_library("gfchangelog"), mode=RTLD_GLOBAL, use_errno=True)
-+    libgfc = CDLL("libgfchangelog.so", mode=RTLD_GLOBAL, use_errno=True)
- 
-     @classmethod
-     def geterrno(cls):
--- 
-2.12.0
-
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch
deleted file mode 100644
index acb15464e48..00000000000
--- a/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 616381bc25b0e90198683fb049f994e82d467d96 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
-Date: Sat, 13 May 2017 02:45:49 +0200
-Subject: [PATCH] Don't use hardcoded /sbin, /usr/bin etc. paths. Fixes
- #1450546.
-
-Instead, rely on programs to be in PATH, as gluster already
-does in many places across its code base.
-
-Change-Id: Id21152fe42f5b67205d8f1571b0656c4d5f74246
----
- contrib/fuse-lib/mount-common.c               |  8 ++++----
- xlators/mgmt/glusterd/src/glusterd-ganesha.c  |  6 +++---
- xlators/mgmt/glusterd/src/glusterd-quota.c    |  6 +++---
- xlators/mgmt/glusterd/src/glusterd-snapshot.c |  4 ++--
- xlators/mgmt/glusterd/src/glusterd-utils.c    | 14 +-------------
- 5 files changed, 13 insertions(+), 25 deletions(-)
-
-diff --git a/contrib/fuse-lib/mount-common.c b/contrib/fuse-lib/mount-common.c
-index e9f80fe81..6380dd867 100644
---- a/contrib/fuse-lib/mount-common.c
-+++ b/contrib/fuse-lib/mount-common.c
-@@ -255,16 +255,16 @@ fuse_mnt_umount (const char *progname, const char *abs_mnt,
-                         exit (1);
-                 }
- #ifdef GF_LINUX_HOST_OS
--                execl ("/bin/umount", "/bin/umount", "-i", rel_mnt,
-+                execl ("umount", "umount", "-i", rel_mnt,
-                        lazy ? "-l" : NULL, NULL);
--                GFFUSE_LOGERR ("%s: failed to execute /bin/umount: %s",
-+                GFFUSE_LOGERR ("%s: failed to execute umount: %s",
-                                progname, strerror (errno));
- #elif __NetBSD__
-                 /* exitting the filesystem causes the umount */
-                 exit (0);
- #else
--                execl ("/sbin/umount", "/sbin/umount", "-f", rel_mnt, NULL);
--                GFFUSE_LOGERR ("%s: failed to execute /sbin/umount: %s",
-+                execl ("umount", "umount", "-f", rel_mnt, NULL);
-+                GFFUSE_LOGERR ("%s: failed to execute umount: %s",
-                                progname, strerror (errno));
- #endif /* GF_LINUX_HOST_OS */
-                 exit (1);
-diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c
-index 0e6629cf0..fcb4738b7 100644
---- a/xlators/mgmt/glusterd/src/glusterd-quota.c
-+++ b/xlators/mgmt/glusterd/src/glusterd-quota.c
-@@ -30,7 +30,7 @@
- 
- #ifndef _PATH_SETFATTR
- # ifdef GF_LINUX_HOST_OS
--#  define _PATH_SETFATTR "/usr/bin/setfattr"
-+#  define _PATH_SETFATTR "setfattr"
- # endif
- # ifdef __NetBSD__
- #  define _PATH_SETFATTR "/usr/pkg/bin/setfattr"
-@@ -335,7 +335,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv,
- 
-                 if (type == GF_QUOTA_OPTION_TYPE_ENABLE ||
-                     type == GF_QUOTA_OPTION_TYPE_ENABLE_OBJECTS)
--                        runner_add_args (&runner, "/usr/bin/find", ".", NULL);
-+                        runner_add_args (&runner, "find", ".", NULL);
- 
-                 else if (type == GF_QUOTA_OPTION_TYPE_DISABLE) {
- 
-@@ -351,7 +351,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv,
-                                          VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "1",
-                                          "{}", "\\", ";", NULL);
- #else
--                        runner_add_args (&runner, "/usr/bin/find", ".",
-+                        runner_add_args (&runner, "find", ".",
-                                          "-exec", _PATH_SETFATTR, "-n",
-                                          VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "-v",
-                                          "1", "{}", "\\", ";", NULL);
-diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot.c b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
-index da0152366..f0d135350 100644
---- a/xlators/mgmt/glusterd/src/glusterd-snapshot.c
-+++ b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
-@@ -121,7 +121,7 @@ glusterd_build_snap_device_path (char *device, char *snapname,
-         }
- 
-         runinit (&runner);
--        runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "vg_name",
-+        runner_add_args (&runner, "lvs", "--noheadings", "-o", "vg_name",
-                          device, NULL);
-         runner_redir (&runner, STDOUT_FILENO, RUN_PIPE);
-         snprintf (msg, sizeof (msg), "Get volume group for device %s", device);
-@@ -1982,7 +1982,7 @@ glusterd_is_thinp_brick (char *device, uint32_t *op_errno)
- 
-         runinit (&runner);
- 
--        runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "pool_lv",
-+        runner_add_args (&runner, "lvs", "--noheadings", "-o", "pool_lv",
-                          device, NULL);
-         runner_redir (&runner, STDOUT_FILENO, RUN_PIPE);
-         runner_log (&runner, this->name, GF_LOG_DEBUG, msg);
-diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
-index 51db13df0..6fa7b92f9 100644
---- a/xlators/mgmt/glusterd/src/glusterd-utils.c
-+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
-@@ -6027,7 +6027,6 @@ static struct fs_info {
-         char *fs_tool_pattern;
-         char *fs_tool_pkg;
- } glusterd_fs[] = {
--        /* some linux have these in /usr/sbin/and others in /sbin/? */
-         { "xfs", "xfs_info", NULL, "isize=", "xfsprogs" },
-         { "ext3", "tune2fs", "-l", "Inode size:", "e2fsprogs" },
-         { "ext4", "tune2fs", "-l", "Inode size:", "e2fsprogs" },
-@@ -6048,7 +6047,6 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count)
-         char           *trail             = NULL;
-         runner_t        runner            = {0, };
-         struct fs_info *fs                = NULL;
--        char            fs_tool_name[256] = {0, };
-         static dict_t  *cached_fs         = NULL;
- 
-         memset (key, 0, sizeof (key));
-@@ -6085,17 +6083,7 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count)
-                                 cur_word = "N/A";
-                                 goto cached;
-                         }
--
--                        snprintf (fs_tool_name, sizeof (fs_tool_name),
--                                  "/usr/sbin/%s", fs->fs_tool_name);
--                        if (sys_access (fs_tool_name, R_OK|X_OK) == 0)
--                                runner_add_arg (&runner, fs_tool_name);
--                        else {
--                                snprintf (fs_tool_name, sizeof (fs_tool_name),
--                                          "/sbin/%s", fs->fs_tool_name);
--                                if (sys_access (fs_tool_name, R_OK|X_OK) == 0)
--                                        runner_add_arg (&runner, fs_tool_name);
--                        }
-+                        runner_add_arg (&runner, fs->fs_tool_name);
-                         break;
-                 }
-         }
--- 
-2.12.0
-
diff --git a/pkgs/tools/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix
index 1b2425fa71a..160b77229b3 100644
--- a/pkgs/tools/graphics/argyllcms/default.nix
+++ b/pkgs/tools/graphics/argyllcms/default.nix
@@ -116,7 +116,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.argyllcms.com;
     description = "Color management system (compatible with ICC)";
     license = licenses.gpl3;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = [];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/graphics/scrot/default.nix b/pkgs/tools/graphics/scrot/default.nix
index 035e135a2e4..2f4862b0645 100644
--- a/pkgs/tools/graphics/scrot/default.nix
+++ b/pkgs/tools/graphics/scrot/default.nix
@@ -1,32 +1,25 @@
-{ stdenv, fetchurl, fetchzip, giblib, xlibsWrapper }:
+{ stdenv, fetchFromGitHub, giblib, xlibsWrapper, autoreconfHook
+, autoconf-archive, libXfixes, libXcursor }:
 
-let
-  debPatch = fetchzip {
-    url = mirror://debian/pool/main/s/scrot/scrot_0.8-18.debian.tar.xz;
-    sha256 = "1m8m8ad0idf3nzw0k57f6rfbw8n7dza69a7iikriqgbrpyvxqybx";
-  };
-in
 stdenv.mkDerivation rec {
-  name = "scrot-0.8-18";
+  pname = "scrot";
+  version = "1.2";
 
-  src = fetchurl {
-    url = "http://linuxbrit.co.uk/downloads/${name}.tar.gz";
-    sha256 = "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1";
+  src = fetchFromGitHub {
+    owner = "resurrecting-open-source-projects";
+    repo = pname;
+    rev = version;
+    sha256 = "08gkdby0ysx2mki57z81zlm7vfnq9c1gq692xw67cg5vv2p3320w";
   };
 
-  postPatch = ''
-    for patch in $(cat ${debPatch}/patches/series); do
-      patch -p1 < "${debPatch}/patches/$patch"
-    done
-  '';
-
-  buildInputs = [ giblib xlibsWrapper ];
+  nativeBuildInputs = [ autoreconfHook autoconf-archive ];
+  buildInputs = [ giblib xlibsWrapper libXfixes libXcursor ];
 
   meta = with stdenv.lib; {
     homepage = http://linuxbrit.co.uk/scrot/;
     description = "A command-line screen capture utility";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ globin ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/tools/graphics/wkhtmltopdf/default.nix b/pkgs/tools/graphics/wkhtmltopdf/default.nix
index c173d00221d..2aa6abcccfc 100644
--- a/pkgs/tools/graphics/wkhtmltopdf/default.nix
+++ b/pkgs/tools/graphics/wkhtmltopdf/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchFromGitHub, qt5, fontconfig, freetype, libpng, zlib, libjpeg
+{ mkDerivation, lib, fetchFromGitHub, qtwebkit, qtsvg, qtxmlpatterns
+, fontconfig, freetype, libpng, zlib, libjpeg
 , openssl, libX11, libXext, libXrender }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   version = "0.12.5";
   pname = "wkhtmltopdf";
 
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     fontconfig freetype libpng zlib libjpeg openssl
     libX11 libXext libXrender
-    qt5.qtwebkit qt5.qtsvg qt5.qtxmlpatterns
+    qtwebkit qtsvg qtxmlpatterns
   ];
 
   prePatch = ''
@@ -28,7 +29,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://wkhtmltopdf.org/;
     description = "Tools for rendering web pages to PDF or images";
     longDescription = ''
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index d0873d764aa..8e34cb860a6 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, docbook2x, pkgconfig
 , gtk3, dconf, gobject-introspection
-, ibus, python3 }:
+, ibus, python3, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "ibus-table";
@@ -30,18 +30,29 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    dconf gtk3 gobject-introspection ibus (python3.withPackages (pypkgs: with pypkgs; [ pygobject3 ]))
+    dconf
+    gtk3
+    gobject-introspection
+    ibus
+    (python3.withPackages (pypkgs: with pypkgs; [
+      pygobject3
+      (toPythonModule ibus)
+    ]))
   ];
 
-  nativeBuildInputs = [ autoreconfHook docbook2x pkgconfig python3.pkgs.wrapPython ];
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook2x
+    pkgconfig
+    python3.pkgs.wrapPython
+    wrapGAppsHook
+  ];
 
   postUnpack = ''
     substituteInPlace $sourceRoot/engine/Makefile.am \
       --replace "docbook2man" "docbook2man --sgml"
   '';
 
-  postFixup = "wrapPythonPrograms";
-
   meta = with stdenv.lib; {
     isIbusEngine = true;
     description  = "An IBus framework for table-based input methods";
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix
index 1115e4e232f..56ddf93af45 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix
@@ -4,7 +4,7 @@
 
 let
 
-  hunspellDirs = with lib; makeSearchPath ":" (flatten (flip map langs (lang: [
+  hunspellDirs = with lib; makeSearchPath ":" (flatten (forEach langs (lang: [
     "${hunspellDicts.${lang}}/share/hunspell"
     "${hunspellDicts.${lang}}/share/myspell"
     "${hunspellDicts.${lang}}/share/myspell/dicts"
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
index 3c0d42e832e..fd9bbda699f 100644
--- a/pkgs/tools/misc/autorandr/default.nix
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -52,11 +52,11 @@ in
       sha256 = "1bp1cqkrpg77rjyh4lq1agc719fmxn92jkiicf6nbhfl8kf3l3vy";
     };
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = https://github.com/phillipberndt/autorandr/;
       description = "Automatically select a display configuration based on connected devices";
-      license = stdenv.lib.licenses.gpl3Plus;
-      maintainers = [ stdenv.lib.maintainers.coroa ];
-      platforms = stdenv.lib.platforms.unix;
+      license = licenses.gpl3Plus;
+      maintainers = with maintainers; [ coroa globin ];
+      platforms = platforms.unix;
     };
   }
diff --git a/pkgs/tools/misc/docui/default.nix b/pkgs/tools/misc/docui/default.nix
index 74ce8c102c6..66c0cfc82b1 100644
--- a/pkgs/tools/misc/docui/default.nix
+++ b/pkgs/tools/misc/docui/default.nix
@@ -2,21 +2,22 @@
 
 buildGoModule rec {
   pname = "docui";
-  version = "1.0.3";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "skanehira";
     repo = "docui";
     rev = version;
-    sha256 = "1kbap36hccwlj273is98cvgf5z5cl2c3s6p46nh6bnykz3zqzs71";
+    sha256 = "0rizl4rxmb3brzvqxw5llbgvq3rncix3h60pgq50djdf0jjnn5hs";
   };
 
-  modSha256 = "1qma9bnd4k594cr5dcv74xns53mhfyl4jsm01chf85dxywjjd9vd";
+  modSha256 = "0asqz9nnx80g2wi7dzxrfmppcraywrwdqi9vzr66vaihwpfpfnwz";
 
   meta = with stdenv.lib; {
     description = "TUI Client for Docker";
     homepage = https://github.com/skanehira/docui;
     license = licenses.mit;
     platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ aethelz ];
   };
 }
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index 7c43638ea56..1447c70412b 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -52,6 +52,6 @@ buildRustPackage rec {
     '';
     homepage = https://the.exa.website;
     license = licenses.mit;
-    maintainers = with maintainers; [ ehegnes lilyball ];
+    maintainers = with maintainers; [ ehegnes lilyball globin ];
   };
 }
diff --git a/pkgs/tools/misc/fd/default.nix b/pkgs/tools/misc/fd/default.nix
index 64bceb355a2..91c1b3b7071 100644
--- a/pkgs/tools/misc/fd/default.nix
+++ b/pkgs/tools/misc/fd/default.nix
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage rec {
     '';
     homepage = "https://github.com/sharkdp/fd";
     license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ dywedir ];
+    maintainers = with maintainers; [ dywedir globin ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/fpp/default.nix b/pkgs/tools/misc/fpp/default.nix
index bfaf30f3f37..ac731bcdbe8 100644
--- a/pkgs/tools/misc/fpp/default.nix
+++ b/pkgs/tools/misc/fpp/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, python27 }:
+{ stdenv, fetchFromGitHub, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "fpp";
-  version = "0.7.2";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "PathPicker";
     rev = version;
-    sha256 = "03n8sc2fvs2vk46jv6qfkjbyqz85yxnphvabji7qnmd3jv631w47";
+    sha256 = "00916xx4scd4xr9zxqkyhilczi27f2qm5y042592wr79ddix4n9v";
   };
 
   postPatch = ''
-    substituteInPlace fpp --replace 'PYTHONCMD="python"' 'PYTHONCMD="${python27.interpreter}"'
+    substituteInPlace fpp --replace 'PYTHONCMD="python"' 'PYTHONCMD="${python3.interpreter}"'
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/misc/geekbench/default.nix b/pkgs/tools/misc/geekbench/default.nix
index 33b884a5eb9..0f32d1e63b1 100644
--- a/pkgs/tools/misc/geekbench/default.nix
+++ b/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "1awdr54vw29ah7aah2bxpy4qkqasxj67sqk6gir8ybnxb5hxm3ri";
+    sha256 = "0s3v8frflqqifyzq84xi6322wg8c9f5wcaic9zlpdf6wylqsiali";
   };
 
   dontConfigure = true;
diff --git a/pkgs/tools/misc/kdecoration-viewer/default.nix b/pkgs/tools/misc/kdecoration-viewer/default.nix
index 5c2e410cd93..ce343c7cc39 100644
--- a/pkgs/tools/misc/kdecoration-viewer/default.nix
+++ b/pkgs/tools/misc/kdecoration-viewer/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub
+{ stdenv, fetchFromGitHub, mkDerivation
 , cmake, extra-cmake-modules, qtquickcontrols, kconfigwidgets, kdeclarative, kdecoration }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   name = "kdecoration-viewer-2018-07-24";
 
   src = fetchFromGitHub {
diff --git a/pkgs/tools/misc/lazydocker/default.nix b/pkgs/tools/misc/lazydocker/default.nix
index ea8f781e405..a8ca200129a 100644
--- a/pkgs/tools/misc/lazydocker/default.nix
+++ b/pkgs/tools/misc/lazydocker/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lazydocker";
-  version = "0.5.5";
+  version = "0.7";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = "lazydocker";
     rev = "v${version}";
-    sha256 = "0h2c1f9r67i6a8ppspsg1ln9rkm272092aaaw55sd15xxr51s4hb";
+    sha256 = "0vai88g31yf55988paqzs7fqlxgi0ydrsgszzjig9ai3x9c52xim";
   };
 
-  modSha256 = "1lrrwcr95fxk4dlinyg74vqyxwwzagymncfps9bgig5v5d8gdd8j";
+  modSha256 = "1iin1m6s9xxdskvj6jy2jwlqrsrm432ld13cpa28hpx7pylx61ij";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin.nix b/pkgs/tools/misc/libbitcoin/libbitcoin.nix
index 18177c0a7e3..8009fe563ee 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin";
-  version = "3.5.0";
+  version = "3.6.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qy637hpv6kkhf602yxxi5b9j0qhsp644fazljcqbnxzp7vv2qyd";
+    sha256 = "1rppyp3zpb6ymwangjpblwf6qh4y3d1hczrjx8aavmrq7hznnrhq";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix
index 97842f82ae9..d29626c99d1 100644
--- a/pkgs/tools/misc/ncdu/default.nix
+++ b/pkgs/tools/misc/ncdu/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ncdu";
-  version = "1.14";
+  version = "1.14.1";
 
   src = fetchurl {
     url = "https://dev.yorhel.nl/download/${pname}-${version}.tar.gz";
-    sha256 = "0i4cap2z3037xx2rdzhrlazl2igk3xy4ncddp9j7xqi1mcx7i566";
+    sha256 = "0gp1aszzrh8b6fhv8fspvkmr0qwc55z6z4w6l7r8j09sq7lf0cdy";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/osinfo-db-tools/default.nix b/pkgs/tools/misc/osinfo-db-tools/default.nix
index 9b45680ffca..0b7a7826a97 100644
--- a/pkgs/tools/misc/osinfo-db-tools/default.nix
+++ b/pkgs/tools/misc/osinfo-db-tools/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, libxml2
-, libxslt, libarchive, bzip2, lzma, json-glib
+{ stdenv, fetchurl, pkgconfig, gettext, glib, libxml2, perl
+, libxslt, libarchive, bzip2, lzma, json-glib, libsoup
 }:
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db-tools";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.gz";
-    sha256 = "1pihjwajmahldxi3isnq6wcsbwj0hsnq8z5kp3w4j615ygrn0cgl";
+    sha256 = "0x155d4hqz7mabgqvgydqjm9d8aabc78vr0v0pnsp9vkdlcv3mfh";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
-  buildInputs = [ glib json-glib libxml2 libxslt libarchive bzip2 lzma ];
+  nativeBuildInputs = [ pkgconfig gettext perl ];
+  buildInputs = [ glib json-glib libxml2 libxslt libarchive bzip2 lzma libsoup ];
 
   meta = with stdenv.lib; {
     description = "Tools for managing the osinfo database";
diff --git a/pkgs/tools/misc/riemann-c-client/default.nix b/pkgs/tools/misc/riemann-c-client/default.nix
index 970cf28c26d..69bf9cafa53 100644
--- a/pkgs/tools/misc/riemann-c-client/default.nix
+++ b/pkgs/tools/misc/riemann-c-client/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/algernon/riemann-c-client;
     description = "A C client library for the Riemann monitoring system";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ rickynils pradeepchhetri ];
+    maintainers = with maintainers; [ pradeepchhetri ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/shallot/default.nix b/pkgs/tools/misc/shallot/default.nix
index a22799b2073..ced15038b0c 100644
--- a/pkgs/tools/misc/shallot/default.nix
+++ b/pkgs/tools/misc/shallot/default.nix
@@ -1,13 +1,10 @@
-{ 
-  stdenv, fetchFromGitHub,
-  openssl
+{ stdenv, fetchFromGitHub, fetchpatch
+, openssl
 }:
 
-let 
-  version = "0.0.3";
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "shallot";
-  inherit version;
+  version = "0.0.3";
 
   src = fetchFromGitHub {
     owner = "katmagic";
@@ -18,6 +15,21 @@ in stdenv.mkDerivation {
 
   buildInputs = [ openssl ];
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/katmagic/Shallot/commit/c913088dfaaaf249494514f20a62f2a17b5c6606.patch";
+      sha256 = "19l1ppbxpdb0736f7plhybj08wh6rqk1lr3bxsp8jpzpnkh114b2";
+    })
+    (fetchpatch {
+      url = "https://github.com/katmagic/Shallot/commit/cd6628d97b981325e700a38f408a43df426fd569.patch";
+      sha256 = "1gaffp5wp1l5p2qdk0ix3i5fhzpx4xphl0haa6ajhqn8db7hbr9y";
+    })
+    (fetchpatch {
+      url = "https://github.com/katmagic/Shallot/commit/5c7c1ccecbbad5a121c50ba7153cbbee7ee0ebf9.patch";
+      sha256 = "1zmll4iqz39zwk8vj40n1dpvyq3403l64p2127gsjgh2l2v91s4k";
+    })
+  ];
+
   installPhase = ''
     mkdir -p $out/bin
     cp ./shallot $out/bin/
diff --git a/pkgs/tools/misc/sl/default.nix b/pkgs/tools/misc/sl/default.nix
index bb7586ee379..4ef91f6c55a 100644
--- a/pkgs/tools/misc/sl/default.nix
+++ b/pkgs/tools/misc/sl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sl";
-  version = "5.04";
+  version = "5.05";
 
   src = fetchFromGitHub {
     owner = "eyJhb";
     repo = "sl";
     rev = version;
-    sha256 = "029lv6vw39c7gj8bkfyqs8q4g32174vbmghhhgfk8wrhnxq60qn7";
+    sha256 = "11a1rdgb8wagikhxgm81g80g5qsl59mv4qgsval3isykqh8729bj";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
new file mode 100644
index 00000000000..e0bd36b2195
--- /dev/null
+++ b/pkgs/tools/misc/starship/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, rustPlatform, openssl, pkgconfig, libiconv, darwin }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "starship";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    owner = "starship";
+    repo = "starship";
+    rev = "v${version}";
+    sha256 = "0zq99ll0vyafr2piffazprhvbs3sxb6863cp2qw596ilqg7ffi04";
+  };
+
+  buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  cargoSha256 = "0qlgng5j6l1r9j5vn3wnq25qr6f4nh10x90awiqyzz8jypb0ng2c";
+  checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
+
+  meta = with stdenv.lib; {
+    description = "A minimal, blazing fast, and extremely customizable prompt for any shell";
+    homepage = "https://starship.rs";
+    license = licenses.isc;
+    maintainers = with maintainers; [ bbigras ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/thin-provisioning-tools/default.nix b/pkgs/tools/misc/thin-provisioning-tools/default.nix
index 2ca5dfb7758..0739435084d 100644
--- a/pkgs/tools/misc/thin-provisioning-tools/default.nix
+++ b/pkgs/tools/misc/thin-provisioning-tools/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     description = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target";
     license = licenses.gpl3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ globin ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/misc/uhubctl/default.nix b/pkgs/tools/misc/uhubctl/default.nix
new file mode 100644
index 00000000000..5c858944b3f
--- /dev/null
+++ b/pkgs/tools/misc/uhubctl/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, fetchFromGitHub
+, libusb
+}:
+
+stdenv.mkDerivation rec {
+  pname = "uhubctl";
+  version = "unstable-2019-07-31";
+
+  src = fetchFromGitHub {
+    owner = "mvp";
+    repo = "uhubctl";
+    rev = "1961aa02e9924a54a6219d16c61a0beb0d626e46";
+    sha256 = "15mvqp1xh079nqp0mynh3l1wmw4maa320pn4jr8bz7nh3knmk0n1";
+  };
+
+  buildInputs = [ libusb ];
+
+  installFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/mvp/uhubctl";
+    description = "Utility to control USB power per-port on smart USB hubs";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ prusnak ];
+    platforms = with platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/tools/misc/unclutter-xfixes/default.nix b/pkgs/tools/misc/unclutter-xfixes/default.nix
index 8e2342f4269..7d2e5e0c367 100644
--- a/pkgs/tools/misc/unclutter-xfixes/default.nix
+++ b/pkgs/tools/misc/unclutter-xfixes/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = stdenv.lib.licenses.mit;
     inherit version;
+    maintainers = [ maintainers.globin ];
   };
 }
diff --git a/pkgs/tools/misc/vfdecrypt/default.nix b/pkgs/tools/misc/vfdecrypt/default.nix
deleted file mode 100644
index 48bd2b140b7..00000000000
--- a/pkgs/tools/misc/vfdecrypt/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchFromGitHub, openssl }:
-
-stdenv.mkDerivation rec {
-  pname = "vfdecrypt";
-  version = "unstable-2010-08-13";
-
-  src = fetchFromGitHub {
-    owner = "Tomer1510";
-    repo = "VFDecrypt";
-    rev = "4e2fa32816254907e82886b936afcae9859a876c";
-    sha256 = "0b945805f7f60bf48556c2db45c9ab26485fb05acbc6160a563d529b20cb56a3";
-  };
-
-  buildInputs = [ openssl ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp vfdecrypt $out/bin
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A cross platform dmg decryption tool";
-    license = licenses.mit;
-    inherit (src.meta) homepage;
-  };
-}
diff --git a/pkgs/tools/misc/yank/default.nix b/pkgs/tools/misc/yank/default.nix
index 0e88e79eb1b..9fb5399fd72 100644
--- a/pkgs/tools/misc/yank/default.nix
+++ b/pkgs/tools/misc/yank/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     owner = "mptre";
     repo = "yank";
     rev = "v${meta.version}";
-    sha256 = "0jhr4ywn5x5s15sczhdyyaqy3xh5z4zsx3g42ma26prpnr4gjczz";
+    sha256 = "1izygx7f1z35li74i2cwca0p28c3v8fbr7w72dwpiqdaiwywa8xc";
     inherit name;
   };
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     '';
     downloadPage = "https://github.com/mptre/yank/releases";
     license = licenses.mit;
-    version = "1.1.0";
+    version = "1.2.0";
     maintainers = [ maintainers.dochang ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/misc/yubikey-manager-qt/default.nix b/pkgs/tools/misc/yubikey-manager-qt/default.nix
index 44b2f3451c1..810c2f49a5e 100644
--- a/pkgs/tools/misc/yubikey-manager-qt/default.nix
+++ b/pkgs/tools/misc/yubikey-manager-qt/default.nix
@@ -20,11 +20,11 @@ let inherit (stdenv) lib; in
 
 stdenv.mkDerivation rec {
   pname = "yubikey-manager-qt";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchurl {
     url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
-    sha256 = "01ax8zjrahs2sjbgsys2ahh57sdcap0ij3y1r1bbvsgzr7xxm2q8";
+    sha256 = "087ms9i0n3rm8a0hvc4a2dk3rffbm6rmgz0m8gbjk6g37iml6nb7";
   };
 
   nativeBuildInputs = [ wrapQtAppsHook python3.pkgs.wrapPython qmake ];
diff --git a/pkgs/tools/networking/arping/default.nix b/pkgs/tools/networking/arping/default.nix
index 2d68affacc1..5d1ebc74800 100644
--- a/pkgs/tools/networking/arping/default.nix
+++ b/pkgs/tools/networking/arping/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchFromGitHub, autoreconfHook, libnet, libpcap }:
 
 stdenv.mkDerivation rec {
-  version = "2.19";
+  version = "2.20";
   pname = "arping";
 
   buildInputs = [ libnet libpcap ];
 
   src = fetchFromGitHub {
     owner = "ThomasHabets";
-    repo = "arping";
-    rev = "arping-${version}";
-    sha256 = "10gpil6ic17x8v628vhz9s98rnw1k8ci2xs56i52pr103irirczw";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "0gmyip552k6mq7013cvy5yc4akn2rz28s3g4x4vdq35vnxf66cyk";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index 740c6c998fe..bbc0cac0551 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     repositories.git = git://git.tuxfamily.org/gitroot/chrony/chrony.git;
     license = licenses.gpl2;
     platforms = with platforms; linux ++ freebsd ++ openbsd;
-    maintainers = with maintainers; [ rickynils fpletz ];
+    maintainers = with maintainers; [ fpletz ];
 
     longDescription = ''
       Chronyd is a daemon which runs in background on the system. It obtains
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 315e12cc155..bcc1f39e8fd 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -70,6 +70,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html;
     license = licenses.gpl2;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ eelco fpletz ];
+    maintainers = with maintainers; [ eelco fpletz globin ];
   };
 }
diff --git a/pkgs/tools/networking/dsniff/default.nix b/pkgs/tools/networking/dsniff/default.nix
index 50a3c98af0f..9ddc1a35ce3 100644
--- a/pkgs/tools/networking/dsniff/default.nix
+++ b/pkgs/tools/networking/dsniff/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl_1_1 }:
+{ stdenv, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl }:
 let
   /*
   dsniff's build system unconditionnaly wants static libraries and does not
@@ -33,8 +33,8 @@ let
     dontDisableStatic = true;
   });
   ssl = symlinkJoin {
-    inherit (openssl_1_1) name;
-    paths = with openssl_1_1.override { static = true; }; [ out dev ];
+    inherit (openssl) name;
+    paths = with openssl.override { static = true; }; [ out dev ];
   };
 in stdenv.mkDerivation {
   pname = "dsniff";
diff --git a/pkgs/tools/networking/httping/default.nix b/pkgs/tools/networking/httping/default.nix
index 05d4f180ef7..e269a38f821 100644
--- a/pkgs/tools/networking/httping/default.nix
+++ b/pkgs/tools/networking/httping/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
       latency of the webserver + network. It supports IPv6.
     '';
     license = licenses.agpl3;
-    maintainers = with maintainers; [ rickynils ];
+    maintainers = [];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/networking/httplz/cargo-lock.patch b/pkgs/tools/networking/httplz/cargo-lock.patch
index aa161460904..f88998902c5 100644
--- a/pkgs/tools/networking/httplz/cargo-lock.patch
+++ b/pkgs/tools/networking/httplz/cargo-lock.patch
@@ -1,9 +1,9 @@
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 0000000..09a545a
+index 0000000..731829e
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,1174 @@
+@@ -0,0 +1,1403 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
@@ -12,11 +12,20 @@ index 0000000..09a545a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "advapi32-sys"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "aho-corasick"
-+version = "0.7.6"
++version = "0.6.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -24,7 +33,7 @@ index 0000000..09a545a
 +version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -34,16 +43,17 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "atty"
-+version = "0.2.13"
++version = "0.2.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "autocfg"
-+version = "0.1.5"
++version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -51,8 +61,8 @@ index 0000000..09a545a
 +version = "0.9.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "safemem 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -60,12 +70,17 @@ index 0000000..09a545a
 +version = "0.10.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "bitflags"
-+version = "1.1.0"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bitflags"
++version = "1.0.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -73,7 +88,7 @@ index 0000000..09a545a
 +version = "0.3.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -87,8 +102,13 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "build_const"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "byteorder"
-+version = "1.3.2"
++version = "1.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -105,7 +125,7 @@ index 0000000..09a545a
 +version = "0.1.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -114,30 +134,30 @@ index 0000000..09a545a
 +version = "0.2.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.40"
++version = "1.0.28"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "cfg-if"
-+version = "0.1.9"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "clap"
-+version = "2.33.0"
++version = "2.32.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -147,7 +167,16 @@ index 0000000..09a545a
 +version = "0.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "core-foundation"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -161,49 +190,64 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "core-foundation-sys"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "core-foundation-sys"
 +version = "0.6.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "crc"
++version = "1.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "crc32fast"
-+version = "1.2.0"
++version = "1.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "ctrlc"
-+version = "3.1.3"
++version = "3.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "nix 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "dtoa"
-+version = "0.4.4"
++version = "0.4.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "embed-resource"
-+version = "1.2.1"
++version = "1.1.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "vswhom 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winreg 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winreg 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "flate2"
-+version = "1.0.11"
++version = "1.0.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crc32fast 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "miniz-sys 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "miniz_oxide 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz_oxide_c_api 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -221,7 +265,7 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "fuchsia-cprng"
-+version = "0.1.1"
++version = "0.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -231,60 +275,60 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "getrandom"
-+version = "0.1.9"
++version = "0.1.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "httparse"
-+version = "1.3.4"
++version = "1.3.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "https"
-+version = "1.5.1"
++version = "1.5.2"
 +dependencies = [
 + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "brotli2 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ctrlc 3.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "embed-resource 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "flate2 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ctrlc 3.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "embed-resource 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "flate2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hyper-native-tls 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "iron 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iron 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazysort 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "md6 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime_guess 1.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rfsapi 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "trivial_colours 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "hyper"
-+version = "0.10.16"
++version = "0.10.15"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -294,11 +338,21 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "hyper-native-tls"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "hyper-native-tls"
 +version = "0.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)",
 + "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -314,15 +368,15 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "iron"
-+version = "0.6.1"
++version = "0.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hyper-native-tls 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper-native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime_guess 1.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "modifier 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "plugin 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -334,13 +388,27 @@ index 0000000..09a545a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "kernel32-sys"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "language-tags"
 +version = "0.2.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "lazy_static"
-+version = "1.3.0"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "lazy_static"
++version = "1.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -358,15 +426,15 @@ index 0000000..09a545a
 +version = "0.3.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "log"
-+version = "0.4.8"
++version = "0.4.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -385,8 +453,12 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "memchr"
-+version = "2.2.1"
++version = "2.1.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "mime"
@@ -398,7 +470,7 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "mime_guess"
-+version = "1.8.7"
++version = "1.8.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -409,38 +481,63 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "miniz-sys"
-+version = "0.1.12"
++version = "0.1.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "miniz_oxide"
-+version = "0.3.2"
++version = "0.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "miniz_oxide_c_api"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz_oxide 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "modifier"
 +version = "0.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "native-tls"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "schannel 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "native-tls"
 +version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "schannel 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
 + "security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -448,12 +545,12 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "nix"
-+version = "0.14.1"
++version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -463,23 +560,32 @@ index 0000000..09a545a
 +version = "0.1.43"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num-traits"
-+version = "0.2.8"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "num_cpus"
++version = "1.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "num_cpus"
-+version = "1.10.1"
++name = "openssl"
++version = "0.9.24"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
++ "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -487,10 +593,10 @@ index 0000000..09a545a
 +version = "0.10.24"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -505,11 +611,11 @@ index 0000000..09a545a
 +version = "0.9.49"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -554,7 +660,7 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "pkg-config"
-+version = "0.3.15"
++version = "0.3.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -577,20 +683,32 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "rand"
++version = "0.4.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "fuchsia-cprng 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
 +version = "0.6.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_jitter 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_os 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -598,7 +716,7 @@ index 0000000..09a545a
 +version = "0.7.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "getrandom 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -610,7 +728,7 @@ index 0000000..09a545a
 +version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -628,12 +746,12 @@ index 0000000..09a545a
 +version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rand_core"
-+version = "0.4.2"
++version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -641,7 +759,7 @@ index 0000000..09a545a
 +version = "0.5.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "getrandom 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -670,34 +788,34 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "rand_jitter"
-+version = "0.1.4"
++version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rand_os"
-+version = "0.1.3"
++version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-cprng 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rand_pcg"
-+version = "0.1.2"
++version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -718,31 +836,43 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "redox_syscall"
-+version = "0.1.56"
++version = "0.1.51"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "redox_termios"
++version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "regex"
-+version = "1.2.1"
++version = "1.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex-syntax 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "regex-syntax"
-+version = "0.6.11"
++version = "0.6.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "remove_dir_all"
-+version = "0.5.2"
++version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -750,7 +880,7 @@ index 0000000..09a545a
 +version = "0.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)",
 + "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -758,17 +888,36 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "rustc_version"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "safemem"
-+version = "0.3.1"
++version = "0.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "schannel"
-+version = "0.1.15"
++version = "0.1.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "security-framework"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -784,6 +933,15 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "security-framework-sys"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "security-framework-sys"
 +version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
@@ -791,6 +949,19 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "semver"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "semver-parser"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "serde"
 +version = "0.9.15"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -818,7 +989,7 @@ index 0000000..09a545a
 +version = "0.9.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "itoa 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -831,12 +1002,15 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "smallvec"
-+version = "0.6.10"
++version = "0.6.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "strsim"
-+version = "0.8.0"
++version = "0.7.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -858,21 +1032,40 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "tempdir"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "tempfile"
 +version = "3.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
++ "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "termion"
++version = "1.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "textwrap"
-+version = "0.11.0"
++version = "0.10.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -883,7 +1076,7 @@ index 0000000..09a545a
 +version = "0.3.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -892,8 +1085,8 @@ index 0000000..09a545a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -920,6 +1113,11 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "ucd-util"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "unicase"
 +version = "1.4.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -929,7 +1127,7 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "unicase"
-+version = "2.4.0"
++version = "2.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -948,7 +1146,7 @@ index 0000000..09a545a
 +version = "0.1.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -962,6 +1160,14 @@ index 0000000..09a545a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "unreachable"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "unsafe-any"
 +version = "0.4.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -980,8 +1186,13 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "utf8-ranges"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "vcpkg"
-+version = "0.2.7"
++version = "0.2.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1000,31 +1211,18 @@ index 0000000..09a545a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "vswhom"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vswhom-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "vswhom-sys"
-+version = "0.1.0"
++name = "wasi"
++version = "0.5.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
-+name = "wasi"
-+version = "0.5.0"
++name = "winapi"
++version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "winapi"
-+version = "0.3.7"
++version = "0.3.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1032,6 +1230,11 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "winapi-build"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "winapi-i686-pc-windows-gnu"
 +version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1043,70 +1246,84 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "winreg"
-+version = "0.5.1"
++version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "advapi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[metadata]
 +"checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c"
-+"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
++"checksum advapi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb8a9a"
++"checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e"
 +"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
 +"checksum antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34fde25430d87a9388dadbe6e34d7f72a462c8b43ac8d309b42b0a8505d7e2a5"
-+"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
-+"checksum autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "22130e92352b948e7e82a49cdb0aa94f2211761117f29e052dd397c1ac33542b"
++"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
++"checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799"
 +"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
 +"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
-+"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
++"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
++"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 +"checksum brotli-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4445dea95f4c2b41cde57cc9fee236ae4dbae88d8fcbdb4750fc1bb5d86aaecd"
 +"checksum brotli2 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0cb036c3eade309815c15ddbacec5b22c4d1f3983a774ab2eac2e3e9ea85568e"
-+"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
++"checksum build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39"
++"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
 +"checksum bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b"
 +"checksum bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6584aa36f5ad4c9247f5323b0a42f37802b37a836f0ad87084d7a33961abe25f"
 +"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101"
-+"checksum cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "b548a4ee81fccb95919d4e22cfea83c7693ebfd78f0495493178db20b3139da7"
-+"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
-+"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
++"checksum cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a8b715cb4597106ea87c7c84b2f1d452c7492033765df7f32651e66fcf749"
++"checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
++"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
 +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
++"checksum core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25bfd746d203017f7d5cbd31ee5d8e17f94b6521c7af77ece6c9e4b2d4b16c67"
 +"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
++"checksum core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "065a5d7ffdcbc8fa145d6f0746f3555025b9097a9e9cda59f7467abae670c78d"
 +"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
-+"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
-+"checksum ctrlc 3.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7dfd2d8b4c82121dfdff120f818e09fc4380b0b7e17a742081a89b94853e87f"
-+"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e"
-+"checksum embed-resource 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9e691c6cebf9fc63d525a8308df4094f07dc8b391dad7fafd09b3c96081f834d"
-+"checksum flate2 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "2adaffba6388640136149e18ed080b77a78611c1e1d6de75aedcdf78df5d4682"
++"checksum crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb"
++"checksum crc32fast 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e91d5240c6975ef33aeb5f148f35275c25eda8e8a5f95abe421978b05b8bf192"
++"checksum ctrlc 3.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "630391922b1b893692c6334369ff528dcc3a9d8061ccf4c803aa8f83cb13db5e"
++"checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd"
++"checksum embed-resource 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "59edbe56442f96505f79c9116006f2e26c7f5655cccdc2c1546b2528c63bd612"
++"checksum flate2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2291c165c8e703ee54ef3055ad6188e3d51108e2ded18e9f2476e774fc5ad3d4"
 +"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
 +"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-+"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
++"checksum fuchsia-cprng 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "81f7f8eb465745ea9b02e2704612a9946a59fa40572086c6fd49d6ddcf30bf31"
 +"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
-+"checksum getrandom 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2512b3191f22e2763a5db387f1c9409379772e2050841722eb4a8c4f497bf096"
-+"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
-+"checksum hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)" = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273"
++"checksum getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "6171a6cc63fbabbe27c2b5ee268e8b7fe5dc1eb0dd2dfad537c1dfed6f69117e"
++"checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83"
++"checksum hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)" = "df0caae6b71d266b91b4a83111a61d2b94ed2e2bea024c532b933dcff867e58c"
++"checksum hyper-native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "72332e4a35d3059583623b50e98e491b78f8b96c5521fcb3f428167955aa56e8"
 +"checksum hyper-native-tls 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d375598f442742b0e66208ee12501391f1c7ac0bafb90b4fe53018f81f06068"
 +"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
-+"checksum iron 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c6d308ca2d884650a8bf9ed2ff4cb13fbb2207b71f64cda11dc9b892067295e8"
++"checksum iron 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d8e17268922834707e1c29e8badbf9c712c9c43378e1b6a3388946baff10be2"
 +"checksum itoa 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c"
++"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
 +"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
-+"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
++"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73"
++"checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1"
 +"checksum lazysort 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e22ff43b231e0e2f87d74984e53ebc73b90ae13397e041214fb07efc64168f"
 +"checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba"
 +"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-+"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
++"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
 +"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
 +"checksum md6 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "54e5826684849cecd3fa05a6a5052c50a3542f163a9917ff0b91379426a2e45d"
-+"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
++"checksum memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e1dd4eaac298c32ce07eb6ed9242eda7d82955b9170b7d6db59b2e02cc63fcb8"
 +"checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
-+"checksum mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0d977de9ee851a0b16e932979515c0f3da82403183879811bc97d50bd9cc50f7"
-+"checksum miniz-sys 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9e3ae51cea1576ceba0dde3d484d30e6e5b86dee0b2d412fe3a16a15c98202"
-+"checksum miniz_oxide 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7108aff85b876d06f22503dcce091e29f76733b2bfdd91eebce81f5e68203a10"
++"checksum mime_guess 1.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2d4c0961143b8efdcfa29c3ae63281601b446a4a668165454b6c90f8024954c5"
++"checksum miniz-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "0300eafb20369952951699b68243ab4334f4b10a88f411c221d444b36c40e649"
++"checksum miniz_oxide 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c468f2369f07d651a5d0bb2c9079f8488a66d5466efe42d0c5c6466edcb7f71e"
++"checksum miniz_oxide_c_api 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b7fe927a42e3807ef71defb191dc87d4e24479b221e67015fe38ae2b7b447bab"
 +"checksum modifier 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "41f5c9112cb662acd3b204077e0de5bc66305fa8df65c8019d5adb10e9ab6e58"
++"checksum native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f74dbadc8b43df7864539cedb7bc91345e532fdd913cfdc23ad94f4d2d40fbc0"
 +"checksum native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e"
-+"checksum nix 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce"
++"checksum nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17"
 +"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
-+"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
-+"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273"
++"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
++"checksum num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5a69d464bdc213aaaff628444e99578ede64e9c854025aa43b9796530afa9238"
 +"checksum openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)" = "8152bb5a9b5b721538462336e3bef9a539f892715e5037fda0f984577311af15"
++"checksum openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "a3605c298474a3aa69de92d21139fb5e2a81688d308262359d85cdd0d12a7985"
 +"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
 +"checksum openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)" = "f4fad9e54bd23bd4cbbe48fdc08a1b8091707ac869ef8508edea2fec77dcc884"
 +"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
@@ -1114,67 +1331,79 @@ index 0000000..09a545a
 +"checksum phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
 +"checksum phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
 +"checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-+"checksum pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c1d2cfa5a714db3b5f24f0915e74fcdf91d09d496ba61329705dda7774d2af"
++"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
 +"checksum plugin 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "1a6a0dc3910bc8db877ffed8e457763b317cf880df4ae19109b9f77d277cf6e0"
 +"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
 +"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
++"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
 +"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
 +"checksum rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d47eab0e83d9693d40f825f86948aa16eff6750ead4bdffc4ab95b8b3a7f052c"
 +"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
 +"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
 +"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-+"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
++"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
 +"checksum rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "615e683324e75af5d43d8f7a39ffe3ee4a9dc42c5c701167a71dc59c3a493aca"
 +"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
 +"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
 +"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-+"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-+"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-+"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
++"checksum rand_jitter 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "080723c6145e37503a2224f801f252e14ac5531cb450f4502698542d188cb3c0"
++"checksum rand_os 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b7c690732391ae0abafced5015ffb53656abfaec61b342290e5eb56b286a679d"
++"checksum rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "086bd09a33c7044e56bb44d5bdde5a60e7f119a9e95b0775f545de759a32fe05"
 +"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
 +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-+"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
-+"checksum regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88c3d9193984285d544df4a30c23a4e62ead42edf70a4452ceb76dac1ce05c26"
-+"checksum regex-syntax 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b143cceb2ca5e56d5671988ef8b15615733e7ee16cd348e064333b251b89343f"
-+"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
++"checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85"
++"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
++"checksum regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "37e7cbbd370869ce2e8dff25c7018702d10b21a20ef7135316f8daecd6c25b7f"
++"checksum regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8c2f35eedad5295fdf00a63d7d4b238135723f92b434ec06774dad15c7ab0861"
++"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
 +"checksum rfsapi 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1b6fbc119d00459f80252adb96e554766d75de071ed5d3c49f46a000d137cd49"
-+"checksum safemem 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e133ccc4f4d1cd4f89cc8a7ff618287d56dc7f638b8e38fc32c5fdcadc339dd5"
-+"checksum schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f6abf258d99c3c1c5c2131d99d064e94b7b3dd5f416483057f308fea253339"
++"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
++"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
++"checksum schannel 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "0e1a231dc10abf6749cfa5d7767f25888d484201accbd919b66ab5413c502d56"
++"checksum security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "dfa44ee9c54ce5eecc9de7d5acbad112ee58755239381f687e564004ba4a2332"
 +"checksum security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eee63d0f4a9ec776eeb30e220f0bc1e092c3ad744b2a379e3993070364d3adc2"
++"checksum security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "5421621e836278a0b139268f36eee0dc7e389b784dc3f79d8f11aabadf41bead"
 +"checksum security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9636f8989cbf61385ae4824b98c1aaa54c994d7d8b41f11c601ed799f0549a56"
++"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
++"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 +"checksum serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)" = "34b623917345a631dc9608d5194cc206b3fe6c3554cd1c75b937e55e285254af"
 +"checksum serde_codegen_internals 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc888bd283bd2420b16ad0d860e35ad8acb21941180a83a189bb2046f9d00400"
 +"checksum serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)" = "978fd866f4d4872084a81ccc35e275158351d3b9fe620074e7d7504b816b74ba"
 +"checksum serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ad8bcf487be7d2e15d3d543f04312de991d631cfe1b43ea0ade69e6a8a5b16a1"
 +"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-+"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
-+"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++"checksum smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "88aea073965ab29f6edb5493faf96ad662fb18aa9eeb186a3b7057951605ed15"
++"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
 +"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
 +"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
++"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
 +"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
-+"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
++"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
 +"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
 +"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
 +"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
 +"checksum trivial_colours 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7153365ea16c5a0ce2eebc4da1b33339a6b21d90c49f670e82130639656bb458"
 +"checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
 +"checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6"
++"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
 +"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
-+"checksum unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a84e5511b2a947f3ae965dcb29b13b7b1691b6e7332cf5dbc1744138d5acb7f6"
++"checksum unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d3218ea14b4edcaccfa0df0a64a3792a2c32cc706f1b336e48867f9d3147f90"
 +"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
 +"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
 +"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
 +"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
++"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
 +"checksum unsafe-any 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f"
 +"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-+"checksum vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "33dd455d0f96e90a75803cfeb7f948768c08d70a6de9a8d2362461935698bf95"
++"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
++"checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d"
 +"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
 +"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
 +"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-+"checksum vswhom 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
-+"checksum vswhom-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc2f5402d3d0e79a069714f7b48e3ecc60be7775a2c049cb839457457a239532"
 +"checksum wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd5442abcac6525a045cc8c795aedb60da7a2e5e89c7bf18a0d5357849bb23c7"
-+"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
++"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
++"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
++"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
 +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-+"checksum winreg 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a"
++"checksum winreg 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf285379f20d7f26abd990d9a566be9d31ab7a9d335299baaa1f0604f5f96af"
diff --git a/pkgs/tools/networking/httplz/default.nix b/pkgs/tools/networking/httplz/default.nix
index f8ea5f2dae6..b7ee85da9d8 100644
--- a/pkgs/tools/networking/httplz/default.nix
+++ b/pkgs/tools/networking/httplz/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "httplz";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "thecoshman";
     repo = "http";
     rev = "v${version}";
-    sha256 = "00w8sy0m92by6lby1zb8hh36dnsrvwyyl56p6p7a1mf3iiq84r1y";
+    sha256 = "0q9ng8vf01k65zmcm7bbkqyrkj5hs86zdxwrfj98f4xqxrm75rf6";
   };
 
   buildInputs = with pkgs; [ openssl pkgconfig ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
 
   cargoBuildFlags = [ "--bin httplz" ];
   cargoPatches = [ ./cargo-lock.patch ];
-  cargoSha256 = "1axf15ma7fkbphjc6hjrbcj9rbd1x5i4kyz7fjrlqjgdsmvaqc93";
+  cargoSha256 = "18qr3sy4zj4lwbzrz98d82kwagfbzkmrxk5sxl7w9vhdzy2diskw";
 
   meta = with stdenv.lib; {
     description = "A basic http server for hosting a folder fast and simply";
diff --git a/pkgs/tools/networking/mailsend/default.nix b/pkgs/tools/networking/mailsend/default.nix
index 642fd739335..c888f354eae 100644
--- a/pkgs/tools/networking/mailsend/default.nix
+++ b/pkgs/tools/networking/mailsend/default.nix
@@ -22,6 +22,13 @@ stdenv.mkDerivation {
   configureFlags = [
     "--with-openssl=${openssl.dev}"
   ];
+
+  patches = [
+    (fetchurl {
+      url = https://github.com/muquit/mailsend/commit/960df6d7a11eef90128dc2ae660866b27f0e4336.patch;
+      sha256 = "0vz373zcfl19inflybfjwshcq06rvhx0i5g0f4b021cxfhyb1sm0";
+    })
+  ];
   meta = {
     inherit (s) version;
     description = ''CLI email sending tool'';
diff --git a/pkgs/tools/networking/memtier-benchmark/default.nix b/pkgs/tools/networking/memtier-benchmark/default.nix
index 6d29ac29701..075696cfba1 100644
--- a/pkgs/tools/networking/memtier-benchmark/default.nix
+++ b/pkgs/tools/networking/memtier-benchmark/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "memtier-benchmark";
-  version = "1.2.11";
+  version = "1.2.17";
 
   src = fetchFromGitHub {
     owner  = "redislabs";
     repo   = "memtier_benchmark";
     rev    = "refs/tags/${version}";
-    sha256 = "0a1lz4j9whj6yf94xn7rna00abgrv2qs30vmpns1n9zqlpaj6b6a";
+    sha256 = "18cka6sv3w8ffa81126nzi04if9g1wd3i3apxsgmv7xm2p8fsa39";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index d00e3737237..1acd513be31 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     description = "A network diagnostics tool";
     homepage    = "https://www.bitwizard.nl/mtr/";
     license     = licenses.gpl2;
-    maintainers = with maintainers; [ koral orivej raskin ];
+    maintainers = with maintainers; [ koral orivej raskin globin ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix
index f7df0740ba1..0fb11e1b0eb 100644
--- a/pkgs/tools/networking/network-manager/applet.nix
+++ b/pkgs/tools/networking/network-manager/applet.nix
@@ -54,7 +54,7 @@ in stdenv.mkDerivation rec {
     homepage = https://wiki.gnome.org/Projects/NetworkManager;
     description = "NetworkManager control applet for GNOME";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ phreedom rickynils ];
+    maintainers = with maintainers; [ phreedom ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 5de8490f96a..5bc915caea6 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -119,7 +119,7 @@ in stdenv.mkDerivation rec {
     homepage = https://wiki.gnome.org/Projects/NetworkManager;
     description = "Network configuration and management tool";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ phreedom rickynils domenkozar obadz ];
+    maintainers = with maintainers; [ phreedom domenkozar obadz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/nfdump/default.nix b/pkgs/tools/networking/nfdump/default.nix
index bfd2c035cdb..0ae309cf94d 100644
--- a/pkgs/tools/networking/nfdump/default.nix
+++ b/pkgs/tools/networking/nfdump/default.nix
@@ -2,7 +2,7 @@
 , autoconf, automake, libtool, pkg-config
 , bzip2, libpcap, flex, yacc }:
 
-let version = "1.6.17"; in
+let version = "1.6.18"; in
 
 stdenv.mkDerivation {
   pname = "nfdump";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     owner = "phaag";
     repo = "nfdump";
     rev = "v${version}";
-    sha256 = "1z8zpvd9jfi2raafcbkykw55y0hd4mp74jvna19h3k0g86mqkxya";
+    sha256 = "0hfgj9lghkjrjxww0jdk8gxr6g4gbmbdmfg9ddg5jj6gcra21gha";
   };
 
   nativeBuildInputs = [ autoconf automake flex libtool pkg-config yacc ];
diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix
index 363963b1b14..38255a68ffe 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.0.3";
+  version = "4.1.0";
   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 = "1x09db62i81gamj6pm9bng994z54y7gqc6wvj8hnn0j0ay9gkcf5";
+    sha256 = "0pkibvhk1f999mg1zv2ikxzjpkrrbb0wwq5x0gzpmvr5sgywr6k4";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/tools/networking/p2p/libtorrent/default.nix b/pkgs/tools/networking/p2p/libtorrent/default.nix
index 524b75d5582..f750e3b1bfe 100644
--- a/pkgs/tools/networking/p2p/libtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/libtorrent/default.nix
@@ -1,8 +1,8 @@
 # NOTE: this is rakshava's version of libtorrent, used mainly by rtorrent
 # This is NOT libtorrent-rasterbar, used by Deluge, qbitttorent, and others
-{ stdenv, fetchFromGitHub, pkgconfig
-, libtool, autoconf, automake, cppunit
-, openssl, libsigcxx, zlib }:
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook
+, cppunit, openssl, libsigcxx, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "libtorrent";
@@ -15,10 +15,8 @@ stdenv.mkDerivation rec {
     sha256 = "1h5y6ab3gs20yyprdfwcw8fh1c6czs4yrdj0kf54d2vp9qwz685r";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libtool autoconf automake cppunit openssl libsigcxx zlib ];
-
-  preConfigure = "./autogen.sh";
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ cppunit openssl libsigcxx zlib ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/rakshasa/libtorrent";
diff --git a/pkgs/tools/networking/radsecproxy/default.nix b/pkgs/tools/networking/radsecproxy/default.nix
index a0644061c5f..9901194f3c6 100644
--- a/pkgs/tools/networking/radsecproxy/default.nix
+++ b/pkgs/tools/networking/radsecproxy/default.nix
@@ -1,15 +1,18 @@
-{ stdenv, fetchurl, openssl }:
+{ stdenv, fetchFromGitHub, openssl, autoreconfHook, nettle }:
 
 stdenv.mkDerivation rec {
   pname = "radsecproxy";
-  version = "1.6.9";
+  version = "1.8.0";
 
-  src = fetchurl {
-    url = "https://software.nordu.net/radsecproxy/radsecproxy-${version}.tar.xz";
-    sha256 = "6f2c7030236c222782c9ac2c52778baa63540a1865b75a7a6d8c1280ce6ad816";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "1268lbysa82b6h0101jzs0v6ixvmy3x0d0a8hw37sy95filsjmia";
   };
 
-  buildInputs = [ openssl ];
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ openssl nettle ];
 
   configureFlags = [
      "--with-ssl=${openssl.dev}"
diff --git a/pkgs/tools/networking/redir/default.nix b/pkgs/tools/networking/redir/default.nix
index 2ea5a86a231..1a6efb065e2 100644
--- a/pkgs/tools/networking/redir/default.nix
+++ b/pkgs/tools/networking/redir/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "A TCP port redirector for UNIX";
     homepage = https://github.com/troglobit/redir;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ globin ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/sipcalc/default.nix b/pkgs/tools/networking/sipcalc/default.nix
index adab157720c..dff929e9fa1 100644
--- a/pkgs/tools/networking/sipcalc/default.nix
+++ b/pkgs/tools/networking/sipcalc/default.nix
@@ -1,15 +1,19 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
+
 stdenv.mkDerivation rec {
   pname = "sipcalc";
   version = "1.1.6";
+
   src = fetchurl {
     url = "http://www.routemeister.net/projects/sipcalc/files/${pname}-${version}.tar.gz";
     sha256 = "cfd476c667f7a119e49eb5fe8adcfb9d2339bc2e0d4d01a1d64b7c229be56357";
   };
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "Advanced console ip subnet calculator";
     homepage = http://www.routemeister.net/projects/sipcalc/;
-    license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = [ maintainers.globin ];
   };
 }
diff --git a/pkgs/tools/networking/socat/2.x.nix b/pkgs/tools/networking/socat/2.x.nix
index 11af161893f..99f0301c7c8 100644
--- a/pkgs/tools/networking/socat/2.x.nix
+++ b/pkgs/tools/networking/socat/2.x.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = licenses.gpl2;
     maintainers = [ maintainers.eelco ];
+    broken = true;  # broken with openssl 1.1
   };
 }
diff --git a/pkgs/tools/networking/swaks/default.nix b/pkgs/tools/networking/swaks/default.nix
index cfed0ca3728..9d776752c82 100644
--- a/pkgs/tools/networking/swaks/default.nix
+++ b/pkgs/tools/networking/swaks/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       A featureful, flexible, scriptable, transaction-oriented SMTP test tool
     '';
     license = licenses.gpl2;
-    maintainers = with maintainers; [ rickynils ndowens ];
+    maintainers = with maintainers; [ ndowens ];
     platforms = platforms.all;
   };
 
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index 016d8f6a6a6..a04d47b6414 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     description = "Network sniffer";
     homepage = http://www.tcpdump.org/;
     license = "BSD-style";
-    maintainers = with stdenv.lib.maintainers; [ ];
+    maintainers = with stdenv.lib.maintainers; [ globin ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/tridactyl-native/default.nix b/pkgs/tools/networking/tridactyl-native/default.nix
index 111d40478df..9667f1a74c5 100644
--- a/pkgs/tools/networking/tridactyl-native/default.nix
+++ b/pkgs/tools/networking/tridactyl-native/default.nix
@@ -7,13 +7,13 @@ stdenv.mkDerivation rec {
   pname = "tridactyl-native";
   # this is actually the version of tridactyl itself; the native messenger will
   # probably not change with every tridactyl version
-  version = "1.16.2";
+  version = "1.16.3";
 
   src = fetchFromGitHub {
     owner = "tridactyl";
     repo = "tridactyl";
     rev = version;
-    sha256 = "07pipvxxa4bw11f0fxm8vjwd5ap7i82nsq93sw1kj353jn1mpwxw";
+    sha256 = "1cp2iaa9fhlxmbml41wnq984jp2r75n6w0qxz38rd24jxsj5vz06";
   };
   sourceRoot = "source/native";
 
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index c0d358f2c9f..660ffcb823b 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     description = "Validating, recursive, and caching DNS resolver";
     license = licenses.bsd3;
     homepage = https://www.unbound.net;
-    maintainers = with maintainers; [ ehmry fpletz ];
+    maintainers = with maintainers; [ ehmry fpletz globin ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/uwimap/default.nix b/pkgs/tools/networking/uwimap/default.nix
index 7cb489a3f21..ad9eea0eced 100644
--- a/pkgs/tools/networking/uwimap/default.nix
+++ b/pkgs/tools/networking/uwimap/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pam, openssl}:
+{ stdenv, fetchurl, fetchpatch, pam, openssl }:
 
 stdenv.mkDerivation {
   name = "uw-imap-2007f";
@@ -19,7 +19,12 @@ stdenv.mkDerivation {
   buildInputs = [ openssl ]
     ++ stdenv.lib.optional (!stdenv.isDarwin) pam;
 
-  patchPhase = ''
+  patches = [ (fetchpatch {
+    url = "https://anonscm.debian.org/cgit/collab-maint/uw-imap.git/plain/debian/patches/1006_openssl1.1_autoverify.patch?id=b4df81d246a6cdbfd035c21f43e844effda3582b";
+    sha256 = "09xb58awvkhzmmjhrkqgijzgv7ia381ablf0y7i1rvhcqkb5wga7";
+  }) ];
+
+  postPatch = ''
     sed -i src/osdep/unix/Makefile -e 's,/usr/local/ssl,${openssl.dev},'
     sed -i src/osdep/unix/Makefile -e 's,^SSLCERTS=.*,SSLCERTS=/etc/ssl/certs,'
     sed -i src/osdep/unix/Makefile -e 's,^SSLLIB=.*,SSLLIB=${openssl.out}/lib,'
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index 45e1440c849..b6c03c08cff 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, perl, gettext, pkgconfig, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.5.0";
+  version = "5.5.1";
   pname = "whois";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "0h6lvsz868533irx68vd3hjhwcz93zh88axfq0qzji5ndc0ks4qb";
+    sha256 = "05dbc58dgq5ln28pahififljdb19gqicwlcmnni0vw4ny4r7r9bg";
   };
 
   nativeBuildInputs = [ perl gettext pkgconfig ];
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index f918949a027..ef6b0d5c641 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     downloadPage = "https://git.zx2c4.com/WireGuard/refs/";
     homepage = "https://www.wireguard.com/";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ elseym ericsagnes mic92 zx2c4 ];
+    maintainers = with maintainers; [ elseym ericsagnes mic92 zx2c4 globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
index 76a2dbd8850..59bab468c53 100644
--- a/pkgs/tools/networking/zerotierone/default.nix
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zerotierone";
-  version = "1.4.0";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "zerotier";
     repo = "ZeroTierOne";
     rev = version;
-    sha256 = "14iwhlxmxsnvnm9rrp6rysiz461w0v5nsmnz5p91rfi351103a63";
+    sha256 = "1b78jr33xawdkn8dcs884g6klj0zg4dazwhr1qhrj7x54bs7gizr";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/nix/nixpkgs-fmt/default.nix b/pkgs/tools/nix/nixpkgs-fmt/default.nix
new file mode 100644
index 00000000000..34715c8673a
--- /dev/null
+++ b/pkgs/tools/nix/nixpkgs-fmt/default.nix
@@ -0,0 +1,21 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+rustPlatform.buildRustPackage rec {
+  pname = "nixpkgs-fmt";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0sa0263pkpi423f1rdyg90axw9sdmgj8ma1mza0v46qzkwynwgh3";
+  };
+
+  cargoSha256 = "0p3qa1asdvw2npav4281lzndjczrzac6fr8z4y61m7rbn363s8sa";
+
+  meta = with lib; {
+    description = "Nix code formatter for nixpkgs";
+    homepage = "https://nix-community.github.io/nixpkgs-fmt";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/tools/package-management/cargo-download/Cargo.nix b/pkgs/tools/package-management/cargo-download/Cargo.nix
index 9735bde199d..21740ce2ead 100644
--- a/pkgs/tools/package-management/cargo-download/Cargo.nix
+++ b/pkgs/tools/package-management/cargo-download/Cargo.nix
@@ -1,3138 +1,675 @@
-# Generated by carnix 0.7.2: carnix nix
-{ lib, buildPlatform, buildRustCrate, fetchgit }:
-let kernel = buildPlatform.parsed.kernel.name;
-    abi = buildPlatform.parsed.abi.name;
-    include = includedFiles: src: builtins.filterSource (path: type:
-      lib.lists.any (f:
-        let p = toString (src + ("/" + f)); in
-        (path == p) || (type == "directory" && lib.strings.hasPrefix path p)
-      ) includedFiles
-    ) src;
-    updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
-    mapFeatures = features: map (fun: fun { features = features; });
-    mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if feat.${featureName} or false then
-        [ featureName ] ++ features
-      else
-        features
-    ) [] (builtins.attrNames feat);
+# Generated by carnix 0.10.0: carnix generate-nix
+{ lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }:
+with buildRustCrateHelpers;
+let inherit (lib.lists) fold;
+    inherit (lib.attrsets) recursiveUpdate;
 in
 rec {
-  cargo_download = f: cargo_download_0_1_1 { features = cargo_download_0_1_1_features { cargo_download_0_1_1 = f; }; };
+  crates = cratesIO;
+  cargo_download = crates.crates.cargo_download."0.1.2" deps;
   __all = [ (cargo_download {}) ];
-  adler32_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "adler32";
-    version = "1.0.3";
-    authors = [ "Remi Rampin <remirampin@gmail.com>" ];
-    sha256 = "1z3mvjgw02mbqk98kizzibrca01d5wfkpazsrp3vkkv3i56pn6fb";
-    inherit dependencies buildDependencies features;
-  };
-  aho_corasick_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "aho-corasick";
-    version = "0.5.3";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1igab46mvgknga3sxkqc917yfff0wsjxjzabdigmh240p5qxqlnn";
-    libName = "aho_corasick";
-    crateBin = [ {  name = "aho-corasick-dot"; } ];
-    inherit dependencies buildDependencies features;
-  };
-  ansi_term_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "ansi_term";
-    version = "0.9.0";
-    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
-    sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
-    inherit dependencies buildDependencies features;
-  };
-  ansi_term_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "ansi_term";
-    version = "0.11.0";
-    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" "Josh Triplett <josh@joshtriplett.org>" ];
-    sha256 = "08fk0p2xvkqpmz3zlrwnf6l8sj2vngw464rvzspzp31sbgxbwm4v";
-    inherit dependencies buildDependencies features;
-  };
-  arrayvec_0_4_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "arrayvec";
-    version = "0.4.7";
-    authors = [ "bluss" ];
-    sha256 = "0fzgv7z1x1qnyd7j32vdcadk4k9wfx897y06mr3bw1yi52iqf4z4";
-    inherit dependencies buildDependencies features;
-  };
-  atty_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "atty";
-    version = "0.2.11";
-    authors = [ "softprops <d.tangren@gmail.com>" ];
-    sha256 = "0by1bj2km9jxi4i4g76zzi76fc2rcm9934jpnyrqd95zw344pb20";
-    inherit dependencies buildDependencies features;
-  };
-  base64_0_9_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "base64";
-    version = "0.9.2";
-    authors = [ "Alice Maz <alice@alicemaz.com>" "Marshall Pierce <marshall@mpierce.org>" ];
-    sha256 = "0g4xxl8jhwjhvr69qlxdmbzd521xcn5j67lhkr20nh7ajvl6k0l1";
-    inherit dependencies buildDependencies features;
-  };
-  bitflags_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.9.1";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
-    inherit dependencies buildDependencies features;
-  };
-  bitflags_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bitflags";
-    version = "1.0.3";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "162p4w4h1ad76awq6b5yivmls3d50m9cl27d8g588lsps6g8s5rw";
-    inherit dependencies buildDependencies features;
-  };
-  build_const_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "build_const";
-    version = "0.2.1";
-    authors = [ "Garrett Berg <vitiral@gmail.com>" ];
-    sha256 = "15249xzi3qlm72p4glxgavwyq70fx2sp4df6ii0sdlrixrrp77pl";
-    inherit dependencies buildDependencies features;
-  };
-  byteorder_1_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "byteorder";
-    version = "1.2.3";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1xghv5f5rydzsam8lnfqhfk090i8a1knb77ikbs0ik44bvrw2ij3";
-    inherit dependencies buildDependencies features;
-  };
-  bytes_0_4_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bytes";
-    version = "0.4.9";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1jiqc94j85la9vs165vqpf6s1sah8n3ivnhsfapcjrvbhjawi6i6";
-    inherit dependencies buildDependencies features;
-  };
-  cargo_download_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "cargo-download";
-    version = "0.1.1";
-    authors = [ "Karol Kuczmarski <karol.kuczmarski@gmail.com>" ];
-    sha256 = "1xiffk4df6i9cvwimzwyf1finv6w8f8gr0zjp21fzbiz5c0ksx65";
-    crateBin = [ {  name = "cargo-download"; } ];
-    inherit dependencies buildDependencies features;
-  };
-  case_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "case";
-    version = "0.1.0";
-    authors = [ "Skyler Lipthay <skyler.lipthay@gmail.com>" ];
-    sha256 = "06i1x3wqv30rkvlgj134qf9vzxhzz28bz41mm0rgki0i0f7gf96n";
-    inherit dependencies buildDependencies features;
-  };
-  cc_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "cc";
-    version = "1.0.18";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0wcnpa54qvm5921wwrrkn8cwxd5y0p5f4gb1qgyh5imii7rdhpjx";
-    inherit dependencies buildDependencies features;
-  };
-  cfg_if_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "cfg-if";
-    version = "0.1.4";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0n5baxk53dvqjymzwynq55wb805b24390qx1n16zi8fjzq90j7k4";
-    inherit dependencies buildDependencies features;
-  };
-  chrono_0_2_25_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "chrono";
-    version = "0.2.25";
-    authors = [ "Kang Seonghoon <public+rust@mearie.org>" ];
-    sha256 = "0gsvqk8cnmm43qj3xyngqvfqh50cbdbqas7ik0wjgnvknirmmca7";
-    inherit dependencies buildDependencies features;
-  };
-  clap_2_32_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "clap";
-    version = "2.32.0";
-    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-    sha256 = "1hdjf0janvpjkwrjdjx1mm2aayzr54k72w6mriyr0n5anjkcj1lx";
-    inherit dependencies buildDependencies features;
-  };
-  conv_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "conv";
-    version = "0.3.3";
-    authors = [ "Daniel Keep <daniel.keep@gmail.com>" ];
-    sha256 = "08rl72k1a48xah0ar5l9v1bw19pp8jdw2pdkd3vvj9ijsyyg9yik";
-    inherit dependencies buildDependencies features;
-  };
-  core_foundation_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "core-foundation";
-    version = "0.2.3";
-    authors = [ "The Servo Project Developers" ];
-    sha256 = "1g0vpya5h2wa0nlz4a74jar6y8z09f0p76zbzfqrm3dbfsrld1pm";
-    inherit dependencies buildDependencies features;
-  };
-  core_foundation_sys_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "core-foundation-sys";
-    version = "0.2.3";
-    authors = [ "The Servo Project Developers" ];
-    sha256 = "19s0d03294m9s5j8cvy345db3gkhs2y02j5268ap0c6ky5apl53s";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  crc_1_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "crc";
-    version = "1.8.1";
-    authors = [ "Rui Hu <code@mrhooray.com>" ];
-    sha256 = "00m9jjqrddp3bqyanvyxv0hf6s56bx1wy51vcdcxg4n2jdhg109s";
-    inherit dependencies buildDependencies features;
-  };
-  crossbeam_0_2_12_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "crossbeam";
-    version = "0.2.12";
-    authors = [ "Aaron Turon <aturon@mozilla.com>" ];
-    sha256 = "0jkm95is7bwv4parwfq4aim6cigiwd4w9hz09cpild4hp5ry625i";
-    inherit dependencies buildDependencies features;
-  };
-  crossbeam_deque_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "crossbeam-deque";
-    version = "0.3.1";
-    authors = [ "The Crossbeam Project Developers" ];
-    sha256 = "1km0mavyp9ddwb7k7kcdmyryi3bwxf0nmr6jqcpyjzvzmxjlkqap";
-    inherit dependencies buildDependencies features;
-  };
-  crossbeam_epoch_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "crossbeam-epoch";
-    version = "0.4.3";
-    authors = [ "The Crossbeam Project Developers" ];
-    sha256 = "18xfgi7h9aq4lqqrqzy366xg885z1hlkbhvycl2i3zhkhkvadhv3";
-    inherit dependencies buildDependencies features;
-  };
-  crossbeam_utils_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "crossbeam-utils";
-    version = "0.3.2";
-    authors = [ "The Crossbeam Project Developers" ];
-    sha256 = "1byx31nkxl48la58571h40ssk94faky26jwz15w40v2gba3v4fql";
-    inherit dependencies buildDependencies features;
-  };
-  custom_derive_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "custom_derive";
-    version = "0.1.7";
-    authors = [ "Daniel Keep <daniel.keep@gmail.com>" ];
-    sha256 = "160q3pzri2fgrr6czfdkwy1sbddki2za96r7ivvyii52qp1523zs";
-    inherit dependencies buildDependencies features;
-  };
-  derive_error_0_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "derive-error";
-    version = "0.0.3";
-    authors = [ "rushmorem <rushmore@webenchanter.com>" ];
-    sha256 = "0239vzxn5xr9nm3i4d6hmqy7dv8llcjblgh1xixfk5dcgcqan77y";
-    procMacro = true;
-    inherit dependencies buildDependencies features;
-  };
-  dtoa_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "dtoa";
-    version = "0.4.3";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1xysdxdm24sk5ysim7lps4r2qaxfnj0sbakhmps4d42yssx30cw8";
-    inherit dependencies buildDependencies features;
-  };
-  either_1_5_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "either";
-    version = "1.5.0";
-    authors = [ "bluss" ];
-    sha256 = "1f7kl2ln01y02m8fpd2zrdjiwqmgfvl9nxxrfry3k19d1gd2bsvz";
-    inherit dependencies buildDependencies features;
-  };
-  encoding_rs_0_7_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "encoding_rs";
-    version = "0.7.2";
-    authors = [ "Henri Sivonen <hsivonen@hsivonen.fi>" ];
-    sha256 = "1c23bi3q4qmi2ci8g7p5j4b4i5abyggvyg6hkl7w4p4r527c9g3q";
-    inherit dependencies buildDependencies features;
-  };
-  exitcode_1_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "exitcode";
-    version = "1.1.2";
-    authors = [ "Ben Wilber <benwilber@gmail.com>" ];
-    sha256 = "1cw9p4vzbscvyrbzv7z68gv2cairrns2d4wcb4nkahkcjk25phip";
-    inherit dependencies buildDependencies features;
-  };
-  filetime_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "filetime";
-    version = "0.2.1";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1wmbj3jnpl39851lymw64j9ac1nmy1z96h1wymvlvypspl68w5y0";
-    inherit dependencies buildDependencies features;
-  };
-  flate2_0_2_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "flate2";
-    version = "0.2.20";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
-    inherit dependencies buildDependencies features;
-  };
-  foreign_types_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "foreign-types";
-    version = "0.3.2";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "105n8sp2djb1s5lzrw04p7ss3dchr5qa3canmynx396nh3vwm2p8";
-    inherit dependencies buildDependencies features;
-  };
-  foreign_types_shared_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "foreign-types-shared";
-    version = "0.1.1";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0b6cnvqbflws8dxywk4589vgbz80049lz4x1g9dfy4s1ppd3g4z5";
-    inherit dependencies buildDependencies features;
-  };
-  fuchsia_zircon_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "fuchsia-zircon";
-    version = "0.3.3";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "0jrf4shb1699r4la8z358vri8318w4mdi6qzfqy30p2ymjlca4gk";
-    inherit dependencies buildDependencies features;
-  };
-  fuchsia_zircon_sys_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "fuchsia-zircon-sys";
-    version = "0.3.3";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "08jp1zxrm9jbrr6l26bjal4dbm8bxfy57ickdgibsqxr1n9j3hf5";
-    inherit dependencies buildDependencies features;
-  };
-  futures_0_1_23_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "futures";
-    version = "0.1.23";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "075s7sv1iqzf2r3lvb4hk81k5c9xzfcyb8q92h2s35fnypxyqd21";
-    inherit dependencies buildDependencies features;
-  };
-  futures_cpupool_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "futures-cpupool";
-    version = "0.1.8";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0ficd31n5ljiixy6x0vjglhq4fp0v1p4qzxm3v6ymsrb3z080l5c";
-    inherit dependencies buildDependencies features;
-  };
-  httparse_1_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "httparse";
-    version = "1.3.2";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "1mm10m2hv1inxzzvm85s6fdmwl9a3q9vik0nzh5qrx2hx5x8fcwl";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  hyper_0_11_27_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "hyper";
-    version = "0.11.27";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "0q5as4lhvh31bzk4qm7j84snrmxyxyaqk040rfk72b42dn98mryi";
-    inherit dependencies buildDependencies features;
-  };
-  hyper_tls_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "hyper-tls";
-    version = "0.1.3";
-    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
-    sha256 = "1dr5arj79pdyz9f2jggqmna1qpc578f9pdgsf2ana5amjpsp0j89";
-    inherit dependencies buildDependencies features;
-  };
-  idna_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "idna";
-    version = "0.1.5";
-    authors = [ "The rust-url developers" ];
-    sha256 = "1gwgl19rz5vzi67rrhamczhxy050f5ynx4ybabfapyalv7z1qmjy";
-    inherit dependencies buildDependencies features;
-  };
-  iovec_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "iovec";
-    version = "0.1.2";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0vjymmb7wj4v4kza5jjn48fcdb85j3k37y7msjl3ifz0p9yiyp2r";
-    inherit dependencies buildDependencies features;
-  };
-  isatty_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "isatty";
-    version = "0.1.8";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1n5wzzkb1kxkfbcyv5vfrsybika0a1k01sp06ngad73ljx4kwj5h";
-    inherit dependencies buildDependencies features;
-  };
-  itertools_0_6_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "itertools";
-    version = "0.6.5";
-    authors = [ "bluss" ];
-    sha256 = "0gbhgn7s8qkxxw10i514fzpqnc3aissn4kcgylm2cvnv9zmg8mw1";
-    inherit dependencies buildDependencies features;
-  };
-  itoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "itoa";
-    version = "0.4.2";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "193a744yd74rmk13hl8xvd9p2hqhdkyf8xkvi1mxm5s10bby0h8v";
-    inherit dependencies buildDependencies features;
-  };
-  kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "kernel32-sys";
-    version = "0.2.2";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-    libName = "kernel32";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  language_tags_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "language-tags";
-    version = "0.2.2";
-    authors = [ "Pyfisch <pyfisch@gmail.com>" ];
-    sha256 = "1zkrdzsqzzc7509kd7nngdwrp461glm2g09kqpzaqksp82frjdvy";
-    inherit dependencies buildDependencies features;
-  };
-  lazy_static_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "0.2.11";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "1x6871cvpy5b96yv4c7jvpq316fp5d4609s9py7qk6cd6x9k34vm";
-    inherit dependencies buildDependencies features;
-  };
-  lazy_static_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "1.0.2";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "0ix4dmy6zb4v3m75l4alg84fk06y145z52z9pyysc9labw2x5r3r";
-    inherit dependencies buildDependencies features;
-  };
-  lazycell_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "lazycell";
-    version = "0.6.0";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Nikita Pekin <contact@nikitapek.in>" ];
-    sha256 = "1ax148clinbvp6alxcih8s5i2bg3mc5mi69n3hvzvzbwlm6k532r";
-    inherit dependencies buildDependencies features;
-  };
-  libc_0_2_42_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "libc";
-    version = "0.2.42";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "064v49hz1zpl081w8c4vwikrkhaxp06y4i9l7x7wx6bjpwp19pjx";
-    inherit dependencies buildDependencies features;
-  };
-  libflate_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "libflate";
-    version = "0.1.16";
-    authors = [ "Takeru Ohta <phjgt308@gmail.com>" ];
-    sha256 = "0l15g61h10bznxsjirwq9c43w17mjpqx6wz0357agskardkdh14n";
-    inherit dependencies buildDependencies features;
-  };
-  log_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "log";
-    version = "0.3.9";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "19i9pwp7lhaqgzangcpw00kc3zsgcqcx84crv07xgz3v7d3kvfa2";
-    inherit dependencies buildDependencies features;
-  };
-  log_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "log";
-    version = "0.4.3";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1gdmwrbm7s18zcdz4lcdhz975m4gwhi854c7j1rvj1gsr8aca250";
-    inherit dependencies buildDependencies features;
-  };
-  maplit_0_1_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "maplit";
-    version = "0.1.6";
-    authors = [ "bluss" ];
-    sha256 = "1f8kf5v7xra8ssvh5c10qlacbk4l0z2817pkscflx5s5q6y7925h";
-    inherit dependencies buildDependencies features;
-  };
-  matches_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "matches";
-    version = "0.1.7";
-    authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
-    sha256 = "0zx9gi5flyzkh9nx52fyc3k2zz08b9ww1c4yndlfrw72kr8m7yfy";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  memchr_0_1_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "memchr";
-    version = "0.1.11";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-    sha256 = "0x73jghamvxxq5fsw9wb0shk5m6qp3q6fsf0nibn0i6bbqkw91s8";
-    inherit dependencies buildDependencies features;
-  };
-  memoffset_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "memoffset";
-    version = "0.2.1";
-    authors = [ "Gilad Naaman <gilad.naaman@gmail.com>" ];
-    sha256 = "00vym01jk9slibq2nsiilgffp7n6k52a4q3n4dqp0xf5kzxvffcf";
-    inherit dependencies buildDependencies features;
-  };
-  mime_0_3_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "mime";
-    version = "0.3.8";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "1577adg9zvkd1qdb2nqqg1ryap33p5r4qsw01n9pw162xpisqjm3";
-    inherit dependencies buildDependencies features;
-  };
-  mime_guess_2_0_0_alpha_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "mime_guess";
-    version = "2.0.0-alpha.6";
-    authors = [ "Austin Bonander <austin.bonander@gmail.com>" ];
-    sha256 = "1k2mdq43gi2qr63b7m5zs624rfi40ysk33cay49jlhq97jwnk9db";
-    inherit dependencies buildDependencies features;
-  };
-  miniz_sys_0_1_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "miniz-sys";
-    version = "0.1.10";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
-    libPath = "lib.rs";
-    libName = "miniz_sys";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  mio_0_6_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "mio";
-    version = "0.6.15";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0a93wxsmkh8x38wxivhn6qdj08pj9f0j3y46p4wv3xclbq8i4aaa";
-    inherit dependencies buildDependencies features;
-  };
-  miow_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "miow";
-    version = "0.2.1";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "14f8zkc6ix7mkyis1vsqnim8m29b6l55abkba3p2yz7j1ibcvrl0";
-    inherit dependencies buildDependencies features;
-  };
-  native_tls_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "native-tls";
-    version = "0.1.5";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "11f75qmbny5pnn6zp0vlvadrvc9ph9qsxiyn4n6q02xyd93pxxlf";
-    inherit dependencies buildDependencies features;
-  };
-  net2_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "net2";
-    version = "0.2.33";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1qnmajafgybj5wyxz9iffa8x5wgbwd2znfklmhqj7vl6lw1m65mq";
-    inherit dependencies buildDependencies features;
-  };
-  nodrop_0_1_12_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "nodrop";
-    version = "0.1.12";
-    authors = [ "bluss" ];
-    sha256 = "1b9rxvdg8061gxjc239l9slndf0ds3m6fy2sf3gs8f9kknqgl49d";
-    inherit dependencies buildDependencies features;
-  };
-  num_0_1_42_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num";
-    version = "0.1.42";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1632gczzrmmxdsj3jignwcr793jq8vxw3qkdzpdvbip3vaf1ljgq";
-    inherit dependencies buildDependencies features;
-  };
-  num_integer_0_1_39_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-integer";
-    version = "0.1.39";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1f42ls46cghs13qfzgbd7syib2zc6m7hlmv1qlar6c9mdxapvvbg";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  num_iter_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-iter";
-    version = "0.1.37";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1rglyvi4yjfxfvfm2s7i60g1dkl5xmsyi77g6vy53jb11r6wl8ly";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  num_traits_0_2_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-traits";
-    version = "0.2.5";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0ql203ca6lzppksy4fsfnpz3kq96vwlwvyn3ahvnd9g6k9f5ncj0";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  num_cpus_1_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num_cpus";
-    version = "1.8.0";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "1y6qnd9r8ga6y8mvlabdrr73nc8cshjjlzbvnanzyj9b8zzkfwk2";
-    inherit dependencies buildDependencies features;
-  };
-  openssl_0_9_24_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "openssl";
-    version = "0.9.24";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0wzm3c11g3ndaqyzq36mcdcm1q4a8pmsyi33ibybhjz28g2z0f79";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  openssl_sys_0_9_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "openssl-sys";
-    version = "0.9.33";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "1q5f7ykkxgniwjrqifx1ssrqjzcf8fi4fzh770xrbyp8n6v14qr6";
-    build = "build/main.rs";
-    inherit dependencies buildDependencies features;
-  };
-  percent_encoding_1_0_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "percent-encoding";
-    version = "1.0.1";
-    authors = [ "The rust-url developers" ];
-    sha256 = "04ahrp7aw4ip7fmadb0bknybmkfav0kk0gw4ps3ydq5w6hr0ib5i";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  phf_0_7_22_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf";
-    version = "0.7.22";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0b58l863rhmqyqsfj2d89nmdzc21g9yvvvq1m4c3a615zpcykb3i";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  phf_codegen_0_7_22_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_codegen";
-    version = "0.7.22";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0k8yx4gr9m6cfrvh21s6bhnh1azz13j4xih88bvm06r6blfl89fs";
-    inherit dependencies buildDependencies features;
-  };
-  phf_generator_0_7_22_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_generator";
-    version = "0.7.22";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "093gla320qb6rbk8z7wqqxl79zrh874sa7sxir31q2p7mrw4b70k";
-    inherit dependencies buildDependencies features;
-  };
-  phf_shared_0_7_22_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_shared";
-    version = "0.7.22";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0ij9flicfi0ab5vpzdwbizpdyxhk891qxa8nxsqlv4sg4abqang6";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  pkg_config_0_3_12_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "pkg-config";
-    version = "0.3.12";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0k343rlyv9qmplxwxn8clzkyx1zbplhnvm0psjl6s111fjqmgsgh";
-    inherit dependencies buildDependencies features;
-  };
-  quote_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "quote";
-    version = "0.3.15";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
-    inherit dependencies buildDependencies features;
-  };
-  rand_0_3_22_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rand";
-    version = "0.3.22";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0wrj12acx7l4hr7ag3nz8b50yhp8ancyq988bzmnnsxln67rsys0";
-    inherit dependencies buildDependencies features;
-  };
-  rand_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rand";
-    version = "0.4.2";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0h8pkg23wb67i8904sm76iyr1jlmhklb85vbpz9c9191a24xzkfm";
-    inherit dependencies buildDependencies features;
-  };
-  redox_syscall_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "redox_syscall";
-    version = "0.1.40";
-    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-    sha256 = "132rnhrq49l3z7gjrwj2zfadgw6q0355s6a7id7x7c0d7sk72611";
-    libName = "syscall";
-    inherit dependencies buildDependencies features;
-  };
-  redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "redox_termios";
-    version = "0.1.1";
-    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-    sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  regex_0_1_80_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "regex";
-    version = "0.1.80";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0y4s8ghhx6sgzb35irwivm3w0l2hhqhmdcd2px9hirqnkagal9l6";
-    inherit dependencies buildDependencies features;
-  };
-  regex_syntax_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "regex-syntax";
-    version = "0.3.9";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m";
-    inherit dependencies buildDependencies features;
-  };
-  relay_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "relay";
-    version = "0.1.1";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "16csfaslbmj25iaxs88p8wcfh2zfpkh9isg9adid0nxjxvknh07r";
-    inherit dependencies buildDependencies features;
-  };
-  remove_dir_all_0_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "remove_dir_all";
-    version = "0.5.1";
-    authors = [ "Aaronepower <theaaronepower@gmail.com>" ];
-    sha256 = "1chx3yvfbj46xjz4bzsvps208l46hfbcy0sm98gpiya454n4rrl7";
-    inherit dependencies buildDependencies features;
-  };
-  reqwest_0_8_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "reqwest";
-    version = "0.8.6";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "0ka9ndgybhf65fn44badnjbasn1fi0mvjfa3sfiw485mgg21n3a0";
-    inherit dependencies buildDependencies features;
-  };
-  safemem_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "safemem";
-    version = "0.2.0";
-    authors = [ "Austin Bonander <austin.bonander@gmail.com>" ];
-    sha256 = "058m251q202n479ip1h6s91yw3plg66vsk5mpaflssn6rs5hijdm";
-    inherit dependencies buildDependencies features;
-  };
-  schannel_0_1_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "schannel";
-    version = "0.1.13";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" "Steffen Butzer <steffen.butzer@outlook.com>" ];
-    sha256 = "033zavvq2k6z5akk38vzaglzbxzljaixgmhj9am27nr21dgaj6b3";
-    inherit dependencies buildDependencies features;
-  };
-  scoped_tls_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "scoped-tls";
-    version = "0.1.2";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0nblksgki698cqsclsnd6f1pq4yy34350dn2slaah9dlmx9z5xla";
-    inherit dependencies buildDependencies features;
-  };
-  scopeguard_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "scopeguard";
-    version = "0.3.3";
-    authors = [ "bluss" ];
-    sha256 = "0i1l013csrqzfz6c68pr5pi01hg5v5yahq8fsdmaxy6p8ygsjf3r";
-    inherit dependencies buildDependencies features;
-  };
-  security_framework_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "security-framework";
-    version = "0.1.16";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "1kxczsaj8gz4922jl5af2gkxh71rasb6khaf3dp7ldlnw9qf2sbm";
-    inherit dependencies buildDependencies features;
-  };
-  security_framework_sys_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "security-framework-sys";
-    version = "0.1.16";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0ai2pivdr5fyc7czbkpcrwap0imyy0r8ndarrl3n5kiv0jha1js3";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  semver_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "semver";
-    version = "0.9.0";
-    authors = [ "Steve Klabnik <steve@steveklabnik.com>" "The Rust Project Developers" ];
-    sha256 = "0azak2lb2wc36s3x15az886kck7rpnksrw14lalm157rg9sc9z63";
-    inherit dependencies buildDependencies features;
-  };
-  semver_parser_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "semver-parser";
-    version = "0.7.0";
-    authors = [ "Steve Klabnik <steve@steveklabnik.com>" ];
-    sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h";
-    inherit dependencies buildDependencies features;
-  };
-  serde_1_0_70_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "serde";
-    version = "1.0.70";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1z1gyjf5rrs1k3j1civfzqjqs790651bwf8m31bw2pagclhnazs4";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  serde_json_1_0_24_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "serde_json";
-    version = "1.0.24";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1wvvc3y0202my2p00ah8ygl1794nspar9pf39fz1525jd6m6k8a1";
-    inherit dependencies buildDependencies features;
-  };
-  serde_urlencoded_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "serde_urlencoded";
-    version = "0.5.2";
-    authors = [ "Anthony Ramine <n.oxyde@gmail.com>" ];
-    sha256 = "0m5pigng0665qrk4ii1z84pb4lchbsswhgb863yglljskmm056m0";
-    inherit dependencies buildDependencies features;
-  };
-  siphasher_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "siphasher";
-    version = "0.2.2";
-    authors = [ "Frank Denis <github@pureftpd.org>" ];
-    sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
-    inherit dependencies buildDependencies features;
-  };
-  slab_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slab";
-    version = "0.3.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0y6lhjggksh57hyfd3l6p9wgv5nhvw9c6djrysq7jnalz8fih21k";
-    inherit dependencies buildDependencies features;
-  };
-  slab_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slab";
-    version = "0.4.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1qy2vkgwqgj5z4ygdkh040n9yh1vz80v5flxb1xrvw3i4wxs7yx0";
-    inherit dependencies buildDependencies features;
-  };
-  slog_1_7_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog";
-    version = "1.7.1";
-    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "1qhnwv2gbxmnwasaa0vlhddq6cdhq6n3l8d6h3ql73367h7aav65";
-    inherit dependencies buildDependencies features;
-  };
-  slog_envlogger_0_5_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog-envlogger";
-    version = "0.5.0";
-    authors = [ "The Rust Project Developers" "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "0ry9k2ppj7z6prdz2kf924w7l9y2kbysrigca6shni1kz2j163qb";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  slog_extra_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog-extra";
-    version = "0.1.2";
-    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "0jrw0xcc81wwcl59xx9qglfcv5l3ad5kbpcyp6ygk94p9kxfrhyj";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  slog_stdlog_1_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog-stdlog";
-    version = "1.1.0";
-    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "0ig4mjixr4y3dn3s53rlnrpplwkqb8b0z2zkaiiiwyv7nhjxdg46";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  slog_stream_1_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog-stream";
-    version = "1.2.1";
-    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "03dwzbydaamfzjpr16gm065i696lk86gqcpspv5qaqyv938fm2yj";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  slog_term_1_5_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog-term";
-    version = "1.5.0";
-    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "0zq2kyvm7jhqj6sc09w540wqfrrpa46yxf9sgzq7jqpkr66wsiar";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  smallvec_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "smallvec";
-    version = "0.2.1";
-    authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
-    sha256 = "0rnsll9af52bpjngz0067dpm1ndqmh76i64a58fc118l4lvnjxw2";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  strsim_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "strsim";
-    version = "0.7.0";
-    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-    sha256 = "0fy0k5f2705z73mb3x9459bpcvrx4ky8jpr4zikcbiwan4bnm0iv";
-    inherit dependencies buildDependencies features;
-  };
-  syn_0_11_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "syn";
-    version = "0.11.11";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
-    inherit dependencies buildDependencies features;
-  };
-  synom_0_11_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "synom";
-    version = "0.11.3";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
-    inherit dependencies buildDependencies features;
-  };
-  take_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "take";
-    version = "0.1.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "17rfh39di5n8w9aghpic2r94cndi3dr04l60nkjylmxfxr3iwlhd";
-    inherit dependencies buildDependencies features;
-  };
-  tar_0_4_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tar";
-    version = "0.4.16";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0s36d0nzn2hs20y805wpmpc4asd1jhrpabqwcpqf5ha442fa7f3b";
-    inherit dependencies buildDependencies features;
-  };
-  tempdir_0_3_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tempdir";
-    version = "0.3.7";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0y53sxybyljrr7lh0x0ysrsa7p7cljmwv9v80acy3rc6n97g67vy";
-    inherit dependencies buildDependencies features;
-  };
-  termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "termion";
-    version = "1.5.1";
-    authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
-    sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
-    inherit dependencies buildDependencies features;
-  };
-  textwrap_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "textwrap";
-    version = "0.10.0";
-    authors = [ "Martin Geisler <martin@geisler.net>" ];
-    sha256 = "1s8d5cna12smhgj0x2y1xphklyk2an1yzbadnj89p1vy5vnjpsas";
-    inherit dependencies buildDependencies features;
-  };
-  thread_id_2_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "thread-id";
-    version = "2.0.0";
-    authors = [ "Ruud van Asseldonk <dev@veniogames.com>" ];
-    sha256 = "06i3c8ckn97i5rp16civ2vpqbknlkx66dkrl070iw60nawi0kjc3";
-    inherit dependencies buildDependencies features;
-  };
-  thread_local_0_2_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "thread_local";
-    version = "0.2.7";
-    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-    sha256 = "19p0zrs24rdwjvpi10jig5ms3sxj00pv8shkr9cpddri8cdghqp7";
-    inherit dependencies buildDependencies features;
-  };
-  thread_local_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "thread_local";
-    version = "0.3.5";
-    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-    sha256 = "0mkp0sp91aqsk7brgygai4igv751r1754rsxn37mig3ag5rx8np6";
-    inherit dependencies buildDependencies features;
-  };
-  time_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "time";
-    version = "0.1.40";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0wgnbjamljz6bqxsd5axc4p2mmhkqfrryj4gf2yswjaxiw5dd01m";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio";
-    version = "0.1.7";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0d5fj90wk05m5vbd924irg1pl1d4fn86jjw5napzanh6vbwsnr66";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_codec_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-codec";
-    version = "0.1.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" "Bryan Burgers <bryan@burgers.io>" ];
-    sha256 = "0347ygccbj05yn9krjk4ifcy5xbv41xk7yyi9cl2cnxrc285xnm7";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_core_0_1_17_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-core";
-    version = "0.1.17";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1j6c5q3aakvb1hjx4r95xwl5ms8rp19k4qsr6v6ngwbvr6f9z6rs";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_executor_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-executor";
-    version = "0.1.2";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1y4mwqjw438x6jskigz1knvfbpbinxfv6h43s60w6wdb80xmyg48";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_fs_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-fs";
-    version = "0.1.2";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "18rxwslv2hdmij6alpqfcm8aywcd28vw12s826ajgvkskh8jsdh2";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_io_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-io";
-    version = "0.1.7";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "08r46b5lp7929agwal1iaabdhfv309wyvd6cld1g39x5ml8x7hp2";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_proto_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-proto";
-    version = "0.1.1";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "030q9h8pn1ngm80klff5irglxxki60hf5maw0mppmmr46k773z66";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_reactor_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-reactor";
-    version = "0.1.2";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "11yx7fvyv1c5h097lspfrim1r67axl8y8m22y5mgny8nhly56s4m";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_service_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-service";
-    version = "0.1.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0c85wm5qz9fabg0k6k763j89m43n6max72d3a8sxcs940id6qmih";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_tcp_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-tcp";
-    version = "0.1.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "19cyajkqvvbn3qqnak0qzivdq6amfjymbc30k7bbqhx4y1pcgqvh";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_threadpool_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-threadpool";
-    version = "0.1.5";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "04nzjdjlir33s0z5nh3vh2h4v3vb1rwzv45jdjridrk92rqpb2vc";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_timer_0_2_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-timer";
-    version = "0.2.4";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0imv1k4g583hh61qkh6mpx06ik9accyl4582vq0z61rr484050gi";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_tls_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-tls";
-    version = "0.1.4";
-    authors = [ "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "07rwv3q6jbg65ln1ahzb4g648l8lcn4hvc0ax3r12bnsi1py7agp";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_udp_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-udp";
-    version = "0.1.1";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1zsq3bny959dq7cnhdjrlaglrdcm63zn82jpkjs6nrrcfhb9l6z9";
-    inherit dependencies buildDependencies features;
-  };
-  try_lock_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "try-lock";
-    version = "0.1.0";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "0kfrqrb2xkjig54s3qfy80dpldknr19p3rmp0n82yk5929j879k3";
-    inherit dependencies buildDependencies features;
-  };
-  unicase_1_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicase";
-    version = "1.4.2";
-    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
-    sha256 = "0rbnhw2mnhcwrij3vczp0sl8zdfmvf2dlh8hly81kj7132kfj0mf";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  unicase_2_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicase";
-    version = "2.1.0";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "1zzn16hh8fdx5pnbbnl32q8m2mh4vpd1jm9pdcv969ik83dw4byp";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_bidi_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-bidi";
-    version = "0.3.4";
-    authors = [ "The Servo Project Developers" ];
-    sha256 = "0lcd6jasrf8p9p0q20qyf10c6xhvw40m2c4rr105hbk6zy26nj1q";
-    libName = "unicode_bidi";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_normalization_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-normalization";
-    version = "0.1.7";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "1da2hv800pd0wilmn4idwpgv5p510hjxizjcfv6xzb40xcsjd8gs";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_width_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-width";
-    version = "0.1.5";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "0886lc2aymwgy0lhavwn6s48ik3c61ykzzd3za6prgnw51j7bi4w";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_xid_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-xid";
-    version = "0.0.4";
-    authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
-    sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
-    inherit dependencies buildDependencies features;
-  };
-  unreachable_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unreachable";
-    version = "1.0.0";
-    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-    sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
-    inherit dependencies buildDependencies features;
-  };
-  url_1_7_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "url";
-    version = "1.7.1";
-    authors = [ "The rust-url developers" ];
-    sha256 = "1l36pbvlwdnh3zqz4wp5n6jg332wkis9pi2g3vy12xr8k4nfyk8i";
-    inherit dependencies buildDependencies features;
-  };
-  utf8_ranges_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "utf8-ranges";
-    version = "0.1.3";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp";
-    inherit dependencies buildDependencies features;
-  };
-  uuid_0_6_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "uuid";
-    version = "0.6.5";
-    authors = [ "Ashley Mannix<ashleymannix@live.com.au>" "Christopher Armstrong" "Dylan DPC<dylan.dpc@gmail.com>" "Hunar Roop Kahlon<hunar.roop@gmail.com>" ];
-    sha256 = "1jy15m4yxxwma0jsy070garhbgfprky23i77rawjkk75vqhnnhlf";
-    inherit dependencies buildDependencies features;
-  };
-  vcpkg_0_2_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "vcpkg";
-    version = "0.2.4";
-    authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
-    sha256 = "0xgk5axv1qhj4rfn2rca7768wnvzihccnajkgc6im8ndsx371nml";
-    inherit dependencies buildDependencies features;
-  };
-  vec_map_0_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "vec_map";
-    version = "0.8.1";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
-    sha256 = "1jj2nrg8h3l53d43rwkpkikq5a5x15ms4rf1rw92hp5lrqhi8mpi";
-    inherit dependencies buildDependencies features;
-  };
-  version_check_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "version_check";
-    version = "0.1.4";
-    authors = [ "Sergio Benitez <sb@sergio.bz>" ];
-    sha256 = "1ghi6bw2qsj53x2vyprs883dbrq8cjzmshlamjsxvmwd2zp13bck";
-    inherit dependencies buildDependencies features;
-  };
-  void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "void";
-    version = "1.0.2";
-    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-    sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
-    inherit dependencies buildDependencies features;
-  };
-  want_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "want";
-    version = "0.0.4";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "1l1qy4pvg5q71nrzfjldw9xzqhhgicj4slly1bal89hr2aaibpy0";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.2.8";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.3.5";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0cfdsxa5yf832r5i2z7dhdvnryyvhfp3nb32gpcaq502zgjdm3w6";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi-build";
-    version = "0.1.1";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-    libName = "build";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_i686_pc_windows_gnu_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi-i686-pc-windows-gnu";
-    version = "0.4.0";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "05ihkij18r4gamjpxj4gra24514can762imjzlmak5wlzidplzrp";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_x86_64_pc_windows_gnu_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi-x86_64-pc-windows-gnu";
-    version = "0.4.0";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0n1ylmlsb8yg1v583i4xy0qmqg42275flvbc51hdqjjfjcl9vlbj";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  ws2_32_sys_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "ws2_32-sys";
-    version = "0.2.1";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1zpy9d9wk11sj17fczfngcj28w4xxjs3b4n036yzpy38dxp4f7kc";
-    libName = "ws2_32";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  xattr_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "xattr";
-    version = "0.2.2";
-    authors = [ "Steven Allen <steven@stebalien.com>" ];
-    sha256 = "01zqnn6bhrd58hvpj3y1nqnbmlswrvsdapn2zbi7h1bh5lspiyk5";
-    inherit dependencies buildDependencies features;
-  };
-  adler32_1_0_3 = { features?(adler32_1_0_3_features {}) }: adler32_1_0_3_ {};
-  adler32_1_0_3_features = f: updateFeatures f (rec {
-    adler32_1_0_3.default = (f.adler32_1_0_3.default or true);
-  }) [];
-  aho_corasick_0_5_3 = { features?(aho_corasick_0_5_3_features {}) }: aho_corasick_0_5_3_ {
-    dependencies = mapFeatures features ([ memchr_0_1_11 ]);
-  };
-  aho_corasick_0_5_3_features = f: updateFeatures f (rec {
-    aho_corasick_0_5_3.default = (f.aho_corasick_0_5_3.default or true);
-    memchr_0_1_11.default = true;
-  }) [ memchr_0_1_11_features ];
-  ansi_term_0_9_0 = { features?(ansi_term_0_9_0_features {}) }: ansi_term_0_9_0_ {};
-  ansi_term_0_9_0_features = f: updateFeatures f (rec {
-    ansi_term_0_9_0.default = (f.ansi_term_0_9_0.default or true);
-  }) [];
-  ansi_term_0_11_0 = { features?(ansi_term_0_11_0_features {}) }: ansi_term_0_11_0_ {
-    dependencies = (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-  };
-  ansi_term_0_11_0_features = f: updateFeatures f (rec {
-    ansi_term_0_11_0.default = (f.ansi_term_0_11_0.default or true);
-    winapi_0_3_5.consoleapi = true;
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.errhandlingapi = true;
-    winapi_0_3_5.processenv = true;
-  }) [ winapi_0_3_5_features ];
-  arrayvec_0_4_7 = { features?(arrayvec_0_4_7_features {}) }: arrayvec_0_4_7_ {
-    dependencies = mapFeatures features ([ nodrop_0_1_12 ]);
-    features = mkFeatures (features.arrayvec_0_4_7 or {});
-  };
-  arrayvec_0_4_7_features = f: updateFeatures f (rec {
-    arrayvec_0_4_7.default = (f.arrayvec_0_4_7.default or true);
-    arrayvec_0_4_7.serde =
-      (f.arrayvec_0_4_7.serde or false) ||
-      (f.arrayvec_0_4_7.serde-1 or false) ||
-      (arrayvec_0_4_7.serde-1 or false);
-    arrayvec_0_4_7.std =
-      (f.arrayvec_0_4_7.std or false) ||
-      (f.arrayvec_0_4_7.default or false) ||
-      (arrayvec_0_4_7.default or false);
-    nodrop_0_1_12.default = (f.nodrop_0_1_12.default or false);
-  }) [ nodrop_0_1_12_features ];
-  atty_0_2_11 = { features?(atty_0_2_11_features {}) }: atty_0_2_11_ {
-    dependencies = (if kernel == "redox" then mapFeatures features ([ termion_1_5_1 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-  };
-  atty_0_2_11_features = f: updateFeatures f (rec {
-    atty_0_2_11.default = (f.atty_0_2_11.default or true);
-    libc_0_2_42.default = (f.libc_0_2_42.default or false);
-    termion_1_5_1.default = true;
-    winapi_0_3_5.consoleapi = true;
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.minwinbase = true;
-    winapi_0_3_5.minwindef = true;
-    winapi_0_3_5.processenv = true;
-    winapi_0_3_5.winbase = true;
-  }) [ termion_1_5_1_features libc_0_2_42_features winapi_0_3_5_features ];
-  base64_0_9_2 = { features?(base64_0_9_2_features {}) }: base64_0_9_2_ {
-    dependencies = mapFeatures features ([ byteorder_1_2_3 safemem_0_2_0 ]);
-  };
-  base64_0_9_2_features = f: updateFeatures f (rec {
-    base64_0_9_2.default = (f.base64_0_9_2.default or true);
-    byteorder_1_2_3.default = true;
-    safemem_0_2_0.default = true;
-  }) [ byteorder_1_2_3_features safemem_0_2_0_features ];
-  bitflags_0_9_1 = { features?(bitflags_0_9_1_features {}) }: bitflags_0_9_1_ {
-    features = mkFeatures (features.bitflags_0_9_1 or {});
-  };
-  bitflags_0_9_1_features = f: updateFeatures f (rec {
-    bitflags_0_9_1.default = (f.bitflags_0_9_1.default or true);
-    bitflags_0_9_1.example_generated =
-      (f.bitflags_0_9_1.example_generated or false) ||
-      (f.bitflags_0_9_1.default or false) ||
-      (bitflags_0_9_1.default or false);
-  }) [];
-  bitflags_1_0_3 = { features?(bitflags_1_0_3_features {}) }: bitflags_1_0_3_ {
-    features = mkFeatures (features.bitflags_1_0_3 or {});
-  };
-  bitflags_1_0_3_features = f: updateFeatures f (rec {
-    bitflags_1_0_3.default = (f.bitflags_1_0_3.default or true);
-  }) [];
-  build_const_0_2_1 = { features?(build_const_0_2_1_features {}) }: build_const_0_2_1_ {
-    features = mkFeatures (features.build_const_0_2_1 or {});
-  };
-  build_const_0_2_1_features = f: updateFeatures f (rec {
-    build_const_0_2_1.default = (f.build_const_0_2_1.default or true);
-    build_const_0_2_1.std =
-      (f.build_const_0_2_1.std or false) ||
-      (f.build_const_0_2_1.default or false) ||
-      (build_const_0_2_1.default or false);
-  }) [];
-  byteorder_1_2_3 = { features?(byteorder_1_2_3_features {}) }: byteorder_1_2_3_ {
-    features = mkFeatures (features.byteorder_1_2_3 or {});
-  };
-  byteorder_1_2_3_features = f: updateFeatures f (rec {
-    byteorder_1_2_3.default = (f.byteorder_1_2_3.default or true);
-    byteorder_1_2_3.std =
-      (f.byteorder_1_2_3.std or false) ||
-      (f.byteorder_1_2_3.default or false) ||
-      (byteorder_1_2_3.default or false);
-  }) [];
-  bytes_0_4_9 = { features?(bytes_0_4_9_features {}) }: bytes_0_4_9_ {
-    dependencies = mapFeatures features ([ byteorder_1_2_3 iovec_0_1_2 ]);
-    features = mkFeatures (features.bytes_0_4_9 or {});
-  };
-  bytes_0_4_9_features = f: updateFeatures f (rec {
-    byteorder_1_2_3.default = true;
-    byteorder_1_2_3.i128 =
-      (f.byteorder_1_2_3.i128 or false) ||
-      (bytes_0_4_9.i128 or false) ||
-      (f.bytes_0_4_9.i128 or false);
-    bytes_0_4_9.default = (f.bytes_0_4_9.default or true);
-    iovec_0_1_2.default = true;
-  }) [ byteorder_1_2_3_features iovec_0_1_2_features ];
-  cargo_download_0_1_1 = { features?(cargo_download_0_1_1_features {}) }: cargo_download_0_1_1_ {
-    dependencies = mapFeatures features ([ ansi_term_0_9_0 clap_2_32_0 conv_0_3_3 derive_error_0_0_3 exitcode_1_1_2 flate2_0_2_20 isatty_0_1_8 itertools_0_6_5 lazy_static_0_2_11 log_0_3_9 maplit_0_1_6 reqwest_0_8_6 semver_0_9_0 serde_json_1_0_24 slog_1_7_1 slog_envlogger_0_5_0 slog_stdlog_1_1_0 slog_stream_1_2_1 tar_0_4_16 time_0_1_40 ]);
-  };
-  cargo_download_0_1_1_features = f: updateFeatures f (rec {
-    ansi_term_0_9_0.default = true;
-    cargo_download_0_1_1.default = (f.cargo_download_0_1_1.default or true);
-    clap_2_32_0.default = true;
-    conv_0_3_3.default = true;
-    derive_error_0_0_3.default = true;
-    exitcode_1_1_2.default = true;
-    flate2_0_2_20.default = true;
-    isatty_0_1_8.default = true;
-    itertools_0_6_5.default = true;
-    lazy_static_0_2_11.default = true;
-    log_0_3_9.default = true;
-    maplit_0_1_6.default = true;
-    reqwest_0_8_6.default = true;
-    semver_0_9_0.default = true;
-    serde_json_1_0_24.default = true;
-    slog_1_7_1.default = true;
-    slog_envlogger_0_5_0.default = true;
-    slog_stdlog_1_1_0.default = true;
-    slog_stream_1_2_1.default = true;
-    tar_0_4_16.default = true;
-    time_0_1_40.default = true;
-  }) [ ansi_term_0_9_0_features clap_2_32_0_features conv_0_3_3_features derive_error_0_0_3_features exitcode_1_1_2_features flate2_0_2_20_features isatty_0_1_8_features itertools_0_6_5_features lazy_static_0_2_11_features log_0_3_9_features maplit_0_1_6_features reqwest_0_8_6_features semver_0_9_0_features serde_json_1_0_24_features slog_1_7_1_features slog_envlogger_0_5_0_features slog_stdlog_1_1_0_features slog_stream_1_2_1_features tar_0_4_16_features time_0_1_40_features ];
-  case_0_1_0 = { features?(case_0_1_0_features {}) }: case_0_1_0_ {};
-  case_0_1_0_features = f: updateFeatures f (rec {
-    case_0_1_0.default = (f.case_0_1_0.default or true);
-  }) [];
-  cc_1_0_18 = { features?(cc_1_0_18_features {}) }: cc_1_0_18_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.cc_1_0_18 or {});
-  };
-  cc_1_0_18_features = f: updateFeatures f (rec {
-    cc_1_0_18.default = (f.cc_1_0_18.default or true);
-    cc_1_0_18.rayon =
-      (f.cc_1_0_18.rayon or false) ||
-      (f.cc_1_0_18.parallel or false) ||
-      (cc_1_0_18.parallel or false);
-  }) [];
-  cfg_if_0_1_4 = { features?(cfg_if_0_1_4_features {}) }: cfg_if_0_1_4_ {};
-  cfg_if_0_1_4_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = (f.cfg_if_0_1_4.default or true);
-  }) [];
-  chrono_0_2_25 = { features?(chrono_0_2_25_features {}) }: chrono_0_2_25_ {
-    dependencies = mapFeatures features ([ num_0_1_42 time_0_1_40 ]);
-  };
-  chrono_0_2_25_features = f: updateFeatures f (rec {
-    chrono_0_2_25.default = (f.chrono_0_2_25.default or true);
-    num_0_1_42.default = (f.num_0_1_42.default or false);
-    time_0_1_40.default = true;
-  }) [ num_0_1_42_features time_0_1_40_features ];
-  clap_2_32_0 = { features?(clap_2_32_0_features {}) }: clap_2_32_0_ {
-    dependencies = mapFeatures features ([ bitflags_1_0_3 textwrap_0_10_0 unicode_width_0_1_5 ]
-      ++ (if features.clap_2_32_0.atty or false then [ atty_0_2_11 ] else [])
-      ++ (if features.clap_2_32_0.strsim or false then [ strsim_0_7_0 ] else [])
-      ++ (if features.clap_2_32_0.vec_map or false then [ vec_map_0_8_1 ] else []))
-      ++ (if !(kernel == "windows") then mapFeatures features ([ ]
-      ++ (if features.clap_2_32_0.ansi_term or false then [ ansi_term_0_11_0 ] else [])) else []);
-    features = mkFeatures (features.clap_2_32_0 or {});
-  };
-  clap_2_32_0_features = f: updateFeatures f (rec {
-    ansi_term_0_11_0.default = true;
-    atty_0_2_11.default = true;
-    bitflags_1_0_3.default = true;
-    clap_2_32_0.ansi_term =
-      (f.clap_2_32_0.ansi_term or false) ||
-      (f.clap_2_32_0.color or false) ||
-      (clap_2_32_0.color or false);
-    clap_2_32_0.atty =
-      (f.clap_2_32_0.atty or false) ||
-      (f.clap_2_32_0.color or false) ||
-      (clap_2_32_0.color or false);
-    clap_2_32_0.clippy =
-      (f.clap_2_32_0.clippy or false) ||
-      (f.clap_2_32_0.lints or false) ||
-      (clap_2_32_0.lints or false);
-    clap_2_32_0.color =
-      (f.clap_2_32_0.color or false) ||
-      (f.clap_2_32_0.default or false) ||
-      (clap_2_32_0.default or false);
-    clap_2_32_0.default = (f.clap_2_32_0.default or true);
-    clap_2_32_0.strsim =
-      (f.clap_2_32_0.strsim or false) ||
-      (f.clap_2_32_0.suggestions or false) ||
-      (clap_2_32_0.suggestions or false);
-    clap_2_32_0.suggestions =
-      (f.clap_2_32_0.suggestions or false) ||
-      (f.clap_2_32_0.default or false) ||
-      (clap_2_32_0.default or false);
-    clap_2_32_0.term_size =
-      (f.clap_2_32_0.term_size or false) ||
-      (f.clap_2_32_0.wrap_help or false) ||
-      (clap_2_32_0.wrap_help or false);
-    clap_2_32_0.vec_map =
-      (f.clap_2_32_0.vec_map or false) ||
-      (f.clap_2_32_0.default or false) ||
-      (clap_2_32_0.default or false);
-    clap_2_32_0.yaml =
-      (f.clap_2_32_0.yaml or false) ||
-      (f.clap_2_32_0.doc or false) ||
-      (clap_2_32_0.doc or false);
-    clap_2_32_0.yaml-rust =
-      (f.clap_2_32_0.yaml-rust or false) ||
-      (f.clap_2_32_0.yaml or false) ||
-      (clap_2_32_0.yaml or false);
-    strsim_0_7_0.default = true;
-    textwrap_0_10_0.default = true;
-    textwrap_0_10_0.term_size =
-      (f.textwrap_0_10_0.term_size or false) ||
-      (clap_2_32_0.wrap_help or false) ||
-      (f.clap_2_32_0.wrap_help or false);
-    unicode_width_0_1_5.default = true;
-    vec_map_0_8_1.default = true;
-  }) [ atty_0_2_11_features bitflags_1_0_3_features strsim_0_7_0_features textwrap_0_10_0_features unicode_width_0_1_5_features vec_map_0_8_1_features ansi_term_0_11_0_features ];
-  conv_0_3_3 = { features?(conv_0_3_3_features {}) }: conv_0_3_3_ {
-    dependencies = mapFeatures features ([ custom_derive_0_1_7 ]);
-  };
-  conv_0_3_3_features = f: updateFeatures f (rec {
-    conv_0_3_3.default = (f.conv_0_3_3.default or true);
-    custom_derive_0_1_7.default = true;
-  }) [ custom_derive_0_1_7_features ];
-  core_foundation_0_2_3 = { features?(core_foundation_0_2_3_features {}) }: core_foundation_0_2_3_ {
-    dependencies = mapFeatures features ([ core_foundation_sys_0_2_3 libc_0_2_42 ]);
-  };
-  core_foundation_0_2_3_features = f: updateFeatures f (rec {
-    core_foundation_0_2_3.default = (f.core_foundation_0_2_3.default or true);
-    core_foundation_sys_0_2_3.default = true;
-    libc_0_2_42.default = true;
-  }) [ core_foundation_sys_0_2_3_features libc_0_2_42_features ];
-  core_foundation_sys_0_2_3 = { features?(core_foundation_sys_0_2_3_features {}) }: core_foundation_sys_0_2_3_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]);
-  };
-  core_foundation_sys_0_2_3_features = f: updateFeatures f (rec {
-    core_foundation_sys_0_2_3.default = (f.core_foundation_sys_0_2_3.default or true);
-    libc_0_2_42.default = true;
-  }) [ libc_0_2_42_features ];
-  crc_1_8_1 = { features?(crc_1_8_1_features {}) }: crc_1_8_1_ {
-    buildDependencies = mapFeatures features ([ build_const_0_2_1 ]);
-    features = mkFeatures (features.crc_1_8_1 or {});
-  };
-  crc_1_8_1_features = f: updateFeatures f (rec {
-    build_const_0_2_1.default = true;
-    crc_1_8_1.default = (f.crc_1_8_1.default or true);
-    crc_1_8_1.std =
-      (f.crc_1_8_1.std or false) ||
-      (f.crc_1_8_1.default or false) ||
-      (crc_1_8_1.default or false);
-  }) [ build_const_0_2_1_features ];
-  crossbeam_0_2_12 = { features?(crossbeam_0_2_12_features {}) }: crossbeam_0_2_12_ {
-    features = mkFeatures (features.crossbeam_0_2_12 or {});
-  };
-  crossbeam_0_2_12_features = f: updateFeatures f (rec {
-    crossbeam_0_2_12.default = (f.crossbeam_0_2_12.default or true);
-  }) [];
-  crossbeam_deque_0_3_1 = { features?(crossbeam_deque_0_3_1_features {}) }: crossbeam_deque_0_3_1_ {
-    dependencies = mapFeatures features ([ crossbeam_epoch_0_4_3 crossbeam_utils_0_3_2 ]);
-  };
-  crossbeam_deque_0_3_1_features = f: updateFeatures f (rec {
-    crossbeam_deque_0_3_1.default = (f.crossbeam_deque_0_3_1.default or true);
-    crossbeam_epoch_0_4_3.default = true;
-    crossbeam_utils_0_3_2.default = true;
-  }) [ crossbeam_epoch_0_4_3_features crossbeam_utils_0_3_2_features ];
-  crossbeam_epoch_0_4_3 = { features?(crossbeam_epoch_0_4_3_features {}) }: crossbeam_epoch_0_4_3_ {
-    dependencies = mapFeatures features ([ arrayvec_0_4_7 cfg_if_0_1_4 crossbeam_utils_0_3_2 memoffset_0_2_1 scopeguard_0_3_3 ]
-      ++ (if features.crossbeam_epoch_0_4_3.lazy_static or false then [ lazy_static_1_0_2 ] else []));
-    features = mkFeatures (features.crossbeam_epoch_0_4_3 or {});
-  };
-  crossbeam_epoch_0_4_3_features = f: updateFeatures f (rec {
-    arrayvec_0_4_7.default = (f.arrayvec_0_4_7.default or false);
-    arrayvec_0_4_7.use_union =
-      (f.arrayvec_0_4_7.use_union or false) ||
-      (crossbeam_epoch_0_4_3.nightly or false) ||
-      (f.crossbeam_epoch_0_4_3.nightly or false);
-    cfg_if_0_1_4.default = true;
-    crossbeam_epoch_0_4_3.default = (f.crossbeam_epoch_0_4_3.default or true);
-    crossbeam_epoch_0_4_3.lazy_static =
-      (f.crossbeam_epoch_0_4_3.lazy_static or false) ||
-      (f.crossbeam_epoch_0_4_3.use_std or false) ||
-      (crossbeam_epoch_0_4_3.use_std or false);
-    crossbeam_epoch_0_4_3.use_std =
-      (f.crossbeam_epoch_0_4_3.use_std or false) ||
-      (f.crossbeam_epoch_0_4_3.default or false) ||
-      (crossbeam_epoch_0_4_3.default or false);
-    crossbeam_utils_0_3_2.default = (f.crossbeam_utils_0_3_2.default or false);
-    crossbeam_utils_0_3_2.use_std =
-      (f.crossbeam_utils_0_3_2.use_std or false) ||
-      (crossbeam_epoch_0_4_3.use_std or false) ||
-      (f.crossbeam_epoch_0_4_3.use_std or false);
-    lazy_static_1_0_2.default = true;
-    memoffset_0_2_1.default = true;
-    scopeguard_0_3_3.default = (f.scopeguard_0_3_3.default or false);
-  }) [ arrayvec_0_4_7_features cfg_if_0_1_4_features crossbeam_utils_0_3_2_features lazy_static_1_0_2_features memoffset_0_2_1_features scopeguard_0_3_3_features ];
-  crossbeam_utils_0_3_2 = { features?(crossbeam_utils_0_3_2_features {}) }: crossbeam_utils_0_3_2_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ]);
-    features = mkFeatures (features.crossbeam_utils_0_3_2 or {});
-  };
-  crossbeam_utils_0_3_2_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    crossbeam_utils_0_3_2.default = (f.crossbeam_utils_0_3_2.default or true);
-    crossbeam_utils_0_3_2.use_std =
-      (f.crossbeam_utils_0_3_2.use_std or false) ||
-      (f.crossbeam_utils_0_3_2.default or false) ||
-      (crossbeam_utils_0_3_2.default or false);
-  }) [ cfg_if_0_1_4_features ];
-  custom_derive_0_1_7 = { features?(custom_derive_0_1_7_features {}) }: custom_derive_0_1_7_ {
-    features = mkFeatures (features.custom_derive_0_1_7 or {});
-  };
-  custom_derive_0_1_7_features = f: updateFeatures f (rec {
-    custom_derive_0_1_7.default = (f.custom_derive_0_1_7.default or true);
-    custom_derive_0_1_7.std =
-      (f.custom_derive_0_1_7.std or false) ||
-      (f.custom_derive_0_1_7.default or false) ||
-      (custom_derive_0_1_7.default or false);
-  }) [];
-  derive_error_0_0_3 = { features?(derive_error_0_0_3_features {}) }: derive_error_0_0_3_ {
-    dependencies = mapFeatures features ([ case_0_1_0 quote_0_3_15 syn_0_11_11 ]);
-  };
-  derive_error_0_0_3_features = f: updateFeatures f (rec {
-    case_0_1_0.default = true;
-    derive_error_0_0_3.default = (f.derive_error_0_0_3.default or true);
-    quote_0_3_15.default = true;
-    syn_0_11_11.default = true;
-  }) [ case_0_1_0_features quote_0_3_15_features syn_0_11_11_features ];
-  dtoa_0_4_3 = { features?(dtoa_0_4_3_features {}) }: dtoa_0_4_3_ {};
-  dtoa_0_4_3_features = f: updateFeatures f (rec {
-    dtoa_0_4_3.default = (f.dtoa_0_4_3.default or true);
-  }) [];
-  either_1_5_0 = { features?(either_1_5_0_features {}) }: either_1_5_0_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.either_1_5_0 or {});
-  };
-  either_1_5_0_features = f: updateFeatures f (rec {
-    either_1_5_0.default = (f.either_1_5_0.default or true);
-    either_1_5_0.use_std =
-      (f.either_1_5_0.use_std or false) ||
-      (f.either_1_5_0.default or false) ||
-      (either_1_5_0.default or false);
-  }) [];
-  encoding_rs_0_7_2 = { features?(encoding_rs_0_7_2_features {}) }: encoding_rs_0_7_2_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ]);
-    features = mkFeatures (features.encoding_rs_0_7_2 or {});
-  };
-  encoding_rs_0_7_2_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    encoding_rs_0_7_2.default = (f.encoding_rs_0_7_2.default or true);
-    encoding_rs_0_7_2.simd =
-      (f.encoding_rs_0_7_2.simd or false) ||
-      (f.encoding_rs_0_7_2.simd-accel or false) ||
-      (encoding_rs_0_7_2.simd-accel or false);
-  }) [ cfg_if_0_1_4_features ];
-  exitcode_1_1_2 = { features?(exitcode_1_1_2_features {}) }: exitcode_1_1_2_ {};
-  exitcode_1_1_2_features = f: updateFeatures f (rec {
-    exitcode_1_1_2.default = (f.exitcode_1_1_2.default or true);
-  }) [];
-  filetime_0_2_1 = { features?(filetime_0_2_1_features {}) }: filetime_0_2_1_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_40 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else []);
-  };
-  filetime_0_2_1_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    filetime_0_2_1.default = (f.filetime_0_2_1.default or true);
-    libc_0_2_42.default = true;
-    redox_syscall_0_1_40.default = true;
-  }) [ cfg_if_0_1_4_features redox_syscall_0_1_40_features libc_0_2_42_features ];
-  flate2_0_2_20 = { features?(flate2_0_2_20_features {}) }: flate2_0_2_20_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]
-      ++ (if features.flate2_0_2_20.miniz-sys or false then [ miniz_sys_0_1_10 ] else []));
-    features = mkFeatures (features.flate2_0_2_20 or {});
-  };
-  flate2_0_2_20_features = f: updateFeatures f (rec {
-    flate2_0_2_20.default = (f.flate2_0_2_20.default or true);
-    flate2_0_2_20.futures =
-      (f.flate2_0_2_20.futures or false) ||
-      (f.flate2_0_2_20.tokio or false) ||
-      (flate2_0_2_20.tokio or false);
-    flate2_0_2_20.libz-sys =
-      (f.flate2_0_2_20.libz-sys or false) ||
-      (f.flate2_0_2_20.zlib or false) ||
-      (flate2_0_2_20.zlib or false);
-    flate2_0_2_20.miniz-sys =
-      (f.flate2_0_2_20.miniz-sys or false) ||
-      (f.flate2_0_2_20.default or false) ||
-      (flate2_0_2_20.default or false);
-    flate2_0_2_20.tokio-io =
-      (f.flate2_0_2_20.tokio-io or false) ||
-      (f.flate2_0_2_20.tokio or false) ||
-      (flate2_0_2_20.tokio or false);
-    libc_0_2_42.default = true;
-    miniz_sys_0_1_10.default = true;
-  }) [ libc_0_2_42_features miniz_sys_0_1_10_features ];
-  foreign_types_0_3_2 = { features?(foreign_types_0_3_2_features {}) }: foreign_types_0_3_2_ {
-    dependencies = mapFeatures features ([ foreign_types_shared_0_1_1 ]);
-  };
-  foreign_types_0_3_2_features = f: updateFeatures f (rec {
-    foreign_types_0_3_2.default = (f.foreign_types_0_3_2.default or true);
-    foreign_types_shared_0_1_1.default = true;
-  }) [ foreign_types_shared_0_1_1_features ];
-  foreign_types_shared_0_1_1 = { features?(foreign_types_shared_0_1_1_features {}) }: foreign_types_shared_0_1_1_ {};
-  foreign_types_shared_0_1_1_features = f: updateFeatures f (rec {
-    foreign_types_shared_0_1_1.default = (f.foreign_types_shared_0_1_1.default or true);
-  }) [];
-  fuchsia_zircon_0_3_3 = { features?(fuchsia_zircon_0_3_3_features {}) }: fuchsia_zircon_0_3_3_ {
-    dependencies = mapFeatures features ([ bitflags_1_0_3 fuchsia_zircon_sys_0_3_3 ]);
-  };
-  fuchsia_zircon_0_3_3_features = f: updateFeatures f (rec {
-    bitflags_1_0_3.default = true;
-    fuchsia_zircon_0_3_3.default = (f.fuchsia_zircon_0_3_3.default or true);
-    fuchsia_zircon_sys_0_3_3.default = true;
-  }) [ bitflags_1_0_3_features fuchsia_zircon_sys_0_3_3_features ];
-  fuchsia_zircon_sys_0_3_3 = { features?(fuchsia_zircon_sys_0_3_3_features {}) }: fuchsia_zircon_sys_0_3_3_ {};
-  fuchsia_zircon_sys_0_3_3_features = f: updateFeatures f (rec {
-    fuchsia_zircon_sys_0_3_3.default = (f.fuchsia_zircon_sys_0_3_3.default or true);
-  }) [];
-  futures_0_1_23 = { features?(futures_0_1_23_features {}) }: futures_0_1_23_ {
-    features = mkFeatures (features.futures_0_1_23 or {});
-  };
-  futures_0_1_23_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = (f.futures_0_1_23.default or true);
-    futures_0_1_23.use_std =
-      (f.futures_0_1_23.use_std or false) ||
-      (f.futures_0_1_23.default or false) ||
-      (futures_0_1_23.default or false);
-    futures_0_1_23.with-deprecated =
-      (f.futures_0_1_23.with-deprecated or false) ||
-      (f.futures_0_1_23.default or false) ||
-      (futures_0_1_23.default or false);
-  }) [];
-  futures_cpupool_0_1_8 = { features?(futures_cpupool_0_1_8_features {}) }: futures_cpupool_0_1_8_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 num_cpus_1_8_0 ]);
-    features = mkFeatures (features.futures_cpupool_0_1_8 or {});
-  };
-  futures_cpupool_0_1_8_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = (f.futures_0_1_23.default or false);
-    futures_0_1_23.use_std = true;
-    futures_0_1_23.with-deprecated =
-      (f.futures_0_1_23.with-deprecated or false) ||
-      (futures_cpupool_0_1_8.with-deprecated or false) ||
-      (f.futures_cpupool_0_1_8.with-deprecated or false);
-    futures_cpupool_0_1_8.default = (f.futures_cpupool_0_1_8.default or true);
-    futures_cpupool_0_1_8.with-deprecated =
-      (f.futures_cpupool_0_1_8.with-deprecated or false) ||
-      (f.futures_cpupool_0_1_8.default or false) ||
-      (futures_cpupool_0_1_8.default or false);
-    num_cpus_1_8_0.default = true;
-  }) [ futures_0_1_23_features num_cpus_1_8_0_features ];
-  httparse_1_3_2 = { features?(httparse_1_3_2_features {}) }: httparse_1_3_2_ {
-    features = mkFeatures (features.httparse_1_3_2 or {});
-  };
-  httparse_1_3_2_features = f: updateFeatures f (rec {
-    httparse_1_3_2.default = (f.httparse_1_3_2.default or true);
-    httparse_1_3_2.std =
-      (f.httparse_1_3_2.std or false) ||
-      (f.httparse_1_3_2.default or false) ||
-      (httparse_1_3_2.default or false);
-  }) [];
-  hyper_0_11_27 = { features?(hyper_0_11_27_features {}) }: hyper_0_11_27_ {
-    dependencies = mapFeatures features ([ base64_0_9_2 bytes_0_4_9 futures_0_1_23 futures_cpupool_0_1_8 httparse_1_3_2 iovec_0_1_2 language_tags_0_2_2 log_0_4_3 mime_0_3_8 net2_0_2_33 percent_encoding_1_0_1 relay_0_1_1 time_0_1_40 tokio_core_0_1_17 tokio_io_0_1_7 tokio_service_0_1_0 unicase_2_1_0 want_0_0_4 ]
-      ++ (if features.hyper_0_11_27.tokio-proto or false then [ tokio_proto_0_1_1 ] else []));
-    features = mkFeatures (features.hyper_0_11_27 or {});
-  };
-  hyper_0_11_27_features = f: updateFeatures f (rec {
-    base64_0_9_2.default = true;
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    futures_cpupool_0_1_8.default = true;
-    httparse_1_3_2.default = true;
-    hyper_0_11_27.default = (f.hyper_0_11_27.default or true);
-    hyper_0_11_27.http =
-      (f.hyper_0_11_27.http or false) ||
-      (f.hyper_0_11_27.compat or false) ||
-      (hyper_0_11_27.compat or false);
-    hyper_0_11_27.server-proto =
-      (f.hyper_0_11_27.server-proto or false) ||
-      (f.hyper_0_11_27.default or false) ||
-      (hyper_0_11_27.default or false);
-    hyper_0_11_27.tokio-proto =
-      (f.hyper_0_11_27.tokio-proto or false) ||
-      (f.hyper_0_11_27.server-proto or false) ||
-      (hyper_0_11_27.server-proto or false);
-    iovec_0_1_2.default = true;
-    language_tags_0_2_2.default = true;
-    log_0_4_3.default = true;
-    mime_0_3_8.default = true;
-    net2_0_2_33.default = true;
-    percent_encoding_1_0_1.default = true;
-    relay_0_1_1.default = true;
-    time_0_1_40.default = true;
-    tokio_core_0_1_17.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_proto_0_1_1.default = true;
-    tokio_service_0_1_0.default = true;
-    unicase_2_1_0.default = true;
-    want_0_0_4.default = true;
-  }) [ base64_0_9_2_features bytes_0_4_9_features futures_0_1_23_features futures_cpupool_0_1_8_features httparse_1_3_2_features iovec_0_1_2_features language_tags_0_2_2_features log_0_4_3_features mime_0_3_8_features net2_0_2_33_features percent_encoding_1_0_1_features relay_0_1_1_features time_0_1_40_features tokio_core_0_1_17_features tokio_io_0_1_7_features tokio_proto_0_1_1_features tokio_service_0_1_0_features unicase_2_1_0_features want_0_0_4_features ];
-  hyper_tls_0_1_3 = { features?(hyper_tls_0_1_3_features {}) }: hyper_tls_0_1_3_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 hyper_0_11_27 native_tls_0_1_5 tokio_core_0_1_17 tokio_io_0_1_7 tokio_service_0_1_0 tokio_tls_0_1_4 ]);
-  };
-  hyper_tls_0_1_3_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    hyper_0_11_27.default = true;
-    hyper_tls_0_1_3.default = (f.hyper_tls_0_1_3.default or true);
-    native_tls_0_1_5.default = true;
-    tokio_core_0_1_17.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_service_0_1_0.default = true;
-    tokio_tls_0_1_4.default = true;
-  }) [ futures_0_1_23_features hyper_0_11_27_features native_tls_0_1_5_features tokio_core_0_1_17_features tokio_io_0_1_7_features tokio_service_0_1_0_features tokio_tls_0_1_4_features ];
-  idna_0_1_5 = { features?(idna_0_1_5_features {}) }: idna_0_1_5_ {
-    dependencies = mapFeatures features ([ matches_0_1_7 unicode_bidi_0_3_4 unicode_normalization_0_1_7 ]);
-  };
-  idna_0_1_5_features = f: updateFeatures f (rec {
-    idna_0_1_5.default = (f.idna_0_1_5.default or true);
-    matches_0_1_7.default = true;
-    unicode_bidi_0_3_4.default = true;
-    unicode_normalization_0_1_7.default = true;
-  }) [ matches_0_1_7_features unicode_bidi_0_3_4_features unicode_normalization_0_1_7_features ];
-  iovec_0_1_2 = { features?(iovec_0_1_2_features {}) }: iovec_0_1_2_ {
-    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_2_8 ]) else []);
-  };
-  iovec_0_1_2_features = f: updateFeatures f (rec {
-    iovec_0_1_2.default = (f.iovec_0_1_2.default or true);
-    libc_0_2_42.default = true;
-    winapi_0_2_8.default = true;
-  }) [ libc_0_2_42_features winapi_0_2_8_features ];
-  isatty_0_1_8 = { features?(isatty_0_1_8_features {}) }: isatty_0_1_8_ {
-    dependencies = (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_40 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-  };
-  isatty_0_1_8_features = f: updateFeatures f (rec {
-    isatty_0_1_8.default = (f.isatty_0_1_8.default or true);
-    libc_0_2_42.default = true;
-    redox_syscall_0_1_40.default = true;
-    winapi_0_3_5.consoleapi = true;
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.fileapi = true;
-    winapi_0_3_5.minwinbase = true;
-    winapi_0_3_5.minwindef = true;
-    winapi_0_3_5.processenv = true;
-    winapi_0_3_5.winbase = true;
-    winapi_0_3_5.winnt = true;
-  }) [ redox_syscall_0_1_40_features libc_0_2_42_features winapi_0_3_5_features ];
-  itertools_0_6_5 = { features?(itertools_0_6_5_features {}) }: itertools_0_6_5_ {
-    dependencies = mapFeatures features ([ either_1_5_0 ]);
-  };
-  itertools_0_6_5_features = f: updateFeatures f (rec {
-    either_1_5_0.default = (f.either_1_5_0.default or false);
-    itertools_0_6_5.default = (f.itertools_0_6_5.default or true);
-  }) [ either_1_5_0_features ];
-  itoa_0_4_2 = { features?(itoa_0_4_2_features {}) }: itoa_0_4_2_ {
-    features = mkFeatures (features.itoa_0_4_2 or {});
-  };
-  itoa_0_4_2_features = f: updateFeatures f (rec {
-    itoa_0_4_2.default = (f.itoa_0_4_2.default or true);
-    itoa_0_4_2.std =
-      (f.itoa_0_4_2.std or false) ||
-      (f.itoa_0_4_2.default or false) ||
-      (itoa_0_4_2.default or false);
-  }) [];
-  kernel32_sys_0_2_2 = { features?(kernel32_sys_0_2_2_features {}) }: kernel32_sys_0_2_2_ {
-    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
-    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
-  };
-  kernel32_sys_0_2_2_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = (f.kernel32_sys_0_2_2.default or true);
-    winapi_0_2_8.default = true;
-    winapi_build_0_1_1.default = true;
-  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
-  language_tags_0_2_2 = { features?(language_tags_0_2_2_features {}) }: language_tags_0_2_2_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.language_tags_0_2_2 or {});
-  };
-  language_tags_0_2_2_features = f: updateFeatures f (rec {
-    language_tags_0_2_2.default = (f.language_tags_0_2_2.default or true);
-    language_tags_0_2_2.heapsize =
-      (f.language_tags_0_2_2.heapsize or false) ||
-      (f.language_tags_0_2_2.heap_size or false) ||
-      (language_tags_0_2_2.heap_size or false);
-    language_tags_0_2_2.heapsize_plugin =
-      (f.language_tags_0_2_2.heapsize_plugin or false) ||
-      (f.language_tags_0_2_2.heap_size or false) ||
-      (language_tags_0_2_2.heap_size or false);
-  }) [];
-  lazy_static_0_2_11 = { features?(lazy_static_0_2_11_features {}) }: lazy_static_0_2_11_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.lazy_static_0_2_11 or {});
-  };
-  lazy_static_0_2_11_features = f: updateFeatures f (rec {
-    lazy_static_0_2_11.compiletest_rs =
-      (f.lazy_static_0_2_11.compiletest_rs or false) ||
-      (f.lazy_static_0_2_11.compiletest or false) ||
-      (lazy_static_0_2_11.compiletest or false);
-    lazy_static_0_2_11.default = (f.lazy_static_0_2_11.default or true);
-    lazy_static_0_2_11.nightly =
-      (f.lazy_static_0_2_11.nightly or false) ||
-      (f.lazy_static_0_2_11.spin_no_std or false) ||
-      (lazy_static_0_2_11.spin_no_std or false);
-    lazy_static_0_2_11.spin =
-      (f.lazy_static_0_2_11.spin or false) ||
-      (f.lazy_static_0_2_11.spin_no_std or false) ||
-      (lazy_static_0_2_11.spin_no_std or false);
-  }) [];
-  lazy_static_1_0_2 = { features?(lazy_static_1_0_2_features {}) }: lazy_static_1_0_2_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.lazy_static_1_0_2 or {});
-  };
-  lazy_static_1_0_2_features = f: updateFeatures f (rec {
-    lazy_static_1_0_2.default = (f.lazy_static_1_0_2.default or true);
-    lazy_static_1_0_2.nightly =
-      (f.lazy_static_1_0_2.nightly or false) ||
-      (f.lazy_static_1_0_2.spin_no_std or false) ||
-      (lazy_static_1_0_2.spin_no_std or false);
-    lazy_static_1_0_2.spin =
-      (f.lazy_static_1_0_2.spin or false) ||
-      (f.lazy_static_1_0_2.spin_no_std or false) ||
-      (lazy_static_1_0_2.spin_no_std or false);
-  }) [];
-  lazycell_0_6_0 = { features?(lazycell_0_6_0_features {}) }: lazycell_0_6_0_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.lazycell_0_6_0 or {});
-  };
-  lazycell_0_6_0_features = f: updateFeatures f (rec {
-    lazycell_0_6_0.clippy =
-      (f.lazycell_0_6_0.clippy or false) ||
-      (f.lazycell_0_6_0.nightly-testing or false) ||
-      (lazycell_0_6_0.nightly-testing or false);
-    lazycell_0_6_0.default = (f.lazycell_0_6_0.default or true);
-    lazycell_0_6_0.nightly =
-      (f.lazycell_0_6_0.nightly or false) ||
-      (f.lazycell_0_6_0.nightly-testing or false) ||
-      (lazycell_0_6_0.nightly-testing or false);
-  }) [];
-  libc_0_2_42 = { features?(libc_0_2_42_features {}) }: libc_0_2_42_ {
-    features = mkFeatures (features.libc_0_2_42 or {});
-  };
-  libc_0_2_42_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = (f.libc_0_2_42.default or true);
-    libc_0_2_42.use_std =
-      (f.libc_0_2_42.use_std or false) ||
-      (f.libc_0_2_42.default or false) ||
-      (libc_0_2_42.default or false);
-  }) [];
-  libflate_0_1_16 = { features?(libflate_0_1_16_features {}) }: libflate_0_1_16_ {
-    dependencies = mapFeatures features ([ adler32_1_0_3 byteorder_1_2_3 crc_1_8_1 ]);
-  };
-  libflate_0_1_16_features = f: updateFeatures f (rec {
-    adler32_1_0_3.default = true;
-    byteorder_1_2_3.default = true;
-    crc_1_8_1.default = true;
-    libflate_0_1_16.default = (f.libflate_0_1_16.default or true);
-  }) [ adler32_1_0_3_features byteorder_1_2_3_features crc_1_8_1_features ];
-  log_0_3_9 = { features?(log_0_3_9_features {}) }: log_0_3_9_ {
-    dependencies = mapFeatures features ([ log_0_4_3 ]);
-    features = mkFeatures (features.log_0_3_9 or {});
-  };
-  log_0_3_9_features = f: updateFeatures f (rec {
-    log_0_3_9.default = (f.log_0_3_9.default or true);
-    log_0_3_9.use_std =
-      (f.log_0_3_9.use_std or false) ||
-      (f.log_0_3_9.default or false) ||
-      (log_0_3_9.default or false);
-    log_0_4_3.default = true;
-    log_0_4_3.max_level_debug =
-      (f.log_0_4_3.max_level_debug or false) ||
-      (log_0_3_9.max_level_debug or false) ||
-      (f.log_0_3_9.max_level_debug or false);
-    log_0_4_3.max_level_error =
-      (f.log_0_4_3.max_level_error or false) ||
-      (log_0_3_9.max_level_error or false) ||
-      (f.log_0_3_9.max_level_error or false);
-    log_0_4_3.max_level_info =
-      (f.log_0_4_3.max_level_info or false) ||
-      (log_0_3_9.max_level_info or false) ||
-      (f.log_0_3_9.max_level_info or false);
-    log_0_4_3.max_level_off =
-      (f.log_0_4_3.max_level_off or false) ||
-      (log_0_3_9.max_level_off or false) ||
-      (f.log_0_3_9.max_level_off or false);
-    log_0_4_3.max_level_trace =
-      (f.log_0_4_3.max_level_trace or false) ||
-      (log_0_3_9.max_level_trace or false) ||
-      (f.log_0_3_9.max_level_trace or false);
-    log_0_4_3.max_level_warn =
-      (f.log_0_4_3.max_level_warn or false) ||
-      (log_0_3_9.max_level_warn or false) ||
-      (f.log_0_3_9.max_level_warn or false);
-    log_0_4_3.release_max_level_debug =
-      (f.log_0_4_3.release_max_level_debug or false) ||
-      (log_0_3_9.release_max_level_debug or false) ||
-      (f.log_0_3_9.release_max_level_debug or false);
-    log_0_4_3.release_max_level_error =
-      (f.log_0_4_3.release_max_level_error or false) ||
-      (log_0_3_9.release_max_level_error or false) ||
-      (f.log_0_3_9.release_max_level_error or false);
-    log_0_4_3.release_max_level_info =
-      (f.log_0_4_3.release_max_level_info or false) ||
-      (log_0_3_9.release_max_level_info or false) ||
-      (f.log_0_3_9.release_max_level_info or false);
-    log_0_4_3.release_max_level_off =
-      (f.log_0_4_3.release_max_level_off or false) ||
-      (log_0_3_9.release_max_level_off or false) ||
-      (f.log_0_3_9.release_max_level_off or false);
-    log_0_4_3.release_max_level_trace =
-      (f.log_0_4_3.release_max_level_trace or false) ||
-      (log_0_3_9.release_max_level_trace or false) ||
-      (f.log_0_3_9.release_max_level_trace or false);
-    log_0_4_3.release_max_level_warn =
-      (f.log_0_4_3.release_max_level_warn or false) ||
-      (log_0_3_9.release_max_level_warn or false) ||
-      (f.log_0_3_9.release_max_level_warn or false);
-    log_0_4_3.std =
-      (f.log_0_4_3.std or false) ||
-      (log_0_3_9.use_std or false) ||
-      (f.log_0_3_9.use_std or false);
-  }) [ log_0_4_3_features ];
-  log_0_4_3 = { features?(log_0_4_3_features {}) }: log_0_4_3_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ]);
-    features = mkFeatures (features.log_0_4_3 or {});
-  };
-  log_0_4_3_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    log_0_4_3.default = (f.log_0_4_3.default or true);
-  }) [ cfg_if_0_1_4_features ];
-  maplit_0_1_6 = { features?(maplit_0_1_6_features {}) }: maplit_0_1_6_ {};
-  maplit_0_1_6_features = f: updateFeatures f (rec {
-    maplit_0_1_6.default = (f.maplit_0_1_6.default or true);
-  }) [];
-  matches_0_1_7 = { features?(matches_0_1_7_features {}) }: matches_0_1_7_ {};
-  matches_0_1_7_features = f: updateFeatures f (rec {
-    matches_0_1_7.default = (f.matches_0_1_7.default or true);
-  }) [];
-  memchr_0_1_11 = { features?(memchr_0_1_11_features {}) }: memchr_0_1_11_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]);
-  };
-  memchr_0_1_11_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = true;
-    memchr_0_1_11.default = (f.memchr_0_1_11.default or true);
-  }) [ libc_0_2_42_features ];
-  memoffset_0_2_1 = { features?(memoffset_0_2_1_features {}) }: memoffset_0_2_1_ {};
-  memoffset_0_2_1_features = f: updateFeatures f (rec {
-    memoffset_0_2_1.default = (f.memoffset_0_2_1.default or true);
-  }) [];
-  mime_0_3_8 = { features?(mime_0_3_8_features {}) }: mime_0_3_8_ {
-    dependencies = mapFeatures features ([ unicase_2_1_0 ]);
-  };
-  mime_0_3_8_features = f: updateFeatures f (rec {
-    mime_0_3_8.default = (f.mime_0_3_8.default or true);
-    unicase_2_1_0.default = true;
-  }) [ unicase_2_1_0_features ];
-  mime_guess_2_0_0_alpha_6 = { features?(mime_guess_2_0_0_alpha_6_features {}) }: mime_guess_2_0_0_alpha_6_ {
-    dependencies = mapFeatures features ([ mime_0_3_8 phf_0_7_22 unicase_1_4_2 ]);
-    buildDependencies = mapFeatures features ([ phf_codegen_0_7_22 unicase_1_4_2 ]);
-    features = mkFeatures (features.mime_guess_2_0_0_alpha_6 or {});
-  };
-  mime_guess_2_0_0_alpha_6_features = f: updateFeatures f (rec {
-    mime_0_3_8.default = true;
-    mime_guess_2_0_0_alpha_6.default = (f.mime_guess_2_0_0_alpha_6.default or true);
-    phf_0_7_22.default = true;
-    phf_0_7_22.unicase = true;
-    phf_codegen_0_7_22.default = true;
-    unicase_1_4_2.default = true;
-  }) [ mime_0_3_8_features phf_0_7_22_features unicase_1_4_2_features phf_codegen_0_7_22_features unicase_1_4_2_features ];
-  miniz_sys_0_1_10 = { features?(miniz_sys_0_1_10_features {}) }: miniz_sys_0_1_10_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]);
-    buildDependencies = mapFeatures features ([ cc_1_0_18 ]);
-  };
-  miniz_sys_0_1_10_features = f: updateFeatures f (rec {
-    cc_1_0_18.default = true;
-    libc_0_2_42.default = true;
-    miniz_sys_0_1_10.default = (f.miniz_sys_0_1_10.default or true);
-  }) [ libc_0_2_42_features cc_1_0_18_features ];
-  mio_0_6_15 = { features?(mio_0_6_15_features {}) }: mio_0_6_15_ {
-    dependencies = mapFeatures features ([ iovec_0_1_2 lazycell_0_6_0 log_0_4_3 net2_0_2_33 slab_0_4_0 ])
-      ++ (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_3_3 fuchsia_zircon_sys_0_3_3 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 miow_0_2_1 winapi_0_2_8 ]) else []);
-    features = mkFeatures (features.mio_0_6_15 or {});
-  };
-  mio_0_6_15_features = f: updateFeatures f (rec {
-    fuchsia_zircon_0_3_3.default = true;
-    fuchsia_zircon_sys_0_3_3.default = true;
-    iovec_0_1_2.default = true;
-    kernel32_sys_0_2_2.default = true;
-    lazycell_0_6_0.default = true;
-    libc_0_2_42.default = true;
-    log_0_4_3.default = true;
-    mio_0_6_15.default = (f.mio_0_6_15.default or true);
-    mio_0_6_15.with-deprecated =
-      (f.mio_0_6_15.with-deprecated or false) ||
-      (f.mio_0_6_15.default or false) ||
-      (mio_0_6_15.default or false);
-    miow_0_2_1.default = true;
-    net2_0_2_33.default = true;
-    slab_0_4_0.default = true;
-    winapi_0_2_8.default = true;
-  }) [ iovec_0_1_2_features lazycell_0_6_0_features log_0_4_3_features net2_0_2_33_features slab_0_4_0_features fuchsia_zircon_0_3_3_features fuchsia_zircon_sys_0_3_3_features libc_0_2_42_features kernel32_sys_0_2_2_features miow_0_2_1_features winapi_0_2_8_features ];
-  miow_0_2_1 = { features?(miow_0_2_1_features {}) }: miow_0_2_1_ {
-    dependencies = mapFeatures features ([ kernel32_sys_0_2_2 net2_0_2_33 winapi_0_2_8 ws2_32_sys_0_2_1 ]);
-  };
-  miow_0_2_1_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = true;
-    miow_0_2_1.default = (f.miow_0_2_1.default or true);
-    net2_0_2_33.default = (f.net2_0_2_33.default or false);
-    winapi_0_2_8.default = true;
-    ws2_32_sys_0_2_1.default = true;
-  }) [ kernel32_sys_0_2_2_features net2_0_2_33_features winapi_0_2_8_features ws2_32_sys_0_2_1_features ];
-  native_tls_0_1_5 = { features?(native_tls_0_1_5_features {}) }: native_tls_0_1_5_ {
-    dependencies = mapFeatures features ([ lazy_static_0_2_11 ])
-      ++ (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([ libc_0_2_42 security_framework_0_1_16 security_framework_sys_0_1_16 tempdir_0_3_7 ]) else [])
-      ++ (if !(kernel == "windows" || kernel == "darwin" || kernel == "ios") then mapFeatures features ([ openssl_0_9_24 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ schannel_0_1_13 ]) else []);
-  };
-  native_tls_0_1_5_features = f: updateFeatures f (rec {
-    lazy_static_0_2_11.default = true;
-    libc_0_2_42.default = true;
-    native_tls_0_1_5.default = (f.native_tls_0_1_5.default or true);
-    openssl_0_9_24.default = true;
-    schannel_0_1_13.default = true;
-    security_framework_0_1_16.OSX_10_8 = true;
-    security_framework_0_1_16.default = true;
-    security_framework_sys_0_1_16.default = true;
-    tempdir_0_3_7.default = true;
-  }) [ lazy_static_0_2_11_features libc_0_2_42_features security_framework_0_1_16_features security_framework_sys_0_1_16_features tempdir_0_3_7_features openssl_0_9_24_features schannel_0_1_13_features ];
-  net2_0_2_33 = { features?(net2_0_2_33_features {}) }: net2_0_2_33_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ])
-      ++ (if kernel == "redox" || (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-    features = mkFeatures (features.net2_0_2_33 or {});
-  };
-  net2_0_2_33_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    libc_0_2_42.default = true;
-    net2_0_2_33.default = (f.net2_0_2_33.default or true);
-    net2_0_2_33.duration =
-      (f.net2_0_2_33.duration or false) ||
-      (f.net2_0_2_33.default or false) ||
-      (net2_0_2_33.default or false);
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.handleapi = true;
-    winapi_0_3_5.winsock2 = true;
-    winapi_0_3_5.ws2def = true;
-    winapi_0_3_5.ws2ipdef = true;
-    winapi_0_3_5.ws2tcpip = true;
-  }) [ cfg_if_0_1_4_features libc_0_2_42_features winapi_0_3_5_features ];
-  nodrop_0_1_12 = { features?(nodrop_0_1_12_features {}) }: nodrop_0_1_12_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.nodrop_0_1_12 or {});
-  };
-  nodrop_0_1_12_features = f: updateFeatures f (rec {
-    nodrop_0_1_12.default = (f.nodrop_0_1_12.default or true);
-    nodrop_0_1_12.nodrop-union =
-      (f.nodrop_0_1_12.nodrop-union or false) ||
-      (f.nodrop_0_1_12.use_union or false) ||
-      (nodrop_0_1_12.use_union or false);
-    nodrop_0_1_12.std =
-      (f.nodrop_0_1_12.std or false) ||
-      (f.nodrop_0_1_12.default or false) ||
-      (nodrop_0_1_12.default or false);
-  }) [];
-  num_0_1_42 = { features?(num_0_1_42_features {}) }: num_0_1_42_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_39 num_iter_0_1_37 num_traits_0_2_5 ]);
-    features = mkFeatures (features.num_0_1_42 or {});
-  };
-  num_0_1_42_features = f: updateFeatures f (rec {
-    num_0_1_42.bigint =
-      (f.num_0_1_42.bigint or false) ||
-      (f.num_0_1_42.default or false) ||
-      (num_0_1_42.default or false);
-    num_0_1_42.complex =
-      (f.num_0_1_42.complex or false) ||
-      (f.num_0_1_42.default or false) ||
-      (num_0_1_42.default or false);
-    num_0_1_42.default = (f.num_0_1_42.default or true);
-    num_0_1_42.num-bigint =
-      (f.num_0_1_42.num-bigint or false) ||
-      (f.num_0_1_42.bigint or false) ||
-      (num_0_1_42.bigint or false);
-    num_0_1_42.num-complex =
-      (f.num_0_1_42.num-complex or false) ||
-      (f.num_0_1_42.complex or false) ||
-      (num_0_1_42.complex or false);
-    num_0_1_42.num-rational =
-      (f.num_0_1_42.num-rational or false) ||
-      (f.num_0_1_42.rational or false) ||
-      (num_0_1_42.rational or false);
-    num_0_1_42.rational =
-      (f.num_0_1_42.rational or false) ||
-      (f.num_0_1_42.default or false) ||
-      (num_0_1_42.default or false);
-    num_0_1_42.rustc-serialize =
-      (f.num_0_1_42.rustc-serialize or false) ||
-      (f.num_0_1_42.default or false) ||
-      (num_0_1_42.default or false);
-    num_integer_0_1_39.default = true;
-    num_iter_0_1_37.default = true;
-    num_traits_0_2_5.default = true;
-  }) [ num_integer_0_1_39_features num_iter_0_1_37_features num_traits_0_2_5_features ];
-  num_integer_0_1_39 = { features?(num_integer_0_1_39_features {}) }: num_integer_0_1_39_ {
-    dependencies = mapFeatures features ([ num_traits_0_2_5 ]);
-    features = mkFeatures (features.num_integer_0_1_39 or {});
-  };
-  num_integer_0_1_39_features = f: updateFeatures f (rec {
-    num_integer_0_1_39.default = (f.num_integer_0_1_39.default or true);
-    num_integer_0_1_39.std =
-      (f.num_integer_0_1_39.std or false) ||
-      (f.num_integer_0_1_39.default or false) ||
-      (num_integer_0_1_39.default or false);
-    num_traits_0_2_5.default = (f.num_traits_0_2_5.default or false);
-    num_traits_0_2_5.i128 =
-      (f.num_traits_0_2_5.i128 or false) ||
-      (num_integer_0_1_39.i128 or false) ||
-      (f.num_integer_0_1_39.i128 or false);
-    num_traits_0_2_5.std =
-      (f.num_traits_0_2_5.std or false) ||
-      (num_integer_0_1_39.std or false) ||
-      (f.num_integer_0_1_39.std or false);
-  }) [ num_traits_0_2_5_features ];
-  num_iter_0_1_37 = { features?(num_iter_0_1_37_features {}) }: num_iter_0_1_37_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_39 num_traits_0_2_5 ]);
-    features = mkFeatures (features.num_iter_0_1_37 or {});
-  };
-  num_iter_0_1_37_features = f: updateFeatures f (rec {
-    num_integer_0_1_39.default = (f.num_integer_0_1_39.default or false);
-    num_integer_0_1_39.i128 =
-      (f.num_integer_0_1_39.i128 or false) ||
-      (num_iter_0_1_37.i128 or false) ||
-      (f.num_iter_0_1_37.i128 or false);
-    num_integer_0_1_39.std =
-      (f.num_integer_0_1_39.std or false) ||
-      (num_iter_0_1_37.std or false) ||
-      (f.num_iter_0_1_37.std or false);
-    num_iter_0_1_37.default = (f.num_iter_0_1_37.default or true);
-    num_iter_0_1_37.std =
-      (f.num_iter_0_1_37.std or false) ||
-      (f.num_iter_0_1_37.default or false) ||
-      (num_iter_0_1_37.default or false);
-    num_traits_0_2_5.default = (f.num_traits_0_2_5.default or false);
-    num_traits_0_2_5.i128 =
-      (f.num_traits_0_2_5.i128 or false) ||
-      (num_iter_0_1_37.i128 or false) ||
-      (f.num_iter_0_1_37.i128 or false);
-    num_traits_0_2_5.std =
-      (f.num_traits_0_2_5.std or false) ||
-      (num_iter_0_1_37.std or false) ||
-      (f.num_iter_0_1_37.std or false);
-  }) [ num_integer_0_1_39_features num_traits_0_2_5_features ];
-  num_traits_0_2_5 = { features?(num_traits_0_2_5_features {}) }: num_traits_0_2_5_ {
-    features = mkFeatures (features.num_traits_0_2_5 or {});
-  };
-  num_traits_0_2_5_features = f: updateFeatures f (rec {
-    num_traits_0_2_5.default = (f.num_traits_0_2_5.default or true);
-    num_traits_0_2_5.std =
-      (f.num_traits_0_2_5.std or false) ||
-      (f.num_traits_0_2_5.default or false) ||
-      (num_traits_0_2_5.default or false);
-  }) [];
-  num_cpus_1_8_0 = { features?(num_cpus_1_8_0_features {}) }: num_cpus_1_8_0_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]);
-  };
-  num_cpus_1_8_0_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = true;
-    num_cpus_1_8_0.default = (f.num_cpus_1_8_0.default or true);
-  }) [ libc_0_2_42_features ];
-  openssl_0_9_24 = { features?(openssl_0_9_24_features {}) }: openssl_0_9_24_ {
-    dependencies = mapFeatures features ([ bitflags_0_9_1 foreign_types_0_3_2 lazy_static_1_0_2 libc_0_2_42 openssl_sys_0_9_33 ]);
-    features = mkFeatures (features.openssl_0_9_24 or {});
-  };
-  openssl_0_9_24_features = f: updateFeatures f (rec {
-    bitflags_0_9_1.default = true;
-    foreign_types_0_3_2.default = true;
-    lazy_static_1_0_2.default = true;
-    libc_0_2_42.default = true;
-    openssl_0_9_24.default = (f.openssl_0_9_24.default or true);
-    openssl_sys_0_9_33.default = true;
-  }) [ bitflags_0_9_1_features foreign_types_0_3_2_features lazy_static_1_0_2_features libc_0_2_42_features openssl_sys_0_9_33_features ];
-  openssl_sys_0_9_33 = { features?(openssl_sys_0_9_33_features {}) }: openssl_sys_0_9_33_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ])
-      ++ (if abi == "msvc" then mapFeatures features ([]) else []);
-    buildDependencies = mapFeatures features ([ cc_1_0_18 pkg_config_0_3_12 ]);
-  };
-  openssl_sys_0_9_33_features = f: updateFeatures f (rec {
-    cc_1_0_18.default = true;
-    libc_0_2_42.default = true;
-    openssl_sys_0_9_33.default = (f.openssl_sys_0_9_33.default or true);
-    pkg_config_0_3_12.default = true;
-  }) [ libc_0_2_42_features cc_1_0_18_features pkg_config_0_3_12_features ];
-  percent_encoding_1_0_1 = { features?(percent_encoding_1_0_1_features {}) }: percent_encoding_1_0_1_ {};
-  percent_encoding_1_0_1_features = f: updateFeatures f (rec {
-    percent_encoding_1_0_1.default = (f.percent_encoding_1_0_1.default or true);
-  }) [];
-  phf_0_7_22 = { features?(phf_0_7_22_features {}) }: phf_0_7_22_ {
-    dependencies = mapFeatures features ([ phf_shared_0_7_22 ]);
-    features = mkFeatures (features.phf_0_7_22 or {});
-  };
-  phf_0_7_22_features = f: updateFeatures f (rec {
-    phf_0_7_22.default = (f.phf_0_7_22.default or true);
-    phf_shared_0_7_22.core =
-      (f.phf_shared_0_7_22.core or false) ||
-      (phf_0_7_22.core or false) ||
-      (f.phf_0_7_22.core or false);
-    phf_shared_0_7_22.default = true;
-    phf_shared_0_7_22.unicase =
-      (f.phf_shared_0_7_22.unicase or false) ||
-      (phf_0_7_22.unicase or false) ||
-      (f.phf_0_7_22.unicase or false);
-  }) [ phf_shared_0_7_22_features ];
-  phf_codegen_0_7_22 = { features?(phf_codegen_0_7_22_features {}) }: phf_codegen_0_7_22_ {
-    dependencies = mapFeatures features ([ phf_generator_0_7_22 phf_shared_0_7_22 ]);
-  };
-  phf_codegen_0_7_22_features = f: updateFeatures f (rec {
-    phf_codegen_0_7_22.default = (f.phf_codegen_0_7_22.default or true);
-    phf_generator_0_7_22.default = true;
-    phf_shared_0_7_22.default = true;
-  }) [ phf_generator_0_7_22_features phf_shared_0_7_22_features ];
-  phf_generator_0_7_22 = { features?(phf_generator_0_7_22_features {}) }: phf_generator_0_7_22_ {
-    dependencies = mapFeatures features ([ phf_shared_0_7_22 rand_0_4_2 ]);
-  };
-  phf_generator_0_7_22_features = f: updateFeatures f (rec {
-    phf_generator_0_7_22.default = (f.phf_generator_0_7_22.default or true);
-    phf_shared_0_7_22.default = true;
-    rand_0_4_2.default = true;
-  }) [ phf_shared_0_7_22_features rand_0_4_2_features ];
-  phf_shared_0_7_22 = { features?(phf_shared_0_7_22_features {}) }: phf_shared_0_7_22_ {
-    dependencies = mapFeatures features ([ siphasher_0_2_2 ]
-      ++ (if features.phf_shared_0_7_22.unicase or false then [ unicase_1_4_2 ] else []));
-    features = mkFeatures (features.phf_shared_0_7_22 or {});
-  };
-  phf_shared_0_7_22_features = f: updateFeatures f (rec {
-    phf_shared_0_7_22.default = (f.phf_shared_0_7_22.default or true);
-    siphasher_0_2_2.default = true;
-    unicase_1_4_2.default = true;
-  }) [ siphasher_0_2_2_features unicase_1_4_2_features ];
-  pkg_config_0_3_12 = { features?(pkg_config_0_3_12_features {}) }: pkg_config_0_3_12_ {};
-  pkg_config_0_3_12_features = f: updateFeatures f (rec {
-    pkg_config_0_3_12.default = (f.pkg_config_0_3_12.default or true);
-  }) [];
-  quote_0_3_15 = { features?(quote_0_3_15_features {}) }: quote_0_3_15_ {};
-  quote_0_3_15_features = f: updateFeatures f (rec {
-    quote_0_3_15.default = (f.quote_0_3_15.default or true);
-  }) [];
-  rand_0_3_22 = { features?(rand_0_3_22_features {}) }: rand_0_3_22_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 rand_0_4_2 ])
-      ++ (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_3_3 ]) else []);
-    features = mkFeatures (features.rand_0_3_22 or {});
-  };
-  rand_0_3_22_features = f: updateFeatures f (rec {
-    fuchsia_zircon_0_3_3.default = true;
-    libc_0_2_42.default = true;
-    rand_0_3_22.default = (f.rand_0_3_22.default or true);
-    rand_0_3_22.i128_support =
-      (f.rand_0_3_22.i128_support or false) ||
-      (f.rand_0_3_22.nightly or false) ||
-      (rand_0_3_22.nightly or false);
-    rand_0_4_2.default = true;
-  }) [ libc_0_2_42_features rand_0_4_2_features fuchsia_zircon_0_3_3_features ];
-  rand_0_4_2 = { features?(rand_0_4_2_features {}) }: rand_0_4_2_ {
-    dependencies = (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_3_3 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ ]
-      ++ (if features.rand_0_4_2.libc or false then [ libc_0_2_42 ] else [])) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-    features = mkFeatures (features.rand_0_4_2 or {});
-  };
-  rand_0_4_2_features = f: updateFeatures f (rec {
-    fuchsia_zircon_0_3_3.default = true;
-    libc_0_2_42.default = true;
-    rand_0_4_2.default = (f.rand_0_4_2.default or true);
-    rand_0_4_2.i128_support =
-      (f.rand_0_4_2.i128_support or false) ||
-      (f.rand_0_4_2.nightly or false) ||
-      (rand_0_4_2.nightly or false);
-    rand_0_4_2.libc =
-      (f.rand_0_4_2.libc or false) ||
-      (f.rand_0_4_2.std or false) ||
-      (rand_0_4_2.std or false);
-    rand_0_4_2.std =
-      (f.rand_0_4_2.std or false) ||
-      (f.rand_0_4_2.default or false) ||
-      (rand_0_4_2.default or false);
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.minwindef = true;
-    winapi_0_3_5.ntsecapi = true;
-    winapi_0_3_5.profileapi = true;
-    winapi_0_3_5.winnt = true;
-  }) [ fuchsia_zircon_0_3_3_features libc_0_2_42_features winapi_0_3_5_features ];
-  redox_syscall_0_1_40 = { features?(redox_syscall_0_1_40_features {}) }: redox_syscall_0_1_40_ {};
-  redox_syscall_0_1_40_features = f: updateFeatures f (rec {
-    redox_syscall_0_1_40.default = (f.redox_syscall_0_1_40.default or true);
-  }) [];
-  redox_termios_0_1_1 = { features?(redox_termios_0_1_1_features {}) }: redox_termios_0_1_1_ {
-    dependencies = mapFeatures features ([ redox_syscall_0_1_40 ]);
-  };
-  redox_termios_0_1_1_features = f: updateFeatures f (rec {
-    redox_syscall_0_1_40.default = true;
-    redox_termios_0_1_1.default = (f.redox_termios_0_1_1.default or true);
-  }) [ redox_syscall_0_1_40_features ];
-  regex_0_1_80 = { features?(regex_0_1_80_features {}) }: regex_0_1_80_ {
-    dependencies = mapFeatures features ([ aho_corasick_0_5_3 memchr_0_1_11 regex_syntax_0_3_9 thread_local_0_2_7 utf8_ranges_0_1_3 ]);
-    features = mkFeatures (features.regex_0_1_80 or {});
-  };
-  regex_0_1_80_features = f: updateFeatures f (rec {
-    aho_corasick_0_5_3.default = true;
-    memchr_0_1_11.default = true;
-    regex_0_1_80.default = (f.regex_0_1_80.default or true);
-    regex_0_1_80.simd =
-      (f.regex_0_1_80.simd or false) ||
-      (f.regex_0_1_80.simd-accel or false) ||
-      (regex_0_1_80.simd-accel or false);
-    regex_syntax_0_3_9.default = true;
-    thread_local_0_2_7.default = true;
-    utf8_ranges_0_1_3.default = true;
-  }) [ aho_corasick_0_5_3_features memchr_0_1_11_features regex_syntax_0_3_9_features thread_local_0_2_7_features utf8_ranges_0_1_3_features ];
-  regex_syntax_0_3_9 = { features?(regex_syntax_0_3_9_features {}) }: regex_syntax_0_3_9_ {};
-  regex_syntax_0_3_9_features = f: updateFeatures f (rec {
-    regex_syntax_0_3_9.default = (f.regex_syntax_0_3_9.default or true);
-  }) [];
-  relay_0_1_1 = { features?(relay_0_1_1_features {}) }: relay_0_1_1_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 ]);
-  };
-  relay_0_1_1_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    relay_0_1_1.default = (f.relay_0_1_1.default or true);
-  }) [ futures_0_1_23_features ];
-  remove_dir_all_0_5_1 = { features?(remove_dir_all_0_5_1_features {}) }: remove_dir_all_0_5_1_ {
-    dependencies = (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-  };
-  remove_dir_all_0_5_1_features = f: updateFeatures f (rec {
-    remove_dir_all_0_5_1.default = (f.remove_dir_all_0_5_1.default or true);
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.errhandlingapi = true;
-    winapi_0_3_5.fileapi = true;
-    winapi_0_3_5.std = true;
-    winapi_0_3_5.winbase = true;
-    winapi_0_3_5.winerror = true;
-  }) [ winapi_0_3_5_features ];
-  reqwest_0_8_6 = { features?(reqwest_0_8_6_features {}) }: reqwest_0_8_6_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 encoding_rs_0_7_2 futures_0_1_23 hyper_0_11_27 hyper_tls_0_1_3 libflate_0_1_16 log_0_4_3 mime_guess_2_0_0_alpha_6 native_tls_0_1_5 serde_1_0_70 serde_json_1_0_24 serde_urlencoded_0_5_2 tokio_core_0_1_17 tokio_io_0_1_7 tokio_tls_0_1_4 url_1_7_1 uuid_0_6_5 ]);
-    features = mkFeatures (features.reqwest_0_8_6 or {});
-  };
-  reqwest_0_8_6_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    encoding_rs_0_7_2.default = true;
-    futures_0_1_23.default = true;
-    hyper_0_11_27.default = true;
-    hyper_tls_0_1_3.default = true;
-    libflate_0_1_16.default = true;
-    log_0_4_3.default = true;
-    mime_guess_2_0_0_alpha_6.default = true;
-    native_tls_0_1_5.default = true;
-    reqwest_0_8_6.default = (f.reqwest_0_8_6.default or true);
-    serde_1_0_70.default = true;
-    serde_json_1_0_24.default = true;
-    serde_urlencoded_0_5_2.default = true;
-    tokio_core_0_1_17.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_tls_0_1_4.default = true;
-    url_1_7_1.default = true;
-    uuid_0_6_5.default = true;
-    uuid_0_6_5.v4 = true;
-  }) [ bytes_0_4_9_features encoding_rs_0_7_2_features futures_0_1_23_features hyper_0_11_27_features hyper_tls_0_1_3_features libflate_0_1_16_features log_0_4_3_features mime_guess_2_0_0_alpha_6_features native_tls_0_1_5_features serde_1_0_70_features serde_json_1_0_24_features serde_urlencoded_0_5_2_features tokio_core_0_1_17_features tokio_io_0_1_7_features tokio_tls_0_1_4_features url_1_7_1_features uuid_0_6_5_features ];
-  safemem_0_2_0 = { features?(safemem_0_2_0_features {}) }: safemem_0_2_0_ {};
-  safemem_0_2_0_features = f: updateFeatures f (rec {
-    safemem_0_2_0.default = (f.safemem_0_2_0.default or true);
-  }) [];
-  schannel_0_1_13 = { features?(schannel_0_1_13_features {}) }: schannel_0_1_13_ {
-    dependencies = mapFeatures features ([ lazy_static_1_0_2 winapi_0_3_5 ]);
-  };
-  schannel_0_1_13_features = f: updateFeatures f (rec {
-    lazy_static_1_0_2.default = true;
-    schannel_0_1_13.default = (f.schannel_0_1_13.default or true);
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.lmcons = true;
-    winapi_0_3_5.minschannel = true;
-    winapi_0_3_5.schannel = true;
-    winapi_0_3_5.securitybaseapi = true;
-    winapi_0_3_5.sysinfoapi = true;
-    winapi_0_3_5.timezoneapi = true;
-    winapi_0_3_5.winbase = true;
-    winapi_0_3_5.wincrypt = true;
-    winapi_0_3_5.winerror = true;
-  }) [ lazy_static_1_0_2_features winapi_0_3_5_features ];
-  scoped_tls_0_1_2 = { features?(scoped_tls_0_1_2_features {}) }: scoped_tls_0_1_2_ {
-    features = mkFeatures (features.scoped_tls_0_1_2 or {});
-  };
-  scoped_tls_0_1_2_features = f: updateFeatures f (rec {
-    scoped_tls_0_1_2.default = (f.scoped_tls_0_1_2.default or true);
-  }) [];
-  scopeguard_0_3_3 = { features?(scopeguard_0_3_3_features {}) }: scopeguard_0_3_3_ {
-    features = mkFeatures (features.scopeguard_0_3_3 or {});
-  };
-  scopeguard_0_3_3_features = f: updateFeatures f (rec {
-    scopeguard_0_3_3.default = (f.scopeguard_0_3_3.default or true);
-    scopeguard_0_3_3.use_std =
-      (f.scopeguard_0_3_3.use_std or false) ||
-      (f.scopeguard_0_3_3.default or false) ||
-      (scopeguard_0_3_3.default or false);
-  }) [];
-  security_framework_0_1_16 = { features?(security_framework_0_1_16_features {}) }: security_framework_0_1_16_ {
-    dependencies = mapFeatures features ([ core_foundation_0_2_3 core_foundation_sys_0_2_3 libc_0_2_42 security_framework_sys_0_1_16 ]);
-    features = mkFeatures (features.security_framework_0_1_16 or {});
-  };
-  security_framework_0_1_16_features = f: updateFeatures f (rec {
-    core_foundation_0_2_3.default = true;
-    core_foundation_sys_0_2_3.default = true;
-    libc_0_2_42.default = true;
-    security_framework_0_1_16.OSX_10_10 =
-      (f.security_framework_0_1_16.OSX_10_10 or false) ||
-      (f.security_framework_0_1_16.OSX_10_11 or false) ||
-      (security_framework_0_1_16.OSX_10_11 or false);
-    security_framework_0_1_16.OSX_10_11 =
-      (f.security_framework_0_1_16.OSX_10_11 or false) ||
-      (f.security_framework_0_1_16.OSX_10_12 or false) ||
-      (security_framework_0_1_16.OSX_10_12 or false);
-    security_framework_0_1_16.OSX_10_8 =
-      (f.security_framework_0_1_16.OSX_10_8 or false) ||
-      (f.security_framework_0_1_16.OSX_10_9 or false) ||
-      (security_framework_0_1_16.OSX_10_9 or false);
-    security_framework_0_1_16.OSX_10_9 =
-      (f.security_framework_0_1_16.OSX_10_9 or false) ||
-      (f.security_framework_0_1_16.OSX_10_10 or false) ||
-      (security_framework_0_1_16.OSX_10_10 or false);
-    security_framework_0_1_16.default = (f.security_framework_0_1_16.default or true);
-    security_framework_sys_0_1_16.OSX_10_10 =
-      (f.security_framework_sys_0_1_16.OSX_10_10 or false) ||
-      (security_framework_0_1_16.OSX_10_10 or false) ||
-      (f.security_framework_0_1_16.OSX_10_10 or false);
-    security_framework_sys_0_1_16.OSX_10_11 =
-      (f.security_framework_sys_0_1_16.OSX_10_11 or false) ||
-      (security_framework_0_1_16.OSX_10_11 or false) ||
-      (f.security_framework_0_1_16.OSX_10_11 or false) ||
-      (security_framework_0_1_16.OSX_10_12 or false) ||
-      (f.security_framework_0_1_16.OSX_10_12 or false);
-    security_framework_sys_0_1_16.OSX_10_8 =
-      (f.security_framework_sys_0_1_16.OSX_10_8 or false) ||
-      (security_framework_0_1_16.OSX_10_8 or false) ||
-      (f.security_framework_0_1_16.OSX_10_8 or false);
-    security_framework_sys_0_1_16.OSX_10_9 =
-      (f.security_framework_sys_0_1_16.OSX_10_9 or false) ||
-      (security_framework_0_1_16.OSX_10_9 or false) ||
-      (f.security_framework_0_1_16.OSX_10_9 or false);
-    security_framework_sys_0_1_16.default = true;
-  }) [ core_foundation_0_2_3_features core_foundation_sys_0_2_3_features libc_0_2_42_features security_framework_sys_0_1_16_features ];
-  security_framework_sys_0_1_16 = { features?(security_framework_sys_0_1_16_features {}) }: security_framework_sys_0_1_16_ {
-    dependencies = mapFeatures features ([ core_foundation_sys_0_2_3 libc_0_2_42 ]);
-    features = mkFeatures (features.security_framework_sys_0_1_16 or {});
-  };
-  security_framework_sys_0_1_16_features = f: updateFeatures f (rec {
-    core_foundation_sys_0_2_3.default = true;
-    libc_0_2_42.default = true;
-    security_framework_sys_0_1_16.OSX_10_10 =
-      (f.security_framework_sys_0_1_16.OSX_10_10 or false) ||
-      (f.security_framework_sys_0_1_16.OSX_10_11 or false) ||
-      (security_framework_sys_0_1_16.OSX_10_11 or false);
-    security_framework_sys_0_1_16.OSX_10_11 =
-      (f.security_framework_sys_0_1_16.OSX_10_11 or false) ||
-      (f.security_framework_sys_0_1_16.OSX_10_12 or false) ||
-      (security_framework_sys_0_1_16.OSX_10_12 or false);
-    security_framework_sys_0_1_16.OSX_10_8 =
-      (f.security_framework_sys_0_1_16.OSX_10_8 or false) ||
-      (f.security_framework_sys_0_1_16.OSX_10_9 or false) ||
-      (security_framework_sys_0_1_16.OSX_10_9 or false);
-    security_framework_sys_0_1_16.OSX_10_9 =
-      (f.security_framework_sys_0_1_16.OSX_10_9 or false) ||
-      (f.security_framework_sys_0_1_16.OSX_10_10 or false) ||
-      (security_framework_sys_0_1_16.OSX_10_10 or false);
-    security_framework_sys_0_1_16.default = (f.security_framework_sys_0_1_16.default or true);
-  }) [ core_foundation_sys_0_2_3_features libc_0_2_42_features ];
-  semver_0_9_0 = { features?(semver_0_9_0_features {}) }: semver_0_9_0_ {
-    dependencies = mapFeatures features ([ semver_parser_0_7_0 ]);
-    features = mkFeatures (features.semver_0_9_0 or {});
-  };
-  semver_0_9_0_features = f: updateFeatures f (rec {
-    semver_0_9_0.default = (f.semver_0_9_0.default or true);
-    semver_0_9_0.serde =
-      (f.semver_0_9_0.serde or false) ||
-      (f.semver_0_9_0.ci or false) ||
-      (semver_0_9_0.ci or false);
-    semver_parser_0_7_0.default = true;
-  }) [ semver_parser_0_7_0_features ];
-  semver_parser_0_7_0 = { features?(semver_parser_0_7_0_features {}) }: semver_parser_0_7_0_ {};
-  semver_parser_0_7_0_features = f: updateFeatures f (rec {
-    semver_parser_0_7_0.default = (f.semver_parser_0_7_0.default or true);
-  }) [];
-  serde_1_0_70 = { features?(serde_1_0_70_features {}) }: serde_1_0_70_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.serde_1_0_70 or {});
-  };
-  serde_1_0_70_features = f: updateFeatures f (rec {
-    serde_1_0_70.default = (f.serde_1_0_70.default or true);
-    serde_1_0_70.serde_derive =
-      (f.serde_1_0_70.serde_derive or false) ||
-      (f.serde_1_0_70.derive or false) ||
-      (serde_1_0_70.derive or false);
-    serde_1_0_70.std =
-      (f.serde_1_0_70.std or false) ||
-      (f.serde_1_0_70.default or false) ||
-      (serde_1_0_70.default or false);
-    serde_1_0_70.unstable =
-      (f.serde_1_0_70.unstable or false) ||
-      (f.serde_1_0_70.alloc or false) ||
-      (serde_1_0_70.alloc or false);
-  }) [];
-  serde_json_1_0_24 = { features?(serde_json_1_0_24_features {}) }: serde_json_1_0_24_ {
-    dependencies = mapFeatures features ([ dtoa_0_4_3 itoa_0_4_2 serde_1_0_70 ]);
-    features = mkFeatures (features.serde_json_1_0_24 or {});
-  };
-  serde_json_1_0_24_features = f: updateFeatures f (rec {
-    dtoa_0_4_3.default = true;
-    itoa_0_4_2.default = true;
-    serde_1_0_70.default = true;
-    serde_json_1_0_24.default = (f.serde_json_1_0_24.default or true);
-    serde_json_1_0_24.indexmap =
-      (f.serde_json_1_0_24.indexmap or false) ||
-      (f.serde_json_1_0_24.preserve_order or false) ||
-      (serde_json_1_0_24.preserve_order or false);
-  }) [ dtoa_0_4_3_features itoa_0_4_2_features serde_1_0_70_features ];
-  serde_urlencoded_0_5_2 = { features?(serde_urlencoded_0_5_2_features {}) }: serde_urlencoded_0_5_2_ {
-    dependencies = mapFeatures features ([ dtoa_0_4_3 itoa_0_4_2 serde_1_0_70 url_1_7_1 ]);
-  };
-  serde_urlencoded_0_5_2_features = f: updateFeatures f (rec {
-    dtoa_0_4_3.default = true;
-    itoa_0_4_2.default = true;
-    serde_1_0_70.default = true;
-    serde_urlencoded_0_5_2.default = (f.serde_urlencoded_0_5_2.default or true);
-    url_1_7_1.default = true;
-  }) [ dtoa_0_4_3_features itoa_0_4_2_features serde_1_0_70_features url_1_7_1_features ];
-  siphasher_0_2_2 = { features?(siphasher_0_2_2_features {}) }: siphasher_0_2_2_ {
-    dependencies = mapFeatures features ([]);
-  };
-  siphasher_0_2_2_features = f: updateFeatures f (rec {
-    siphasher_0_2_2.default = (f.siphasher_0_2_2.default or true);
-  }) [];
-  slab_0_3_0 = { features?(slab_0_3_0_features {}) }: slab_0_3_0_ {};
-  slab_0_3_0_features = f: updateFeatures f (rec {
-    slab_0_3_0.default = (f.slab_0_3_0.default or true);
-  }) [];
-  slab_0_4_0 = { features?(slab_0_4_0_features {}) }: slab_0_4_0_ {};
-  slab_0_4_0_features = f: updateFeatures f (rec {
-    slab_0_4_0.default = (f.slab_0_4_0.default or true);
-  }) [];
-  slog_1_7_1 = { features?(slog_1_7_1_features {}) }: slog_1_7_1_ {
-    features = mkFeatures (features.slog_1_7_1 or {});
-  };
-  slog_1_7_1_features = f: updateFeatures f (rec {
-    slog_1_7_1.default = (f.slog_1_7_1.default or true);
-    slog_1_7_1.std =
-      (f.slog_1_7_1.std or false) ||
-      (f.slog_1_7_1.default or false) ||
-      (slog_1_7_1.default or false);
-  }) [];
-  slog_envlogger_0_5_0 = { features?(slog_envlogger_0_5_0_features {}) }: slog_envlogger_0_5_0_ {
-    dependencies = mapFeatures features ([ log_0_3_9 regex_0_1_80 slog_1_7_1 slog_stdlog_1_1_0 slog_term_1_5_0 ]);
-  };
-  slog_envlogger_0_5_0_features = f: updateFeatures f (rec {
-    log_0_3_9.default = true;
-    regex_0_1_80.default = true;
-    slog_1_7_1.default = true;
-    slog_envlogger_0_5_0.default = (f.slog_envlogger_0_5_0.default or true);
-    slog_stdlog_1_1_0.default = true;
-    slog_term_1_5_0.default = true;
-  }) [ log_0_3_9_features regex_0_1_80_features slog_1_7_1_features slog_stdlog_1_1_0_features slog_term_1_5_0_features ];
-  slog_extra_0_1_2 = { features?(slog_extra_0_1_2_features {}) }: slog_extra_0_1_2_ {
-    dependencies = mapFeatures features ([ slog_1_7_1 thread_local_0_3_5 ]);
-  };
-  slog_extra_0_1_2_features = f: updateFeatures f (rec {
-    slog_1_7_1.default = true;
-    slog_extra_0_1_2.default = (f.slog_extra_0_1_2.default or true);
-    thread_local_0_3_5.default = true;
-  }) [ slog_1_7_1_features thread_local_0_3_5_features ];
-  slog_stdlog_1_1_0 = { features?(slog_stdlog_1_1_0_features {}) }: slog_stdlog_1_1_0_ {
-    dependencies = mapFeatures features ([ crossbeam_0_2_12 lazy_static_0_2_11 log_0_3_9 slog_1_7_1 slog_term_1_5_0 ]);
-  };
-  slog_stdlog_1_1_0_features = f: updateFeatures f (rec {
-    crossbeam_0_2_12.default = true;
-    lazy_static_0_2_11.default = true;
-    log_0_3_9.default = true;
-    slog_1_7_1.default = true;
-    slog_stdlog_1_1_0.default = (f.slog_stdlog_1_1_0.default or true);
-    slog_term_1_5_0.default = true;
-  }) [ crossbeam_0_2_12_features lazy_static_0_2_11_features log_0_3_9_features slog_1_7_1_features slog_term_1_5_0_features ];
-  slog_stream_1_2_1 = { features?(slog_stream_1_2_1_features {}) }: slog_stream_1_2_1_ {
-    dependencies = mapFeatures features ([ slog_1_7_1 slog_extra_0_1_2 thread_local_0_3_5 ]);
-  };
-  slog_stream_1_2_1_features = f: updateFeatures f (rec {
-    slog_1_7_1.default = true;
-    slog_extra_0_1_2.default = true;
-    slog_stream_1_2_1.default = (f.slog_stream_1_2_1.default or true);
-    thread_local_0_3_5.default = true;
-  }) [ slog_1_7_1_features slog_extra_0_1_2_features thread_local_0_3_5_features ];
-  slog_term_1_5_0 = { features?(slog_term_1_5_0_features {}) }: slog_term_1_5_0_ {
-    dependencies = mapFeatures features ([ chrono_0_2_25 isatty_0_1_8 slog_1_7_1 slog_stream_1_2_1 thread_local_0_3_5 ]);
-  };
-  slog_term_1_5_0_features = f: updateFeatures f (rec {
-    chrono_0_2_25.default = true;
-    isatty_0_1_8.default = true;
-    slog_1_7_1.default = true;
-    slog_stream_1_2_1.default = true;
-    slog_term_1_5_0.default = (f.slog_term_1_5_0.default or true);
-    thread_local_0_3_5.default = true;
-  }) [ chrono_0_2_25_features isatty_0_1_8_features slog_1_7_1_features slog_stream_1_2_1_features thread_local_0_3_5_features ];
-  smallvec_0_2_1 = { features?(smallvec_0_2_1_features {}) }: smallvec_0_2_1_ {};
-  smallvec_0_2_1_features = f: updateFeatures f (rec {
-    smallvec_0_2_1.default = (f.smallvec_0_2_1.default or true);
-  }) [];
-  strsim_0_7_0 = { features?(strsim_0_7_0_features {}) }: strsim_0_7_0_ {};
-  strsim_0_7_0_features = f: updateFeatures f (rec {
-    strsim_0_7_0.default = (f.strsim_0_7_0.default or true);
-  }) [];
-  syn_0_11_11 = { features?(syn_0_11_11_features {}) }: syn_0_11_11_ {
-    dependencies = mapFeatures features ([ ]
-      ++ (if features.syn_0_11_11.quote or false then [ quote_0_3_15 ] else [])
-      ++ (if features.syn_0_11_11.synom or false then [ synom_0_11_3 ] else [])
-      ++ (if features.syn_0_11_11.unicode-xid or false then [ unicode_xid_0_0_4 ] else []));
-    features = mkFeatures (features.syn_0_11_11 or {});
-  };
-  syn_0_11_11_features = f: updateFeatures f (rec {
-    quote_0_3_15.default = true;
-    syn_0_11_11.default = (f.syn_0_11_11.default or true);
-    syn_0_11_11.parsing =
-      (f.syn_0_11_11.parsing or false) ||
-      (f.syn_0_11_11.default or false) ||
-      (syn_0_11_11.default or false);
-    syn_0_11_11.printing =
-      (f.syn_0_11_11.printing or false) ||
-      (f.syn_0_11_11.default or false) ||
-      (syn_0_11_11.default or false);
-    syn_0_11_11.quote =
-      (f.syn_0_11_11.quote or false) ||
-      (f.syn_0_11_11.printing or false) ||
-      (syn_0_11_11.printing or false);
-    syn_0_11_11.synom =
-      (f.syn_0_11_11.synom or false) ||
-      (f.syn_0_11_11.parsing or false) ||
-      (syn_0_11_11.parsing or false);
-    syn_0_11_11.unicode-xid =
-      (f.syn_0_11_11.unicode-xid or false) ||
-      (f.syn_0_11_11.parsing or false) ||
-      (syn_0_11_11.parsing or false);
-    synom_0_11_3.default = true;
-    unicode_xid_0_0_4.default = true;
-  }) [ quote_0_3_15_features synom_0_11_3_features unicode_xid_0_0_4_features ];
-  synom_0_11_3 = { features?(synom_0_11_3_features {}) }: synom_0_11_3_ {
-    dependencies = mapFeatures features ([ unicode_xid_0_0_4 ]);
-  };
-  synom_0_11_3_features = f: updateFeatures f (rec {
-    synom_0_11_3.default = (f.synom_0_11_3.default or true);
-    unicode_xid_0_0_4.default = true;
-  }) [ unicode_xid_0_0_4_features ];
-  take_0_1_0 = { features?(take_0_1_0_features {}) }: take_0_1_0_ {};
-  take_0_1_0_features = f: updateFeatures f (rec {
-    take_0_1_0.default = (f.take_0_1_0.default or true);
-  }) [];
-  tar_0_4_16 = { features?(tar_0_4_16_features {}) }: tar_0_4_16_ {
-    dependencies = mapFeatures features ([ filetime_0_2_1 ])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_40 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]
-      ++ (if features.tar_0_4_16.xattr or false then [ xattr_0_2_2 ] else [])) else []);
-    features = mkFeatures (features.tar_0_4_16 or {});
-  };
-  tar_0_4_16_features = f: updateFeatures f (rec {
-    filetime_0_2_1.default = true;
-    libc_0_2_42.default = true;
-    redox_syscall_0_1_40.default = true;
-    tar_0_4_16.default = (f.tar_0_4_16.default or true);
-    tar_0_4_16.xattr =
-      (f.tar_0_4_16.xattr or false) ||
-      (f.tar_0_4_16.default or false) ||
-      (tar_0_4_16.default or false);
-    xattr_0_2_2.default = true;
-  }) [ filetime_0_2_1_features redox_syscall_0_1_40_features libc_0_2_42_features xattr_0_2_2_features ];
-  tempdir_0_3_7 = { features?(tempdir_0_3_7_features {}) }: tempdir_0_3_7_ {
-    dependencies = mapFeatures features ([ rand_0_4_2 remove_dir_all_0_5_1 ]);
-  };
-  tempdir_0_3_7_features = f: updateFeatures f (rec {
-    rand_0_4_2.default = true;
-    remove_dir_all_0_5_1.default = true;
-    tempdir_0_3_7.default = (f.tempdir_0_3_7.default or true);
-  }) [ rand_0_4_2_features remove_dir_all_0_5_1_features ];
-  termion_1_5_1 = { features?(termion_1_5_1_features {}) }: termion_1_5_1_ {
-    dependencies = (if !(kernel == "redox") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_40 redox_termios_0_1_1 ]) else []);
-  };
-  termion_1_5_1_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = true;
-    redox_syscall_0_1_40.default = true;
-    redox_termios_0_1_1.default = true;
-    termion_1_5_1.default = (f.termion_1_5_1.default or true);
-  }) [ libc_0_2_42_features redox_syscall_0_1_40_features redox_termios_0_1_1_features ];
-  textwrap_0_10_0 = { features?(textwrap_0_10_0_features {}) }: textwrap_0_10_0_ {
-    dependencies = mapFeatures features ([ unicode_width_0_1_5 ]);
-  };
-  textwrap_0_10_0_features = f: updateFeatures f (rec {
-    textwrap_0_10_0.default = (f.textwrap_0_10_0.default or true);
-    unicode_width_0_1_5.default = true;
-  }) [ unicode_width_0_1_5_features ];
-  thread_id_2_0_0 = { features?(thread_id_2_0_0_features {}) }: thread_id_2_0_0_ {
-    dependencies = mapFeatures features ([ kernel32_sys_0_2_2 libc_0_2_42 ]);
-  };
-  thread_id_2_0_0_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_42.default = true;
-    thread_id_2_0_0.default = (f.thread_id_2_0_0.default or true);
-  }) [ kernel32_sys_0_2_2_features libc_0_2_42_features ];
-  thread_local_0_2_7 = { features?(thread_local_0_2_7_features {}) }: thread_local_0_2_7_ {
-    dependencies = mapFeatures features ([ thread_id_2_0_0 ]);
-  };
-  thread_local_0_2_7_features = f: updateFeatures f (rec {
-    thread_id_2_0_0.default = true;
-    thread_local_0_2_7.default = (f.thread_local_0_2_7.default or true);
-  }) [ thread_id_2_0_0_features ];
-  thread_local_0_3_5 = { features?(thread_local_0_3_5_features {}) }: thread_local_0_3_5_ {
-    dependencies = mapFeatures features ([ lazy_static_1_0_2 unreachable_1_0_0 ]);
-  };
-  thread_local_0_3_5_features = f: updateFeatures f (rec {
-    lazy_static_1_0_2.default = true;
-    thread_local_0_3_5.default = (f.thread_local_0_3_5.default or true);
-    unreachable_1_0_0.default = true;
-  }) [ lazy_static_1_0_2_features unreachable_1_0_0_features ];
-  time_0_1_40 = { features?(time_0_1_40_features {}) }: time_0_1_40_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_40 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-  };
-  time_0_1_40_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = true;
-    redox_syscall_0_1_40.default = true;
-    time_0_1_40.default = (f.time_0_1_40.default or true);
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.minwinbase = true;
-    winapi_0_3_5.minwindef = true;
-    winapi_0_3_5.ntdef = true;
-    winapi_0_3_5.profileapi = true;
-    winapi_0_3_5.std = true;
-    winapi_0_3_5.sysinfoapi = true;
-    winapi_0_3_5.timezoneapi = true;
-  }) [ libc_0_2_42_features redox_syscall_0_1_40_features winapi_0_3_5_features ];
-  tokio_0_1_7 = { features?(tokio_0_1_7_features {}) }: tokio_0_1_7_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 mio_0_6_15 tokio_executor_0_1_2 tokio_fs_0_1_2 tokio_io_0_1_7 tokio_reactor_0_1_2 tokio_tcp_0_1_0 tokio_threadpool_0_1_5 tokio_timer_0_2_4 tokio_udp_0_1_1 ]);
-  };
-  tokio_0_1_7_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    mio_0_6_15.default = true;
-    tokio_0_1_7.default = (f.tokio_0_1_7.default or true);
-    tokio_executor_0_1_2.default = true;
-    tokio_fs_0_1_2.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_reactor_0_1_2.default = true;
-    tokio_tcp_0_1_0.default = true;
-    tokio_threadpool_0_1_5.default = true;
-    tokio_timer_0_2_4.default = true;
-    tokio_udp_0_1_1.default = true;
-  }) [ futures_0_1_23_features mio_0_6_15_features tokio_executor_0_1_2_features tokio_fs_0_1_2_features tokio_io_0_1_7_features tokio_reactor_0_1_2_features tokio_tcp_0_1_0_features tokio_threadpool_0_1_5_features tokio_timer_0_2_4_features tokio_udp_0_1_1_features ];
-  tokio_codec_0_1_0 = { features?(tokio_codec_0_1_0_features {}) }: tokio_codec_0_1_0_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 futures_0_1_23 tokio_io_0_1_7 ]);
-  };
-  tokio_codec_0_1_0_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    tokio_codec_0_1_0.default = (f.tokio_codec_0_1_0.default or true);
-    tokio_io_0_1_7.default = true;
-  }) [ bytes_0_4_9_features futures_0_1_23_features tokio_io_0_1_7_features ];
-  tokio_core_0_1_17 = { features?(tokio_core_0_1_17_features {}) }: tokio_core_0_1_17_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 futures_0_1_23 iovec_0_1_2 log_0_4_3 mio_0_6_15 scoped_tls_0_1_2 tokio_0_1_7 tokio_executor_0_1_2 tokio_io_0_1_7 tokio_reactor_0_1_2 tokio_timer_0_2_4 ]);
-  };
-  tokio_core_0_1_17_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    iovec_0_1_2.default = true;
-    log_0_4_3.default = true;
-    mio_0_6_15.default = true;
-    scoped_tls_0_1_2.default = true;
-    tokio_0_1_7.default = true;
-    tokio_core_0_1_17.default = (f.tokio_core_0_1_17.default or true);
-    tokio_executor_0_1_2.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_reactor_0_1_2.default = true;
-    tokio_timer_0_2_4.default = true;
-  }) [ bytes_0_4_9_features futures_0_1_23_features iovec_0_1_2_features log_0_4_3_features mio_0_6_15_features scoped_tls_0_1_2_features tokio_0_1_7_features tokio_executor_0_1_2_features tokio_io_0_1_7_features tokio_reactor_0_1_2_features tokio_timer_0_2_4_features ];
-  tokio_executor_0_1_2 = { features?(tokio_executor_0_1_2_features {}) }: tokio_executor_0_1_2_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 ]);
-    features = mkFeatures (features.tokio_executor_0_1_2 or {});
-  };
-  tokio_executor_0_1_2_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    tokio_executor_0_1_2.default = (f.tokio_executor_0_1_2.default or true);
-    tokio_executor_0_1_2.futures2 =
-      (f.tokio_executor_0_1_2.futures2 or false) ||
-      (f.tokio_executor_0_1_2.unstable-futures or false) ||
-      (tokio_executor_0_1_2.unstable-futures or false);
-  }) [ futures_0_1_23_features ];
-  tokio_fs_0_1_2 = { features?(tokio_fs_0_1_2_features {}) }: tokio_fs_0_1_2_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 tokio_io_0_1_7 tokio_threadpool_0_1_5 ]);
-  };
-  tokio_fs_0_1_2_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    tokio_fs_0_1_2.default = (f.tokio_fs_0_1_2.default or true);
-    tokio_io_0_1_7.default = true;
-    tokio_threadpool_0_1_5.default = true;
-  }) [ futures_0_1_23_features tokio_io_0_1_7_features tokio_threadpool_0_1_5_features ];
-  tokio_io_0_1_7 = { features?(tokio_io_0_1_7_features {}) }: tokio_io_0_1_7_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 futures_0_1_23 log_0_4_3 ]);
-  };
-  tokio_io_0_1_7_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    log_0_4_3.default = true;
-    tokio_io_0_1_7.default = (f.tokio_io_0_1_7.default or true);
-  }) [ bytes_0_4_9_features futures_0_1_23_features log_0_4_3_features ];
-  tokio_proto_0_1_1 = { features?(tokio_proto_0_1_1_features {}) }: tokio_proto_0_1_1_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 log_0_3_9 net2_0_2_33 rand_0_3_22 slab_0_3_0 smallvec_0_2_1 take_0_1_0 tokio_core_0_1_17 tokio_io_0_1_7 tokio_service_0_1_0 ]);
-  };
-  tokio_proto_0_1_1_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    log_0_3_9.default = true;
-    net2_0_2_33.default = true;
-    rand_0_3_22.default = true;
-    slab_0_3_0.default = true;
-    smallvec_0_2_1.default = true;
-    take_0_1_0.default = true;
-    tokio_core_0_1_17.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_proto_0_1_1.default = (f.tokio_proto_0_1_1.default or true);
-    tokio_service_0_1_0.default = true;
-  }) [ futures_0_1_23_features log_0_3_9_features net2_0_2_33_features rand_0_3_22_features slab_0_3_0_features smallvec_0_2_1_features take_0_1_0_features tokio_core_0_1_17_features tokio_io_0_1_7_features tokio_service_0_1_0_features ];
-  tokio_reactor_0_1_2 = { features?(tokio_reactor_0_1_2_features {}) }: tokio_reactor_0_1_2_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 log_0_4_3 mio_0_6_15 slab_0_4_0 tokio_executor_0_1_2 tokio_io_0_1_7 ]);
-  };
-  tokio_reactor_0_1_2_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    log_0_4_3.default = true;
-    mio_0_6_15.default = true;
-    slab_0_4_0.default = true;
-    tokio_executor_0_1_2.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_reactor_0_1_2.default = (f.tokio_reactor_0_1_2.default or true);
-  }) [ futures_0_1_23_features log_0_4_3_features mio_0_6_15_features slab_0_4_0_features tokio_executor_0_1_2_features tokio_io_0_1_7_features ];
-  tokio_service_0_1_0 = { features?(tokio_service_0_1_0_features {}) }: tokio_service_0_1_0_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 ]);
-  };
-  tokio_service_0_1_0_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    tokio_service_0_1_0.default = (f.tokio_service_0_1_0.default or true);
-  }) [ futures_0_1_23_features ];
-  tokio_tcp_0_1_0 = { features?(tokio_tcp_0_1_0_features {}) }: tokio_tcp_0_1_0_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 futures_0_1_23 iovec_0_1_2 mio_0_6_15 tokio_io_0_1_7 tokio_reactor_0_1_2 ]);
-    features = mkFeatures (features.tokio_tcp_0_1_0 or {});
-  };
-  tokio_tcp_0_1_0_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    iovec_0_1_2.default = true;
-    mio_0_6_15.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_reactor_0_1_2.default = true;
-    tokio_tcp_0_1_0.default = (f.tokio_tcp_0_1_0.default or true);
-    tokio_tcp_0_1_0.futures2 =
-      (f.tokio_tcp_0_1_0.futures2 or false) ||
-      (f.tokio_tcp_0_1_0.unstable-futures or false) ||
-      (tokio_tcp_0_1_0.unstable-futures or false);
-  }) [ bytes_0_4_9_features futures_0_1_23_features iovec_0_1_2_features mio_0_6_15_features tokio_io_0_1_7_features tokio_reactor_0_1_2_features ];
-  tokio_threadpool_0_1_5 = { features?(tokio_threadpool_0_1_5_features {}) }: tokio_threadpool_0_1_5_ {
-    dependencies = mapFeatures features ([ crossbeam_deque_0_3_1 futures_0_1_23 log_0_4_3 num_cpus_1_8_0 rand_0_4_2 tokio_executor_0_1_2 ]);
-  };
-  tokio_threadpool_0_1_5_features = f: updateFeatures f (rec {
-    crossbeam_deque_0_3_1.default = true;
-    futures_0_1_23.default = true;
-    log_0_4_3.default = true;
-    num_cpus_1_8_0.default = true;
-    rand_0_4_2.default = true;
-    tokio_executor_0_1_2.default = true;
-    tokio_threadpool_0_1_5.default = (f.tokio_threadpool_0_1_5.default or true);
-  }) [ crossbeam_deque_0_3_1_features futures_0_1_23_features log_0_4_3_features num_cpus_1_8_0_features rand_0_4_2_features tokio_executor_0_1_2_features ];
-  tokio_timer_0_2_4 = { features?(tokio_timer_0_2_4_features {}) }: tokio_timer_0_2_4_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 tokio_executor_0_1_2 ]);
-  };
-  tokio_timer_0_2_4_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    tokio_executor_0_1_2.default = true;
-    tokio_timer_0_2_4.default = (f.tokio_timer_0_2_4.default or true);
-  }) [ futures_0_1_23_features tokio_executor_0_1_2_features ];
-  tokio_tls_0_1_4 = { features?(tokio_tls_0_1_4_features {}) }: tokio_tls_0_1_4_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 native_tls_0_1_5 tokio_core_0_1_17 tokio_io_0_1_7 ])
-      ++ (if !(kernel == "darwin") && !(kernel == "windows") && !(kernel == "ios") then mapFeatures features ([]) else [])
-      ++ (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([]) else []);
-  };
-  tokio_tls_0_1_4_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    native_tls_0_1_5.default = true;
-    tokio_core_0_1_17.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_tls_0_1_4.default = (f.tokio_tls_0_1_4.default or true);
-  }) [ futures_0_1_23_features native_tls_0_1_5_features tokio_core_0_1_17_features tokio_io_0_1_7_features ];
-  tokio_udp_0_1_1 = { features?(tokio_udp_0_1_1_features {}) }: tokio_udp_0_1_1_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 futures_0_1_23 log_0_4_3 mio_0_6_15 tokio_codec_0_1_0 tokio_io_0_1_7 tokio_reactor_0_1_2 ]);
-  };
-  tokio_udp_0_1_1_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    log_0_4_3.default = true;
-    mio_0_6_15.default = true;
-    tokio_codec_0_1_0.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_reactor_0_1_2.default = true;
-    tokio_udp_0_1_1.default = (f.tokio_udp_0_1_1.default or true);
-  }) [ bytes_0_4_9_features futures_0_1_23_features log_0_4_3_features mio_0_6_15_features tokio_codec_0_1_0_features tokio_io_0_1_7_features tokio_reactor_0_1_2_features ];
-  try_lock_0_1_0 = { features?(try_lock_0_1_0_features {}) }: try_lock_0_1_0_ {};
-  try_lock_0_1_0_features = f: updateFeatures f (rec {
-    try_lock_0_1_0.default = (f.try_lock_0_1_0.default or true);
-  }) [];
-  unicase_1_4_2 = { features?(unicase_1_4_2_features {}) }: unicase_1_4_2_ {
-    dependencies = mapFeatures features ([]);
-    buildDependencies = mapFeatures features ([ version_check_0_1_4 ]);
-    features = mkFeatures (features.unicase_1_4_2 or {});
-  };
-  unicase_1_4_2_features = f: updateFeatures f (rec {
-    unicase_1_4_2.default = (f.unicase_1_4_2.default or true);
-    unicase_1_4_2.heapsize =
-      (f.unicase_1_4_2.heapsize or false) ||
-      (f.unicase_1_4_2.heap_size or false) ||
-      (unicase_1_4_2.heap_size or false);
-    unicase_1_4_2.heapsize_plugin =
-      (f.unicase_1_4_2.heapsize_plugin or false) ||
-      (f.unicase_1_4_2.heap_size or false) ||
-      (unicase_1_4_2.heap_size or false);
-    version_check_0_1_4.default = true;
-  }) [ version_check_0_1_4_features ];
-  unicase_2_1_0 = { features?(unicase_2_1_0_features {}) }: unicase_2_1_0_ {
-    buildDependencies = mapFeatures features ([ version_check_0_1_4 ]);
-    features = mkFeatures (features.unicase_2_1_0 or {});
-  };
-  unicase_2_1_0_features = f: updateFeatures f (rec {
-    unicase_2_1_0.default = (f.unicase_2_1_0.default or true);
-    version_check_0_1_4.default = true;
-  }) [ version_check_0_1_4_features ];
-  unicode_bidi_0_3_4 = { features?(unicode_bidi_0_3_4_features {}) }: unicode_bidi_0_3_4_ {
-    dependencies = mapFeatures features ([ matches_0_1_7 ]);
-    features = mkFeatures (features.unicode_bidi_0_3_4 or {});
-  };
-  unicode_bidi_0_3_4_features = f: updateFeatures f (rec {
-    matches_0_1_7.default = true;
-    unicode_bidi_0_3_4.default = (f.unicode_bidi_0_3_4.default or true);
-    unicode_bidi_0_3_4.flame =
-      (f.unicode_bidi_0_3_4.flame or false) ||
-      (f.unicode_bidi_0_3_4.flame_it or false) ||
-      (unicode_bidi_0_3_4.flame_it or false);
-    unicode_bidi_0_3_4.flamer =
-      (f.unicode_bidi_0_3_4.flamer or false) ||
-      (f.unicode_bidi_0_3_4.flame_it or false) ||
-      (unicode_bidi_0_3_4.flame_it or false);
-    unicode_bidi_0_3_4.serde =
-      (f.unicode_bidi_0_3_4.serde or false) ||
-      (f.unicode_bidi_0_3_4.with_serde or false) ||
-      (unicode_bidi_0_3_4.with_serde or false);
-  }) [ matches_0_1_7_features ];
-  unicode_normalization_0_1_7 = { features?(unicode_normalization_0_1_7_features {}) }: unicode_normalization_0_1_7_ {};
-  unicode_normalization_0_1_7_features = f: updateFeatures f (rec {
-    unicode_normalization_0_1_7.default = (f.unicode_normalization_0_1_7.default or true);
-  }) [];
-  unicode_width_0_1_5 = { features?(unicode_width_0_1_5_features {}) }: unicode_width_0_1_5_ {
-    features = mkFeatures (features.unicode_width_0_1_5 or {});
-  };
-  unicode_width_0_1_5_features = f: updateFeatures f (rec {
-    unicode_width_0_1_5.default = (f.unicode_width_0_1_5.default or true);
-  }) [];
-  unicode_xid_0_0_4 = { features?(unicode_xid_0_0_4_features {}) }: unicode_xid_0_0_4_ {
-    features = mkFeatures (features.unicode_xid_0_0_4 or {});
-  };
-  unicode_xid_0_0_4_features = f: updateFeatures f (rec {
-    unicode_xid_0_0_4.default = (f.unicode_xid_0_0_4.default or true);
-  }) [];
-  unreachable_1_0_0 = { features?(unreachable_1_0_0_features {}) }: unreachable_1_0_0_ {
-    dependencies = mapFeatures features ([ void_1_0_2 ]);
-  };
-  unreachable_1_0_0_features = f: updateFeatures f (rec {
-    unreachable_1_0_0.default = (f.unreachable_1_0_0.default or true);
-    void_1_0_2.default = (f.void_1_0_2.default or false);
-  }) [ void_1_0_2_features ];
-  url_1_7_1 = { features?(url_1_7_1_features {}) }: url_1_7_1_ {
-    dependencies = mapFeatures features ([ idna_0_1_5 matches_0_1_7 percent_encoding_1_0_1 ]);
-    features = mkFeatures (features.url_1_7_1 or {});
-  };
-  url_1_7_1_features = f: updateFeatures f (rec {
-    idna_0_1_5.default = true;
-    matches_0_1_7.default = true;
-    percent_encoding_1_0_1.default = true;
-    url_1_7_1.default = (f.url_1_7_1.default or true);
-    url_1_7_1.encoding =
-      (f.url_1_7_1.encoding or false) ||
-      (f.url_1_7_1.query_encoding or false) ||
-      (url_1_7_1.query_encoding or false);
-    url_1_7_1.heapsize =
-      (f.url_1_7_1.heapsize or false) ||
-      (f.url_1_7_1.heap_size or false) ||
-      (url_1_7_1.heap_size or false);
-  }) [ idna_0_1_5_features matches_0_1_7_features percent_encoding_1_0_1_features ];
-  utf8_ranges_0_1_3 = { features?(utf8_ranges_0_1_3_features {}) }: utf8_ranges_0_1_3_ {};
-  utf8_ranges_0_1_3_features = f: updateFeatures f (rec {
-    utf8_ranges_0_1_3.default = (f.utf8_ranges_0_1_3.default or true);
-  }) [];
-  uuid_0_6_5 = { features?(uuid_0_6_5_features {}) }: uuid_0_6_5_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ]
-      ++ (if features.uuid_0_6_5.rand or false then [ rand_0_4_2 ] else []));
-    features = mkFeatures (features.uuid_0_6_5 or {});
-  };
-  uuid_0_6_5_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    rand_0_4_2.default = true;
-    uuid_0_6_5.byteorder =
-      (f.uuid_0_6_5.byteorder or false) ||
-      (f.uuid_0_6_5.u128 or false) ||
-      (uuid_0_6_5.u128 or false);
-    uuid_0_6_5.default = (f.uuid_0_6_5.default or true);
-    uuid_0_6_5.md5 =
-      (f.uuid_0_6_5.md5 or false) ||
-      (f.uuid_0_6_5.v3 or false) ||
-      (uuid_0_6_5.v3 or false);
-    uuid_0_6_5.nightly =
-      (f.uuid_0_6_5.nightly or false) ||
-      (f.uuid_0_6_5.const_fn or false) ||
-      (uuid_0_6_5.const_fn or false);
-    uuid_0_6_5.rand =
-      (f.uuid_0_6_5.rand or false) ||
-      (f.uuid_0_6_5.v3 or false) ||
-      (uuid_0_6_5.v3 or false) ||
-      (f.uuid_0_6_5.v4 or false) ||
-      (uuid_0_6_5.v4 or false) ||
-      (f.uuid_0_6_5.v5 or false) ||
-      (uuid_0_6_5.v5 or false);
-    uuid_0_6_5.sha1 =
-      (f.uuid_0_6_5.sha1 or false) ||
-      (f.uuid_0_6_5.v5 or false) ||
-      (uuid_0_6_5.v5 or false);
-    uuid_0_6_5.std =
-      (f.uuid_0_6_5.std or false) ||
-      (f.uuid_0_6_5.default or false) ||
-      (uuid_0_6_5.default or false) ||
-      (f.uuid_0_6_5.use_std or false) ||
-      (uuid_0_6_5.use_std or false);
-  }) [ cfg_if_0_1_4_features rand_0_4_2_features ];
-  vcpkg_0_2_4 = { features?(vcpkg_0_2_4_features {}) }: vcpkg_0_2_4_ {};
-  vcpkg_0_2_4_features = f: updateFeatures f (rec {
-    vcpkg_0_2_4.default = (f.vcpkg_0_2_4.default or true);
-  }) [];
-  vec_map_0_8_1 = { features?(vec_map_0_8_1_features {}) }: vec_map_0_8_1_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.vec_map_0_8_1 or {});
-  };
-  vec_map_0_8_1_features = f: updateFeatures f (rec {
-    vec_map_0_8_1.default = (f.vec_map_0_8_1.default or true);
-    vec_map_0_8_1.serde =
-      (f.vec_map_0_8_1.serde or false) ||
-      (f.vec_map_0_8_1.eders or false) ||
-      (vec_map_0_8_1.eders or false);
-  }) [];
-  version_check_0_1_4 = { features?(version_check_0_1_4_features {}) }: version_check_0_1_4_ {};
-  version_check_0_1_4_features = f: updateFeatures f (rec {
-    version_check_0_1_4.default = (f.version_check_0_1_4.default or true);
-  }) [];
-  void_1_0_2 = { features?(void_1_0_2_features {}) }: void_1_0_2_ {
-    features = mkFeatures (features.void_1_0_2 or {});
-  };
-  void_1_0_2_features = f: updateFeatures f (rec {
-    void_1_0_2.default = (f.void_1_0_2.default or true);
-    void_1_0_2.std =
-      (f.void_1_0_2.std or false) ||
-      (f.void_1_0_2.default or false) ||
-      (void_1_0_2.default or false);
-  }) [];
-  want_0_0_4 = { features?(want_0_0_4_features {}) }: want_0_0_4_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 log_0_4_3 try_lock_0_1_0 ]);
-  };
-  want_0_0_4_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    log_0_4_3.default = true;
-    try_lock_0_1_0.default = true;
-    want_0_0_4.default = (f.want_0_0_4.default or true);
-  }) [ futures_0_1_23_features log_0_4_3_features try_lock_0_1_0_features ];
-  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
-  winapi_0_2_8_features = f: updateFeatures f (rec {
-    winapi_0_2_8.default = (f.winapi_0_2_8.default or true);
-  }) [];
-  winapi_0_3_5 = { features?(winapi_0_3_5_features {}) }: winapi_0_3_5_ {
-    dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([ winapi_i686_pc_windows_gnu_0_4_0 ]) else [])
-      ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([ winapi_x86_64_pc_windows_gnu_0_4_0 ]) else []);
-    features = mkFeatures (features.winapi_0_3_5 or {});
-  };
-  winapi_0_3_5_features = f: updateFeatures f (rec {
-    winapi_0_3_5.default = (f.winapi_0_3_5.default or true);
-    winapi_i686_pc_windows_gnu_0_4_0.default = true;
-    winapi_x86_64_pc_windows_gnu_0_4_0.default = true;
-  }) [ winapi_i686_pc_windows_gnu_0_4_0_features winapi_x86_64_pc_windows_gnu_0_4_0_features ];
-  winapi_build_0_1_1 = { features?(winapi_build_0_1_1_features {}) }: winapi_build_0_1_1_ {};
-  winapi_build_0_1_1_features = f: updateFeatures f (rec {
-    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
-  }) [];
-  winapi_i686_pc_windows_gnu_0_4_0 = { features?(winapi_i686_pc_windows_gnu_0_4_0_features {}) }: winapi_i686_pc_windows_gnu_0_4_0_ {};
-  winapi_i686_pc_windows_gnu_0_4_0_features = f: updateFeatures f (rec {
-    winapi_i686_pc_windows_gnu_0_4_0.default = (f.winapi_i686_pc_windows_gnu_0_4_0.default or true);
-  }) [];
-  winapi_x86_64_pc_windows_gnu_0_4_0 = { features?(winapi_x86_64_pc_windows_gnu_0_4_0_features {}) }: winapi_x86_64_pc_windows_gnu_0_4_0_ {};
-  winapi_x86_64_pc_windows_gnu_0_4_0_features = f: updateFeatures f (rec {
-    winapi_x86_64_pc_windows_gnu_0_4_0.default = (f.winapi_x86_64_pc_windows_gnu_0_4_0.default or true);
-  }) [];
-  ws2_32_sys_0_2_1 = { features?(ws2_32_sys_0_2_1_features {}) }: ws2_32_sys_0_2_1_ {
-    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
-    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
-  };
-  ws2_32_sys_0_2_1_features = f: updateFeatures f (rec {
-    winapi_0_2_8.default = true;
-    winapi_build_0_1_1.default = true;
-    ws2_32_sys_0_2_1.default = (f.ws2_32_sys_0_2_1.default or true);
-  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
-  xattr_0_2_2 = { features?(xattr_0_2_2_features {}) }: xattr_0_2_2_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]);
-    features = mkFeatures (features.xattr_0_2_2 or {});
-  };
-  xattr_0_2_2_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = true;
-    xattr_0_2_2.default = (f.xattr_0_2_2.default or true);
-    xattr_0_2_2.unsupported =
-      (f.xattr_0_2_2.unsupported or false) ||
-      (f.xattr_0_2_2.default or false) ||
-      (xattr_0_2_2.default or false);
-  }) [ libc_0_2_42_features ];
+  deps.adler32."1.0.2" = {};
+  deps.aho_corasick."0.5.3" = {
+    memchr = "0.1.11";
+  };
+  deps.ansi_term."0.9.0" = {};
+  deps.arrayvec."0.4.8" = {
+    nodrop = "0.1.13";
+  };
+  deps.atty."0.2.3" = {
+    termion = "1.5.1";
+    libc = "0.2.44";
+    kernel32_sys = "0.2.2";
+    winapi = "0.2.8";
+  };
+  deps.base64."0.9.3" = {
+    byteorder = "1.1.0";
+    safemem = "0.3.0";
+  };
+  deps.bitflags."0.7.0" = {};
+  deps.bitflags."0.9.1" = {};
+  deps.bitflags."1.0.4" = {};
+  deps.byteorder."1.1.0" = {};
+  deps.bytes."0.4.11" = {
+    byteorder = "1.1.0";
+    iovec = "0.1.1";
+  };
+  deps.cargo_download."0.1.2" = {
+    ansi_term = "0.9.0";
+    clap = "2.27.1";
+    conv = "0.3.3";
+    derive_error = "0.0.3";
+    exitcode = "1.1.2";
+    flate2 = "0.2.20";
+    isatty = "0.1.5";
+    itertools = "0.6.5";
+    lazy_static = "0.2.10";
+    log = "0.3.8";
+    maplit = "0.1.6";
+    reqwest = "0.9.5";
+    semver = "0.9.0";
+    serde_json = "1.0.6";
+    slog = "1.7.1";
+    slog_envlogger = "0.5.0";
+    slog_stdlog = "1.1.0";
+    slog_stream = "1.2.1";
+    tar = "0.4.13";
+    time = "0.1.38";
+  };
+  deps.case."0.1.0" = {};
+  deps.cc."1.0.3" = {};
+  deps.cfg_if."0.1.2" = {};
+  deps.chrono."0.2.25" = {
+    num = "0.1.40";
+    time = "0.1.38";
+  };
+  deps.clap."2.27.1" = {
+    ansi_term = "0.9.0";
+    atty = "0.2.3";
+    bitflags = "0.9.1";
+    strsim = "0.6.0";
+    textwrap = "0.9.0";
+    unicode_width = "0.1.4";
+    vec_map = "0.8.0";
+  };
+  deps.cloudabi."0.0.3" = {
+    bitflags = "1.0.4";
+  };
+  deps.conv."0.3.3" = {
+    custom_derive = "0.1.7";
+  };
+  deps.core_foundation."0.5.1" = {
+    core_foundation_sys = "0.5.1";
+    libc = "0.2.44";
+  };
+  deps.core_foundation_sys."0.5.1" = {
+    libc = "0.2.44";
+  };
+  deps.crc32fast."1.1.1" = {};
+  deps.crossbeam."0.2.10" = {};
+  deps.crossbeam_deque."0.6.2" = {
+    crossbeam_epoch = "0.6.1";
+    crossbeam_utils = "0.6.1";
+  };
+  deps.crossbeam_epoch."0.6.1" = {
+    arrayvec = "0.4.8";
+    cfg_if = "0.1.2";
+    crossbeam_utils = "0.6.1";
+    lazy_static = "1.2.0";
+    memoffset = "0.2.1";
+    scopeguard = "0.3.3";
+  };
+  deps.crossbeam_utils."0.6.1" = {
+    cfg_if = "0.1.2";
+  };
+  deps.custom_derive."0.1.7" = {};
+  deps.derive_error."0.0.3" = {
+    case = "0.1.0";
+    quote = "0.3.15";
+    syn = "0.11.11";
+  };
+  deps.dtoa."0.4.2" = {};
+  deps.either."1.4.0" = {};
+  deps.encoding_rs."0.8.13" = {
+    cfg_if = "0.1.2";
+  };
+  deps.exitcode."1.1.2" = {};
+  deps.filetime."0.1.14" = {
+    cfg_if = "0.1.2";
+    redox_syscall = "0.1.31";
+    libc = "0.2.44";
+  };
+  deps.flate2."0.2.20" = {
+    libc = "0.2.44";
+    miniz_sys = "0.1.10";
+  };
+  deps.fnv."1.0.6" = {};
+  deps.foreign_types."0.3.2" = {
+    foreign_types_shared = "0.1.1";
+  };
+  deps.foreign_types_shared."0.1.1" = {};
+  deps.fuchsia_zircon."0.2.1" = {
+    fuchsia_zircon_sys = "0.2.0";
+  };
+  deps.fuchsia_zircon."0.3.3" = {
+    bitflags = "1.0.4";
+    fuchsia_zircon_sys = "0.3.3";
+  };
+  deps.fuchsia_zircon_sys."0.2.0" = {
+    bitflags = "0.7.0";
+  };
+  deps.fuchsia_zircon_sys."0.3.3" = {};
+  deps.futures."0.1.25" = {};
+  deps.futures_cpupool."0.1.7" = {
+    futures = "0.1.25";
+    num_cpus = "1.8.0";
+  };
+  deps.h2."0.1.13" = {
+    byteorder = "1.1.0";
+    bytes = "0.4.11";
+    fnv = "1.0.6";
+    futures = "0.1.25";
+    http = "0.1.14";
+    indexmap = "1.0.2";
+    log = "0.4.6";
+    slab = "0.4.0";
+    string = "0.1.2";
+    tokio_io = "0.1.10";
+  };
+  deps.http."0.1.14" = {
+    bytes = "0.4.11";
+    fnv = "1.0.6";
+    itoa = "0.4.3";
+  };
+  deps.httparse."1.2.3" = {};
+  deps.hyper."0.12.16" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    futures_cpupool = "0.1.7";
+    h2 = "0.1.13";
+    http = "0.1.14";
+    httparse = "1.2.3";
+    iovec = "0.1.1";
+    itoa = "0.4.3";
+    log = "0.4.6";
+    net2 = "0.2.33";
+    time = "0.1.38";
+    tokio = "0.1.7";
+    tokio_executor = "0.1.5";
+    tokio_io = "0.1.10";
+    tokio_reactor = "0.1.7";
+    tokio_tcp = "0.1.2";
+    tokio_threadpool = "0.1.9";
+    tokio_timer = "0.2.5";
+    want = "0.0.6";
+  };
+  deps.hyper_tls."0.3.1" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    hyper = "0.12.16";
+    native_tls = "0.2.2";
+    tokio_io = "0.1.10";
+  };
+  deps.idna."0.1.4" = {
+    matches = "0.1.6";
+    unicode_bidi = "0.3.4";
+    unicode_normalization = "0.1.5";
+  };
+  deps.indexmap."1.0.2" = {};
+  deps.iovec."0.1.1" = {
+    libc = "0.2.44";
+    winapi = "0.2.8";
+  };
+  deps.isatty."0.1.5" = {
+    libc = "0.2.44";
+    kernel32_sys = "0.2.2";
+    winapi = "0.2.8";
+  };
+  deps.itertools."0.6.5" = {
+    either = "1.4.0";
+  };
+  deps.itoa."0.3.4" = {};
+  deps.itoa."0.4.3" = {};
+  deps.kernel32_sys."0.2.2" = {
+    winapi = "0.2.8";
+    winapi_build = "0.1.1";
+  };
+  deps.lazy_static."0.2.10" = {};
+  deps.lazy_static."1.2.0" = {};
+  deps.lazycell."1.2.0" = {};
+  deps.libc."0.2.44" = {};
+  deps.libflate."0.1.19" = {
+    adler32 = "1.0.2";
+    byteorder = "1.1.0";
+    crc32fast = "1.1.1";
+  };
+  deps.lock_api."0.1.5" = {
+    owning_ref = "0.4.0";
+    scopeguard = "0.3.3";
+  };
+  deps.log."0.3.8" = {};
+  deps.log."0.4.6" = {
+    cfg_if = "0.1.2";
+  };
+  deps.maplit."0.1.6" = {};
+  deps.matches."0.1.6" = {};
+  deps.memchr."0.1.11" = {
+    libc = "0.2.44";
+  };
+  deps.memoffset."0.2.1" = {};
+  deps.mime."0.3.12" = {
+    unicase = "2.1.0";
+  };
+  deps.mime_guess."2.0.0-alpha.6" = {
+    mime = "0.3.12";
+    phf = "0.7.21";
+    unicase = "1.4.2";
+    phf_codegen = "0.7.21";
+  };
+  deps.miniz_sys."0.1.10" = {
+    libc = "0.2.44";
+    cc = "1.0.3";
+  };
+  deps.mio."0.6.16" = {
+    iovec = "0.1.1";
+    lazycell = "1.2.0";
+    log = "0.4.6";
+    net2 = "0.2.33";
+    slab = "0.4.0";
+    fuchsia_zircon = "0.3.3";
+    fuchsia_zircon_sys = "0.3.3";
+    libc = "0.2.44";
+    kernel32_sys = "0.2.2";
+    miow = "0.2.1";
+    winapi = "0.2.8";
+  };
+  deps.miow."0.2.1" = {
+    kernel32_sys = "0.2.2";
+    net2 = "0.2.33";
+    winapi = "0.2.8";
+    ws2_32_sys = "0.2.1";
+  };
+  deps.native_tls."0.2.2" = {
+    lazy_static = "1.2.0";
+    libc = "0.2.44";
+    security_framework = "0.2.1";
+    security_framework_sys = "0.2.1";
+    tempfile = "3.0.5";
+    openssl = "0.10.15";
+    openssl_probe = "0.1.2";
+    openssl_sys = "0.9.39";
+    log = "0.4.6";
+    schannel = "0.1.14";
+  };
+  deps.net2."0.2.33" = {
+    cfg_if = "0.1.2";
+    libc = "0.2.44";
+    winapi = "0.3.6";
+  };
+  deps.nodrop."0.1.13" = {};
+  deps.num."0.1.40" = {
+    num_integer = "0.1.35";
+    num_iter = "0.1.34";
+    num_traits = "0.1.40";
+  };
+  deps.num_integer."0.1.35" = {
+    num_traits = "0.1.40";
+  };
+  deps.num_iter."0.1.34" = {
+    num_integer = "0.1.35";
+    num_traits = "0.1.40";
+  };
+  deps.num_traits."0.1.40" = {};
+  deps.num_cpus."1.8.0" = {
+    libc = "0.2.44";
+  };
+  deps.openssl."0.10.15" = {
+    bitflags = "1.0.4";
+    cfg_if = "0.1.2";
+    foreign_types = "0.3.2";
+    lazy_static = "1.2.0";
+    libc = "0.2.44";
+    openssl_sys = "0.9.39";
+  };
+  deps.openssl_probe."0.1.2" = {};
+  deps.openssl_sys."0.9.39" = {
+    libc = "0.2.44";
+    cc = "1.0.3";
+    pkg_config = "0.3.9";
+  };
+  deps.owning_ref."0.4.0" = {
+    stable_deref_trait = "1.1.1";
+  };
+  deps.parking_lot."0.6.4" = {
+    lock_api = "0.1.5";
+    parking_lot_core = "0.3.1";
+  };
+  deps.parking_lot_core."0.3.1" = {
+    rand = "0.5.5";
+    smallvec = "0.6.7";
+    rustc_version = "0.2.3";
+    libc = "0.2.44";
+    winapi = "0.3.6";
+  };
+  deps.percent_encoding."1.0.1" = {};
+  deps.phf."0.7.21" = {
+    phf_shared = "0.7.21";
+  };
+  deps.phf_codegen."0.7.21" = {
+    phf_generator = "0.7.21";
+    phf_shared = "0.7.21";
+  };
+  deps.phf_generator."0.7.21" = {
+    phf_shared = "0.7.21";
+    rand = "0.3.18";
+  };
+  deps.phf_shared."0.7.21" = {
+    siphasher = "0.2.2";
+    unicase = "1.4.2";
+  };
+  deps.pkg_config."0.3.9" = {};
+  deps.quote."0.3.15" = {};
+  deps.rand."0.3.18" = {
+    libc = "0.2.44";
+    fuchsia_zircon = "0.2.1";
+  };
+  deps.rand."0.5.5" = {
+    rand_core = "0.2.2";
+    cloudabi = "0.0.3";
+    fuchsia_zircon = "0.3.3";
+    libc = "0.2.44";
+    winapi = "0.3.6";
+  };
+  deps.rand."0.6.1" = {
+    rand_chacha = "0.1.0";
+    rand_core = "0.3.0";
+    rand_hc = "0.1.0";
+    rand_isaac = "0.1.1";
+    rand_pcg = "0.1.1";
+    rand_xorshift = "0.1.0";
+    rustc_version = "0.2.3";
+    cloudabi = "0.0.3";
+    fuchsia_zircon = "0.3.3";
+    libc = "0.2.44";
+    winapi = "0.3.6";
+  };
+  deps.rand_chacha."0.1.0" = {
+    rand_core = "0.3.0";
+    rustc_version = "0.2.3";
+  };
+  deps.rand_core."0.2.2" = {
+    rand_core = "0.3.0";
+  };
+  deps.rand_core."0.3.0" = {};
+  deps.rand_hc."0.1.0" = {
+    rand_core = "0.3.0";
+  };
+  deps.rand_isaac."0.1.1" = {
+    rand_core = "0.3.0";
+  };
+  deps.rand_pcg."0.1.1" = {
+    rand_core = "0.3.0";
+    rustc_version = "0.2.3";
+  };
+  deps.rand_xorshift."0.1.0" = {
+    rand_core = "0.3.0";
+  };
+  deps.redox_syscall."0.1.31" = {};
+  deps.redox_termios."0.1.1" = {
+    redox_syscall = "0.1.31";
+  };
+  deps.regex."0.1.80" = {
+    aho_corasick = "0.5.3";
+    memchr = "0.1.11";
+    regex_syntax = "0.3.9";
+    thread_local = "0.2.7";
+    utf8_ranges = "0.1.3";
+  };
+  deps.regex_syntax."0.3.9" = {};
+  deps.remove_dir_all."0.5.1" = {
+    winapi = "0.3.6";
+  };
+  deps.reqwest."0.9.5" = {
+    base64 = "0.9.3";
+    bytes = "0.4.11";
+    encoding_rs = "0.8.13";
+    futures = "0.1.25";
+    http = "0.1.14";
+    hyper = "0.12.16";
+    hyper_tls = "0.3.1";
+    libflate = "0.1.19";
+    log = "0.4.6";
+    mime = "0.3.12";
+    mime_guess = "2.0.0-alpha.6";
+    native_tls = "0.2.2";
+    serde = "1.0.21";
+    serde_json = "1.0.6";
+    serde_urlencoded = "0.5.1";
+    tokio = "0.1.7";
+    tokio_io = "0.1.10";
+    url = "1.6.0";
+    uuid = "0.7.1";
+  };
+  deps.rustc_version."0.2.3" = {
+    semver = "0.9.0";
+  };
+  deps.safemem."0.3.0" = {};
+  deps.schannel."0.1.14" = {
+    lazy_static = "1.2.0";
+    winapi = "0.3.6";
+  };
+  deps.scopeguard."0.3.3" = {};
+  deps.security_framework."0.2.1" = {
+    core_foundation = "0.5.1";
+    core_foundation_sys = "0.5.1";
+    libc = "0.2.44";
+    security_framework_sys = "0.2.1";
+  };
+  deps.security_framework_sys."0.2.1" = {
+    core_foundation_sys = "0.5.1";
+    libc = "0.2.44";
+  };
+  deps.semver."0.9.0" = {
+    semver_parser = "0.7.0";
+  };
+  deps.semver_parser."0.7.0" = {};
+  deps.serde."1.0.21" = {};
+  deps.serde_json."1.0.6" = {
+    dtoa = "0.4.2";
+    itoa = "0.3.4";
+    num_traits = "0.1.40";
+    serde = "1.0.21";
+  };
+  deps.serde_urlencoded."0.5.1" = {
+    dtoa = "0.4.2";
+    itoa = "0.3.4";
+    serde = "1.0.21";
+    url = "1.6.0";
+  };
+  deps.siphasher."0.2.2" = {};
+  deps.slab."0.4.0" = {};
+  deps.slog."1.7.1" = {};
+  deps.slog_envlogger."0.5.0" = {
+    log = "0.3.8";
+    regex = "0.1.80";
+    slog = "1.7.1";
+    slog_stdlog = "1.1.0";
+    slog_term = "1.5.0";
+  };
+  deps.slog_extra."0.1.2" = {
+    slog = "1.7.1";
+    thread_local = "0.3.4";
+  };
+  deps.slog_stdlog."1.1.0" = {
+    crossbeam = "0.2.10";
+    lazy_static = "0.2.10";
+    log = "0.3.8";
+    slog = "1.7.1";
+    slog_term = "1.5.0";
+  };
+  deps.slog_stream."1.2.1" = {
+    slog = "1.7.1";
+    slog_extra = "0.1.2";
+    thread_local = "0.3.4";
+  };
+  deps.slog_term."1.5.0" = {
+    chrono = "0.2.25";
+    isatty = "0.1.5";
+    slog = "1.7.1";
+    slog_stream = "1.2.1";
+    thread_local = "0.3.4";
+  };
+  deps.smallvec."0.6.7" = {
+    unreachable = "1.0.0";
+  };
+  deps.stable_deref_trait."1.1.1" = {};
+  deps.string."0.1.2" = {};
+  deps.strsim."0.6.0" = {};
+  deps.syn."0.11.11" = {
+    quote = "0.3.15";
+    synom = "0.11.3";
+    unicode_xid = "0.0.4";
+  };
+  deps.synom."0.11.3" = {
+    unicode_xid = "0.0.4";
+  };
+  deps.tar."0.4.13" = {
+    filetime = "0.1.14";
+    libc = "0.2.44";
+    xattr = "0.1.11";
+  };
+  deps.tempfile."3.0.5" = {
+    cfg_if = "0.1.2";
+    rand = "0.6.1";
+    remove_dir_all = "0.5.1";
+    redox_syscall = "0.1.31";
+    libc = "0.2.44";
+    winapi = "0.3.6";
+  };
+  deps.termion."1.5.1" = {
+    libc = "0.2.44";
+    redox_syscall = "0.1.31";
+    redox_termios = "0.1.1";
+  };
+  deps.textwrap."0.9.0" = {
+    unicode_width = "0.1.4";
+  };
+  deps.thread_id."2.0.0" = {
+    kernel32_sys = "0.2.2";
+    libc = "0.2.44";
+  };
+  deps.thread_local."0.2.7" = {
+    thread_id = "2.0.0";
+  };
+  deps.thread_local."0.3.4" = {
+    lazy_static = "0.2.10";
+    unreachable = "1.0.0";
+  };
+  deps.time."0.1.38" = {
+    libc = "0.2.44";
+    redox_syscall = "0.1.31";
+    kernel32_sys = "0.2.2";
+    winapi = "0.2.8";
+  };
+  deps.tokio."0.1.7" = {
+    futures = "0.1.25";
+    mio = "0.6.16";
+    tokio_executor = "0.1.5";
+    tokio_fs = "0.1.4";
+    tokio_io = "0.1.10";
+    tokio_reactor = "0.1.7";
+    tokio_tcp = "0.1.2";
+    tokio_threadpool = "0.1.9";
+    tokio_timer = "0.2.5";
+    tokio_udp = "0.1.3";
+  };
+  deps.tokio_codec."0.1.1" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    tokio_io = "0.1.10";
+  };
+  deps.tokio_executor."0.1.5" = {
+    futures = "0.1.25";
+  };
+  deps.tokio_fs."0.1.4" = {
+    futures = "0.1.25";
+    tokio_io = "0.1.10";
+    tokio_threadpool = "0.1.9";
+  };
+  deps.tokio_io."0.1.10" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    log = "0.4.6";
+  };
+  deps.tokio_reactor."0.1.7" = {
+    crossbeam_utils = "0.6.1";
+    futures = "0.1.25";
+    lazy_static = "1.2.0";
+    log = "0.4.6";
+    mio = "0.6.16";
+    num_cpus = "1.8.0";
+    parking_lot = "0.6.4";
+    slab = "0.4.0";
+    tokio_executor = "0.1.5";
+    tokio_io = "0.1.10";
+  };
+  deps.tokio_tcp."0.1.2" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    iovec = "0.1.1";
+    mio = "0.6.16";
+    tokio_io = "0.1.10";
+    tokio_reactor = "0.1.7";
+  };
+  deps.tokio_threadpool."0.1.9" = {
+    crossbeam_deque = "0.6.2";
+    crossbeam_utils = "0.6.1";
+    futures = "0.1.25";
+    log = "0.4.6";
+    num_cpus = "1.8.0";
+    rand = "0.6.1";
+    tokio_executor = "0.1.5";
+  };
+  deps.tokio_timer."0.2.5" = {
+    futures = "0.1.25";
+    tokio_executor = "0.1.5";
+  };
+  deps.tokio_udp."0.1.3" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    log = "0.4.6";
+    mio = "0.6.16";
+    tokio_codec = "0.1.1";
+    tokio_io = "0.1.10";
+    tokio_reactor = "0.1.7";
+  };
+  deps.try_lock."0.2.2" = {};
+  deps.unicase."1.4.2" = {
+    version_check = "0.1.3";
+  };
+  deps.unicase."2.1.0" = {
+    version_check = "0.1.3";
+  };
+  deps.unicode_bidi."0.3.4" = {
+    matches = "0.1.6";
+  };
+  deps.unicode_normalization."0.1.5" = {};
+  deps.unicode_width."0.1.4" = {};
+  deps.unicode_xid."0.0.4" = {};
+  deps.unreachable."1.0.0" = {
+    void = "1.0.2";
+  };
+  deps.url."1.6.0" = {
+    idna = "0.1.4";
+    matches = "0.1.6";
+    percent_encoding = "1.0.1";
+  };
+  deps.utf8_ranges."0.1.3" = {};
+  deps.uuid."0.7.1" = {
+    rand = "0.5.5";
+  };
+  deps.vcpkg."0.2.2" = {};
+  deps.vec_map."0.8.0" = {};
+  deps.version_check."0.1.3" = {};
+  deps.void."1.0.2" = {};
+  deps.want."0.0.6" = {
+    futures = "0.1.25";
+    log = "0.4.6";
+    try_lock = "0.2.2";
+  };
+  deps.winapi."0.2.8" = {};
+  deps.winapi."0.3.6" = {
+    winapi_i686_pc_windows_gnu = "0.4.0";
+    winapi_x86_64_pc_windows_gnu = "0.4.0";
+  };
+  deps.winapi_build."0.1.1" = {};
+  deps.winapi_i686_pc_windows_gnu."0.4.0" = {};
+  deps.winapi_x86_64_pc_windows_gnu."0.4.0" = {};
+  deps.ws2_32_sys."0.2.1" = {
+    winapi = "0.2.8";
+    winapi_build = "0.1.1";
+  };
+  deps.xattr."0.1.11" = {
+    libc = "0.2.44";
+  };
 }
diff --git a/pkgs/tools/package-management/cargo-download/crates-io.nix b/pkgs/tools/package-management/cargo-download/crates-io.nix
new file mode 100644
index 00000000000..d120a05e00d
--- /dev/null
+++ b/pkgs/tools/package-management/cargo-download/crates-io.nix
@@ -0,0 +1,5289 @@
+{ lib, buildRustCrate, buildRustCrateHelpers }:
+with buildRustCrateHelpers;
+let inherit (lib.lists) fold;
+    inherit (lib.attrsets) recursiveUpdate;
+in
+rec {
+
+# adler32-1.0.2
+
+  crates.adler32."1.0.2" = deps: { features?(features_.adler32."1.0.2" deps {}) }: buildRustCrate {
+    crateName = "adler32";
+    version = "1.0.2";
+    description = "Minimal Adler32 implementation for Rust.";
+    authors = [ "Remi Rampin <remirampin@gmail.com>" ];
+    sha256 = "1974q3nysai026zhz24df506cxwi09jdzqksll4h7ibpb5n9g1d4";
+  };
+  features_.adler32."1.0.2" = deps: f: updateFeatures f (rec {
+    adler32."1.0.2".default = (f.adler32."1.0.2".default or true);
+  }) [];
+
+
+# end
+# aho-corasick-0.5.3
+
+  crates.aho_corasick."0.5.3" = deps: { features?(features_.aho_corasick."0.5.3" deps {}) }: buildRustCrate {
+    crateName = "aho-corasick";
+    version = "0.5.3";
+    description = "Fast multiple substring searching with finite state machines.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1igab46mvgknga3sxkqc917yfff0wsjxjzabdigmh240p5qxqlnn";
+    libName = "aho_corasick";
+    crateBin =
+      [{  name = "aho-corasick-dot"; }];
+    dependencies = mapFeatures features ([
+      (crates."memchr"."${deps."aho_corasick"."0.5.3"."memchr"}" deps)
+    ]);
+  };
+  features_.aho_corasick."0.5.3" = deps: f: updateFeatures f (rec {
+    aho_corasick."0.5.3".default = (f.aho_corasick."0.5.3".default or true);
+    memchr."${deps.aho_corasick."0.5.3".memchr}".default = true;
+  }) [
+    (features_.memchr."${deps."aho_corasick"."0.5.3"."memchr"}" deps)
+  ];
+
+
+# end
+# ansi_term-0.9.0
+
+  crates.ansi_term."0.9.0" = deps: { features?(features_.ansi_term."0.9.0" deps {}) }: buildRustCrate {
+    crateName = "ansi_term";
+    version = "0.9.0";
+    description = "Library for ANSI terminal colours and styles (bold, underline)";
+    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
+    sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
+  };
+  features_.ansi_term."0.9.0" = deps: f: updateFeatures f (rec {
+    ansi_term."0.9.0".default = (f.ansi_term."0.9.0".default or true);
+  }) [];
+
+
+# end
+# arrayvec-0.4.8
+
+  crates.arrayvec."0.4.8" = deps: { features?(features_.arrayvec."0.4.8" deps {}) }: buildRustCrate {
+    crateName = "arrayvec";
+    version = "0.4.8";
+    description = "A vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString.";
+    authors = [ "bluss" ];
+    sha256 = "0zwpjdxgr0a11h9x7mkrif4wyx3c81b90paxjf326i86s13kib1g";
+    dependencies = mapFeatures features ([
+      (crates."nodrop"."${deps."arrayvec"."0.4.8"."nodrop"}" deps)
+    ]);
+    features = mkFeatures (features."arrayvec"."0.4.8" or {});
+  };
+  features_.arrayvec."0.4.8" = deps: f: updateFeatures f (rec {
+    arrayvec = fold recursiveUpdate {} [
+      { "0.4.8"."serde" =
+        (f.arrayvec."0.4.8"."serde" or false) ||
+        (f.arrayvec."0.4.8".serde-1 or false) ||
+        (arrayvec."0.4.8"."serde-1" or false); }
+      { "0.4.8"."std" =
+        (f.arrayvec."0.4.8"."std" or false) ||
+        (f.arrayvec."0.4.8".default or false) ||
+        (arrayvec."0.4.8"."default" or false); }
+      { "0.4.8".default = (f.arrayvec."0.4.8".default or true); }
+    ];
+    nodrop."${deps.arrayvec."0.4.8".nodrop}".default = (f.nodrop."${deps.arrayvec."0.4.8".nodrop}".default or false);
+  }) [
+    (features_.nodrop."${deps."arrayvec"."0.4.8"."nodrop"}" deps)
+  ];
+
+
+# end
+# atty-0.2.3
+
+  crates.atty."0.2.3" = deps: { features?(features_.atty."0.2.3" deps {}) }: buildRustCrate {
+    crateName = "atty";
+    version = "0.2.3";
+    description = "A simple interface for querying atty";
+    authors = [ "softprops <d.tangren@gmail.com>" ];
+    sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
+    dependencies = (if kernel == "redox" then mapFeatures features ([
+      (crates."termion"."${deps."atty"."0.2.3"."termion"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."atty"."0.2.3"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."kernel32_sys"."${deps."atty"."0.2.3"."kernel32_sys"}" deps)
+      (crates."winapi"."${deps."atty"."0.2.3"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.atty."0.2.3" = deps: f: updateFeatures f (rec {
+    atty."0.2.3".default = (f.atty."0.2.3".default or true);
+    kernel32_sys."${deps.atty."0.2.3".kernel32_sys}".default = true;
+    libc."${deps.atty."0.2.3".libc}".default = (f.libc."${deps.atty."0.2.3".libc}".default or false);
+    termion."${deps.atty."0.2.3".termion}".default = true;
+    winapi."${deps.atty."0.2.3".winapi}".default = true;
+  }) [
+    (features_.termion."${deps."atty"."0.2.3"."termion"}" deps)
+    (features_.libc."${deps."atty"."0.2.3"."libc"}" deps)
+    (features_.kernel32_sys."${deps."atty"."0.2.3"."kernel32_sys"}" deps)
+    (features_.winapi."${deps."atty"."0.2.3"."winapi"}" deps)
+  ];
+
+
+# end
+# base64-0.9.3
+
+  crates.base64."0.9.3" = deps: { features?(features_.base64."0.9.3" deps {}) }: buildRustCrate {
+    crateName = "base64";
+    version = "0.9.3";
+    description = "encodes and decodes base64 as bytes or utf8";
+    authors = [ "Alice Maz <alice@alicemaz.com>" "Marshall Pierce <marshall@mpierce.org>" ];
+    sha256 = "11hhz8ln4zbpn2h2gm9fbbb9j254wrd4fpmddlyah2rrnqsmmqkd";
+    dependencies = mapFeatures features ([
+      (crates."byteorder"."${deps."base64"."0.9.3"."byteorder"}" deps)
+      (crates."safemem"."${deps."base64"."0.9.3"."safemem"}" deps)
+    ]);
+  };
+  features_.base64."0.9.3" = deps: f: updateFeatures f (rec {
+    base64."0.9.3".default = (f.base64."0.9.3".default or true);
+    byteorder."${deps.base64."0.9.3".byteorder}".default = true;
+    safemem."${deps.base64."0.9.3".safemem}".default = true;
+  }) [
+    (features_.byteorder."${deps."base64"."0.9.3"."byteorder"}" deps)
+    (features_.safemem."${deps."base64"."0.9.3"."safemem"}" deps)
+  ];
+
+
+# end
+# bitflags-0.7.0
+
+  crates.bitflags."0.7.0" = deps: { features?(features_.bitflags."0.7.0" deps {}) }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.7.0";
+    description = "A macro to generate structures which behave like bitflags.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
+  };
+  features_.bitflags."0.7.0" = deps: f: updateFeatures f (rec {
+    bitflags."0.7.0".default = (f.bitflags."0.7.0".default or true);
+  }) [];
+
+
+# end
+# bitflags-0.9.1
+
+  crates.bitflags."0.9.1" = deps: { features?(features_.bitflags."0.9.1" deps {}) }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.9.1";
+    description = "A macro to generate structures which behave like bitflags.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
+    features = mkFeatures (features."bitflags"."0.9.1" or {});
+  };
+  features_.bitflags."0.9.1" = deps: f: updateFeatures f (rec {
+    bitflags = fold recursiveUpdate {} [
+      { "0.9.1"."example_generated" =
+        (f.bitflags."0.9.1"."example_generated" or false) ||
+        (f.bitflags."0.9.1".default or false) ||
+        (bitflags."0.9.1"."default" or false); }
+      { "0.9.1".default = (f.bitflags."0.9.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# bitflags-1.0.4
+
+  crates.bitflags."1.0.4" = deps: { features?(features_.bitflags."1.0.4" deps {}) }: buildRustCrate {
+    crateName = "bitflags";
+    version = "1.0.4";
+    description = "A macro to generate structures which behave like bitflags.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1g1wmz2001qmfrd37dnd5qiss5njrw26aywmg6yhkmkbyrhjxb08";
+    features = mkFeatures (features."bitflags"."1.0.4" or {});
+  };
+  features_.bitflags."1.0.4" = deps: f: updateFeatures f (rec {
+    bitflags."1.0.4".default = (f.bitflags."1.0.4".default or true);
+  }) [];
+
+
+# end
+# byteorder-1.1.0
+
+  crates.byteorder."1.1.0" = deps: { features?(features_.byteorder."1.1.0" deps {}) }: buildRustCrate {
+    crateName = "byteorder";
+    version = "1.1.0";
+    description = "Library for reading/writing numbers in big-endian and little-endian.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1i2n0161jm00zvzh4bncgv9zrwa6ydbxdn5j4bx0wwn7rvi9zycp";
+    features = mkFeatures (features."byteorder"."1.1.0" or {});
+  };
+  features_.byteorder."1.1.0" = deps: f: updateFeatures f (rec {
+    byteorder = fold recursiveUpdate {} [
+      { "1.1.0"."std" =
+        (f.byteorder."1.1.0"."std" or false) ||
+        (f.byteorder."1.1.0".default or false) ||
+        (byteorder."1.1.0"."default" or false); }
+      { "1.1.0".default = (f.byteorder."1.1.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# bytes-0.4.11
+
+  crates.bytes."0.4.11" = deps: { features?(features_.bytes."0.4.11" deps {}) }: buildRustCrate {
+    crateName = "bytes";
+    version = "0.4.11";
+    description = "Types and traits for working with bytes";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1lk8bnxcd8shiizarf0n6ljmj1542n90jw6lz6i270gxl7rzplmh";
+    dependencies = mapFeatures features ([
+      (crates."byteorder"."${deps."bytes"."0.4.11"."byteorder"}" deps)
+      (crates."iovec"."${deps."bytes"."0.4.11"."iovec"}" deps)
+    ]);
+    features = mkFeatures (features."bytes"."0.4.11" or {});
+  };
+  features_.bytes."0.4.11" = deps: f: updateFeatures f (rec {
+    byteorder = fold recursiveUpdate {} [
+      { "${deps.bytes."0.4.11".byteorder}"."i128" =
+        (f.byteorder."${deps.bytes."0.4.11".byteorder}"."i128" or false) ||
+        (bytes."0.4.11"."i128" or false) ||
+        (f."bytes"."0.4.11"."i128" or false); }
+      { "${deps.bytes."0.4.11".byteorder}".default = true; }
+    ];
+    bytes."0.4.11".default = (f.bytes."0.4.11".default or true);
+    iovec."${deps.bytes."0.4.11".iovec}".default = true;
+  }) [
+    (features_.byteorder."${deps."bytes"."0.4.11"."byteorder"}" deps)
+    (features_.iovec."${deps."bytes"."0.4.11"."iovec"}" deps)
+  ];
+
+
+# end
+# cargo-download-0.1.2
+
+  crates.cargo_download."0.1.2" = deps: { features?(features_.cargo_download."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "cargo-download";
+    version = "0.1.2";
+    description = "Cargo subcommand for downloading crate sources";
+    authors = [ "Karol Kuczmarski <karol.kuczmarski@gmail.com>" ];
+    sha256 = "1gfn0iabiriq0n9sqkyp2g73rw12mr9ng61fx198xaffflxk7g36";
+    crateBin =
+      [{  name = "cargo-download"; }];
+    dependencies = mapFeatures features ([
+      (crates."ansi_term"."${deps."cargo_download"."0.1.2"."ansi_term"}" deps)
+      (crates."clap"."${deps."cargo_download"."0.1.2"."clap"}" deps)
+      (crates."conv"."${deps."cargo_download"."0.1.2"."conv"}" deps)
+      (crates."derive_error"."${deps."cargo_download"."0.1.2"."derive_error"}" deps)
+      (crates."exitcode"."${deps."cargo_download"."0.1.2"."exitcode"}" deps)
+      (crates."flate2"."${deps."cargo_download"."0.1.2"."flate2"}" deps)
+      (crates."isatty"."${deps."cargo_download"."0.1.2"."isatty"}" deps)
+      (crates."itertools"."${deps."cargo_download"."0.1.2"."itertools"}" deps)
+      (crates."lazy_static"."${deps."cargo_download"."0.1.2"."lazy_static"}" deps)
+      (crates."log"."${deps."cargo_download"."0.1.2"."log"}" deps)
+      (crates."maplit"."${deps."cargo_download"."0.1.2"."maplit"}" deps)
+      (crates."reqwest"."${deps."cargo_download"."0.1.2"."reqwest"}" deps)
+      (crates."semver"."${deps."cargo_download"."0.1.2"."semver"}" deps)
+      (crates."serde_json"."${deps."cargo_download"."0.1.2"."serde_json"}" deps)
+      (crates."slog"."${deps."cargo_download"."0.1.2"."slog"}" deps)
+      (crates."slog_envlogger"."${deps."cargo_download"."0.1.2"."slog_envlogger"}" deps)
+      (crates."slog_stdlog"."${deps."cargo_download"."0.1.2"."slog_stdlog"}" deps)
+      (crates."slog_stream"."${deps."cargo_download"."0.1.2"."slog_stream"}" deps)
+      (crates."tar"."${deps."cargo_download"."0.1.2"."tar"}" deps)
+      (crates."time"."${deps."cargo_download"."0.1.2"."time"}" deps)
+    ]);
+  };
+  features_.cargo_download."0.1.2" = deps: f: updateFeatures f (rec {
+    ansi_term."${deps.cargo_download."0.1.2".ansi_term}".default = true;
+    cargo_download."0.1.2".default = (f.cargo_download."0.1.2".default or true);
+    clap."${deps.cargo_download."0.1.2".clap}".default = true;
+    conv."${deps.cargo_download."0.1.2".conv}".default = true;
+    derive_error."${deps.cargo_download."0.1.2".derive_error}".default = true;
+    exitcode."${deps.cargo_download."0.1.2".exitcode}".default = true;
+    flate2."${deps.cargo_download."0.1.2".flate2}".default = true;
+    isatty."${deps.cargo_download."0.1.2".isatty}".default = true;
+    itertools."${deps.cargo_download."0.1.2".itertools}".default = true;
+    lazy_static."${deps.cargo_download."0.1.2".lazy_static}".default = true;
+    log."${deps.cargo_download."0.1.2".log}".default = true;
+    maplit."${deps.cargo_download."0.1.2".maplit}".default = true;
+    reqwest."${deps.cargo_download."0.1.2".reqwest}".default = true;
+    semver."${deps.cargo_download."0.1.2".semver}".default = true;
+    serde_json."${deps.cargo_download."0.1.2".serde_json}".default = true;
+    slog."${deps.cargo_download."0.1.2".slog}".default = true;
+    slog_envlogger."${deps.cargo_download."0.1.2".slog_envlogger}".default = true;
+    slog_stdlog."${deps.cargo_download."0.1.2".slog_stdlog}".default = true;
+    slog_stream."${deps.cargo_download."0.1.2".slog_stream}".default = true;
+    tar."${deps.cargo_download."0.1.2".tar}".default = true;
+    time."${deps.cargo_download."0.1.2".time}".default = true;
+  }) [
+    (features_.ansi_term."${deps."cargo_download"."0.1.2"."ansi_term"}" deps)
+    (features_.clap."${deps."cargo_download"."0.1.2"."clap"}" deps)
+    (features_.conv."${deps."cargo_download"."0.1.2"."conv"}" deps)
+    (features_.derive_error."${deps."cargo_download"."0.1.2"."derive_error"}" deps)
+    (features_.exitcode."${deps."cargo_download"."0.1.2"."exitcode"}" deps)
+    (features_.flate2."${deps."cargo_download"."0.1.2"."flate2"}" deps)
+    (features_.isatty."${deps."cargo_download"."0.1.2"."isatty"}" deps)
+    (features_.itertools."${deps."cargo_download"."0.1.2"."itertools"}" deps)
+    (features_.lazy_static."${deps."cargo_download"."0.1.2"."lazy_static"}" deps)
+    (features_.log."${deps."cargo_download"."0.1.2"."log"}" deps)
+    (features_.maplit."${deps."cargo_download"."0.1.2"."maplit"}" deps)
+    (features_.reqwest."${deps."cargo_download"."0.1.2"."reqwest"}" deps)
+    (features_.semver."${deps."cargo_download"."0.1.2"."semver"}" deps)
+    (features_.serde_json."${deps."cargo_download"."0.1.2"."serde_json"}" deps)
+    (features_.slog."${deps."cargo_download"."0.1.2"."slog"}" deps)
+    (features_.slog_envlogger."${deps."cargo_download"."0.1.2"."slog_envlogger"}" deps)
+    (features_.slog_stdlog."${deps."cargo_download"."0.1.2"."slog_stdlog"}" deps)
+    (features_.slog_stream."${deps."cargo_download"."0.1.2"."slog_stream"}" deps)
+    (features_.tar."${deps."cargo_download"."0.1.2"."tar"}" deps)
+    (features_.time."${deps."cargo_download"."0.1.2"."time"}" deps)
+  ];
+
+
+# end
+# case-0.1.0
+
+  crates.case."0.1.0" = deps: { features?(features_.case."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "case";
+    version = "0.1.0";
+    description = "A set of letter case string helpers";
+    authors = [ "Skyler Lipthay <skyler.lipthay@gmail.com>" ];
+    sha256 = "06i1x3wqv30rkvlgj134qf9vzxhzz28bz41mm0rgki0i0f7gf96n";
+  };
+  features_.case."0.1.0" = deps: f: updateFeatures f (rec {
+    case."0.1.0".default = (f.case."0.1.0".default or true);
+  }) [];
+
+
+# end
+# cc-1.0.3
+
+  crates.cc."1.0.3" = deps: { features?(features_.cc."1.0.3" deps {}) }: buildRustCrate {
+    crateName = "cc";
+    version = "1.0.3";
+    description = "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "193pwqgh79w6k0k29svyds5nnlrwx44myqyrw605d5jj4yk2zmpr";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."cc"."1.0.3" or {});
+  };
+  features_.cc."1.0.3" = deps: f: updateFeatures f (rec {
+    cc = fold recursiveUpdate {} [
+      { "1.0.3"."rayon" =
+        (f.cc."1.0.3"."rayon" or false) ||
+        (f.cc."1.0.3".parallel or false) ||
+        (cc."1.0.3"."parallel" or false); }
+      { "1.0.3".default = (f.cc."1.0.3".default or true); }
+    ];
+  }) [];
+
+
+# end
+# cfg-if-0.1.2
+
+  crates.cfg_if."0.1.2" = deps: { features?(features_.cfg_if."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "cfg-if";
+    version = "0.1.2";
+    description = "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi";
+  };
+  features_.cfg_if."0.1.2" = deps: f: updateFeatures f (rec {
+    cfg_if."0.1.2".default = (f.cfg_if."0.1.2".default or true);
+  }) [];
+
+
+# end
+# chrono-0.2.25
+
+  crates.chrono."0.2.25" = deps: { features?(features_.chrono."0.2.25" deps {}) }: buildRustCrate {
+    crateName = "chrono";
+    version = "0.2.25";
+    description = "Date and time library for Rust";
+    authors = [ "Kang Seonghoon <public+rust@mearie.org>" ];
+    sha256 = "0gsvqk8cnmm43qj3xyngqvfqh50cbdbqas7ik0wjgnvknirmmca7";
+    dependencies = mapFeatures features ([
+      (crates."num"."${deps."chrono"."0.2.25"."num"}" deps)
+      (crates."time"."${deps."chrono"."0.2.25"."time"}" deps)
+    ]);
+  };
+  features_.chrono."0.2.25" = deps: f: updateFeatures f (rec {
+    chrono."0.2.25".default = (f.chrono."0.2.25".default or true);
+    num."${deps.chrono."0.2.25".num}".default = (f.num."${deps.chrono."0.2.25".num}".default or false);
+    time."${deps.chrono."0.2.25".time}".default = true;
+  }) [
+    (features_.num."${deps."chrono"."0.2.25"."num"}" deps)
+    (features_.time."${deps."chrono"."0.2.25"."time"}" deps)
+  ];
+
+
+# end
+# clap-2.27.1
+
+  crates.clap."2.27.1" = deps: { features?(features_.clap."2.27.1" deps {}) }: buildRustCrate {
+    crateName = "clap";
+    version = "2.27.1";
+    description = "A simple to use, efficient, and full featured  Command Line Argument Parser\n";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
+    sha256 = "0zx8rskqfl3iqn3vlyxzyd99hpifa7bm871akhxpz9wvrm688zaj";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."clap"."2.27.1"."bitflags"}" deps)
+      (crates."textwrap"."${deps."clap"."2.27.1"."textwrap"}" deps)
+      (crates."unicode_width"."${deps."clap"."2.27.1"."unicode_width"}" deps)
+    ]
+      ++ (if features.clap."2.27.1".ansi_term or false then [ (crates.ansi_term."${deps."clap"."2.27.1".ansi_term}" deps) ] else [])
+      ++ (if features.clap."2.27.1".atty or false then [ (crates.atty."${deps."clap"."2.27.1".atty}" deps) ] else [])
+      ++ (if features.clap."2.27.1".strsim or false then [ (crates.strsim."${deps."clap"."2.27.1".strsim}" deps) ] else [])
+      ++ (if features.clap."2.27.1".vec_map or false then [ (crates.vec_map."${deps."clap"."2.27.1".vec_map}" deps) ] else []));
+    features = mkFeatures (features."clap"."2.27.1" or {});
+  };
+  features_.clap."2.27.1" = deps: f: updateFeatures f (rec {
+    ansi_term."${deps.clap."2.27.1".ansi_term}".default = true;
+    atty."${deps.clap."2.27.1".atty}".default = true;
+    bitflags."${deps.clap."2.27.1".bitflags}".default = true;
+    clap = fold recursiveUpdate {} [
+      { "2.27.1"."ansi_term" =
+        (f.clap."2.27.1"."ansi_term" or false) ||
+        (f.clap."2.27.1".color or false) ||
+        (clap."2.27.1"."color" or false); }
+      { "2.27.1"."atty" =
+        (f.clap."2.27.1"."atty" or false) ||
+        (f.clap."2.27.1".color or false) ||
+        (clap."2.27.1"."color" or false); }
+      { "2.27.1"."clippy" =
+        (f.clap."2.27.1"."clippy" or false) ||
+        (f.clap."2.27.1".lints or false) ||
+        (clap."2.27.1"."lints" or false); }
+      { "2.27.1"."color" =
+        (f.clap."2.27.1"."color" or false) ||
+        (f.clap."2.27.1".default or false) ||
+        (clap."2.27.1"."default" or false); }
+      { "2.27.1"."strsim" =
+        (f.clap."2.27.1"."strsim" or false) ||
+        (f.clap."2.27.1".suggestions or false) ||
+        (clap."2.27.1"."suggestions" or false); }
+      { "2.27.1"."suggestions" =
+        (f.clap."2.27.1"."suggestions" or false) ||
+        (f.clap."2.27.1".default or false) ||
+        (clap."2.27.1"."default" or false); }
+      { "2.27.1"."term_size" =
+        (f.clap."2.27.1"."term_size" or false) ||
+        (f.clap."2.27.1".wrap_help or false) ||
+        (clap."2.27.1"."wrap_help" or false); }
+      { "2.27.1"."vec_map" =
+        (f.clap."2.27.1"."vec_map" or false) ||
+        (f.clap."2.27.1".default or false) ||
+        (clap."2.27.1"."default" or false); }
+      { "2.27.1"."yaml" =
+        (f.clap."2.27.1"."yaml" or false) ||
+        (f.clap."2.27.1".doc or false) ||
+        (clap."2.27.1"."doc" or false); }
+      { "2.27.1"."yaml-rust" =
+        (f.clap."2.27.1"."yaml-rust" or false) ||
+        (f.clap."2.27.1".yaml or false) ||
+        (clap."2.27.1"."yaml" or false); }
+      { "2.27.1".default = (f.clap."2.27.1".default or true); }
+    ];
+    strsim."${deps.clap."2.27.1".strsim}".default = true;
+    textwrap = fold recursiveUpdate {} [
+      { "${deps.clap."2.27.1".textwrap}"."term_size" =
+        (f.textwrap."${deps.clap."2.27.1".textwrap}"."term_size" or false) ||
+        (clap."2.27.1"."wrap_help" or false) ||
+        (f."clap"."2.27.1"."wrap_help" or false); }
+      { "${deps.clap."2.27.1".textwrap}".default = true; }
+    ];
+    unicode_width."${deps.clap."2.27.1".unicode_width}".default = true;
+    vec_map."${deps.clap."2.27.1".vec_map}".default = true;
+  }) [
+    (features_.ansi_term."${deps."clap"."2.27.1"."ansi_term"}" deps)
+    (features_.atty."${deps."clap"."2.27.1"."atty"}" deps)
+    (features_.bitflags."${deps."clap"."2.27.1"."bitflags"}" deps)
+    (features_.strsim."${deps."clap"."2.27.1"."strsim"}" deps)
+    (features_.textwrap."${deps."clap"."2.27.1"."textwrap"}" deps)
+    (features_.unicode_width."${deps."clap"."2.27.1"."unicode_width"}" deps)
+    (features_.vec_map."${deps."clap"."2.27.1"."vec_map"}" deps)
+  ];
+
+
+# end
+# cloudabi-0.0.3
+
+  crates.cloudabi."0.0.3" = deps: { features?(features_.cloudabi."0.0.3" deps {}) }: buildRustCrate {
+    crateName = "cloudabi";
+    version = "0.0.3";
+    description = "Low level interface to CloudABI. Contains all syscalls and related types.";
+    authors = [ "Nuxi (https://nuxi.nl/) and contributors" ];
+    sha256 = "1z9lby5sr6vslfd14d6igk03s7awf91mxpsfmsp3prxbxlk0x7h5";
+    libPath = "cloudabi.rs";
+    dependencies = mapFeatures features ([
+    ]
+      ++ (if features.cloudabi."0.0.3".bitflags or false then [ (crates.bitflags."${deps."cloudabi"."0.0.3".bitflags}" deps) ] else []));
+    features = mkFeatures (features."cloudabi"."0.0.3" or {});
+  };
+  features_.cloudabi."0.0.3" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.cloudabi."0.0.3".bitflags}".default = true;
+    cloudabi = fold recursiveUpdate {} [
+      { "0.0.3"."bitflags" =
+        (f.cloudabi."0.0.3"."bitflags" or false) ||
+        (f.cloudabi."0.0.3".default or false) ||
+        (cloudabi."0.0.3"."default" or false); }
+      { "0.0.3".default = (f.cloudabi."0.0.3".default or true); }
+    ];
+  }) [
+    (features_.bitflags."${deps."cloudabi"."0.0.3"."bitflags"}" deps)
+  ];
+
+
+# end
+# conv-0.3.3
+
+  crates.conv."0.3.3" = deps: { features?(features_.conv."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "conv";
+    version = "0.3.3";
+    description = "This crate provides a number of conversion traits with more specific semantics than those provided by 'as' or 'From'/'Into'.";
+    authors = [ "Daniel Keep <daniel.keep@gmail.com>" ];
+    sha256 = "08rl72k1a48xah0ar5l9v1bw19pp8jdw2pdkd3vvj9ijsyyg9yik";
+    dependencies = mapFeatures features ([
+      (crates."custom_derive"."${deps."conv"."0.3.3"."custom_derive"}" deps)
+    ]);
+  };
+  features_.conv."0.3.3" = deps: f: updateFeatures f (rec {
+    conv."0.3.3".default = (f.conv."0.3.3".default or true);
+    custom_derive."${deps.conv."0.3.3".custom_derive}".default = true;
+  }) [
+    (features_.custom_derive."${deps."conv"."0.3.3"."custom_derive"}" deps)
+  ];
+
+
+# end
+# core-foundation-0.5.1
+
+  crates.core_foundation."0.5.1" = deps: { features?(features_.core_foundation."0.5.1" deps {}) }: buildRustCrate {
+    crateName = "core-foundation";
+    version = "0.5.1";
+    description = "Bindings to Core Foundation for OS X";
+    authors = [ "The Servo Project Developers" ];
+    sha256 = "03s11z23rb1kk325c34rmsbd7k0l5rkzk4q6id55n174z28zqln1";
+    dependencies = mapFeatures features ([
+      (crates."core_foundation_sys"."${deps."core_foundation"."0.5.1"."core_foundation_sys"}" deps)
+      (crates."libc"."${deps."core_foundation"."0.5.1"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."core_foundation"."0.5.1" or {});
+  };
+  features_.core_foundation."0.5.1" = deps: f: updateFeatures f (rec {
+    core_foundation = fold recursiveUpdate {} [
+      { "0.5.1"."chrono" =
+        (f.core_foundation."0.5.1"."chrono" or false) ||
+        (f.core_foundation."0.5.1".with-chrono or false) ||
+        (core_foundation."0.5.1"."with-chrono" or false); }
+      { "0.5.1"."uuid" =
+        (f.core_foundation."0.5.1"."uuid" or false) ||
+        (f.core_foundation."0.5.1".with-uuid or false) ||
+        (core_foundation."0.5.1"."with-uuid" or false); }
+      { "0.5.1".default = (f.core_foundation."0.5.1".default or true); }
+    ];
+    core_foundation_sys = fold recursiveUpdate {} [
+      { "${deps.core_foundation."0.5.1".core_foundation_sys}"."mac_os_10_7_support" =
+        (f.core_foundation_sys."${deps.core_foundation."0.5.1".core_foundation_sys}"."mac_os_10_7_support" or false) ||
+        (core_foundation."0.5.1"."mac_os_10_7_support" or false) ||
+        (f."core_foundation"."0.5.1"."mac_os_10_7_support" or false); }
+      { "${deps.core_foundation."0.5.1".core_foundation_sys}"."mac_os_10_8_features" =
+        (f.core_foundation_sys."${deps.core_foundation."0.5.1".core_foundation_sys}"."mac_os_10_8_features" or false) ||
+        (core_foundation."0.5.1"."mac_os_10_8_features" or false) ||
+        (f."core_foundation"."0.5.1"."mac_os_10_8_features" or false); }
+      { "${deps.core_foundation."0.5.1".core_foundation_sys}".default = true; }
+    ];
+    libc."${deps.core_foundation."0.5.1".libc}".default = true;
+  }) [
+    (features_.core_foundation_sys."${deps."core_foundation"."0.5.1"."core_foundation_sys"}" deps)
+    (features_.libc."${deps."core_foundation"."0.5.1"."libc"}" deps)
+  ];
+
+
+# end
+# core-foundation-sys-0.5.1
+
+  crates.core_foundation_sys."0.5.1" = deps: { features?(features_.core_foundation_sys."0.5.1" deps {}) }: buildRustCrate {
+    crateName = "core-foundation-sys";
+    version = "0.5.1";
+    description = "Bindings to Core Foundation for OS X";
+    authors = [ "The Servo Project Developers" ];
+    sha256 = "0qbrasll5nw1bgr071i8s8jc975d0y4qfysf868bh9xp0f6vcypa";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."core_foundation_sys"."0.5.1"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."core_foundation_sys"."0.5.1" or {});
+  };
+  features_.core_foundation_sys."0.5.1" = deps: f: updateFeatures f (rec {
+    core_foundation_sys."0.5.1".default = (f.core_foundation_sys."0.5.1".default or true);
+    libc."${deps.core_foundation_sys."0.5.1".libc}".default = true;
+  }) [
+    (features_.libc."${deps."core_foundation_sys"."0.5.1"."libc"}" deps)
+  ];
+
+
+# end
+# crc32fast-1.1.1
+
+  crates.crc32fast."1.1.1" = deps: { features?(features_.crc32fast."1.1.1" deps {}) }: buildRustCrate {
+    crateName = "crc32fast";
+    version = "1.1.1";
+    description = "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation";
+    authors = [ "Sam Rijs <srijs@airpost.net>" "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1rwvhb98w41mk5phr84mryally58f68h0v933772gdxqvqbcayqy";
+  };
+  features_.crc32fast."1.1.1" = deps: f: updateFeatures f (rec {
+    crc32fast."1.1.1".default = (f.crc32fast."1.1.1".default or true);
+  }) [];
+
+
+# end
+# crossbeam-0.2.10
+
+  crates.crossbeam."0.2.10" = deps: { features?(features_.crossbeam."0.2.10" deps {}) }: buildRustCrate {
+    crateName = "crossbeam";
+    version = "0.2.10";
+    description = "Support for lock-free data structures, synchronizers, and parallel programming";
+    authors = [ "Aaron Turon <aturon@mozilla.com>" ];
+    sha256 = "1k1a4q5gy7zakiw39hdzrblnw3kk4nsqmkdp1dpzh8h558140rhq";
+    features = mkFeatures (features."crossbeam"."0.2.10" or {});
+  };
+  features_.crossbeam."0.2.10" = deps: f: updateFeatures f (rec {
+    crossbeam."0.2.10".default = (f.crossbeam."0.2.10".default or true);
+  }) [];
+
+
+# end
+# crossbeam-deque-0.6.2
+
+  crates.crossbeam_deque."0.6.2" = deps: { features?(features_.crossbeam_deque."0.6.2" deps {}) }: buildRustCrate {
+    crateName = "crossbeam-deque";
+    version = "0.6.2";
+    description = "Concurrent work-stealing deque";
+    authors = [ "The Crossbeam Project Developers" ];
+    sha256 = "0qjdpq03snj6xp5gydgy1bdd5zzwpdxa57vhky3mf4djxiq81ara";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam_epoch"."${deps."crossbeam_deque"."0.6.2"."crossbeam_epoch"}" deps)
+      (crates."crossbeam_utils"."${deps."crossbeam_deque"."0.6.2"."crossbeam_utils"}" deps)
+    ]);
+  };
+  features_.crossbeam_deque."0.6.2" = deps: f: updateFeatures f (rec {
+    crossbeam_deque."0.6.2".default = (f.crossbeam_deque."0.6.2".default or true);
+    crossbeam_epoch."${deps.crossbeam_deque."0.6.2".crossbeam_epoch}".default = true;
+    crossbeam_utils."${deps.crossbeam_deque."0.6.2".crossbeam_utils}".default = true;
+  }) [
+    (features_.crossbeam_epoch."${deps."crossbeam_deque"."0.6.2"."crossbeam_epoch"}" deps)
+    (features_.crossbeam_utils."${deps."crossbeam_deque"."0.6.2"."crossbeam_utils"}" deps)
+  ];
+
+
+# end
+# crossbeam-epoch-0.6.1
+
+  crates.crossbeam_epoch."0.6.1" = deps: { features?(features_.crossbeam_epoch."0.6.1" deps {}) }: buildRustCrate {
+    crateName = "crossbeam-epoch";
+    version = "0.6.1";
+    description = "Epoch-based garbage collection";
+    authors = [ "The Crossbeam Project Developers" ];
+    sha256 = "0qlwzsf2xmdjbh6pv9bxra2qdq72cmywq4fq1q114zw2s06zr039";
+    dependencies = mapFeatures features ([
+      (crates."arrayvec"."${deps."crossbeam_epoch"."0.6.1"."arrayvec"}" deps)
+      (crates."cfg_if"."${deps."crossbeam_epoch"."0.6.1"."cfg_if"}" deps)
+      (crates."crossbeam_utils"."${deps."crossbeam_epoch"."0.6.1"."crossbeam_utils"}" deps)
+      (crates."memoffset"."${deps."crossbeam_epoch"."0.6.1"."memoffset"}" deps)
+      (crates."scopeguard"."${deps."crossbeam_epoch"."0.6.1"."scopeguard"}" deps)
+    ]
+      ++ (if features.crossbeam_epoch."0.6.1".lazy_static or false then [ (crates.lazy_static."${deps."crossbeam_epoch"."0.6.1".lazy_static}" deps) ] else []));
+    features = mkFeatures (features."crossbeam_epoch"."0.6.1" or {});
+  };
+  features_.crossbeam_epoch."0.6.1" = deps: f: updateFeatures f (rec {
+    arrayvec = fold recursiveUpdate {} [
+      { "${deps.crossbeam_epoch."0.6.1".arrayvec}"."use_union" =
+        (f.arrayvec."${deps.crossbeam_epoch."0.6.1".arrayvec}"."use_union" or false) ||
+        (crossbeam_epoch."0.6.1"."nightly" or false) ||
+        (f."crossbeam_epoch"."0.6.1"."nightly" or false); }
+      { "${deps.crossbeam_epoch."0.6.1".arrayvec}".default = (f.arrayvec."${deps.crossbeam_epoch."0.6.1".arrayvec}".default or false); }
+    ];
+    cfg_if."${deps.crossbeam_epoch."0.6.1".cfg_if}".default = true;
+    crossbeam_epoch = fold recursiveUpdate {} [
+      { "0.6.1"."lazy_static" =
+        (f.crossbeam_epoch."0.6.1"."lazy_static" or false) ||
+        (f.crossbeam_epoch."0.6.1".std or false) ||
+        (crossbeam_epoch."0.6.1"."std" or false); }
+      { "0.6.1"."std" =
+        (f.crossbeam_epoch."0.6.1"."std" or false) ||
+        (f.crossbeam_epoch."0.6.1".default or false) ||
+        (crossbeam_epoch."0.6.1"."default" or false); }
+      { "0.6.1".default = (f.crossbeam_epoch."0.6.1".default or true); }
+    ];
+    crossbeam_utils = fold recursiveUpdate {} [
+      { "${deps.crossbeam_epoch."0.6.1".crossbeam_utils}"."std" =
+        (f.crossbeam_utils."${deps.crossbeam_epoch."0.6.1".crossbeam_utils}"."std" or false) ||
+        (crossbeam_epoch."0.6.1"."std" or false) ||
+        (f."crossbeam_epoch"."0.6.1"."std" or false); }
+      { "${deps.crossbeam_epoch."0.6.1".crossbeam_utils}".default = (f.crossbeam_utils."${deps.crossbeam_epoch."0.6.1".crossbeam_utils}".default or false); }
+    ];
+    lazy_static."${deps.crossbeam_epoch."0.6.1".lazy_static}".default = true;
+    memoffset."${deps.crossbeam_epoch."0.6.1".memoffset}".default = true;
+    scopeguard."${deps.crossbeam_epoch."0.6.1".scopeguard}".default = (f.scopeguard."${deps.crossbeam_epoch."0.6.1".scopeguard}".default or false);
+  }) [
+    (features_.arrayvec."${deps."crossbeam_epoch"."0.6.1"."arrayvec"}" deps)
+    (features_.cfg_if."${deps."crossbeam_epoch"."0.6.1"."cfg_if"}" deps)
+    (features_.crossbeam_utils."${deps."crossbeam_epoch"."0.6.1"."crossbeam_utils"}" deps)
+    (features_.lazy_static."${deps."crossbeam_epoch"."0.6.1"."lazy_static"}" deps)
+    (features_.memoffset."${deps."crossbeam_epoch"."0.6.1"."memoffset"}" deps)
+    (features_.scopeguard."${deps."crossbeam_epoch"."0.6.1"."scopeguard"}" deps)
+  ];
+
+
+# end
+# crossbeam-utils-0.6.1
+
+  crates.crossbeam_utils."0.6.1" = deps: { features?(features_.crossbeam_utils."0.6.1" deps {}) }: buildRustCrate {
+    crateName = "crossbeam-utils";
+    version = "0.6.1";
+    description = "Utilities for concurrent programming";
+    authors = [ "The Crossbeam Project Developers" ];
+    sha256 = "031lk6ls49yvwkdxhjm4fvg81iww01h108jq1cnlh88yzbcnwn2c";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."crossbeam_utils"."0.6.1"."cfg_if"}" deps)
+    ]);
+    features = mkFeatures (features."crossbeam_utils"."0.6.1" or {});
+  };
+  features_.crossbeam_utils."0.6.1" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.crossbeam_utils."0.6.1".cfg_if}".default = true;
+    crossbeam_utils = fold recursiveUpdate {} [
+      { "0.6.1"."std" =
+        (f.crossbeam_utils."0.6.1"."std" or false) ||
+        (f.crossbeam_utils."0.6.1".default or false) ||
+        (crossbeam_utils."0.6.1"."default" or false); }
+      { "0.6.1".default = (f.crossbeam_utils."0.6.1".default or true); }
+    ];
+  }) [
+    (features_.cfg_if."${deps."crossbeam_utils"."0.6.1"."cfg_if"}" deps)
+  ];
+
+
+# end
+# custom_derive-0.1.7
+
+  crates.custom_derive."0.1.7" = deps: { features?(features_.custom_derive."0.1.7" deps {}) }: buildRustCrate {
+    crateName = "custom_derive";
+    version = "0.1.7";
+    description = "(Note: superseded by `macro-attr`) This crate provides a macro that enables the use of custom derive attributes.";
+    authors = [ "Daniel Keep <daniel.keep@gmail.com>" ];
+    sha256 = "160q3pzri2fgrr6czfdkwy1sbddki2za96r7ivvyii52qp1523zs";
+    features = mkFeatures (features."custom_derive"."0.1.7" or {});
+  };
+  features_.custom_derive."0.1.7" = deps: f: updateFeatures f (rec {
+    custom_derive = fold recursiveUpdate {} [
+      { "0.1.7"."std" =
+        (f.custom_derive."0.1.7"."std" or false) ||
+        (f.custom_derive."0.1.7".default or false) ||
+        (custom_derive."0.1.7"."default" or false); }
+      { "0.1.7".default = (f.custom_derive."0.1.7".default or true); }
+    ];
+  }) [];
+
+
+# end
+# derive-error-0.0.3
+
+  crates.derive_error."0.0.3" = deps: { features?(features_.derive_error."0.0.3" deps {}) }: buildRustCrate {
+    crateName = "derive-error";
+    version = "0.0.3";
+    description = "Derive macro for Error using macros 1.1";
+    authors = [ "rushmorem <rushmore@webenchanter.com>" ];
+    sha256 = "0239vzxn5xr9nm3i4d6hmqy7dv8llcjblgh1xixfk5dcgcqan77y";
+    procMacro = true;
+    dependencies = mapFeatures features ([
+      (crates."case"."${deps."derive_error"."0.0.3"."case"}" deps)
+      (crates."quote"."${deps."derive_error"."0.0.3"."quote"}" deps)
+      (crates."syn"."${deps."derive_error"."0.0.3"."syn"}" deps)
+    ]);
+  };
+  features_.derive_error."0.0.3" = deps: f: updateFeatures f (rec {
+    case."${deps.derive_error."0.0.3".case}".default = true;
+    derive_error."0.0.3".default = (f.derive_error."0.0.3".default or true);
+    quote."${deps.derive_error."0.0.3".quote}".default = true;
+    syn."${deps.derive_error."0.0.3".syn}".default = true;
+  }) [
+    (features_.case."${deps."derive_error"."0.0.3"."case"}" deps)
+    (features_.quote."${deps."derive_error"."0.0.3"."quote"}" deps)
+    (features_.syn."${deps."derive_error"."0.0.3"."syn"}" deps)
+  ];
+
+
+# end
+# dtoa-0.4.2
+
+  crates.dtoa."0.4.2" = deps: { features?(features_.dtoa."0.4.2" deps {}) }: buildRustCrate {
+    crateName = "dtoa";
+    version = "0.4.2";
+    description = "Fast functions for printing floating-point primitives to an io::Write";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
+  };
+  features_.dtoa."0.4.2" = deps: f: updateFeatures f (rec {
+    dtoa."0.4.2".default = (f.dtoa."0.4.2".default or true);
+  }) [];
+
+
+# end
+# either-1.4.0
+
+  crates.either."1.4.0" = deps: { features?(features_.either."1.4.0" deps {}) }: buildRustCrate {
+    crateName = "either";
+    version = "1.4.0";
+    description = "The enum [`Either`] with variants `Left` and `Right` is a general purpose sum type with two cases.\n";
+    authors = [ "bluss" ];
+    sha256 = "04kpfd84lvyrkb2z4sljlz2d3d5qczd0sb1yy37fgijq2yx3vb37";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."either"."1.4.0" or {});
+  };
+  features_.either."1.4.0" = deps: f: updateFeatures f (rec {
+    either = fold recursiveUpdate {} [
+      { "1.4.0"."use_std" =
+        (f.either."1.4.0"."use_std" or false) ||
+        (f.either."1.4.0".default or false) ||
+        (either."1.4.0"."default" or false); }
+      { "1.4.0".default = (f.either."1.4.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# encoding_rs-0.8.13
+
+  crates.encoding_rs."0.8.13" = deps: { features?(features_.encoding_rs."0.8.13" deps {}) }: buildRustCrate {
+    crateName = "encoding_rs";
+    version = "0.8.13";
+    description = "A Gecko-oriented implementation of the Encoding Standard";
+    authors = [ "Henri Sivonen <hsivonen@hsivonen.fi>" ];
+    sha256 = "1a91x1cnw1iz3hc32mvdmwhbqcfx36kk04pnil17mcii1ni6xyy5";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."encoding_rs"."0.8.13"."cfg_if"}" deps)
+    ]);
+    features = mkFeatures (features."encoding_rs"."0.8.13" or {});
+  };
+  features_.encoding_rs."0.8.13" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.encoding_rs."0.8.13".cfg_if}".default = true;
+    encoding_rs = fold recursiveUpdate {} [
+      { "0.8.13"."fast-big5-hanzi-encode" =
+        (f.encoding_rs."0.8.13"."fast-big5-hanzi-encode" or false) ||
+        (f.encoding_rs."0.8.13".fast-legacy-encode or false) ||
+        (encoding_rs."0.8.13"."fast-legacy-encode" or false); }
+      { "0.8.13"."fast-gb-hanzi-encode" =
+        (f.encoding_rs."0.8.13"."fast-gb-hanzi-encode" or false) ||
+        (f.encoding_rs."0.8.13".fast-legacy-encode or false) ||
+        (encoding_rs."0.8.13"."fast-legacy-encode" or false); }
+      { "0.8.13"."fast-hangul-encode" =
+        (f.encoding_rs."0.8.13"."fast-hangul-encode" or false) ||
+        (f.encoding_rs."0.8.13".fast-legacy-encode or false) ||
+        (encoding_rs."0.8.13"."fast-legacy-encode" or false); }
+      { "0.8.13"."fast-hanja-encode" =
+        (f.encoding_rs."0.8.13"."fast-hanja-encode" or false) ||
+        (f.encoding_rs."0.8.13".fast-legacy-encode or false) ||
+        (encoding_rs."0.8.13"."fast-legacy-encode" or false); }
+      { "0.8.13"."fast-kanji-encode" =
+        (f.encoding_rs."0.8.13"."fast-kanji-encode" or false) ||
+        (f.encoding_rs."0.8.13".fast-legacy-encode or false) ||
+        (encoding_rs."0.8.13"."fast-legacy-encode" or false); }
+      { "0.8.13"."simd" =
+        (f.encoding_rs."0.8.13"."simd" or false) ||
+        (f.encoding_rs."0.8.13".simd-accel or false) ||
+        (encoding_rs."0.8.13"."simd-accel" or false); }
+      { "0.8.13".default = (f.encoding_rs."0.8.13".default or true); }
+    ];
+  }) [
+    (features_.cfg_if."${deps."encoding_rs"."0.8.13"."cfg_if"}" deps)
+  ];
+
+
+# end
+# exitcode-1.1.2
+
+  crates.exitcode."1.1.2" = deps: { features?(features_.exitcode."1.1.2" deps {}) }: buildRustCrate {
+    crateName = "exitcode";
+    version = "1.1.2";
+    description = "Preferred system exit codes as defined by sysexits.h";
+    authors = [ "Ben Wilber <benwilber@gmail.com>" ];
+    sha256 = "1cw9p4vzbscvyrbzv7z68gv2cairrns2d4wcb4nkahkcjk25phip";
+  };
+  features_.exitcode."1.1.2" = deps: f: updateFeatures f (rec {
+    exitcode."1.1.2".default = (f.exitcode."1.1.2".default or true);
+  }) [];
+
+
+# end
+# filetime-0.1.14
+
+  crates.filetime."0.1.14" = deps: { features?(features_.filetime."0.1.14" deps {}) }: buildRustCrate {
+    crateName = "filetime";
+    version = "0.1.14";
+    description = "Platform-agnostic accessors of timestamps in File metadata\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0i6dvc3ba7vl1iccc91k7c9bv9j5md98mbvlmfy0kicikx0ffn08";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."filetime"."0.1.14"."cfg_if"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."filetime"."0.1.14"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."filetime"."0.1.14"."libc"}" deps)
+    ]) else []);
+  };
+  features_.filetime."0.1.14" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.filetime."0.1.14".cfg_if}".default = true;
+    filetime."0.1.14".default = (f.filetime."0.1.14".default or true);
+    libc."${deps.filetime."0.1.14".libc}".default = true;
+    redox_syscall."${deps.filetime."0.1.14".redox_syscall}".default = true;
+  }) [
+    (features_.cfg_if."${deps."filetime"."0.1.14"."cfg_if"}" deps)
+    (features_.redox_syscall."${deps."filetime"."0.1.14"."redox_syscall"}" deps)
+    (features_.libc."${deps."filetime"."0.1.14"."libc"}" deps)
+  ];
+
+
+# end
+# flate2-0.2.20
+
+  crates.flate2."0.2.20" = deps: { features?(features_.flate2."0.2.20" deps {}) }: buildRustCrate {
+    crateName = "flate2";
+    version = "0.2.20";
+    description = "Bindings to miniz.c for DEFLATE compression and decompression exposed as\nReader/Writer streams. Contains bindings for zlib, deflate, and gzip-based\nstreams.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."flate2"."0.2.20"."libc"}" deps)
+    ]
+      ++ (if features.flate2."0.2.20".miniz-sys or false then [ (crates.miniz_sys."${deps."flate2"."0.2.20".miniz_sys}" deps) ] else []));
+    features = mkFeatures (features."flate2"."0.2.20" or {});
+  };
+  features_.flate2."0.2.20" = deps: f: updateFeatures f (rec {
+    flate2 = fold recursiveUpdate {} [
+      { "0.2.20"."futures" =
+        (f.flate2."0.2.20"."futures" or false) ||
+        (f.flate2."0.2.20".tokio or false) ||
+        (flate2."0.2.20"."tokio" or false); }
+      { "0.2.20"."libz-sys" =
+        (f.flate2."0.2.20"."libz-sys" or false) ||
+        (f.flate2."0.2.20".zlib or false) ||
+        (flate2."0.2.20"."zlib" or false); }
+      { "0.2.20"."miniz-sys" =
+        (f.flate2."0.2.20"."miniz-sys" or false) ||
+        (f.flate2."0.2.20".default or false) ||
+        (flate2."0.2.20"."default" or false); }
+      { "0.2.20"."tokio-io" =
+        (f.flate2."0.2.20"."tokio-io" or false) ||
+        (f.flate2."0.2.20".tokio or false) ||
+        (flate2."0.2.20"."tokio" or false); }
+      { "0.2.20".default = (f.flate2."0.2.20".default or true); }
+    ];
+    libc."${deps.flate2."0.2.20".libc}".default = true;
+    miniz_sys."${deps.flate2."0.2.20".miniz_sys}".default = true;
+  }) [
+    (features_.libc."${deps."flate2"."0.2.20"."libc"}" deps)
+    (features_.miniz_sys."${deps."flate2"."0.2.20"."miniz_sys"}" deps)
+  ];
+
+
+# end
+# fnv-1.0.6
+
+  crates.fnv."1.0.6" = deps: { features?(features_.fnv."1.0.6" deps {}) }: buildRustCrate {
+    crateName = "fnv";
+    version = "1.0.6";
+    description = "Fowler–Noll–Vo hash function";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "128mlh23y3gg6ag5h8iiqlcbl59smisdzraqy88ldrf75kbw27ip";
+    libPath = "lib.rs";
+  };
+  features_.fnv."1.0.6" = deps: f: updateFeatures f (rec {
+    fnv."1.0.6".default = (f.fnv."1.0.6".default or true);
+  }) [];
+
+
+# end
+# foreign-types-0.3.2
+
+  crates.foreign_types."0.3.2" = deps: { features?(features_.foreign_types."0.3.2" deps {}) }: buildRustCrate {
+    crateName = "foreign-types";
+    version = "0.3.2";
+    description = "A framework for Rust wrappers over C APIs";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "105n8sp2djb1s5lzrw04p7ss3dchr5qa3canmynx396nh3vwm2p8";
+    dependencies = mapFeatures features ([
+      (crates."foreign_types_shared"."${deps."foreign_types"."0.3.2"."foreign_types_shared"}" deps)
+    ]);
+  };
+  features_.foreign_types."0.3.2" = deps: f: updateFeatures f (rec {
+    foreign_types."0.3.2".default = (f.foreign_types."0.3.2".default or true);
+    foreign_types_shared."${deps.foreign_types."0.3.2".foreign_types_shared}".default = true;
+  }) [
+    (features_.foreign_types_shared."${deps."foreign_types"."0.3.2"."foreign_types_shared"}" deps)
+  ];
+
+
+# end
+# foreign-types-shared-0.1.1
+
+  crates.foreign_types_shared."0.1.1" = deps: { features?(features_.foreign_types_shared."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "foreign-types-shared";
+    version = "0.1.1";
+    description = "An internal crate used by foreign-types";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0b6cnvqbflws8dxywk4589vgbz80049lz4x1g9dfy4s1ppd3g4z5";
+  };
+  features_.foreign_types_shared."0.1.1" = deps: f: updateFeatures f (rec {
+    foreign_types_shared."0.1.1".default = (f.foreign_types_shared."0.1.1".default or true);
+  }) [];
+
+
+# end
+# fuchsia-zircon-0.2.1
+
+  crates.fuchsia_zircon."0.2.1" = deps: { features?(features_.fuchsia_zircon."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "fuchsia-zircon";
+    version = "0.2.1";
+    description = "Rust bindings for the Zircon kernel";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
+    dependencies = mapFeatures features ([
+      (crates."fuchsia_zircon_sys"."${deps."fuchsia_zircon"."0.2.1"."fuchsia_zircon_sys"}" deps)
+    ]);
+  };
+  features_.fuchsia_zircon."0.2.1" = deps: f: updateFeatures f (rec {
+    fuchsia_zircon."0.2.1".default = (f.fuchsia_zircon."0.2.1".default or true);
+    fuchsia_zircon_sys."${deps.fuchsia_zircon."0.2.1".fuchsia_zircon_sys}".default = true;
+  }) [
+    (features_.fuchsia_zircon_sys."${deps."fuchsia_zircon"."0.2.1"."fuchsia_zircon_sys"}" deps)
+  ];
+
+
+# end
+# fuchsia-zircon-0.3.3
+
+  crates.fuchsia_zircon."0.3.3" = deps: { features?(features_.fuchsia_zircon."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "fuchsia-zircon";
+    version = "0.3.3";
+    description = "Rust bindings for the Zircon kernel";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "0jrf4shb1699r4la8z358vri8318w4mdi6qzfqy30p2ymjlca4gk";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."fuchsia_zircon"."0.3.3"."bitflags"}" deps)
+      (crates."fuchsia_zircon_sys"."${deps."fuchsia_zircon"."0.3.3"."fuchsia_zircon_sys"}" deps)
+    ]);
+  };
+  features_.fuchsia_zircon."0.3.3" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.fuchsia_zircon."0.3.3".bitflags}".default = true;
+    fuchsia_zircon."0.3.3".default = (f.fuchsia_zircon."0.3.3".default or true);
+    fuchsia_zircon_sys."${deps.fuchsia_zircon."0.3.3".fuchsia_zircon_sys}".default = true;
+  }) [
+    (features_.bitflags."${deps."fuchsia_zircon"."0.3.3"."bitflags"}" deps)
+    (features_.fuchsia_zircon_sys."${deps."fuchsia_zircon"."0.3.3"."fuchsia_zircon_sys"}" deps)
+  ];
+
+
+# end
+# fuchsia-zircon-sys-0.2.0
+
+  crates.fuchsia_zircon_sys."0.2.0" = deps: { features?(features_.fuchsia_zircon_sys."0.2.0" deps {}) }: buildRustCrate {
+    crateName = "fuchsia-zircon-sys";
+    version = "0.2.0";
+    description = "Low-level Rust bindings for the Zircon kernel";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."fuchsia_zircon_sys"."0.2.0"."bitflags"}" deps)
+    ]);
+  };
+  features_.fuchsia_zircon_sys."0.2.0" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.fuchsia_zircon_sys."0.2.0".bitflags}".default = true;
+    fuchsia_zircon_sys."0.2.0".default = (f.fuchsia_zircon_sys."0.2.0".default or true);
+  }) [
+    (features_.bitflags."${deps."fuchsia_zircon_sys"."0.2.0"."bitflags"}" deps)
+  ];
+
+
+# end
+# fuchsia-zircon-sys-0.3.3
+
+  crates.fuchsia_zircon_sys."0.3.3" = deps: { features?(features_.fuchsia_zircon_sys."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "fuchsia-zircon-sys";
+    version = "0.3.3";
+    description = "Low-level Rust bindings for the Zircon kernel";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "08jp1zxrm9jbrr6l26bjal4dbm8bxfy57ickdgibsqxr1n9j3hf5";
+  };
+  features_.fuchsia_zircon_sys."0.3.3" = deps: f: updateFeatures f (rec {
+    fuchsia_zircon_sys."0.3.3".default = (f.fuchsia_zircon_sys."0.3.3".default or true);
+  }) [];
+
+
+# end
+# futures-0.1.25
+
+  crates.futures."0.1.25" = deps: { features?(features_.futures."0.1.25" deps {}) }: buildRustCrate {
+    crateName = "futures";
+    version = "0.1.25";
+    description = "An implementation of futures and streams featuring zero allocations,\ncomposability, and iterator-like interfaces.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1gdn9z3mi3jjzbxgvawqh90895130c3ydks55rshja0ncpn985q3";
+    features = mkFeatures (features."futures"."0.1.25" or {});
+  };
+  features_.futures."0.1.25" = deps: f: updateFeatures f (rec {
+    futures = fold recursiveUpdate {} [
+      { "0.1.25"."use_std" =
+        (f.futures."0.1.25"."use_std" or false) ||
+        (f.futures."0.1.25".default or false) ||
+        (futures."0.1.25"."default" or false); }
+      { "0.1.25"."with-deprecated" =
+        (f.futures."0.1.25"."with-deprecated" or false) ||
+        (f.futures."0.1.25".default or false) ||
+        (futures."0.1.25"."default" or false); }
+      { "0.1.25".default = (f.futures."0.1.25".default or true); }
+    ];
+  }) [];
+
+
+# end
+# futures-cpupool-0.1.7
+
+  crates.futures_cpupool."0.1.7" = deps: { features?(features_.futures_cpupool."0.1.7" deps {}) }: buildRustCrate {
+    crateName = "futures-cpupool";
+    version = "0.1.7";
+    description = "An implementation of thread pools which hand out futures to the results of the\ncomputation on the threads themselves.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1m0z5d54q1zr687acb4fh5fb3x692vr5ais6135lvp7vxap6p0xb";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."futures_cpupool"."0.1.7"."futures"}" deps)
+      (crates."num_cpus"."${deps."futures_cpupool"."0.1.7"."num_cpus"}" deps)
+    ]);
+    features = mkFeatures (features."futures_cpupool"."0.1.7" or {});
+  };
+  features_.futures_cpupool."0.1.7" = deps: f: updateFeatures f (rec {
+    futures = fold recursiveUpdate {} [
+      { "${deps.futures_cpupool."0.1.7".futures}"."use_std" = true; }
+      { "${deps.futures_cpupool."0.1.7".futures}"."with-deprecated" =
+        (f.futures."${deps.futures_cpupool."0.1.7".futures}"."with-deprecated" or false) ||
+        (futures_cpupool."0.1.7"."with-deprecated" or false) ||
+        (f."futures_cpupool"."0.1.7"."with-deprecated" or false); }
+      { "${deps.futures_cpupool."0.1.7".futures}".default = (f.futures."${deps.futures_cpupool."0.1.7".futures}".default or false); }
+    ];
+    futures_cpupool = fold recursiveUpdate {} [
+      { "0.1.7"."with-deprecated" =
+        (f.futures_cpupool."0.1.7"."with-deprecated" or false) ||
+        (f.futures_cpupool."0.1.7".default or false) ||
+        (futures_cpupool."0.1.7"."default" or false); }
+      { "0.1.7".default = (f.futures_cpupool."0.1.7".default or true); }
+    ];
+    num_cpus."${deps.futures_cpupool."0.1.7".num_cpus}".default = true;
+  }) [
+    (features_.futures."${deps."futures_cpupool"."0.1.7"."futures"}" deps)
+    (features_.num_cpus."${deps."futures_cpupool"."0.1.7"."num_cpus"}" deps)
+  ];
+
+
+# end
+# h2-0.1.13
+
+  crates.h2."0.1.13" = deps: { features?(features_.h2."0.1.13" deps {}) }: buildRustCrate {
+    crateName = "h2";
+    version = "0.1.13";
+    description = "An HTTP/2.0 client and server";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1nmbr5i1ssqbnfwmkgsfzghzr4m8676z38s2dmzs9gchha7n8wv7";
+    dependencies = mapFeatures features ([
+      (crates."byteorder"."${deps."h2"."0.1.13"."byteorder"}" deps)
+      (crates."bytes"."${deps."h2"."0.1.13"."bytes"}" deps)
+      (crates."fnv"."${deps."h2"."0.1.13"."fnv"}" deps)
+      (crates."futures"."${deps."h2"."0.1.13"."futures"}" deps)
+      (crates."http"."${deps."h2"."0.1.13"."http"}" deps)
+      (crates."indexmap"."${deps."h2"."0.1.13"."indexmap"}" deps)
+      (crates."log"."${deps."h2"."0.1.13"."log"}" deps)
+      (crates."slab"."${deps."h2"."0.1.13"."slab"}" deps)
+      (crates."string"."${deps."h2"."0.1.13"."string"}" deps)
+      (crates."tokio_io"."${deps."h2"."0.1.13"."tokio_io"}" deps)
+    ]);
+    features = mkFeatures (features."h2"."0.1.13" or {});
+  };
+  features_.h2."0.1.13" = deps: f: updateFeatures f (rec {
+    byteorder."${deps.h2."0.1.13".byteorder}".default = true;
+    bytes."${deps.h2."0.1.13".bytes}".default = true;
+    fnv."${deps.h2."0.1.13".fnv}".default = true;
+    futures."${deps.h2."0.1.13".futures}".default = true;
+    h2."0.1.13".default = (f.h2."0.1.13".default or true);
+    http."${deps.h2."0.1.13".http}".default = true;
+    indexmap."${deps.h2."0.1.13".indexmap}".default = true;
+    log."${deps.h2."0.1.13".log}".default = true;
+    slab."${deps.h2."0.1.13".slab}".default = true;
+    string."${deps.h2."0.1.13".string}".default = true;
+    tokio_io."${deps.h2."0.1.13".tokio_io}".default = true;
+  }) [
+    (features_.byteorder."${deps."h2"."0.1.13"."byteorder"}" deps)
+    (features_.bytes."${deps."h2"."0.1.13"."bytes"}" deps)
+    (features_.fnv."${deps."h2"."0.1.13"."fnv"}" deps)
+    (features_.futures."${deps."h2"."0.1.13"."futures"}" deps)
+    (features_.http."${deps."h2"."0.1.13"."http"}" deps)
+    (features_.indexmap."${deps."h2"."0.1.13"."indexmap"}" deps)
+    (features_.log."${deps."h2"."0.1.13"."log"}" deps)
+    (features_.slab."${deps."h2"."0.1.13"."slab"}" deps)
+    (features_.string."${deps."h2"."0.1.13"."string"}" deps)
+    (features_.tokio_io."${deps."h2"."0.1.13"."tokio_io"}" deps)
+  ];
+
+
+# end
+# http-0.1.14
+
+  crates.http."0.1.14" = deps: { features?(features_.http."0.1.14" deps {}) }: buildRustCrate {
+    crateName = "http";
+    version = "0.1.14";
+    description = "A set of types for representing HTTP requests and responses.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Carl Lerche <me@carllerche.com>" "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1828cz2fh25nmp9rca0yzr548phsvkmzsqhspjnscqg1l9yc1557";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."http"."0.1.14"."bytes"}" deps)
+      (crates."fnv"."${deps."http"."0.1.14"."fnv"}" deps)
+      (crates."itoa"."${deps."http"."0.1.14"."itoa"}" deps)
+    ]);
+  };
+  features_.http."0.1.14" = deps: f: updateFeatures f (rec {
+    bytes."${deps.http."0.1.14".bytes}".default = true;
+    fnv."${deps.http."0.1.14".fnv}".default = true;
+    http."0.1.14".default = (f.http."0.1.14".default or true);
+    itoa."${deps.http."0.1.14".itoa}".default = true;
+  }) [
+    (features_.bytes."${deps."http"."0.1.14"."bytes"}" deps)
+    (features_.fnv."${deps."http"."0.1.14"."fnv"}" deps)
+    (features_.itoa."${deps."http"."0.1.14"."itoa"}" deps)
+  ];
+
+
+# end
+# httparse-1.2.3
+
+  crates.httparse."1.2.3" = deps: { features?(features_.httparse."1.2.3" deps {}) }: buildRustCrate {
+    crateName = "httparse";
+    version = "1.2.3";
+    description = "A tiny, safe, speedy, zero-copy HTTP/1.x parser.";
+    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
+    sha256 = "13x17y9bip0bija06y4vwpgh8jdmdi2gsvjq02kyfy0fbp5cqa93";
+    features = mkFeatures (features."httparse"."1.2.3" or {});
+  };
+  features_.httparse."1.2.3" = deps: f: updateFeatures f (rec {
+    httparse = fold recursiveUpdate {} [
+      { "1.2.3"."std" =
+        (f.httparse."1.2.3"."std" or false) ||
+        (f.httparse."1.2.3".default or false) ||
+        (httparse."1.2.3"."default" or false); }
+      { "1.2.3".default = (f.httparse."1.2.3".default or true); }
+    ];
+  }) [];
+
+
+# end
+# hyper-0.12.16
+
+  crates.hyper."0.12.16" = deps: { features?(features_.hyper."0.12.16" deps {}) }: buildRustCrate {
+    crateName = "hyper";
+    version = "0.12.16";
+    description = "A fast and correct HTTP library.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1h5h9swxh02jcg1m4cvwb5nmkb8z9g4b0p4wfbhfvsd7wf14qr0y";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."hyper"."0.12.16"."bytes"}" deps)
+      (crates."futures"."${deps."hyper"."0.12.16"."futures"}" deps)
+      (crates."h2"."${deps."hyper"."0.12.16"."h2"}" deps)
+      (crates."http"."${deps."hyper"."0.12.16"."http"}" deps)
+      (crates."httparse"."${deps."hyper"."0.12.16"."httparse"}" deps)
+      (crates."iovec"."${deps."hyper"."0.12.16"."iovec"}" deps)
+      (crates."itoa"."${deps."hyper"."0.12.16"."itoa"}" deps)
+      (crates."log"."${deps."hyper"."0.12.16"."log"}" deps)
+      (crates."time"."${deps."hyper"."0.12.16"."time"}" deps)
+      (crates."tokio_io"."${deps."hyper"."0.12.16"."tokio_io"}" deps)
+      (crates."want"."${deps."hyper"."0.12.16"."want"}" deps)
+    ]
+      ++ (if features.hyper."0.12.16".futures-cpupool or false then [ (crates.futures_cpupool."${deps."hyper"."0.12.16".futures_cpupool}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".net2 or false then [ (crates.net2."${deps."hyper"."0.12.16".net2}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio or false then [ (crates.tokio."${deps."hyper"."0.12.16".tokio}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio-executor or false then [ (crates.tokio_executor."${deps."hyper"."0.12.16".tokio_executor}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio-reactor or false then [ (crates.tokio_reactor."${deps."hyper"."0.12.16".tokio_reactor}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio-tcp or false then [ (crates.tokio_tcp."${deps."hyper"."0.12.16".tokio_tcp}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio-threadpool or false then [ (crates.tokio_threadpool."${deps."hyper"."0.12.16".tokio_threadpool}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio-timer or false then [ (crates.tokio_timer."${deps."hyper"."0.12.16".tokio_timer}" deps) ] else []));
+    features = mkFeatures (features."hyper"."0.12.16" or {});
+  };
+  features_.hyper."0.12.16" = deps: f: updateFeatures f (rec {
+    bytes."${deps.hyper."0.12.16".bytes}".default = true;
+    futures."${deps.hyper."0.12.16".futures}".default = true;
+    futures_cpupool."${deps.hyper."0.12.16".futures_cpupool}".default = true;
+    h2."${deps.hyper."0.12.16".h2}".default = true;
+    http."${deps.hyper."0.12.16".http}".default = true;
+    httparse."${deps.hyper."0.12.16".httparse}".default = true;
+    hyper = fold recursiveUpdate {} [
+      { "0.12.16"."__internal_flaky_tests" =
+        (f.hyper."0.12.16"."__internal_flaky_tests" or false) ||
+        (f.hyper."0.12.16".default or false) ||
+        (hyper."0.12.16"."default" or false); }
+      { "0.12.16"."futures-cpupool" =
+        (f.hyper."0.12.16"."futures-cpupool" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."net2" =
+        (f.hyper."0.12.16"."net2" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."runtime" =
+        (f.hyper."0.12.16"."runtime" or false) ||
+        (f.hyper."0.12.16".default or false) ||
+        (hyper."0.12.16"."default" or false); }
+      { "0.12.16"."tokio" =
+        (f.hyper."0.12.16"."tokio" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."tokio-executor" =
+        (f.hyper."0.12.16"."tokio-executor" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."tokio-reactor" =
+        (f.hyper."0.12.16"."tokio-reactor" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."tokio-tcp" =
+        (f.hyper."0.12.16"."tokio-tcp" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."tokio-threadpool" =
+        (f.hyper."0.12.16"."tokio-threadpool" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."tokio-timer" =
+        (f.hyper."0.12.16"."tokio-timer" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16".default = (f.hyper."0.12.16".default or true); }
+    ];
+    iovec."${deps.hyper."0.12.16".iovec}".default = true;
+    itoa."${deps.hyper."0.12.16".itoa}".default = true;
+    log."${deps.hyper."0.12.16".log}".default = true;
+    net2."${deps.hyper."0.12.16".net2}".default = true;
+    time."${deps.hyper."0.12.16".time}".default = true;
+    tokio."${deps.hyper."0.12.16".tokio}".default = true;
+    tokio_executor."${deps.hyper."0.12.16".tokio_executor}".default = true;
+    tokio_io."${deps.hyper."0.12.16".tokio_io}".default = true;
+    tokio_reactor."${deps.hyper."0.12.16".tokio_reactor}".default = true;
+    tokio_tcp."${deps.hyper."0.12.16".tokio_tcp}".default = true;
+    tokio_threadpool."${deps.hyper."0.12.16".tokio_threadpool}".default = true;
+    tokio_timer."${deps.hyper."0.12.16".tokio_timer}".default = true;
+    want."${deps.hyper."0.12.16".want}".default = true;
+  }) [
+    (features_.bytes."${deps."hyper"."0.12.16"."bytes"}" deps)
+    (features_.futures."${deps."hyper"."0.12.16"."futures"}" deps)
+    (features_.futures_cpupool."${deps."hyper"."0.12.16"."futures_cpupool"}" deps)
+    (features_.h2."${deps."hyper"."0.12.16"."h2"}" deps)
+    (features_.http."${deps."hyper"."0.12.16"."http"}" deps)
+    (features_.httparse."${deps."hyper"."0.12.16"."httparse"}" deps)
+    (features_.iovec."${deps."hyper"."0.12.16"."iovec"}" deps)
+    (features_.itoa."${deps."hyper"."0.12.16"."itoa"}" deps)
+    (features_.log."${deps."hyper"."0.12.16"."log"}" deps)
+    (features_.net2."${deps."hyper"."0.12.16"."net2"}" deps)
+    (features_.time."${deps."hyper"."0.12.16"."time"}" deps)
+    (features_.tokio."${deps."hyper"."0.12.16"."tokio"}" deps)
+    (features_.tokio_executor."${deps."hyper"."0.12.16"."tokio_executor"}" deps)
+    (features_.tokio_io."${deps."hyper"."0.12.16"."tokio_io"}" deps)
+    (features_.tokio_reactor."${deps."hyper"."0.12.16"."tokio_reactor"}" deps)
+    (features_.tokio_tcp."${deps."hyper"."0.12.16"."tokio_tcp"}" deps)
+    (features_.tokio_threadpool."${deps."hyper"."0.12.16"."tokio_threadpool"}" deps)
+    (features_.tokio_timer."${deps."hyper"."0.12.16"."tokio_timer"}" deps)
+    (features_.want."${deps."hyper"."0.12.16"."want"}" deps)
+  ];
+
+
+# end
+# hyper-tls-0.3.1
+
+  crates.hyper_tls."0.3.1" = deps: { features?(features_.hyper_tls."0.3.1" deps {}) }: buildRustCrate {
+    crateName = "hyper-tls";
+    version = "0.3.1";
+    description = "Default TLS implementation for use with hyper";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "0sk46mmnccxgxwn62rl5m58c2ivwgxgd590cjwg60pjkhx9qn5r7";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."hyper_tls"."0.3.1"."bytes"}" deps)
+      (crates."futures"."${deps."hyper_tls"."0.3.1"."futures"}" deps)
+      (crates."hyper"."${deps."hyper_tls"."0.3.1"."hyper"}" deps)
+      (crates."native_tls"."${deps."hyper_tls"."0.3.1"."native_tls"}" deps)
+      (crates."tokio_io"."${deps."hyper_tls"."0.3.1"."tokio_io"}" deps)
+    ]);
+    features = mkFeatures (features."hyper_tls"."0.3.1" or {});
+  };
+  features_.hyper_tls."0.3.1" = deps: f: updateFeatures f (rec {
+    bytes."${deps.hyper_tls."0.3.1".bytes}".default = true;
+    futures."${deps.hyper_tls."0.3.1".futures}".default = true;
+    hyper."${deps.hyper_tls."0.3.1".hyper}".default = true;
+    hyper_tls."0.3.1".default = (f.hyper_tls."0.3.1".default or true);
+    native_tls = fold recursiveUpdate {} [
+      { "${deps.hyper_tls."0.3.1".native_tls}"."vendored" =
+        (f.native_tls."${deps.hyper_tls."0.3.1".native_tls}"."vendored" or false) ||
+        (hyper_tls."0.3.1"."vendored" or false) ||
+        (f."hyper_tls"."0.3.1"."vendored" or false); }
+      { "${deps.hyper_tls."0.3.1".native_tls}".default = true; }
+    ];
+    tokio_io."${deps.hyper_tls."0.3.1".tokio_io}".default = true;
+  }) [
+    (features_.bytes."${deps."hyper_tls"."0.3.1"."bytes"}" deps)
+    (features_.futures."${deps."hyper_tls"."0.3.1"."futures"}" deps)
+    (features_.hyper."${deps."hyper_tls"."0.3.1"."hyper"}" deps)
+    (features_.native_tls."${deps."hyper_tls"."0.3.1"."native_tls"}" deps)
+    (features_.tokio_io."${deps."hyper_tls"."0.3.1"."tokio_io"}" deps)
+  ];
+
+
+# end
+# idna-0.1.4
+
+  crates.idna."0.1.4" = deps: { features?(features_.idna."0.1.4" deps {}) }: buildRustCrate {
+    crateName = "idna";
+    version = "0.1.4";
+    description = "IDNA (Internationalizing Domain Names in Applications) and Punycode.";
+    authors = [ "The rust-url developers" ];
+    sha256 = "15j44qgjx1skwg9i7f4cm36ni4n99b1ayx23yxx7axxcw8vjf336";
+    dependencies = mapFeatures features ([
+      (crates."matches"."${deps."idna"."0.1.4"."matches"}" deps)
+      (crates."unicode_bidi"."${deps."idna"."0.1.4"."unicode_bidi"}" deps)
+      (crates."unicode_normalization"."${deps."idna"."0.1.4"."unicode_normalization"}" deps)
+    ]);
+  };
+  features_.idna."0.1.4" = deps: f: updateFeatures f (rec {
+    idna."0.1.4".default = (f.idna."0.1.4".default or true);
+    matches."${deps.idna."0.1.4".matches}".default = true;
+    unicode_bidi."${deps.idna."0.1.4".unicode_bidi}".default = true;
+    unicode_normalization."${deps.idna."0.1.4".unicode_normalization}".default = true;
+  }) [
+    (features_.matches."${deps."idna"."0.1.4"."matches"}" deps)
+    (features_.unicode_bidi."${deps."idna"."0.1.4"."unicode_bidi"}" deps)
+    (features_.unicode_normalization."${deps."idna"."0.1.4"."unicode_normalization"}" deps)
+  ];
+
+
+# end
+# indexmap-1.0.2
+
+  crates.indexmap."1.0.2" = deps: { features?(features_.indexmap."1.0.2" deps {}) }: buildRustCrate {
+    crateName = "indexmap";
+    version = "1.0.2";
+    description = "A hash table with consistent order and fast iteration.\n\nThe indexmap is a hash table where the iteration order of the key-value\npairs is independent of the hash values of the keys. It has the usual\nhash table functionality, it preserves insertion order except after\nremovals, and it allows lookup of its elements by either hash table key\nor numerical index. A corresponding hash set type is also provided.\n\nThis crate was initially published under the name ordermap, but it was renamed to\nindexmap.\n";
+    authors = [ "bluss" "Josh Stone <cuviper@gmail.com>" ];
+    sha256 = "18a0cn5xy3a7wswxg5lwfg3j4sh5blk28ykw0ysgr486djd353gf";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."indexmap"."1.0.2" or {});
+  };
+  features_.indexmap."1.0.2" = deps: f: updateFeatures f (rec {
+    indexmap = fold recursiveUpdate {} [
+      { "1.0.2"."serde" =
+        (f.indexmap."1.0.2"."serde" or false) ||
+        (f.indexmap."1.0.2".serde-1 or false) ||
+        (indexmap."1.0.2"."serde-1" or false); }
+      { "1.0.2".default = (f.indexmap."1.0.2".default or true); }
+    ];
+  }) [];
+
+
+# end
+# iovec-0.1.1
+
+  crates.iovec."0.1.1" = deps: { features?(features_.iovec."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "iovec";
+    version = "0.1.1";
+    description = "Portable buffer type for scatter/gather I/O operations\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "14fns3g3arbql6lkczf2gbbzaqh22mfv7y1wq5rr2y8jhh5m8jmm";
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."iovec"."0.1.1"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."iovec"."0.1.1"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.iovec."0.1.1" = deps: f: updateFeatures f (rec {
+    iovec."0.1.1".default = (f.iovec."0.1.1".default or true);
+    libc."${deps.iovec."0.1.1".libc}".default = true;
+    winapi."${deps.iovec."0.1.1".winapi}".default = true;
+  }) [
+    (features_.libc."${deps."iovec"."0.1.1"."libc"}" deps)
+    (features_.winapi."${deps."iovec"."0.1.1"."winapi"}" deps)
+  ];
+
+
+# end
+# isatty-0.1.5
+
+  crates.isatty."0.1.5" = deps: { features?(features_.isatty."0.1.5" deps {}) }: buildRustCrate {
+    crateName = "isatty";
+    version = "0.1.5";
+    description = "libc::isatty that also works on Windows";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0gp781mgqmvsp6a3iyhwk2sqis2ys8jfg3grq40m135zgb4d2cvj";
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."isatty"."0.1.5"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."kernel32_sys"."${deps."isatty"."0.1.5"."kernel32_sys"}" deps)
+      (crates."winapi"."${deps."isatty"."0.1.5"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.isatty."0.1.5" = deps: f: updateFeatures f (rec {
+    isatty."0.1.5".default = (f.isatty."0.1.5".default or true);
+    kernel32_sys."${deps.isatty."0.1.5".kernel32_sys}".default = true;
+    libc."${deps.isatty."0.1.5".libc}".default = true;
+    winapi."${deps.isatty."0.1.5".winapi}".default = true;
+  }) [
+    (features_.libc."${deps."isatty"."0.1.5"."libc"}" deps)
+    (features_.kernel32_sys."${deps."isatty"."0.1.5"."kernel32_sys"}" deps)
+    (features_.winapi."${deps."isatty"."0.1.5"."winapi"}" deps)
+  ];
+
+
+# end
+# itertools-0.6.5
+
+  crates.itertools."0.6.5" = deps: { features?(features_.itertools."0.6.5" deps {}) }: buildRustCrate {
+    crateName = "itertools";
+    version = "0.6.5";
+    description = "Extra iterator adaptors, iterator methods, free functions, and macros.";
+    authors = [ "bluss" ];
+    sha256 = "0gbhgn7s8qkxxw10i514fzpqnc3aissn4kcgylm2cvnv9zmg8mw1";
+    dependencies = mapFeatures features ([
+      (crates."either"."${deps."itertools"."0.6.5"."either"}" deps)
+    ]);
+  };
+  features_.itertools."0.6.5" = deps: f: updateFeatures f (rec {
+    either."${deps.itertools."0.6.5".either}".default = (f.either."${deps.itertools."0.6.5".either}".default or false);
+    itertools."0.6.5".default = (f.itertools."0.6.5".default or true);
+  }) [
+    (features_.either."${deps."itertools"."0.6.5"."either"}" deps)
+  ];
+
+
+# end
+# itoa-0.3.4
+
+  crates.itoa."0.3.4" = deps: { features?(features_.itoa."0.3.4" deps {}) }: buildRustCrate {
+    crateName = "itoa";
+    version = "0.3.4";
+    description = "Fast functions for printing integer primitives to an io::Write";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
+    features = mkFeatures (features."itoa"."0.3.4" or {});
+  };
+  features_.itoa."0.3.4" = deps: f: updateFeatures f (rec {
+    itoa."0.3.4".default = (f.itoa."0.3.4".default or true);
+  }) [];
+
+
+# end
+# itoa-0.4.3
+
+  crates.itoa."0.4.3" = deps: { features?(features_.itoa."0.4.3" deps {}) }: buildRustCrate {
+    crateName = "itoa";
+    version = "0.4.3";
+    description = "Fast functions for printing integer primitives to an io::Write";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0zadimmdgvili3gdwxqg7ljv3r4wcdg1kkdfp9nl15vnm23vrhy1";
+    features = mkFeatures (features."itoa"."0.4.3" or {});
+  };
+  features_.itoa."0.4.3" = deps: f: updateFeatures f (rec {
+    itoa = fold recursiveUpdate {} [
+      { "0.4.3"."std" =
+        (f.itoa."0.4.3"."std" or false) ||
+        (f.itoa."0.4.3".default or false) ||
+        (itoa."0.4.3"."default" or false); }
+      { "0.4.3".default = (f.itoa."0.4.3".default or true); }
+    ];
+  }) [];
+
+
+# end
+# kernel32-sys-0.2.2
+
+  crates.kernel32_sys."0.2.2" = deps: { features?(features_.kernel32_sys."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "kernel32-sys";
+    version = "0.2.2";
+    description = "Contains function definitions for the Windows API library kernel32. See winapi for types and constants.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
+    libName = "kernel32";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."winapi"."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."winapi_build"."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
+    ]);
+  };
+  features_.kernel32_sys."0.2.2" = deps: f: updateFeatures f (rec {
+    kernel32_sys."0.2.2".default = (f.kernel32_sys."0.2.2".default or true);
+    winapi."${deps.kernel32_sys."0.2.2".winapi}".default = true;
+    winapi_build."${deps.kernel32_sys."0.2.2".winapi_build}".default = true;
+  }) [
+    (features_.winapi."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
+    (features_.winapi_build."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
+  ];
+
+
+# end
+# lazy_static-0.2.10
+
+  crates.lazy_static."0.2.10" = deps: { features?(features_.lazy_static."0.2.10" deps {}) }: buildRustCrate {
+    crateName = "lazy_static";
+    version = "0.2.10";
+    description = "A macro for declaring lazily evaluated statics in Rust.";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "0ylwjvppsm56fpv32l4br7zw0pwn81wbfb1abalyyr1d9c94vg8r";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."lazy_static"."0.2.10" or {});
+  };
+  features_.lazy_static."0.2.10" = deps: f: updateFeatures f (rec {
+    lazy_static = fold recursiveUpdate {} [
+      { "0.2.10"."compiletest_rs" =
+        (f.lazy_static."0.2.10"."compiletest_rs" or false) ||
+        (f.lazy_static."0.2.10".compiletest or false) ||
+        (lazy_static."0.2.10"."compiletest" or false); }
+      { "0.2.10"."nightly" =
+        (f.lazy_static."0.2.10"."nightly" or false) ||
+        (f.lazy_static."0.2.10".spin_no_std or false) ||
+        (lazy_static."0.2.10"."spin_no_std" or false); }
+      { "0.2.10"."spin" =
+        (f.lazy_static."0.2.10"."spin" or false) ||
+        (f.lazy_static."0.2.10".spin_no_std or false) ||
+        (lazy_static."0.2.10"."spin_no_std" or false); }
+      { "0.2.10".default = (f.lazy_static."0.2.10".default or true); }
+    ];
+  }) [];
+
+
+# end
+# lazy_static-1.2.0
+
+  crates.lazy_static."1.2.0" = deps: { features?(features_.lazy_static."1.2.0" deps {}) }: buildRustCrate {
+    crateName = "lazy_static";
+    version = "1.2.0";
+    description = "A macro for declaring lazily evaluated statics in Rust.";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "07p3b30k2akyr6xw08ggd5qiz5nw3vd3agggj360fcc1njz7d0ss";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."lazy_static"."1.2.0" or {});
+  };
+  features_.lazy_static."1.2.0" = deps: f: updateFeatures f (rec {
+    lazy_static = fold recursiveUpdate {} [
+      { "1.2.0"."spin" =
+        (f.lazy_static."1.2.0"."spin" or false) ||
+        (f.lazy_static."1.2.0".spin_no_std or false) ||
+        (lazy_static."1.2.0"."spin_no_std" or false); }
+      { "1.2.0".default = (f.lazy_static."1.2.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# lazycell-1.2.0
+
+  crates.lazycell."1.2.0" = deps: { features?(features_.lazycell."1.2.0" deps {}) }: buildRustCrate {
+    crateName = "lazycell";
+    version = "1.2.0";
+    description = "A library providing a lazily filled Cell struct";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Nikita Pekin <contact@nikitapek.in>" ];
+    sha256 = "1lzdb3q17yjihw9hksynxgyg8wbph1h791wff8rrf1c2aqjwhmax";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."lazycell"."1.2.0" or {});
+  };
+  features_.lazycell."1.2.0" = deps: f: updateFeatures f (rec {
+    lazycell = fold recursiveUpdate {} [
+      { "1.2.0"."clippy" =
+        (f.lazycell."1.2.0"."clippy" or false) ||
+        (f.lazycell."1.2.0".nightly-testing or false) ||
+        (lazycell."1.2.0"."nightly-testing" or false); }
+      { "1.2.0"."nightly" =
+        (f.lazycell."1.2.0"."nightly" or false) ||
+        (f.lazycell."1.2.0".nightly-testing or false) ||
+        (lazycell."1.2.0"."nightly-testing" or false); }
+      { "1.2.0".default = (f.lazycell."1.2.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# libc-0.2.44
+
+  crates.libc."0.2.44" = deps: { features?(features_.libc."0.2.44" deps {}) }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.44";
+    description = "A library for types and bindings to native C functions often found in libc or\nother common platform libraries.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "17a7p0lcf3qwl1pcxffdflgnx8zr2659mgzzg4zi5fnv1mlj3q6z";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."libc"."0.2.44" or {});
+  };
+  features_.libc."0.2.44" = deps: f: updateFeatures f (rec {
+    libc = fold recursiveUpdate {} [
+      { "0.2.44"."align" =
+        (f.libc."0.2.44"."align" or false) ||
+        (f.libc."0.2.44".rustc-dep-of-std or false) ||
+        (libc."0.2.44"."rustc-dep-of-std" or false); }
+      { "0.2.44"."rustc-std-workspace-core" =
+        (f.libc."0.2.44"."rustc-std-workspace-core" or false) ||
+        (f.libc."0.2.44".rustc-dep-of-std or false) ||
+        (libc."0.2.44"."rustc-dep-of-std" or false); }
+      { "0.2.44"."use_std" =
+        (f.libc."0.2.44"."use_std" or false) ||
+        (f.libc."0.2.44".default or false) ||
+        (libc."0.2.44"."default" or false); }
+      { "0.2.44".default = (f.libc."0.2.44".default or true); }
+    ];
+  }) [];
+
+
+# end
+# libflate-0.1.19
+
+  crates.libflate."0.1.19" = deps: { features?(features_.libflate."0.1.19" deps {}) }: buildRustCrate {
+    crateName = "libflate";
+    version = "0.1.19";
+    description = "A Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP)";
+    authors = [ "Takeru Ohta <phjgt308@gmail.com>" ];
+    sha256 = "1klhvys9541xrwspyyv41qbr37xnwx4bdaspk6gbiprhrsqqkjp0";
+    dependencies = mapFeatures features ([
+      (crates."adler32"."${deps."libflate"."0.1.19"."adler32"}" deps)
+      (crates."byteorder"."${deps."libflate"."0.1.19"."byteorder"}" deps)
+      (crates."crc32fast"."${deps."libflate"."0.1.19"."crc32fast"}" deps)
+    ]);
+  };
+  features_.libflate."0.1.19" = deps: f: updateFeatures f (rec {
+    adler32."${deps.libflate."0.1.19".adler32}".default = true;
+    byteorder."${deps.libflate."0.1.19".byteorder}".default = true;
+    crc32fast."${deps.libflate."0.1.19".crc32fast}".default = true;
+    libflate."0.1.19".default = (f.libflate."0.1.19".default or true);
+  }) [
+    (features_.adler32."${deps."libflate"."0.1.19"."adler32"}" deps)
+    (features_.byteorder."${deps."libflate"."0.1.19"."byteorder"}" deps)
+    (features_.crc32fast."${deps."libflate"."0.1.19"."crc32fast"}" deps)
+  ];
+
+
+# end
+# lock_api-0.1.5
+
+  crates.lock_api."0.1.5" = deps: { features?(features_.lock_api."0.1.5" deps {}) }: buildRustCrate {
+    crateName = "lock_api";
+    version = "0.1.5";
+    description = "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "132sidr5hvjfkaqm3l95zpcpi8yk5ddd0g79zf1ad4v65sxirqqm";
+    dependencies = mapFeatures features ([
+      (crates."scopeguard"."${deps."lock_api"."0.1.5"."scopeguard"}" deps)
+    ]
+      ++ (if features.lock_api."0.1.5".owning_ref or false then [ (crates.owning_ref."${deps."lock_api"."0.1.5".owning_ref}" deps) ] else []));
+    features = mkFeatures (features."lock_api"."0.1.5" or {});
+  };
+  features_.lock_api."0.1.5" = deps: f: updateFeatures f (rec {
+    lock_api."0.1.5".default = (f.lock_api."0.1.5".default or true);
+    owning_ref."${deps.lock_api."0.1.5".owning_ref}".default = true;
+    scopeguard."${deps.lock_api."0.1.5".scopeguard}".default = (f.scopeguard."${deps.lock_api."0.1.5".scopeguard}".default or false);
+  }) [
+    (features_.owning_ref."${deps."lock_api"."0.1.5"."owning_ref"}" deps)
+    (features_.scopeguard."${deps."lock_api"."0.1.5"."scopeguard"}" deps)
+  ];
+
+
+# end
+# log-0.3.8
+
+  crates.log."0.3.8" = deps: { features?(features_.log."0.3.8" deps {}) }: buildRustCrate {
+    crateName = "log";
+    version = "0.3.8";
+    description = "A lightweight logging facade for Rust\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1c43z4z85sxrsgir4s1hi84558ab5ic7jrn5qgmsiqcv90vvn006";
+    features = mkFeatures (features."log"."0.3.8" or {});
+  };
+  features_.log."0.3.8" = deps: f: updateFeatures f (rec {
+    log = fold recursiveUpdate {} [
+      { "0.3.8"."use_std" =
+        (f.log."0.3.8"."use_std" or false) ||
+        (f.log."0.3.8".default or false) ||
+        (log."0.3.8"."default" or false); }
+      { "0.3.8".default = (f.log."0.3.8".default or true); }
+    ];
+  }) [];
+
+
+# end
+# log-0.4.6
+
+  crates.log."0.4.6" = deps: { features?(features_.log."0.4.6" deps {}) }: buildRustCrate {
+    crateName = "log";
+    version = "0.4.6";
+    description = "A lightweight logging facade for Rust\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1nd8dl9mvc9vd6fks5d4gsxaz990xi6rzlb8ymllshmwi153vngr";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."log"."0.4.6"."cfg_if"}" deps)
+    ]);
+    features = mkFeatures (features."log"."0.4.6" or {});
+  };
+  features_.log."0.4.6" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.log."0.4.6".cfg_if}".default = true;
+    log."0.4.6".default = (f.log."0.4.6".default or true);
+  }) [
+    (features_.cfg_if."${deps."log"."0.4.6"."cfg_if"}" deps)
+  ];
+
+
+# end
+# maplit-0.1.6
+
+  crates.maplit."0.1.6" = deps: { features?(features_.maplit."0.1.6" deps {}) }: buildRustCrate {
+    crateName = "maplit";
+    version = "0.1.6";
+    description = "Container / collection literal macros for HashMap, HashSet, BTreeMap, BTreeSet.";
+    authors = [ "bluss" ];
+    sha256 = "1f8kf5v7xra8ssvh5c10qlacbk4l0z2817pkscflx5s5q6y7925h";
+  };
+  features_.maplit."0.1.6" = deps: f: updateFeatures f (rec {
+    maplit."0.1.6".default = (f.maplit."0.1.6".default or true);
+  }) [];
+
+
+# end
+# matches-0.1.6
+
+  crates.matches."0.1.6" = deps: { features?(features_.matches."0.1.6" deps {}) }: buildRustCrate {
+    crateName = "matches";
+    version = "0.1.6";
+    description = "A macro to evaluate, as a boolean, whether an expression matches a pattern.";
+    authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
+    sha256 = "1zlrqlbvzxdil8z8ial2ihvxjwvlvg3g8dr0lcdpsjclkclasjan";
+    libPath = "lib.rs";
+  };
+  features_.matches."0.1.6" = deps: f: updateFeatures f (rec {
+    matches."0.1.6".default = (f.matches."0.1.6".default or true);
+  }) [];
+
+
+# end
+# memchr-0.1.11
+
+  crates.memchr."0.1.11" = deps: { features?(features_.memchr."0.1.11" deps {}) }: buildRustCrate {
+    crateName = "memchr";
+    version = "0.1.11";
+    description = "Safe interface to memchr.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
+    sha256 = "0x73jghamvxxq5fsw9wb0shk5m6qp3q6fsf0nibn0i6bbqkw91s8";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."memchr"."0.1.11"."libc"}" deps)
+    ]);
+  };
+  features_.memchr."0.1.11" = deps: f: updateFeatures f (rec {
+    libc."${deps.memchr."0.1.11".libc}".default = true;
+    memchr."0.1.11".default = (f.memchr."0.1.11".default or true);
+  }) [
+    (features_.libc."${deps."memchr"."0.1.11"."libc"}" deps)
+  ];
+
+
+# end
+# memoffset-0.2.1
+
+  crates.memoffset."0.2.1" = deps: { features?(features_.memoffset."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "memoffset";
+    version = "0.2.1";
+    description = "offset_of functionality for Rust structs.";
+    authors = [ "Gilad Naaman <gilad.naaman@gmail.com>" ];
+    sha256 = "00vym01jk9slibq2nsiilgffp7n6k52a4q3n4dqp0xf5kzxvffcf";
+  };
+  features_.memoffset."0.2.1" = deps: f: updateFeatures f (rec {
+    memoffset."0.2.1".default = (f.memoffset."0.2.1".default or true);
+  }) [];
+
+
+# end
+# mime-0.3.12
+
+  crates.mime."0.3.12" = deps: { features?(features_.mime."0.3.12" deps {}) }: buildRustCrate {
+    crateName = "mime";
+    version = "0.3.12";
+    description = "Strongly Typed Mimes";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "0lmcwkmxwbla9457w9ak13cfgqxfyn5wa1syjy1kll2ras5xifvh";
+    dependencies = mapFeatures features ([
+      (crates."unicase"."${deps."mime"."0.3.12"."unicase"}" deps)
+    ]);
+  };
+  features_.mime."0.3.12" = deps: f: updateFeatures f (rec {
+    mime."0.3.12".default = (f.mime."0.3.12".default or true);
+    unicase."${deps.mime."0.3.12".unicase}".default = true;
+  }) [
+    (features_.unicase."${deps."mime"."0.3.12"."unicase"}" deps)
+  ];
+
+
+# end
+# mime_guess-2.0.0-alpha.6
+
+  crates.mime_guess."2.0.0-alpha.6" = deps: { features?(features_.mime_guess."2.0.0-alpha.6" deps {}) }: buildRustCrate {
+    crateName = "mime_guess";
+    version = "2.0.0-alpha.6";
+    description = "A simple crate for detection of a file's MIME type by its extension.";
+    authors = [ "Austin Bonander <austin.bonander@gmail.com>" ];
+    sha256 = "1k2mdq43gi2qr63b7m5zs624rfi40ysk33cay49jlhq97jwnk9db";
+    dependencies = mapFeatures features ([
+      (crates."mime"."${deps."mime_guess"."2.0.0-alpha.6"."mime"}" deps)
+      (crates."phf"."${deps."mime_guess"."2.0.0-alpha.6"."phf"}" deps)
+      (crates."unicase"."${deps."mime_guess"."2.0.0-alpha.6"."unicase"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."phf_codegen"."${deps."mime_guess"."2.0.0-alpha.6"."phf_codegen"}" deps)
+      (crates."unicase"."${deps."mime_guess"."2.0.0-alpha.6"."unicase"}" deps)
+    ]);
+    features = mkFeatures (features."mime_guess"."2.0.0-alpha.6" or {});
+  };
+  features_.mime_guess."2.0.0-alpha.6" = deps: f: updateFeatures f (rec {
+    mime."${deps.mime_guess."2.0.0-alpha.6".mime}".default = true;
+    mime_guess."2.0.0-alpha.6".default = (f.mime_guess."2.0.0-alpha.6".default or true);
+    phf = fold recursiveUpdate {} [
+      { "${deps.mime_guess."2.0.0-alpha.6".phf}"."unicase" = true; }
+      { "${deps.mime_guess."2.0.0-alpha.6".phf}".default = true; }
+    ];
+    phf_codegen."${deps.mime_guess."2.0.0-alpha.6".phf_codegen}".default = true;
+    unicase."${deps.mime_guess."2.0.0-alpha.6".unicase}".default = true;
+  }) [
+    (features_.mime."${deps."mime_guess"."2.0.0-alpha.6"."mime"}" deps)
+    (features_.phf."${deps."mime_guess"."2.0.0-alpha.6"."phf"}" deps)
+    (features_.unicase."${deps."mime_guess"."2.0.0-alpha.6"."unicase"}" deps)
+    (features_.phf_codegen."${deps."mime_guess"."2.0.0-alpha.6"."phf_codegen"}" deps)
+    (features_.unicase."${deps."mime_guess"."2.0.0-alpha.6"."unicase"}" deps)
+  ];
+
+
+# end
+# miniz-sys-0.1.10
+
+  crates.miniz_sys."0.1.10" = deps: { features?(features_.miniz_sys."0.1.10" deps {}) }: buildRustCrate {
+    crateName = "miniz-sys";
+    version = "0.1.10";
+    description = "Bindings to the miniz.c library.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
+    libPath = "lib.rs";
+    libName = "miniz_sys";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."miniz_sys"."0.1.10"."libc"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."miniz_sys"."0.1.10"."cc"}" deps)
+    ]);
+  };
+  features_.miniz_sys."0.1.10" = deps: f: updateFeatures f (rec {
+    cc."${deps.miniz_sys."0.1.10".cc}".default = true;
+    libc."${deps.miniz_sys."0.1.10".libc}".default = true;
+    miniz_sys."0.1.10".default = (f.miniz_sys."0.1.10".default or true);
+  }) [
+    (features_.libc."${deps."miniz_sys"."0.1.10"."libc"}" deps)
+    (features_.cc."${deps."miniz_sys"."0.1.10"."cc"}" deps)
+  ];
+
+
+# end
+# mio-0.6.16
+
+  crates.mio."0.6.16" = deps: { features?(features_.mio."0.6.16" deps {}) }: buildRustCrate {
+    crateName = "mio";
+    version = "0.6.16";
+    description = "Lightweight non-blocking IO";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "14vyrlmf0w984pi7ad9qvmlfj6vrb0wn6i8ik9j87w5za2r3rban";
+    dependencies = mapFeatures features ([
+      (crates."iovec"."${deps."mio"."0.6.16"."iovec"}" deps)
+      (crates."lazycell"."${deps."mio"."0.6.16"."lazycell"}" deps)
+      (crates."log"."${deps."mio"."0.6.16"."log"}" deps)
+      (crates."net2"."${deps."mio"."0.6.16"."net2"}" deps)
+      (crates."slab"."${deps."mio"."0.6.16"."slab"}" deps)
+    ])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([
+      (crates."fuchsia_zircon"."${deps."mio"."0.6.16"."fuchsia_zircon"}" deps)
+      (crates."fuchsia_zircon_sys"."${deps."mio"."0.6.16"."fuchsia_zircon_sys"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."mio"."0.6.16"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."kernel32_sys"."${deps."mio"."0.6.16"."kernel32_sys"}" deps)
+      (crates."miow"."${deps."mio"."0.6.16"."miow"}" deps)
+      (crates."winapi"."${deps."mio"."0.6.16"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."mio"."0.6.16" or {});
+  };
+  features_.mio."0.6.16" = deps: f: updateFeatures f (rec {
+    fuchsia_zircon."${deps.mio."0.6.16".fuchsia_zircon}".default = true;
+    fuchsia_zircon_sys."${deps.mio."0.6.16".fuchsia_zircon_sys}".default = true;
+    iovec."${deps.mio."0.6.16".iovec}".default = true;
+    kernel32_sys."${deps.mio."0.6.16".kernel32_sys}".default = true;
+    lazycell."${deps.mio."0.6.16".lazycell}".default = true;
+    libc."${deps.mio."0.6.16".libc}".default = true;
+    log."${deps.mio."0.6.16".log}".default = true;
+    mio = fold recursiveUpdate {} [
+      { "0.6.16"."with-deprecated" =
+        (f.mio."0.6.16"."with-deprecated" or false) ||
+        (f.mio."0.6.16".default or false) ||
+        (mio."0.6.16"."default" or false); }
+      { "0.6.16".default = (f.mio."0.6.16".default or true); }
+    ];
+    miow."${deps.mio."0.6.16".miow}".default = true;
+    net2."${deps.mio."0.6.16".net2}".default = true;
+    slab."${deps.mio."0.6.16".slab}".default = true;
+    winapi."${deps.mio."0.6.16".winapi}".default = true;
+  }) [
+    (features_.iovec."${deps."mio"."0.6.16"."iovec"}" deps)
+    (features_.lazycell."${deps."mio"."0.6.16"."lazycell"}" deps)
+    (features_.log."${deps."mio"."0.6.16"."log"}" deps)
+    (features_.net2."${deps."mio"."0.6.16"."net2"}" deps)
+    (features_.slab."${deps."mio"."0.6.16"."slab"}" deps)
+    (features_.fuchsia_zircon."${deps."mio"."0.6.16"."fuchsia_zircon"}" deps)
+    (features_.fuchsia_zircon_sys."${deps."mio"."0.6.16"."fuchsia_zircon_sys"}" deps)
+    (features_.libc."${deps."mio"."0.6.16"."libc"}" deps)
+    (features_.kernel32_sys."${deps."mio"."0.6.16"."kernel32_sys"}" deps)
+    (features_.miow."${deps."mio"."0.6.16"."miow"}" deps)
+    (features_.winapi."${deps."mio"."0.6.16"."winapi"}" deps)
+  ];
+
+
+# end
+# miow-0.2.1
+
+  crates.miow."0.2.1" = deps: { features?(features_.miow."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "miow";
+    version = "0.2.1";
+    description = "A zero overhead I/O library for Windows, focusing on IOCP and Async I/O\nabstractions.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "14f8zkc6ix7mkyis1vsqnim8m29b6l55abkba3p2yz7j1ibcvrl0";
+    dependencies = mapFeatures features ([
+      (crates."kernel32_sys"."${deps."miow"."0.2.1"."kernel32_sys"}" deps)
+      (crates."net2"."${deps."miow"."0.2.1"."net2"}" deps)
+      (crates."winapi"."${deps."miow"."0.2.1"."winapi"}" deps)
+      (crates."ws2_32_sys"."${deps."miow"."0.2.1"."ws2_32_sys"}" deps)
+    ]);
+  };
+  features_.miow."0.2.1" = deps: f: updateFeatures f (rec {
+    kernel32_sys."${deps.miow."0.2.1".kernel32_sys}".default = true;
+    miow."0.2.1".default = (f.miow."0.2.1".default or true);
+    net2."${deps.miow."0.2.1".net2}".default = (f.net2."${deps.miow."0.2.1".net2}".default or false);
+    winapi."${deps.miow."0.2.1".winapi}".default = true;
+    ws2_32_sys."${deps.miow."0.2.1".ws2_32_sys}".default = true;
+  }) [
+    (features_.kernel32_sys."${deps."miow"."0.2.1"."kernel32_sys"}" deps)
+    (features_.net2."${deps."miow"."0.2.1"."net2"}" deps)
+    (features_.winapi."${deps."miow"."0.2.1"."winapi"}" deps)
+    (features_.ws2_32_sys."${deps."miow"."0.2.1"."ws2_32_sys"}" deps)
+  ];
+
+
+# end
+# native-tls-0.2.2
+
+  crates.native_tls."0.2.2" = deps: { features?(features_.native_tls."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "native-tls";
+    version = "0.2.2";
+    description = "A wrapper over a platform's native TLS implementation";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0vl2hmmnrcjfylzjfsbnav20ri2n1qjgxn7bklb4mk3fyxfqm1m9";
+    dependencies = (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([
+      (crates."lazy_static"."${deps."native_tls"."0.2.2"."lazy_static"}" deps)
+      (crates."libc"."${deps."native_tls"."0.2.2"."libc"}" deps)
+      (crates."security_framework"."${deps."native_tls"."0.2.2"."security_framework"}" deps)
+      (crates."security_framework_sys"."${deps."native_tls"."0.2.2"."security_framework_sys"}" deps)
+      (crates."tempfile"."${deps."native_tls"."0.2.2"."tempfile"}" deps)
+    ]) else [])
+      ++ (if !(kernel == "windows" || kernel == "darwin" || kernel == "ios") then mapFeatures features ([
+      (crates."openssl"."${deps."native_tls"."0.2.2"."openssl"}" deps)
+      (crates."openssl_probe"."${deps."native_tls"."0.2.2"."openssl_probe"}" deps)
+      (crates."openssl_sys"."${deps."native_tls"."0.2.2"."openssl_sys"}" deps)
+    ]) else [])
+      ++ (if kernel == "android" then mapFeatures features ([
+      (crates."log"."${deps."native_tls"."0.2.2"."log"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."schannel"."${deps."native_tls"."0.2.2"."schannel"}" deps)
+    ]) else []);
+    features = mkFeatures (features."native_tls"."0.2.2" or {});
+  };
+  features_.native_tls."0.2.2" = deps: f: updateFeatures f (rec {
+    lazy_static."${deps.native_tls."0.2.2".lazy_static}".default = true;
+    libc."${deps.native_tls."0.2.2".libc}".default = true;
+    log."${deps.native_tls."0.2.2".log}".default = true;
+    native_tls."0.2.2".default = (f.native_tls."0.2.2".default or true);
+    openssl."${deps.native_tls."0.2.2".openssl}".default = true;
+    openssl_probe."${deps.native_tls."0.2.2".openssl_probe}".default = true;
+    openssl_sys."${deps.native_tls."0.2.2".openssl_sys}".default = true;
+    schannel."${deps.native_tls."0.2.2".schannel}".default = true;
+    security_framework."${deps.native_tls."0.2.2".security_framework}".default = true;
+    security_framework_sys."${deps.native_tls."0.2.2".security_framework_sys}".default = true;
+    tempfile."${deps.native_tls."0.2.2".tempfile}".default = true;
+  }) [
+    (features_.lazy_static."${deps."native_tls"."0.2.2"."lazy_static"}" deps)
+    (features_.libc."${deps."native_tls"."0.2.2"."libc"}" deps)
+    (features_.security_framework."${deps."native_tls"."0.2.2"."security_framework"}" deps)
+    (features_.security_framework_sys."${deps."native_tls"."0.2.2"."security_framework_sys"}" deps)
+    (features_.tempfile."${deps."native_tls"."0.2.2"."tempfile"}" deps)
+    (features_.openssl."${deps."native_tls"."0.2.2"."openssl"}" deps)
+    (features_.openssl_probe."${deps."native_tls"."0.2.2"."openssl_probe"}" deps)
+    (features_.openssl_sys."${deps."native_tls"."0.2.2"."openssl_sys"}" deps)
+    (features_.log."${deps."native_tls"."0.2.2"."log"}" deps)
+    (features_.schannel."${deps."native_tls"."0.2.2"."schannel"}" deps)
+  ];
+
+
+# end
+# net2-0.2.33
+
+  crates.net2."0.2.33" = deps: { features?(features_.net2."0.2.33" deps {}) }: buildRustCrate {
+    crateName = "net2";
+    version = "0.2.33";
+    description = "Extensions to the standard library's networking types as proposed in RFC 1158.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1qnmajafgybj5wyxz9iffa8x5wgbwd2znfklmhqj7vl6lw1m65mq";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."net2"."0.2.33"."cfg_if"}" deps)
+    ])
+      ++ (if kernel == "redox" || (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."net2"."0.2.33"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."net2"."0.2.33"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."net2"."0.2.33" or {});
+  };
+  features_.net2."0.2.33" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.net2."0.2.33".cfg_if}".default = true;
+    libc."${deps.net2."0.2.33".libc}".default = true;
+    net2 = fold recursiveUpdate {} [
+      { "0.2.33"."duration" =
+        (f.net2."0.2.33"."duration" or false) ||
+        (f.net2."0.2.33".default or false) ||
+        (net2."0.2.33"."default" or false); }
+      { "0.2.33".default = (f.net2."0.2.33".default or true); }
+    ];
+    winapi = fold recursiveUpdate {} [
+      { "${deps.net2."0.2.33".winapi}"."handleapi" = true; }
+      { "${deps.net2."0.2.33".winapi}"."winsock2" = true; }
+      { "${deps.net2."0.2.33".winapi}"."ws2def" = true; }
+      { "${deps.net2."0.2.33".winapi}"."ws2ipdef" = true; }
+      { "${deps.net2."0.2.33".winapi}"."ws2tcpip" = true; }
+      { "${deps.net2."0.2.33".winapi}".default = true; }
+    ];
+  }) [
+    (features_.cfg_if."${deps."net2"."0.2.33"."cfg_if"}" deps)
+    (features_.libc."${deps."net2"."0.2.33"."libc"}" deps)
+    (features_.winapi."${deps."net2"."0.2.33"."winapi"}" deps)
+  ];
+
+
+# end
+# nodrop-0.1.13
+
+  crates.nodrop."0.1.13" = deps: { features?(features_.nodrop."0.1.13" deps {}) }: buildRustCrate {
+    crateName = "nodrop";
+    version = "0.1.13";
+    description = "A wrapper type to inhibit drop (destructor). Use std::mem::ManuallyDrop instead!";
+    authors = [ "bluss" ];
+    sha256 = "0gkfx6wihr9z0m8nbdhma5pyvbipznjpkzny2d4zkc05b0vnhinb";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."nodrop"."0.1.13" or {});
+  };
+  features_.nodrop."0.1.13" = deps: f: updateFeatures f (rec {
+    nodrop = fold recursiveUpdate {} [
+      { "0.1.13"."nodrop-union" =
+        (f.nodrop."0.1.13"."nodrop-union" or false) ||
+        (f.nodrop."0.1.13".use_union or false) ||
+        (nodrop."0.1.13"."use_union" or false); }
+      { "0.1.13"."std" =
+        (f.nodrop."0.1.13"."std" or false) ||
+        (f.nodrop."0.1.13".default or false) ||
+        (nodrop."0.1.13"."default" or false); }
+      { "0.1.13".default = (f.nodrop."0.1.13".default or true); }
+    ];
+  }) [];
+
+
+# end
+# num-0.1.40
+
+  crates.num."0.1.40" = deps: { features?(features_.num."0.1.40" deps {}) }: buildRustCrate {
+    crateName = "num";
+    version = "0.1.40";
+    description = "A collection of numeric types and traits for Rust, including bigint,\ncomplex, rational, range iterators, generic integers, and more!\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0b29c25n9mpf6a921khj7a6y3hz5va4vgwppcd2if975qq1shakg";
+    dependencies = mapFeatures features ([
+      (crates."num_integer"."${deps."num"."0.1.40"."num_integer"}" deps)
+      (crates."num_iter"."${deps."num"."0.1.40"."num_iter"}" deps)
+      (crates."num_traits"."${deps."num"."0.1.40"."num_traits"}" deps)
+    ]);
+    features = mkFeatures (features."num"."0.1.40" or {});
+  };
+  features_.num."0.1.40" = deps: f: updateFeatures f (rec {
+    num = fold recursiveUpdate {} [
+      { "0.1.40"."bigint" =
+        (f.num."0.1.40"."bigint" or false) ||
+        (f.num."0.1.40".default or false) ||
+        (num."0.1.40"."default" or false); }
+      { "0.1.40"."complex" =
+        (f.num."0.1.40"."complex" or false) ||
+        (f.num."0.1.40".default or false) ||
+        (num."0.1.40"."default" or false); }
+      { "0.1.40"."num-bigint" =
+        (f.num."0.1.40"."num-bigint" or false) ||
+        (f.num."0.1.40".bigint or false) ||
+        (num."0.1.40"."bigint" or false); }
+      { "0.1.40"."num-complex" =
+        (f.num."0.1.40"."num-complex" or false) ||
+        (f.num."0.1.40".complex or false) ||
+        (num."0.1.40"."complex" or false); }
+      { "0.1.40"."num-rational" =
+        (f.num."0.1.40"."num-rational" or false) ||
+        (f.num."0.1.40".rational or false) ||
+        (num."0.1.40"."rational" or false); }
+      { "0.1.40"."rational" =
+        (f.num."0.1.40"."rational" or false) ||
+        (f.num."0.1.40".default or false) ||
+        (num."0.1.40"."default" or false); }
+      { "0.1.40"."rustc-serialize" =
+        (f.num."0.1.40"."rustc-serialize" or false) ||
+        (f.num."0.1.40".default or false) ||
+        (num."0.1.40"."default" or false); }
+      { "0.1.40".default = (f.num."0.1.40".default or true); }
+    ];
+    num_integer."${deps.num."0.1.40".num_integer}".default = true;
+    num_iter."${deps.num."0.1.40".num_iter}".default = true;
+    num_traits."${deps.num."0.1.40".num_traits}".default = true;
+  }) [
+    (features_.num_integer."${deps."num"."0.1.40"."num_integer"}" deps)
+    (features_.num_iter."${deps."num"."0.1.40"."num_iter"}" deps)
+    (features_.num_traits."${deps."num"."0.1.40"."num_traits"}" deps)
+  ];
+
+
+# end
+# num-integer-0.1.35
+
+  crates.num_integer."0.1.35" = deps: { features?(features_.num_integer."0.1.35" deps {}) }: buildRustCrate {
+    crateName = "num-integer";
+    version = "0.1.35";
+    description = "Integer traits and functions";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0xybj8isi9b6wc646d5rc043i8l8j6wy0vrl4pn995qms9fxbbcc";
+    dependencies = mapFeatures features ([
+      (crates."num_traits"."${deps."num_integer"."0.1.35"."num_traits"}" deps)
+    ]);
+  };
+  features_.num_integer."0.1.35" = deps: f: updateFeatures f (rec {
+    num_integer."0.1.35".default = (f.num_integer."0.1.35".default or true);
+    num_traits."${deps.num_integer."0.1.35".num_traits}".default = true;
+  }) [
+    (features_.num_traits."${deps."num_integer"."0.1.35"."num_traits"}" deps)
+  ];
+
+
+# end
+# num-iter-0.1.34
+
+  crates.num_iter."0.1.34" = deps: { features?(features_.num_iter."0.1.34" deps {}) }: buildRustCrate {
+    crateName = "num-iter";
+    version = "0.1.34";
+    description = "External iterators for generic mathematics";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "02cld7x9dzbqbs6sxxzq1i22z3awlcd6ljkgvhkfr9rsnaxphzl9";
+    dependencies = mapFeatures features ([
+      (crates."num_integer"."${deps."num_iter"."0.1.34"."num_integer"}" deps)
+      (crates."num_traits"."${deps."num_iter"."0.1.34"."num_traits"}" deps)
+    ]);
+  };
+  features_.num_iter."0.1.34" = deps: f: updateFeatures f (rec {
+    num_integer."${deps.num_iter."0.1.34".num_integer}".default = true;
+    num_iter."0.1.34".default = (f.num_iter."0.1.34".default or true);
+    num_traits."${deps.num_iter."0.1.34".num_traits}".default = true;
+  }) [
+    (features_.num_integer."${deps."num_iter"."0.1.34"."num_integer"}" deps)
+    (features_.num_traits."${deps."num_iter"."0.1.34"."num_traits"}" deps)
+  ];
+
+
+# end
+# num-traits-0.1.40
+
+  crates.num_traits."0.1.40" = deps: { features?(features_.num_traits."0.1.40" deps {}) }: buildRustCrate {
+    crateName = "num-traits";
+    version = "0.1.40";
+    description = "Numeric traits for generic mathematics";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
+  };
+  features_.num_traits."0.1.40" = deps: f: updateFeatures f (rec {
+    num_traits."0.1.40".default = (f.num_traits."0.1.40".default or true);
+  }) [];
+
+
+# end
+# num_cpus-1.8.0
+
+  crates.num_cpus."1.8.0" = deps: { features?(features_.num_cpus."1.8.0" deps {}) }: buildRustCrate {
+    crateName = "num_cpus";
+    version = "1.8.0";
+    description = "Get the number of CPUs on a machine.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1y6qnd9r8ga6y8mvlabdrr73nc8cshjjlzbvnanzyj9b8zzkfwk2";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."num_cpus"."1.8.0"."libc"}" deps)
+    ]);
+  };
+  features_.num_cpus."1.8.0" = deps: f: updateFeatures f (rec {
+    libc."${deps.num_cpus."1.8.0".libc}".default = true;
+    num_cpus."1.8.0".default = (f.num_cpus."1.8.0".default or true);
+  }) [
+    (features_.libc."${deps."num_cpus"."1.8.0"."libc"}" deps)
+  ];
+
+
+# end
+# openssl-0.10.15
+
+  crates.openssl."0.10.15" = deps: { features?(features_.openssl."0.10.15" deps {}) }: buildRustCrate {
+    crateName = "openssl";
+    version = "0.10.15";
+    description = "OpenSSL bindings";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0fj5g66ibkyb6vfdfjgaypfn45vpj2cdv7d7qpq653sv57glcqri";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."openssl"."0.10.15"."bitflags"}" deps)
+      (crates."cfg_if"."${deps."openssl"."0.10.15"."cfg_if"}" deps)
+      (crates."foreign_types"."${deps."openssl"."0.10.15"."foreign_types"}" deps)
+      (crates."lazy_static"."${deps."openssl"."0.10.15"."lazy_static"}" deps)
+      (crates."libc"."${deps."openssl"."0.10.15"."libc"}" deps)
+      (crates."openssl_sys"."${deps."openssl"."0.10.15"."openssl_sys"}" deps)
+    ]);
+    features = mkFeatures (features."openssl"."0.10.15" or {});
+  };
+  features_.openssl."0.10.15" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.openssl."0.10.15".bitflags}".default = true;
+    cfg_if."${deps.openssl."0.10.15".cfg_if}".default = true;
+    foreign_types."${deps.openssl."0.10.15".foreign_types}".default = true;
+    lazy_static."${deps.openssl."0.10.15".lazy_static}".default = true;
+    libc."${deps.openssl."0.10.15".libc}".default = true;
+    openssl."0.10.15".default = (f.openssl."0.10.15".default or true);
+    openssl_sys = fold recursiveUpdate {} [
+      { "${deps.openssl."0.10.15".openssl_sys}"."vendored" =
+        (f.openssl_sys."${deps.openssl."0.10.15".openssl_sys}"."vendored" or false) ||
+        (openssl."0.10.15"."vendored" or false) ||
+        (f."openssl"."0.10.15"."vendored" or false); }
+      { "${deps.openssl."0.10.15".openssl_sys}".default = true; }
+    ];
+  }) [
+    (features_.bitflags."${deps."openssl"."0.10.15"."bitflags"}" deps)
+    (features_.cfg_if."${deps."openssl"."0.10.15"."cfg_if"}" deps)
+    (features_.foreign_types."${deps."openssl"."0.10.15"."foreign_types"}" deps)
+    (features_.lazy_static."${deps."openssl"."0.10.15"."lazy_static"}" deps)
+    (features_.libc."${deps."openssl"."0.10.15"."libc"}" deps)
+    (features_.openssl_sys."${deps."openssl"."0.10.15"."openssl_sys"}" deps)
+  ];
+
+
+# end
+# openssl-probe-0.1.2
+
+  crates.openssl_probe."0.1.2" = deps: { features?(features_.openssl_probe."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "openssl-probe";
+    version = "0.1.2";
+    description = "Tool for helping to find SSL certificate locations on the system for OpenSSL\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1a89fznx26vvaxyrxdvgf6iwai5xvs6xjvpjin68fgvrslv6n15a";
+  };
+  features_.openssl_probe."0.1.2" = deps: f: updateFeatures f (rec {
+    openssl_probe."0.1.2".default = (f.openssl_probe."0.1.2".default or true);
+  }) [];
+
+
+# end
+# openssl-sys-0.9.39
+
+  crates.openssl_sys."0.9.39" = deps: { features?(features_.openssl_sys."0.9.39" deps {}) }: buildRustCrate {
+    crateName = "openssl-sys";
+    version = "0.9.39";
+    description = "FFI bindings to OpenSSL";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "1lraqg3xz4jxrc99na17kn6srfhsgnj1yjk29mgsh803w40s2056";
+    build = "build/main.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."openssl_sys"."0.9.39"."libc"}" deps)
+    ])
+      ++ (if abi == "msvc" then mapFeatures features ([
+]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."openssl_sys"."0.9.39"."cc"}" deps)
+      (crates."pkg_config"."${deps."openssl_sys"."0.9.39"."pkg_config"}" deps)
+    ]);
+    features = mkFeatures (features."openssl_sys"."0.9.39" or {});
+  };
+  features_.openssl_sys."0.9.39" = deps: f: updateFeatures f (rec {
+    cc."${deps.openssl_sys."0.9.39".cc}".default = true;
+    libc."${deps.openssl_sys."0.9.39".libc}".default = true;
+    openssl_sys = fold recursiveUpdate {} [
+      { "0.9.39"."openssl-src" =
+        (f.openssl_sys."0.9.39"."openssl-src" or false) ||
+        (f.openssl_sys."0.9.39".vendored or false) ||
+        (openssl_sys."0.9.39"."vendored" or false); }
+      { "0.9.39".default = (f.openssl_sys."0.9.39".default or true); }
+    ];
+    pkg_config."${deps.openssl_sys."0.9.39".pkg_config}".default = true;
+  }) [
+    (features_.libc."${deps."openssl_sys"."0.9.39"."libc"}" deps)
+    (features_.cc."${deps."openssl_sys"."0.9.39"."cc"}" deps)
+    (features_.pkg_config."${deps."openssl_sys"."0.9.39"."pkg_config"}" deps)
+  ];
+
+
+# end
+# owning_ref-0.4.0
+
+  crates.owning_ref."0.4.0" = deps: { features?(features_.owning_ref."0.4.0" deps {}) }: buildRustCrate {
+    crateName = "owning_ref";
+    version = "0.4.0";
+    description = "A library for creating references that carry their owner with them.";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "1m95qpc3hamkw9wlbfzqkzk7h6skyj40zr6sa3ps151slcfnnchm";
+    dependencies = mapFeatures features ([
+      (crates."stable_deref_trait"."${deps."owning_ref"."0.4.0"."stable_deref_trait"}" deps)
+    ]);
+  };
+  features_.owning_ref."0.4.0" = deps: f: updateFeatures f (rec {
+    owning_ref."0.4.0".default = (f.owning_ref."0.4.0".default or true);
+    stable_deref_trait."${deps.owning_ref."0.4.0".stable_deref_trait}".default = true;
+  }) [
+    (features_.stable_deref_trait."${deps."owning_ref"."0.4.0"."stable_deref_trait"}" deps)
+  ];
+
+
+# end
+# parking_lot-0.6.4
+
+  crates.parking_lot."0.6.4" = deps: { features?(features_.parking_lot."0.6.4" deps {}) }: buildRustCrate {
+    crateName = "parking_lot";
+    version = "0.6.4";
+    description = "More compact and efficient implementations of the standard synchronization primitives.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "0qwfysx8zfkj72sfcrqvd6pp7lgjmklyixsi3y0g6xjspw876rax";
+    dependencies = mapFeatures features ([
+      (crates."lock_api"."${deps."parking_lot"."0.6.4"."lock_api"}" deps)
+      (crates."parking_lot_core"."${deps."parking_lot"."0.6.4"."parking_lot_core"}" deps)
+    ]);
+    features = mkFeatures (features."parking_lot"."0.6.4" or {});
+  };
+  features_.parking_lot."0.6.4" = deps: f: updateFeatures f (rec {
+    lock_api = fold recursiveUpdate {} [
+      { "${deps.parking_lot."0.6.4".lock_api}"."nightly" =
+        (f.lock_api."${deps.parking_lot."0.6.4".lock_api}"."nightly" or false) ||
+        (parking_lot."0.6.4"."nightly" or false) ||
+        (f."parking_lot"."0.6.4"."nightly" or false); }
+      { "${deps.parking_lot."0.6.4".lock_api}"."owning_ref" =
+        (f.lock_api."${deps.parking_lot."0.6.4".lock_api}"."owning_ref" or false) ||
+        (parking_lot."0.6.4"."owning_ref" or false) ||
+        (f."parking_lot"."0.6.4"."owning_ref" or false); }
+      { "${deps.parking_lot."0.6.4".lock_api}".default = true; }
+    ];
+    parking_lot = fold recursiveUpdate {} [
+      { "0.6.4"."owning_ref" =
+        (f.parking_lot."0.6.4"."owning_ref" or false) ||
+        (f.parking_lot."0.6.4".default or false) ||
+        (parking_lot."0.6.4"."default" or false); }
+      { "0.6.4".default = (f.parking_lot."0.6.4".default or true); }
+    ];
+    parking_lot_core = fold recursiveUpdate {} [
+      { "${deps.parking_lot."0.6.4".parking_lot_core}"."deadlock_detection" =
+        (f.parking_lot_core."${deps.parking_lot."0.6.4".parking_lot_core}"."deadlock_detection" or false) ||
+        (parking_lot."0.6.4"."deadlock_detection" or false) ||
+        (f."parking_lot"."0.6.4"."deadlock_detection" or false); }
+      { "${deps.parking_lot."0.6.4".parking_lot_core}"."nightly" =
+        (f.parking_lot_core."${deps.parking_lot."0.6.4".parking_lot_core}"."nightly" or false) ||
+        (parking_lot."0.6.4"."nightly" or false) ||
+        (f."parking_lot"."0.6.4"."nightly" or false); }
+      { "${deps.parking_lot."0.6.4".parking_lot_core}".default = true; }
+    ];
+  }) [
+    (features_.lock_api."${deps."parking_lot"."0.6.4"."lock_api"}" deps)
+    (features_.parking_lot_core."${deps."parking_lot"."0.6.4"."parking_lot_core"}" deps)
+  ];
+
+
+# end
+# parking_lot_core-0.3.1
+
+  crates.parking_lot_core."0.3.1" = deps: { features?(features_.parking_lot_core."0.3.1" deps {}) }: buildRustCrate {
+    crateName = "parking_lot_core";
+    version = "0.3.1";
+    description = "An advanced API for creating custom synchronization primitives.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "0h5p7dys8cx9y6ii4i57ampf7qdr8zmkpn543kd3h7nkhml8bw72";
+    dependencies = mapFeatures features ([
+      (crates."rand"."${deps."parking_lot_core"."0.3.1"."rand"}" deps)
+      (crates."smallvec"."${deps."parking_lot_core"."0.3.1"."smallvec"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."parking_lot_core"."0.3.1"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."parking_lot_core"."0.3.1"."winapi"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."parking_lot_core"."0.3.1"."rustc_version"}" deps)
+    ]);
+    features = mkFeatures (features."parking_lot_core"."0.3.1" or {});
+  };
+  features_.parking_lot_core."0.3.1" = deps: f: updateFeatures f (rec {
+    libc."${deps.parking_lot_core."0.3.1".libc}".default = true;
+    parking_lot_core = fold recursiveUpdate {} [
+      { "0.3.1"."backtrace" =
+        (f.parking_lot_core."0.3.1"."backtrace" or false) ||
+        (f.parking_lot_core."0.3.1".deadlock_detection or false) ||
+        (parking_lot_core."0.3.1"."deadlock_detection" or false); }
+      { "0.3.1"."petgraph" =
+        (f.parking_lot_core."0.3.1"."petgraph" or false) ||
+        (f.parking_lot_core."0.3.1".deadlock_detection or false) ||
+        (parking_lot_core."0.3.1"."deadlock_detection" or false); }
+      { "0.3.1"."thread-id" =
+        (f.parking_lot_core."0.3.1"."thread-id" or false) ||
+        (f.parking_lot_core."0.3.1".deadlock_detection or false) ||
+        (parking_lot_core."0.3.1"."deadlock_detection" or false); }
+      { "0.3.1".default = (f.parking_lot_core."0.3.1".default or true); }
+    ];
+    rand."${deps.parking_lot_core."0.3.1".rand}".default = true;
+    rustc_version."${deps.parking_lot_core."0.3.1".rustc_version}".default = true;
+    smallvec."${deps.parking_lot_core."0.3.1".smallvec}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.parking_lot_core."0.3.1".winapi}"."errhandlingapi" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."handleapi" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."minwindef" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."ntstatus" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."winbase" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."winerror" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."winnt" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand."${deps."parking_lot_core"."0.3.1"."rand"}" deps)
+    (features_.smallvec."${deps."parking_lot_core"."0.3.1"."smallvec"}" deps)
+    (features_.rustc_version."${deps."parking_lot_core"."0.3.1"."rustc_version"}" deps)
+    (features_.libc."${deps."parking_lot_core"."0.3.1"."libc"}" deps)
+    (features_.winapi."${deps."parking_lot_core"."0.3.1"."winapi"}" deps)
+  ];
+
+
+# end
+# percent-encoding-1.0.1
+
+  crates.percent_encoding."1.0.1" = deps: { features?(features_.percent_encoding."1.0.1" deps {}) }: buildRustCrate {
+    crateName = "percent-encoding";
+    version = "1.0.1";
+    description = "Percent encoding and decoding";
+    authors = [ "The rust-url developers" ];
+    sha256 = "04ahrp7aw4ip7fmadb0bknybmkfav0kk0gw4ps3ydq5w6hr0ib5i";
+    libPath = "lib.rs";
+  };
+  features_.percent_encoding."1.0.1" = deps: f: updateFeatures f (rec {
+    percent_encoding."1.0.1".default = (f.percent_encoding."1.0.1".default or true);
+  }) [];
+
+
+# end
+# phf-0.7.21
+
+  crates.phf."0.7.21" = deps: { features?(features_.phf."0.7.21" deps {}) }: buildRustCrate {
+    crateName = "phf";
+    version = "0.7.21";
+    description = "Runtime support for perfect hash function data structures";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "11m2rzm2s8s35m0s97gjxxb181xz352kjlhr387xj5c8q3qp5afg";
+    libPath = "src/lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."phf_shared"."${deps."phf"."0.7.21"."phf_shared"}" deps)
+    ]);
+    features = mkFeatures (features."phf"."0.7.21" or {});
+  };
+  features_.phf."0.7.21" = deps: f: updateFeatures f (rec {
+    phf."0.7.21".default = (f.phf."0.7.21".default or true);
+    phf_shared = fold recursiveUpdate {} [
+      { "${deps.phf."0.7.21".phf_shared}"."core" =
+        (f.phf_shared."${deps.phf."0.7.21".phf_shared}"."core" or false) ||
+        (phf."0.7.21"."core" or false) ||
+        (f."phf"."0.7.21"."core" or false); }
+      { "${deps.phf."0.7.21".phf_shared}"."unicase" =
+        (f.phf_shared."${deps.phf."0.7.21".phf_shared}"."unicase" or false) ||
+        (phf."0.7.21"."unicase" or false) ||
+        (f."phf"."0.7.21"."unicase" or false); }
+      { "${deps.phf."0.7.21".phf_shared}".default = true; }
+    ];
+  }) [
+    (features_.phf_shared."${deps."phf"."0.7.21"."phf_shared"}" deps)
+  ];
+
+
+# end
+# phf_codegen-0.7.21
+
+  crates.phf_codegen."0.7.21" = deps: { features?(features_.phf_codegen."0.7.21" deps {}) }: buildRustCrate {
+    crateName = "phf_codegen";
+    version = "0.7.21";
+    description = "Codegen library for PHF types";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0kgy8s2q4zr0iqcm21mgq4ppc45wy6z7b5wn98xyfsrcad6lwmmj";
+    dependencies = mapFeatures features ([
+      (crates."phf_generator"."${deps."phf_codegen"."0.7.21"."phf_generator"}" deps)
+      (crates."phf_shared"."${deps."phf_codegen"."0.7.21"."phf_shared"}" deps)
+    ]);
+  };
+  features_.phf_codegen."0.7.21" = deps: f: updateFeatures f (rec {
+    phf_codegen."0.7.21".default = (f.phf_codegen."0.7.21".default or true);
+    phf_generator."${deps.phf_codegen."0.7.21".phf_generator}".default = true;
+    phf_shared."${deps.phf_codegen."0.7.21".phf_shared}".default = true;
+  }) [
+    (features_.phf_generator."${deps."phf_codegen"."0.7.21"."phf_generator"}" deps)
+    (features_.phf_shared."${deps."phf_codegen"."0.7.21"."phf_shared"}" deps)
+  ];
+
+
+# end
+# phf_generator-0.7.21
+
+  crates.phf_generator."0.7.21" = deps: { features?(features_.phf_generator."0.7.21" deps {}) }: buildRustCrate {
+    crateName = "phf_generator";
+    version = "0.7.21";
+    description = "PHF generation logic";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "1jxjfzc6d6d4l9nv0r2bb66if5brk9lnncmg4dpjjifn6zhhqd9g";
+    dependencies = mapFeatures features ([
+      (crates."phf_shared"."${deps."phf_generator"."0.7.21"."phf_shared"}" deps)
+      (crates."rand"."${deps."phf_generator"."0.7.21"."rand"}" deps)
+    ]);
+  };
+  features_.phf_generator."0.7.21" = deps: f: updateFeatures f (rec {
+    phf_generator."0.7.21".default = (f.phf_generator."0.7.21".default or true);
+    phf_shared."${deps.phf_generator."0.7.21".phf_shared}".default = true;
+    rand."${deps.phf_generator."0.7.21".rand}".default = true;
+  }) [
+    (features_.phf_shared."${deps."phf_generator"."0.7.21"."phf_shared"}" deps)
+    (features_.rand."${deps."phf_generator"."0.7.21"."rand"}" deps)
+  ];
+
+
+# end
+# phf_shared-0.7.21
+
+  crates.phf_shared."0.7.21" = deps: { features?(features_.phf_shared."0.7.21" deps {}) }: buildRustCrate {
+    crateName = "phf_shared";
+    version = "0.7.21";
+    description = "Support code shared by PHF libraries";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0lxpg3wgxfhzfalmf9ha9my1lsvfjy74ah9f6mfw88xlp545jlln";
+    libPath = "src/lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."siphasher"."${deps."phf_shared"."0.7.21"."siphasher"}" deps)
+    ]
+      ++ (if features.phf_shared."0.7.21".unicase or false then [ (crates.unicase."${deps."phf_shared"."0.7.21".unicase}" deps) ] else []));
+    features = mkFeatures (features."phf_shared"."0.7.21" or {});
+  };
+  features_.phf_shared."0.7.21" = deps: f: updateFeatures f (rec {
+    phf_shared."0.7.21".default = (f.phf_shared."0.7.21".default or true);
+    siphasher."${deps.phf_shared."0.7.21".siphasher}".default = true;
+    unicase."${deps.phf_shared."0.7.21".unicase}".default = true;
+  }) [
+    (features_.siphasher."${deps."phf_shared"."0.7.21"."siphasher"}" deps)
+    (features_.unicase."${deps."phf_shared"."0.7.21"."unicase"}" deps)
+  ];
+
+
+# end
+# pkg-config-0.3.9
+
+  crates.pkg_config."0.3.9" = deps: { features?(features_.pkg_config."0.3.9" deps {}) }: buildRustCrate {
+    crateName = "pkg-config";
+    version = "0.3.9";
+    description = "A library to run the pkg-config system tool at build time in order to be used in\nCargo build scripts.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
+  };
+  features_.pkg_config."0.3.9" = deps: f: updateFeatures f (rec {
+    pkg_config."0.3.9".default = (f.pkg_config."0.3.9".default or true);
+  }) [];
+
+
+# end
+# quote-0.3.15
+
+  crates.quote."0.3.15" = deps: { features?(features_.quote."0.3.15" deps {}) }: buildRustCrate {
+    crateName = "quote";
+    version = "0.3.15";
+    description = "Quasi-quoting macro quote!(...)";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
+  };
+  features_.quote."0.3.15" = deps: f: updateFeatures f (rec {
+    quote."0.3.15".default = (f.quote."0.3.15".default or true);
+  }) [];
+
+
+# end
+# rand-0.3.18
+
+  crates.rand."0.3.18" = deps: { features?(features_.rand."0.3.18" deps {}) }: buildRustCrate {
+    crateName = "rand";
+    version = "0.3.18";
+    description = "Random number generators and other randomness functionality.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "15d7c3myn968dzjs0a2pgv58hzdavxnq6swgj032lw2v966ir4xv";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."rand"."0.3.18"."libc"}" deps)
+    ])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([
+      (crates."fuchsia_zircon"."${deps."rand"."0.3.18"."fuchsia_zircon"}" deps)
+    ]) else []);
+    features = mkFeatures (features."rand"."0.3.18" or {});
+  };
+  features_.rand."0.3.18" = deps: f: updateFeatures f (rec {
+    fuchsia_zircon."${deps.rand."0.3.18".fuchsia_zircon}".default = true;
+    libc."${deps.rand."0.3.18".libc}".default = true;
+    rand = fold recursiveUpdate {} [
+      { "0.3.18"."i128_support" =
+        (f.rand."0.3.18"."i128_support" or false) ||
+        (f.rand."0.3.18".nightly or false) ||
+        (rand."0.3.18"."nightly" or false); }
+      { "0.3.18".default = (f.rand."0.3.18".default or true); }
+    ];
+  }) [
+    (features_.libc."${deps."rand"."0.3.18"."libc"}" deps)
+    (features_.fuchsia_zircon."${deps."rand"."0.3.18"."fuchsia_zircon"}" deps)
+  ];
+
+
+# end
+# rand-0.5.5
+
+  crates.rand."0.5.5" = deps: { features?(features_.rand."0.5.5" deps {}) }: buildRustCrate {
+    crateName = "rand";
+    version = "0.5.5";
+    description = "Random number generators and other randomness functionality.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0d7pnsh57qxhz1ghrzk113ddkn13kf2g758ffnbxq4nhwjfzhlc9";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand"."0.5.5"."rand_core"}" deps)
+    ])
+      ++ (if kernel == "cloudabi" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.5.5".cloudabi or false then [ (crates.cloudabi."${deps."rand"."0.5.5".cloudabi}" deps) ] else [])) else [])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.5.5".fuchsia-zircon or false then [ (crates.fuchsia_zircon."${deps."rand"."0.5.5".fuchsia_zircon}" deps) ] else [])) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.5.5".libc or false then [ (crates.libc."${deps."rand"."0.5.5".libc}" deps) ] else [])) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.5.5".winapi or false then [ (crates.winapi."${deps."rand"."0.5.5".winapi}" deps) ] else [])) else [])
+      ++ (if kernel == "wasm32-unknown-unknown" then mapFeatures features ([
+]) else []);
+    features = mkFeatures (features."rand"."0.5.5" or {});
+  };
+  features_.rand."0.5.5" = deps: f: updateFeatures f (rec {
+    cloudabi."${deps.rand."0.5.5".cloudabi}".default = true;
+    fuchsia_zircon."${deps.rand."0.5.5".fuchsia_zircon}".default = true;
+    libc."${deps.rand."0.5.5".libc}".default = true;
+    rand = fold recursiveUpdate {} [
+      { "0.5.5"."alloc" =
+        (f.rand."0.5.5"."alloc" or false) ||
+        (f.rand."0.5.5".std or false) ||
+        (rand."0.5.5"."std" or false); }
+      { "0.5.5"."cloudabi" =
+        (f.rand."0.5.5"."cloudabi" or false) ||
+        (f.rand."0.5.5".std or false) ||
+        (rand."0.5.5"."std" or false); }
+      { "0.5.5"."fuchsia-zircon" =
+        (f.rand."0.5.5"."fuchsia-zircon" or false) ||
+        (f.rand."0.5.5".std or false) ||
+        (rand."0.5.5"."std" or false); }
+      { "0.5.5"."i128_support" =
+        (f.rand."0.5.5"."i128_support" or false) ||
+        (f.rand."0.5.5".nightly or false) ||
+        (rand."0.5.5"."nightly" or false); }
+      { "0.5.5"."libc" =
+        (f.rand."0.5.5"."libc" or false) ||
+        (f.rand."0.5.5".std or false) ||
+        (rand."0.5.5"."std" or false); }
+      { "0.5.5"."serde" =
+        (f.rand."0.5.5"."serde" or false) ||
+        (f.rand."0.5.5".serde1 or false) ||
+        (rand."0.5.5"."serde1" or false); }
+      { "0.5.5"."serde_derive" =
+        (f.rand."0.5.5"."serde_derive" or false) ||
+        (f.rand."0.5.5".serde1 or false) ||
+        (rand."0.5.5"."serde1" or false); }
+      { "0.5.5"."std" =
+        (f.rand."0.5.5"."std" or false) ||
+        (f.rand."0.5.5".default or false) ||
+        (rand."0.5.5"."default" or false); }
+      { "0.5.5"."winapi" =
+        (f.rand."0.5.5"."winapi" or false) ||
+        (f.rand."0.5.5".std or false) ||
+        (rand."0.5.5"."std" or false); }
+      { "0.5.5".default = (f.rand."0.5.5".default or true); }
+    ];
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand."0.5.5".rand_core}"."alloc" =
+        (f.rand_core."${deps.rand."0.5.5".rand_core}"."alloc" or false) ||
+        (rand."0.5.5"."alloc" or false) ||
+        (f."rand"."0.5.5"."alloc" or false); }
+      { "${deps.rand."0.5.5".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand."0.5.5".rand_core}"."serde1" or false) ||
+        (rand."0.5.5"."serde1" or false) ||
+        (f."rand"."0.5.5"."serde1" or false); }
+      { "${deps.rand."0.5.5".rand_core}"."std" =
+        (f.rand_core."${deps.rand."0.5.5".rand_core}"."std" or false) ||
+        (rand."0.5.5"."std" or false) ||
+        (f."rand"."0.5.5"."std" or false); }
+      { "${deps.rand."0.5.5".rand_core}".default = (f.rand_core."${deps.rand."0.5.5".rand_core}".default or false); }
+    ];
+    winapi = fold recursiveUpdate {} [
+      { "${deps.rand."0.5.5".winapi}"."minwindef" = true; }
+      { "${deps.rand."0.5.5".winapi}"."ntsecapi" = true; }
+      { "${deps.rand."0.5.5".winapi}"."profileapi" = true; }
+      { "${deps.rand."0.5.5".winapi}"."winnt" = true; }
+      { "${deps.rand."0.5.5".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand"."0.5.5"."rand_core"}" deps)
+    (features_.cloudabi."${deps."rand"."0.5.5"."cloudabi"}" deps)
+    (features_.fuchsia_zircon."${deps."rand"."0.5.5"."fuchsia_zircon"}" deps)
+    (features_.libc."${deps."rand"."0.5.5"."libc"}" deps)
+    (features_.winapi."${deps."rand"."0.5.5"."winapi"}" deps)
+  ];
+
+
+# end
+# rand-0.6.1
+
+  crates.rand."0.6.1" = deps: { features?(features_.rand."0.6.1" deps {}) }: buildRustCrate {
+    crateName = "rand";
+    version = "0.6.1";
+    description = "Random number generators and other randomness functionality.\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "123s3w165iiifmf475lisqkd0kbr7nwnn3k4b1zg2cwap5v9m9bz";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_chacha"."${deps."rand"."0.6.1"."rand_chacha"}" deps)
+      (crates."rand_core"."${deps."rand"."0.6.1"."rand_core"}" deps)
+      (crates."rand_hc"."${deps."rand"."0.6.1"."rand_hc"}" deps)
+      (crates."rand_isaac"."${deps."rand"."0.6.1"."rand_isaac"}" deps)
+      (crates."rand_pcg"."${deps."rand"."0.6.1"."rand_pcg"}" deps)
+      (crates."rand_xorshift"."${deps."rand"."0.6.1"."rand_xorshift"}" deps)
+    ])
+      ++ (if kernel == "cloudabi" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.6.1".cloudabi or false then [ (crates.cloudabi."${deps."rand"."0.6.1".cloudabi}" deps) ] else [])) else [])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.6.1".fuchsia-zircon or false then [ (crates.fuchsia_zircon."${deps."rand"."0.6.1".fuchsia_zircon}" deps) ] else [])) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.6.1".libc or false then [ (crates.libc."${deps."rand"."0.6.1".libc}" deps) ] else [])) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.6.1".winapi or false then [ (crates.winapi."${deps."rand"."0.6.1".winapi}" deps) ] else [])) else [])
+      ++ (if kernel == "wasm32-unknown-unknown" then mapFeatures features ([
+]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."rand"."0.6.1"."rustc_version"}" deps)
+    ]);
+    features = mkFeatures (features."rand"."0.6.1" or {});
+  };
+  features_.rand."0.6.1" = deps: f: updateFeatures f (rec {
+    cloudabi."${deps.rand."0.6.1".cloudabi}".default = true;
+    fuchsia_zircon."${deps.rand."0.6.1".fuchsia_zircon}".default = true;
+    libc."${deps.rand."0.6.1".libc}".default = (f.libc."${deps.rand."0.6.1".libc}".default or false);
+    rand = fold recursiveUpdate {} [
+      { "0.6.1"."alloc" =
+        (f.rand."0.6.1"."alloc" or false) ||
+        (f.rand."0.6.1".std or false) ||
+        (rand."0.6.1"."std" or false); }
+      { "0.6.1"."cloudabi" =
+        (f.rand."0.6.1"."cloudabi" or false) ||
+        (f.rand."0.6.1".std or false) ||
+        (rand."0.6.1"."std" or false); }
+      { "0.6.1"."fuchsia-zircon" =
+        (f.rand."0.6.1"."fuchsia-zircon" or false) ||
+        (f.rand."0.6.1".std or false) ||
+        (rand."0.6.1"."std" or false); }
+      { "0.6.1"."libc" =
+        (f.rand."0.6.1"."libc" or false) ||
+        (f.rand."0.6.1".std or false) ||
+        (rand."0.6.1"."std" or false); }
+      { "0.6.1"."packed_simd" =
+        (f.rand."0.6.1"."packed_simd" or false) ||
+        (f.rand."0.6.1".simd_support or false) ||
+        (rand."0.6.1"."simd_support" or false); }
+      { "0.6.1"."simd_support" =
+        (f.rand."0.6.1"."simd_support" or false) ||
+        (f.rand."0.6.1".nightly or false) ||
+        (rand."0.6.1"."nightly" or false); }
+      { "0.6.1"."std" =
+        (f.rand."0.6.1"."std" or false) ||
+        (f.rand."0.6.1".default or false) ||
+        (rand."0.6.1"."default" or false); }
+      { "0.6.1"."winapi" =
+        (f.rand."0.6.1"."winapi" or false) ||
+        (f.rand."0.6.1".std or false) ||
+        (rand."0.6.1"."std" or false); }
+      { "0.6.1".default = (f.rand."0.6.1".default or true); }
+    ];
+    rand_chacha."${deps.rand."0.6.1".rand_chacha}".default = true;
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.1".rand_core}"."alloc" =
+        (f.rand_core."${deps.rand."0.6.1".rand_core}"."alloc" or false) ||
+        (rand."0.6.1"."alloc" or false) ||
+        (f."rand"."0.6.1"."alloc" or false); }
+      { "${deps.rand."0.6.1".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand."0.6.1".rand_core}"."serde1" or false) ||
+        (rand."0.6.1"."serde1" or false) ||
+        (f."rand"."0.6.1"."serde1" or false); }
+      { "${deps.rand."0.6.1".rand_core}"."std" =
+        (f.rand_core."${deps.rand."0.6.1".rand_core}"."std" or false) ||
+        (rand."0.6.1"."std" or false) ||
+        (f."rand"."0.6.1"."std" or false); }
+      { "${deps.rand."0.6.1".rand_core}".default = (f.rand_core."${deps.rand."0.6.1".rand_core}".default or false); }
+    ];
+    rand_hc."${deps.rand."0.6.1".rand_hc}".default = true;
+    rand_isaac = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.1".rand_isaac}"."serde1" =
+        (f.rand_isaac."${deps.rand."0.6.1".rand_isaac}"."serde1" or false) ||
+        (rand."0.6.1"."serde1" or false) ||
+        (f."rand"."0.6.1"."serde1" or false); }
+      { "${deps.rand."0.6.1".rand_isaac}".default = true; }
+    ];
+    rand_pcg."${deps.rand."0.6.1".rand_pcg}".default = true;
+    rand_xorshift = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.1".rand_xorshift}"."serde1" =
+        (f.rand_xorshift."${deps.rand."0.6.1".rand_xorshift}"."serde1" or false) ||
+        (rand."0.6.1"."serde1" or false) ||
+        (f."rand"."0.6.1"."serde1" or false); }
+      { "${deps.rand."0.6.1".rand_xorshift}".default = true; }
+    ];
+    rustc_version."${deps.rand."0.6.1".rustc_version}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.1".winapi}"."minwindef" = true; }
+      { "${deps.rand."0.6.1".winapi}"."ntsecapi" = true; }
+      { "${deps.rand."0.6.1".winapi}"."profileapi" = true; }
+      { "${deps.rand."0.6.1".winapi}"."winnt" = true; }
+      { "${deps.rand."0.6.1".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand_chacha."${deps."rand"."0.6.1"."rand_chacha"}" deps)
+    (features_.rand_core."${deps."rand"."0.6.1"."rand_core"}" deps)
+    (features_.rand_hc."${deps."rand"."0.6.1"."rand_hc"}" deps)
+    (features_.rand_isaac."${deps."rand"."0.6.1"."rand_isaac"}" deps)
+    (features_.rand_pcg."${deps."rand"."0.6.1"."rand_pcg"}" deps)
+    (features_.rand_xorshift."${deps."rand"."0.6.1"."rand_xorshift"}" deps)
+    (features_.rustc_version."${deps."rand"."0.6.1"."rustc_version"}" deps)
+    (features_.cloudabi."${deps."rand"."0.6.1"."cloudabi"}" deps)
+    (features_.fuchsia_zircon."${deps."rand"."0.6.1"."fuchsia_zircon"}" deps)
+    (features_.libc."${deps."rand"."0.6.1"."libc"}" deps)
+    (features_.winapi."${deps."rand"."0.6.1"."winapi"}" deps)
+  ];
+
+
+# end
+# rand_chacha-0.1.0
+
+  crates.rand_chacha."0.1.0" = deps: { features?(features_.rand_chacha."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "rand_chacha";
+    version = "0.1.0";
+    description = "ChaCha random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "0q5pq34cqv1mnibgzd1cmx9q49vkr2lvalkkvizmlld217jmlqc6";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_chacha"."0.1.0"."rand_core"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."rand_chacha"."0.1.0"."rustc_version"}" deps)
+    ]);
+  };
+  features_.rand_chacha."0.1.0" = deps: f: updateFeatures f (rec {
+    rand_chacha."0.1.0".default = (f.rand_chacha."0.1.0".default or true);
+    rand_core."${deps.rand_chacha."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_chacha."0.1.0".rand_core}".default or false);
+    rustc_version."${deps.rand_chacha."0.1.0".rustc_version}".default = true;
+  }) [
+    (features_.rand_core."${deps."rand_chacha"."0.1.0"."rand_core"}" deps)
+    (features_.rustc_version."${deps."rand_chacha"."0.1.0"."rustc_version"}" deps)
+  ];
+
+
+# end
+# rand_core-0.2.2
+
+  crates.rand_core."0.2.2" = deps: { features?(features_.rand_core."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "rand_core";
+    version = "0.2.2";
+    description = "Core random number generator traits and tools for implementation.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1cxnaxmsirz2wxsajsjkd1wk6lqfqbcprqkha4bq3didznrl22sc";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_core"."0.2.2"."rand_core"}" deps)
+    ]);
+    features = mkFeatures (features."rand_core"."0.2.2" or {});
+  };
+  features_.rand_core."0.2.2" = deps: f: updateFeatures f (rec {
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand_core."0.2.2".rand_core}"."alloc" =
+        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."alloc" or false) ||
+        (rand_core."0.2.2"."alloc" or false) ||
+        (f."rand_core"."0.2.2"."alloc" or false); }
+      { "${deps.rand_core."0.2.2".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."serde1" or false) ||
+        (rand_core."0.2.2"."serde1" or false) ||
+        (f."rand_core"."0.2.2"."serde1" or false); }
+      { "${deps.rand_core."0.2.2".rand_core}"."std" =
+        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."std" or false) ||
+        (rand_core."0.2.2"."std" or false) ||
+        (f."rand_core"."0.2.2"."std" or false); }
+      { "${deps.rand_core."0.2.2".rand_core}".default = (f.rand_core."${deps.rand_core."0.2.2".rand_core}".default or false); }
+      { "0.2.2".default = (f.rand_core."0.2.2".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_core"."0.2.2"."rand_core"}" deps)
+  ];
+
+
+# end
+# rand_core-0.3.0
+
+  crates.rand_core."0.3.0" = deps: { features?(features_.rand_core."0.3.0" deps {}) }: buildRustCrate {
+    crateName = "rand_core";
+    version = "0.3.0";
+    description = "Core random number generator traits and tools for implementation.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1vafw316apjys9va3j987s02djhqp7y21v671v3ix0p5j9bjq339";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."rand_core"."0.3.0" or {});
+  };
+  features_.rand_core."0.3.0" = deps: f: updateFeatures f (rec {
+    rand_core = fold recursiveUpdate {} [
+      { "0.3.0"."alloc" =
+        (f.rand_core."0.3.0"."alloc" or false) ||
+        (f.rand_core."0.3.0".std or false) ||
+        (rand_core."0.3.0"."std" or false); }
+      { "0.3.0"."serde" =
+        (f.rand_core."0.3.0"."serde" or false) ||
+        (f.rand_core."0.3.0".serde1 or false) ||
+        (rand_core."0.3.0"."serde1" or false); }
+      { "0.3.0"."serde_derive" =
+        (f.rand_core."0.3.0"."serde_derive" or false) ||
+        (f.rand_core."0.3.0".serde1 or false) ||
+        (rand_core."0.3.0"."serde1" or false); }
+      { "0.3.0"."std" =
+        (f.rand_core."0.3.0"."std" or false) ||
+        (f.rand_core."0.3.0".default or false) ||
+        (rand_core."0.3.0"."default" or false); }
+      { "0.3.0".default = (f.rand_core."0.3.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# rand_hc-0.1.0
+
+  crates.rand_hc."0.1.0" = deps: { features?(features_.rand_hc."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "rand_hc";
+    version = "0.1.0";
+    description = "HC128 random number generator\n";
+    authors = [ "The Rand Project Developers" ];
+    sha256 = "05agb75j87yp7y1zk8yf7bpm66hc0673r3dlypn0kazynr6fdgkz";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_hc"."0.1.0"."rand_core"}" deps)
+    ]);
+  };
+  features_.rand_hc."0.1.0" = deps: f: updateFeatures f (rec {
+    rand_core."${deps.rand_hc."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_hc."0.1.0".rand_core}".default or false);
+    rand_hc."0.1.0".default = (f.rand_hc."0.1.0".default or true);
+  }) [
+    (features_.rand_core."${deps."rand_hc"."0.1.0"."rand_core"}" deps)
+  ];
+
+
+# end
+# rand_isaac-0.1.1
+
+  crates.rand_isaac."0.1.1" = deps: { features?(features_.rand_isaac."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "rand_isaac";
+    version = "0.1.1";
+    description = "ISAAC random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "10hhdh5b5sa03s6b63y9bafm956jwilx41s71jbrzl63ccx8lxdq";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_isaac"."0.1.1"."rand_core"}" deps)
+    ]);
+    features = mkFeatures (features."rand_isaac"."0.1.1" or {});
+  };
+  features_.rand_isaac."0.1.1" = deps: f: updateFeatures f (rec {
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand_isaac."0.1.1".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}"."serde1" or false) ||
+        (rand_isaac."0.1.1"."serde1" or false) ||
+        (f."rand_isaac"."0.1.1"."serde1" or false); }
+      { "${deps.rand_isaac."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}".default or false); }
+    ];
+    rand_isaac = fold recursiveUpdate {} [
+      { "0.1.1"."serde" =
+        (f.rand_isaac."0.1.1"."serde" or false) ||
+        (f.rand_isaac."0.1.1".serde1 or false) ||
+        (rand_isaac."0.1.1"."serde1" or false); }
+      { "0.1.1"."serde_derive" =
+        (f.rand_isaac."0.1.1"."serde_derive" or false) ||
+        (f.rand_isaac."0.1.1".serde1 or false) ||
+        (rand_isaac."0.1.1"."serde1" or false); }
+      { "0.1.1".default = (f.rand_isaac."0.1.1".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_isaac"."0.1.1"."rand_core"}" deps)
+  ];
+
+
+# end
+# rand_pcg-0.1.1
+
+  crates.rand_pcg."0.1.1" = deps: { features?(features_.rand_pcg."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "rand_pcg";
+    version = "0.1.1";
+    description = "Selected PCG random number generators\n";
+    authors = [ "The Rand Project Developers" ];
+    sha256 = "0x6pzldj0c8c7gmr67ni5i7w2f7n7idvs3ckx0fc3wkhwl7wrbza";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_pcg"."0.1.1"."rand_core"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."rand_pcg"."0.1.1"."rustc_version"}" deps)
+    ]);
+    features = mkFeatures (features."rand_pcg"."0.1.1" or {});
+  };
+  features_.rand_pcg."0.1.1" = deps: f: updateFeatures f (rec {
+    rand_core."${deps.rand_pcg."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_pcg."0.1.1".rand_core}".default or false);
+    rand_pcg = fold recursiveUpdate {} [
+      { "0.1.1"."serde" =
+        (f.rand_pcg."0.1.1"."serde" or false) ||
+        (f.rand_pcg."0.1.1".serde1 or false) ||
+        (rand_pcg."0.1.1"."serde1" or false); }
+      { "0.1.1"."serde_derive" =
+        (f.rand_pcg."0.1.1"."serde_derive" or false) ||
+        (f.rand_pcg."0.1.1".serde1 or false) ||
+        (rand_pcg."0.1.1"."serde1" or false); }
+      { "0.1.1".default = (f.rand_pcg."0.1.1".default or true); }
+    ];
+    rustc_version."${deps.rand_pcg."0.1.1".rustc_version}".default = true;
+  }) [
+    (features_.rand_core."${deps."rand_pcg"."0.1.1"."rand_core"}" deps)
+    (features_.rustc_version."${deps."rand_pcg"."0.1.1"."rustc_version"}" deps)
+  ];
+
+
+# end
+# rand_xorshift-0.1.0
+
+  crates.rand_xorshift."0.1.0" = deps: { features?(features_.rand_xorshift."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "rand_xorshift";
+    version = "0.1.0";
+    description = "Xorshift random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "063vxb678ki8gq4rx9w7yg5f9i29ig1zwykl67mfsxn0kxlkv2ih";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_xorshift"."0.1.0"."rand_core"}" deps)
+    ]);
+    features = mkFeatures (features."rand_xorshift"."0.1.0" or {});
+  };
+  features_.rand_xorshift."0.1.0" = deps: f: updateFeatures f (rec {
+    rand_core."${deps.rand_xorshift."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_xorshift."0.1.0".rand_core}".default or false);
+    rand_xorshift = fold recursiveUpdate {} [
+      { "0.1.0"."serde" =
+        (f.rand_xorshift."0.1.0"."serde" or false) ||
+        (f.rand_xorshift."0.1.0".serde1 or false) ||
+        (rand_xorshift."0.1.0"."serde1" or false); }
+      { "0.1.0"."serde_derive" =
+        (f.rand_xorshift."0.1.0"."serde_derive" or false) ||
+        (f.rand_xorshift."0.1.0".serde1 or false) ||
+        (rand_xorshift."0.1.0"."serde1" or false); }
+      { "0.1.0".default = (f.rand_xorshift."0.1.0".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_xorshift"."0.1.0"."rand_core"}" deps)
+  ];
+
+
+# end
+# redox_syscall-0.1.31
+
+  crates.redox_syscall."0.1.31" = deps: { features?(features_.redox_syscall."0.1.31" deps {}) }: buildRustCrate {
+    crateName = "redox_syscall";
+    version = "0.1.31";
+    description = "A Rust library to access raw Redox system calls";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "0kipd9qslzin4fgj4jrxv6yz5l3l71gnbd7fq1jhk2j7f2sq33j4";
+    libName = "syscall";
+  };
+  features_.redox_syscall."0.1.31" = deps: f: updateFeatures f (rec {
+    redox_syscall."0.1.31".default = (f.redox_syscall."0.1.31".default or true);
+  }) [];
+
+
+# end
+# redox_termios-0.1.1
+
+  crates.redox_termios."0.1.1" = deps: { features?(features_.redox_termios."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "redox_termios";
+    version = "0.1.1";
+    description = "A Rust library to access Redox termios functions";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
+    libPath = "src/lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."redox_syscall"."${deps."redox_termios"."0.1.1"."redox_syscall"}" deps)
+    ]);
+  };
+  features_.redox_termios."0.1.1" = deps: f: updateFeatures f (rec {
+    redox_syscall."${deps.redox_termios."0.1.1".redox_syscall}".default = true;
+    redox_termios."0.1.1".default = (f.redox_termios."0.1.1".default or true);
+  }) [
+    (features_.redox_syscall."${deps."redox_termios"."0.1.1"."redox_syscall"}" deps)
+  ];
+
+
+# end
+# regex-0.1.80
+
+  crates.regex."0.1.80" = deps: { features?(features_.regex."0.1.80" deps {}) }: buildRustCrate {
+    crateName = "regex";
+    version = "0.1.80";
+    description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0y4s8ghhx6sgzb35irwivm3w0l2hhqhmdcd2px9hirqnkagal9l6";
+    dependencies = mapFeatures features ([
+      (crates."aho_corasick"."${deps."regex"."0.1.80"."aho_corasick"}" deps)
+      (crates."memchr"."${deps."regex"."0.1.80"."memchr"}" deps)
+      (crates."regex_syntax"."${deps."regex"."0.1.80"."regex_syntax"}" deps)
+      (crates."thread_local"."${deps."regex"."0.1.80"."thread_local"}" deps)
+      (crates."utf8_ranges"."${deps."regex"."0.1.80"."utf8_ranges"}" deps)
+    ]);
+    features = mkFeatures (features."regex"."0.1.80" or {});
+  };
+  features_.regex."0.1.80" = deps: f: updateFeatures f (rec {
+    aho_corasick."${deps.regex."0.1.80".aho_corasick}".default = true;
+    memchr."${deps.regex."0.1.80".memchr}".default = true;
+    regex = fold recursiveUpdate {} [
+      { "0.1.80"."simd" =
+        (f.regex."0.1.80"."simd" or false) ||
+        (f.regex."0.1.80".simd-accel or false) ||
+        (regex."0.1.80"."simd-accel" or false); }
+      { "0.1.80".default = (f.regex."0.1.80".default or true); }
+    ];
+    regex_syntax."${deps.regex."0.1.80".regex_syntax}".default = true;
+    thread_local."${deps.regex."0.1.80".thread_local}".default = true;
+    utf8_ranges."${deps.regex."0.1.80".utf8_ranges}".default = true;
+  }) [
+    (features_.aho_corasick."${deps."regex"."0.1.80"."aho_corasick"}" deps)
+    (features_.memchr."${deps."regex"."0.1.80"."memchr"}" deps)
+    (features_.regex_syntax."${deps."regex"."0.1.80"."regex_syntax"}" deps)
+    (features_.thread_local."${deps."regex"."0.1.80"."thread_local"}" deps)
+    (features_.utf8_ranges."${deps."regex"."0.1.80"."utf8_ranges"}" deps)
+  ];
+
+
+# end
+# regex-syntax-0.3.9
+
+  crates.regex_syntax."0.3.9" = deps: { features?(features_.regex_syntax."0.3.9" deps {}) }: buildRustCrate {
+    crateName = "regex-syntax";
+    version = "0.3.9";
+    description = "A regular expression parser.";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m";
+  };
+  features_.regex_syntax."0.3.9" = deps: f: updateFeatures f (rec {
+    regex_syntax."0.3.9".default = (f.regex_syntax."0.3.9".default or true);
+  }) [];
+
+
+# end
+# remove_dir_all-0.5.1
+
+  crates.remove_dir_all."0.5.1" = deps: { features?(features_.remove_dir_all."0.5.1" deps {}) }: buildRustCrate {
+    crateName = "remove_dir_all";
+    version = "0.5.1";
+    description = "A safe, reliable implementation of remove_dir_all for Windows";
+    authors = [ "Aaronepower <theaaronepower@gmail.com>" ];
+    sha256 = "1chx3yvfbj46xjz4bzsvps208l46hfbcy0sm98gpiya454n4rrl7";
+    dependencies = (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."remove_dir_all"."0.5.1"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.remove_dir_all."0.5.1" = deps: f: updateFeatures f (rec {
+    remove_dir_all."0.5.1".default = (f.remove_dir_all."0.5.1".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.remove_dir_all."0.5.1".winapi}"."errhandlingapi" = true; }
+      { "${deps.remove_dir_all."0.5.1".winapi}"."fileapi" = true; }
+      { "${deps.remove_dir_all."0.5.1".winapi}"."std" = true; }
+      { "${deps.remove_dir_all."0.5.1".winapi}"."winbase" = true; }
+      { "${deps.remove_dir_all."0.5.1".winapi}"."winerror" = true; }
+      { "${deps.remove_dir_all."0.5.1".winapi}".default = true; }
+    ];
+  }) [
+    (features_.winapi."${deps."remove_dir_all"."0.5.1"."winapi"}" deps)
+  ];
+
+
+# end
+# reqwest-0.9.5
+
+  crates.reqwest."0.9.5" = deps: { features?(features_.reqwest."0.9.5" deps {}) }: buildRustCrate {
+    crateName = "reqwest";
+    version = "0.9.5";
+    description = "higher level HTTP client library";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1y0fq8ifhbgn6bfvjq831svirqszszj7f73ykbd28inwc0xiv2ix";
+    dependencies = mapFeatures features ([
+      (crates."base64"."${deps."reqwest"."0.9.5"."base64"}" deps)
+      (crates."bytes"."${deps."reqwest"."0.9.5"."bytes"}" deps)
+      (crates."encoding_rs"."${deps."reqwest"."0.9.5"."encoding_rs"}" deps)
+      (crates."futures"."${deps."reqwest"."0.9.5"."futures"}" deps)
+      (crates."http"."${deps."reqwest"."0.9.5"."http"}" deps)
+      (crates."hyper"."${deps."reqwest"."0.9.5"."hyper"}" deps)
+      (crates."libflate"."${deps."reqwest"."0.9.5"."libflate"}" deps)
+      (crates."log"."${deps."reqwest"."0.9.5"."log"}" deps)
+      (crates."mime"."${deps."reqwest"."0.9.5"."mime"}" deps)
+      (crates."mime_guess"."${deps."reqwest"."0.9.5"."mime_guess"}" deps)
+      (crates."serde"."${deps."reqwest"."0.9.5"."serde"}" deps)
+      (crates."serde_json"."${deps."reqwest"."0.9.5"."serde_json"}" deps)
+      (crates."serde_urlencoded"."${deps."reqwest"."0.9.5"."serde_urlencoded"}" deps)
+      (crates."tokio"."${deps."reqwest"."0.9.5"."tokio"}" deps)
+      (crates."tokio_io"."${deps."reqwest"."0.9.5"."tokio_io"}" deps)
+      (crates."url"."${deps."reqwest"."0.9.5"."url"}" deps)
+      (crates."uuid"."${deps."reqwest"."0.9.5"."uuid"}" deps)
+    ]
+      ++ (if features.reqwest."0.9.5".hyper-tls or false then [ (crates.hyper_tls."${deps."reqwest"."0.9.5".hyper_tls}" deps) ] else [])
+      ++ (if features.reqwest."0.9.5".native-tls or false then [ (crates.native_tls."${deps."reqwest"."0.9.5".native_tls}" deps) ] else []));
+    features = mkFeatures (features."reqwest"."0.9.5" or {});
+  };
+  features_.reqwest."0.9.5" = deps: f: updateFeatures f (rec {
+    base64."${deps.reqwest."0.9.5".base64}".default = true;
+    bytes."${deps.reqwest."0.9.5".bytes}".default = true;
+    encoding_rs."${deps.reqwest."0.9.5".encoding_rs}".default = true;
+    futures."${deps.reqwest."0.9.5".futures}".default = true;
+    http."${deps.reqwest."0.9.5".http}".default = true;
+    hyper."${deps.reqwest."0.9.5".hyper}".default = true;
+    hyper_tls."${deps.reqwest."0.9.5".hyper_tls}".default = true;
+    libflate."${deps.reqwest."0.9.5".libflate}".default = true;
+    log."${deps.reqwest."0.9.5".log}".default = true;
+    mime."${deps.reqwest."0.9.5".mime}".default = true;
+    mime_guess."${deps.reqwest."0.9.5".mime_guess}".default = true;
+    native_tls."${deps.reqwest."0.9.5".native_tls}".default = true;
+    reqwest = fold recursiveUpdate {} [
+      { "0.9.5"."default-tls" =
+        (f.reqwest."0.9.5"."default-tls" or false) ||
+        (f.reqwest."0.9.5".default or false) ||
+        (reqwest."0.9.5"."default" or false); }
+      { "0.9.5"."hyper-old-types" =
+        (f.reqwest."0.9.5"."hyper-old-types" or false) ||
+        (f.reqwest."0.9.5".hyper-011 or false) ||
+        (reqwest."0.9.5"."hyper-011" or false); }
+      { "0.9.5"."hyper-tls" =
+        (f.reqwest."0.9.5"."hyper-tls" or false) ||
+        (f.reqwest."0.9.5".default-tls or false) ||
+        (reqwest."0.9.5"."default-tls" or false); }
+      { "0.9.5"."native-tls" =
+        (f.reqwest."0.9.5"."native-tls" or false) ||
+        (f.reqwest."0.9.5".default-tls or false) ||
+        (reqwest."0.9.5"."default-tls" or false); }
+      { "0.9.5".default = (f.reqwest."0.9.5".default or true); }
+    ];
+    serde."${deps.reqwest."0.9.5".serde}".default = true;
+    serde_json."${deps.reqwest."0.9.5".serde_json}".default = true;
+    serde_urlencoded."${deps.reqwest."0.9.5".serde_urlencoded}".default = true;
+    tokio."${deps.reqwest."0.9.5".tokio}".default = true;
+    tokio_io."${deps.reqwest."0.9.5".tokio_io}".default = true;
+    url."${deps.reqwest."0.9.5".url}".default = true;
+    uuid = fold recursiveUpdate {} [
+      { "${deps.reqwest."0.9.5".uuid}"."v4" = true; }
+      { "${deps.reqwest."0.9.5".uuid}".default = true; }
+    ];
+  }) [
+    (features_.base64."${deps."reqwest"."0.9.5"."base64"}" deps)
+    (features_.bytes."${deps."reqwest"."0.9.5"."bytes"}" deps)
+    (features_.encoding_rs."${deps."reqwest"."0.9.5"."encoding_rs"}" deps)
+    (features_.futures."${deps."reqwest"."0.9.5"."futures"}" deps)
+    (features_.http."${deps."reqwest"."0.9.5"."http"}" deps)
+    (features_.hyper."${deps."reqwest"."0.9.5"."hyper"}" deps)
+    (features_.hyper_tls."${deps."reqwest"."0.9.5"."hyper_tls"}" deps)
+    (features_.libflate."${deps."reqwest"."0.9.5"."libflate"}" deps)
+    (features_.log."${deps."reqwest"."0.9.5"."log"}" deps)
+    (features_.mime."${deps."reqwest"."0.9.5"."mime"}" deps)
+    (features_.mime_guess."${deps."reqwest"."0.9.5"."mime_guess"}" deps)
+    (features_.native_tls."${deps."reqwest"."0.9.5"."native_tls"}" deps)
+    (features_.serde."${deps."reqwest"."0.9.5"."serde"}" deps)
+    (features_.serde_json."${deps."reqwest"."0.9.5"."serde_json"}" deps)
+    (features_.serde_urlencoded."${deps."reqwest"."0.9.5"."serde_urlencoded"}" deps)
+    (features_.tokio."${deps."reqwest"."0.9.5"."tokio"}" deps)
+    (features_.tokio_io."${deps."reqwest"."0.9.5"."tokio_io"}" deps)
+    (features_.url."${deps."reqwest"."0.9.5"."url"}" deps)
+    (features_.uuid."${deps."reqwest"."0.9.5"."uuid"}" deps)
+  ];
+
+
+# end
+# rustc_version-0.2.3
+
+  crates.rustc_version."0.2.3" = deps: { features?(features_.rustc_version."0.2.3" deps {}) }: buildRustCrate {
+    crateName = "rustc_version";
+    version = "0.2.3";
+    description = "A library for querying the version of a installed rustc compiler";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "0rgwzbgs3i9fqjm1p4ra3n7frafmpwl29c8lw85kv1rxn7n2zaa7";
+    dependencies = mapFeatures features ([
+      (crates."semver"."${deps."rustc_version"."0.2.3"."semver"}" deps)
+    ]);
+  };
+  features_.rustc_version."0.2.3" = deps: f: updateFeatures f (rec {
+    rustc_version."0.2.3".default = (f.rustc_version."0.2.3".default or true);
+    semver."${deps.rustc_version."0.2.3".semver}".default = true;
+  }) [
+    (features_.semver."${deps."rustc_version"."0.2.3"."semver"}" deps)
+  ];
+
+
+# end
+# safemem-0.3.0
+
+  crates.safemem."0.3.0" = deps: { features?(features_.safemem."0.3.0" deps {}) }: buildRustCrate {
+    crateName = "safemem";
+    version = "0.3.0";
+    description = "Safe wrappers for memory-accessing functions, like `std::ptr::copy()`.";
+    authors = [ "Austin Bonander <austin.bonander@gmail.com>" ];
+    sha256 = "0pr39b468d05f6m7m4alsngmj5p7an8df21apsxbi57k0lmwrr18";
+    features = mkFeatures (features."safemem"."0.3.0" or {});
+  };
+  features_.safemem."0.3.0" = deps: f: updateFeatures f (rec {
+    safemem = fold recursiveUpdate {} [
+      { "0.3.0"."std" =
+        (f.safemem."0.3.0"."std" or false) ||
+        (f.safemem."0.3.0".default or false) ||
+        (safemem."0.3.0"."default" or false); }
+      { "0.3.0".default = (f.safemem."0.3.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# schannel-0.1.14
+
+  crates.schannel."0.1.14" = deps: { features?(features_.schannel."0.1.14" deps {}) }: buildRustCrate {
+    crateName = "schannel";
+    version = "0.1.14";
+    description = "Schannel bindings for rust, allowing SSL/TLS (e.g. https) without openssl";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" "Steffen Butzer <steffen.butzer@outlook.com>" ];
+    sha256 = "1g0a88jknns1kwn3x1k3ci5y5zvg58pwdg1xrxkrw3cwd2hynm9k";
+    dependencies = mapFeatures features ([
+      (crates."lazy_static"."${deps."schannel"."0.1.14"."lazy_static"}" deps)
+      (crates."winapi"."${deps."schannel"."0.1.14"."winapi"}" deps)
+    ]);
+  };
+  features_.schannel."0.1.14" = deps: f: updateFeatures f (rec {
+    lazy_static."${deps.schannel."0.1.14".lazy_static}".default = true;
+    schannel."0.1.14".default = (f.schannel."0.1.14".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.schannel."0.1.14".winapi}"."lmcons" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."minschannel" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."schannel" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."securitybaseapi" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."sspi" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."sysinfoapi" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."timezoneapi" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."winbase" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."wincrypt" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."winerror" = true; }
+      { "${deps.schannel."0.1.14".winapi}".default = true; }
+    ];
+  }) [
+    (features_.lazy_static."${deps."schannel"."0.1.14"."lazy_static"}" deps)
+    (features_.winapi."${deps."schannel"."0.1.14"."winapi"}" deps)
+  ];
+
+
+# end
+# scopeguard-0.3.3
+
+  crates.scopeguard."0.3.3" = deps: { features?(features_.scopeguard."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "scopeguard";
+    version = "0.3.3";
+    description = "A RAII scope guard that will run a given closure when it goes out of scope,\neven if the code between panics (assuming unwinding panic).\n\nDefines the macros `defer!` and `defer_on_unwind!`; the latter only runs\nif the scope is extited through unwinding on panic.\n";
+    authors = [ "bluss" ];
+    sha256 = "0i1l013csrqzfz6c68pr5pi01hg5v5yahq8fsdmaxy6p8ygsjf3r";
+    features = mkFeatures (features."scopeguard"."0.3.3" or {});
+  };
+  features_.scopeguard."0.3.3" = deps: f: updateFeatures f (rec {
+    scopeguard = fold recursiveUpdate {} [
+      { "0.3.3"."use_std" =
+        (f.scopeguard."0.3.3"."use_std" or false) ||
+        (f.scopeguard."0.3.3".default or false) ||
+        (scopeguard."0.3.3"."default" or false); }
+      { "0.3.3".default = (f.scopeguard."0.3.3".default or true); }
+    ];
+  }) [];
+
+
+# end
+# security-framework-0.2.1
+
+  crates.security_framework."0.2.1" = deps: { features?(features_.security_framework."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "security-framework";
+    version = "0.2.1";
+    description = "Security Framework bindings";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0qia5g66zmjn57m9swhrkz3cll3bs4061qim6w72v08c2w0pkvsw";
+    dependencies = mapFeatures features ([
+      (crates."core_foundation"."${deps."security_framework"."0.2.1"."core_foundation"}" deps)
+      (crates."core_foundation_sys"."${deps."security_framework"."0.2.1"."core_foundation_sys"}" deps)
+      (crates."libc"."${deps."security_framework"."0.2.1"."libc"}" deps)
+      (crates."security_framework_sys"."${deps."security_framework"."0.2.1"."security_framework_sys"}" deps)
+    ]);
+    features = mkFeatures (features."security_framework"."0.2.1" or {});
+  };
+  features_.security_framework."0.2.1" = deps: f: updateFeatures f (rec {
+    core_foundation."${deps.security_framework."0.2.1".core_foundation}".default = true;
+    core_foundation_sys."${deps.security_framework."0.2.1".core_foundation_sys}".default = true;
+    libc."${deps.security_framework."0.2.1".libc}".default = true;
+    security_framework = fold recursiveUpdate {} [
+      { "0.2.1"."OSX_10_10" =
+        (f.security_framework."0.2.1"."OSX_10_10" or false) ||
+        (f.security_framework."0.2.1".OSX_10_11 or false) ||
+        (security_framework."0.2.1"."OSX_10_11" or false); }
+      { "0.2.1"."OSX_10_11" =
+        (f.security_framework."0.2.1"."OSX_10_11" or false) ||
+        (f.security_framework."0.2.1".OSX_10_12 or false) ||
+        (security_framework."0.2.1"."OSX_10_12" or false); }
+      { "0.2.1"."OSX_10_9" =
+        (f.security_framework."0.2.1"."OSX_10_9" or false) ||
+        (f.security_framework."0.2.1".OSX_10_10 or false) ||
+        (security_framework."0.2.1"."OSX_10_10" or false); }
+      { "0.2.1".default = (f.security_framework."0.2.1".default or true); }
+    ];
+    security_framework_sys = fold recursiveUpdate {} [
+      { "${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_10" =
+        (f.security_framework_sys."${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_10" or false) ||
+        (security_framework."0.2.1"."OSX_10_10" or false) ||
+        (f."security_framework"."0.2.1"."OSX_10_10" or false); }
+      { "${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_11" =
+        (f.security_framework_sys."${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_11" or false) ||
+        (security_framework."0.2.1"."OSX_10_11" or false) ||
+        (f."security_framework"."0.2.1"."OSX_10_11" or false) ||
+        (security_framework."0.2.1"."OSX_10_12" or false) ||
+        (f."security_framework"."0.2.1"."OSX_10_12" or false); }
+      { "${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_9" =
+        (f.security_framework_sys."${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_9" or false) ||
+        (security_framework."0.2.1"."OSX_10_9" or false) ||
+        (f."security_framework"."0.2.1"."OSX_10_9" or false); }
+      { "${deps.security_framework."0.2.1".security_framework_sys}".default = true; }
+    ];
+  }) [
+    (features_.core_foundation."${deps."security_framework"."0.2.1"."core_foundation"}" deps)
+    (features_.core_foundation_sys."${deps."security_framework"."0.2.1"."core_foundation_sys"}" deps)
+    (features_.libc."${deps."security_framework"."0.2.1"."libc"}" deps)
+    (features_.security_framework_sys."${deps."security_framework"."0.2.1"."security_framework_sys"}" deps)
+  ];
+
+
+# end
+# security-framework-sys-0.2.1
+
+  crates.security_framework_sys."0.2.1" = deps: { features?(features_.security_framework_sys."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "security-framework-sys";
+    version = "0.2.1";
+    description = "Security Framework bindings";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0ijxy7bdi4am092hrhm645hcv36xprdx1gjcjmnyw6n78x8sv2iz";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."core_foundation_sys"."${deps."security_framework_sys"."0.2.1"."core_foundation_sys"}" deps)
+      (crates."libc"."${deps."security_framework_sys"."0.2.1"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."security_framework_sys"."0.2.1" or {});
+  };
+  features_.security_framework_sys."0.2.1" = deps: f: updateFeatures f (rec {
+    core_foundation_sys."${deps.security_framework_sys."0.2.1".core_foundation_sys}".default = true;
+    libc."${deps.security_framework_sys."0.2.1".libc}".default = true;
+    security_framework_sys = fold recursiveUpdate {} [
+      { "0.2.1"."OSX_10_10" =
+        (f.security_framework_sys."0.2.1"."OSX_10_10" or false) ||
+        (f.security_framework_sys."0.2.1".OSX_10_11 or false) ||
+        (security_framework_sys."0.2.1"."OSX_10_11" or false); }
+      { "0.2.1"."OSX_10_11" =
+        (f.security_framework_sys."0.2.1"."OSX_10_11" or false) ||
+        (f.security_framework_sys."0.2.1".OSX_10_12 or false) ||
+        (security_framework_sys."0.2.1"."OSX_10_12" or false); }
+      { "0.2.1"."OSX_10_9" =
+        (f.security_framework_sys."0.2.1"."OSX_10_9" or false) ||
+        (f.security_framework_sys."0.2.1".OSX_10_10 or false) ||
+        (security_framework_sys."0.2.1"."OSX_10_10" or false); }
+      { "0.2.1".default = (f.security_framework_sys."0.2.1".default or true); }
+    ];
+  }) [
+    (features_.core_foundation_sys."${deps."security_framework_sys"."0.2.1"."core_foundation_sys"}" deps)
+    (features_.libc."${deps."security_framework_sys"."0.2.1"."libc"}" deps)
+  ];
+
+
+# end
+# semver-0.9.0
+
+  crates.semver."0.9.0" = deps: { features?(features_.semver."0.9.0" deps {}) }: buildRustCrate {
+    crateName = "semver";
+    version = "0.9.0";
+    description = "Semantic version parsing and comparison.\n";
+    authors = [ "Steve Klabnik <steve@steveklabnik.com>" "The Rust Project Developers" ];
+    sha256 = "0azak2lb2wc36s3x15az886kck7rpnksrw14lalm157rg9sc9z63";
+    dependencies = mapFeatures features ([
+      (crates."semver_parser"."${deps."semver"."0.9.0"."semver_parser"}" deps)
+    ]);
+    features = mkFeatures (features."semver"."0.9.0" or {});
+  };
+  features_.semver."0.9.0" = deps: f: updateFeatures f (rec {
+    semver = fold recursiveUpdate {} [
+      { "0.9.0"."serde" =
+        (f.semver."0.9.0"."serde" or false) ||
+        (f.semver."0.9.0".ci or false) ||
+        (semver."0.9.0"."ci" or false); }
+      { "0.9.0".default = (f.semver."0.9.0".default or true); }
+    ];
+    semver_parser."${deps.semver."0.9.0".semver_parser}".default = true;
+  }) [
+    (features_.semver_parser."${deps."semver"."0.9.0"."semver_parser"}" deps)
+  ];
+
+
+# end
+# semver-parser-0.7.0
+
+  crates.semver_parser."0.7.0" = deps: { features?(features_.semver_parser."0.7.0" deps {}) }: buildRustCrate {
+    crateName = "semver-parser";
+    version = "0.7.0";
+    description = "Parsing of the semver spec.\n";
+    authors = [ "Steve Klabnik <steve@steveklabnik.com>" ];
+    sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h";
+  };
+  features_.semver_parser."0.7.0" = deps: f: updateFeatures f (rec {
+    semver_parser."0.7.0".default = (f.semver_parser."0.7.0".default or true);
+  }) [];
+
+
+# end
+# serde-1.0.21
+
+  crates.serde."1.0.21" = deps: { features?(features_.serde."1.0.21" deps {}) }: buildRustCrate {
+    crateName = "serde";
+    version = "1.0.21";
+    description = "A generic serialization/deserialization framework";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "10almq7pvx8s4ryiqk8gf7fj5igl0yq6dcjknwc67rkmxd8q50w3";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."serde"."1.0.21" or {});
+  };
+  features_.serde."1.0.21" = deps: f: updateFeatures f (rec {
+    serde = fold recursiveUpdate {} [
+      { "1.0.21"."serde_derive" =
+        (f.serde."1.0.21"."serde_derive" or false) ||
+        (f.serde."1.0.21".derive or false) ||
+        (serde."1.0.21"."derive" or false) ||
+        (f.serde."1.0.21".playground or false) ||
+        (serde."1.0.21"."playground" or false); }
+      { "1.0.21"."std" =
+        (f.serde."1.0.21"."std" or false) ||
+        (f.serde."1.0.21".default or false) ||
+        (serde."1.0.21"."default" or false); }
+      { "1.0.21"."unstable" =
+        (f.serde."1.0.21"."unstable" or false) ||
+        (f.serde."1.0.21".alloc or false) ||
+        (serde."1.0.21"."alloc" or false); }
+      { "1.0.21".default = (f.serde."1.0.21".default or true); }
+    ];
+  }) [];
+
+
+# end
+# serde_json-1.0.6
+
+  crates.serde_json."1.0.6" = deps: { features?(features_.serde_json."1.0.6" deps {}) }: buildRustCrate {
+    crateName = "serde_json";
+    version = "1.0.6";
+    description = "A JSON serialization file format";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1kacyc59splwbg8gr7qs32pp9smgy1khq0ggnv07yxhs7h355vjz";
+    dependencies = mapFeatures features ([
+      (crates."dtoa"."${deps."serde_json"."1.0.6"."dtoa"}" deps)
+      (crates."itoa"."${deps."serde_json"."1.0.6"."itoa"}" deps)
+      (crates."num_traits"."${deps."serde_json"."1.0.6"."num_traits"}" deps)
+      (crates."serde"."${deps."serde_json"."1.0.6"."serde"}" deps)
+    ]);
+    features = mkFeatures (features."serde_json"."1.0.6" or {});
+  };
+  features_.serde_json."1.0.6" = deps: f: updateFeatures f (rec {
+    dtoa."${deps.serde_json."1.0.6".dtoa}".default = true;
+    itoa."${deps.serde_json."1.0.6".itoa}".default = true;
+    num_traits."${deps.serde_json."1.0.6".num_traits}".default = true;
+    serde."${deps.serde_json."1.0.6".serde}".default = true;
+    serde_json = fold recursiveUpdate {} [
+      { "1.0.6"."linked-hash-map" =
+        (f.serde_json."1.0.6"."linked-hash-map" or false) ||
+        (f.serde_json."1.0.6".preserve_order or false) ||
+        (serde_json."1.0.6"."preserve_order" or false); }
+      { "1.0.6".default = (f.serde_json."1.0.6".default or true); }
+    ];
+  }) [
+    (features_.dtoa."${deps."serde_json"."1.0.6"."dtoa"}" deps)
+    (features_.itoa."${deps."serde_json"."1.0.6"."itoa"}" deps)
+    (features_.num_traits."${deps."serde_json"."1.0.6"."num_traits"}" deps)
+    (features_.serde."${deps."serde_json"."1.0.6"."serde"}" deps)
+  ];
+
+
+# end
+# serde_urlencoded-0.5.1
+
+  crates.serde_urlencoded."0.5.1" = deps: { features?(features_.serde_urlencoded."0.5.1" deps {}) }: buildRustCrate {
+    crateName = "serde_urlencoded";
+    version = "0.5.1";
+    description = "`x-www-form-urlencoded` meets Serde";
+    authors = [ "Anthony Ramine <n.oxyde@gmail.com>" ];
+    sha256 = "0zh2wlnapmcwqhxnnq1mdlmg8vily7j54wvj01s7cvapzg5jphdl";
+    dependencies = mapFeatures features ([
+      (crates."dtoa"."${deps."serde_urlencoded"."0.5.1"."dtoa"}" deps)
+      (crates."itoa"."${deps."serde_urlencoded"."0.5.1"."itoa"}" deps)
+      (crates."serde"."${deps."serde_urlencoded"."0.5.1"."serde"}" deps)
+      (crates."url"."${deps."serde_urlencoded"."0.5.1"."url"}" deps)
+    ]);
+  };
+  features_.serde_urlencoded."0.5.1" = deps: f: updateFeatures f (rec {
+    dtoa."${deps.serde_urlencoded."0.5.1".dtoa}".default = true;
+    itoa."${deps.serde_urlencoded."0.5.1".itoa}".default = true;
+    serde."${deps.serde_urlencoded."0.5.1".serde}".default = true;
+    serde_urlencoded."0.5.1".default = (f.serde_urlencoded."0.5.1".default or true);
+    url."${deps.serde_urlencoded."0.5.1".url}".default = true;
+  }) [
+    (features_.dtoa."${deps."serde_urlencoded"."0.5.1"."dtoa"}" deps)
+    (features_.itoa."${deps."serde_urlencoded"."0.5.1"."itoa"}" deps)
+    (features_.serde."${deps."serde_urlencoded"."0.5.1"."serde"}" deps)
+    (features_.url."${deps."serde_urlencoded"."0.5.1"."url"}" deps)
+  ];
+
+
+# end
+# siphasher-0.2.2
+
+  crates.siphasher."0.2.2" = deps: { features?(features_.siphasher."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "siphasher";
+    version = "0.2.2";
+    description = "SipHash functions from rust-core < 1.13";
+    authors = [ "Frank Denis <github@pureftpd.org>" ];
+    sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
+    dependencies = mapFeatures features ([
+]);
+  };
+  features_.siphasher."0.2.2" = deps: f: updateFeatures f (rec {
+    siphasher."0.2.2".default = (f.siphasher."0.2.2".default or true);
+  }) [];
+
+
+# end
+# slab-0.4.0
+
+  crates.slab."0.4.0" = deps: { features?(features_.slab."0.4.0" deps {}) }: buildRustCrate {
+    crateName = "slab";
+    version = "0.4.0";
+    description = "Pre-allocated storage for a uniform data type";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1qy2vkgwqgj5z4ygdkh040n9yh1vz80v5flxb1xrvw3i4wxs7yx0";
+  };
+  features_.slab."0.4.0" = deps: f: updateFeatures f (rec {
+    slab."0.4.0".default = (f.slab."0.4.0".default or true);
+  }) [];
+
+
+# end
+# slog-1.7.1
+
+  crates.slog."1.7.1" = deps: { features?(features_.slog."1.7.1" deps {}) }: buildRustCrate {
+    crateName = "slog";
+    version = "1.7.1";
+    description = "Structured, composable logging for Rust";
+    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "1qhnwv2gbxmnwasaa0vlhddq6cdhq6n3l8d6h3ql73367h7aav65";
+    features = mkFeatures (features."slog"."1.7.1" or {});
+  };
+  features_.slog."1.7.1" = deps: f: updateFeatures f (rec {
+    slog = fold recursiveUpdate {} [
+      { "1.7.1"."std" =
+        (f.slog."1.7.1"."std" or false) ||
+        (f.slog."1.7.1".default or false) ||
+        (slog."1.7.1"."default" or false); }
+      { "1.7.1".default = (f.slog."1.7.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# slog-envlogger-0.5.0
+
+  crates.slog_envlogger."0.5.0" = deps: { features?(features_.slog_envlogger."0.5.0" deps {}) }: buildRustCrate {
+    crateName = "slog-envlogger";
+    version = "0.5.0";
+    description = "Port of de facto standard logger implementation for Rust, to `slog-rs` framework.\n";
+    authors = [ "The Rust Project Developers" "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "0ry9k2ppj7z6prdz2kf924w7l9y2kbysrigca6shni1kz2j163qb";
+    libPath = "src/lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."log"."${deps."slog_envlogger"."0.5.0"."log"}" deps)
+      (crates."regex"."${deps."slog_envlogger"."0.5.0"."regex"}" deps)
+      (crates."slog"."${deps."slog_envlogger"."0.5.0"."slog"}" deps)
+      (crates."slog_stdlog"."${deps."slog_envlogger"."0.5.0"."slog_stdlog"}" deps)
+      (crates."slog_term"."${deps."slog_envlogger"."0.5.0"."slog_term"}" deps)
+    ]);
+  };
+  features_.slog_envlogger."0.5.0" = deps: f: updateFeatures f (rec {
+    log."${deps.slog_envlogger."0.5.0".log}".default = true;
+    regex."${deps.slog_envlogger."0.5.0".regex}".default = true;
+    slog."${deps.slog_envlogger."0.5.0".slog}".default = true;
+    slog_envlogger."0.5.0".default = (f.slog_envlogger."0.5.0".default or true);
+    slog_stdlog."${deps.slog_envlogger."0.5.0".slog_stdlog}".default = true;
+    slog_term."${deps.slog_envlogger."0.5.0".slog_term}".default = true;
+  }) [
+    (features_.log."${deps."slog_envlogger"."0.5.0"."log"}" deps)
+    (features_.regex."${deps."slog_envlogger"."0.5.0"."regex"}" deps)
+    (features_.slog."${deps."slog_envlogger"."0.5.0"."slog"}" deps)
+    (features_.slog_stdlog."${deps."slog_envlogger"."0.5.0"."slog_stdlog"}" deps)
+    (features_.slog_term."${deps."slog_envlogger"."0.5.0"."slog_term"}" deps)
+  ];
+
+
+# end
+# slog-extra-0.1.2
+
+  crates.slog_extra."0.1.2" = deps: { features?(features_.slog_extra."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "slog-extra";
+    version = "0.1.2";
+    description = "Standard slog-rs extensions";
+    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "0jrw0xcc81wwcl59xx9qglfcv5l3ad5kbpcyp6ygk94p9kxfrhyj";
+    libPath = "lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."slog"."${deps."slog_extra"."0.1.2"."slog"}" deps)
+      (crates."thread_local"."${deps."slog_extra"."0.1.2"."thread_local"}" deps)
+    ]);
+  };
+  features_.slog_extra."0.1.2" = deps: f: updateFeatures f (rec {
+    slog."${deps.slog_extra."0.1.2".slog}".default = true;
+    slog_extra."0.1.2".default = (f.slog_extra."0.1.2".default or true);
+    thread_local."${deps.slog_extra."0.1.2".thread_local}".default = true;
+  }) [
+    (features_.slog."${deps."slog_extra"."0.1.2"."slog"}" deps)
+    (features_.thread_local."${deps."slog_extra"."0.1.2"."thread_local"}" deps)
+  ];
+
+
+# end
+# slog-stdlog-1.1.0
+
+  crates.slog_stdlog."1.1.0" = deps: { features?(features_.slog_stdlog."1.1.0" deps {}) }: buildRustCrate {
+    crateName = "slog-stdlog";
+    version = "1.1.0";
+    description = "Standard Rust log crate adapter to slog-rs";
+    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "0ig4mjixr4y3dn3s53rlnrpplwkqb8b0z2zkaiiiwyv7nhjxdg46";
+    libPath = "lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam"."${deps."slog_stdlog"."1.1.0"."crossbeam"}" deps)
+      (crates."lazy_static"."${deps."slog_stdlog"."1.1.0"."lazy_static"}" deps)
+      (crates."log"."${deps."slog_stdlog"."1.1.0"."log"}" deps)
+      (crates."slog"."${deps."slog_stdlog"."1.1.0"."slog"}" deps)
+      (crates."slog_term"."${deps."slog_stdlog"."1.1.0"."slog_term"}" deps)
+    ]);
+  };
+  features_.slog_stdlog."1.1.0" = deps: f: updateFeatures f (rec {
+    crossbeam."${deps.slog_stdlog."1.1.0".crossbeam}".default = true;
+    lazy_static."${deps.slog_stdlog."1.1.0".lazy_static}".default = true;
+    log."${deps.slog_stdlog."1.1.0".log}".default = true;
+    slog."${deps.slog_stdlog."1.1.0".slog}".default = true;
+    slog_stdlog."1.1.0".default = (f.slog_stdlog."1.1.0".default or true);
+    slog_term."${deps.slog_stdlog."1.1.0".slog_term}".default = true;
+  }) [
+    (features_.crossbeam."${deps."slog_stdlog"."1.1.0"."crossbeam"}" deps)
+    (features_.lazy_static."${deps."slog_stdlog"."1.1.0"."lazy_static"}" deps)
+    (features_.log."${deps."slog_stdlog"."1.1.0"."log"}" deps)
+    (features_.slog."${deps."slog_stdlog"."1.1.0"."slog"}" deps)
+    (features_.slog_term."${deps."slog_stdlog"."1.1.0"."slog_term"}" deps)
+  ];
+
+
+# end
+# slog-stream-1.2.1
+
+  crates.slog_stream."1.2.1" = deps: { features?(features_.slog_stream."1.2.1" deps {}) }: buildRustCrate {
+    crateName = "slog-stream";
+    version = "1.2.1";
+    description = "`io::Write` streamer for slog-rs";
+    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "03dwzbydaamfzjpr16gm065i696lk86gqcpspv5qaqyv938fm2yj";
+    libPath = "lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."slog"."${deps."slog_stream"."1.2.1"."slog"}" deps)
+      (crates."slog_extra"."${deps."slog_stream"."1.2.1"."slog_extra"}" deps)
+      (crates."thread_local"."${deps."slog_stream"."1.2.1"."thread_local"}" deps)
+    ]);
+  };
+  features_.slog_stream."1.2.1" = deps: f: updateFeatures f (rec {
+    slog."${deps.slog_stream."1.2.1".slog}".default = true;
+    slog_extra."${deps.slog_stream."1.2.1".slog_extra}".default = true;
+    slog_stream."1.2.1".default = (f.slog_stream."1.2.1".default or true);
+    thread_local."${deps.slog_stream."1.2.1".thread_local}".default = true;
+  }) [
+    (features_.slog."${deps."slog_stream"."1.2.1"."slog"}" deps)
+    (features_.slog_extra."${deps."slog_stream"."1.2.1"."slog_extra"}" deps)
+    (features_.thread_local."${deps."slog_stream"."1.2.1"."thread_local"}" deps)
+  ];
+
+
+# end
+# slog-term-1.5.0
+
+  crates.slog_term."1.5.0" = deps: { features?(features_.slog_term."1.5.0" deps {}) }: buildRustCrate {
+    crateName = "slog-term";
+    version = "1.5.0";
+    description = "Unix terminal drain and formatter for slog-rs";
+    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "0zq2kyvm7jhqj6sc09w540wqfrrpa46yxf9sgzq7jqpkr66wsiar";
+    libPath = "lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."chrono"."${deps."slog_term"."1.5.0"."chrono"}" deps)
+      (crates."isatty"."${deps."slog_term"."1.5.0"."isatty"}" deps)
+      (crates."slog"."${deps."slog_term"."1.5.0"."slog"}" deps)
+      (crates."slog_stream"."${deps."slog_term"."1.5.0"."slog_stream"}" deps)
+      (crates."thread_local"."${deps."slog_term"."1.5.0"."thread_local"}" deps)
+    ]);
+  };
+  features_.slog_term."1.5.0" = deps: f: updateFeatures f (rec {
+    chrono."${deps.slog_term."1.5.0".chrono}".default = true;
+    isatty."${deps.slog_term."1.5.0".isatty}".default = true;
+    slog."${deps.slog_term."1.5.0".slog}".default = true;
+    slog_stream."${deps.slog_term."1.5.0".slog_stream}".default = true;
+    slog_term."1.5.0".default = (f.slog_term."1.5.0".default or true);
+    thread_local."${deps.slog_term."1.5.0".thread_local}".default = true;
+  }) [
+    (features_.chrono."${deps."slog_term"."1.5.0"."chrono"}" deps)
+    (features_.isatty."${deps."slog_term"."1.5.0"."isatty"}" deps)
+    (features_.slog."${deps."slog_term"."1.5.0"."slog"}" deps)
+    (features_.slog_stream."${deps."slog_term"."1.5.0"."slog_stream"}" deps)
+    (features_.thread_local."${deps."slog_term"."1.5.0"."thread_local"}" deps)
+  ];
+
+
+# end
+# smallvec-0.6.7
+
+  crates.smallvec."0.6.7" = deps: { features?(features_.smallvec."0.6.7" deps {}) }: buildRustCrate {
+    crateName = "smallvec";
+    version = "0.6.7";
+    description = "'Small vector' optimization: store up to a small number of items on the stack";
+    authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
+    sha256 = "08ql2yi7ry08cqjl9n6vpb6x6zgqzwllzzk9pxj1143xwg503qcx";
+    libPath = "lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."unreachable"."${deps."smallvec"."0.6.7"."unreachable"}" deps)
+    ]);
+    features = mkFeatures (features."smallvec"."0.6.7" or {});
+  };
+  features_.smallvec."0.6.7" = deps: f: updateFeatures f (rec {
+    smallvec = fold recursiveUpdate {} [
+      { "0.6.7"."std" =
+        (f.smallvec."0.6.7"."std" or false) ||
+        (f.smallvec."0.6.7".default or false) ||
+        (smallvec."0.6.7"."default" or false); }
+      { "0.6.7".default = (f.smallvec."0.6.7".default or true); }
+    ];
+    unreachable."${deps.smallvec."0.6.7".unreachable}".default = true;
+  }) [
+    (features_.unreachable."${deps."smallvec"."0.6.7"."unreachable"}" deps)
+  ];
+
+
+# end
+# stable_deref_trait-1.1.1
+
+  crates.stable_deref_trait."1.1.1" = deps: { features?(features_.stable_deref_trait."1.1.1" deps {}) }: buildRustCrate {
+    crateName = "stable_deref_trait";
+    version = "1.1.1";
+    description = "An unsafe marker trait for types like Box and Rc that dereference to a stable address even when moved, and hence can be used with libraries such as owning_ref and rental.\n";
+    authors = [ "Robert Grosse <n210241048576@gmail.com>" ];
+    sha256 = "1xy9slzslrzr31nlnw52sl1d820b09y61b7f13lqgsn8n7y0l4g8";
+    features = mkFeatures (features."stable_deref_trait"."1.1.1" or {});
+  };
+  features_.stable_deref_trait."1.1.1" = deps: f: updateFeatures f (rec {
+    stable_deref_trait = fold recursiveUpdate {} [
+      { "1.1.1"."std" =
+        (f.stable_deref_trait."1.1.1"."std" or false) ||
+        (f.stable_deref_trait."1.1.1".default or false) ||
+        (stable_deref_trait."1.1.1"."default" or false); }
+      { "1.1.1".default = (f.stable_deref_trait."1.1.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# string-0.1.2
+
+  crates.string."0.1.2" = deps: { features?(features_.string."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "string";
+    version = "0.1.2";
+    description = "A UTF-8 encoded string with configurable byte storage.";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1120qvf02aydqj0k3kpr8d7zybq0y5arnmgmfsdw75r8qwz75wc6";
+  };
+  features_.string."0.1.2" = deps: f: updateFeatures f (rec {
+    string."0.1.2".default = (f.string."0.1.2".default or true);
+  }) [];
+
+
+# end
+# strsim-0.6.0
+
+  crates.strsim."0.6.0" = deps: { features?(features_.strsim."0.6.0" deps {}) }: buildRustCrate {
+    crateName = "strsim";
+    version = "0.6.0";
+    description = "Implementations of string similarity metrics.\nIncludes Hamming, Levenshtein, Damerau-Levenshtein, Jaro, and Jaro-Winkler.\n";
+    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+    sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
+  };
+  features_.strsim."0.6.0" = deps: f: updateFeatures f (rec {
+    strsim."0.6.0".default = (f.strsim."0.6.0".default or true);
+  }) [];
+
+
+# end
+# syn-0.11.11
+
+  crates.syn."0.11.11" = deps: { features?(features_.syn."0.11.11" deps {}) }: buildRustCrate {
+    crateName = "syn";
+    version = "0.11.11";
+    description = "Nom parser for Rust source code";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
+    dependencies = mapFeatures features ([
+    ]
+      ++ (if features.syn."0.11.11".quote or false then [ (crates.quote."${deps."syn"."0.11.11".quote}" deps) ] else [])
+      ++ (if features.syn."0.11.11".synom or false then [ (crates.synom."${deps."syn"."0.11.11".synom}" deps) ] else [])
+      ++ (if features.syn."0.11.11".unicode-xid or false then [ (crates.unicode_xid."${deps."syn"."0.11.11".unicode_xid}" deps) ] else []));
+    features = mkFeatures (features."syn"."0.11.11" or {});
+  };
+  features_.syn."0.11.11" = deps: f: updateFeatures f (rec {
+    quote."${deps.syn."0.11.11".quote}".default = true;
+    syn = fold recursiveUpdate {} [
+      { "0.11.11"."parsing" =
+        (f.syn."0.11.11"."parsing" or false) ||
+        (f.syn."0.11.11".default or false) ||
+        (syn."0.11.11"."default" or false); }
+      { "0.11.11"."printing" =
+        (f.syn."0.11.11"."printing" or false) ||
+        (f.syn."0.11.11".default or false) ||
+        (syn."0.11.11"."default" or false); }
+      { "0.11.11"."quote" =
+        (f.syn."0.11.11"."quote" or false) ||
+        (f.syn."0.11.11".printing or false) ||
+        (syn."0.11.11"."printing" or false); }
+      { "0.11.11"."synom" =
+        (f.syn."0.11.11"."synom" or false) ||
+        (f.syn."0.11.11".parsing or false) ||
+        (syn."0.11.11"."parsing" or false); }
+      { "0.11.11"."unicode-xid" =
+        (f.syn."0.11.11"."unicode-xid" or false) ||
+        (f.syn."0.11.11".parsing or false) ||
+        (syn."0.11.11"."parsing" or false); }
+      { "0.11.11".default = (f.syn."0.11.11".default or true); }
+    ];
+    synom."${deps.syn."0.11.11".synom}".default = true;
+    unicode_xid."${deps.syn."0.11.11".unicode_xid}".default = true;
+  }) [
+    (features_.quote."${deps."syn"."0.11.11"."quote"}" deps)
+    (features_.synom."${deps."syn"."0.11.11"."synom"}" deps)
+    (features_.unicode_xid."${deps."syn"."0.11.11"."unicode_xid"}" deps)
+  ];
+
+
+# end
+# synom-0.11.3
+
+  crates.synom."0.11.3" = deps: { features?(features_.synom."0.11.3" deps {}) }: buildRustCrate {
+    crateName = "synom";
+    version = "0.11.3";
+    description = "Stripped-down Nom parser used by Syn";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
+    dependencies = mapFeatures features ([
+      (crates."unicode_xid"."${deps."synom"."0.11.3"."unicode_xid"}" deps)
+    ]);
+  };
+  features_.synom."0.11.3" = deps: f: updateFeatures f (rec {
+    synom."0.11.3".default = (f.synom."0.11.3".default or true);
+    unicode_xid."${deps.synom."0.11.3".unicode_xid}".default = true;
+  }) [
+    (features_.unicode_xid."${deps."synom"."0.11.3"."unicode_xid"}" deps)
+  ];
+
+
+# end
+# tar-0.4.13
+
+  crates.tar."0.4.13" = deps: { features?(features_.tar."0.4.13" deps {}) }: buildRustCrate {
+    crateName = "tar";
+    version = "0.4.13";
+    description = "A Rust implementation of a TAR file reader and writer. This library does not\ncurrently handle compression, but it is abstract over all I/O readers and\nwriters. Additionally, great lengths are taken to ensure that the entire\ncontents are never required to be entirely resident in memory all at once.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1m425d07h0i6h2vbpxnh067zmc16l9yr9bii17zxw4z2inkfyfc4";
+    dependencies = mapFeatures features ([
+      (crates."filetime"."${deps."tar"."0.4.13"."filetime"}" deps)
+      (crates."libc"."${deps."tar"."0.4.13"."libc"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.tar."0.4.13".xattr or false then [ (crates.xattr."${deps."tar"."0.4.13".xattr}" deps) ] else [])) else []);
+    features = mkFeatures (features."tar"."0.4.13" or {});
+  };
+  features_.tar."0.4.13" = deps: f: updateFeatures f (rec {
+    filetime."${deps.tar."0.4.13".filetime}".default = true;
+    libc."${deps.tar."0.4.13".libc}".default = true;
+    tar = fold recursiveUpdate {} [
+      { "0.4.13"."xattr" =
+        (f.tar."0.4.13"."xattr" or false) ||
+        (f.tar."0.4.13".default or false) ||
+        (tar."0.4.13"."default" or false); }
+      { "0.4.13".default = (f.tar."0.4.13".default or true); }
+    ];
+    xattr."${deps.tar."0.4.13".xattr}".default = true;
+  }) [
+    (features_.filetime."${deps."tar"."0.4.13"."filetime"}" deps)
+    (features_.libc."${deps."tar"."0.4.13"."libc"}" deps)
+    (features_.xattr."${deps."tar"."0.4.13"."xattr"}" deps)
+  ];
+
+
+# end
+# tempfile-3.0.5
+
+  crates.tempfile."3.0.5" = deps: { features?(features_.tempfile."3.0.5" deps {}) }: buildRustCrate {
+    crateName = "tempfile";
+    version = "3.0.5";
+    description = "A library for managing temporary files and directories.\n";
+    authors = [ "Steven Allen <steven@stebalien.com>" "The Rust Project Developers" "Ashley Mannix <ashleymannix@live.com.au>" "Jason White <jasonaw0@gmail.com>" ];
+    sha256 = "11xc89br78ypk4g27v51lm2baz57gp6v555i3sxhrj9qlas2iqfl";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."tempfile"."3.0.5"."cfg_if"}" deps)
+      (crates."rand"."${deps."tempfile"."3.0.5"."rand"}" deps)
+      (crates."remove_dir_all"."${deps."tempfile"."3.0.5"."remove_dir_all"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."tempfile"."3.0.5"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."tempfile"."3.0.5"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."tempfile"."3.0.5"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.tempfile."3.0.5" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.tempfile."3.0.5".cfg_if}".default = true;
+    libc."${deps.tempfile."3.0.5".libc}".default = true;
+    rand."${deps.tempfile."3.0.5".rand}".default = true;
+    redox_syscall."${deps.tempfile."3.0.5".redox_syscall}".default = true;
+    remove_dir_all."${deps.tempfile."3.0.5".remove_dir_all}".default = true;
+    tempfile."3.0.5".default = (f.tempfile."3.0.5".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.tempfile."3.0.5".winapi}"."fileapi" = true; }
+      { "${deps.tempfile."3.0.5".winapi}"."handleapi" = true; }
+      { "${deps.tempfile."3.0.5".winapi}"."winbase" = true; }
+      { "${deps.tempfile."3.0.5".winapi}".default = true; }
+    ];
+  }) [
+    (features_.cfg_if."${deps."tempfile"."3.0.5"."cfg_if"}" deps)
+    (features_.rand."${deps."tempfile"."3.0.5"."rand"}" deps)
+    (features_.remove_dir_all."${deps."tempfile"."3.0.5"."remove_dir_all"}" deps)
+    (features_.redox_syscall."${deps."tempfile"."3.0.5"."redox_syscall"}" deps)
+    (features_.libc."${deps."tempfile"."3.0.5"."libc"}" deps)
+    (features_.winapi."${deps."tempfile"."3.0.5"."winapi"}" deps)
+  ];
+
+
+# end
+# termion-1.5.1
+
+  crates.termion."1.5.1" = deps: { features?(features_.termion."1.5.1" deps {}) }: buildRustCrate {
+    crateName = "termion";
+    version = "1.5.1";
+    description = "A bindless library for manipulating terminals.";
+    authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
+    sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
+    dependencies = (if !(kernel == "redox") then mapFeatures features ([
+      (crates."libc"."${deps."termion"."1.5.1"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."termion"."1.5.1"."redox_syscall"}" deps)
+      (crates."redox_termios"."${deps."termion"."1.5.1"."redox_termios"}" deps)
+    ]) else []);
+  };
+  features_.termion."1.5.1" = deps: f: updateFeatures f (rec {
+    libc."${deps.termion."1.5.1".libc}".default = true;
+    redox_syscall."${deps.termion."1.5.1".redox_syscall}".default = true;
+    redox_termios."${deps.termion."1.5.1".redox_termios}".default = true;
+    termion."1.5.1".default = (f.termion."1.5.1".default or true);
+  }) [
+    (features_.libc."${deps."termion"."1.5.1"."libc"}" deps)
+    (features_.redox_syscall."${deps."termion"."1.5.1"."redox_syscall"}" deps)
+    (features_.redox_termios."${deps."termion"."1.5.1"."redox_termios"}" deps)
+  ];
+
+
+# end
+# textwrap-0.9.0
+
+  crates.textwrap."0.9.0" = deps: { features?(features_.textwrap."0.9.0" deps {}) }: buildRustCrate {
+    crateName = "textwrap";
+    version = "0.9.0";
+    description = "Textwrap is a small library for word wrapping, indenting, and\ndedenting strings.\n\nYou can use it to format strings (such as help and error messages) for\ndisplay in commandline applications. It is designed to be efficient\nand handle Unicode characters correctly.\n";
+    authors = [ "Martin Geisler <martin@geisler.net>" ];
+    sha256 = "18jg79ndjlwndz01mlbh82kkr2arqm658yn5kwp65l5n1hz8w4yb";
+    dependencies = mapFeatures features ([
+      (crates."unicode_width"."${deps."textwrap"."0.9.0"."unicode_width"}" deps)
+    ]);
+  };
+  features_.textwrap."0.9.0" = deps: f: updateFeatures f (rec {
+    textwrap."0.9.0".default = (f.textwrap."0.9.0".default or true);
+    unicode_width."${deps.textwrap."0.9.0".unicode_width}".default = true;
+  }) [
+    (features_.unicode_width."${deps."textwrap"."0.9.0"."unicode_width"}" deps)
+  ];
+
+
+# end
+# thread-id-2.0.0
+
+  crates.thread_id."2.0.0" = deps: { features?(features_.thread_id."2.0.0" deps {}) }: buildRustCrate {
+    crateName = "thread-id";
+    version = "2.0.0";
+    description = "Get a unique thread ID";
+    authors = [ "Ruud van Asseldonk <dev@veniogames.com>" ];
+    sha256 = "06i3c8ckn97i5rp16civ2vpqbknlkx66dkrl070iw60nawi0kjc3";
+    dependencies = mapFeatures features ([
+      (crates."kernel32_sys"."${deps."thread_id"."2.0.0"."kernel32_sys"}" deps)
+      (crates."libc"."${deps."thread_id"."2.0.0"."libc"}" deps)
+    ]);
+  };
+  features_.thread_id."2.0.0" = deps: f: updateFeatures f (rec {
+    kernel32_sys."${deps.thread_id."2.0.0".kernel32_sys}".default = true;
+    libc."${deps.thread_id."2.0.0".libc}".default = true;
+    thread_id."2.0.0".default = (f.thread_id."2.0.0".default or true);
+  }) [
+    (features_.kernel32_sys."${deps."thread_id"."2.0.0"."kernel32_sys"}" deps)
+    (features_.libc."${deps."thread_id"."2.0.0"."libc"}" deps)
+  ];
+
+
+# end
+# thread_local-0.2.7
+
+  crates.thread_local."0.2.7" = deps: { features?(features_.thread_local."0.2.7" deps {}) }: buildRustCrate {
+    crateName = "thread_local";
+    version = "0.2.7";
+    description = "Per-object thread-local storage";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "19p0zrs24rdwjvpi10jig5ms3sxj00pv8shkr9cpddri8cdghqp7";
+    dependencies = mapFeatures features ([
+      (crates."thread_id"."${deps."thread_local"."0.2.7"."thread_id"}" deps)
+    ]);
+  };
+  features_.thread_local."0.2.7" = deps: f: updateFeatures f (rec {
+    thread_id."${deps.thread_local."0.2.7".thread_id}".default = true;
+    thread_local."0.2.7".default = (f.thread_local."0.2.7".default or true);
+  }) [
+    (features_.thread_id."${deps."thread_local"."0.2.7"."thread_id"}" deps)
+  ];
+
+
+# end
+# thread_local-0.3.4
+
+  crates.thread_local."0.3.4" = deps: { features?(features_.thread_local."0.3.4" deps {}) }: buildRustCrate {
+    crateName = "thread_local";
+    version = "0.3.4";
+    description = "Per-object thread-local storage";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "1y6cwyhhx2nkz4b3dziwhqdvgq830z8wjp32b40pjd8r0hxqv2jr";
+    dependencies = mapFeatures features ([
+      (crates."lazy_static"."${deps."thread_local"."0.3.4"."lazy_static"}" deps)
+      (crates."unreachable"."${deps."thread_local"."0.3.4"."unreachable"}" deps)
+    ]);
+  };
+  features_.thread_local."0.3.4" = deps: f: updateFeatures f (rec {
+    lazy_static."${deps.thread_local."0.3.4".lazy_static}".default = true;
+    thread_local."0.3.4".default = (f.thread_local."0.3.4".default or true);
+    unreachable."${deps.thread_local."0.3.4".unreachable}".default = true;
+  }) [
+    (features_.lazy_static."${deps."thread_local"."0.3.4"."lazy_static"}" deps)
+    (features_.unreachable."${deps."thread_local"."0.3.4"."unreachable"}" deps)
+  ];
+
+
+# end
+# time-0.1.38
+
+  crates.time."0.1.38" = deps: { features?(features_.time."0.1.38" deps {}) }: buildRustCrate {
+    crateName = "time";
+    version = "0.1.38";
+    description = "Utilities for working with time-related functions in Rust.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1ws283vvz7c6jfiwn53rmc6kybapr4pjaahfxxrz232b0qzw7gcp";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."time"."0.1.38"."libc"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."time"."0.1.38"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."kernel32_sys"."${deps."time"."0.1.38"."kernel32_sys"}" deps)
+      (crates."winapi"."${deps."time"."0.1.38"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.time."0.1.38" = deps: f: updateFeatures f (rec {
+    kernel32_sys."${deps.time."0.1.38".kernel32_sys}".default = true;
+    libc."${deps.time."0.1.38".libc}".default = true;
+    redox_syscall."${deps.time."0.1.38".redox_syscall}".default = true;
+    time."0.1.38".default = (f.time."0.1.38".default or true);
+    winapi."${deps.time."0.1.38".winapi}".default = true;
+  }) [
+    (features_.libc."${deps."time"."0.1.38"."libc"}" deps)
+    (features_.redox_syscall."${deps."time"."0.1.38"."redox_syscall"}" deps)
+    (features_.kernel32_sys."${deps."time"."0.1.38"."kernel32_sys"}" deps)
+    (features_.winapi."${deps."time"."0.1.38"."winapi"}" deps)
+  ];
+
+
+# end
+# tokio-0.1.7
+
+  crates.tokio."0.1.7" = deps: { features?(features_.tokio."0.1.7" deps {}) }: buildRustCrate {
+    crateName = "tokio";
+    version = "0.1.7";
+    description = "An event-driven, non-blocking I/O platform for writing asynchronous I/O\nbacked applications.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0d5fj90wk05m5vbd924irg1pl1d4fn86jjw5napzanh6vbwsnr66";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."tokio"."0.1.7"."futures"}" deps)
+      (crates."mio"."${deps."tokio"."0.1.7"."mio"}" deps)
+      (crates."tokio_executor"."${deps."tokio"."0.1.7"."tokio_executor"}" deps)
+      (crates."tokio_fs"."${deps."tokio"."0.1.7"."tokio_fs"}" deps)
+      (crates."tokio_io"."${deps."tokio"."0.1.7"."tokio_io"}" deps)
+      (crates."tokio_reactor"."${deps."tokio"."0.1.7"."tokio_reactor"}" deps)
+      (crates."tokio_tcp"."${deps."tokio"."0.1.7"."tokio_tcp"}" deps)
+      (crates."tokio_threadpool"."${deps."tokio"."0.1.7"."tokio_threadpool"}" deps)
+      (crates."tokio_timer"."${deps."tokio"."0.1.7"."tokio_timer"}" deps)
+      (crates."tokio_udp"."${deps."tokio"."0.1.7"."tokio_udp"}" deps)
+    ]);
+  };
+  features_.tokio."0.1.7" = deps: f: updateFeatures f (rec {
+    futures."${deps.tokio."0.1.7".futures}".default = true;
+    mio."${deps.tokio."0.1.7".mio}".default = true;
+    tokio."0.1.7".default = (f.tokio."0.1.7".default or true);
+    tokio_executor."${deps.tokio."0.1.7".tokio_executor}".default = true;
+    tokio_fs."${deps.tokio."0.1.7".tokio_fs}".default = true;
+    tokio_io."${deps.tokio."0.1.7".tokio_io}".default = true;
+    tokio_reactor."${deps.tokio."0.1.7".tokio_reactor}".default = true;
+    tokio_tcp."${deps.tokio."0.1.7".tokio_tcp}".default = true;
+    tokio_threadpool."${deps.tokio."0.1.7".tokio_threadpool}".default = true;
+    tokio_timer."${deps.tokio."0.1.7".tokio_timer}".default = true;
+    tokio_udp."${deps.tokio."0.1.7".tokio_udp}".default = true;
+  }) [
+    (features_.futures."${deps."tokio"."0.1.7"."futures"}" deps)
+    (features_.mio."${deps."tokio"."0.1.7"."mio"}" deps)
+    (features_.tokio_executor."${deps."tokio"."0.1.7"."tokio_executor"}" deps)
+    (features_.tokio_fs."${deps."tokio"."0.1.7"."tokio_fs"}" deps)
+    (features_.tokio_io."${deps."tokio"."0.1.7"."tokio_io"}" deps)
+    (features_.tokio_reactor."${deps."tokio"."0.1.7"."tokio_reactor"}" deps)
+    (features_.tokio_tcp."${deps."tokio"."0.1.7"."tokio_tcp"}" deps)
+    (features_.tokio_threadpool."${deps."tokio"."0.1.7"."tokio_threadpool"}" deps)
+    (features_.tokio_timer."${deps."tokio"."0.1.7"."tokio_timer"}" deps)
+    (features_.tokio_udp."${deps."tokio"."0.1.7"."tokio_udp"}" deps)
+  ];
+
+
+# end
+# tokio-codec-0.1.1
+
+  crates.tokio_codec."0.1.1" = deps: { features?(features_.tokio_codec."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "tokio-codec";
+    version = "0.1.1";
+    description = "Utilities for encoding and decoding frames.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" "Bryan Burgers <bryan@burgers.io>" ];
+    sha256 = "0jc9lik540zyj4chbygg1rjh37m3zax8pd4bwcrwjmi1v56qwi4h";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."tokio_codec"."0.1.1"."bytes"}" deps)
+      (crates."futures"."${deps."tokio_codec"."0.1.1"."futures"}" deps)
+      (crates."tokio_io"."${deps."tokio_codec"."0.1.1"."tokio_io"}" deps)
+    ]);
+  };
+  features_.tokio_codec."0.1.1" = deps: f: updateFeatures f (rec {
+    bytes."${deps.tokio_codec."0.1.1".bytes}".default = true;
+    futures."${deps.tokio_codec."0.1.1".futures}".default = true;
+    tokio_codec."0.1.1".default = (f.tokio_codec."0.1.1".default or true);
+    tokio_io."${deps.tokio_codec."0.1.1".tokio_io}".default = true;
+  }) [
+    (features_.bytes."${deps."tokio_codec"."0.1.1"."bytes"}" deps)
+    (features_.futures."${deps."tokio_codec"."0.1.1"."futures"}" deps)
+    (features_.tokio_io."${deps."tokio_codec"."0.1.1"."tokio_io"}" deps)
+  ];
+
+
+# end
+# tokio-executor-0.1.5
+
+  crates.tokio_executor."0.1.5" = deps: { features?(features_.tokio_executor."0.1.5" deps {}) }: buildRustCrate {
+    crateName = "tokio-executor";
+    version = "0.1.5";
+    description = "Future execution primitives\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "15j2ybs8w38gncgbxkvp2qsp6wl62ibi3rns0vlwggx7svmx4bf3";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."tokio_executor"."0.1.5"."futures"}" deps)
+    ]);
+  };
+  features_.tokio_executor."0.1.5" = deps: f: updateFeatures f (rec {
+    futures."${deps.tokio_executor."0.1.5".futures}".default = true;
+    tokio_executor."0.1.5".default = (f.tokio_executor."0.1.5".default or true);
+  }) [
+    (features_.futures."${deps."tokio_executor"."0.1.5"."futures"}" deps)
+  ];
+
+
+# end
+# tokio-fs-0.1.4
+
+  crates.tokio_fs."0.1.4" = deps: { features?(features_.tokio_fs."0.1.4" deps {}) }: buildRustCrate {
+    crateName = "tokio-fs";
+    version = "0.1.4";
+    description = "Filesystem API for Tokio.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "05bpc1p1apb4jfw18i84agwwar57zn07d7smqvslpzagd9b3sd31";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."tokio_fs"."0.1.4"."futures"}" deps)
+      (crates."tokio_io"."${deps."tokio_fs"."0.1.4"."tokio_io"}" deps)
+      (crates."tokio_threadpool"."${deps."tokio_fs"."0.1.4"."tokio_threadpool"}" deps)
+    ]);
+  };
+  features_.tokio_fs."0.1.4" = deps: f: updateFeatures f (rec {
+    futures."${deps.tokio_fs."0.1.4".futures}".default = true;
+    tokio_fs."0.1.4".default = (f.tokio_fs."0.1.4".default or true);
+    tokio_io."${deps.tokio_fs."0.1.4".tokio_io}".default = true;
+    tokio_threadpool."${deps.tokio_fs."0.1.4".tokio_threadpool}".default = true;
+  }) [
+    (features_.futures."${deps."tokio_fs"."0.1.4"."futures"}" deps)
+    (features_.tokio_io."${deps."tokio_fs"."0.1.4"."tokio_io"}" deps)
+    (features_.tokio_threadpool."${deps."tokio_fs"."0.1.4"."tokio_threadpool"}" deps)
+  ];
+
+
+# end
+# tokio-io-0.1.10
+
+  crates.tokio_io."0.1.10" = deps: { features?(features_.tokio_io."0.1.10" deps {}) }: buildRustCrate {
+    crateName = "tokio-io";
+    version = "0.1.10";
+    description = "Core I/O primitives for asynchronous I/O in Rust.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "14d65rqa5rb2msgkz2xn40cavs4m7f4qyi7vnfv98v7f10l9wlay";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."tokio_io"."0.1.10"."bytes"}" deps)
+      (crates."futures"."${deps."tokio_io"."0.1.10"."futures"}" deps)
+      (crates."log"."${deps."tokio_io"."0.1.10"."log"}" deps)
+    ]);
+  };
+  features_.tokio_io."0.1.10" = deps: f: updateFeatures f (rec {
+    bytes."${deps.tokio_io."0.1.10".bytes}".default = true;
+    futures."${deps.tokio_io."0.1.10".futures}".default = true;
+    log."${deps.tokio_io."0.1.10".log}".default = true;
+    tokio_io."0.1.10".default = (f.tokio_io."0.1.10".default or true);
+  }) [
+    (features_.bytes."${deps."tokio_io"."0.1.10"."bytes"}" deps)
+    (features_.futures."${deps."tokio_io"."0.1.10"."futures"}" deps)
+    (features_.log."${deps."tokio_io"."0.1.10"."log"}" deps)
+  ];
+
+
+# end
+# tokio-reactor-0.1.7
+
+  crates.tokio_reactor."0.1.7" = deps: { features?(features_.tokio_reactor."0.1.7" deps {}) }: buildRustCrate {
+    crateName = "tokio-reactor";
+    version = "0.1.7";
+    description = "Event loop that drives Tokio I/O resources.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1ssrc6gic43lachv7jk97jxzw609sgcsrkwi7chf96sn7nqrhj0z";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam_utils"."${deps."tokio_reactor"."0.1.7"."crossbeam_utils"}" deps)
+      (crates."futures"."${deps."tokio_reactor"."0.1.7"."futures"}" deps)
+      (crates."lazy_static"."${deps."tokio_reactor"."0.1.7"."lazy_static"}" deps)
+      (crates."log"."${deps."tokio_reactor"."0.1.7"."log"}" deps)
+      (crates."mio"."${deps."tokio_reactor"."0.1.7"."mio"}" deps)
+      (crates."num_cpus"."${deps."tokio_reactor"."0.1.7"."num_cpus"}" deps)
+      (crates."parking_lot"."${deps."tokio_reactor"."0.1.7"."parking_lot"}" deps)
+      (crates."slab"."${deps."tokio_reactor"."0.1.7"."slab"}" deps)
+      (crates."tokio_executor"."${deps."tokio_reactor"."0.1.7"."tokio_executor"}" deps)
+      (crates."tokio_io"."${deps."tokio_reactor"."0.1.7"."tokio_io"}" deps)
+    ]);
+  };
+  features_.tokio_reactor."0.1.7" = deps: f: updateFeatures f (rec {
+    crossbeam_utils."${deps.tokio_reactor."0.1.7".crossbeam_utils}".default = true;
+    futures."${deps.tokio_reactor."0.1.7".futures}".default = true;
+    lazy_static."${deps.tokio_reactor."0.1.7".lazy_static}".default = true;
+    log."${deps.tokio_reactor."0.1.7".log}".default = true;
+    mio."${deps.tokio_reactor."0.1.7".mio}".default = true;
+    num_cpus."${deps.tokio_reactor."0.1.7".num_cpus}".default = true;
+    parking_lot."${deps.tokio_reactor."0.1.7".parking_lot}".default = true;
+    slab."${deps.tokio_reactor."0.1.7".slab}".default = true;
+    tokio_executor."${deps.tokio_reactor."0.1.7".tokio_executor}".default = true;
+    tokio_io."${deps.tokio_reactor."0.1.7".tokio_io}".default = true;
+    tokio_reactor."0.1.7".default = (f.tokio_reactor."0.1.7".default or true);
+  }) [
+    (features_.crossbeam_utils."${deps."tokio_reactor"."0.1.7"."crossbeam_utils"}" deps)
+    (features_.futures."${deps."tokio_reactor"."0.1.7"."futures"}" deps)
+    (features_.lazy_static."${deps."tokio_reactor"."0.1.7"."lazy_static"}" deps)
+    (features_.log."${deps."tokio_reactor"."0.1.7"."log"}" deps)
+    (features_.mio."${deps."tokio_reactor"."0.1.7"."mio"}" deps)
+    (features_.num_cpus."${deps."tokio_reactor"."0.1.7"."num_cpus"}" deps)
+    (features_.parking_lot."${deps."tokio_reactor"."0.1.7"."parking_lot"}" deps)
+    (features_.slab."${deps."tokio_reactor"."0.1.7"."slab"}" deps)
+    (features_.tokio_executor."${deps."tokio_reactor"."0.1.7"."tokio_executor"}" deps)
+    (features_.tokio_io."${deps."tokio_reactor"."0.1.7"."tokio_io"}" deps)
+  ];
+
+
+# end
+# tokio-tcp-0.1.2
+
+  crates.tokio_tcp."0.1.2" = deps: { features?(features_.tokio_tcp."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "tokio-tcp";
+    version = "0.1.2";
+    description = "TCP bindings for tokio.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0yvfwybqnyca24aj9as8rgydamjq0wrd9xbxxkjcasvsdmsv6z1d";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."tokio_tcp"."0.1.2"."bytes"}" deps)
+      (crates."futures"."${deps."tokio_tcp"."0.1.2"."futures"}" deps)
+      (crates."iovec"."${deps."tokio_tcp"."0.1.2"."iovec"}" deps)
+      (crates."mio"."${deps."tokio_tcp"."0.1.2"."mio"}" deps)
+      (crates."tokio_io"."${deps."tokio_tcp"."0.1.2"."tokio_io"}" deps)
+      (crates."tokio_reactor"."${deps."tokio_tcp"."0.1.2"."tokio_reactor"}" deps)
+    ]);
+  };
+  features_.tokio_tcp."0.1.2" = deps: f: updateFeatures f (rec {
+    bytes."${deps.tokio_tcp."0.1.2".bytes}".default = true;
+    futures."${deps.tokio_tcp."0.1.2".futures}".default = true;
+    iovec."${deps.tokio_tcp."0.1.2".iovec}".default = true;
+    mio."${deps.tokio_tcp."0.1.2".mio}".default = true;
+    tokio_io."${deps.tokio_tcp."0.1.2".tokio_io}".default = true;
+    tokio_reactor."${deps.tokio_tcp."0.1.2".tokio_reactor}".default = true;
+    tokio_tcp."0.1.2".default = (f.tokio_tcp."0.1.2".default or true);
+  }) [
+    (features_.bytes."${deps."tokio_tcp"."0.1.2"."bytes"}" deps)
+    (features_.futures."${deps."tokio_tcp"."0.1.2"."futures"}" deps)
+    (features_.iovec."${deps."tokio_tcp"."0.1.2"."iovec"}" deps)
+    (features_.mio."${deps."tokio_tcp"."0.1.2"."mio"}" deps)
+    (features_.tokio_io."${deps."tokio_tcp"."0.1.2"."tokio_io"}" deps)
+    (features_.tokio_reactor."${deps."tokio_tcp"."0.1.2"."tokio_reactor"}" deps)
+  ];
+
+
+# end
+# tokio-threadpool-0.1.9
+
+  crates.tokio_threadpool."0.1.9" = deps: { features?(features_.tokio_threadpool."0.1.9" deps {}) }: buildRustCrate {
+    crateName = "tokio-threadpool";
+    version = "0.1.9";
+    description = "A task scheduler backed by a work-stealing thread pool.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0ipr0j79mhjjsvc0ma95sj07m0aiyq6rkwgvlalqwhinivl5d39g";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam_deque"."${deps."tokio_threadpool"."0.1.9"."crossbeam_deque"}" deps)
+      (crates."crossbeam_utils"."${deps."tokio_threadpool"."0.1.9"."crossbeam_utils"}" deps)
+      (crates."futures"."${deps."tokio_threadpool"."0.1.9"."futures"}" deps)
+      (crates."log"."${deps."tokio_threadpool"."0.1.9"."log"}" deps)
+      (crates."num_cpus"."${deps."tokio_threadpool"."0.1.9"."num_cpus"}" deps)
+      (crates."rand"."${deps."tokio_threadpool"."0.1.9"."rand"}" deps)
+      (crates."tokio_executor"."${deps."tokio_threadpool"."0.1.9"."tokio_executor"}" deps)
+    ]);
+  };
+  features_.tokio_threadpool."0.1.9" = deps: f: updateFeatures f (rec {
+    crossbeam_deque."${deps.tokio_threadpool."0.1.9".crossbeam_deque}".default = true;
+    crossbeam_utils."${deps.tokio_threadpool."0.1.9".crossbeam_utils}".default = true;
+    futures."${deps.tokio_threadpool."0.1.9".futures}".default = true;
+    log."${deps.tokio_threadpool."0.1.9".log}".default = true;
+    num_cpus."${deps.tokio_threadpool."0.1.9".num_cpus}".default = true;
+    rand."${deps.tokio_threadpool."0.1.9".rand}".default = true;
+    tokio_executor."${deps.tokio_threadpool."0.1.9".tokio_executor}".default = true;
+    tokio_threadpool."0.1.9".default = (f.tokio_threadpool."0.1.9".default or true);
+  }) [
+    (features_.crossbeam_deque."${deps."tokio_threadpool"."0.1.9"."crossbeam_deque"}" deps)
+    (features_.crossbeam_utils."${deps."tokio_threadpool"."0.1.9"."crossbeam_utils"}" deps)
+    (features_.futures."${deps."tokio_threadpool"."0.1.9"."futures"}" deps)
+    (features_.log."${deps."tokio_threadpool"."0.1.9"."log"}" deps)
+    (features_.num_cpus."${deps."tokio_threadpool"."0.1.9"."num_cpus"}" deps)
+    (features_.rand."${deps."tokio_threadpool"."0.1.9"."rand"}" deps)
+    (features_.tokio_executor."${deps."tokio_threadpool"."0.1.9"."tokio_executor"}" deps)
+  ];
+
+
+# end
+# tokio-timer-0.2.5
+
+  crates.tokio_timer."0.2.5" = deps: { features?(features_.tokio_timer."0.2.5" deps {}) }: buildRustCrate {
+    crateName = "tokio-timer";
+    version = "0.2.5";
+    description = "Timer facilities for Tokio\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0jyhizvnpldkbqvqygrg0zd5zvfj9p0ywvjzf47iy632vq3qnwzm";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."tokio_timer"."0.2.5"."futures"}" deps)
+      (crates."tokio_executor"."${deps."tokio_timer"."0.2.5"."tokio_executor"}" deps)
+    ]);
+  };
+  features_.tokio_timer."0.2.5" = deps: f: updateFeatures f (rec {
+    futures."${deps.tokio_timer."0.2.5".futures}".default = true;
+    tokio_executor."${deps.tokio_timer."0.2.5".tokio_executor}".default = true;
+    tokio_timer."0.2.5".default = (f.tokio_timer."0.2.5".default or true);
+  }) [
+    (features_.futures."${deps."tokio_timer"."0.2.5"."futures"}" deps)
+    (features_.tokio_executor."${deps."tokio_timer"."0.2.5"."tokio_executor"}" deps)
+  ];
+
+
+# end
+# tokio-udp-0.1.3
+
+  crates.tokio_udp."0.1.3" = deps: { features?(features_.tokio_udp."0.1.3" deps {}) }: buildRustCrate {
+    crateName = "tokio-udp";
+    version = "0.1.3";
+    description = "UDP bindings for tokio.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1g1x499vqvzwy7xfccr32vwymlx25zpmkx8ppqgifzqwrjnncajf";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."tokio_udp"."0.1.3"."bytes"}" deps)
+      (crates."futures"."${deps."tokio_udp"."0.1.3"."futures"}" deps)
+      (crates."log"."${deps."tokio_udp"."0.1.3"."log"}" deps)
+      (crates."mio"."${deps."tokio_udp"."0.1.3"."mio"}" deps)
+      (crates."tokio_codec"."${deps."tokio_udp"."0.1.3"."tokio_codec"}" deps)
+      (crates."tokio_io"."${deps."tokio_udp"."0.1.3"."tokio_io"}" deps)
+      (crates."tokio_reactor"."${deps."tokio_udp"."0.1.3"."tokio_reactor"}" deps)
+    ]);
+  };
+  features_.tokio_udp."0.1.3" = deps: f: updateFeatures f (rec {
+    bytes."${deps.tokio_udp."0.1.3".bytes}".default = true;
+    futures."${deps.tokio_udp."0.1.3".futures}".default = true;
+    log."${deps.tokio_udp."0.1.3".log}".default = true;
+    mio."${deps.tokio_udp."0.1.3".mio}".default = true;
+    tokio_codec."${deps.tokio_udp."0.1.3".tokio_codec}".default = true;
+    tokio_io."${deps.tokio_udp."0.1.3".tokio_io}".default = true;
+    tokio_reactor."${deps.tokio_udp."0.1.3".tokio_reactor}".default = true;
+    tokio_udp."0.1.3".default = (f.tokio_udp."0.1.3".default or true);
+  }) [
+    (features_.bytes."${deps."tokio_udp"."0.1.3"."bytes"}" deps)
+    (features_.futures."${deps."tokio_udp"."0.1.3"."futures"}" deps)
+    (features_.log."${deps."tokio_udp"."0.1.3"."log"}" deps)
+    (features_.mio."${deps."tokio_udp"."0.1.3"."mio"}" deps)
+    (features_.tokio_codec."${deps."tokio_udp"."0.1.3"."tokio_codec"}" deps)
+    (features_.tokio_io."${deps."tokio_udp"."0.1.3"."tokio_io"}" deps)
+    (features_.tokio_reactor."${deps."tokio_udp"."0.1.3"."tokio_reactor"}" deps)
+  ];
+
+
+# end
+# try-lock-0.2.2
+
+  crates.try_lock."0.2.2" = deps: { features?(features_.try_lock."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "try-lock";
+    version = "0.2.2";
+    description = "A lightweight atomic lock.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1k8xc0jpbrmzp0fwghdh6pwzjb9xx2p8yy0xxnnb8065smc5fsrv";
+  };
+  features_.try_lock."0.2.2" = deps: f: updateFeatures f (rec {
+    try_lock."0.2.2".default = (f.try_lock."0.2.2".default or true);
+  }) [];
+
+
+# end
+# unicase-1.4.2
+
+  crates.unicase."1.4.2" = deps: { features?(features_.unicase."1.4.2" deps {}) }: buildRustCrate {
+    crateName = "unicase";
+    version = "1.4.2";
+    description = "A case-insensitive wrapper around strings.";
+    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
+    sha256 = "0rbnhw2mnhcwrij3vczp0sl8zdfmvf2dlh8hly81kj7132kfj0mf";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."version_check"."${deps."unicase"."1.4.2"."version_check"}" deps)
+    ]);
+    features = mkFeatures (features."unicase"."1.4.2" or {});
+  };
+  features_.unicase."1.4.2" = deps: f: updateFeatures f (rec {
+    unicase = fold recursiveUpdate {} [
+      { "1.4.2"."heapsize" =
+        (f.unicase."1.4.2"."heapsize" or false) ||
+        (f.unicase."1.4.2".heap_size or false) ||
+        (unicase."1.4.2"."heap_size" or false); }
+      { "1.4.2"."heapsize_plugin" =
+        (f.unicase."1.4.2"."heapsize_plugin" or false) ||
+        (f.unicase."1.4.2".heap_size or false) ||
+        (unicase."1.4.2"."heap_size" or false); }
+      { "1.4.2".default = (f.unicase."1.4.2".default or true); }
+    ];
+    version_check."${deps.unicase."1.4.2".version_check}".default = true;
+  }) [
+    (features_.version_check."${deps."unicase"."1.4.2"."version_check"}" deps)
+  ];
+
+
+# end
+# unicase-2.1.0
+
+  crates.unicase."2.1.0" = deps: { features?(features_.unicase."2.1.0" deps {}) }: buildRustCrate {
+    crateName = "unicase";
+    version = "2.1.0";
+    description = "A case-insensitive wrapper around strings.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1zzn16hh8fdx5pnbbnl32q8m2mh4vpd1jm9pdcv969ik83dw4byp";
+    build = "build.rs";
+
+    buildDependencies = mapFeatures features ([
+      (crates."version_check"."${deps."unicase"."2.1.0"."version_check"}" deps)
+    ]);
+    features = mkFeatures (features."unicase"."2.1.0" or {});
+  };
+  features_.unicase."2.1.0" = deps: f: updateFeatures f (rec {
+    unicase."2.1.0".default = (f.unicase."2.1.0".default or true);
+    version_check."${deps.unicase."2.1.0".version_check}".default = true;
+  }) [
+    (features_.version_check."${deps."unicase"."2.1.0"."version_check"}" deps)
+  ];
+
+
+# end
+# unicode-bidi-0.3.4
+
+  crates.unicode_bidi."0.3.4" = deps: { features?(features_.unicode_bidi."0.3.4" deps {}) }: buildRustCrate {
+    crateName = "unicode-bidi";
+    version = "0.3.4";
+    description = "Implementation of the Unicode Bidirectional Algorithm";
+    authors = [ "The Servo Project Developers" ];
+    sha256 = "0lcd6jasrf8p9p0q20qyf10c6xhvw40m2c4rr105hbk6zy26nj1q";
+    libName = "unicode_bidi";
+    dependencies = mapFeatures features ([
+      (crates."matches"."${deps."unicode_bidi"."0.3.4"."matches"}" deps)
+    ]);
+    features = mkFeatures (features."unicode_bidi"."0.3.4" or {});
+  };
+  features_.unicode_bidi."0.3.4" = deps: f: updateFeatures f (rec {
+    matches."${deps.unicode_bidi."0.3.4".matches}".default = true;
+    unicode_bidi = fold recursiveUpdate {} [
+      { "0.3.4"."flame" =
+        (f.unicode_bidi."0.3.4"."flame" or false) ||
+        (f.unicode_bidi."0.3.4".flame_it or false) ||
+        (unicode_bidi."0.3.4"."flame_it" or false); }
+      { "0.3.4"."flamer" =
+        (f.unicode_bidi."0.3.4"."flamer" or false) ||
+        (f.unicode_bidi."0.3.4".flame_it or false) ||
+        (unicode_bidi."0.3.4"."flame_it" or false); }
+      { "0.3.4"."serde" =
+        (f.unicode_bidi."0.3.4"."serde" or false) ||
+        (f.unicode_bidi."0.3.4".with_serde or false) ||
+        (unicode_bidi."0.3.4"."with_serde" or false); }
+      { "0.3.4".default = (f.unicode_bidi."0.3.4".default or true); }
+    ];
+  }) [
+    (features_.matches."${deps."unicode_bidi"."0.3.4"."matches"}" deps)
+  ];
+
+
+# end
+# unicode-normalization-0.1.5
+
+  crates.unicode_normalization."0.1.5" = deps: { features?(features_.unicode_normalization."0.1.5" deps {}) }: buildRustCrate {
+    crateName = "unicode-normalization";
+    version = "0.1.5";
+    description = "This crate provides functions for normalization of\nUnicode strings, including Canonical and Compatible\nDecomposition and Recomposition, as described in\nUnicode Standard Annex #15.\n";
+    authors = [ "kwantam <kwantam@gmail.com>" ];
+    sha256 = "0hg29g86fca7b65mwk4sm5s838js6bqrl0gabadbazvbsgjam0j5";
+  };
+  features_.unicode_normalization."0.1.5" = deps: f: updateFeatures f (rec {
+    unicode_normalization."0.1.5".default = (f.unicode_normalization."0.1.5".default or true);
+  }) [];
+
+
+# end
+# unicode-width-0.1.4
+
+  crates.unicode_width."0.1.4" = deps: { features?(features_.unicode_width."0.1.4" deps {}) }: buildRustCrate {
+    crateName = "unicode-width";
+    version = "0.1.4";
+    description = "Determine displayed width of `char` and `str` types\naccording to Unicode Standard Annex #11 rules.\n";
+    authors = [ "kwantam <kwantam@gmail.com>" ];
+    sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
+    features = mkFeatures (features."unicode_width"."0.1.4" or {});
+  };
+  features_.unicode_width."0.1.4" = deps: f: updateFeatures f (rec {
+    unicode_width."0.1.4".default = (f.unicode_width."0.1.4".default or true);
+  }) [];
+
+
+# end
+# unicode-xid-0.0.4
+
+  crates.unicode_xid."0.0.4" = deps: { features?(features_.unicode_xid."0.0.4" deps {}) }: buildRustCrate {
+    crateName = "unicode-xid";
+    version = "0.0.4";
+    description = "Determine whether characters have the XID_Start\nor XID_Continue properties according to\nUnicode Standard Annex #31.\n";
+    authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
+    sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
+    features = mkFeatures (features."unicode_xid"."0.0.4" or {});
+  };
+  features_.unicode_xid."0.0.4" = deps: f: updateFeatures f (rec {
+    unicode_xid."0.0.4".default = (f.unicode_xid."0.0.4".default or true);
+  }) [];
+
+
+# end
+# unreachable-1.0.0
+
+  crates.unreachable."1.0.0" = deps: { features?(features_.unreachable."1.0.0" deps {}) }: buildRustCrate {
+    crateName = "unreachable";
+    version = "1.0.0";
+    description = "An unreachable code optimization hint in stable rust.";
+    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
+    sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
+    dependencies = mapFeatures features ([
+      (crates."void"."${deps."unreachable"."1.0.0"."void"}" deps)
+    ]);
+  };
+  features_.unreachable."1.0.0" = deps: f: updateFeatures f (rec {
+    unreachable."1.0.0".default = (f.unreachable."1.0.0".default or true);
+    void."${deps.unreachable."1.0.0".void}".default = (f.void."${deps.unreachable."1.0.0".void}".default or false);
+  }) [
+    (features_.void."${deps."unreachable"."1.0.0"."void"}" deps)
+  ];
+
+
+# end
+# url-1.6.0
+
+  crates.url."1.6.0" = deps: { features?(features_.url."1.6.0" deps {}) }: buildRustCrate {
+    crateName = "url";
+    version = "1.6.0";
+    description = "URL library for Rust, based on the WHATWG URL Standard";
+    authors = [ "The rust-url developers" ];
+    sha256 = "1bvzl4dvjj84h46ai3x23wyafa2wwhchj08vr2brf25dxwc7mg18";
+    dependencies = mapFeatures features ([
+      (crates."idna"."${deps."url"."1.6.0"."idna"}" deps)
+      (crates."matches"."${deps."url"."1.6.0"."matches"}" deps)
+      (crates."percent_encoding"."${deps."url"."1.6.0"."percent_encoding"}" deps)
+    ]);
+    features = mkFeatures (features."url"."1.6.0" or {});
+  };
+  features_.url."1.6.0" = deps: f: updateFeatures f (rec {
+    idna."${deps.url."1.6.0".idna}".default = true;
+    matches."${deps.url."1.6.0".matches}".default = true;
+    percent_encoding."${deps.url."1.6.0".percent_encoding}".default = true;
+    url = fold recursiveUpdate {} [
+      { "1.6.0"."encoding" =
+        (f.url."1.6.0"."encoding" or false) ||
+        (f.url."1.6.0".query_encoding or false) ||
+        (url."1.6.0"."query_encoding" or false); }
+      { "1.6.0"."heapsize" =
+        (f.url."1.6.0"."heapsize" or false) ||
+        (f.url."1.6.0".heap_size or false) ||
+        (url."1.6.0"."heap_size" or false); }
+      { "1.6.0".default = (f.url."1.6.0".default or true); }
+    ];
+  }) [
+    (features_.idna."${deps."url"."1.6.0"."idna"}" deps)
+    (features_.matches."${deps."url"."1.6.0"."matches"}" deps)
+    (features_.percent_encoding."${deps."url"."1.6.0"."percent_encoding"}" deps)
+  ];
+
+
+# end
+# utf8-ranges-0.1.3
+
+  crates.utf8_ranges."0.1.3" = deps: { features?(features_.utf8_ranges."0.1.3" deps {}) }: buildRustCrate {
+    crateName = "utf8-ranges";
+    version = "0.1.3";
+    description = "Convert ranges of Unicode codepoints to UTF-8 byte ranges.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp";
+  };
+  features_.utf8_ranges."0.1.3" = deps: f: updateFeatures f (rec {
+    utf8_ranges."0.1.3".default = (f.utf8_ranges."0.1.3".default or true);
+  }) [];
+
+
+# end
+# uuid-0.7.1
+
+  crates.uuid."0.7.1" = deps: { features?(features_.uuid."0.7.1" deps {}) }: buildRustCrate {
+    crateName = "uuid";
+    version = "0.7.1";
+    description = "A library to generate and parse UUIDs.";
+    authors = [ "Ashley Mannix<ashleymannix@live.com.au>" "Christopher Armstrong" "Dylan DPC<dylan.dpc@gmail.com>" "Hunar Roop Kahlon<hunar.roop@gmail.com>" ];
+    sha256 = "1wh5izr7bssf1j8y3cawj4yfr5pz4cfxgsjlk2gs1vccc848qpbj";
+    dependencies = mapFeatures features ([
+    ]
+      ++ (if features.uuid."0.7.1".rand or false then [ (crates.rand."${deps."uuid"."0.7.1".rand}" deps) ] else []));
+    features = mkFeatures (features."uuid"."0.7.1" or {});
+  };
+  features_.uuid."0.7.1" = deps: f: updateFeatures f (rec {
+    rand."${deps.uuid."0.7.1".rand}".default = true;
+    uuid = fold recursiveUpdate {} [
+      { "0.7.1"."byteorder" =
+        (f.uuid."0.7.1"."byteorder" or false) ||
+        (f.uuid."0.7.1".u128 or false) ||
+        (uuid."0.7.1"."u128" or false); }
+      { "0.7.1"."md5" =
+        (f.uuid."0.7.1"."md5" or false) ||
+        (f.uuid."0.7.1".v3 or false) ||
+        (uuid."0.7.1"."v3" or false); }
+      { "0.7.1"."nightly" =
+        (f.uuid."0.7.1"."nightly" or false) ||
+        (f.uuid."0.7.1".const_fn or false) ||
+        (uuid."0.7.1"."const_fn" or false); }
+      { "0.7.1"."rand" =
+        (f.uuid."0.7.1"."rand" or false) ||
+        (f.uuid."0.7.1".v3 or false) ||
+        (uuid."0.7.1"."v3" or false) ||
+        (f.uuid."0.7.1".v4 or false) ||
+        (uuid."0.7.1"."v4" or false) ||
+        (f.uuid."0.7.1".v5 or false) ||
+        (uuid."0.7.1"."v5" or false); }
+      { "0.7.1"."sha1" =
+        (f.uuid."0.7.1"."sha1" or false) ||
+        (f.uuid."0.7.1".v5 or false) ||
+        (uuid."0.7.1"."v5" or false); }
+      { "0.7.1"."std" =
+        (f.uuid."0.7.1"."std" or false) ||
+        (f.uuid."0.7.1".default or false) ||
+        (uuid."0.7.1"."default" or false); }
+      { "0.7.1".default = (f.uuid."0.7.1".default or true); }
+    ];
+  }) [
+    (features_.rand."${deps."uuid"."0.7.1"."rand"}" deps)
+  ];
+
+
+# end
+# vcpkg-0.2.2
+
+  crates.vcpkg."0.2.2" = deps: { features?(features_.vcpkg."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "vcpkg";
+    version = "0.2.2";
+    description = "A library to find native dependencies in a vcpkg tree at build\ntime in order to be used in Cargo build scripts.\n";
+    authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
+    sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a";
+  };
+  features_.vcpkg."0.2.2" = deps: f: updateFeatures f (rec {
+    vcpkg."0.2.2".default = (f.vcpkg."0.2.2".default or true);
+  }) [];
+
+
+# end
+# vec_map-0.8.0
+
+  crates.vec_map."0.8.0" = deps: { features?(features_.vec_map."0.8.0" deps {}) }: buildRustCrate {
+    crateName = "vec_map";
+    version = "0.8.0";
+    description = "A simple map based on a vector for small integer keys";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
+    sha256 = "07sgxp3cf1a4cxm9n3r27fcvqmld32bl2576mrcahnvm34j11xay";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."vec_map"."0.8.0" or {});
+  };
+  features_.vec_map."0.8.0" = deps: f: updateFeatures f (rec {
+    vec_map = fold recursiveUpdate {} [
+      { "0.8.0"."serde" =
+        (f.vec_map."0.8.0"."serde" or false) ||
+        (f.vec_map."0.8.0".eders or false) ||
+        (vec_map."0.8.0"."eders" or false); }
+      { "0.8.0"."serde_derive" =
+        (f.vec_map."0.8.0"."serde_derive" or false) ||
+        (f.vec_map."0.8.0".eders or false) ||
+        (vec_map."0.8.0"."eders" or false); }
+      { "0.8.0".default = (f.vec_map."0.8.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# version_check-0.1.3
+
+  crates.version_check."0.1.3" = deps: { features?(features_.version_check."0.1.3" deps {}) }: buildRustCrate {
+    crateName = "version_check";
+    version = "0.1.3";
+    description = "Tiny crate to check the version of the installed/running rustc.";
+    authors = [ "Sergio Benitez <sb@sergio.bz>" ];
+    sha256 = "0z635wdclv9bvafj11fpgndn7y79ibpsnc364pm61i1m4wwg8msg";
+  };
+  features_.version_check."0.1.3" = deps: f: updateFeatures f (rec {
+    version_check."0.1.3".default = (f.version_check."0.1.3".default or true);
+  }) [];
+
+
+# end
+# void-1.0.2
+
+  crates.void."1.0.2" = deps: { features?(features_.void."1.0.2" deps {}) }: buildRustCrate {
+    crateName = "void";
+    version = "1.0.2";
+    description = "The uninhabited void type for use in statically impossible cases.";
+    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
+    sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
+    features = mkFeatures (features."void"."1.0.2" or {});
+  };
+  features_.void."1.0.2" = deps: f: updateFeatures f (rec {
+    void = fold recursiveUpdate {} [
+      { "1.0.2"."std" =
+        (f.void."1.0.2"."std" or false) ||
+        (f.void."1.0.2".default or false) ||
+        (void."1.0.2"."default" or false); }
+      { "1.0.2".default = (f.void."1.0.2".default or true); }
+    ];
+  }) [];
+
+
+# end
+# want-0.0.6
+
+  crates.want."0.0.6" = deps: { features?(features_.want."0.0.6" deps {}) }: buildRustCrate {
+    crateName = "want";
+    version = "0.0.6";
+    description = "Detect when another Future wants a result.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "03cc2lndz531a4kgql1v9kppyb1yz2abcz5l52j1gg2nypmy3lh8";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."want"."0.0.6"."futures"}" deps)
+      (crates."log"."${deps."want"."0.0.6"."log"}" deps)
+      (crates."try_lock"."${deps."want"."0.0.6"."try_lock"}" deps)
+    ]);
+  };
+  features_.want."0.0.6" = deps: f: updateFeatures f (rec {
+    futures."${deps.want."0.0.6".futures}".default = true;
+    log."${deps.want."0.0.6".log}".default = true;
+    try_lock."${deps.want."0.0.6".try_lock}".default = true;
+    want."0.0.6".default = (f.want."0.0.6".default or true);
+  }) [
+    (features_.futures."${deps."want"."0.0.6"."futures"}" deps)
+    (features_.log."${deps."want"."0.0.6"."log"}" deps)
+    (features_.try_lock."${deps."want"."0.0.6"."try_lock"}" deps)
+  ];
+
+
+# end
+# winapi-0.2.8
+
+  crates.winapi."0.2.8" = deps: { features?(features_.winapi."0.2.8" deps {}) }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.2.8";
+    description = "Types and constants for WinAPI bindings. See README for list of crates providing function bindings.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
+  };
+  features_.winapi."0.2.8" = deps: f: updateFeatures f (rec {
+    winapi."0.2.8".default = (f.winapi."0.2.8".default or true);
+  }) [];
+
+
+# end
+# winapi-0.3.6
+
+  crates.winapi."0.3.6" = deps: { features?(features_.winapi."0.3.6" deps {}) }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.3.6";
+    description = "Raw FFI bindings for all of Windows API.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1d9jfp4cjd82sr1q4dgdlrkvm33zhhav9d7ihr0nivqbncr059m4";
+    build = "build.rs";
+    dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([
+      (crates."winapi_i686_pc_windows_gnu"."${deps."winapi"."0.3.6"."winapi_i686_pc_windows_gnu"}" deps)
+    ]) else [])
+      ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([
+      (crates."winapi_x86_64_pc_windows_gnu"."${deps."winapi"."0.3.6"."winapi_x86_64_pc_windows_gnu"}" deps)
+    ]) else []);
+    features = mkFeatures (features."winapi"."0.3.6" or {});
+  };
+  features_.winapi."0.3.6" = deps: f: updateFeatures f (rec {
+    winapi."0.3.6".default = (f.winapi."0.3.6".default or true);
+    winapi_i686_pc_windows_gnu."${deps.winapi."0.3.6".winapi_i686_pc_windows_gnu}".default = true;
+    winapi_x86_64_pc_windows_gnu."${deps.winapi."0.3.6".winapi_x86_64_pc_windows_gnu}".default = true;
+  }) [
+    (features_.winapi_i686_pc_windows_gnu."${deps."winapi"."0.3.6"."winapi_i686_pc_windows_gnu"}" deps)
+    (features_.winapi_x86_64_pc_windows_gnu."${deps."winapi"."0.3.6"."winapi_x86_64_pc_windows_gnu"}" deps)
+  ];
+
+
+# end
+# winapi-build-0.1.1
+
+  crates.winapi_build."0.1.1" = deps: { features?(features_.winapi_build."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "winapi-build";
+    version = "0.1.1";
+    description = "Common code for build.rs in WinAPI -sys crates.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
+    libName = "build";
+  };
+  features_.winapi_build."0.1.1" = deps: f: updateFeatures f (rec {
+    winapi_build."0.1.1".default = (f.winapi_build."0.1.1".default or true);
+  }) [];
+
+
+# end
+# winapi-i686-pc-windows-gnu-0.4.0
+
+  crates.winapi_i686_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_i686_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
+    crateName = "winapi-i686-pc-windows-gnu";
+    version = "0.4.0";
+    description = "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "05ihkij18r4gamjpxj4gra24514can762imjzlmak5wlzidplzrp";
+    build = "build.rs";
+  };
+  features_.winapi_i686_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f (rec {
+    winapi_i686_pc_windows_gnu."0.4.0".default = (f.winapi_i686_pc_windows_gnu."0.4.0".default or true);
+  }) [];
+
+
+# end
+# winapi-x86_64-pc-windows-gnu-0.4.0
+
+  crates.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_x86_64_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
+    crateName = "winapi-x86_64-pc-windows-gnu";
+    version = "0.4.0";
+    description = "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0n1ylmlsb8yg1v583i4xy0qmqg42275flvbc51hdqjjfjcl9vlbj";
+    build = "build.rs";
+  };
+  features_.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f (rec {
+    winapi_x86_64_pc_windows_gnu."0.4.0".default = (f.winapi_x86_64_pc_windows_gnu."0.4.0".default or true);
+  }) [];
+
+
+# end
+# ws2_32-sys-0.2.1
+
+  crates.ws2_32_sys."0.2.1" = deps: { features?(features_.ws2_32_sys."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "ws2_32-sys";
+    version = "0.2.1";
+    description = "Contains function definitions for the Windows API library ws2_32. See winapi for types and constants.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1zpy9d9wk11sj17fczfngcj28w4xxjs3b4n036yzpy38dxp4f7kc";
+    libName = "ws2_32";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."winapi"."${deps."ws2_32_sys"."0.2.1"."winapi"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."winapi_build"."${deps."ws2_32_sys"."0.2.1"."winapi_build"}" deps)
+    ]);
+  };
+  features_.ws2_32_sys."0.2.1" = deps: f: updateFeatures f (rec {
+    winapi."${deps.ws2_32_sys."0.2.1".winapi}".default = true;
+    winapi_build."${deps.ws2_32_sys."0.2.1".winapi_build}".default = true;
+    ws2_32_sys."0.2.1".default = (f.ws2_32_sys."0.2.1".default or true);
+  }) [
+    (features_.winapi."${deps."ws2_32_sys"."0.2.1"."winapi"}" deps)
+    (features_.winapi_build."${deps."ws2_32_sys"."0.2.1"."winapi_build"}" deps)
+  ];
+
+
+# end
+# xattr-0.1.11
+
+  crates.xattr."0.1.11" = deps: { features?(features_.xattr."0.1.11" deps {}) }: buildRustCrate {
+    crateName = "xattr";
+    version = "0.1.11";
+    description = "unix extended filesystem attributes";
+    authors = [ "Steven Allen <steven@stebalien.com>" ];
+    sha256 = "0v8wad18pdxv7242a7xs18i9hy00ih3vwajz7my05zbxx2ss01nx";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."xattr"."0.1.11"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."xattr"."0.1.11" or {});
+  };
+  features_.xattr."0.1.11" = deps: f: updateFeatures f (rec {
+    libc."${deps.xattr."0.1.11".libc}".default = true;
+    xattr = fold recursiveUpdate {} [
+      { "0.1.11"."unsupported" =
+        (f.xattr."0.1.11"."unsupported" or false) ||
+        (f.xattr."0.1.11".default or false) ||
+        (xattr."0.1.11"."default" or false); }
+      { "0.1.11".default = (f.xattr."0.1.11".default or true); }
+    ];
+  }) [
+    (features_.libc."${deps."xattr"."0.1.11"."libc"}" deps)
+  ];
+
+
+# end
+}
diff --git a/pkgs/tools/package-management/cargo-download/default.nix b/pkgs/tools/package-management/cargo-download/default.nix
index 398e007c370..1cb53a4b6c8 100644
--- a/pkgs/tools/package-management/cargo-download/default.nix
+++ b/pkgs/tools/package-management/cargo-download/default.nix
@@ -1,7 +1,10 @@
 { stdenv, lib, fetchgit, darwin, buildPlatform
-, buildRustCrate, defaultCrateOverrides }:
+, buildRustCrate, buildRustCrateHelpers, defaultCrateOverrides }:
 
-((import ./Cargo.nix { inherit lib buildPlatform buildRustCrate fetchgit; }).cargo_download {}).override {
+((import ./Cargo.nix {
+  inherit lib buildPlatform buildRustCrate buildRustCrateHelpers fetchgit;
+  cratesIO = import ./crates-io.nix { inherit lib buildRustCrate buildRustCrateHelpers; };
+}).cargo_download {}).override {
   crateOverrides = defaultCrateOverrides // {
     cargo-download = attrs: {
       buildInputs = lib.optional stdenv.isDarwin
diff --git a/pkgs/tools/package-management/xbps/default.nix b/pkgs/tools/package-management/xbps/default.nix
index 6a96e5b43b5..5954ca4959b 100644
--- a/pkgs/tools/package-management/xbps/default.nix
+++ b/pkgs/tools/package-management/xbps/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, which, zlib, openssl_1_1, libarchive }:
+{ stdenv, fetchFromGitHub, pkgconfig, which, zlib, openssl, libarchive }:
 
 stdenv.mkDerivation rec {
   pname = "xbps";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig which ];
 
-  buildInputs = [ zlib openssl_1_1 libarchive ];
+  buildInputs = [ zlib openssl libarchive ];
 
   patches = [ ./cert-paths.patch ];
 
diff --git a/pkgs/tools/security/chaps/default.nix b/pkgs/tools/security/chaps/default.nix
index 3c6f52a4c7f..1270423e928 100644
--- a/pkgs/tools/security/chaps/default.nix
+++ b/pkgs/tools/security/chaps/default.nix
@@ -80,5 +80,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.tstrobel ];
     platforms = [ "x86_64-linux" ];
     license = licenses.bsd3;
+    broken = true;  # build failure withn openssl 1.1
   };
 }
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index b5212249547..54932e1200b 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clamav";
-  version = "0.101.2";
+  version = "0.101.4";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz";
-    sha256 = "0d3n4y8i5q594h4cjglmvpk4jd73r9ajpp1bvq5lr9zpdzgyn4ha";
+    sha256 = "1kdw0b49hbvja6xn589v4f0q334wav16pmi1hibql5cxj7q99w0b";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     homepage = https://www.clamav.net;
     description = "Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ phreedom robberer qknight fpletz ];
+    maintainers = with maintainers; [ phreedom robberer qknight fpletz globin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/dnsenum/default.nix b/pkgs/tools/security/dnsenum/default.nix
index d764e8a71ae..3374c827d75 100644
--- a/pkgs/tools/security/dnsenum/default.nix
+++ b/pkgs/tools/security/dnsenum/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = "https://github.com/fwaeytens/dnsenum";
     description = "A tool to enumerate DNS information";
-    maintainers = with maintainers; [ c0bw3b globin ];
+    maintainers = with maintainers; [ c0bw3b ];
     license = licenses.gpl2Plus;
     platforms = platforms.all;
   };
diff --git a/pkgs/tools/security/dnsrecon/default.nix b/pkgs/tools/security/dnsrecon/default.nix
index 06270723f4d..2575636aeca 100644
--- a/pkgs/tools/security/dnsrecon/default.nix
+++ b/pkgs/tools/security/dnsrecon/default.nix
@@ -39,6 +39,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/darkoperator/dnsrecon";
     license = licenses.gpl2;
     platforms = platforms.all;
-    maintainers = with maintainers; [ c0bw3b globin ];
+    maintainers = with maintainers; [ c0bw3b ];
   };
 }
diff --git a/pkgs/tools/security/fierce/default.nix b/pkgs/tools/security/fierce/default.nix
index abc1bacd212..809d8e29ea3 100644
--- a/pkgs/tools/security/fierce/default.nix
+++ b/pkgs/tools/security/fierce/default.nix
@@ -17,7 +17,7 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/mschwager/fierce";
     description = "DNS reconnaissance tool for locating non-contiguous IP space";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ c0bw3b globin ];
+    maintainers = with maintainers; [ c0bw3b ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/security/hcxtools/default.nix b/pkgs/tools/security/hcxtools/default.nix
index 20ad5bbc0b2..216d58192fb 100644
--- a/pkgs/tools/security/hcxtools/default.nix
+++ b/pkgs/tools/security/hcxtools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hcxtools";
-  version = "5.1.6";
+  version = "5.2.0";
 
   src = fetchFromGitHub {
     owner = "ZerBea";
     repo = pname;
     rev = version;
-    sha256 = "05sjbmv2wq3nlmammrwxqc62c4sagjjgczzddr1jcqkf6kywzkl8";
+    sha256 = "0k2qlq9hz5zc21nyc6yrnfqzga7hydn5mm0x3rpl2fhkwl81lxcn";
   };
 
   buildInputs = [ curl openssl zlib ];
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index 884480b73a5..1a2b06ea41f 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -5,7 +5,7 @@
 
 buildGoPackage rec {
   pname = "keybase";
-  version = "4.1.0";
+  version = "4.3.1";
 
   goPackagePath = "github.com/keybase/client";
   subPackages = [ "go/keybase" ];
@@ -16,7 +16,7 @@ buildGoPackage rec {
     owner = "keybase";
     repo = "client";
     rev = "v${version}";
-    sha256 = "00mxyy4jhdbcvbwabf4yvq4h5mpnlfp2z93gy2266kz6gkd5myzk";
+    sha256 = "1743d7a7ix882yxz9pk230vdvdj46sbscqv4wqyhb0la2pl9jqdp";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ];
diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix
index 56e1daf2043..3954ec818b1 100644
--- a/pkgs/tools/security/keybase/gui.nix
+++ b/pkgs/tools/security/keybase/gui.nix
@@ -4,16 +4,16 @@
 , runtimeShell, gsettings-desktop-schemas }:
 
 let
-  versionSuffix = "20190612201656.952fee6c59";
+  versionSuffix = "20190813132700.6f497ec371";
 in
 
 stdenv.mkDerivation rec {
   pname = "keybase-gui";
-  version = "4.1.0"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
+  version = "4.3.1"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version + "-" + versionSuffix}_amd64.deb";
-    sha256 = "0jwxw75yz7sbvfqw2aksa3p7jlcv817743fl59qk6rq1x9ag6qpx";
+    sha256 = "1mbbfy1aijqr8209jjja6dm2nzw721qqw94839df047rcwnd38pg";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/kpcli/default.nix b/pkgs/tools/security/kpcli/default.nix
index 8decdd13b0f..9d4c590efa1 100644
--- a/pkgs/tools/security/kpcli/default.nix
+++ b/pkgs/tools/security/kpcli/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, perl, perlPackages }:
 
 stdenv.mkDerivation rec {
-  version = "3.2";
+  version = "3.3";
   pname = "kpcli";
 
   src = fetchurl {
     url = "mirror://sourceforge/kpcli/${pname}-${version}.pl";
-    sha256 = "11z6zbnsmqgjw73ai4nrq4idr83flrib22d8fqh1637d36p1nnk1";
+    sha256 = "1z6dy70d3ag16vgzzafcnxb8gap3wahfmy4vd22fpgbrdd6riph4";
   };
 
   buildInputs = [ makeWrapper perl ];
diff --git a/pkgs/tools/security/lesspass-cli/default.nix b/pkgs/tools/security/lesspass-cli/default.nix
new file mode 100644
index 00000000000..afcdf0c0a07
--- /dev/null
+++ b/pkgs/tools/security/lesspass-cli/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, python3, fetchFromGitHub }:
+
+let
+  inherit (python3.pkgs) buildPythonApplication pytest mock pexpect;
+in
+buildPythonApplication rec {
+  pname = "lesspass-cli";
+  version = "9.0.0";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "1mdv0c0fn4d72iigy8hz4s7kf7q3pg4gjjadxwxyjwsalapnsapk";
+  };
+  sourceRoot = "source/cli";
+
+  # some tests are designed to run against code in the source directory - adapt to run against
+  # *installed* code
+  postPatch = ''
+    for f in tests/test_functional.py tests/test_interaction.py ; do
+      substituteInPlace $f --replace "lesspass/core.py" "-m lesspass.core"
+    done
+  '';
+
+  checkInputs = [ pytest mock pexpect ];
+  checkPhase = ''
+    mv lesspass lesspass.hidden  # ensure we're testing against *installed* package
+    pytest tests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Stateless password manager";
+    homepage = https://lesspass.com;
+    maintainers = with maintainers; [ jasoncarr ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 3bc5758aad4..bf9c7a4fc46 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -20,11 +20,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nmap${optionalString graphicalSupport "-graphical"}-${version}";
-  version = "7.70";
+  version = "7.80";
 
   src = fetchurl {
     url = "https://nmap.org/dist/nmap-${version}.tar.bz2";
-    sha256 = "063fg8adx23l4irrh5kn57hsmi1xvjkar4vm4k6g94ppan4hcyw4";
+    sha256 = "1aizfys6l9f9grm82bk878w56mg0zpkfns3spzj157h98875mypw";
   };
 
   patches = [ ./zenmap.patch ]
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 2e482dfcffc..aeb838c0576 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -120,7 +120,7 @@ let
       description = "Stores, retrieves, generates, and synchronizes passwords securely";
       homepage    = https://www.passwordstore.org/;
       license     = licenses.gpl2Plus;
-      maintainers = with maintainers; [ lovek323 the-kenny fpletz tadfisher ];
+      maintainers = with maintainers; [ lovek323 the-kenny fpletz tadfisher globin ];
       platforms   = platforms.unix;
 
       longDescription = ''
diff --git a/pkgs/tools/security/pass/extensions/otp.nix b/pkgs/tools/security/pass/extensions/otp.nix
index ab8bc7fe856..4b15c3d6803 100644
--- a/pkgs/tools/security/pass/extensions/otp.nix
+++ b/pkgs/tools/security/pass/extensions/otp.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pass-otp";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "tadfisher";
     repo = "pass-otp";
     rev = "v${version}";
-    sha256 = "0m8x5dqwcr9jim530685nsq4zn941hhl7ridmmd63b204z141rwa";
+    sha256 = "0cpqrf3939hcvwg7sd8055ghc8x964ilimlri16czzx188a9jx9v";
   };
 
   buildInputs = [ oathToolkit ];
@@ -19,13 +19,15 @@ stdenv.mkDerivation rec {
     sed -i -e 's|OATH=\$(which oathtool)|OATH=${oathToolkit}/bin/oathtool|' otp.bash
   '';
 
-  installFlags = [ "PREFIX=$(out)" ];
+  installFlags = [ "PREFIX=$(out)"
+                   "BASHCOMPDIR=$(out)/share/bash-completion/completions"
+                 ];
 
   meta = with stdenv.lib; {
     description = "A pass extension for managing one-time-password (OTP) tokens";
     homepage = https://github.com/tadfisher/pass-otp;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ jwiegley tadfisher ];
+    maintainers = with maintainers; [ jwiegley tadfisher toonn ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index b3b71a16eb8..249ff435c5f 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.0.5";
+  version = "0.4.1.5";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "0vk9j3ybz5dwwbmqrdj1bjcsxy76pc8frmfvflkdzwfkvkqcp8mm";
+    sha256 = "0984jb6hdcc10f7aq8xzl7l4jf93skp45wkv2v63z4zv0nvf0r58";
   };
 
   outputs = [ "out" "geoip" ];
diff --git a/pkgs/tools/security/tpm-luks/default.nix b/pkgs/tools/security/tpm-luks/default.nix
index 1799d5d154a..ca78c5d73ff 100644
--- a/pkgs/tools/security/tpm-luks/default.nix
+++ b/pkgs/tools/security/tpm-luks/default.nix
@@ -10,6 +10,11 @@ stdenv.mkDerivation rec {
     sha256 = "1ms2v57f13r9km6mvf9rha5ndmlmjvrz3mcikai6nzhpj0nrjz0w";
   };
 
+  patches = [
+    ./openssl-1.1.patch
+    ./signed-ptr.patch
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ gawk trousers cryptsetup openssl ];
 
diff --git a/pkgs/tools/security/tpm-luks/openssl-1.1.patch b/pkgs/tools/security/tpm-luks/openssl-1.1.patch
new file mode 100644
index 00000000000..10132242b34
--- /dev/null
+++ b/pkgs/tools/security/tpm-luks/openssl-1.1.patch
@@ -0,0 +1,63 @@
+diff --git a/swtpm-utils/lib/hmac.c b/swtpm-utils/lib/hmac.c
+index 5545375..f9bedea 100644
+--- a/swtpm-utils/lib/hmac.c
++++ b/swtpm-utils/lib/hmac.c
+@@ -381,15 +381,19 @@ uint32_t TSS_authhmac(unsigned char *digest, unsigned char *key, unsigned int ke
+ /****************************************************************************/
+ uint32_t TSS_rawhmac(unsigned char *digest, const unsigned char *key, unsigned int keylen, ...)
+    {
+-   HMAC_CTX hmac;
++   HMAC_CTX* hmac;
+    unsigned int dlen;
+    unsigned char *data;
+    va_list argp;
+-   
+-#ifdef HAVE_HMAC_CTX_CLEANUP
+-   HMAC_CTX_init(&hmac);
+-#endif
+-   HMAC_Init(&hmac,key,keylen,EVP_sha1());
++
++   hmac = HMAC_CTX_new();
++
++   if (hmac == NULL)
++     {
++     return ERR_MEM_ERR;
++     }
++
++   HMAC_Init_ex(hmac,key,keylen,EVP_sha1(),NULL);
+ 
+    va_start(argp,keylen);
+    for (;;)
+@@ -398,15 +402,11 @@ uint32_t TSS_rawhmac(unsigned char *digest, const unsigned char *key, unsigned i
+       if (dlen == 0) break;
+       data = (unsigned char *)va_arg(argp,unsigned char *);
+       if (data == NULL) return ERR_NULL_ARG;
+-      HMAC_Update(&hmac,data,dlen);
++      HMAC_Update(hmac,data,dlen);
+       }
+-   HMAC_Final(&hmac,digest,&dlen);
++   HMAC_Final(hmac,digest,&dlen);
+ 
+-#ifdef HAVE_HMAC_CTX_CLEANUP
+-   HMAC_CTX_cleanup(&hmac);
+-#else
+-   HMAC_cleanup(&hmac);
+-#endif
++   HMAC_CTX_free(hmac);
+    va_end(argp);
+    return 0;
+    }
+diff --git a/swtpm-utils/lib/keys.c b/swtpm-utils/lib/keys.c
+index 99691b6..6627a1f 100644
+--- a/swtpm-utils/lib/keys.c
++++ b/swtpm-utils/lib/keys.c
+@@ -1249,8 +1249,7 @@ RSA *TSS_convpubkey(pubkeydata *k)
+                 exp);
+    }
+    /* set up the RSA public key structure */
+-   rsa->n = mod;
+-   rsa->e = exp;
++   RSA_set0_key(rsa, mod, exp, NULL);
+    return rsa;
+    }
+ 
diff --git a/pkgs/tools/security/tpm-luks/signed-ptr.patch b/pkgs/tools/security/tpm-luks/signed-ptr.patch
new file mode 100644
index 00000000000..83e356a4ef9
--- /dev/null
+++ b/pkgs/tools/security/tpm-luks/signed-ptr.patch
@@ -0,0 +1,15 @@
+diff --git a/swtpm-utils/getcapability.c b/swtpm-utils/getcapability.c
+index 7359ba3..17b4324 100644
+--- a/swtpm-utils/getcapability.c
++++ b/swtpm-utils/getcapability.c
+@@ -480,7 +480,8 @@ int main(int argc, char *argv[])
+ 				  }
+ 
+ 				  if (c) {
+-				      char pcrmap[4], *pf;
++				      char pcrmap[4];
++				      unsigned char *pf;
+ 
+ 				      memcpy(pcrmap, ndp.pcrInfoRead.pcrSelection.pcrSelect,
+ 					     ndp.pcrInfoRead.pcrSelection.sizeOfSelect);
+
diff --git a/pkgs/tools/security/tpm-tools/default.nix b/pkgs/tools/security/tpm-tools/default.nix
index 1812b2645fe..e546cc5a10f 100644
--- a/pkgs/tools/security/tpm-tools/default.nix
+++ b/pkgs/tools/security/tpm-tools/default.nix
@@ -14,6 +14,13 @@ stdenv.mkDerivation rec {
 
   sourceRoot = ".";
 
+  patches = [
+    (fetchurl {
+      url = https://sources.debian.org/data/main/t/tpm-tools/1.3.9.1-0.1/debian/patches/05-openssl1.1_fix_data_mgmt.patch;
+      sha256 = "161yysw4wgy3spsz6p1d0ib0h5pnrqm8bdh1l71c4hz6a6wpcyxj";
+    })
+  ];
+
   nativeBuildInputs = [ perl ];
   buildInputs = [ trousers openssl opencryptoki ];
 
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 9933a956b99..b057c80c74e 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv, libgcrypt, readline, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.3";
+  version = "1.6.4";
   pname = "freeipmi";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${pname}-${version}.tar.gz";
-    sha256 = "1sg12ycig2g5yv9l3vx25wsjmz7ybnrsvji0vs51yjmclwsygm5a";
+    sha256 = "0g0s4iwx0ng4rv7hp5cc3kkx4drahsc89981gwjblf04lfavppv5";
   };
 
   buildInputs = [ libgcrypt readline libgpgerror ];
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index b553206f13a..7966deeccc2 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   baseName = "ipmiutil";
-  version = "3.1.3";
+  version = "3.1.4";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "0mxydn6pwdhky659rz6k1jlh95hy43pmz4nx53kligjwy2v060xq";
+    sha256 = "0rca9bjn46i3xzah53l1r5bv1493773chj8x11by2asxyl9wlf4r";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/system/lr/default.nix b/pkgs/tools/system/lr/default.nix
index a7adefb74f8..7b550008e4f 100644
--- a/pkgs/tools/system/lr/default.nix
+++ b/pkgs/tools/system/lr/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "List files recursively";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.globin ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/system/runit/default.nix b/pkgs/tools/system/runit/default.nix
index 8a1f6c4b885..78306907079 100644
--- a/pkgs/tools/system/runit/default.nix
+++ b/pkgs/tools/system/runit/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     description = "UNIX init scheme with service supervision";
     license = licenses.bsd3;
     homepage = http://smarden.org/runit;
-    maintainers = with maintainers; [ rickynils joachifm ];
+    maintainers = with maintainers; [ joachifm ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index 5d5d3b1939d..ab7fdf7c4bf 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.10.00";
+  version = "0.10.01";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0x602d9alilxxx2v59ryyg6s81l9nf8bxyavk5wf8jd5mshx57fh";
+    sha256 = "0gcgm96prkzysszgq34cpx30y0bx9b5zll7943zwg3941fkg4x2a";
   };
 
   # All platforms inputs then Linux-only ones
diff --git a/pkgs/tools/system/syslog-ng-incubator/default.nix b/pkgs/tools/system/syslog-ng-incubator/default.nix
index 3c793a05300..881fda241ed 100644
--- a/pkgs/tools/system/syslog-ng-incubator/default.nix
+++ b/pkgs/tools/system/syslog-ng-incubator/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/balabit/syslog-ng-incubator;
     description = "A collection of tools and modules for syslog-ng";
     license = licenses.gpl2;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = [];
     platforms = platforms.linux;
     broken = true; # 2018-05-12
   };
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index dcc9942a061..6998ed36ee5 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     homepage = https://www.balabit.com/network-security/syslog-ng/;
     description = "Next-generation syslogd with advanced networking and filtering capabilities";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ rickynils  fpletz ];
+    maintainers = with maintainers; [ fpletz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/systemd-journal2gelf/default.nix b/pkgs/tools/system/systemd-journal2gelf/default.nix
index 2219d623a03..4c4ad91e727 100644
--- a/pkgs/tools/system/systemd-journal2gelf/default.nix
+++ b/pkgs/tools/system/systemd-journal2gelf/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   meta = with stdenv.lib; {
     description = "Export entries from systemd's journal and send them to a graylog server using gelf";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ fadenb fpletz globin ];
+    maintainers = with maintainers; [ fadenb fpletz ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/system/thermald/default.nix b/pkgs/tools/system/thermald/default.nix
index 6ef96bdab5c..3429419052f 100644
--- a/pkgs/tools/system/thermald/default.nix
+++ b/pkgs/tools/system/thermald/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "thermald";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchFromGitHub {
     owner = "01org";
     repo = "thermal_daemon";
     rev = "v${version}";
-    sha256 = "1g1l7k8yxj8bl1ysdx8v6anv1s7xk9j072y44gwki70dy48n7j92";
+    sha256 = "1ajhivl9jifcf12nbk281yayk7666v65m249aclyli0bz1kh8cfs";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
index 4fa90441bdb..4b1275d041f 100644
--- a/pkgs/tools/text/ripgrep/default.nix
+++ b/pkgs/tools/text/ripgrep/default.nix
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
     description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep";
     homepage = https://github.com/BurntSushi/ripgrep;
     license = with licenses; [ unlicense /* or */ mit ];
-    maintainers = [ maintainers.tailhook ];
+    maintainers = with maintainers; [ tailhook globin ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index 583ffd01db9..b73015dd19f 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -1,10 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "vale";
-  version = "1.4.3";
-
-  goPackagePath = "github.com/errata-ai/vale";
+  version = "1.7.1";
 
   subPackages = [ "." ];
 
@@ -12,9 +10,11 @@ buildGoPackage rec {
     owner  = "errata-ai";
     repo   = "vale";
     rev    = "v${version}";
-    sha256 = "1dgh2frf577048cacwnrl0xx5hha055z42sqq38lf07ybwyxdxms";
+    sha256 = "1qi3brjppiymk6as0xic2n3bhq8g8qw1z8d9a24w60x9gp52yq5m";
   };
 
+  modSha256 = "0av728w22rrlw2030d09q5dz9ks58p3n4g1hx4xcs0gi33sdsdb8";
+
   meta = with stdenv.lib; {
     homepage = https://errata-ai.github.io/vale/;
     description = "A syntax-aware linter for prose built with speed and extensibility in mind";
diff --git a/pkgs/tools/typesetting/biber/default.nix b/pkgs/tools/typesetting/biber/default.nix
index 3f9ba73e13d..6d26129f2c1 100644
--- a/pkgs/tools/typesetting/biber/default.nix
+++ b/pkgs/tools/typesetting/biber/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, perlPackages, texlive }:
+{ stdenv, perlPackages, shortenPerlShebang, texlive }:
 
 let
   biberSource = stdenv.lib.head (builtins.filter (p: p.tlType == "source") texlive.biber.pkgs);
@@ -21,6 +21,11 @@ perlPackages.buildPerlModule {
     TestDifferences
     PerlIOutf8_strict
   ];
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
+
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    shortenPerlShebang $out/bin/biber
+  '';
 
   meta = with stdenv.lib; {
     description = "Backend for BibLaTeX";
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index 7c2543f7219..c27c68741fc 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -5,7 +5,7 @@
 , perl, perlPackages, pkgconfig, autoreconfHook
 , poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr
 , cairo, pixman, xorg, clisp, biber
-, makeWrapper
+, makeWrapper, shortenPerlShebang
 }:
 
 # Useful resource covering build options:
@@ -296,6 +296,7 @@ latexindent = perlPackages.buildPerlPackage rec {
 
   outputs = [ "out" ];
 
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
   propagatedBuildInputs = with perlPackages; [ FileHomeDir LogDispatch LogLog4perl UnicodeLineBreak YAMLTiny ];
 
   postPatch = ''
@@ -312,6 +313,8 @@ latexindent = perlPackages.buildPerlPackage rec {
     install -D ./scripts/latexindent/latexindent.pl "$out"/bin/latexindent
     mkdir -p "$out"/${perl.libPrefix}
     cp -r ./scripts/latexindent/LatexIndent "$out"/${perl.libPrefix}/
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    shortenPerlShebang "$out"/bin/latexindent
   '';
 };
 
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 8c2cc75dc1b..1a4169605a6 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -111,6 +111,7 @@ mapAliases ({
   gettextWithExpat = gettext; # 2016-02-19
   git-hub = gitAndTools.git-hub; # added 2016-04-29
   glib_networking = glib-networking; # added 2018-02-25
+  gnome-mpv = celluloid; # added 2019-08-22
   gnome-themes-standard = gnome-themes-extra; # added 2018-03-14
   gnome_doc_utils = gnome-doc-utils; # added 2018-02-25
   gnome_themes_standard = gnome-themes-standard; # added 2018-02-25
@@ -149,6 +150,8 @@ mapAliases ({
   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
+  icedtea8_web = adoptopenjdk-icedtea-web; # added 2019-08-21
+  icedtea_web = adoptopenjdk-icedtea-web; # added 2019-08-21
   idea = jetbrains; # added 2017-04-03
   infiniband-diags = rdma-core; # added 2019-08-09
   inotifyTools = inotify-tools;
@@ -280,6 +283,7 @@ mapAliases ({
   postgis = postgresqlPackages.postgis;
   # end
   ppl-address-book = throw "deprecated in 2019-05-02: abandoned by upstream.";
+  processing3 = processing; # added 2019-08-16
   procps-ng = procps; # added 2018-06-08
   pulseaudioLight = pulseaudio; # added 2018-04-25
   qca-qt5 = libsForQt5.qca-qt5;  # added 2015-12-19
@@ -330,6 +334,7 @@ mapAliases ({
   spice_protocol = spice-protocol; # added 2018-02-25
   sqlite3_analyzer = sqlite-analyzer; # added 2018-05-22
   sqliteInteractive = sqlite-interactive;  # added 2014-12-06
+  squid4 = squid;  # added 2019-08-22
   sshfsFuse = sshfs-fuse; # added 2016-09
   suil-qt5 = suil; # added 2018-05-01
   surf-webkit2 = surf; # added 2017-04-02
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b1833ae9cdc..4a9ab14cd04 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -149,8 +149,12 @@ in
 
   buildMaven = callPackage ../build-support/build-maven.nix {};
 
+  castget = callPackage ../applications/networking/feedreaders/castget { };
+
   castxml = callPackage ../development/tools/castxml { };
 
+  clj-kondo = callPackage ../development/tools/clj-kondo { };
+
   cmark = callPackage ../development/libraries/cmark { };
 
   conftest = callPackage ../development/tools/conftest {};
@@ -384,6 +388,10 @@ in
 
   setupSystemdUnits = callPackage ../build-support/setup-systemd-units.nix { };
 
+  shortenPerlShebang = makeSetupHook
+    { deps = [ dieHook ]; }
+    ../build-support/setup-hooks/shorten-perl-shebang.sh;
+
   singularity-tools = callPackage ../build-support/singularity-tools { };
 
   srcOnly = args: callPackage ../build-support/src-only args;
@@ -852,6 +860,8 @@ in
 
   lastpass-cli = callPackage ../tools/security/lastpass-cli { };
 
+  lesspass-cli = callPackage ../tools/security/lesspass-cli { };
+
   pacparser = callPackage ../tools/networking/pacparser { };
 
   pass = callPackage ../tools/security/pass { };
@@ -1179,7 +1189,9 @@ in
 
   brltty = callPackage ../tools/misc/brltty { };
 
-  bro = callPackage ../applications/networking/ids/bro { };
+  bro = callPackage ../applications/networking/ids/bro {
+    openssl = openssl_1_0_2;
+  };
 
   brook = callPackage ../tools/networking/brook { };
 
@@ -1690,6 +1702,8 @@ in
 
   gsctl = callPackage ../applications/misc/gsctl { };
 
+  gthree = callPackage ../development/libraries/gthree { };
+
   gti = callPackage ../tools/misc/gti { };
 
   hdate = callPackage ../applications/misc/hdate { };
@@ -2104,7 +2118,9 @@ in
 
   cabextract = callPackage ../tools/archivers/cabextract { };
 
-  cadaver = callPackage ../tools/networking/cadaver { };
+  cadaver = callPackage ../tools/networking/cadaver {
+    openssl = openssl_1_0_2;
+  };
 
   davix = callPackage ../tools/networking/davix { };
 
@@ -2628,7 +2644,9 @@ in
 
   dmd = callPackage ../development/compilers/dmd { };
 
-  dmg2img = callPackage ../tools/misc/dmg2img { };
+  dmg2img = callPackage ../tools/misc/dmg2img {
+    openssl = openssl_1_0_2;
+  };
 
   docbook2odf = callPackage ../tools/typesetting/docbook2odf { };
 
@@ -2651,7 +2669,7 @@ in
   dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { };
 
   dolphinEmu = callPackage ../misc/emulators/dolphin-emu { };
-  dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix {
+  dolphinEmuMaster = qt5.callPackage ../misc/emulators/dolphin-emu/master.nix {
     inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL;
   };
 
@@ -2768,6 +2786,10 @@ in
   tsm-client = callPackage ../tools/backup/tsm-client { jdk8 = null; };
   tsm-client-withGui = callPackage ../tools/backup/tsm-client { };
 
+  tracker = callPackage ../development/libraries/tracker { };
+
+  tracker-miners = callPackage ../development/libraries/tracker-miners { };
+
   tridactyl-native = callPackage ../tools/networking/tridactyl-native { };
 
   trompeloeil = callPackage ../development/libraries/trompeloeil { };
@@ -2915,7 +2937,9 @@ in
 
   ethtool = callPackage ../tools/misc/ethtool { };
 
-  ettercap = callPackage ../applications/networking/sniffers/ettercap { };
+  ettercap = callPackage ../applications/networking/sniffers/ettercap {
+    openssl = openssl_1_0_2;
+  };
 
   euca2ools = callPackage ../tools/virtualization/euca2ools { };
 
@@ -3054,6 +3078,8 @@ in
     stdenv = gccStdenv;
   };
 
+  flux = callPackage ../development/compilers/flux { };
+
   fierce = callPackage ../tools/security/fierce { };
 
   figlet = callPackage ../tools/misc/figlet { };
@@ -3289,6 +3315,8 @@ in
 
   gdmap = callPackage ../tools/system/gdmap { };
 
+  gelasio = callPackage ../data/fonts/gelasio { };
+
   gen-oath-safe = callPackage ../tools/security/gen-oath-safe { };
 
   genext2fs = callPackage ../tools/filesystems/genext2fs { };
@@ -3392,6 +3420,10 @@ in
 
   gnome-podcasts = callPackage ../applications/audio/gnome-podcasts { };
 
+  gnome-photos = callPackage ../applications/graphics/gnome-photos {
+    gegl = gnome3.gegl_0_4;
+  };
+
   gnokii = callPackage ../tools/misc/gnokii { };
 
   gnuapl = callPackage ../development/interpreters/gnu-apl { };
@@ -3465,6 +3497,8 @@ in
 
   google-fonts = callPackage ../data/fonts/google-fonts { };
 
+  google-clasp = callPackage ../development/misc/google-clasp { };
+
   google-compute-engine = python2.pkgs.google-compute-engine;
 
   google-compute-engine-oslogin = callPackage ../tools/virtualization/google-compute-engine-oslogin { };
@@ -3613,7 +3647,9 @@ in
 
   gtk-vnc = callPackage ../tools/admin/gtk-vnc {};
 
-  gtmess = callPackage ../applications/networking/instant-messengers/gtmess { };
+  gtmess = callPackage ../applications/networking/instant-messengers/gtmess {
+    openssl = openssl_1_0_2;
+  };
 
   gup = callPackage ../development/tools/build-managers/gup {};
 
@@ -3627,7 +3663,9 @@ in
 
   gupnp-tools = callPackage ../tools/networking/gupnp-tools {};
 
-  gvpe = callPackage ../tools/networking/gvpe { };
+  gvpe = callPackage ../tools/networking/gvpe {
+    openssl = openssl_1_0_2;
+  };
 
   gvolicon = callPackage ../tools/audio/gvolicon {};
 
@@ -3892,7 +3930,9 @@ in
     packages = config.ihaskell.packages or (self: []);
   };
 
-  imapproxy = callPackage ../tools/networking/imapproxy { };
+  imapproxy = callPackage ../tools/networking/imapproxy {
+    openssl = openssl_1_0_2;
+  };
 
   imapsync = callPackage ../tools/networking/imapsync { };
 
@@ -3956,7 +3996,9 @@ in
     buildGoPackage = buildGo110Package;
   };
 
-  ipmitool = callPackage ../tools/system/ipmitool { };
+  ipmitool = callPackage ../tools/system/ipmitool {
+    openssl = openssl_1_0_2;
+  };
 
   ipmiutil = callPackage ../tools/system/ipmiutil {};
 
@@ -4370,26 +4412,18 @@ in
 
   nodejs-slim = nodejs-slim-10_x;
 
-  nodejs-10_x = callPackage ../development/web/nodejs/v10.nix {
-    openssl = openssl_1_1;
-  };
+
+  nodejs-10_x = callPackage ../development/web/nodejs/v10.nix { };
   nodejs-slim-10_x = callPackage ../development/web/nodejs/v10.nix {
     enableNpm = false;
-    openssl = openssl_1_1;
-  };
-  nodejs-11_x = callPackage ../development/web/nodejs/v11.nix {
-    openssl = openssl_1_1;
   };
+  nodejs-11_x = callPackage ../development/web/nodejs/v11.nix { };
   nodejs-slim-11_x = callPackage ../development/web/nodejs/v11.nix {
     enableNpm = false;
-    openssl = openssl_1_1;
-  };
-  nodejs-12_x = callPackage ../development/web/nodejs/v12.nix {
-    openssl = openssl_1_1;
   };
+  nodejs-12_x = callPackage ../development/web/nodejs/v12.nix { };
   nodejs-slim-12_x = callPackage ../development/web/nodejs/v12.nix {
     enableNpm = false;
-    openssl = openssl_1_1;
   };
 
   # Update this when adding the newest nodejs major version!
@@ -4428,9 +4462,7 @@ in
 
   ldapvi = callPackage ../tools/misc/ldapvi { };
 
-  ldns = callPackage ../development/libraries/ldns {
-    openssl = openssl_1_1;
-  };
+  ldns = callPackage ../development/libraries/ldns { };
 
   leafpad = callPackage ../applications/editors/leafpad { };
 
@@ -4504,7 +4536,7 @@ in
 
   libmongo-client = callPackage ../development/libraries/libmongo-client { };
 
-  libmesode = callPackage ../development/libraries/libmesode { };
+  libmesode = callPackage ../development/libraries/libmesode {};
 
   libnabo = callPackage ../development/libraries/libnabo { };
 
@@ -5180,7 +5212,12 @@ in
       pam = if stdenv.isLinux then pam else null;
     };
 
-  openssh_hpn = pkgs.appendToName "with-hpn" (openssh.override { hpnSupport = true; });
+  openssh_hpn = pkgs.appendToName "with-hpn" (openssh.override {
+    hpnSupport = true;
+    # the hpn patchset does not yet support openssl>1.0.2
+    # https://github.com/rapier1/openssh-portable/issues/14
+    openssl = openssl_1_0_2;
+  });
 
   openssh_gssapi = pkgs.appendToName "with-gssapi" (openssh.override {
     withGssapiPatches = true;
@@ -5192,7 +5229,7 @@ in
 
   opentsdb = callPackage ../tools/misc/opentsdb {};
 
-  openvpn = callPackage ../tools/networking/openvpn { };
+  openvpn = callPackage ../tools/networking/openvpn {};
 
   openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { };
 
@@ -5210,7 +5247,9 @@ in
 
   opentracing-cpp = callPackage ../development/libraries/opentracing-cpp { };
 
-  openvswitch = callPackage ../os-specific/linux/openvswitch { };
+  openvswitch = callPackage ../os-specific/linux/openvswitch {
+    openssl = openssl_1_0_2;
+  };
 
   optipng = callPackage ../tools/graphics/optipng {
     libpng = libpng12;
@@ -5228,6 +5267,8 @@ in
 
   ossec = callPackage ../tools/security/ossec {};
 
+  osslsigncode = callPackage ../development/tools/osslsigncode {};
+
   ostree = callPackage ../tools/misc/ostree { };
 
   otfcc = callPackage ../tools/misc/otfcc { };
@@ -5254,7 +5295,7 @@ in
 
   pacman = callPackage ../tools/package-management/pacman { };
 
-  padthv1 = callPackage ../applications/audio/padthv1 { };
+  padthv1 = libsForQt5.callPackage ../applications/audio/padthv1 { };
 
   pagmo2 = callPackage ../development/libraries/pagmo2 { };
 
@@ -5315,7 +5356,10 @@ in
 
   pngout = callPackage ../tools/graphics/pngout { };
 
-  ipsecTools = callPackage ../os-specific/linux/ipsec-tools { flex = flex_2_5_35; };
+  ipsecTools = callPackage ../os-specific/linux/ipsec-tools {
+    flex = flex_2_5_35;
+    openssl = openssl_1_0_2;
+  };
 
   patch = gnupatch;
 
@@ -5376,7 +5420,9 @@ in
     libusb = libusb1;
   };
 
-  bully = callPackage ../tools/networking/bully { };
+  bully = callPackage ../tools/networking/bully {
+    openssl = openssl_1_0_2;
+  };
 
   pcapc = callPackage ../tools/networking/pcapc { };
 
@@ -5549,7 +5595,9 @@ in
 
   proxychains = callPackage ../tools/networking/proxychains { };
 
-  proxytunnel = callPackage ../tools/misc/proxytunnel { };
+  proxytunnel = callPackage ../tools/misc/proxytunnel {
+    openssl = openssl_1_0_2;
+  };
 
   pws = callPackage ../tools/misc/pws { };
 
@@ -5641,7 +5689,6 @@ in
 
   qesteidutil = libsForQt5.callPackage ../tools/security/qesteidutil { } ;
   qdigidoc = libsForQt5.callPackage ../tools/security/qdigidoc { } ;
-  esteidfirefoxplugin = callPackage ../applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin { };
 
   qgrep = callPackage ../tools/text/qgrep {};
 
@@ -5725,7 +5772,9 @@ in
 
   rt = callPackage ../servers/rt { };
 
-  rtmpdump = callPackage ../tools/video/rtmpdump { };
+  rtmpdump = callPackage ../tools/video/rtmpdump {
+    openssl = openssl_1_0_2;
+  };
   rtmpdump_gnutls = rtmpdump.override { gnutlsSupport = true; opensslSupport = false; };
 
   reaverwps = callPackage ../tools/networking/reaver-wps {};
@@ -5919,6 +5968,10 @@ in
 
   scdoc = callPackage ../tools/typesetting/scdoc { };
 
+  scream-receivers = callPackage ../misc/scream-receivers {
+    pulseSupport = config.pulseaudio or false;
+  };
+
   screen = callPackage ../tools/misc/screen {
     inherit (darwin.apple_sdk.libs) utmp;
   };
@@ -6007,7 +6060,9 @@ in
 
   shout = nodePackages.shout;
 
-  shellinabox = callPackage ../servers/shellinabox { };
+  shellinabox = callPackage ../servers/shellinabox {
+    openssl = openssl_1_0_2;
+  };
 
   shrikhand = callPackage ../data/fonts/shrikhand { };
 
@@ -6324,7 +6379,9 @@ in
 
   tcpdump = callPackage ../tools/networking/tcpdump { };
 
-  tcpflow = callPackage ../tools/networking/tcpflow { };
+  tcpflow = callPackage ../tools/networking/tcpflow {
+    openssl = openssl_1_0_2;
+  };
 
   tcpkali = callPackage ../applications/networking/tcpkali { };
 
@@ -6332,7 +6389,7 @@ in
 
   ted = callPackage ../tools/typesetting/ted { };
 
-  teamviewer = libsForQt56.callPackage ../applications/networking/remote/teamviewer { };
+  teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { };
 
   teleconsole = callPackage ../tools/misc/teleconsole { };
 
@@ -6398,7 +6455,7 @@ in
 
   tilix = callPackage ../applications/misc/tilix { };
 
-  tinc_pre = callPackage ../tools/networking/tinc/pre.nix { };
+  tinc_pre = callPackage ../tools/networking/tinc/pre.nix {};
 
   tiny8086 = callPackage ../applications/virtualization/8086tiny { };
 
@@ -6441,7 +6498,6 @@ in
   toml2nix = (callPackage ../tools/toml2nix { }).toml2nix { };
 
   tor = callPackage ../tools/security/tor {
-    openssl = openssl_1_1;
     # remove this, when libevent's openssl is upgraded to 1_1_0 or newer.
     libevent = libevent.override {
       sslSupport = false;
@@ -6511,7 +6567,9 @@ in
 
   trilium = callPackage ../applications/office/trilium { };
 
-  trousers = callPackage ../tools/security/trousers { };
+  trousers = callPackage ../tools/security/trousers {
+    openssl = openssl_1_0_2;
+  };
 
   trx = callPackage ../tools/audio/trx { };
 
@@ -6624,9 +6682,11 @@ in
 
   vbetool = callPackage ../tools/system/vbetool { };
 
-  vde2 = callPackage ../tools/networking/vde2 { };
+  vde2 = callPackage ../tools/networking/vde2 {
+    openssl = openssl_1_0_2;
+  };
 
-  vboot_reference = callPackage ../tools/system/vboot_reference { };
+  vboot_reference = callPackage ../tools/system/vboot_reference {};
 
   vcftools = callPackage ../applications/science/biology/vcftools { };
 
@@ -6640,8 +6700,6 @@ in
 
   verilog = callPackage ../applications/science/electronics/verilog {};
 
-  vfdecrypt = callPackage ../tools/misc/vfdecrypt { };
-
   video2midi = callPackage ../tools/audio/video2midi {
     pythonPackages = python3Packages;
   };
@@ -6712,7 +6770,9 @@ in
     inherit (python27Packages) ldap;
   };
 
-  vtun = callPackage ../tools/networking/vtun { };
+  vtun = callPackage ../tools/networking/vtun {
+    openssl = openssl_1_0_2;
+  };
 
   waifu2x-converter-cpp = callPackage ../tools/graphics/waifu2x-converter-cpp { };
 
@@ -6831,7 +6891,7 @@ in
 
   uemacs = callPackage ../applications/editors/uemacs { };
 
-  uftp = callPackage ../servers/uftp { };
+  uftp = callPackage ../servers/uftp {};
 
   uhttpmock = callPackage ../development/libraries/uhttpmock { };
 
@@ -6966,7 +7026,7 @@ in
 
   wireguard-go = callPackage ../tools/networking/wireguard-go { };
 
-  wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf { };
+  wkhtmltopdf = libsForQt5.callPackage ../tools/graphics/wkhtmltopdf { };
 
   wml = callPackage ../development/web/wml { };
 
@@ -7265,6 +7325,10 @@ in
   adoptopenjdk-bin = adoptopenjdk-hotspot-bin-11;
   adoptopenjdk-jre-bin = adoptopenjdk-jre-hotspot-bin-11;
 
+  adoptopenjdk-icedtea-web = callPackage ../development/compilers/adoptopenjdk-icedtea-web {
+    jdk = jdk8;
+  };
+
   aldor = callPackage ../development/compilers/aldor { };
 
   aliceml = callPackage ../development/compilers/aliceml { };
@@ -7820,12 +7884,6 @@ in
 
   gwt240 = callPackage ../development/compilers/gwt/2.4.0.nix { };
 
-  icedtea8_web = callPackage ../development/compilers/icedtea-web {
-    jdk = jdk8;
-  };
-
-  icedtea_web = icedtea8_web;
-
   idrisPackages = dontRecurseIntoAttrs (callPackage ../development/idris-modules {
     idris-no-deps = haskellPackages.idris;
   });
@@ -7934,6 +7992,8 @@ in
 
   inherit (callPackages ../development/compilers/graalvm { }) mx jvmci8 graalvm8;
 
+  graalvm8-ee = callPackage ../development/compilers/graalvm/enterprise-edition.nix { };
+
   openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { };
 
   openspin = callPackage ../development/compilers/openspin { };
@@ -8155,11 +8215,7 @@ in
 
   neko = callPackage ../development/compilers/neko { };
 
-  nextpnr = libsForQt5.callPackage ../development/compilers/nextpnr {
-    # QT 5.12 has a weird regression involving the floorplanning window having
-    # a 'blank' or 'transparent' background, so fall back to 5.11 for now.
-    qtbase = qt511.qtbase;
-  };
+  nextpnr = libsForQt5.callPackage ../development/compilers/nextpnr { };
 
   nasm = callPackage ../development/compilers/nasm { };
 
@@ -8276,10 +8332,8 @@ in
 
   pyo3-pack = callPackage ../development/tools/rust/pyo3-pack { };
   rainicorn = callPackage ../development/tools/rust/rainicorn { };
-  rls = callPackage ../development/tools/rust/rls {
-    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
-  };
-  rustfmt = callPackage ../development/tools/rust/rustfmt { };
+  inherit (rustPackages) rls;
+  rustfmt = rustPackages.rustfmt;
   rustracer = callPackage ../development/tools/rust/racer {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -8754,7 +8808,7 @@ in
   python3Packages = python3.pkgs;
 
   pythonInterpreters = callPackage ./../development/interpreters/python {};
-  inherit (pythonInterpreters) python27 python35 python36 python37 python38 pypy27 pypy36;
+  inherit (pythonInterpreters) python27 python35 python36 python37 python38 python3Minimal pypy27 pypy36;
 
   # Python package sets.
   python27Packages = lib.hiPrioSet (recurseIntoAttrs python27.pkgs);
@@ -9483,10 +9537,16 @@ in
 
   gnome-desktop-testing = callPackage ../development/tools/gnome-desktop-testing {};
 
+  gnome-hexgl = callPackage ../games/gnome-hexgl {};
+
   gnome-usage = callPackage ../applications/misc/gnome-usage {};
 
   gnome-latex = callPackage ../applications/editors/gnome-latex/default.nix { };
 
+  gnome-online-accounts = callPackage ../development/libraries/gnome-online-accounts { };
+
+  gnome-video-effects = callPackage ../development/libraries/gnome-video-effects { };
+
   gnum4 = callPackage ../development/tools/misc/gnum4 { };
   m4 = gnum4;
 
@@ -10112,8 +10172,6 @@ in
 
   a52dec = callPackage ../development/libraries/a52dec { };
 
-  aacskeys = callPackage ../development/libraries/aacskeys { };
-
   aalib = callPackage ../development/libraries/aalib { };
 
   abseil-cpp = callPackage ../development/libraries/abseil-cpp { };
@@ -10274,7 +10332,7 @@ in
 
   boost_process = callPackage ../development/libraries/boost-process { };
 
-  botan = callPackage ../development/libraries/botan { };
+  botan = callPackage ../development/libraries/botan { openssl = openssl_1_0_2; };
   botan2 = callPackage ../development/libraries/botan/2.0.nix { };
 
   box2d = callPackage ../development/libraries/box2d { };
@@ -10402,7 +10460,9 @@ in
 
   cpp-ipfs-api = callPackage ../development/libraries/cpp-ipfs-api { };
 
-  cpp-netlib = callPackage ../development/libraries/cpp-netlib { };
+  cpp-netlib = callPackage ../development/libraries/cpp-netlib {
+    openssl = openssl_1_0_2;
+  };
   uri = callPackage ../development/libraries/uri { };
 
   cppcms = callPackage ../development/libraries/cppcms { };
@@ -10936,6 +10996,10 @@ in
 
   grib-api = callPackage ../development/libraries/grib-api { };
 
+  grilo = callPackage ../development/libraries/grilo { };
+
+  grilo-plugins = callPackage ../development/libraries/grilo-plugins { };
+
   grpc = callPackage ../development/libraries/grpc { };
 
   gsettings-qt = libsForQt5.callPackage ../development/libraries/gsettings-qt { };
@@ -12026,7 +12090,9 @@ in
 
   libksba = callPackage ../development/libraries/libksba { };
 
-  libksi = callPackage ../development/libraries/libksi { };
+  libksi = callPackage ../development/libraries/libksi {
+    openssl = openssl_1_0_2;
+  };
 
   liblinear = callPackage ../development/libraries/liblinear { };
 
@@ -12615,13 +12681,17 @@ in
 
   muparser = callPackage ../development/libraries/muparser { };
 
+  mutest = callPackage ../development/libraries/mutest { };
+
   mygpoclient = pythonPackages.mygpoclient;
 
   mygui = callPackage ../development/libraries/mygui {
     ogre = ogre1_9;
   };
 
-  mysocketw = callPackage ../development/libraries/mysocketw { };
+  mysocketw = callPackage ../development/libraries/mysocketw {
+    openssl = openssl_1_0_2;
+  };
 
   mythes = callPackage ../development/libraries/mythes { };
 
@@ -12650,7 +12720,9 @@ in
 
   neon = callPackage ../development/libraries/neon { };
 
-  neon_0_29 = callPackage ../development/libraries/neon/0.29.nix { };
+  neon_0_29 = callPackage ../development/libraries/neon/0.29.nix {
+    openssl = openssl_1_0_2;
+  };
 
   nettle = callPackage ../development/libraries/nettle { };
 
@@ -12805,7 +12877,8 @@ in
 
   inherit (callPackages ../development/libraries/libressl { })
     libressl_2_8
-    libressl_2_9;
+    libressl_2_9
+    libressl_3_0;
 
   libressl = libressl_2_9;
 
@@ -12813,7 +12886,7 @@ in
 
   wolfssl = callPackage ../development/libraries/wolfssl { };
 
-  openssl = openssl_1_0_2;
+  openssl = openssl_1_1;
 
   inherit (callPackages ../development/libraries/openssl { })
     openssl_1_0_2
@@ -13022,20 +13095,6 @@ in
     developerBuild = true;
   });
 
-  qt56 = recurseIntoAttrs (makeOverridable
-    (import ../development/libraries/qt-5/5.6) {
-      inherit newScope;
-      inherit stdenv fetchurl fetchpatch makeSetupHook makeWrapper;
-      bison = bison2; # error: too few arguments to function 'int yylex(...
-      inherit cups;
-      harfbuzz = harfbuzzFull;
-      inherit libGL;
-      inherit perl;
-      inherit (gst_all_1) gstreamer gst-plugins-base;
-    });
-
-  libsForQt56 = lib.makeScope qt56.newScope mkLibsForQt5;
-
   qt59 = recurseIntoAttrs (makeOverridable
     (import ../development/libraries/qt-5/5.9) {
       inherit newScope;
@@ -13670,7 +13729,9 @@ in
 
   tcllib = callPackage ../development/libraries/tcllib { };
 
-  tcltls = callPackage ../development/libraries/tcltls { };
+  tcltls = callPackage ../development/libraries/tcltls {
+    openssl = openssl_1_0_2;
+  };
 
   tclx = callPackage ../development/libraries/tclx { };
 
@@ -13795,6 +13856,7 @@ in
 
   ucommon_openssl = callPackage ../development/libraries/ucommon {
     gnutls = null;
+    openssl = openssl_1_0_2;
   };
 
   ucommon_gnutls = lowPrio (ucommon.override {
@@ -14469,7 +14531,7 @@ in
   dico = callPackage ../servers/dico { };
 
   dict = callPackage ../servers/dict {
-      libmaa = callPackage ../servers/dict/libmaa.nix {};
+    libmaa = callPackage ../servers/dict/libmaa.nix {};
   };
 
   dictdDBs = recurseIntoAttrs (callPackages ../servers/dict/dictd-db.nix {});
@@ -14496,6 +14558,7 @@ in
   prosody = callPackage ../servers/xmpp/prosody {
     # _compat can probably be removed on next minor version after 0.10.0
     lua5 = lua5_2_compat;
+    withExtraLibs = [ luaPackages.luadbi-sqlite3 ];
     inherit (lua52Packages) luasocket luasec luaexpat luafilesystem luabitop luaevent luadbi;
   };
 
@@ -14531,7 +14594,6 @@ in
   freeradius = callPackage ../servers/freeradius { };
 
   freeswitch = callPackage ../servers/sip/freeswitch {
-    openssl = openssl_1_0_2;
     inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
   };
 
@@ -14668,14 +14730,12 @@ in
     # We don't use `with` statement here on purpose!
     # See https://github.com/NixOS/nixpkgs/pull/10474/files#r42369334
     modules = [ nginxModules.rtmp nginxModules.dav nginxModules.moreheaders ];
-    openssl = openssl_1_1;
   };
 
   nginxMainline = callPackage ../servers/http/nginx/mainline.nix {
     # We don't use `with` statement here on purpose!
     # See https://github.com/NixOS/nixpkgs/pull/10474/files#r42369334
     modules = [ nginxModules.dav nginxModules.moreheaders ];
-    openssl = openssl_1_1;
   };
 
   nginxModules = callPackage ../servers/http/nginx/modules.nix { };
@@ -14709,6 +14769,8 @@ in
 
   openxpki = callPackage ../servers/openxpki { };
 
+  openxr-loader = callPackage ../development/libraries/openxr-loader { };
+
   osrm-backend = callPackage ../servers/osrm-backend { };
 
   p910nd = callPackage ../servers/p910nd { };
@@ -14789,6 +14851,7 @@ in
   mongodb = callPackage ../servers/nosql/mongodb {
     sasl = cyrus_sasl;
     boost = boost160;
+    openssl = openssl_1_0_2;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
@@ -14863,15 +14926,15 @@ in
 
   oracleXE = callPackage ../servers/sql/oracle-xe { };
 
-  softether_4_25 = callPackage ../servers/softether/4.25.nix { };
+  softether_4_25 = callPackage ../servers/softether/4.25.nix { openssl = openssl_1_0_2; };
   softether_4_29 = callPackage ../servers/softether/4.29.nix { };
   softether = softether_4_29;
 
   qboot = pkgsi686Linux.callPackage ../applications/virtualization/qboot { };
 
-  OVMF = callPackage ../applications/virtualization/OVMF { seabios = null; openssl = null; };
-  OVMF-CSM = OVMF.override { openssl = null; };
-  #WIP: OVMF-secureBoot = OVMF.override { seabios = null; secureBoot = true; };
+  OVMF = callPackage ../applications/virtualization/OVMF { };
+  OVMF-CSM = OVMF.override { csmSupport = true; };
+  OVMF-secureBoot = OVMF.override { secureBoot = true; };
 
   seabios = callPackage ../applications/virtualization/seabios { };
 
@@ -14907,6 +14970,7 @@ in
   ;
   postgresql = postgresql_9_6.override { this = postgresql; };
   postgresqlPackages = recurseIntoAttrs postgresql.pkgs;
+  postgresql11Packages = recurseIntoAttrs postgresql_11.pkgs;
 
   postgresql_jdbc = callPackage ../development/java-modules/postgresql_jdbc { };
 
@@ -15055,6 +15119,8 @@ in
 
   sambaFull = samba4Full;
 
+  sampler = callPackage ../applications/misc/sampler { };
+
   shairplay = callPackage ../servers/shairplay { avahi = avahi-compat; };
 
   shairport-sync = callPackage ../servers/shairport-sync { };
@@ -15098,7 +15164,6 @@ in
   spawn_fcgi = callPackage ../servers/http/spawn-fcgi { };
 
   squid = callPackage ../servers/squid { };
-  squid4 = callPackage ../servers/squid/4.nix { };
 
   sslh = callPackage ../servers/sslh { };
 
@@ -15152,9 +15217,13 @@ in
 
   virtlyst = libsForQt5.callPackage ../servers/web-apps/virtlyst { };
 
-  virtuoso6 = callPackage ../servers/sql/virtuoso/6.x.nix { };
+  virtuoso6 = callPackage ../servers/sql/virtuoso/6.x.nix {
+    openssl = openssl_1_0_2;
+  };
 
-  virtuoso7 = callPackage ../servers/sql/virtuoso/7.x.nix { };
+  virtuoso7 = callPackage ../servers/sql/virtuoso/7.x.nix {
+    openssl = openssl_1_0_2;
+  };
 
   virtuoso = virtuoso6;
 
@@ -15469,7 +15538,9 @@ in
 
   pcm = callPackage ../os-specific/linux/pcm { };
 
-  ima-evm-utils = callPackage ../os-specific/linux/ima-evm-utils { };
+  ima-evm-utils = callPackage ../os-specific/linux/ima-evm-utils {
+    openssl = openssl_1_0_2;
+  };
 
   intel2200BGFirmware = callPackage ../os-specific/linux/firmware/intel2200BGFirmware { };
 
@@ -15701,7 +15772,7 @@ in
 
     ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
 
-    blcr = callPackage ../os-specific/linux/blcr { };
+    blcr = if stdenv.lib.versionOlder "3.18" kernel.version then callPackage ../os-specific/linux/blcr { } else null;
 
     chipsec = callPackage ../tools/security/chipsec {
       inherit kernel;
@@ -15722,7 +15793,7 @@ in
 
     hyperv-daemons = callPackage ../os-specific/linux/hyperv-daemons { };
 
-    e1000e = callPackage ../os-specific/linux/e1000e {};
+    e1000e = if stdenv.lib.versionOlder kernel.version "4.10" then  callPackage ../os-specific/linux/e1000e {} else null;
 
     ixgbevf = callPackage ../os-specific/linux/ixgbevf {};
 
@@ -15790,7 +15861,8 @@ in
 
     phc-intel = callPackage ../os-specific/linux/phc-intel { };
 
-    prl-tools = callPackage ../os-specific/linux/prl-tools { };
+    # Disable for kernels 4.15 and above due to compatibility issues
+    prl-tools = if stdenv.lib.versionOlder kernel.version "4.15" then callPackage ../os-specific/linux/prl-tools { } else null;
 
     sch_cake = callPackage ../os-specific/linux/sch_cake { };
 
@@ -16095,7 +16167,9 @@ in
 
   quicktemplate = callPackage ../development/tools/quicktemplate { };
 
-  gogoclient = callPackage ../os-specific/linux/gogoclient { };
+  gogoclient = callPackage ../os-specific/linux/gogoclient {
+    openssl = openssl_1_0_2;
+  };
 
   linux-pam = callPackage ../os-specific/linux/pam { };
 
@@ -16129,7 +16203,9 @@ in
 
   pam_pgsql = callPackage ../os-specific/linux/pam_pgsql { };
 
-  pam_ssh_agent_auth = callPackage ../os-specific/linux/pam_ssh_agent_auth { };
+  pam_ssh_agent_auth = callPackage ../os-specific/linux/pam_ssh_agent_auth {
+    openssl = openssl_1_0_2;
+  };
 
   pam_u2f = callPackage ../os-specific/linux/pam_u2f { };
 
@@ -16381,6 +16457,10 @@ in
     libgcrypt = null;
   };
 
+  usbguard-nox = usbguard.override {
+    withGui = false;
+  };
+
   usbutils = callPackage ../os-specific/linux/usbutils { };
 
   usermount = callPackage ../os-specific/linux/usermount { };
@@ -16679,6 +16759,8 @@ in
 
   jost = callPackage ../data/fonts/jost { };
 
+  joypixels = callPackage ../data/fonts/joypixels { };
+
   junicode = callPackage ../data/fonts/junicode { };
 
   kanji-stroke-order-font = callPackage ../data/fonts/kanji-stroke-order-font {};
@@ -16876,7 +16958,6 @@ in
 
   powerline-rs = callPackage ../tools/misc/powerline-rs {
     inherit (darwin.apple_sdk.frameworks) Security;
-    openssl = openssl_1_1;
   };
 
   profont = callPackage ../data/fonts/profont { };
@@ -16921,6 +17002,8 @@ in
 
   stdmanpages = callPackage ../data/documentation/std-man-pages { };
 
+  starship = callPackage ../tools/misc/starship { };
+
   stix-otf = callPackage ../data/fonts/stix-otf { };
 
   stix-two = callPackage ../data/fonts/stix-two { };
@@ -17235,7 +17318,6 @@ in
   clightning = altcoins.clightning;
   lnd = altcoins.lnd;
 
-  bitcoin-xt = altcoins.bitcoin-xt;
   cryptop = altcoins.cryptop;
 
   jnetmap = callPackage ../applications/networking/jnetmap {};
@@ -17600,15 +17682,6 @@ in
 
   cutecom = libsForQt5.callPackage ../tools/misc/cutecom { };
 
-  cutegram =
-    let callpkg = libsForQt56.callPackage;
-    in callpkg ../applications/networking/instant-messengers/telegram/cutegram rec {
-      libqtelegram-aseman-edition = callpkg ../applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition { };
-      telegram-qml = callpkg ../applications/networking/instant-messengers/telegram/telegram-qml {
-        inherit libqtelegram-aseman-edition;
-      };
-    };
-
   cvs = callPackage ../applications/version-management/cvs { };
 
   cvsps = callPackage ../applications/version-management/cvsps { };
@@ -17810,7 +17883,9 @@ in
 
   electrum-ltc = callPackage ../applications/misc/electrum/ltc.nix { };
 
-  elinks = callPackage ../applications/networking/browsers/elinks { };
+  elinks = callPackage ../applications/networking/browsers/elinks {
+    openssl = openssl_1_0_2;
+  };
 
   elvis = callPackage ../applications/editors/elvis { };
 
@@ -18117,7 +18192,9 @@ in
 
   fehlstart = callPackage ../applications/misc/fehlstart { };
 
-  fetchmail = callPackage ../applications/misc/fetchmail { };
+  fetchmail = callPackage ../applications/misc/fetchmail {
+    openssl = openssl_1_0_2;
+  };
 
   fff = callPackage ../applications/misc/fff { };
 
@@ -18165,7 +18242,9 @@ in
 
   freewheeling = callPackage ../applications/audio/freewheeling { };
 
-  fribid = callPackage ../applications/networking/browsers/mozilla-plugins/fribid { };
+  fribid = callPackage ../applications/networking/browsers/mozilla-plugins/fribid {
+    openssl = openssl_1_0_2;
+  };
 
   fritzing = libsForQt5.callPackage ../applications/science/electronics/fritzing { };
 
@@ -18449,7 +18528,7 @@ in
 
   get_iplayer = callPackage ../applications/misc/get_iplayer {};
 
-  getxbook = callPackage ../applications/misc/getxbook {};
+  getxbook = callPackage ../applications/misc/getxbook { };
 
   ghq = gitAndTools.ghq;
 
@@ -18597,10 +18676,10 @@ in
 
   gnomecast = callPackage ../applications/video/gnomecast { };
 
-  gnome-mpv = callPackage ../applications/video/gnome-mpv { };
+  celluloid = callPackage ../applications/video/celluloid { };
 
   gnome-recipes = callPackage ../applications/misc/gnome-recipes {
-    inherit (gnome3) gnome-online-accounts gnome-autoar;
+    inherit (gnome3) gnome-autoar;
   };
 
   gollum = callPackage ../applications/misc/gollum { };
@@ -18736,6 +18815,15 @@ in
 
   leftwm = callPackage ../applications/window-managers/leftwm { };
 
+  pinboard-notes-backup = haskell.lib.overrideCabal
+    (haskell.lib.generateOptparseApplicativeCompletion "pnbackup"
+      haskellPackages.pinboard-notes-backup)
+    (drv: {
+      postInstall = ''
+        install -D man/pnbackup.1 $out/share/man/man1/pnbackup.1
+      '' + (drv.postInstall or "");
+    });
+
   slack = callPackage ../applications/networking/instant-messengers/slack { };
   slack-theme-black = callPackage ../applications/networking/instant-messengers/slack/dark-theme.nix { };
   slack-dark = pkgs.slack.override { theme = slack-theme-black; };
@@ -18933,8 +19021,6 @@ in
 
   irssi_fish = callPackage ../applications/networking/irc/irssi/fish { };
 
-  irssi_otr = callPackage ../applications/networking/irc/irssi/otr { };
-
   ir.lv2 = callPackage ../applications/audio/ir.lv2 { };
 
   bip = callPackage ../applications/networking/irc/bip { };
@@ -19102,6 +19188,8 @@ in
 
   kubectl = callPackage ../applications/networking/cluster/kubectl { };
 
+  kubeless = callPackage ../applications/networking/cluster/kubeless { };
+
   k9s = callPackage ../applications/networking/cluster/k9s { };
 
   fluxctl = callPackage ../applications/networking/cluster/fluxctl { };
@@ -19422,7 +19510,6 @@ in
 
   monero = callPackage ../applications/altcoins/monero {
     inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC;
-    boost = boost16x;
   };
 
   monero-gui = libsForQt5.callPackage ../applications/altcoins/monero-gui {
@@ -19449,6 +19536,8 @@ in
 
   inherit (ocaml-ng.ocamlPackages_4_01_0) monotoneViz;
 
+  moolticute = libsForQt5.callPackage ../applications/misc/moolticute { };
+
   moonlight-embedded = callPackage ../applications/misc/moonlight-embedded { };
 
   mop = callPackage ../applications/misc/mop { };
@@ -20072,8 +20161,7 @@ in
 
   qiv = callPackage ../applications/graphics/qiv { };
 
-  processing = processing3;
-  processing3 = callPackage ../applications/graphics/processing3 {
+  processing = callPackage ../applications/graphics/processing {
     jdk = oraclejdk8;
   };
 
@@ -20182,9 +20270,7 @@ in
 
   qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { };
 
-  qtchan = callPackage ../applications/networking/browsers/qtchan {
-    qt = qt5;
-  };
+  qtchan = libsForQt5.callPackage ../applications/networking/browsers/qtchan { };
 
   qtox = libsForQt5.callPackage ../applications/networking/instant-messengers/qtox { };
 
@@ -20296,10 +20382,6 @@ in
 
   rdup = callPackage ../tools/backup/rdup { };
 
-  realpine = callPackage ../applications/networking/mailreaders/realpine {
-    tcl = tcl-8_5;
-  };
-
   reaper = callPackage ../applications/audio/reaper { };
 
   recode = callPackage ../tools/text/recode { };
@@ -20470,8 +20552,6 @@ in
     ncurses = ncurses5;
   };
 
-  ssvnc = callPackage ../applications/networking/remote/ssvnc { };
-
   stupidterm = callPackage ../applications/misc/stupidterm {
     gtk = gtk3;
   };
@@ -20715,6 +20795,15 @@ in
 
   syncthing-tray = callPackage ../applications/misc/syncthing-tray { };
 
+  syncthingtray = libsForQt5.callPackage ../applications/misc/syncthingtray { };
+  syncthingtray-minumal = libsForQt5.callPackage ../applications/misc/syncthingtray {
+    webviewSupport = false;
+    jsSupport = false;
+    kioPluginSupport = false;
+    plasmoidSupport = false;
+    systemdSupport = true;
+  };
+
   synergy = callPackage ../applications/misc/synergy {
     stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
     inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa CoreServices ScreenSaver;
@@ -20770,8 +20859,6 @@ in
   '';
   tdesktop = qt5.callPackage ../applications/networking/instant-messengers/telegram/tdesktop { };
 
-  telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli { };
-
   telepathy-gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble { };
 
   telepathy-haze = callPackage ../applications/networking/instant-messengers/telepathy/haze {};
@@ -23500,7 +23587,7 @@ in
 
   ### SCIENCE/ROBOTICS
 
-  apmplanner2 = libsForQt511.callPackage ../applications/science/robotics/apmplanner2 { };
+  apmplanner2 = libsForQt5.callPackage ../applications/science/robotics/apmplanner2 { };
 
   betaflight-configurator = callPackage ../applications/science/robotics/betaflight-configurator { };
 
@@ -24018,6 +24105,8 @@ in
 
   nix-serve = callPackage ../tools/package-management/nix-serve { };
 
+  nixpkgs-fmt = callPackage ../tools/nix/nixpkgs-fmt { };
+
   nixos-artwork = callPackage ../data/misc/nixos-artwork { };
   nixos-icons = callPackage ../data/misc/nixos-artwork/icons.nix { };
   nixos-grub2-theme = callPackage ../data/misc/nixos-artwork/grub2-theme.nix { };
@@ -24408,6 +24497,8 @@ in
     inherit (gnome3) zenity;
   };
 
+  wishbone-tool = callPackage ../development/tools/misc/wishbone-tool { };
+
   with-shell = callPackage ../applications/misc/with-shell { };
 
   wmutils-core = callPackage ../tools/X11/wmutils-core { };
@@ -24416,7 +24507,9 @@ in
 
   wordpress = callPackage ../servers/web-apps/wordpress { };
 
-  wraith = callPackage ../applications/networking/irc/wraith { };
+  wraith = callPackage ../applications/networking/irc/wraith {
+    openssl = openssl_1_0_2;
+  };
 
   wxmupen64plus = callPackage ../misc/emulators/wxmupen64plus { };
 
@@ -24576,7 +24669,7 @@ in
     inherit pkgs;
   };
 
-  golden-cheetah = libsForQt56.callPackage ../applications/misc/golden-cheetah {};
+  golden-cheetah = libsForQt5.callPackage ../applications/misc/golden-cheetah {};
 
   linkchecker = callPackage ../tools/networking/linkchecker { };
 
@@ -24615,8 +24708,6 @@ in
 
   fpm2 = callPackage ../tools/security/fpm2 { };
 
-  tw-rs = callPackage ../misc/tw-rs { };
-
   simplenote = callPackage ../applications/misc/simplenote { };
 
   hy = callPackage ../development/interpreters/hy {};
@@ -24735,4 +24826,8 @@ in
   zfs-replicate = python3Packages.callPackage ../tools/backup/zfs-replicate { };
 
   runwayml = callPackage ../applications/graphics/runwayml {};
+
+  uhubctl = callPackage ../tools/misc/uhubctl {};
+
+  kodelife = callPackage ../applications/graphics/kodelife {};
 }
diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix
index ef43f8784ae..df9d3dbcff5 100644
--- a/pkgs/top-level/beam-packages.nix
+++ b/pkgs/top-level/beam-packages.nix
@@ -1,4 +1,4 @@
-{ callPackage, wxGTK30 }:
+{ callPackage, wxGTK30, openssl_1_0_2 }:
 
 rec {
   lib = callPackage ../development/beam-modules/lib.nix {};
@@ -16,6 +16,7 @@ rec {
     # These are standard Erlang versions, using the generic builder.
     erlangR18 = lib.callErlang ../development/interpreters/erlang/R18.nix {
       wxGTK = wxGTK30;
+      openssl = openssl_1_0_2;
     };
     erlangR18_odbc = erlangR18.override { odbcSupport = true; };
     erlangR18_javac = erlangR18.override { javacSupport = true; };
@@ -25,6 +26,7 @@ rec {
     erlangR18_nox = erlangR18.override { wxSupport = false; };
     erlangR19 = lib.callErlang ../development/interpreters/erlang/R19.nix {
       wxGTK = wxGTK30;
+      openssl = openssl_1_0_2;
     };
     erlangR19_odbc = erlangR19.override { odbcSupport = true; };
     erlangR19_javac = erlangR19.override { javacSupport = true; };
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 3ac7b9413d9..d4c2c3b1e3f 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -137,7 +137,7 @@ in rec {
   coqPackages_8_9 = mkCoqPackages coq_8_9;
   coqPackages_8_10 = mkCoqPackages coq_8_10;
   coqPackages = recurseIntoAttrs (lib.mapDerivationAttrset lib.dontDistribute
-    coqPackages_8_8
+    coqPackages_8_9
   );
   coq = coqPackages.coq;
 
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index 5719c5a74fe..0c85176acba 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -55,7 +55,9 @@ let
   mkMelpaStablePackages = melpaGeneric "stable";
   mkMelpaPackages = melpaGeneric "unstable";
 
-  mkOrgPackages = import ../applications/editors/emacs-modes/org-packages.nix { };
+  mkOrgPackages = import ../applications/editors/emacs-modes/org-packages.nix {
+    inherit lib;
+  };
 
   emacsWithPackages = import ../build-support/emacs/wrapper.nix {
     inherit lib lndir makeWrapper stdenv runCommand;
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index f42b9fd2e33..16dd32a8a7a 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -128,6 +128,8 @@ let
 
     cairo2 = callPackage ../development/ocaml-modules/cairo2 { };
 
+    charInfo_width = callPackage ../development/ocaml-modules/charInfo_width { };
+
     checkseum = callPackage ../development/ocaml-modules/checkseum { };
 
     cil = callPackage ../development/ocaml-modules/cil { };
@@ -766,6 +768,8 @@ let
       then callPackage ../development/ocaml-modules/uri { }
       else callPackage ../development/ocaml-modules/uri/legacy.nix { };
 
+    uri-sexp = callPackage ../development/ocaml-modules/uri/sexp.nix { };
+
     uri_p4 = callPackage ../development/ocaml-modules/uri/legacy.nix {
       legacyVersion = true;
     };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 193becfc634..8f6f474a532 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6,7 +6,7 @@
    be almost as much code as the function itself. */
 
 {config, pkgs, fetchurl, fetchFromGitHub, stdenv, gnused, perl, overrides,
-  buildPerl}:
+  buildPerl, shortenPerlShebang}:
 
 # cpan2nix assumes that perl-packages.nix will be used only with perl 5.28.2 or above
 assert stdenv.lib.versionAtLeast perl.version "5.28.2";
@@ -89,22 +89,29 @@ let
   ack = buildPerlPackage {
     pname = "ack";
     version = "3.0.2";
+
     src = fetchurl {
       url = mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.0.2.tar.gz;
       sha256 = "0a4mriclnmwvm8rn9crkfr00qjy6ffgf0b0bg0qz46drpnyv7d33";
     };
+
     outputs = ["out" "man"];
-    # use gnused so that the preCheck command passes
-    buildInputs = stdenv.lib.optional stdenv.isDarwin gnused;
+
+    nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
     propagatedBuildInputs = [ FileNext ];
+    postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+      shortenPerlShebang $out/bin/ack
+    '';
+
+    # tests fails on nixos and hydra because of different purity issues
+    doCheck = false;
+
     meta = with stdenv.lib; {
       description = "A grep-like tool tailored to working with large trees of source code";
       homepage    = https://beyondgrep.com;
       license     = licenses.artistic2;
       maintainers = with maintainers; [ lovek323 ];
     };
-    # tests fails on nixos and hydra because of different purity issues
-    doCheck = false;
   };
 
   AlgorithmAnnotate = buildPerlPackage {
@@ -727,6 +734,8 @@ let
     propagatedBuildInputs = [ pkgs.openssl IPCRun3 ];
     patchPhase = ''
       sed -i 's|my $openssl_bin = "openssl";|my $openssl_bin = "${pkgs.openssl}/bin/openssl";|' lib/Authen/ModAuthPubTkt.pm
+      # -dss1 doesn't exist for dgst in openssl 1.1, -sha1 can also handle DSA keys now
+      sed -i 's|-dss1|-sha1|' lib/Authen/ModAuthPubTkt.pm
     '';
     meta = {
       description = "Generate Tickets (Signed HTTP Cookies) for mod_auth_pubtkt protected websites";
@@ -3398,8 +3407,8 @@ let
       url = mirror://cpan/authors/id/T/TT/TTAR/Crypt-OpenSSL-AES-0.02.tar.gz;
       sha256 = "b66fab514edf97fc32f58da257582704a210c2b35e297d5c31b7fa2ffd08e908";
     };
-    NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
-    NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto";
+    NIX_CFLAGS_COMPILE = "-I${pkgs.openssl_1_0_2.dev}/include";
+    NIX_CFLAGS_LINK = "-L${pkgs.openssl_1_0_2.out}/lib -lcrypto";
     meta = with stdenv.lib; {
       description = "Perl wrapper around OpenSSL's AES library";
       license = with licenses; [ artistic1 gpl1Plus ];
@@ -3413,8 +3422,8 @@ let
       url = mirror://cpan/authors/id/K/KM/KMX/Crypt-OpenSSL-Bignum-0.09.tar.gz;
       sha256 = "1p22znbajq91lbk2k3yg12ig7hy5b4vy8igxwqkmbm4nhgxp4ki3";
     };
-    NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
-    NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto";
+    NIX_CFLAGS_COMPILE = "-I${pkgs.openssl_1_0_2.dev}/include";
+    NIX_CFLAGS_LINK = "-L${pkgs.openssl_1_0_2.out}/lib -lcrypto";
   };
 
   CryptOpenSSLGuess = buildPerlPackage {
@@ -3451,8 +3460,8 @@ let
       sha256 = "4173403ad4cf76732192099f833fbfbf3cd8104e0246b3844187ae384d2c5436";
     };
     propagatedBuildInputs = [ CryptOpenSSLRandom ];
-    NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
-    NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto";
+    NIX_CFLAGS_COMPILE = "-I${pkgs.openssl_1_0_2.dev}/include";
+    NIX_CFLAGS_LINK = "-L${pkgs.openssl_1_0_2.out}/lib -lcrypto";
     buildInputs = [ CryptOpenSSLGuess ];
   };
 
@@ -3481,7 +3490,7 @@ let
       url = mirror://cpan/authors/id/N/NA/NANIS/Crypt-SSLeay-0.72.tar.gz;
       sha256 = "1s7zm6ph37kg8jzaxnhi4ff4snxl7mi5h14arxbri0kp6s0lzlzm";
     };
-    makeMakerFlags = "--libpath=${pkgs.openssl.out}/lib --incpath=${pkgs.openssl.dev}/include";
+    makeMakerFlags = "--libpath=${pkgs.openssl_1_0_2.out}/lib --incpath=${pkgs.openssl_1_0_2.dev}/include";
     buildInputs = [ PathClass ];
     propagatedBuildInputs = [ LWPProtocolHttps ];
   };
@@ -8858,6 +8867,11 @@ let
       sha256 = "0d8v48y94z8maxkmw1rv7v9m0jg2dc8xbp581njb6yhr7abwqdv3";
     };
 
+    nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
+    postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+      shortenPerlShebang $out/bin/exiftool
+    '';
+
     meta = with stdenv.lib; {
       description = "A tool to read, write and edit EXIF meta information";
       homepage = https://www.sno.phy.queensu.ca/~phil/exiftool/;
@@ -19285,12 +19299,16 @@ let
       sha256 = "15xyrwv08fw8jmpydwzks26ipxnzliwddgyjcfqiaj0p7lwlhmx1";
     };
 
+    nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
     propagatedBuildInputs = [
       LWP
       LWPProtocolHttps
       DataDump
       JSON
     ];
+    postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+      shortenPerlShebang $out/bin/youtube-viewer
+    '';
 
     meta = {
       description = "A lightweight application for searching and streaming videos from YouTube";
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 801a9c9e30b..879ffc9f441 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -237,9 +237,12 @@ let
     pname = "oci8";
 
     sha256 = "0jhivxj1nkkza4h23z33y7xhffii60d7dr51h1czjk10qywl7pyd";
-
     buildInputs = [ pkgs.oracle-instantclient ];
-    configureFlags = [ "--with-oci8=shared,instantclient,${pkgs.oracle-instantclient}/lib" ];
+    configureFlags = [ "--with-oci8=shared,instantclient,${pkgs.oracle-instantclient.lib}/lib" ];
+
+    postPatch = ''
+      sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4
+    '';
   };
 
   pcs = buildPecl rec {
@@ -389,12 +392,12 @@ let
   };
 
   phpstan = mkDerivation rec {
-    version = "0.11.12";
+    version = "0.11.15";
     pname = "phpstan";
 
     src = pkgs.fetchurl {
       url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-      sha256 = "12k74108f7a3k7ms8n4c625vpxrq75qamw1k1q09ndzmbn3i7c9b";
+      sha256 = "1fa3bq5k548jpyph2rxkgnarblyy5f1m55awjcps8mjqbw9r6439";
     };
 
     phases = [ "installPhase" ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ab045cabe4f..c5aca3967dc 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -569,19 +569,21 @@ in {
 
   favicon = callPackage ../development/python-modules/favicon {  };
 
+  fdint = callPackage ../development/python-modules/fdint { };
+
   fido2 = callPackage ../development/python-modules/fido2 {  };
 
   filterpy = callPackage ../development/python-modules/filterpy { };
 
+  filemagic = callPackage ../development/python-modules/filemagic { };
+
   fints = callPackage ../development/python-modules/fints { };
 
   fire = callPackage ../development/python-modules/fire { };
 
   firetv = callPackage ../development/python-modules/firetv { };
 
-  fdint = callPackage ../development/python-modules/fdint { };
-
-  filemagic = callPackage ../development/python-modules/filemagic { };
+  foxdot = callPackage ../development/python-modules/foxdot { };
 
   fsspec = callPackage ../development/python-modules/fsspec { };
 
@@ -1576,6 +1578,8 @@ in {
 
   cram = callPackage ../development/python-modules/cram { };
 
+  crc16 = callPackage ../development/python-modules/crc16 { };
+
   csscompressor = callPackage ../development/python-modules/csscompressor {};
 
   csvs-to-sqlite = callPackage ../development/python-modules/csvs-to-sqlite { };
@@ -3537,6 +3541,8 @@ in {
 
   python-Levenshtein = callPackage ../development/python-modules/python-levenshtein { };
 
+  python-unshare = callPackage ../development/python-modules/python-unshare { };
+
   fs = callPackage ../development/python-modules/fs { };
 
   fs-s3fs = callPackage ../development/python-modules/fs-s3fs { };
@@ -3759,7 +3765,7 @@ in {
 
   mpd2 = callPackage ../development/python-modules/mpd2 { };
 
-  mpv = callPackage ../development/python-modules/mpv { };
+  mpv = callPackage ../development/python-modules/mpv { mpv = pkgs.mpv; };
 
   mrbob = callPackage ../development/python-modules/mrbob {};
 
@@ -4138,11 +4144,7 @@ in {
 
   pgspecial = callPackage ../development/python-modules/pgspecial { };
 
-  pgpy = callPackage ../development/python-modules/pgpy {
-    cryptography = self.cryptography.override {
-      openssl = pkgs.openssl_1_1;
-    };
-  };
+  pgpy = callPackage ../development/python-modules/pgpy { };
 
   pickleshare = callPackage ../development/python-modules/pickleshare { };
 
@@ -4323,7 +4325,7 @@ in {
     inherit (pkgs) graphviz;
   };
 
-  pydot_ng = callPackage ../development/python-modules/pydot_ng { };
+  pydot_ng = callPackage ../development/python-modules/pydot_ng { graphviz = pkgs.graphviz; };
 
   pyelftools = callPackage ../development/python-modules/pyelftools { };
 
@@ -5050,6 +5052,11 @@ in {
     inherit (pkgs) pkgconfig;
   };
 
+  wxPython_4_0 = callPackage ../development/python-modules/wxPython/4.0.nix {
+    inherit (pkgs) pkgconfig;
+    wxGTK = pkgs.wxGTK30.override { withGtk2 = false; withWebKit = true; };
+  };
+
   xml2rfc = callPackage ../development/python-modules/xml2rfc { };
 
   xmlschema = callPackage ../development/python-modules/xmlschema { };
@@ -6080,7 +6087,10 @@ in {
 
   us = callPackage ../development/python-modules/us { };
 
-  wsproto = callPackage ../development/python-modules/wsproto { };
+  wsproto = if (pythonAtLeast "3.6") then
+      callPackage ../development/python-modules/wsproto { }
+    else
+      callPackage ../development/python-modules/wsproto/0.14.nix { };
 
   h11 = callPackage ../development/python-modules/h11 { };